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