概念数据模型
实体联系(Entity Relationship)模型,简称ER模型。
1.实体表示现实世界中客观存在的可以相互区别的事物。
2.联系是实体之间的相互关系.
如:在一张订单中涉及商品,客户和销售员之间的关系,即某个客户从某个销售员手里订购某件商品.
3.属性是描述实体或联系中的一种特征.
4.码或称键,关键字,是实体间相互区别的一种惟一标识.
在实体中能作为码的属性称为主属性(Main Attribute),否则称为非主属性.
5.域(Domain)是实体中相应属性的取值范围.
ER模型是一种用图形表示数据及其联系的方法,所使用的图形构件(元件)包括矩形,菱形,椭圆形和连接线.
a. 矩形表示实体,矩形框内写上实体名.
b. 菱形表示联系,菱形框内写上联系名.
c. 椭圆形表示属性,椭圆形框内写上属性.
d. 连接线表示实体,联系与属性之间的所属关系或实体与联系之间的相连关系.
关系数据模型
每个二维表称做一个关系,一个二维表的表头,即所有列的标题称为关系的型(结构), 其表体(内容)称做关系的值.
关系中的每一行数据(记录)称做一个元组. 每一列数据称做一个属性,列标题称做属性名.
在一个关系中,每一个元组的各属性值的含义必须按该项属性的定义来解释才是有效的.
关系数据结构
关系模式(relation schema)是一个关系的具体结构,它通常被形式化定义为R(U,D,DOM,F,I)
其中R为关系名,
U为该关系中的所有属性名集合;
D为该关系的所有定义域的集合;
DOM为属性向域映射的集合,它给出属性和域之间的对应关系,即哪个属性属于哪个域;
F为该关系中各属性之间的数据依赖的集合;
I为该关系中所定义的完整性规则的集合;
例: 假定有一个学生关系模式,它的属性名集合U为{学生号,姓名,性别,年龄,专业}
Student(Number,Name,Sex,Age,Course)
主属性:主码
非主属性:一般属性
关系模式只一个关系的框架,具有该框架结构的所有元组才是该关系的值,,或者说是该关系的内容.
码(KEY)
超码(SUPER KEY)关系中能惟一标识每个元组的属性或属性组(集) 一个关系可能有多个超码;
候选码(CANDIDATE KEY)关系中能惟一标识每个元组的最少属性或属性组 一个关系可能有多个候选码;
主 码(Primary Key)从候选码中选择一个作为该关系的主码,数据库系统奖按主码标识和排序每个元组. 一个关系在任一时刻至多只能有一个主码,但在不同时刻可以指定不同的候选码作为主码.
备用码(Alternate key) 除了主码之外的所有候选码都是该关系的备用码.
外 码(Foreign Key)在关系R1中的属性或属性组若在另一个关系R2中作为主码使用,则称该属性或属性组为R1的外码. R1的外码和R2中的主码必须定义在相同的域上,允许使用不同的属性名.
关系完整性就是关系模型中的数据的正确性,一致性和有效性.
关系完整性包括实体完整性,参照完整性,用户定义的完整性.
1.实体完整性(Entity Integrity)
规则:关系的主码不能到空值
2.参照完整性(Refrence Integrity)
规则:在参照和被参照两个关系中,参照关系中每个元组的外码或者为空, 或者等于被参照关系中某个元组的主码.
3.用户定义的完整性(used-defined integrity)
规则:对每个关系每个属性的取值限制(或称约束)的具体定义.
数据依赖(函数依赖)
关系规范化
第一范式(First Normal Form)
设一个关系为R(U), 若U中的第一个属性都是不可再分的,或者说都是不被其他属性所包含的独立属性.
第二范式
设一个关系为R(U), 它是满足第一范式的,若R中不存在非主属性对候选码的部分函数依赖.
第三范式
设一个关系为R(U), 它是满足第一范式的,若R中不存在非主属性对候选码的传送函数依赖.
消除关系中的传递依赖也是通过关系分解的方法的方法来实现的.
关系规范化的过程就是合理分解关系的过程,就是概念单一化的过程,就是把不适当的属性依赖转化为关系联系的过程。
在建立和设计数据库应用系统时, 要切记概念单一化的原则,即用一个关系反映一个对象(实体或活动),每个关系的所有属性都是对主码的具体描述,或者说都是依附于主码的,另外在必要时附加一些联系属性,作为外码使用。
数据库学习笔录(转载)
最新推荐文章于 2024-09-09 09:47:53 发布