《SQL Server 2012数据库管理教程》(洪运国)358-4课件 第1章
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
前面对2NF和3NF的定义只考虑到非主键属性对主键不存在部分依赖 和传递依赖的情况,没有考虑到关系可能存在的其他候选键。因此,对 2NF和3NF更普遍的定义如下。
2NF:如果关系R属于1NF,并且每个不包含在候选键中的属性都完全 依赖于R的任意一个候选键,那么称R属于第二范式。
3NF:如果关系R属于1NF,并且每个不包含在候选键中的属性都都不 传递依赖于R的任意一个候选键,那么称R属于第三范式。
2.层次模型
用倒立的树形结构表示实体及实体之间联系的模型称为层次模型,其特 点如下。
有且仅有一个结点无父结点,该结点称为根结点。 除根结点以外的其他结点有且仅有一个父结点。
层次模型可以方便地表示实体之间一对多的联系,但无法表示实 体之间多对多的联系。
下图所示为图书出版的层次模型。
3.网状模型
编写关系表格
作者关系表格
1.2 关系数据库
1.2.1 关系模型
1.关系术语
1)关系(Relations) 2)属性(Attributes) 3)域(Domains) 4)元组(Tuples)
5)主关键字(Primary Keys) 6)候选关键字(Candidate Keys) 7)外关键字(Foreign Keys) 8)关系模式(Relation Schemas)
3.数据库系统阶段
实现数据共享,减小数据冗余。 采用特定的数据模型。 数据具有较高的独立性。 有统一的数据控制功能。
1.1.2 数据库系统的组成
1.数据库 2.数据库管理系统 3.硬件及软件环境 4.数据库管理员 5.用户
1.1.3 数据库管理系统的功能
1.数据定义功能
数据库管理系统提供数据定义语言(DDL)。用户可以定义数据库的各 类对象,如表、视图、存储过程等。
图书(图书编号,书名,定价,出版社编号,出版社名) 作者(作者编号,作者姓名,电话) 编写(图书编号[FK1],作者编号[FK2],署名次序)
分解后的关系仍然存在数据冗余,例如,在图书关系中,一个出版 社可以出版多本图书,所以出版社的信息会被重复存储。
(3)第三范式
如果关系R属于1NF,并且每个不包含在主键中的属性都不传递依赖 于R的主键,那么称R属于第三范式(简称3NF)记作R∈3NF。
在网状模型中,可以有多个结点无父结点;允许结点有多于一个的 父结点。网状模型可以表示实体之间多对多的联系。
下图是图书出版的网状模型。
图书出版的网状模型
4.关系模型
关系模型使用二维表格的形式来表示实体之间联系的数据模型。图 书出版的关系模型可以表示为以下四个二维表格的集合。
图书关系表格
出版社关系表格
一个具体值,Y中都有唯一的具体值与之对应,则称Y函数依赖于X,或X 函数决定Y,记作X→Y,其中X称为决定因素。
(2)部分函数依赖与完全函数依赖
假设X→Y是关系R中的一个函数依赖,如果存在X的真子集X′,使得 X′→Y成立,则称Y部分函数依赖于X,简称部分依赖;否则,称Y完全函 数依赖于X,简称完全依赖。
SQL Server 2012
数据库管理教程
第1章
第1章 数据库系统基础
数据库系统概述 关系数据库
1.1 数据库系统概述
1.1.1 数据管理的发展
1.程序管理方式阶段
数据不能长期保存。 没有专门的软件对数据进行管理。 数据与程序不具有独立性。
2.文件系统阶段
数据缺乏独立性。 数据冗余度大。 数据无集中管理。
在关系中,除了函数依赖之外还有多值依赖、连接依赖的概念,从而相 应地提出了第四范式4NF和第五范式5NF。满足4NF和5NF的关系相对较少, 这里不再进行深入的讨论。
前面提到的六种关系范式存在着以下的联系:满足5NF的关系一定满足 4NF;满足4NF的关系一定满足BCNF;满足BCNF的关系一定满足3NF;满 足3NF的关系一定满足2NF;满足2NF的关系一定满足1NF。
在满足第二范式的图书关系中,出版社名对主键图书编号的函数依 赖是传递依赖。这个关系不满足3NF,规范化后的满足3NF的图书出版 关系包括:
图书(图书编号,书名,定价,出版社编号[FK]) 出版社(出版社编号,出版社名) 作者(作者编号,作者姓名,电话) 编写(图书编号[FK1],作者编号[FK2],署名次序)
(1)第一范式 如果关系R的所有属性都是简单属性,即每个属性都是不可再分的,
则称R属于第一范式(简称1NF),记作R∈1NF。 在任何一个关系数据库系统中,第一范式是对关系模式的最起码的要
求。不满足第一范式的数据库模式不能称为关系数据库。
下面的二维表就不满足第一范式,因为作者编号、作者姓名和电话三 个属性不是不可再分的。
数据库结构的基础是数据模型。数据模型是一个描述数据、数据联 系、数据语义以及一致性约束的概念工具的集合。数据模型通常由数据 结构、数据操作和完整性约束三要素组成。下图所示是数据模型的分类。
1.实体联系模型
实体联系图中包括三个主要的要素。 1)实体型。
我们把客观存在并可相互区别的事物称为实体,同一类实体的集合称 为实体集,在实体联系模型中,用矩形框表示实体,框内注明实体的名称。
由语义可得到下面的函数依赖: (S,J)→P ;(J,P)→S 所以(S,J)与(J,P)都可以作为候选键。这两个键各由两个属性组成,而 且它们是相交的。这个关系模式中显然没有属性对键传递依赖或部分依赖, 所以SJP∈3NF。而且除(S,J)与(J,P)外没有其他决定因素,所以 SJP∈BCNF。
(5)其他关系范式
3.域完整性
域完整性(Domain Integrity)要求关系属性的取值应该在正确的范围 内。例如,在定义作者关系的作者编号属性时,定义的形式为
作者编号 char(3) NOT NULL
表示作者编号属性的取值是长度最多为3个字符的字符串,该属性的取 值不可以超出这个范围,而且该属性的取值也不可以为空(NOT NULL)。
在有些情况下,通过定义属性的类型无法准确定义该属性的域,这时 就需要使用约束、规则等方法来实施域完整性控制。
4.参照完整性
参照完整性(Referential Integrity)要求,如果一个关系中存在外键, 那么这个外键的值应该与其所对应的父关系中的主键或候选键的某个值匹配, 或者这个外键的值为空。
2.数据操纵功能
数据库管理系统提供数据操纵语言(DML)。用户可以对数据库中的数 据进行操纵,如查询、插入数据、更新数据、删除数据。
3.数据库运行控制功能
数据库管理系统提供数据库运行的控制功能,主要包括以下几方面。
完整性控制 并发控制 安全控制 数据库恢复功能 数据字典
1.1.4 数据模型
1.空
空(NULL)表示某个属性对当前元组的取值未知或不可用。空不同于0 或空字符串,0或空字符串都是值,而空是一种状态。
2.实体完整性
实体完整性(Entity Integrity)要求基本关系中组成主键的属性不可以 为空。主键的取值对于任意元组来说都是唯一的,主键可以起到标识一个关 系中每一个元组的作用。
图书出版系统可以使用以下的关系模式来描述。
图书(图书编号,书名,定价,出版社编号[FK]) 出版社(出版社编号,出版社名) 作者(作者编号,作者姓名,电话) 编写(图书编号[FK1],作者编号[FK2],署名次序)
2.关系模型的特点
(1)关系必须规范化 (2)模型概念单一 (3)集合操作
1.2.2 关系数据库的完整性
另外,并不是规范化程度越高的关系模式就越好。当对数据库的操作主 要是查询,而更新较少时,为了提高效率,宁可保留适当的数据冗余而不必 将关系分解得太小;否则,为了查询数据,常常要做大量的连接运算,反而 会花费大量的时间,降低查询的效率。
(3)传递函数依赖
在关系R中,如果存在函数依赖X→Y,Y→Z,则称Z传递函数依赖于 X,简称传递依赖。
有了函数依赖的概念以后,可以重新定义候选键和主键。可以将主 键定义为关系中的一个属性或最小属性组,这个属性或最小属性组可以 函数决定关系中的其他属性。
3.关系范式
关系范式的基本思想是消除关系中的数据冗余,消除数据依赖中不合 适的部分,以解决数据插入、更新、删除操作中的异常问题。
使用2NF和3NF的更广泛的定义形式会增加问题分析的复杂性,但同 时也会让我们有机会发现那些隐藏着的数据冗余。
(4)BC范式 在一个关系中,如果所有的决定因素都是关系的候选键,则该关系属
于BC范式(简称BCNF)记作R∈BCNF。
【例1-1】关系模式SJP(S,J,P)中,S表示学生,J表示课程,P表示名 次。每个学生选修每门课程的成绩有一定的名次,每门课程中每一名次只 有一个学生(即没有并列名次)。
图书出版关系
对该二维表格进行规范化处理,可以得到满足第一范式的关系。
图书出版关系(规划化处理后)
(2)第二范式 如果关系R属于1NF,并且每个不包含在主键中的属性都完全依赖于
R的主键,那么称R属于第二范式(简称2NF),记作R∈2NF。 图书出版关系不属于第二范式,经调整为如下后,满足第二范式。
5.用户自定义的完整性
为了体现企业实际运行业务的规则或者为了保护数据的安全等,用户可 以使用约束、规则、触发器等在数据库中添加其他一些规则,我们将其称为 用户自定义的完整性。
1.2.3 关系数据库的规范化
1.操作异常问题
(1)插入异常 (2)更新异常 (3)删除异常
2.函数依赖
(1)函数依赖的概念 假设X和Y是关系R中的两个不同的属性或属性组,如果对于X中的每
2)实体之间的联系。 一对一联系(1:1) 一对多联系(1∶n) 多对多联系(m∶n)
3)属性。 属性用来描述实体或联系的特性。
Hale Waihona Puke 在实体联系模型中,用椭圆形表示属性,并用连线与实体连接起来。 如果属性较多,为使图形更加简明,有时也将实体与其相应的属性单独用 列表表示。下图是一个关于图书出版情况的实体联系模型。