数据库设计题(3小题,每题10分,共30分)
题目要求:根据材料,要求画出对应的E-R图,并将E-R图转换为对应的关系模式,最后利用SQL语言,根据关系模式建表。(注意:实体、属性、联系)
1.设某商场销售数据库中的信息有:员工号、员工名、工资、销售组名、销售负责人、商品号、商品名、单价、销售日期、销售量、供应者号、供应者名、供应者地址。假定:一个员工仅在一个销售组;一个销售组可以销售多种商品,一种商品只能由一个组销售;一种商品每天有一个销售量;一个供应者可以供应多种商品,一种商品可以多渠道供货。
(1)E-R图:附表
(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 primary 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 供应商(供应者号)
)
2.某学校有若干系,每个系有若干学生、若干课程,每名学生选修若干课程,每门课程有若干学生选修,某一门课程可以为不同系开设,现要建立该校学生选修课程的数据库。
(1)E-R图:附表
(2)关系模式:学生(学号、姓名、性别、系号、年龄)
系(系号、系名、系主任、电话)
课程(课号、课名)
选课(学号、课号、成绩)
开课(系号、课号)
(3)SQL语言建表:
Create table 学生
( 学号int primary key ,
姓名Char(20) ,
性别Char(10) ,
系号int ,
年龄int ,
Foreign key 系号references 系(系号)
)
Create table 系
( 系号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 key ( 系号, 课号) ,
Foreign key 系号references 系(系号) ,
Foreign key 课号references 课程(课号)
)
3.某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。
(1)E-R图:附表
foreign key references用法(2)关系模式:产品(产品号、产品名)
零件(零件号、零件名)
原材料(原材料号、原材料名、类别、仓库号)
仓库(仓库号、仓库名)
产品组成(产品号、零件号)
零件制造(零件号、原材料号)
零件存储(零件号、仓库号)(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 table 产品组成
( 产品号int ,
零件号int ,
Primary key ( 产品号, 零件号) ,
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论