一· 数据库设计过程
概念阶段
逻辑阶段
实现阶段
8. 联系的种类在ER图中的表示
10. 一元联系的种类
11. 联系的势
三· 扩展ER表达
1. 弱实体集
如果一个实体集的所有属性都不足以形成主码,则称这样的实体集为弱实体集
4. 弱实体集与存在依赖的关系
弱实体集必然存在依赖于强实体集(Strong Entity Set)
存在依赖并不总会导致一个弱实体集,从属实体集可以有自己的主码
6. 概括:自底向上、逐步合成的数据库设计过程
概括中的属性继承:
如“博士”算参加工作,会继承“职工”的属性
7.聚集
聚集是一种抽象,通过它联系被抽象为高层实体集
实体集A与B以及它们的联系可被看成实体集,然后与另一实体集C发生联系 8. ER符号汇总
9. 选择困难症
四· 概念数据库设计过程
五·ER模型向关系模式的转换1.实体向关系模式的转换
2.复合属性向关系模式的转换
3.多值属性向关系模式的转换
4. 一对多联系向关系模式的转换
5. 多对多联系向关系模式的转换
将联系定义为新的关系,属性为参与双方的码
6. 一对一联系向关系模式的转换
若联系一方全部参与,则将联系另一方的码作为全部参与一方的属性
7. 弱实体向关系模式的转换
弱实体集所对应的关系的码由弱实体集本身的分辩符再加上所依赖的强实体集的码
8. 概括向关系模式的转化
高层实体集和底层实体集分别转化为表,低层实体集所对应的关系包括高层实体集的码
如果概括是不相交并且是全部的,即一个高层实体最多并且只能属于一个低层实体集,则可以不为高层实体集建立关系,低层实体集所对应的关系包括上层实体集的的所有属性
9. 聚集向关系模式的转换
实体集A与B以及它们的联系R被看成实体集C,C与另一实体集D构成联系S,则S所对应的关系的码由R和D的码构成
第二章实体-联系模型(概念数据库设计) 2. 1数据库设计过程 2. 2基本概念 2. 2. 1 1976年,P.P.S.Chen 提出E-R模型(Entity-Relationship Model ),用E-R图来描述概念模型。 观点:世界是由一组称作实体的基本对象和这些对象之间的联系构成的。 2. 2. 2基本概念 (1)实体(En tity):客观存在并可相互区分的事物叫实体。如学生张三、工人李四、计算机系、数据库概论。 (2)属性(Attribute):实体所具有的某一特性。一个实体可以由若干个属性来刻画。例如,学生可由学号、姓名、年龄、系、年级等组成。
(4)域(Domain):属性的取值范围。例如,性别的域为(男、女),月份的
域为1到12的整数。 (5) 实体型(Entity Type ):实体名与其属性名集合共同构成实体型。例, 学生(学号、姓名、年龄、性别、系、年级)。注意实体型与实体(值)之间的 区别,后者是前者的一个特例。如学生(9808100,王平,21,男,计算机系,2) 是一个实体。 (6) 实体集(Entity Set ):同型实体的集合称为实体集。如全体学生。 联系(Relatio nship ):实体之间的相互关联。如学生与老师间的授课关系, 学生与学生间有班长关系。联系也可以有属性,如学生与课程之间有选课联系, 每个选课联系都有一个成绩作为其属性。同类联系的集合称为联系集。 (7)元或度(Degree ):参与联系的实体集的个数称为联系的元。如学生选 修课程是二元联系,供应商向工程供应零件则是三元联系。 用椭圆表示实体 的属性 (8)码(Key ): A 、 候选码:关系中的某一属性或属性组的值能唯一地标识一个元组,称该 属性或属性组为候选码。 B 、 主码:一个关系有多个候选码,从中选定一个用来区别同一实体集中的 不同实体,称作主码。一个实体集中任意两个实体在主码上的取值不能相同。 如学号是学生实体的码。通讯录(姓名,邮编,地址,电话, Email ,BP ) C 、 外码: 用矩形表示实体集,在框 写上实体名 VI 课程 姓名 用无向边■把 实体与其属 性 连接起来 学号 系别 课程名 选修 学生 成绩 将参与联系的实体用线 段连接 j ——V 用菱形表示实体「亍 的联系 先修课 主讲老师
第二章 关系数据库 一、选择题: 1、对于关系模型叙述错误的是 。 A .建立在严格的数学理论、集合论和谓词演算公式基础之一 B .微机DBMS 绝大部分采取关系数据模型 C .用二维表表示关系模型是其一大特点 D .不具有连接操作的DBMS 也可以是关系数据库管理系统 2、关系模式的任何属性 。 A .不可再分 B .可再分 C .命名在该关系模式中可以不唯一 D .以上都不是 3、在通常情况下,下面的表达中不可以作为关系数据库的关系的是 。 A .R1(学号,姓名,性别) B .R2(学号,姓名,班级号) C .R3(学号,姓名,宿舍号) D .R4(学号,姓名,简历) 4、关系数据库中的码是指 。 A .能唯一关系的字段 B .不能改动的专用保留字 C .关键的很重要的字段 D .能惟一表示元组的属性或属性集合 5、根据关系模式的完整性规则,一个关系中的“主码” 。 A .不能有两个 B .不能成为另外一个关系的外码 C .不允许为空 D .可以取值 6、关系数据库中能唯一识别元组的那个属性称为 。 A .唯一性的属性 B .不能改动的保留字段 C .关系元组的唯一性 D .关键字段 7、在关系R (R#,RN ,S#)和S (S#,SN ,SD )中,R 的主码是R#,S 的主码是S#,则S#在R 中称为 。 A .外码 B .候选码 C .主码 D .超码 8、关系模型中,一个码是 。 A .可由多个任意属性组成 B .至多由一个属性组成 C .可由一个或多个其值能唯一标识该关系模式中任意元组的属性组成 D .以上都不是 9、一个关系数据库文件中的各条记录 。 A .前后顺序不能任意颠倒,一定要按照输入的顺序排列 B .前后顺序可以任意颠倒,不影响库中的数据关系 C .前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果可能不同 D .前后顺序不能任意颠倒,一定要按照码段的顺序排列 10、关系数据库管理系统应能实现的专门关系运算包括 。 A .排序、索引、统计 B .选择、投影、连接 C .关联、更新、排序 D .显示、打印、制表 11、同一个关系模型的任意两个元组值 。 A .不能全同 B .可全同 C .必须全同 D .以上都不是 12、自然连接是构成新关系的有效方法。一般情况下,当对关系R 和S 使用自然连接时,要求R 和S 含有一个或多个共有的 。 A .元组 B .行 C .记录 D .属性 13、设关系R (A ,B ,C )和S (B ,C ,D ),下列各关系代数表达式不成立的是 。 A .)()(S R D A ππ B .R S ? C .)()(S R B B ππ? D .R S 14、有两个关系R 和S ,分别包含15个和10个元组,则在R S ?,R-S ,R ?S 中不可能出现的元组数 目情况是 。 A .15,5,10 B .18,7,7 C .21,11,4 D .25,15,0 15、取出关系中的某些列,并消去重复元组的关系代数运算称为 。 A .取列运算 B .投影运算 C .连接运算 D .选择运算
将ER模型转换成关系数据库 ER模型转换关系数据库的一般规则: (1)将每一个实体类型转换成一个关系模式,实体的属性为关系模式的属性。(2)对于二元联系,按各种情况处理,如下面所示。 二元 关系ER图 转换成的关 系 联系的处理主键外键 1:1(2个关系) 模式A 模式B (有两种) 处理方式(1): (1)把模式B的 主键,联系的属性 加入模式A 处理方式(2): (2)把模式A的 主键,联系的属性 加入模式B (略) (依据联系 的处理方式) 方式(1): 模式B的主键 为模式A外 键 方式(2): 表A的主键 为表B的外键
1:M (2个关系) 模式A 模式B 把模式A的主键, 联系的属性加入 模式B (略) 模式A的主 键为模式B的 外键 M:N (3个关系) 模式A 模式B 模式A-B 联系类型转换成 关系模式A-B; 模式A-B的属性: (a)联系的属性 (b)两端实体类型 的主键 两端实体 类型的主 键一起构 成模式 A-B主键 两端实体类 型的主键分 别为模式A-B 的外键 M:N联系的示例比如,ER图如下:
可以转换成以下模式: 学生(学号,姓名,性别,年龄) 主键为学号 课程(课程号,课程名,任课教师) 主键为课程号 选课(学号,课程号,成绩) 主键为课程号、学号,外键为课程号,学号; 1:N联系的示例 比如,ER图如下: 可转换为如下关系模式: 商店模式(商店编号,店名,店址,店经理) 主键为商店编号
商品模式(商品编号,商品名,单价,产地,商店编号,月销售量) 主键为商品编号,外键为商店编号 职工模式(职工编号,职工名,性别,工资,商店编号,开始时间) 主键为职工编号,外键为商店编号 真子集就是一个集 合中的元素全部是另一 个集合中的元素,但不 存在相等; 1、完全依赖与部分依赖: 对于函数依赖W A,如果存在V是W的真子集而函数依赖V A成立,则称A部分依赖于W;否则,若不存在这种V,则称A完全依赖于W; 2、传递依赖: 对于函数依赖X Y,如果Y X(X不函数依赖于A)而函数依赖Y Z成立,则称Z 对X传递依赖; 例:设有关系模式选课SC1(SNO,CNO,GRADE,CREDIT),其中,SNO 表示学号,CNO表示课程号,GRADE表示成绩,CREDIT表示学分。(SNO,CNO)-F->GRADE (完全函数依赖)
第二章实体-联系模型(概念数据库设计) 2.1 数据库设计过程 2.2 基本概念 2.2.1 1976年,P.P.S.Chen提出E-R模型(Entity-Relationship Model),用E-R图来描述概念模型。 观点:世界是由一组称作实体的基本对象和这些对象之间的联系构成的。2.2.2 基本概念 (1)实体(Entity):客观存在并可相互区分的事物叫实体。如学生X三、工人李四、计算机系、数据库概论。 (2)属性(Attribute):实体所具有的某一特性。一个实体可以由若干个属性来刻画。例如,学生可由学号、XX、年龄、系、年级等组成。 (4)域(Domain):属性的取值X围。例如,性别的域为(男、女),月份的
域为1到12的整数。 (5)实体型(Entity Type):实体名与其属性名集合共同构成实体型。例,学生(学号、XX、年龄、性别、系、年级)。注意实体型与实体(值)之间的区别,后者是前者的一个特例。如学生(9808100,王平,21,男,计算机系,2)是一个实体。 (6)实体集(Entity Set):同型实体的集合称为实体集。如全体学生。 联系(Relationship):实体之间的相互关联。如学生与老师间的授课关系,学生与学生间有班长关系。联系也可以有属性,如学生与课程之间有选课联系,每个选课联系都有一个成绩作为其属性。同类联系的集合称为联系集。 (7)元或度(Degree):参与联系的实体集的个数称为联系的元。如学生选修课程是二元联系,供应商向工程供应零件则是三元联系。 (8)码(Key): A、候选码:关系中的某一属性或属性组的值能唯一地标识一个元组,称该属性或属性组为候选码。 B、主码:一个关系有多个候选码,从中选定一个用来区别同一实体集中的不同实体,称作主码。一个实体集中任意两个实体在主码上的取值不能相同。如学号是学生实体的码。通讯录(XX,邮编,地址,,Email,BP) C、外码: D、全码:关系模型中所有属性组是这个关系模式的候选码,称为全码。
第二章关系数据库 一、选择题: 1、对于关系模型叙述错误的是。 A.建立在严格的数学理论、集合论和谓词演算公式基础之一 B.微机DBMS绝大部分采取关系数据模型 C.用二维表表示关系模型是其一大特点 D.不具有连接操作的DBMS也可以是关系数据库管理系统 2、关系模式的任何属性。 A.不可再分B.可再分 C.命名在该关系模式中可以不唯一D.以上都不是 3、在通常情况下,下面的表达中不可以作为关系数据库的关系的是。A.R1(学号,姓名,性别) B.R2(学号,姓名,班级号) C.R3(学号,姓名,宿舍号) D.R4(学号,姓名,简历) 4、关系数据库中的码是指。 A.能唯一关系的字段B.不能改动的专用保留字C.关键的很重要的字段D.能惟一表示元组的属性或属性集合 5、根据关系模式的完整性规则,一个关系中的“主码”。 A.不能有两个B.不能成为另外一个关系的外码 C.不允许为空D.可以取值 6、关系数据库中能唯一识别元组的那个属性称为。 A.唯一性的属性B.不能改动的保留字段C.关系元组的唯一性D.关键字段 7、在关系R(R#,RN,S#)和S(S#,SN,SD)中,R的主码是R#,S的主码是S#,则S#在R中称为。 A.外码B.候选码 C.主码D.超码 8、关系模型中,一个码是。 A.可由多个任意属性组成 B.至多由一个属性组成 C.可由一个或多个其值能唯一标识该关系模式中任意元组的属性组成D.以上都不是 9、一个关系数据库文件中的各条记录。 A.前后顺序不能任意颠倒,一定要按照输入的顺序排列 B.前后顺序可以任意颠倒,不影响库中的数据关系 C.前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果可能不同D.前后顺序不能任意颠倒,一定要按照码段的顺序排列 10、关系数据库管理系统应能实现的专门关系运算包括。
1.设某商业集团数据库中有三个实体集。一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库”实体集,属性有仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等。 公司与仓库间存在“隶属”联系,每个公司管辖若干仓库,每个仓库只能属于一个公司管辖;仓库与职工间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。 (1)试画出E-R图,并在图上注明属性、联系的类型。 (2)将E-R图转换成关系模型。 解:(1) E-R图 (2)这个E-R图可转换3个关系模式: 公司(公司编号,公司名,地址) 仓库(仓库编号,仓库名,地址,公司编号) 职工(职工编号,姓名,性别,仓库编号,聘期,工资) 2. 为某百货公司设计一个E-R模型。 百货公司管辖若干连锁商店,每家商店经营若干商品,每家商店有若干职工,但每个职工只能服务于一家商店。 实体类型“商店”的属性有:店号、店名、店址、店经理。 实体类型“商品”的属性有:商品号、品名、单价、产地。 实体类型“职工”的属性有:工号、姓名、性别、工资。 在联系中应反映出职工参加某商店工作的开始时间、商店销售商品的月销售量。 (1)试画出反映商店、商品、职工实体类型及其联系类型的E-R图。 (2)将E-R图转换成关系模型。
转换为等价的关系模式结构如下: 商店(店号,店名,店址,店经理) 商品(商品号,品名,单价,产地) 职工(工号,姓名,性别,工资,店号,开始时间) 经营(店号,工号,月销售量) 3.某体育运动锦标赛有来自世界各国运动员组成的体育代表团参赛各类比赛项目,包括以下信息: 代表团:团编号、地区、住所 运动员:运动员编号、姓名、年龄、性别 比赛项目:项目编号、项目名、级别 项目类别:类别编号类别名、主管 其中,一个代表团由若干运动员组成,一名运动员可以参加多个比赛项目,每名运动员参加每个比赛项目会有一个比赛成绩和名次,每个项目类别包含多个比赛项目,每个比赛项目只能属于一个项目类别。 (1)试为该锦标赛的比赛情况设计一个ER图 (2)将E-R图转换成关系模型,并注明主键和外键。 解:满足上述需求的ER图如图所示:
3.简述如下概念,并说明它们之间的联系与区别:。 (1)域,笛卡尔积,关系,元组,属性 答:域:域是一组具有相同数据类型的值的集合。 笛卡尔积:给定一组域D1,D2,…,Dn,这些域中可以有相同的。这组域的笛卡尔积为:D1×D2×…×Dn={(d1,d2,…,dn)|di?Di,i=1,2,…,n }其中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组(Tuple)。元素中的每一个值di叫作一个分量(Component)。 关系:在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为 R(D1,D2,…,Dn) 元组:关系中的每个元素是关系中的元组。 属性:关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(Attribute)。 (2)超码,主码,候选码,外码 答:超码:对于关系r的一个或多个属性的集合A,如果属性集A可以唯一地标识关系r中的一个元组,则称属性集A为关系r的一个超码 (superkey) 。 候选码:若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidate key)。 主码:若一个关系有多个候选码,则选定其中一个为主码(Primary key)。 外码:设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基本关系S 的主码Ks相对应,则称F是基本关系R的外码(Foreign key),简称外码。 基本关系R称为参照关系(Referencing relation),基本关系S称为被参照关系(Referenced relation)或目标关系(Target relation)。关系R和S可以是相同的关系。 (3)关系模式,关系,关系数据库 答:关系模式:关系的描述称为关系模式(Relation Schema)。它可以形式化地表示为:R(U,D,dom,F) 其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,dom 为属性向域的映象集合,F为属性间数据的依赖关系集合。 关系:在域D1,D2,…,Dn上笛卡尔积D1×D2×…×Dn的子集称为关系,表示为 R(D1,D2,…,Dn) 关系是关系模式在某一时刻的状态或内容。关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。 关系数据库:关系数据库也有型和值之分。关系数据库的型也称为关系数据库模式,是对关系数据库的描述,它包括若干域的定义以及在这些域上定义的若干关系模式。关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常就称为关系数据库。 2.3.为什么需要空值null? 答:引入空值,可以方便于数据库的维护和建立,数字或者字符有时并不能解决想要解决的问题,毕竟它们是真实的存在,有了空值,那么有些操作,比如查询,插入,删除都可以更加方便,比如公司的部门,新增的部门,信息是不存在的,是之后数据库人员进行添加之后才有的,所以让它为空,比给它0更加贴近实际。空值是所有可能的域的一个取值,表明值未知或不存在。 2.3.关系模型的完整性规则有哪些? 答:关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。 其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的
第1题: 设有商店和顾客两个实体,“商店”有属性:商店编号、商店名、地址、电话,“顾客”有属性:顾客编号、姓名、地址、年龄、性别。假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。 ①试画出ER图,并注明属性和联系类型。(5分) ②将E-R图转换成关系模型,并注明主码和外码(5分) 商店(商店编号,商店名,地址,电话) 顾客(顾客编号,姓名,地址,年龄,性别) 消费(商店编号,顾客编号,消费金额,日期) 第2题: 假设每个学生选修若干门课程,且每个学生每选一门课只有一个成绩,每个教师只担任一门课的教学,一门课由若干教师任教。“学生”有属性:学号、姓名、地址、年龄、性别。“教师”有属性:职工号、教师姓名、职称,“课程”有属性:课程号、课程名。 ①试画出ER图,并注明属性和联系类型。(5分) ②将E-R图转换成关系模型,并注明主码和外码(5分)
学生(学号,姓名,地址,年龄,性别) 课程(课程号,课程名) 教师(职工号,教师姓名,职称,课程) 选课(学号,课程号,成绩) 第3题: 设某商业公司数据库中有三个实体集,一是”公司”实体集,属性有公司编号、公司名、地址等;二是”仓库”实体集,属性有仓库编号、仓库名、地址等;三是”职工”实体集,属性有职工编号、姓名、性别等。每个公司有若干个仓库,每个仓库只能属于1个公司,每个仓库可聘用若干职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。 ①试画出E-R图(5分) ②将E-R图转换成关系模型,并注明主码和外码(5分) 仓库(仓库编号,仓库名,地址,公司编号)
第9章实体-联系模型 实体-联系(E-R)模型是数据库设计者、编程者和用户之间有效、标准的交流方法。它是一种非技术的方法,表达清晰,为形象化数据提供了一种标准和逻辑的途径。E-R模型能准确反映现实世界中的数据以及在用户业务中的使用情况,它提供了一种有用的概念,允许数据库设计者将用户对数据库需求的非正式描述转化成一种能在数据库管理系统中实施的更详细、准确的描述。因此,用E-R模型建模是数据库设计者必须掌握的重要技能。这种技术已广泛应用于数据库设计中。 9.1 E-R模型的基本概念 E-R模型是用于数据库设计的高层概念数据模型。概念数据模型独立于任何数据库管理系统(DBMS)和硬件平台,该模型也被定为企业数据的逻辑表示。它通过定义代表数据库全部逻辑结构的企业模式来辅助数据库设计,是一种自顶向下的数据库设计方法,是数据的一种大致描述,由需求分析中收集的信息来构建。E-R模型是若干语义数据模型中的一种,它有助于将现实世界企业中的信息和相互作用映射为概念模式。许多数据库设计工具都借鉴了E-R模型的概念,E-R模型为数据库设计者提供了下列几个主要的语义概念。 ●实体:指用户业务中可区分的对象。 ●联系:指对象之间的相互关联。 ●属性:用来描述实体和联系。每个属性都与一组数值的集合(也称为值域)相对应,属性的取 值均来自该集合。 ●约束:对实体、联系和属性的约束。 9.1.1 实体 实体是现实世界中独立存在的、可区别于其他对象的“对象”或“事物”。实体是关于将被收集的信息的主要数据对象。一个实体一般是物理存在的对象,如人、汽车、商品、职工等。每个实体都可以有自己的属性。下面是实体的一些例子: 在E-R模型中,实体是存在于用户业务中抽象且有意义的事物。这些事物被模式化成可用属性描述的实体。实体之间存在多种联系。 1.实体(或实体集)与实体实例 实体(entity,也称为实体集)是一组具有相同特征或属性的对象的集合。在E-R模型中,相似的对象被分到同一个实体中。实体可以包含物理(或真实)存在的对象,也可以包含概念(或抽象)存在的对象。每个实体用一个实体名和一组属性来标识。一个数据库通常包含许多不同的实体,实体的一个实例表现为一个具体的对象,比如一个具体的学生。E-R模型中的“实体”对应关系数据库中的一张表,实体的实例对应表中的一行记录。 2.实体的分类 实体可以分为强实体和弱实体。强实体(strong entity,也称为强实体集)指不依赖于其他实体而存在的实体,比如“职工”实体。强实体的特点是:每个实例都能被实体的主键唯一标识。弱实体(weak entity,也称为弱实体集)指依赖于其他实体而存在的实体,比如“职工子女”实体,该实体必须依赖于“职工”实体的存在而存在。强实体有时也称为父实体、主实体或者统治实体,弱实体也称为子实体、依赖实体或从实体。在E-R模型中,一般用单线矩形框表示强实体,用双线矩形
数据库设计与ER模型 5.11 设某商业集团数据库中有三个实体集。一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。 商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店销售一种商品,有月销售量;商店与职工间存在着“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。 (1)试画出ER图,并在图上注明属性、联系的类型。 (2)将ER图转换成关系模型,并注明主键和外键。 解:(1) ER图如图5.1所示。 图5.1 (2)这个ER图可转换4个关系模式: 商店(商店编号,商店名,地址) 职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪) 商品(商品号,商品名,规格,单价) 销售(商店编号,商品号,月销售量) 5.12设某商业集团数据库中有三个实体集。一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库”实体集,属性有仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等。
公司与仓库间存在“隶属”联系,每个公司管辖若干仓库,每个仓库只能属于一个公司管辖;仓库与职工间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。 (1)试画出ER图,并在图上注明属性、联系的类型。 (2)将ER图转换成关系模型,并注明主键和外键。 解:(1) ER图如图5.2所示。 图5.2 (2)这个ER图可转换3个关系模式: 公司(公司编号,公司名,地址) 仓库(仓库编号,仓库名,地址,公司编号) 职工(职工编号,姓名,性别,仓库编号,聘期,工资 5.13 设某商业集团数据库有三个实体集。一是“商品”实体集,属性有商品号、商品名、规格、单价等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“供应商”实体集,属性有供应商编号、供应商名、地址等。 供应商与商品之间存在“供应”联系,每个供应商可供应多种商品,每种商品可向多个供应商订购,每个供应商供应每种商品有个月供应量;商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品可在多个商店销售,每个商店销售每种商品有个月计划数。试画出反映上述问题的ER图,并将其转换成关系模型。 解:ER图如图5.3所示。
第1题: 令狐采学 设有商店和顾客两个实体,“商店”有属性:商店编号、商店名、地址、电话,“顾客”有属性:顾客编号、姓名、地址、年龄、性别。假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。 ①试画出ER图,并注明属性和联系类型。(5分) ②将E-R图转换成关系模型,并注明主码和外码(5分) 商店(商店编号,商店名,地址,电话) 顾客(顾客编号,姓名,地址,年龄,性别) 消费(商店编号,顾客编号,消费金额,日期) 第2题: 假设每个学生选修若干门课程,且每个学生每选一门课只有一个成绩,每个教师只担任一门课的教学,一门课由若干教师任教。“学生”有属性:学号、姓名、地址、年龄、性别。“教师”有属性:职工号、教师姓名、职称,“课程”有属性:课程号、课程名。 ①试画出ER图,并注明属性和联系类型。(5分) ②将E-R图转换成关系模型,并注明主码和外码(5分) 学生(学号,姓名,地址,年龄,性别) 课程(课程号,课程名) 教师(职工号,教师姓名,职称,课程) 选课(学号,课程号,成绩)
第3题: 设某商业公司数据库中有三个实体集,一是”公司”实体集,属性有公司编号、公司名、地址等;二是”仓库”实体集,属性有仓库编号、仓库名、地址等;三是”职工”实体集,属性有职工编号、姓名、性别等。每个公司有若干个仓库,每个仓库只能属于1个公司,每个仓库可聘用若干职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。 ①试画出E-R图(5分) ②将E-R图转换成关系模型,并注明主码和外码(5分) 仓库(仓库编号,仓库名,地址,公司编号) 公司(公司编号,公司名,地址) 职工(职工编号,姓名,性别,仓库编号,聘期,工资) 第4题: 某研究所有多名科研人员,每一个科研人员只属于一个研究所,研究所有多个科研项目,每个科研项目有多名科研人员参加,每个科研人员可以参加多个科研项目。科研人员参加项目要统计工作量。“研究所”有属性:编号,名称、地址,“科研人员”有属性:职工号、姓名、性别、年龄,职称。“科研项目”有属性:项目号、项目名、经费。 ①试画出ER图,并注明属性和联系类型。(5分) ②将E-R图转换成关系模型,并注明主码和外码(5分)
第二章实体-联系模型( 概念数据库设计) 2.1数据库设计过程 2.2基本概念 2.2.11976年, P.P.S.Chen提出E-R模型( Entity-RelationshipModel) , 用E-R图来描述概念模型。 观点: 世界是由一组称作实体的基本对象和这些对象之间的联系构成的。 2.2.2基本概念 ( 1) 实体(Entity): 客观存在并可相互区分的事物叫实体。如学
生张三、工人李四、计算机系、数据库概论。 ( 2) 属性(Attribute): 实体所具有的某一特性。一个实体能够由若干个属性来刻画。例如, 学生可由学号、姓名、年龄、系、年级等组成。 ( 4) 域(Domain): 属性的取值范围。例如, 性别的域为( 男、女) , 月份的域为1到12的整数。 ( 5) 实体型(EntityType): 实体名与其属性名集合共同构成实体型。例, 学生( 学号、姓名、年龄、性别、系、年级) 。注意实体型与实体( 值) 之间的区别, 后者是前者的一个特例。如学生(9808100, 王平, 21, 男, 计算机系, 2)是一个实体。 ( 6) 实体集(EntitySet): 同型实体的集合称为实体集。如全体学生。 联系(Relationship): 实体之间的相互关联。如学生与老师间的授课关系, 学生与学生间有班长关系。联系也能够有属性, 如学生与课程之间有选课联系, 每个选课联系都有一个成绩作为其属性。同类联系的集合称为联系集。 ( 7) 元或度( Degree) : 参与联系的实体集的个数称为联系的元。如学生选修课程是二元联系, 供应商向工程供应零件则是三元联系。
第4章数据库建模(实体—关系模型) 4.2 为本章4.6节中大学选课系统安排期末考试考场,供学生和教师查询考试信息。要求如下: (1)一门课程的所有开课班应安排在相同时间进行考试; (2)一个开课班可能安排多个考场; (3)一个考场有多名监考老师。 请为上述考试安排设计E-R图及转换为关系模式。简便起见,本题只考虑与考试相关的实体和联系。 答:设计的E-R图如下: 根据E-R图可转化为以下关系模式: 1. 由实体集转化而来的关系模式 (1)课程实体集Course: Course(courseNo,courseName,creditHour,courseHour,priorCourseNo,insitituteName) (2)开课班弱实体集CourseClass: CourseClass(courseNo,cClassNo,year,semester,time,location,teacherNo) (3)考试时间实体集TimeSlot: TimeSlot(timeslotNo,day,startTime,endTime) (4)教室实体集Room: Room(roomNo,capacity) (5)考试实体集Exam:
Exam (examNo,courseNo,cClassNo,roomNo) (6)教师实体集Teacher: Teacher(teacherNo,teacherName,title,insitituteName) (7)学生实体集Student: Student(studentNo,studentName,sex,birthday,address,insitituteName) 2. 由联系集转化而来的关系模式 (1)ExamTime联系集: ExamTime(courseNo,timeslotNo) (2)Invigilate联系集: Invigilate(teacherNo,examNo) (3)Enroll联系集: Enroll(studentNo,courseNo,cClassNo,score) 4.3 假定一个销售公司的数据库包括以下信息。 (1)职工信息:职工号、姓名、电话、地址和所在部门; (2)部门信息:部门名、部门所有职工、经理和销售的产品; (3)产品信息:产品名、制造商、价格、型号及产品内部编号;(4)制造商信息:制造商名称、地址、生产的产品号和价格。 试画出该公司的E-R图,并转化为关系模式。 答:设计的E-R图如下: 根据E-R图可转化为以下关系模式: 1. 由实体集转化而来的关系模式 (1)部门实体集Department: Department(departmentNo,departmentName,manager) (2)职工实体集Employee: Employee(employeeNo,employeeName,telephone,address,departmentNo)
第二章关系数据库 一、选择题 1. 下面的选项不是关系数据库基本特征的是()。 A.不同的列应有不同的数据类型 B.不同的列应有不同的列名 C.与行的次序无关 D.与列的次序无关 2. 一个关系只有一个()。 A.候选码 B. 外码 C. 超码 D. 主码 3. 关系模型中,一个主码是()。 A.可以由多个任意属性组成 B.至多由一个属性组成 C.可有多个或者一个其值能够唯一表示该关系模式中任何元组的属性组成 D.以上都不是 4. 现有如下关系: 患者(患者编号,患者姓名,性别,出生日起,所在单位) 医疗(患者编号,患者姓名,医生编号,医生姓名,诊断日期,诊断结果) 其中,医疗关系中的外码是()。 A. 患者编号 B. 患者姓名 C. 患者编号和患者姓名 D. 医生编号和患者编号 5. 现有一个关系:借阅(书号,书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本,则该关系模式的外码是()。 A. 书号 B. 读者号 C. 书号+读者号 D. 书号+读者号+借期 6. 关系模型中实现实体间N:M 联系是通过增加一个()。 A.关系实现 B. 属性实现 C. 关系或一个属性实现 D. 关系和一个属性实现 7. 关系代数运算是以()为基础的运算。 A. 关系运算 B. 谓词演算 C. 集合运算 D. 代数运算 8. 关系数据库管理系统应能实现的专门关系运算包括()。 A. 排序、索引、统计 B. 选择、投影、连接 C. 关联、更新、排序 D. 显示、打印、制表 9. 五种基本关系代数运算是()。 A.∪-×σπ B.∪-σπ C.∪∩×σπ D.∪∩σπ 10. 关系代数表达式的优化策略中,首先要做的是()。 A.对文件进行预处理 B.尽早执行选择运算 C.执行笛卡尔积运算 D.投影运算 11. 关系数据库中的投影操作是指从关系中()。
第1题: 设有商店和顾客两个实体,“商店”有属性:商店编号、商店名、地址、电话,“顾客”有属性:顾客编号、姓名、地址、年龄、性别。假设一个商店有多个顾客购物,一个顾客可以到多个商店购物,顾客每次去商店购物有一个消费金额和日期,而且规定每个顾客在每个商店里每天最多消费一次。 ①试画出ER图,并注明属性和联系类型。(5分) ②将E-R图转换成关系模型,并注明主码和外码(5分) 商店(商店编号,商店名,地址,电话) 顾客(顾客编号,姓名,地址,年龄,性别) 消费(商店编号,顾客编号,消费金额,日期) 第2题: 假设每个学生选修若干门课程,且每个学生每选一门课只有一个成绩,每个教师只担任一门课的教学,一门课由若干教师任教。“学生”有属性:学号、姓名、地址、年龄、性别。“教师”有属性:职工号、教师姓名、职称,“课程”有属性:课程号、课程名。 ①试画出ER图,并注明属性和联系类型。(5分) ②将E-R图转换成关系模型,并注明主码和外码(5分)
学生(学号,姓名,地址,年龄,性别) 课程(课程号,课程名) 教师(职工号,教师姓名,职称,课程) 选课(学号,课程号,成绩) 第3题: 设某商业公司数据库中有三个实体集,一是”公司”实体集,属性有公司编号、公司名、地址等;二是”仓库”实体集,属性有仓库编号、仓库名、地址等;三是”职工”实体集,属性有职工编号、姓名、性别等。每个公司有若干个仓库,每个仓库只能属于1个公司,每个仓库可聘用若干职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。 ①试画出E-R图(5分) ②将E-R图转换成关系模型 ,并注明主码和外码 (5分)