数据库实验五 数据库设计
- 一、实验目的
- 二、实验内容
- 三、实验内容
- 四、验证性实验
- 五、设计性实验
一、实验目的
1.了解E-R图构成要素以及各要素图元。
2.掌握概念模型E-R图的绘制方法。
3.掌握概念模型向逻辑模型的转换原则和步骤。
4.运用sql编程实现
二、实验内容
1.选取一个应用背景,分析应用和数据需求
2.完成数据库设计的需求分析报告
3.完成数据库的概念结构设计,画出E-R图(要求,实体不少于3个)
4.完成数据库的逻辑结构设计,做出表结构和完整性约束设计
三、实验内容
1.体会数据库设计的各个阶段的任务和工作
2.评价自己设计的数据库的范式级别
四、验证性实验
(1) 某同学需要设计开发班级信息管理系统,希望能够管理班级与学生信息的数据库,其中学生信息包括学号,姓名,年龄,性别,班号;班级信息包括班号、年级号、班级人数。
①确定班级实体和学生实体的属性。
学生:学号,姓名,年龄,性别,班号
班级:班号、班主任、班级人数
②确定班级和学生之间的联系,给联系命名并指出联系的类型。
一个学生只能属于一个班级,一个班级可以有很多学生,所以和学生间是1对多关系,即1:n
③确定联系本身的属性。
属于
④画出班级与学生关系的E-R图。
⑤将E-R图转化为关系模式,写出各关系模式并标明各自的码。
学生(学号,姓名,年龄,性别,班号),主码为:学号
班级(班号、班主任、班级人数),主码为:班号
(2)请为电冰箱经销商设计一套存储生产厂商和产品信息的数据库,要求生产厂商的信息包括厂商名称、地址、电话;产品的信息包括品牌、型号、价格;生产厂商生产某产品的数量和日期。
要求:
① 确定产品实体和生产厂商实体的属性。
生产厂商:厂商名称,地址,电话
产品:品牌,型号,价格
②确定产品和生产厂商之间的联系,给联系命名并指出联系的类型。
一个生产厂商可以生产多个产品,一个产品也可以有很多生产厂商生产,所以产品和生产厂商间是m对多关系,即m:n
③确定联系本身的属性。
生产
④画出产品与生产厂商关系的E-R图。
⑤将E-R图转化为关系模式,写出表的关系模式并标明各自的码。
生产厂商(厂商名称,地址,电话),主码为:厂商名称
产品(品牌,型号,价格),主码为:品牌,型号
生产(厂商名称,品牌,型号,数量,日期),主码为:厂商名称,品牌,型号
(3) 设某汽车运输公司想开发车辆管理系统,其中,车队信息:车队号、车队名等;车辆信息有牌照号、厂家、出厂日期等;司机信息有司机编号、姓名、电话等。 车队与司机之间存在“聘用”联系,每个车队可聘用若干司机,但每个司机只能应聘于一个车队,车队聘用司机有“聘用开始时间”和“聘期”两个属性; 车队与车辆之间存在“拥有”联系,每个车队可拥有若干车辆,但每辆车只能属于一个车队; 司机与车辆之间存在着“使用”联系,司机使用车辆有“使用日期”和“公里数”两个属性,每个司机可使用多辆汽车,每辆汽车可被多个司机使用。
①确定实体和实体的属性。
车队:车队号,车队名
车辆:车牌照号,厂家,生产日期
司机:司机编号,姓名,电话,车队号
②确定实体之间的联系,给联系命名并指出联系的类型。
车队与车辆联系类型是1:n,联系名称:拥有,车队与司机联系类型是1:n,联系名称为聘用;车辆和司机联系类型为m:n,联系名称为:使用。
③确定联系本身的属性。
联系“聘用”的属性有“聘用开始时间”和“聘期”两个属性,联系“使用“有“使用日期”和“公里数”两个属性。
④画出E-R图。
⑤将E-R图转化为关系模式,写出表的关系模式并标明各自的码。
车队(车队号,车队名) ,主码为:车队号;
车辆(车牌照号,厂家,生产日期,车队号) ,主码为:车牌照号;
司机(司机编号,姓名,电话,车队号,聘用开始时间,聘期),主码为:司机编号 ;
使用(司机编号,车辆号,使用日期,公里数),主码为:司机编号,车辆号。
五、设计性实验
1、为在线图书销售系统中的订单管理模块设计数据库。
该模块的功能设计中有4个实体,具体信息如下表所示。
(1)需求分析,用文字描述图书销售系统的数据。
①确定用户实体、书籍实体、订单实体、订单明细实体的属性。
用户:用户编号,用户名,用户性别
书籍:书籍编号,书籍名称,书籍价格
订单:订单编号,下单时间,订单总价格
②确定用户、书籍、订单、订单明细之间的联系,给联系命名并指出联系的类型。
用户与书籍之间的联系是1:n,联系名称:选够=;
书籍与订单之间的联系是n:m,联系名称:订单明细。
③确定联系本身的属性。
联系“订单明细“有“订单明细编号”和“书籍数量”两个属性。
(2)设计概念模型,画出E-R图。
① 创建实体
② 添加属性
③ 设置每个实体的主码
④ 添加实体之间的联系
(2)将E-R图转化为关系模式,写出表的关系模式并标明各自的主码和外码。
用户(用户编号,用户名,用户性别),主码为:用户编号;
书籍(书籍编号,书籍名称,书籍价格),主码为:书籍编号;
订单(订单编号,下单时间,订单总价格),主码为:订单编号,外码为:用户编号
订单明细(订单编号,书籍编号,订单明细编号,书籍数量),主码为:订单明细编号,外码为:订单编号,书籍编号