2014数据库期中期末考试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、设计任务说明
1.理解数据库应用与工厂物资管理体系;
2.掌握模型设计定义以及如何用数据库实现创建; 3.掌握数据库实现管理以及语句、数据上的修改;
二、需求分析
通过对工厂物资管理工作过程及数据流图的认真分析,得到如 下的有用信息:
1. 工厂物资管理设计多种零件的存放。 2. 每件零件需要记录零件号码、条形码、类别、价格、出

datetime

备注 主键
3.触发器:
(1)要求供应商资料中的供应商号被修改时,供应情况表 中的供应商号也被修改。名称:goodsid、
(2)要求零件资料中的零件号被修改时,供应情况表与库 存情况表中的零件号也被修改。名称:goodsid1、
(3)要求项目资料中的项目号被修改时,供应情况表中的 项目号也被修改。
2.数据表Biblioteka Baidu述:
字段 项目号 预算 开工日期
字段 仓库号 面积 电话号码
字段 零件号 名称 规格 电话号码 描述 单价
项目资料表
类型
长度 可否为空
Int

Int

datetime 类型
否 仓库资料表
长度 可否为 空
Int

Int

Char 类型
15

零件资料表
长度 可否为 空
Int

Varchar 30
3.全局概念结构E-R图设计
供应
供应商号 账号 电话 地址 姓名 供应量
项目号 预算 开工日期
名称 描述 零件号 规格 单价
面积 仓库号 电话号
姓名 年龄 职工号 库存量 职称 领导 工作
供应商
项目 零件 库存
仓库 职工
图3.6仓库系统整体E—R图
四、逻辑模型设计
下面是“工厂物资管理”的E-R数据模型转换成关系模型 的所有模型
Int

char
8

Varchar 20

char
7
Int 类型
库存情况表
长度
可否为 空
Int

Int

int 类型

供应情况表
长度
可否为 空
Int

Int

备注 主键
备注 主键
备注 主键
备注 主键
项目号 供应量
字段 职工号 仓库号 工作时间
Int

Int
工作情况表
类型
长度
可否为 空
Int

Int
4.视图:
为用户提供包含供应商姓名、零件号、项目号、和零件总价格的 视图。
名称: project
5.存储过程:
根据用户所提交的职工号,为用户提供职工信息。名称

lookworker。
六、数据库实施
1.创建数据库:
create database goodsManagment on ( name = goosaDAT, filename = 'c:\SQL\goodsDAT.MDF', size = 3, maxsize=20, filegrowth = 2 ) LOG on ( name = 物资管理LOG, filename='c:\SQL\goodsLOG.ldf', size=1, maxsize=20, filegrowth=2)
if(columns_updated()&01)>0 update 供应情况表 set 供应情况表.零件号=(select 零件号from inserted) where 供应情况表.零件号=(select 零件号from deleted) update 库存情况表 set 库存情况表.零件号=(select 零件号from inserted) where 库存情况表.零件号=(select 零件号from deleted) end (3)create trigger good_2 on 项目资料 for update as begin if(columns_updated()&01)>0 update 供应情况表 set 供应情况表.项目号=(select 项目号from inserted) where 供应情况表.项目号=(select 项目号from deleted) end (4)create trigger good_3 on 供应商资料 for delete as if exists(select 供应商号from deleted a where a.供应商号in(select 供应情况表.供应商号from 供应情 况表) ) begin raiserror('因在供应商资料中存在,不得删除此条记录!',16,1) rollback transaction end (5)create trigger good_5 on 零件资料 for delete as if exists(select 零件号from deleted a where a.零件号in(select 供应情况表.零件号from 供应情况表) or a.零件号in(select 库存情况表.零件号from 库存情况表) ) begin
三、概念模型设计
1.实体E-R图设计 (1)供应商:供应商号、姓名、地址、电话
号、账号。
供应商号 电话号
账号 姓名 地址
供应商
图3.1供应商实体E—R图
(2)零件:编号、名称、仓库号、描述、单 价、规格。
零件号 规格
单价 描述 名称
零件

图3.2零件商实体E—R图
(3)项目:项目号、预算、开工日期。
(1)根据规则1,5实体对应以下5个关系模式。 仓库资料(仓库号、面积、电话号码),主键为仓 库号。 零件资料(零件号,名称,规格,单价,描述), 主键为零件号。 供应商资料(供应商号,姓名,地址,电话,账 号),主键为供应商号。 项目资料(项目号,预算,开工日期),主键为项 目号。 职工资料(职工号,姓名,年龄,职称),主键为 职工号。
五、物理模型设计
1.数据库设计
(1)逻辑数据库名称:goodsManagment (2)数据文件:goods DAT.MDF,始初大小为3MB,最大空间 为20MB,增加量为2MB。 (3)日志文件:goods LOG.LDF,始初大小为1MB,最大空
间为20MB,增加量为2MB。 (4)备份设置名:BACKUP;goodsbackup.dat。
4.创建触发器:
(1) create trigger goodid on 供应商资料 for update as begin if (columns_updated()&01)>0 update 供应情况表 set 供应情况表.供应商号= (select a.供应商号from inserted a) where 供应情况表.供应商号= (select b.供应商号from deleted b) end (2)create trigger good_1 on 零件资料 for update as begin
(2)根据规则2,仓库与零件之间存在多对多的关系,对 应关系模式如下。
库存量(仓库号,零件号,库存量),主键为仓库库与 零件号的组合。 (3)根据规则3,仓库与职工实体之间存在一对多的二元联 系,对应的关系模式如下。 工作情况表(职工号、仓库号、工作时间),主键为职 工号。 (4)根据规则5,供应商、项目与零件三实体之间的三元联 系,对应的关系模式如下。 供应情况表(供应商号、零件号、项目号 供应量), 主键为项目号,供应商号与零件号的组合。 (5)根据规则7,将职工实体拆分为普通员工和班长两个子 集,两子集之间存在一对多的联系,对应的关系模式如 下。 普通员工(职工号,姓名,年龄),主键为职工号。 班长(工号,姓名,年龄),主键为工号。 领导(职工号),主键为职工号。
厂日期等基本信息。 3. 除此之外,还需要记录零件的其他相关信息,如零件供
应商的信息,存放的仓库信息、何种项目需要使用何种 零件等。 4. 同时需要提供对信息的添加、编辑、删除等操作。 5. 供应商(supplier)信息,包括的数据项有:供应商 号、姓名、账号、地址、电话号码。 6. 项目(project)信息,包括的数据项有:项目号、预 算、开工日期。 7. 零件(part)信息,包括的数据项有:零件号、名称、 规格、单价、描述。 8. 仓库(warehouse )信息,包括的数据项有:仓库号、 面积、地址、电话号码。 9. 职工(staff)信息,包括的数据项有:职工号、姓 名、性别、年龄、职称
名称:goodsid2、 (4)要求供应商资料中的供应商号只有在供应情况表中的 相应供应商号不存在时,方可删除。名称:goodsid3、 (5)要求零件商资料中的零件号只有在供应情况表与库存 情况表中的相应零件号不存在时,方可删除。名称: goodsid4、 (6)要求项目资料中的项目号只有在供应情况表中的相应 项目号不存在时,方可删除。名称:goodsid5。
工厂物资管理数据库系统 设计报告
班级: 学号: 姓名:
12级信管(软件)1班 12053010311 贺祺媛
一、设计任务说明 二、需求分析 三、概念模型设计
目录
1.实体E-R图设计 2.实体联系描述 3.全局概念结构E-R图设计 四、逻辑模型设计 五、物理模型设计 1.数据库设计 2.数据表描述: 3.触发器: 4.视图: 5.存储过程: 六、数据库实施 1.创建数据库: 2.创建备份文件: 3.创建数据表文件 3.创建索引 4.创建触发器: 5.创建视图: 6.修改语句 七、总结 八、参考文献
项目号
开工日期 预算
项目
图3.3项目实体E—R图
(4)仓库:仓库号、面积、电话号、管理号、职 工号。
面积 仓库号 电话号 仓库
图3.4仓库实体E—R图
(5)职工:姓名、年龄、名称、职工号。
职称 姓名 职工号 年龄 职工
图3.5职工实体E—R图
2.实体联系描述
采购部门与供应商的联系,为多个项目提供多种零件, 供应商、项目和零件三者之间具有多对多的联系。
图6.5供应商数据显示图
create table 库存情况表
( 仓库号int, 零件号int, 库存量int)
图6.6仓库情况表显示图
create table 供应情况表 ( 供应商号int references 供应商资料(供应商号), 零件号int references 零件资料(零件号), 项目号int references 项目资料(项目号), 供应量int)
图6.1仓库数据表显示图 create table 零件资料 ( 零件号 int primary key, 名称 varchar(30), 规格 varchar(20), 电话号码 char(15), 描述 Text, 单价 int)
图6.2零件数据表显示图 create table 项目资料 ( 项目号int primary key,
预算int, 开工日期datetime)
图6.3项目数据显示图
create table 职工资料 ( 职工号int primary key, 姓名char(8), 年龄int,
职称char(8))
图6.4职工数据显示图
create table 供应商资料 ( 供应商号int primary key, 姓名char(8), 地址varchar(20), 电话号码char(7), 账号int)
仓库管理部门主要记录零件数量情况,一间仓库可以存 放多种零件,一种零件可以存放在多建仓库中,因此仓库和零 件之间具有多对多的联系,用数量来表示某种零件在某建仓库 中的数量。
人事部门要安排职工的工作任务,一间仓库有多个职工 当仓库保管员,一个职工只能在一间仓库工作,因此仓库和职 工之间存在一对多的联系。职工之间具有领导---被领导关 系,即仓库主任领导若干保管员,因此直供实体具有一对多的 联系。

Varchar 20

Char
15

Text

int

职工资料表
备注 主键
备注 主键
备注 主键
字段 职工号 姓名 年龄 职称
字段 供应商号
姓名 地址 电话号码 账号
字段 仓库 零件 库存量
字段 供应商号 零件号
类型
长度 可否为 空
Int

char
8

Int

char 类型
8

供应商资料表
长度
可否为 空
2.创建备份文件:
sp_addumpdevice'disk','BACKUP1','D:\sql\goodsbackup1.dat' go backup database goodsManagment to BACKUP1
3.创建数据表文件
create table 仓库资料 ( 仓库号 int primary key, 面积 int, 电话号码 char(15))
图6.7供应商情况表显示图
create table 工作情况表 ( 职工号int references 职工资料(职工号), 仓库号int references 仓库资料(仓库号), 工作时间datetime)
图6.8工作情况表显示图
3.创建索引
create nonclustered index IX_仓库号on 仓库资料(仓库号asc) create nonclustered index IX_零件号on 零件资料(零件号asc) create nonclustered index IX_项目号on 项目资料(项目号asc) create nonclustered index IX_职工号on 职工资料(职工号asc) create nonclustered index IX_供应商号on 供应商资料(供应商号asc) create nonclustered index IX_仓库号on 库存情况表(仓库号asc) create nonclustered index IX_供应商号on 供应情况表(供应商号asc) create nonclustered index IX_职工号on 工作情况表(职工号asc)
相关文档
最新文档