当前位置:文档之家› 2014数据库期中期末考试题

2014数据库期中期末考试题

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
预算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

供应商资料表
长度
可否为 空
厂日期等基本信息。 3. 除此之外,还需要记录零件的其他相关信息,如零件供
应商的信息,存放的仓库信息、何种项目需要使用何种 零件等。 4. 同时需要提供对信息的添加、编辑、删除等操作。 5. 供应商(supplier)信息,包括的数据项有:供应商 号、姓名、账号、地址、电话号码。 6. 项目(project)信息,包括的数据项有:项目号、预 算、开工日期。 7. 零件(part)信息,包括的数据项有:零件号、名称、 规格、单价、描述。 8. 仓库(warehouse )信息,包括的数据项有:仓库号、 面积、地址、电话号码。 9. 职工(staff)信息,包括的数据项有:职工号、姓 名、性别、年龄、职称
工厂物资管理数据库系统 设计报告
班级: 学号: 姓名:
12级信管(软件)1班 12053010311 贺祺媛
一、设计任务说明 二、需求分析 三、概念模型设计
目录
1.实体E-R图设计 2.实体联系描述 3.全局概念结构E-R图设计 四、逻辑模型设计 五、物理模型设计 1.数据库设计 2.数据表描述: 3.触发器: 4.视图: 5.存储过程: 六、数据库实施 1.创建数据库: 2.创建备份文件: 3.创建数据表文件 3.创建索引 4.创建触发器: 5.创建视图: 6.修改语句 七、总结 八、参考文献
Int

char
8

Varchar 20

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

Int

int 类型

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

Int

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

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

Int
仓库管理部门主要记录零件数量情况,一间仓库可以存 放多种零件,一种零件可以存放在多建仓库中,因此仓库和零 件之间具有多对多的联系,用数量来表示某种零件在某建仓库 中的数量。
人事部门要安排职工的工作任务,一间仓库有多个职工 当仓库保管员,一个职工只能在一间仓库工作,因此仓库和职 工之间存在一对多的联系。职工之间具有领导---被领导关 系,即仓库主任领导若干保管员,因此直供实体具有一对多的 联系。

datetime

备注 主键
3.触发器:
(1)要求供应商资料中的供应商号被修改时,供应情况表 中的供应商号也被修改。名称:goodsid、
(2)要求零件资料中的零件号被修改时,供应情况表与库 存情况表中的零件号也被修改。名称:goodsid1、
(3)要求项目资料中的项目号被修改时,供应情况表中的 项目号也被修改。
图6.5供应商数据显示图
create table 库存情况表
( 仓库号int, 零件号int, 库存量int)
图6.6仓库情况表显示图
create table 供应情况表 ( 供应商号int references 供应商资料(供应商号), 零件号int references 零件资料(零件号), 项目号int references 项目资料(项目号), 供应量int)
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
图6.1仓库数据表显示图 create table 零件资料 ( 零件号 int primary key, 名称 varchar(30), 规格 varchar(20), 电话号码 char(15), 描述 Text, 单价 int)
图6.2零件数据表显示图 create table 项目资料 ( 项目号int primary key,
(1)根据规则1,5实体对应以下5个关系模式。 仓库资料(仓库号、面积、电话号码),主键为仓 库号。 零件资料(零件号,名称,规格,单价,描述), 主键为零件号。 供应商资料(供应商号,姓名,地址,电话,账 号),主键为供应商号。 项目资料(项目号,预算,开工日期),主键为项 目号。 职工资料(职工号,姓名,年龄,职称),主键为 职工号。
一、设计任务说明
1.理解数据库应用与工厂物资管理体系;
2.掌握模型设计定义以及如何用数据库实现创建; 3.掌握数据库实现管理以及语句、数据上的修改;
二、需求分析
通过对工厂物资管理工作过程及数据流图的认真分析,得到如 下的有用信息:
1. 工厂物资管理设计多种零件的存放。 2. 每件零件需要记录零件号码、条形码、类别、价格、出
图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)
2.创建备份文件:
sp_addumpdevice'disk','BACKUP1','D:\sql\goodsbackup1.dat' go backup database goodsManagment to BACKUP1
3.创建数据表文件
create table 仓库资料 ( 仓库号 int primary key, 面积 int, 电话号码 char(15))
3.全局概念结构E-R图设计
相关主题