文档介绍:第十二章数据库设计
概念模型与数据模型
关系模式的规范化
概念模型与数据模型
概念模型
数据库要满足如下要求:
一方面要知道哪些数据是必须的,不然建立数据库获取信息的目的就没法达到了。
另一方面也要知道哪些数据是不必要的,放在数据库当中只会增加数据库的容量,可以将这些冗余的数据剔除。
概念模型用于现实信息世界的建模,它描述现实世界中具体的事物、事物间的联系,和用户对数据对象的处理要求等。
实体:客观存在且互相区别的事物称为实体。
属性:实体所具有的特征。
实体集:具有相同特征的实体的集合称为实体集。
关键字:唯一能够标识实体的属性。
实体间的联系:指的是实体之间的对应关系。它可分为以下三种:
一对一联系(1 :1):实体集A中的每一个实体在实体集B中都有且仅有一个实体与其有联系,反之亦然。
一对多联系(1 :n):实体集A中的每一个实体在实体集B中有多个实体与其有联系,反之,实体集B中的每一个实体在实体集A中只有一个实体与其有联系。
多对多联系(m :n):实体集A中的每一个实体在实体集B中有多个实体与其有联系,反之,实体集B中的每一个实体在实体集A中也有多个实体与其有联系。
-R模型的表示方法
概念模型的表示方法较多,常用的有实体-联系模型,也称为E-R模型。使用E-R图描述概念模型,关键是分析实体、属性和实体之间的联系。
E-R图的表示约定如下:
实体:用矩形框表示,框内写明实体名称。
属性:用椭圆表示,框内写明属性名称,椭圆用线与相应的实体连接。
联系:用菱形表示,框内写明联系名称,用线与相关的实体连接起来,在线上注明联系类型(1:1,1:n或m:n)。
【例12-1】画出实体学生(学号,姓名,年龄)和实体课程(课程号,课程名,分数)的E-R图。
数据模型
创建数据模型,第一步是对所需要讨论对象的现实信息进行的抽象处理即概念模型,第二步还必须将其转换为计算机可以处理的数据模型。
常见的数据模型有三种:层次型数据库、网状型数据库和关系型数据库,关系模型是一种使用最多的重要模型。
E-R模型转换为关系模型的方法
E-R模型转换为关系模型的方法是根据实体间联系的类型不同而不一样的,转换的一般规则有如下几种。
关系模型中,一个实体就对应着一个关系模式。转换规则是,实体的属性就是关系模式的属性,实体的主关键字就是关系模式的主键,如,学生实体的关系模式为:学生(学号,姓名,性别,出生日期)。
(1)1:1联系的转换
1:1联系可以转换为一个独立的关系模式,也可以与对应的实体合并为一个关系模式。
把联系转换为一个独立的关系模式的方法:
①关系的属性由联系本身的属性和与其相联系的实体的主关键字组成。
②关系的主键由各实体的主关键字组成。
【例12-2】实体集“班长”和实体集“班级”的联系是一对一的联系,这个联系称为管理。把联系“管理”转换为独立的关系模式。
把联系“管理”同相连的实体合并为一个关系模式的方法:
①把“联系”的属性同另一个实体的属性合并。
②把另一个相联系的关系的主键加入进来。
③主关键字不变。
【例12-3】实体集“班长”和实体集“班级”的联系是一对一的联系,用“管理”与相连的实体合并为一个关系模式。
(2)1:n联系的转换
1 :n联系可以转换为一个独立的关系模式,也可以与多端对应的实体合并为一个关系模式。
把“联系”转换为一个独立的关系模式的方法:
①关系的属性由联系本身的属性和与其相联系的两个实体的主关键字组成。
②关系的主键由多端实体的主关键字组成。
【例12-4】把教师实体和系实体的E-R图转换为独立关系模式。