1、工厂信息管理系统数据库设计 一、需求分析 (一)设计数据库 工厂信息管理系统: (1)实体类: 车间:一种工厂有诸各种车间,每个车间有车间号、车间主任名、地址、电话。 工人: 一种车间有各种工人,每个工人有职工号、姓名、年龄、性别和工种。 产品: 一种车间生产多钟产品,产品有产品号,价格。 零件: 一种车间有各种零件,一种零件也可以由各种车间制造。零件有零件号、重量和价格。 仓库: 产品与零件存入仓库中,厂内有各种仓库,仓库有仓库号、仓库保管员、姓名、电话。 (2)联系类: 生产:一种车间有各种零件,一种零件也可以由各种车间制造。 构成:一种产品由各种零件构成,一种零件
2、也可装配多中产品内。 保管:产品与零件存入仓库中,厂内有各种仓库。 (二) 调查 (1)调查工厂信息管理机构状况,涉及理解该组织部门构成状况,各部门职责等,为分析信息流程做准备。 (2)调查业务活动状况。涉及理解各部门输入和使用什么数据,如何加工解决这些数据,输出什么信息,输出到什么部门,输出成果格式是什么,这是调查重点。 (3)在熟悉了业务活动基本上,协助顾客明确对新系统各种规定,涉及信息规定、解决规定、安全性与完整性规定。 (4)拟定新系统边界。对前面调查成果进行初步分析,拟定哪些功能由计算机完毕或将来准备让计算机完毕,那些活动由人工完毕,由计算机完毕功能就是新系统应当实现功能
3、 (三)需求分析过程 (四)数据字典 1.数据项 数据项是不可再分数据单位。 数据项,以“零件号”为例: 数据项: 零件号 含义阐明:唯一标记每个零件 类型: 字符型 长度: 8 取值范畴:00000000至99999999 取值含义:前两位标别该零件所属类别,后六位按顺序编号 2.数据构造 数据构造反映了数据之间组合关系。 一种数据构造可以由若干个数据项构成,也可以由若干个数据构造构成,或由若干个数据项和数据构造混合构成。 数据构造,以“员工”为例 数据构造:员工 含义阐明:定义了每个
4、员工关于信息 构成: 职工号、姓名、年龄、性别和工种 (3)数据流 数据流是数据构造在系统内传播途径。 数据流,“生产成果”可如下描述: 数据流: 生产成果 阐明: 车间生产零件最后成果 数据流来源:生产 数据流去向:批准 构成: 数量、生产车间…… 平均流量: 1000/天 高峰期流量:1800/天 (4)数据存储 数据存储是数据构造停留或保存地方,也是数据流来源和去向之一。 数据存储,“车间生产零件登记表”可如下描述: 数据存储: 车间生产零件登记表 阐明: 记录车间生产零
5、件基本状况 流入数据流:…… 流出数据流:…… 构成: 零件号+重量+数量…… 数据量: 每年3000张 存取方式: 随机存取 (5)解决过程 详细解决逻辑普通用鉴定表或鉴定树来描述 解决过程“零件入库”可如下描述: 解决过程:零件入库 阐明: 将生产所有零件装入仓库 输入: 零件 输出: 零件入库 解决: 在零件生产后,为所有零件装入仓库中。规定专门人员去车间领取零件,领取后立即装入指定仓库。 二、概念构造设计 (1)分E-R图如下: 图2.1 仓库实体与属性图
6、 图2.2 产品实体与属性图 图2.3 车间实体与属性图 图2.4 零件实体与属性图 图2.5 员工实体与属性图 (2)视图集成 (3) E-R图 总体E-R图及各个实体之间关系如下图所示 图2.6 全局E-R图 三、逻辑构造设计 (一)转换原则 E-R图向关系模型转换: 关系模型逻辑构造是一组关系模式集合。E-R图则是由实体,实体属性和实体间联系三个要素构成。因此将E
7、R图转换为关系模型事实上就是要将实体,实体属性和实体间联系转换为关系模式。 转换原则如下: 1. 实体类型转换:一种实体型转换成一种关系模式。实体属性就是关系属性,实体码就是关系码。 2.联系类型转换,依照不同状况做不同解决。 ⑴ 一种1:1联系可以转换为一种独立关系模式,也可以与任意一端相应关系模式合并。如果转换为一种独立关系模式,则与该联系相连各实体码以及联系自身属性均转换为关系属性,每个实体码均是该关系候选码。如果与某一端实体相应关系模式合并,则需要在该关系模式属性中加入另一种关系模式码和联系自身属性。 ⑵ 一种1:N联系可以转换为一种独立关系模式,也可以与N端相应关系模式合
8、并。如果转换为一种独立关系模式,则与该联系相连各实体码以及联系自身属性均转换为关系属性,而关系码为N端实体码。 ⑶ 一种M:N联系转换为一种关系模式。与该联系相连各实体码为各实体码组合。 ⑷ 三个或三个以上实体间一种多元联系可以转换为一种关系模式。与该多元联系相连各实体码以及联系自身属性均转换为关系属性,而关系码为各实体码组合。 ⑸ 具备相似码关系模式可合并。 (二)详细逻辑模型 依照工厂信息管理系统E-R图转换为关系模型如下: 将每一种实体转换成一种关系(关系就是给出关系名,属性就是实体属性,并标明该关系主码用下划线来表达) 关系模式: 车间(车间编号,车间名称,车间主任编号
9、备注) 员工(编号,姓名,工种,职位编号,年龄,性别,电话,地址) 产品(编号,产品名称,价格,车间编号,备注) 零件(零件号,重量,价格) 车间-零件(车间编号,零件号) 产品-零件(产品编号,零件号) 仓库(编号,管理员姓名,电话) 零件-仓库(仓库编号,零件编号) 产品-仓库(仓库编号,产品编号) 工厂(厂名,厂长名) 四、物理设计 为一种给定逻辑数据模型选用一种最适合应用环境物理构造过程,就是数据库物理设计。 数据库物理设计环节: (1)拟定数据库物理构造,在关系数据库中重要指存取办法和存储构造 (2)对物理构造进行评价,评价重点是时间和
10、空间效率 (3)如果评价成果满足原设计规定,则可进入到物理实行阶段,否则,就需要重新设计或修(4)改物理构造,有时甚至要返回逻辑设计阶段修改数据模型 关系模式存取办法选取 DBMS惯用存取办法: 1.索引办法 当前重要是B+树索引办法,典型存取办法,使用最普遍 。 2.聚簇(Cluster)办法 3.HASH办法 五、实行与维护 (1)创立表 a. 车间表: 车间表 (车间编号,车间名称,车间主任编号,备注) create table cj (cjbh char(2), mc char(3), cjzrbh char(3), bz char(4
11、) constraint cjbh_pk primary key(cjbh)); b.员工表: 员工表(编号,姓名,工种,职位编号,年龄,性别,电话,地址) create table yg (ygbh char(3), xm char(8), gz char(1), zwbh char(3), nl char(2), xb char(4), dh char(6), dz char(6) constraint ygbh_pk primary key(ygbh)); c. 产品表: 产品表(编号,产品名称,价格,车间编号,备注
12、 create table cp (cpbh char(3), cpmc char(3), jg char(2), cjbh char(2), bz char(4) constraint cpbh_pk primary key(cpbh)); d. 零件表: 零件表(零件号,重量,价格) create table lj (ljbh char(3), zl char(3), jg char(1) constraint ljbh_pk primary key(ljbh)); e.车间零件表 车间-零件表(车间编号,
13、零件号) create table cjlj (cjbh char(2), ljbh char(3)); f.产品零件表: 产品-零件表(产品编号,零件号) create table cplj (cpbh char(3), ljbh char(3)); g. 仓库表: 仓库表(编号,管理员姓名,电话) create table ck (ckbh char(3), glxxm char(8), dh char(6) constraint ckbh_pk primary key(ckbh)); h. 零件仓库表:
14、 零件-仓库表(仓库编号,零件编号) create table ljck (ckbh char(3), ljbh char(3)); i. 产品仓库表: 产品-仓库表(仓库编号,产品编号) create table cpck (ckbh char(3), cpbh char(3)); j. 工厂表: 工厂(厂名,厂长名) create table factory (fname char (12), fmanager char(10), constraint fname_pk primary key(fname)); (2)查询全体员工员工编号和姓名 select ygbh,xm rom yg (3) 将名字叫"王六"员工年龄更改为 26岁 Update yg set nl=26 where xm='王六'; (4) 插入员工编号为'C05'员工记录 Insert Into yg (bh,xm,gz,zwbh,nl,xb,dh,dz) Values (‘C05’,‘王鹏’,‘生产工人’,‘90234321’,26,‘男’,‘’,‘江苏省南京市鼓楼区49号’);






