-
1 知识点回顾
-
2 练习题及解析
-
3 章节自测
1997年6月3日,中国互联网络信息中心组建。说起信息,你可知道信息和数据是一回事吗?
在回答这个问题之前,先讲一个“马拉松”的故事。波斯人和雅典人在公元前490年曾经在离雅典不远的马拉松进行了一次激烈的战役,史称希波战争,雅典人最终获得了反侵略的胜利。为了让故乡人民尽快知道胜利的喜讯,统帅米勒狄派一个叫菲迪皮茨的士兵回去报信。菲迪皮茨是个有名的“飞毛腿”,为了让故乡人早知道好消息,他一个劲地快跑,当他跑到雅典时,已上气不接下气,激动地喊道“欢......乐吧,雅典人,我们......胜利了”说完,就倒在地上死了。为了纪念这一事件,在1896年举行的现代第一届奥林匹克运动会上,设立了马拉松赛跑这个项目,把当年菲迪皮茨送信跑的里程——42.193公里作为赛跑的距离。

从这个故事里,我们来看两个关键词。一个是胜利的“消息”,是十分重要的“信息”。另一个是重要的信息需要及时准确地“传输”。一般来讲,信息可以理解为表示事物或者事物发出的消息、情报、指令、信号中所包含的内容。接收者对信息识别后表示的符号称为数据。数据的作用是反映信息内容并为接收者识别。声音、符号、图像、数字就成为人类传播信息的主要数据形式。因此,信息是数据的含义,数据是信息的载体。
(1)数据库:DataBase,简称DB,是指长期保存在计算机外存上的、有结构的、可共享的数据集合。
(2)数据库管理系统:DataBase Management System,简称DBMS,是位于用户和操作系统之间的软件。实现对数据的存储和管理。
(3)数据库管理员:DataBase Administrator,简称DBA,是从事管理和维护数据库管理系统(DBMS)的相关工作人员的统称,属于运维工程师的一个分支,主要负责业务数据库从设计、测试到部署交付的全生命周期管理。
(4)数据库系统:DataBase System,简称DBS,是由DB、DBMS、应用系统、DBA、用户等构成。

数据库是如何设计的?让我们先来看看建筑设计的全过程。
(1)需求分析:承建单位需要了解建设单位的目的、需求、技术要求、以及服务承诺等信息
(2)设计图纸:承建单位根据上述需求分析报告绘制建筑设计图(业内人士使用)
(3)建筑沙盘:承建单位根据建筑图纸,制作建筑沙盘(业外人士使用)
(4)建筑备料:承建单位将建筑图纸交给施工单位,并找监理单位监督施工情况,施工单位积极备料准备施工。
(5)项目施工:施工单位根据图纸进行建筑施工,并接受监理单位全程监督、审查。
(6)项目验收:施工完毕,需要三方进行项目验收,如果验收合格,则进入房地产市场,定价销售。

我们再来看数据库的设计过程。
(1)需求分析:了解用户需求,定义系统目标、功能需求,撰写需求分析报告(类似建筑合同文本)
(2)概念设计:构建概念模型,绘制实体-联系图(E-R图,类似建筑图纸)
(3)逻辑设计:将概念模型转换为数据模型,制定数据字典(类似建筑沙盘)
(4)物理设计:选择DBMS,制定数据库安全机制(类似建筑备料)
(5)具体实施:建库建表、编写代码(类似建筑项目施工)
(6)运行维护:项目验收通过,撰写技术手册和用户手册,并投入试运行、升级(类似建筑项目验收)

从上述比较可以看出,数据库设计过程和建筑施工过程基本相同,在设计阶段都用到了“模型”,建筑过程中用到建筑图纸与建筑沙盘,数据库设计时用到了概念模型与数据模型。一般来说,数据库模型是现实世界特征的模拟和抽象,应满足三方面的要求,一是比较真实地模拟现实世界;二是容易为人所理解。三是便于在计算机上实现。
E-R模型,或称E-R图,即实体联系模型(实体联系图),最早由Peter Chen(陈品山)于1976年提出,并在数据库设计领域得到了广泛的认同。在-ER图中有如下四个成分:
(1)矩形框:表示实体,在框中记入实体名。
(2)菱形框:表示联系,在框中记入联系名。
(3)椭圆形框:表示实体或联系的属性,将属性名记入框中。对于主属性名,则在其名称下划一下划线。
(4)连线:实体与属性之间;实体与联系之间;联系与属性之间用直线相连,并在直线上标注联系的类型(一对一联系、一对多联系、多对多联系)。

概念模型(E-R图)转换为关系数据模型的转换原则是:
(1)一个关系转换为一张表
(2)一对一联系:将任意一个表的主关键字放到另外一个表里做外关键字
(3)一对多联系:将一表的关键字放到多表的关系里
(4)多对多联系:将多对多的联系独立建一张表

关系的性质:
(1)关系中的每一个属性必须是不可再分的基本数据项
(2)每一列中的数据项具有相同的数据类型
(3)每一列的名称在一个关系中是唯一的
(4)关系中任意两行不能相同
(5)行次序可以是任意的
(6)列次序可以是任意的

范式(数据库设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的范式。
(1)第一范式(1NF)是指数据库表的每一列都是不可分的数据项,即每个表应该有唯一标识每一行的主键,不能有表中有表的情况,例如,不能有地址集合、工资集合等。
(2)第二范式(2NF)要求非主属性不能部分依赖于主码(主关键字),即完全依赖,不能仅依赖主码的一部分属性,必须依赖全部属性,换句话说,就是在联合主键的情况下,非主属性不能部分依赖于主码。如果存在,那么这个属性和主码的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。分离的方法有三种:简单拆分法、外键法、弱实体法。

(3)第三范式(3NF)要求必须先满足第二范式(2NF),然后要求非主属性不能传递依赖于主码。所谓传递依赖,是指如果存在”A → B → C”的决定关系,则C传递函数依赖于A,因此,满足第三范式的数据库表应该不存在如下依赖关系: 关键字段 → 非关键字段x → 非关键字段y。简言之,一个数据库表中不包含已在其它表中已包含的非主关键字信息。
(4)BCNF范式(BCNF)是由Boyce和Codd提出的,比3NF又进了一步,通常认为是修正的第三范式,要求主属性不能部分依赖和传递依赖主码。
(5)第四范式(4NF)是消除多值依赖,显然一个关系模式是4NF,则必为BCNF。
(6)第五范式(5NF)是最终范式,消除了4NF中的连接依赖,将表尽可能的切成小块,减少数据冗余。

关系完整性约束是为保证数据库中数据的正确性和相容性,对关系模型提出的某种约束条件或规则。完整性通常包括实体完整性、域完整性,参照完整性,是关系模型必须满足的完整性约束条件。
(1)实体完整性:规定表的每一行在表中是惟一的实体。
(2)域完整性:表中的列必须满足某种特定的数据类型约束,如:取值范围、精度等规定。
(3)参照完整性:一个表的外关键字的数据应该与另一个表(参照表)的主关键字一致,外键取值要么匹配参照表的值,要么为空。

创建Access数据库对象,第一步,启动时新建:【开始|所有程序|Microsoft Office|……】,第二步,在Access2013中新建:“空白桌面数据库…”。
创建表对象时,可以在设计视图中创建并修改表结构,然后录入数据,或从外部导入数据。
创建查询时,可以用查询设计器、查询向导、SQL语句三种方法。

关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式,它是用对关系的运算来表达查询的。关系代数的运算对象是关系,运算结果亦为关系。
关系代数的运算包括传统的集合运算和专门的关系运算。其中传统的集合运算包括:并操作、交操作、差操作、笛卡尔积。专门的关系运算包括选择运算、投影运算、连接运算。

SQL,指结构化查询语言,全称是 Structured Query Language,是用于访问和处理数据库的标准的计算机语言。
(1)常用的SQL命令:
SELECT - 从数据库中提取数据
UPDATE - 更新数据库中的数据
DELETE - 从数据库中删除数据
INSERT INTO - 向数据库中插入新数据
CREATE DATABASE - 创建新数据库
ALTER DATABASE - 修改数据库
CREATE TABLE - 创建新表
ALTER TABLE - 变更(改变)数据库表
DROP TABLE - 删除表
CREATE INDEX - 创建索引(搜索键)
DROP INDEX - 删除索引

(2)SELECT语句
SELECT 要投影的列或集函数
FROM 表名
WHERE 筛选条件
ORDER BY 要排序的列
GROUP BY 要分组的列
HAVING 按分组进行筛选







