数据库设计题.docx
《数据库设计题.docx》由会员分享,可在线阅读,更多相关《数据库设计题.docx(20页珍藏版)》请在冰豆网上搜索。
![数据库设计题.docx](https://file1.bdocx.com/fileroot1/2022-10/28/8773f1ea-37ad-4842-a78f-92f1d54c6933/8773f1ea-37ad-4842-a78f-92f1d54c69331.gif)
数据库设计题
数据库设计题(3小题,每题10分,共30分)
题目要求:
根据材料,要求画出对应的E-R图,并将E-R图转换为对应的关系模式,最后利用SQL语言,根据关系模式建表。
(注意:
实体、属性、联系)
1.设某商场销售数据库中的信息有:
员工号、员工名、工资、销售组名、销售负责人、商品号、商品名、单价、销售日期、销售量、供应者号、供应者名、供应者地址。
假定:
一个员工仅在一个销售组;一个销售组可以销售多种商品,一种商品只能由一个组销售;一种商品每天有一个销售量;一个供应者可以供应多种商品,一种商品可以多渠道供货。
(1)E-R图:
附表
(2)关系模式:
员工(员工号、员工名、工资、销售组名)
销售(销售组名、负责人)
商品(商品号、商品名、单价、销售组)
供应商(供应者号、供应者名、地址)
商品供应(商品号、供应者号)
商品销售(商品号、销售日期、销售量、销售组名)
(3)SQL语言建表:
Createtable员工
(员工号intprimarykey,
员工名Char(10),
工资int,
销售组名Char(20),
Foreignkey销售组名references销售组(销售组名)
)
Createtable销售组
(销售组名Char(20)primarykey,
负责人Char(10)
)
Createtable商品
(商品号intprimarykey,
商品名Char(20),
单价int,
销售组名Char(20),
Foreignkey销售组名references销售组(销售组名)
)
Createtable供应商
(供应商号intprimarykey,
供应者名Char(20),
地址Char(40)
)
Createtable商品供应
(商品号int,
供应者号int,
Primarykey(商品号,供应者号),
Foreignkey商品号references商品(商品号),
Foreignkey供应者号references供应商(供应者号)
)
2.某学校有若干系,每个系有若干学生、若干课程,每名学生选修若干课程,每门课程有若干学生选修,某一门课程可以为不同系开设,现要建立该校学生选修课程的数据库。
(1)E-R图:
附表
(2)关系模式:
学生(学号、姓名、性别、系号、年龄)
系(系号、系名、系主任、电话)
课程(课号、课名)
选课(学号、课号、成绩)
开课(系号、课号)
(3)SQL语言建表:
Createtable学生
(学号intprimarykey,
姓名Char(20),
性别Char(10),
系号int,
年龄int,
Foreignkey系号references系(系号)
)
Createtable系
(系号intprimarykey,
系名Char(20),
系主任Char(20),
电话Char(20)
)
Createtable课程
(课号intprimarykey,
课名Char(20)
)
Createtable选课
(学号int,
课号int,
成绩int,
Primarykey(学号,课号),
Foreignkey学号references学生(学号),
Foreignkey课程references课程(课号)
)
Createtable开课
(系号int,
课号int,
Primarykey(系号,课号),
Foreignkey系号references系(系号),
Foreignkey课号references课程(课号)
)
3.某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。
这些零件由不同的原材料制成,不同零件所用的材料可以相同。
这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。
(1)E-R图:
附表
(2)关系模式:
产品(产品号、产品名)
零件(零件号、零件名)
原材料(原材料号、原材料名、类别、仓库号)
仓库(仓库号、仓库名)
产品组成(产品号、零件号)
零件制造(零件号、原材料号)
零件存储(零件号、仓库号)
(3)SQL语言建表:
Createtable产品
(产品号intprimarykey,
产品名Char(20)
)
Createtable零件
(零件号intprimarykey,
零件名Char(20)
)
Createtable原材料
(原材料号intprimarykey,
原材料名Char(20),
类别Char(20),
仓库号int,
Foreignkey仓库号references仓库(仓库号)
)
Createtable仓库
(仓库号intprimarykey,
仓库名Char(20),
)
Createtable产品组成
(产品号int,
零件号int,
Primarykey(产品号,零件号),
Foreignkey产品号references产品(产品号),
Foreignkey零件号references零件(零件号)
)
Createtable零件制造
(零件号int,
原材料号int,
Primarykey(零件号,原材料号),
Foreignkey零件号references零件(零件号),
Foreignkey原材料号references原材料(原材料号)
)
Createtable零件存储
(零件号int,
仓库号int,
Primarykey(零件号,仓库号),
Foreignkey零件号references零件(零件号),
Foreignkey仓库号references仓库(仓库号)
)
4.假设一个部门的数据库包括以下的信息:
职工的信息:
职工号、姓名、地址和所在部门。
部门的信息:
部门所有职工、经理和销售的产品。
产品的信息:
产品名、制造商、价格、型号及产品内部编号。
制造商的信息:
制造商名称、地址、生产的产品及价格。
其中,部门与职工是一对多的联系;部门与产品、制造商与产品均是多对多的联系。
(1)E-R图:
附表
(2)关系模式:
职工(职工号、姓名、地址、部门名)
部门(部门名、经理)
制造商(制造商名、地址)
产品销售(部门名、内部编号)
产品(内部编号、产品名、制造商、价格、型号)
产品生产(制造编号、内部编号)
(3)SQL语言建表:
Createtable职工
(职工号intprimarykey,
姓名Char(20),
住址Char(20),
部门名Char(20),
Foreignkey部门名references部门(部门名)
)
Createtable部门
(部门名Char(20)primarykey,
经理Char(20)
)
Createtable制造商
(制造商名Char(20)primarykey,
地址Char(20)
)
Createtable产品
(内部编号intprimarykey,
产品名Char(20),
制造商Char(20),
价格int,
型号Char(20)
)
Createtable产品销售
(部门名Char(20),
内部编号int,
Primarykey(部门名,内部编号),
Foreignkey部门名references部门(部门名),
Foreignkey内部编号references产品(内部编号)
)
Createtable产品生产
(制造商名Char(20),
内部编号int,
Primarykey(制造商名,内部编号),
Foreignkey制造商名references制造商(制造商名),
Foreignkey内部编号references产品(内部编号)
)
5.设有如下实体:
学生:
学号、单位、姓名、性别、年龄、选修课程名。
课程:
编号、课程名、开课单位、任课教师。
教师:
教师号、姓名、性别、职称、讲授课程编号。
单位:
单位名称、电话、教师号、教师名。
上述实体中存在如下联系:
一个学生可选修多门课,一门课程可以被多个学生选修,一个教师可讲授多门课程,一门课程可以被多个教师讲授,一个单位可以有多个教师,一个教师只能属于一个单位。
(1)E-R图:
附表
(2)关系模式:
学生(学号、姓名、性别、年龄、单位名称)
课程(编号、课程名)
教师(教师号、姓名、性别、职称、单位名称)
单位(单位名称、电话)
学生选课(学号、课程编号)
教师授课(教师号、课程编号)
(3)SQL语言建表:
Createtable学生
(学号intprimarykey,
姓名Char(20),
性别Char(10),
年龄int,
单位名称Char(20),
Foreignkey单位名称references单位(单位名称)
)
Createtable课程
(编号intprimarykey,
课程名Char(20),
)
Createtable教师
(教师号intprimarykey,
姓名Char(20),
性别Char(10),
职称Char(20),
单位名称Char(20),
Foreignkey单位名称references单位(单位名称)
)
Createtable单位
(单位名称Char(20)primarykey,
电话Char(20)
)
Createtable学生选课
(学号int,
课程编号int,
Primarykey(学号,课程编号),
Foreignkey学号references学生(学号),
Foreignkey课程编号references课程(编号)
)
Createtable教师授课
(教师号int,
课程编号int,
Primarykey(教师号,课程编号),
Foreignkey教师号references教师(教师号),
Foreignkey课程编号references课程(编号)
)
6.请设计一个图书馆数据库,此数据库中对每个借阅者保存读者记录,包括:
读者号、姓名、地址、性别、年龄、单位。
对每本书存有:
书号、书名、作者、出版社。
对每本被借出的书存有读者号、借出日期和应还日期。
(1)E-R图:
附表
(2)关系模式:
读者(读者