1、数据库设计题数据库设计题(3小题,每题10分,共30分)题目要求:根据材料,要求画出对应的E-R图,并将E-R图转换为对应的关系模式,最后利用SQL语言,根据关系模式建表。(注意:实体、属性、联系)1.设某商场销售数据库中的信息有:员工号、员工名、工资、销售组名、销售负责人、商品号、商品名、单价、销售日期、销售量、供应者号、供应者名、供应者地址。假定:一个员工仅在一个销售组;一个销售组可以销售多种商品,一种商品只能由一个组销售;一种商品每天有一个销售量;一个供应者可以供应多种商品,一种商品可以多渠道供货。(1)E-R图:附表(2)关系模式:员工(员工号、员工名、工资、销售组名) 销售(销售组名
2、、负责人) 商品(商品号、商品名、单价、销售组) 供应商(供应者号、供应者名、地址) 商品供应(商品号、供应者号) 商品销售(商品号、销售日期、销售量、销售组名)(3)SQL语言建表:Create table 员工( 员工号 int primary key , 员工名 Char(10) , 工资 int , 销售组名 Char(20) , Foreign key 销售组名 references 销售组 (销售组名)Create table 销售组( 销售组名 Char(20) primary key , 负责人 Char(10) )Create table 商品( 商品号 int primar
3、y key , 商品名 Char(20) , 单价 int , 销售组名 Char(20) , Foreign key 销售组名 references 销售组 (销售组名)Create table 供应商( 供应商号 int primary key , 供应者名 Char(20) , 地址 Char(40) )Create table 商品供应( 商品号 int , 供应者号 int , Primary key ( 商品号 , 供应者号 ) , Foreign key 商品号 references 商品 (商品号) , Foreign key 供应者号 references 供应商 (供应者号
4、)2.某学校有若干系,每个系有若干学生、若干课程,每名学生选修若干课程,每门课程有若干学生选修,某一门课程可以为不同系开设,现要建立该校学生选修课程的数据库。(1)E-R图:附表(2)关系模式:学生(学号、姓名、性别、系号、年龄) 系(系号、系名、系主任、电话) 课程(课号、课名) 选课(学号、课号、成绩) 开课(系号、课号)(3)SQL语言建表:Create table 学生( 学号 int primary key , 姓名 Char(20) , 性别 Char(10) , 系号 int , 年龄 int , Foreign key 系号 references 系 (系号)Create ta
5、ble 系( 系号 int primary key , 系名 Char(20) , 系主任 Char(20) , 电话 Char(20) )Create table 课程( 课号 int primary key , 课名 Char(20)Create table 选课( 学号 int , 课号 int , 成绩 int , Primary key ( 学号 , 课号) , Foreign key 学号 references 学生 (学号) , Foreign key 课程 references 课程 (课号)Create table 开课( 系号 int , 课号 int , Primary
6、key ( 系号 , 课号) , Foreign key 系号 references 系 (系号) , Foreign key 课号 references 课程 (课号)3.某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。(1)E-R图:附表(2)关系模式:产品(产品号、产品名) 零件(零件号、零件名) 原材料(原材料号、原材料名、类别、仓库号) 仓库(仓库号、仓库名) 产品组成(产品号、零件号) 零件制造(零件号、原材料号) 零件存储(零件号
7、、仓库号)(3)SQL语言建表:Create table 产品( 产品号 int primary key , 产品名 Char(20) )Create table 零件( 零件号 int primary key , 零件名 Char(20)Create table 原材料( 原材料号 int primary key , 原材料名 Char(20) , 类别 Char(20) , 仓库号 int , Foreign key 仓库号 references 仓库 (仓库号)Create table 仓库( 仓库号 int primary key , 仓库名 Char(20) ,)Create tab
8、le 产品组成( 产品号 int , 零件号 int , Primary key ( 产品号 , 零件号 ) , Foreign key 产品号 references 产品 (产品号) , Foreign key 零件号 references 零件 (零件号)Create table 零件制造( 零件号 int , 原材料号 int , Primary key ( 零件号 , 原材料号 ) , Foreign key 零件号 references 零件 (零件号) , Foreign key 原材料号 references 原材料 (原材料号)Create table 零件存储( 零件号 in
9、t , 仓库号 int , Primary key ( 零件号 , 仓库号 ) , Foreign key 零件号 references 零件 (零件号) , Foreign key 仓库号 references 仓库 (仓库号)4.假设一个部门的数据库包括以下的信息:职工的信息:职工号、姓名、地址和所在部门。部门的信息:部门所有职工、经理和销售的产品。产品的信息:产品名、制造商、价格、型号及产品内部编号。制造商的信息:制造商名称、地址、生产的产品及价格。其中,部门与职工是一对多的联系;部门与产品、制造商与产品均是多对多的联系。(1)E-R图:附表(2)关系模式:职工(职工号、姓名、地址、部门
10、名) 部门(部门名、经理) 制造商(制造商名、地址) 产品销售(部门名、内部编号) 产品(内部编号、产品名、制造商、价格、型号) 产品生产(制造编号、内部编号)(3)SQL语言建表:Create table 职工( 职工号 int primary key , 姓名 Char(20) , 住址 Char(20) , 部门名 Char(20) , Foreign key 部门名 references 部门 (部门名)Create table 部门( 部门名 Char(20) primary key , 经理 Char(20) )Create table 制造商( 制造商名 Char(20) pri
11、mary key , 地址 Char(20)Create table 产品( 内部编号 int primary key , 产品名 Char(20) , 制造商 Char(20) , 价格 int , 型号 Char(20)Create table 产品销售( 部门名 Char(20) , 内部编号 int , Primary key ( 部门名 , 内部编号 ) , Foreign key 部门名 references 部门 (部门名) , Foreign key 内部编号 references 产品 (内部编号)Create table 产品生产( 制造商名 Char(20) , 内部编号
12、 int , Primary key ( 制造商名 , 内部编号 ) , Foreign key 制造商名 references 制造商 (制造商名) , Foreign key 内部编号 references 产品 (内部编号)5.设有如下实体:学生:学号、单位、姓名、性别、年龄、选修课程名。课程:编号、课程名、开课单位、任课教师。教师:教师号、姓名、性别、职称、讲授课程编号。单位:单位名称、电话、教师号、教师名。上述实体中存在如下联系:一个学生可选修多门课,一门课程可以被多个学生选修,一个教师可讲授多门课程,一门课程可以被多个教师讲授,一个单位可以有多个教师,一个教师只能属于一个单位。(1
13、)E-R图:附表(2)关系模式:学生(学号、姓名、性别、年龄、单位名称) 课程(编号、课程名) 教师(教师号、姓名、性别、职称、单位名称) 单位(单位名称、电话) 学生选课(学号、课程编号) 教师授课(教师号、课程编号)(3)SQL语言建表:Create table 学生( 学号 int primary key , 姓名 Char(20) , 性别 Char(10) , 年龄 int , 单位名称 Char(20) , Foreign key 单位名称 references 单位 (单位名称)Create table 课程( 编号 int primary key , 课程名 Char(20)
14、,)Create table 教师( 教师号 int primary key , 姓名 Char(20) , 性别 Char(10) , 职称 Char(20) , 单位名称 Char(20) , Foreign key 单位名称 references 单位 (单位名称)Create table 单位( 单位名称 Char(20) primary key , 电话 Char(20)Create table 学生选课( 学号 int , 课程编号 int , Primary key ( 学号 , 课程编号) , Foreign key 学号 references 学生 (学号) , Foreign key 课程编号 references 课程 (编号)Create table 教师授课( 教师号 int , 课程编号 int , Primary key ( 教师号 , 课程编号 ) , Foreign key 教师号 references 教师 (教师号) , Foreign key 课程编号 references 课程 (编号)6.请设计一个图书馆数据库,此数据库中对每个借阅者保存读者记录,包括:读者号、姓名、地址、性别、年龄、单位。对每本书存有:书号、书名、作者、出版社。对每本被借出的书存有读者号、借出日期和应还日期。(1)E-R图:附表(2)关系模式:读者(读者
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1