您好,欢迎访问三七文档
实验内容及要求一、实验目的:本次作业,是为解决实际问题而进行数据库设计。完成设计任务,将对设计实际有用的数据库应用程序,有更深入的理解。二、设计环境:操作系统:Windows10。数据库管理系统:Microsoft公司的SQLServer2008R2。三、实验内容(一)、题目:设某汽车运输公司数据库中有三个实体集。一是“车队”实体集,属性有车队号、车队名等;二是“车辆”实体集,属性有牌照号、厂家、出厂日期等;三是“司机”实体集,属性有司机编号、姓名、电话等。设车队与司机之间存在“聘用”联系,每个车队可聘用若干司机,但每个司机只能应聘于一个车队,车队聘用司机有个聘期;车队与车辆之间存在“拥有”联系,每个车队可拥有若干车辆,但每辆车只能属于一个车队;司机与车辆之间存在着“使用”联系,司机使用车辆有使用日期和公里数两个属性,每个司机可使用多辆汽车,每辆汽车可被多个司机使用。(二)、要求:1、概念结构设计:根据题目要求,设计E-R模型,详细描述实体的属性和实体之间的联系,消除不必要的冗余。并在图上注明属性、联系类型、实体标识符;1n1nmm2、逻辑结构设计:实现E-R图向关系模型的转换,特别注意实体的1:n联系,优化数据模型,并标明主键和外键。车队(车队号,车队名)车辆(牌照号,厂家,出厂日期,车队号)司机(司机编号,姓名,电话,)聘用(司机编号,车队号,聘期)使用(司机编号,牌照号,公里数,使用日期)(注:直线下标标注的是主键,波浪线标注的是外键)3、关系规范化:3.1写出所有关系模式的基本函数依赖和关键码;3.2说明各关系模式最高已经达到第几范式?为什么?3.3如果各关系模式不属于3NF,请说明理由,并将各关系模式分解成第三范式。(1)车队关系:关键码是:车队号该关系最高已达到了第三范式(3NF)因为车队号和车队名只包含单一车队号车队名车队拥有车辆牌照号厂家出厂日期聘用使用司机聘期公里数使用日期司机编号姓名电话车队号车队名的值,满足第一范式,车队名是非主属性完全依赖于主属性车队号满足第二范式,不存在传递依赖满足第三范式。(2)车辆关系:关键码是:牌照号车辆关系中只存在完全依赖,不存在部分依赖和传递依赖,满足第三范式。(3)司机关系:关键码是:司机编号司机关系中只存在完全依赖,不存在部分依赖和传递依赖,满足第三范式。(4)聘用关系:关键码是:司机编号聘用关系中只存在完全依赖,不存在部分依赖和传递依赖,满足第三范式。(5)使用关系:关键码是:司机编号和牌照号使用关系中只存在完全依赖,不存在部分依赖和传递依赖,满足第三范式。4、写出表关系的详细说明。4.1车队关系的详细说明字段名数据类型含义说明空值情况MotorcadeIDChar(4)车队号主关键字MotorcadeNameVarchar(30)车队名不可为空4.2车辆关系的详细说明字段名数据类型含义说明空值情况MotorcadeIDChar(4)车队号主关键字VehicleIDChar(6)牌照号主关键字ProducerChar(8)厂家可为空DateDatetime出厂日期可为空厂家车队号出厂日期牌照号司机编号姓名电话司机编号聘期车队号司机编号牌照号使用日期公里数4.3司机关系的详细说明字段名数据类型含义说明空值情况DriverIDChar(6)司机编号主关键字NameVarchar(30)姓名不可为空PhoneChar(11)电话可为空4.4聘用关系详细说明字段名数据类型含义说明空值情况DriverIDChar(6)司机编号主关键字MotorcadeIDChar(4)车队号主关键字EmploymentTermtinyint聘期可为空4.5使用关系详细说明字段名数据类型含义说明空值情况DriverIDChar(6)司机编号主关键字VehicleIDChar(6)牌照号主关键字Kilometresint公里数可为空DataTimeDatetime使用日期可为空5、、用T-Sql语言创建数据库;createdatabaseTruckLineuseTruckLinecreatetableMotorcade(MotorcadeIDchar(4)primarykey,MotorcadeNamevarchar(30)notnull)createtableCars(VehicleIDchar(6)primarykey,Producerchar(8),Datedatetime,MotorcadeIDchar(4)referencesMotorcade(MotorcadeID))createtableDriver(DriverIDChar(6)primarykey,NameVarchar(30)notnull,PhoneChar(11))createtableEmployment(DriverIDChar(6)primarykeyreferencesDriver(DriverID),MotorcadeIDchar(4)referencesMotorcade(MotorcadeID),EmploymentTermtinyint)createtableusage(DriverIDChar(6)referencesDriver(DriverID),VehicleIDchar(6)referencesCars(VehicleID),Kilometresint,DataTimeDatetime,primarykey(DriverID,VehicleID))insertintoMotorcadevalues('1101','北京时代物流运输队')insertintoMotorcadevalues('1102','北京超长运输队')insertintoMotorcadevalues('1103','北京散货运输队')insertintoMotorcadevalues('1104','天津机械运输队')insertintoMotorcadevalues('1105','燕郊顺丰运输队')insertintoCarsvalues('A12345','中国重汽','2005-01-02','1101')insertintoCarsvalues('A12346','中国重汽','2005-01-02','1102')insertintoCarsvalues('A12347','中国重汽','2005-01-02','1102')insertintoCarsvalues('A12348','中国重汽','2005-01-03','1102')insertintoCarsvalues('A12349','中国重汽','2005-01-03','1101')insertintoCarsvalues('A12344','中国重汽','2005-01-04','1101')insertintoCarsvalues('B11201','东风汽车','2004-04-25','1101')insertintoCarsvalues('B11202','东风汽车','2004-04-25','1102')insertintoCarsvalues('B11203','东风汽车','2004-04-26','1101')insertintoCarsvalues('B11204','东风汽车','2004-04-26','1103')insertintoCarsvalues('B11207','东风汽车','2004-04-26','1103')insertintoCarsvalues('B11205','东风汽车','2004-04-26','1103')insertintoCarsvalues('C10054','一汽解放','2008-09-14','1103')insertintoCarsvalues('B11206','东风汽车','2004-04-27','1104')insertintoCarsvalues('C10051','一汽解放','2008-09-12','1104')insertintoCarsvalues('C10052','一汽解放','2008-09-13','1104')insertintoCarsvalues('C10053','一汽解放','2008-09-13','1104')insertintoCarsvalues('C10055','一汽解放','2008-09-15','1104')insertintoCarsvalues('C10056','一汽解放','2008-09-15','1105')insertintoCarsvalues('D66121','陕汽卡车','2011-12-06','1105')insertintoCarsvalues('D66122','陕汽卡车','2011-12-06','1105')insertintoCarsvalues('D66123','陕汽卡车','2011-12-06','1105')insertintoCarsvalues('D66124','陕汽卡车','2011-12-07','1105')insertintoDrivervalues('110101','范冰冰','13401022222')insertintoDrivervalues('110102','李晨','13401066666')insertintoDrivervalues('110103','张馨予','13401033333')insertintoDrivervalues('110201','angelababy','13401012345')insertintoDrivervalues('110202','黄晓明','13401054321')insertintoDrivervalues('110301','杨幂','13520666222')insertintoDrivervalues('110302','刘恺威','13520222666')insertintoDrivervalues('110401','张柏芝','18401333666')insertintoDrivervalues('110402','王菲','18401666222')insertintoDrivervalues('110403','谢霆锋','18401234444')insertintoDrivervalues('110501','刘诗诗','13511771234')insertintoDrivervalues('110502','吴奇隆','13511774321')insertintoDrivervalues('110503','刘强东','15060632211')insertintoDrivervalues('110504','章泽天','15060631122')insertintoEmploymentvalues('110101','1101','50')insertintoEmploymentvalues('110102','1101','30')insertintoEmploymentvalues('110103','1101','30')insertintoEmploymentvalues('110201','1102','13')insertintoEmploymentvalues('110202','1102','26')insertintoEmploymentvalues('110301','1103','31')insertintoEmploymentvalues('110302','1103','32')insertintoEmploymentvalues('110401','1104','5')insertintoEmploymentvalues('110402','1104','8')insertintoEmploymentvalues('11
本文标题:数据库大作业
链接地址:https://www.777doc.com/doc-3603323 .html