列:有时要进行查询的列分布在不同的表中,如果这个连接查询的频率比较高,那就可以根据需要,把其它表中的这一列加进来,从而使得多个表中具有相同的列,它常用来在查询时避免连接操作。但它的坏处就是需要更多的磁盘空间,同时因为完整性问题需要增加维护表的工作量。
总之,在进行数据库逻辑设计时,一定要结合应用环境和现实世界的具体情况合理地选择数据库模式。
设计E-R模式
先选择某个局部应用,根据某个系统的具体情况,在多层的数据流图中选择一个适当层次的数据流图,作为设计分析E-R图的出发点。
由于高层的数据流图只能反映系统的概貌,而中层的数据流图能较好的反映系统中各局部应用的子系统组成,因此人们往往以中层数据流图作为设计分E-R图的依据。
逐一设计分E-R图
选择好局部应用之后,就要对每个局部应用逐一设计分E-R图,亦称局部E-R图。
在前面选好的某一层次的数据流图中,每个局部应用都对应了一组数据流图,局部应用涉及的数据都已经收集在数据字典中了。现在就是要将这些数据从数据字典中抽取出来,参照数据流图,标定局部应用中的实体、实体的属性、标识实体的码,确定实体之间的联系及其类型。
事实上,在现实世界中具体的应用环境常常对实体和属性已经作了大体的自然的划分。在数据字典中,"数据结构"、"数据流"和"数据存储"都是若干属性有意义的聚合,就体现了这种划分。可以先从这些内容出发定义E-R图,然后再进行必要的调整。在调整中遵循的一条原则是:
为了简化E-R图的处置,现实世界的事物能作为属性对待的,尽量作为属性对待。
从理论'E/R模型'到理论'关系模型'的整理转换
设备(设备号,设备名,厂商,数量,仓库号,备注)
属性:设备号,设备名,厂商,数量,仓库号,备注。
主键:设备号,设备名
职工(职工号,,职称)
属性:职工号,,职称
主键:职工号,
厂商(厂名,地址,电话)
属性:厂名,地址,电话
主键:厂名,地址,
数据库表设计
1. 设备信息表
字段名称数据类型是否可为空
设备号(key)varchar(20)否
设备名(key)varchar(50)否
厂商varchar(12)否
仓库号varchar(50)是
数量tinyint(1)是
备注varchar(200)是
2. 仓库信息表
字段名称数据类型是否可为空
仓库号(key)varchar(12)否
仓库名varchar(10)否
电话varchar(8)否
备注varchar(100)是
3. 管理员信息表
字段名称数据类型是否可为空
工作号(key)varchar(12)否
varchar(12)否
性别varchar(2)否
电话varchar(12)是
住址varchar(12)是
备注varchar(100)是
4. 职工信息表
字段名称数据类型是否可为空
工作号 char(10) 否
char(10) 否
职称 char(10) 否
电话char(4)否
备注varchar(100)是
第4章 系统详细设计
4.1 MYSQL数据库的设计
E-R图的分析
设备管理系统主要涉及四个实体类型,主要包括设备,仓库,职工,厂商;主要涉及三种关系类型:职工与仓库之间的工作关系,设备与仓库之间的库存关系,厂商与设备之间的供应关系.之间均为M:N的关系.
E-R图如下页:
用例图分析
设备管理系统用例图的设计,参与者为管理员,主要有新增设备,修改设备信息,查询设备信息的需求.用例图主要向读者说明管理员如何对设备进行操作的.
系统用例如下页:
数据库实现
创建数据库
首先进入MYSQL,建立设备管理系统数据库,create database shebeiguanli;
创建数据表
在shebeiguanli数据库建立数年据表,创建设备信息表shebeixinxi
use shebeiguanli
create table shebeixinxi(
设备号(key)varchar(8)否
设备名(key)varchar(10)否
厂商varchar