大明宫词导演实验一 用E-R图设计数据库
第一部分:E-R模型
1. 实验步骤
学生(学号,姓名,年龄,性别,班级号)
班级(班级号、年级号、班级人数)
2 确定班级和学生之间的联系,给联系命名并指出联系的类型。 一个学生只能属于一个班级,一个班级可以有很多学生,所以和学生间是1对多关系,即1:n
3 确定联系本身的属性。
属于
4 画出班级与学生关系的E-R图。
5 将E-R图转化为关系模式,写出各关系模式并标明各自的主码或外码。
学生(学号,姓名,年龄,性别,班级号)
班级(班级号怪诞家族、年级号、班级人数)
2) 设计能够表示出顾客与商品关系的数据库。
1 确定顾客实体和商品实体的属性。
商品(商品编号,商品名称,产地)
顾客(顾客号,地址,商品号)
2 确定顾客和商品之间的联系,给联系命名并指出联系的类型。
一个顾客可以购买多种商品,一种商品可以被多个顾客购买
所以顾客和商品间是多对多关系, 即m:n
3 确定联系本身的属性。
购买
6 画出顾客与商品关系的E-R图。
7 将E-R图转化为关系模式,写出表的关系模式并标明各自的主码或外码。
商品(商品编号,商品名称,产地)
顾客(顾客号,姓名,地址,商品号)
3) 设计能够表示学校与校长关系的数据库。
1 确定学校实体和校长实体的属性。
学校(学校编号,学校名,校长号,地址)
校长(校长号,姓名,年龄)
2 确定学校和校长之间的联系,给联系命名并指出联系的类型。
一个校长只能管理一个学校,一个学校只能有一个校长,所以
学校和校长是1对1的联系, 即1:1
3 确定联系本身的属性。
都市
管理
4 画出学校与校长关系的E-R图。
5 将E-R图转化为关系模式,写出表的关系模式并标明各自的主码或外码。
学校(学校编号,学校名,校长号,地址)
校长(校长号,姓名,年龄)
4) 设计能够表示出房地产交易中客户,业务员和合同三者之间关系的数据库。
1 确定客户实体,业务员实体和合同实体的属性。
客户(客户编号,购房地址)
合同(客户编号,员工号,合同有效时间)
2 确定客户,业务员和合同三者之间的联系,给联系命名并指出联系的类型。
客户与业务员为多对1的联系, 即n:1
合同和客户是1对1的联系,即1:1
合同和业务员是1对多联系,即1:n
③确定联系本身的属性。(接待)(签订)
3 画出客户,业务员和合同三者关系E-R图。
4 将E-R图转化为关系模式,写出表的关系模式并标明各自的主码或外码。
客户(客户编号用友nc什么意思,购房地址)
业务员(员工号,姓名)
合同(客户编号,员工号,有效时间)
学生之间相互交流各自设计的数据库。
第二部分: 确定表中的关键字
1. 实验步骤
1) 写出候选关键字,主关键字,组合关键字,外关键字,实体完整性,域完整性,参照完整性的定义。
候选关键字:关系中的某一属性唯一地标识一个元组的属性组;
污秽等级主关键字:若一个关系中有多个候选码,从中选出一个属性为主码;
组合关键字:若一个关系中有多个候选码,从中选出一组属性为主码;
外关键字:设F是基本关系R的一个或一组属性,但不是关系的码,Ks是基本关系的主码。如果F和Ks相对应,则称F是R的外关键字;
实体完整性:若属性A是基本关系的主属性,则A不能为空;
域完整性:域完整性是对数据表中字段属性的约束,它包括字段的值域、字段的类型及字段的有效规则等约束,它是由确定关系结构时所定义的字段的属性决定的。
参照完整性:若属性F是基本关系R的外码,它与基本关系S的主码Ks相对应,则对于R中的每一个元组在F上的值必须为:或者取空值,或者等于S中某个元组的主关键字;
表1-1部门表
部门代码 | 部门名 | 负责人 | 地点 |
0001 | 生产部 | 李华江 | 浙江杭州 |
0002 | 销售部 | 张丽 | 浙江宁波 |
0003 | 市场部 | 王欣 | 浙江温州 |
| | | |
表1-2员工表
员工代码 | 姓名 | 家庭住址 |
|
| 部门代码 |
200001 | 王华 | 杭州 | 86960986 | 310006 | 0001 |
200002 | 李想 | 富阳 | 85438769 | 310010 | 0003 |
200003 | 张丽 | 杭州 | 67893542 | 310017 | 0002 |
200004 | 李华江 | 萧山 | 82849873 | 310101 | 0001 |
| 石大科技 | | | | |
2) 确定部门表和员工表中的候选关键字,并陈述理由。
部门表:部门代码,(负责人,部门名)
理由:部门代码可以唯一标识一个部门,负责人和部门名也可以唯一标识一个部门
员工表:员工代码
理由:员工代码能唯一标识一个员工
3) 选择部门表和员工表的关键字。
部门表:部门代码
员工表:员工代码
4) 在部门表和员工表的结构中标注主关键字。
部门表(部门代码,部门名,负责人,地点)
员工表(员工代码,姓名,家庭住址,,,部门代码)
5) 在员工表中确定可能的组合关键字,并陈述理由。
员工代码 理由:只有员工代码能唯一标识一个员工
6) 确定在部门表和员工表中共有的属性。
部门代码
7) 指出哪个表中的属性是外关键字。
员工表中的部门代号是外关键字
8) 确定哪个表是主表,哪个表是从表。
主表是员工表,从表是部门表
部门表和员工表是如何通过关键字实施数据完整性的。
部门表中,部门代号不能为空,这就保证了部门的存在性;
员工表中,员工代码不能为空,这说明有这样的员工;