1、工程项目管理数据库系统设计工程项目管理数据库系统设计工程项目管理系统数据库的设计要求1.需求分析(1)基本实体集:工程项目,项目经理,用户,项目文档,项目材料,使用。(2)属性:工程项目(项目合同号、项目名称、使用工时、报交日期、付款规定、工程总额、工号#、用户编号#)项目经理(工号、姓名、性别、出生年月、电话 )用户(用户编号、用户单位、地址、电话、联系人)项目文档(文档编号、项目合同号#、文档形式、归档时间、内容概述)项目材料(材料编号、材料名、材料报价、数量)使用(材料编号、项目合同号、使用日期、使用数量)(3)实体间的联系:一个工程项目有一个项目文档,每个工程项目用不同的项目材料。一个
2、用户可以拥有多个使用。一个项目经理管理多个工程项目。(4)存在的联系:用户与工程项目之间有拥有关系,一对多。项目经理与工程项目有管理关系,一对多。工程项目与项目文档有属于关系,一对多。工程项目与项目材料有使用关系,多对多 (1)数据项:用户编号含义说明:唯一标识每个用户 别名:无 类型:字符型 长度:5 取值范围:00000至99999 取值含义:按顺序定义。(2)数据项:文档编号含义说明:唯一标识每个文档 别名:无 类型:字符型 长度:5 取值范围:00000至99999 取值含义:按顺序定义。(2)数据结构:工程项目 含义说明:是工程项目管理系统的主体数据结构,定义了一个工程项目的有关信息
3、 组成:项目合同号、项目名称、使用工时、报交日期、付款规定、工程总额、工号、用户编号(3)数据项:材料编号含义说明:唯一标识每个编号 别名:无 类型:字符型 长度:5 取值范围:00000至99999 取值含义:按顺序定义。(2)数据结构:工程项目 含义说明:是工程项目管理系统的主体数据结构,定义了一个工程项目的有关信息 组成:项目合同号、项目名称、使用工时、报交日期、付款规定、工程总额、工号、用户编号2.概念结构设计3.逻辑结构设计工程项目(项目合同号、项目名称、使用工时、报交日期、付款规定、工程总额、工号#、用户编号#)项目经理(工号、姓名、性别、出生年月、电话 )用户(用户编号、用户单位
4、、地址、电话、联系人)项目文档(文档编号、项目合同号#、文档形式、归档时间、内容概述)项目材料(材料编号、材料名、材料报价、数量)使用(材料编号、项目合同号、使用日期、使用数量)4.物理设计字段名类型字节数索引说明工号Char9主键员工编号姓名Char20性别Char2出生日期Char20年龄的定义电话Char11联系方式5.代码任务a)创建数据库代码CREATE DATABASE 工程项目管理系统b)创建各个表代码CREATE TABLE 工程项目( 项目合同号char(5) , 项目名称char(50), 使用工时char(50) , 报交日期char(50) , 付款规定char(50)
5、 , 工程总额char(50) , 工号char(9) , 用户编号char(9) );CREATE TABLE 使用( 材料编码char(50) , 项目合同号char(5) , 使用日期char(50), 使用数量char(50);CREATE TABLE 项目材料( 材料编码char(50), 材料名char(50) , 材料报价char(50) , 数量char(50);CREATE TABLE 项目经理( 工号char(9) ,姓名char(20) , 性别char(2) , 出生年月char(20), 电话char(11);CREATE TABLE 项目文档(文档编号char(9)
6、 ,项目合同号char(5) ,文档形式char(50) ,归档时间char(50) ,内容概述char (50);CREATE TABLE 用户 用户编号char(9) , 用户单位char(50), 地址char(50) , 电话char(11), 联系人char(50) );c)创建约束要求:1.每个表创建主键alter table 工程项目add constraint pk_工程项目 primary key(项目合同号);alter table 使用add constraint pk_使用 primary key(材料编码,项目合同号,使用日期);alter table 项目材料add
7、 constraint pk_项目材料 primary key(材料编码);alter table 项目经理add constraint pk_项目经理 primary key(工号);alter table 项目文档add constraint pk_项目文档 primary key(文档编号);alter table 用户add constraint pk_用户 primary key(用户编号);2.工程项目表创建外键(用户号#、工号#) alter table 工程项目add constraint fk_工程项目 foreign key (用户编号) references 用户 (用户编号);alter table 工程项目add constraint fk_工程项目 foreign key (工号) references 项目经理 (工号);3.项目文档表创建外键(项目合同号#)i.ii.iii.用户“员工”只授予对“工程项目”表的查询权,给“项目经理”授予所有表的查询权d)能实现的查询要求:i.查询项目合同号为10001项目的项目合同号、项目项目名称、归档时间、报交日期、工程总额;ii.查询项目经理叫刘利的项目工程的工程总额和材料编号;iii.查询项目名称为锅炉环保的项目的使用日期和使用数量
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1