您的位置:首页 > 数据库

数据库原理(二)--数据模型

2016-06-12 15:00 295 查看
一、数据模型分类

1)概念模型
2)逻辑模型(分为层次型、网状型、关系型、面向对象型)
3)物理模型

二、数据模型的三大要素

1)数据结构

2) 数据操作

3)完整性约束

三、概念模型组成部分

1)实体:用矩形表示,表示客观存在的可以描述的事物。

2)属性:用椭圆形表示,表示实体的特征。

3)码:用于唯一标识实体的属性。

4)域:代表属性的取值范围,例如Sex取值范围是男,女。

5)实体型:用实体名及其属性名集合来抽象同类实体的(例如学生(学号,姓名,性别,出生年份,系,入学时间))

6)实体集:同一类型实体的集合

7) 关系:表示实体间的关联(有1:1 1:n n:1 m:n),用菱形表示。

四、绘制ER图步骤

1)标识实体
2)标识实体的属性
3)标识实体的关联

五、逻辑模型

层次模型:是最早的逻辑模型

a) 每个节点的父节点都是唯一的
b) 只能表示1对多的关系
c) 每个记录类型可以选择一个属性排序,叫做码字段
b) 任何记录只有按照路径查看才有意义
e) 任何子女记录都不能脱离父记录而存在
f) 根节点没有父节点

1)多对对关系在层次模型中的表示

a) 采用冗余节点法:也就是通过增加2个节点,把多对多关系分解成2个1对多关系。

例如: 学生与课程是m:n关系,分解成:学生到课程1:n,课程到学生1:n。

b) 采用虚拟节点法:是通过增加2个虚拟节点,把多对多关系分解成2个1对多关系。
所谓虚拟节点就是一个引用,指向所引用的节点。

2)对层次模型的操作

a) 增加、修改、删除、查询,同时必须满足完整性约束(指的是数据记录能够正确的反应实际情况)

b) 层次模型的完整性约束:
1)添加的子节点必须拥有父节点
2)当删除1个节点时,会同时删除该节点所有子节点
3)更新时,必须保证一致性

3)层次模型的存储结构

a)邻接法(又叫层次序列链接法):按照树的前序遍历结果实现相邻存储。

b)子女-兄弟链接发:是通过给每个节点设置2个指针,分别指向做左边的子节点和最近的兄弟节点。

4)层次模型的优缺点

a)优点:1) 结构清晰、查询效率高、提供了较好的完整性支持

b)缺点:2)  对m:n关系表示不自然、插入和删除限制多、访问子女节点必须通过父节点、命令复杂

网状模型:

1)特点

a)可以有多个节点无父节点
b)一个节点可以由多个父节点

2)网状跟层次的区别
a)可以有多个节点无父节点
b)一个节点可以由多个父节点
c)网状模型允许两个结点之间有多种联系(复合联系)
d)网状模型可以更直接地去描述现实世界
e)层次模型实际上是网状模型的一个特例

3)网状模型存储结构:常用的方法为:单向链接、双向链接、环状链接、向首链接

4)优缺点

优点: a)能够直观的描述数据  b)具有较高的性能。

缺点:  a)结构复杂,规模越大越复杂。 b)操作复杂,不易用户使用。

关系模型

1)术语

a)关系:就是表
b)元组: 就是一行
c)属性: 就是一列
d)主码:就是主键,用于唯一标示一条记录(例如学号)
e)域:  是指属性的取值范围,例如性别的域(男,女)
f)分量: 是指一行中某一列的值。
g)关系模式:是对关系的描述,例如学生(学号,姓名,性别,年龄)

2)操作:增加、修改、删除、查询。

3)完整性约束

a)实体完整性:用于唯一的区分每条记录,用主键实现
b)参照完整性:指的是子表中某列的值必须源自引用的主表中某列的值,使用外键实现
c)自定义完整性:指的是用户自定义的规则,例如要求性别为(男、女、保密)

4)优点:
1)建立在严格的数学模型上
2)便于用户操作
3)存取路径对于用户透明,具有更好的数据独立性与安全性

缺点:
1)查询效率不如非关系模型
2)开发时需要进行查询语句优化

六、关系的规范化

三大范式

1)第一范式(1NF):表中的每一列都具有原子性,不能分割
2)第二范式(2NF):表中每一列都和主键有关联
3)第三范式(3NF):表中每一列都和主键有直接关联
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: