班级:2010级管理与经济学部工商管理系 组成员及所完成的工作: *** ****
所完成作业:系统实现和整体校正 *** ****
所完成作业:系统需求分析和E-R图的建立 *** ****
所完成作业:关系模式和物理设计 系统名称:物流管理信息系统
一.系统需求
a 该“物流管理信息系统”只是对数据库应用技术的一个样本数据库的实例,重在对
数据库一些方法的熟悉与掌握,其中包括从数据库的概念模型到ER图的绘制,再到数据库模式的建立(即为数据库及其基本表的建立),而后数据的录入(在此从略),最后完成一些简单的关系运算表达式的表达和相关的Select 查询语句的使用。
b 系统结构简述:
本系统包括七个实体:材料;供货厂家;材料人员;仓库;使用部门 实体之间的关系转换为其他两个表:入库货单;出库货单 其中实体“供货厂家”与“材料”,“材料”与“仓库”,“仓库”与“使用部门”之
间是多对多的关系,“仓库”与“材料”之间是多对多的关系。 c 该数据库需要进行如下数据处理: 1.查询各种材料的入库货单:
材料编号,仓库号,材料名称,单价,入库时间,厂家编号,人员编号
2.查询各种材料的出库货单:
材料编号,仓库号,材料名称,单价,出库时间,使用部门,人员编号 3. 要查询所有材料人员的信息: 人员编号,姓名,性别,仓库号
4. .要查询在入库时间=2011-05-20入库的材料名称,单价,供货厂家名称,材料
人员编号信息。
材料名称,单价,厂家名称,人员编号
5.查询材料人员中性别为女的人员的人员编号,姓名,仓库号。 人员编号,姓名,仓库号
二.E-R图 入库时间 厂家编号 厂家名称 材料编号 材料名称 供货厂家 提供材料 材料 单价 厂家地址 出库时间 入库 部门编号 仓库号 仓库容量 材料编号 使用部门 出库 仓库 仓库地址 部门名称 负责人编号 属于 人员编号 材料人员 性别 姓名 所属仓库编号
三.关系模式
系统中的实体有:材料;供货厂家;仓库;材料人员;使用单位 关系模式如下:
供货厂家(厂家编号,厂家名称,厂家地址) 说明:“厂家编号”是“供货厂家”的主键 仓库(仓库号,仓库地址,仓库容量) 说明:“仓库号”是“仓库”的主键。
材料(材料编号,材料名称,单价,入库时间,出库时间,厂家编号,仓库号) 说明:“材料编号”是“材料”的主键,“供货厂家”中的“厂家编号”和“仓库”中
的“仓库号”是“材料”的外键。 材料人员(人员编号,姓名,性别,仓库号) 说明:“人员编号”是“材料人员”的主键,“仓库”中的“仓库号”是“材料人员”
的外键。
使用部门(部门编号,部门名称,负责人编号) 说明:“部门编号”是“使用部门”的主键。
四.物理设计
表1.供货厂家
字段名 厂家编号 厂家名称 厂家地址
类型 特殊属性
char(10) 主键 char(18) not null Char(10) not null
表2.仓库
字段名 类型 特殊属性 仓库号 char(7) 主键 仓库地址 char(10) not null 仓库容量 char(5) not null
表3.材料
字段名 材料编号 材料名称 单价 厂家编号
仓库号
类型 char(7) Char(10) char(3) char(10) char(7)
特殊属性 主键 not null not null not null not null
入库时间 出库时间
Datetime Datetime
表4.材料人员
Not null Not null
字段名 人员编号
姓名 性别 仓库号
类型
char(10) char(8)
char(2) char(10)
表.5使用部门
特殊属性 主键 not null not null not null
字段名
部门编号 部门名称 负责人编号
类型 char(5) char(16) char(6)
特殊属性 主键 not null not null
材料编号 Char(7) Not null
五.系统实现
1.数据库及其基本表的建立
数据库的建立用企业管理器,基本表的建立用T-SQL语言: 数据库名称为:物流管理信息系统的数据库 建立数据库的T-SQL代码如下:
Create database 物流管理信息系统的数据库设计 On
(name =物流管理信息系统的数据库设计_data,
Filename ='e:\\###_###_###\\物流管理信息系统的数据库设计.mdf', Size=2MB) Log on
(name =物流管理信息系统的数据库设计_log,
Filename ='e:\\###_###_###\\物流管理信息系统的数据库设计_log.ldf', Size=1MB)
建立基本表的T-SQL代码如下:
use 物流管理信息系统的数据库设计
Create table 供货厂家
(厂家编号 char(10) primary key, 厂家名称 char(18) not null, 厂家地址 char(10) not null)
Create table 仓库
(仓库号 char(7) primary key, 仓库地址 char(10) not null, 仓库容量 char(5) not null)
Create table 材料
(材料编号 char(7) primary key,
材料名称 char(10) not null, 单价 char(3) not null,
入库时间 datetime not null, 出库时间 datetime Not null, 厂家编号 char(10) not null, 仓库号 char(7) not null,
Foreign key (厂家编号) references 供货厂家(厂家编号), Foreign key (仓库号) references 仓库(仓库号))
Create table 材料人员
(人员编号 char(10) primary key,
姓名 char(8) not null, 性别 char(2) not null, 仓库号 char(7) not null
Foreign key (仓库号) references 仓库(仓库号),
Check(性别=’男’ or 性别=’女’))
Create table 使用部门
(部门编号 char(5) primary key, 部门名称 char(16) not null, 负责人编号 char(6) not null, 材料编号 char(7) not null)
输入数据:
insert into 供货厂家 values ('00000001','华纺有限公司','天津') insert into 供货厂家 values ('00000002','华为有限公司','北京')
insert into 供货厂家 values ('00000003','国华有限公司','上海') insert into 供货厂家 values ('00000004','欣欣有限公司','上海') insert into 供货厂家 values ('00000005','创能有限公司','石家庄')
insert into 仓库 values ('100001','东区',100) insert into 仓库 values ('100002','东区',100) insert into 仓库 values ('100003','南区',200) insert into 仓库 values ('100004','北区',150) insert into 仓库 values ('100005','西区',150)
insert into 材料 values ('2011001','棉花',2,'2011-05-20','2011-08-06','00000001','100001') Insert into 材料 values ('2011002','玉米',3,'2010-01-03','2010-06-20','00000005','100004') insert into 材料 values ('2011003','小麦',1,'2010-03-01','2011-06-03','00000002','100003') insert into 材料 values ('2011004','大豆',2,'2011-02-03','2011-06-04','00000001','100002') insert into 材料 values ('2011005','棉花',2,'2010-06-15','2011-03-04','00000001','100001')
insert into 材料人员 values ('3010125','###','男','100001') insert into 材料人员 values ('3010143','###','男','100002') insert into 材料人员 values ('3010152','###','男','100003') insert into 材料人员 values ('3010126','###','女','100004') insert into 材料人员 values ('3010136','###','女','100005')
insert into 使用部门 values ('30001','公关部','209112',’ 2011001’) insert into 使用部门 values ('30002','组织部','209113',’ 2011002’) insert into 使用部门 values ('30003','人事部','209114',’ 2011003’) insert into 使用部门 values ('30004','销售部','209115',’ 2011004’) insert into 使用部门 values ('30005','秘书部','209116',’ 2011005’) 2.创建索引
Create index index_cjbh on 供货厂家(厂家编号 desc) Create index index_ckh on 仓库(仓库号 desc) Create index index_clbh on 材料(材料编号 desc) Create index index_rybh on 材料人员(人员编号 desc) Create index index_bmbh on 使用部门(部门编号 desc) 3.创建视图
create view view_入库货单 as
(select 材料.材料编号,材料名称,单价,入库时间,供货厂家.厂家名称,材料人员.人员编号 from 材料,供货厂家,材料人员
where 材料.厂家编号=供货厂家.厂家编号 and 材料.仓库号=材料人员.仓库号)
create view view_出库货单 as
(select 材料.材料编号,材料名称,单价,出库时间,供货厂家.厂家名称,材料人员.人员
编号,使用部门.部门名称 from 材料,供货厂家,材料人员,使用部门
where 材料.厂家编号=供货厂家.厂家编号 and 材料.仓库号=材料人员.仓库号 and 材料.材料编号=使用部门.材料编号) 4.创建存储过程
Create procedure CL As
Select*from 材料
Where 仓库号=’100001’ Exec CL
Create procedure GZRY As
Select 人员编号,姓名,性别 from 材料人员 Where 仓库号=’10001’ Exec GZRY 5。查询语句
1. 要查询所有材料人员的信息。 Select * from 材料人员
2.要查询在入库时间=2011-05-20入库的材料名称,单价,供货厂家名称,材料人员编号信息。
Select 材料.材料名称,单价,供货厂家.厂家名称,材料人员.人员编号 from 材料,供货厂家,材料人员
Where 材料.入库时间=2011-05-20 and 材料.厂家编号=供货厂家.厂家编号 and 材料.仓库号=材料人员.仓库号
3.查询材料人员中性别为女的人员的人员编号,姓名,仓库号。 Select 人员编号,姓名,仓库号 from 材料人员 Where 性别=’女’
因篇幅问题不能全部显示,请点此查看更多更全内容