收藏 分销(赏)

数据库设计题.doc

上传人:二*** 文档编号:4499247 上传时间:2024-09-25 格式:DOC 页数:32 大小:405KB 下载积分:5 金币
下载 相关 举报
数据库设计题.doc_第1页
第1页 / 共32页
本文档共32页,全文阅读请下载到手机保存,查看更方便
资源描述
(完整word版)数据库设计题 数据库设计题(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图:附表 (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 ( 产品号 , 零件号 ) , Foreign key 产品号 references 产品 (产品号) , Foreign key 零件号 references 零件 (零件号) ) Create table 零件制造 ( 零件号 int , 原材料号 int , Primary key ( 零件号 , 原材料号 ) , Foreign key 零件号 references 零件 (零件号) , Foreign key 原材料号 references 原材料 (原材料号) ) Create table 零件存储 ( 零件号 int , 仓库号 int , Primary key ( 零件号 , 仓库号 ) , Foreign key 零件号 references 零件 (零件号) , Foreign key 仓库号 references 仓库 (仓库号) ) 4. 假设一个部门的数据库包括以下的信息: 职工的信息:职工号、姓名、地址和所在部门。 部门的信息:部门所有职工、经理和销售的产品。 产品的信息:产品名、制造商、价格、型号及产品内部编号。 制造商的信息:制造商名称、地址、生产的产品及价格。 其中,部门与职工是一对多的联系;部门与产品、制造商与产品均是多对多的联系。 (1) E-R图:附表 (2) 关系模式:职工(职工号、姓名、地址、部门名) 部门(部门名、经理) 制造商(制造商名、地址) 产品销售(部门名、内部编号) 产品(内部编号、产品名、制造商、价格、型号) 产品生产(制造编号、内部编号) (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) primary 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) , 内部编号 int , Primary key ( 制造商名 , 内部编号 ) , Foreign key 制造商名 references 制造商 (制造商名) , Foreign key 内部编号 references 产品 (内部编号) ) 5. 设有如下实体: 学生:学号、单位、姓名、性别、年龄、选修课程名。 课程:编号、课程名、开课单位、任课教师。 教师:教师号、姓名、性别、职称、讲授课程编号。 单位:单位名称、电话、教师号、教师名。 上述实体中存在如下联系:一个学生可选修多门课,一门课程可以被多个学生选修,一个教师可讲授多门课程,一门课程可以被多个教师讲授,一个单位可以有多个教师,一个教师只能属于一个单位。 (1) 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) , ) 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) 关系模式:读者(读者号、姓名、地址、性别、年龄、单位) 书(书号、书名、作者、出版社) 借书(书号、读者号、借出日期、应还日期) (3) SQL语言建表: Create table 读者 ( 读者号 int primary key , 姓名 Char(20) , 地址 Char(20) , 性别 Char(10) , 年龄 int , 单位 Char(20) ) Create table 书 ( 书号 int primary key , 书名 Char(20) , 作者 Char(20) , 出版社 Char(20) ) Create table 借书 ( 书号 int , 读者号 int , 借出日期 time , 应还日期 time , Primary key ( 书号, 读者号 ) , Foreign key 书号 references 书 (书号) , Foreign key 读者号 references 读者 (读者号) ) 7. 经需求分析可知,某医院病房计算机管理系统中需要管理以下信息: 科室:科室名、科室地址、科室电话、医生姓名 病房:病房号、床位号、所属科室 医生:工作证号、姓名、性别、出生日期、联系电话、职称、所属科室 病人:病历号、姓名、性别、出生日期、诊断记录、主管医生、病历号 其中,一个科室有多个病房,多个医生,一个病房只属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只能由一个。 (1) E-R图:附表 (2) 关系模式:科室(科室名、科室地址、电话) 医生(工作证号、姓名、性别、出生日期、联系电话、职称、科室名) 病人(病历号、姓名、出生日期、性别、主管医生、病房号) 病房(病房号、床位号、科室名) (3) SQL语言建表: Create table 科室 ( 科室名 Char(20) primary key , 科室地址 Char(20) , 电话 Char(20) ) Create table 医生 ( 工作证号 int primary key , 姓名 Char(20) , 性别 Char(10) , 出生日期 Char(20) , 联系电话 Char(20) , 职称 Char(20) , 科室名 Char(20) , Foreign key 科室名 references 科室 (科室名) ) Create table 病人 ( 病历号 int primary key , 姓名 Char(20) , 出生日期 Char(20) , 性别 Char(10) , 主管医生 int , 病房号 int , Foreign key 主管医生 references 医生 (工作证号) Foreign key 病房号 references 病房 (病房号) ) Create table 病房 ( 病房号 int primary key , 床位号 int , 科室名 Char(20) , Foreign key 科室名 references 科室 (科室名) ) 8. 职工科研管理系统情况如下: 部门:包括部门号、部门名、办公室,每个部有多名职工。 职工:包括职工号、姓名、性别、年龄、职称、专业。 项目:包括项目编号、项目名称、项目经费、项目来源、负责人。 每名职工可参加多个项目,每个项目可多名员工参加。 (1) E-R图:附表 (2) 关系模式:部门(部门号、部门名、办公室) 职工(职工号、姓名、性别、年龄、专业、职称、部门号) 项目(项目编号、项目名称、项目经费、项目来源、负责人) 参加(职工号、项目编号) (3) SQL语言建表: Create table 部门 ( 部门号 int primary key , 部门名 Char(20) , 办公室 Char(20) ) Create table 职工 ( 职工号 int primary key , 姓名 Char(20) , 性别 Char(10) , 年龄 int , 专业 Char(20) , 职称 Char(20) , 部门号 int , Foreign key 部门号 references 部门 (部门号) ) Create table 项目 ( 项目编号 int primary key , 项目名称 Char(20) , 项目经费 int , 项目来源 Char(20) , 负责人 Char(20) ) Create table 参加 ( 职工号 int , 项目编号 int , Primary key ( 职工号 , 项目编号 ) , Foreign key 职工号 references 职工 (职工号) , Foreign key 项目编号 references 项目 (项目编号) ) 9. 设有如下实体: 学生:学号、专业、姓名、性别、年龄、选修课程名。 课程:编号、课程名、开课单位、任课教师。 教师:教师号、姓名、性别、职称、讲授课程编号。 专业:专业名称、电话、教师号、教师名。 以上实体中存在如下联系:(1)一个学生可选修多门课程,一门课程可为多个学生选修;(2)一个教师可以讲授多门课程,一门课程可为多个教师讲授;(3)一个专业可以有多个教师,一个教师只能属于一个专业。 (此题答案与第5题类似) 10. 工厂(包括厂名和厂长)需建立一个管理数据库存储以下信息: 一个厂内有多个车间,每个车间有车间号、车间主任、地址和电话; 一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种; 一个车间可以生产多种产品,产品由产品号和价格; 一个车间生产多种零件,一个零件也可能是多个车间制造,零件有零件号、重量和价格; 一个产品由多个零件组成,一种零件也可装配出多种产品。 (1) E-R图:附表 (2) 关系模式:车间(车间号、车间主任、地址、电话) 工人(职工号、姓名、性别、年龄、工种、车间号) 产品(产品号、价格、车间号) 零件(零件号、重量、价格) 车间制造零件(车间号、零件号) 零件装配商品(产品号、零件号) (3) SQL语言建表: Create table 车间 ( 车间号 int primary key , 车间主任 Char(20) , 地址 Char(20) , 电话 Char(20) ) Create table 工人 ( 职工号 int primary key , 姓名 Char(20) , 性别 Char(10) , 年龄 int , 工种 Char(20) , 车间号 int , Foreign key 车间号 references 车间 (车间号) ) Create table 产品 ( 产品号 int primary key , 价格 int , 车间号 int , Foreign key 车间号 references 车间 (车间号) ) Create table 零件 ( 零件号 int primary key , 重量 int , 价格 int ) Create table 车间制造零件 ( 车间号 int , 零件号 Int , Primary key ( 车间号 , 零件号 ) , Foreign key 车间号 references 车间 (车间号) , Foreign key 零件号 references 零件 (零件号) ) Create table 零件装配商品 ( 产品号 int , 零件号 Int , Primary key ( 产品号 , 零件号 ) , Foreign key 产品号 references 产品 (产品号) , Foreign key 零件号 references 零件 (零件号) ) 附表(E-R图): 第一题: 第二题: 第三题: 第四题: 第五题: 第六题: 第七题: 第八题: 第十题:
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 数据库/数据算法

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服