数据建模项目管理数据库设计报告

合集下载

数据库设计报告

数据库设计报告

数据库设计报告一、引言在信息时代,数据扮演着极为重要的角色。

数据库作为数据管理的核心工具,对于组织和管理数据具有重要意义。

数据库设计是一个重要的环节,它直接影响着数据的存储、组织和检索效率。

本文旨在对数据库设计进行报告,介绍我们团队在设计一个在线商城的数据库时所采用的方法和过程。

二、需求分析在线商城作为一个典型的电子商务平台,需要处理大量的商品、订单、用户等数据。

我们在需求分析阶段主要考虑以下几个方面:1. 商品管理:包括商品信息的录入、修改、删除和查询功能,还需要考虑商品分类、库存管理和价格调整等功能。

2. 用户管理:用户注册、登录、个人信息管理以及购物车和订单管理等功能。

3. 订单管理:涉及订单的创建、支付、发货、退货等流程,并需要查询订单信息和生成统计报表。

4. 数据安全:数据安全性和完整性是在线商城的重要保障,需要考虑用户密码的加密存储、防止SQL注入攻击等方面的安全策略。

三、概念设计在需求分析的基础上,我们进行了数据库的概念设计。

概念设计主要包括实体-关系图和数据字典的设计。

我们将在线商城的实体进行了抽象,确定了实体的属性和关系,并使用实体-关系图进行了可视化表达。

同时,我们也编写了数据字典,详细定义了每个实体和属性的含义和数据类型。

四、逻辑设计逻辑设计是数据库设计的核心部分。

在逻辑设计阶段,我们将概念设计转换为关系模型,确定了数据库的各个表和表之间的关系。

根据需求分析,我们设计了以下几个主要的表:1. 商品表:存储商品信息,包括商品ID、名称、价格、库存等字段。

2. 用户表:存储用户信息,包括用户ID、用户名、密码、邮箱等字段。

3. 订单表:存储订单信息,包括订单ID、用户ID、商品ID、订单状态等字段。

4. 购物车表:存储用户加入购物车的商品信息,包括购物车ID、用户ID、商品ID、数量等字段。

通过逻辑设计,我们定义了各个表之间的关系,如商品表与订单表的一对多关系,用户表与订单表的一对多关系等。

工程项目管理数据库设计

工程项目管理数据库设计

摘要:随着我国工程建设的飞速发展,工程项目管理的重要性日益凸显。

工程项目管理数据库作为工程项目管理的重要组成部分,其设计质量直接影响到工程项目的顺利进行。

本文针对工程项目管理数据库的设计,从需求分析、概念结构设计、逻辑结构设计、物理结构设计等方面进行了详细阐述,以期为我国工程项目管理数据库的设计提供参考。

一、引言工程项目管理数据库是工程项目管理信息系统的重要组成部分,其目的是对工程项目进行有效的数据管理和信息共享。

随着工程项目规模的不断扩大,项目管理信息的复杂性日益增加,对数据库设计的要求也越来越高。

本文旨在通过对工程项目管理数据库的设计,提高工程项目管理的效率和质量。

二、需求分析1. 数据需求工程项目管理数据库需要收集和存储以下数据:(1)项目基本信息:项目名称、项目编号、项目类型、项目地点、项目规模、项目工期等。

(2)项目组织结构:项目组织架构、部门职责、人员信息等。

(3)项目进度管理:项目进度计划、实际进度、变更记录等。

(4)项目成本管理:项目预算、实际成本、成本分析等。

(5)项目质量管理:质量目标、质量控制点、质量检查记录等。

(6)项目安全管理:安全目标、安全措施、安全事故记录等。

2. 功能需求(1)数据录入:支持对各类项目管理数据的录入、修改、删除等操作。

(2)数据查询:根据不同需求,提供多种查询方式,如按项目、按部门、按人员等。

(3)数据统计:对项目数据进行统计、分析,为项目管理提供决策支持。

(4)数据报表:生成各类项目管理报表,如项目进度报表、成本报表、质量报表等。

(5)数据备份与恢复:定期备份数据库,确保数据安全。

三、概念结构设计1. 概念结构设计原则(1)标准化:遵循国家相关标准和规范。

(2)模块化:将数据库分为多个模块,便于管理和维护。

(3)一致性:确保数据库中数据的一致性。

(4)可扩展性:支持未来项目管理的需求扩展。

2. 概念结构设计根据需求分析,将工程项目管理数据库分为以下模块:(1)项目信息模块:包括项目基本信息、项目组织结构等。

数据库创建与管理实验报告

数据库创建与管理实验报告

数据库创建与管理实验报告
数据库创建与管理是一个涉及数据库设计、建立、维护和优化
的综合性课题。

在实验报告中,我们可以从以下几个方面来全面地
描述这个实验:
1. 实验背景与目的,首先,我们需要介绍数据库创建与管理的
背景和意义,以及实验的目的和意义。

这可以包括数据库在现代信
息系统中的重要性,以及学习数据库创建与管理的目的。

2. 实验环境与工具,接着,我们可以详细描述实验所用的环境
和工具,比如数据库管理系统的选择、操作系统、以及相关的开发
工具。

3. 数据库设计与创建,在实验报告中,我们可以介绍数据库设
计的基本原则和方法,包括实体-关系模型的设计、范式化、以及数
据库表的创建过程。

可以通过示例来说明数据库设计的过程和方法。

4. 数据库管理与维护,我们还可以涉及到数据库的管理和维护,包括数据备份与恢复、性能优化、安全性管理等方面的内容。

可以
介绍常见的数据库管理任务和方法。

5. 实验结果与分析,最后,在实验报告中,我们需要详细描述实验的结果和分析,包括数据库的建立情况、性能测试结果、以及对数据库设计与管理的总结和反思。

通过以上几个方面的全面描述,可以使实验报告更加完整和严谨,展现出对数据库创建与管理实验的深入理解和全面掌握。

数据库的设计实验报告

数据库的设计实验报告

一、实验目的1. 理解数据库设计的概念、过程和步骤。

2. 掌握数据库概念结构、逻辑结构和物理结构的设计方法。

3. 能够运用E-R图进行数据库概念结构设计。

4. 能够运用SQL语句进行数据库逻辑结构和物理结构设计。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 数据库概念结构设计2. 数据库逻辑结构设计3. 数据库物理结构设计四、实验步骤1. 数据库概念结构设计(1)分析需求,确定实体和属性以“图书管理系统”为例,确定实体和属性如下:实体:图书、读者、借阅信息属性:- 图书:书名、作者、出版社、ISBN、出版日期、分类号、库存数量- 读者:读者编号、姓名、性别、出生日期、联系电话、邮箱、住址- 借阅信息:借阅编号、图书编号、读者编号、借阅日期、归还日期、状态(2)绘制E-R图根据实体和属性,绘制E-R图如下:```图书(书名,作者,出版社,ISBN,出版日期,分类号,库存数量)读者(读者编号,姓名,性别,出生日期,联系电话,邮箱,住址)借阅信息(借阅编号,图书编号,读者编号,借阅日期,归还日期,状态) ```2. 数据库逻辑结构设计(1)确定关系模式根据E-R图,确定关系模式如下:- 图书(书名,作者,出版社,ISBN,出版日期,分类号,库存数量)- 读者(读者编号,姓名,性别,出生日期,联系电话,邮箱,住址)- 借阅信息(借阅编号,图书编号,读者编号,借阅日期,归还日期,状态)(2)编写SQL语句创建表```sqlCREATE TABLE 图书 (书名 VARCHAR(100),作者 VARCHAR(50),出版社 VARCHAR(50),ISBN VARCHAR(20),出版日期 DATE,分类号 VARCHAR(10),库存数量 INT);CREATE TABLE 读者 (读者编号 VARCHAR(10),姓名 VARCHAR(50),性别 CHAR(1),出生日期 DATE,联系电话 VARCHAR(20),邮箱 VARCHAR(50),住址 VARCHAR(100));CREATE TABLE 借阅信息 (借阅编号 VARCHAR(10),图书编号 VARCHAR(10),读者编号 VARCHAR(10),借阅日期 DATE,归还日期 DATE,状态 VARCHAR(10));```3. 数据库物理结构设计(1)确定索引根据需求,确定索引如下:- 图书表:ISBN、分类号- 读者表:读者编号- 借阅信息表:借阅编号、图书编号、读者编号(2)编写SQL语句创建索引```sqlCREATE INDEX idx_isbn ON 图书(ISBN);CREATE INDEX idx_分类号 ON 图书(分类号);CREATE INDEX idx_读者编号 ON 读者(读者编号);CREATE INDEX idx_借阅编号 ON 借阅信息(借阅编号);CREATE INDEX idx_图书编号 ON 借阅信息(图书编号);CREATE INDEX idx_读者编号 ON 借阅信息(读者编号);```五、实验结果与分析1. 通过实验,掌握了数据库设计的概念、过程和步骤。

某项目数据库设计报告

某项目数据库设计报告

某项目数据库设计报告1.引言本报告旨在介绍项目的数据库设计方案。

数据库是项目中存储和管理数据的重要组成部分,它的设计和实现对整个系统的性能和稳定性具有重要影响。

本报告将分析项目需求和业务流程,并基于这些信息提出一个适合的数据库设计方案。

2.项目需求及业务流程分析在开始数据库设计之前,我们首先需要对项目的需求和业务流程进行分析。

根据对项目需求的了解,我们得知该项目是一个在线商城系统,主要包含以下模块:用户管理、商品管理、订单管理和库存管理。

业务流程包括用户注册、商品浏览、商品购买、订单生成和库存更新等。

3.数据库设计方案基于对项目需求和业务流程的分析,我们提出以下数据库设计方案:3.1数据库架构在本项目中,我们使用关系数据库来存储和管理数据。

关系数据库具有结构化的数据模型和高效的查询能力,非常适合用于存储和管理大量的结构化数据。

3.2数据表设计根据业务流程,我们设计了以下数据表来存储相关数据:- 商品表(Product):存储商品的基本信息,包括商品ID、商品名称、商品价格、商品库存等。

- 订单表(Order):存储订单的基本信息,包括订单ID、用户ID、商品ID、订单状态等。

- 库存表(Inventory):存储库存的基本信息,包括商品ID、商品库存数量等。

3.3数据表关系和约束在数据库设计中,我们需要定义表之间的关系和约束,以保证数据的完整性和一致性。

- 用户表(User)和订单表(Order)之间的关系是一对多关系,即一个用户可以有多个订单,但一个订单只属于一个用户。

我们在订单表中添加了一个外键(user_id)来关联用户表的主键(user_id)。

- 商品表(Product)和订单表(Order)之间的关系是多对多关系,即一个订单可以包含多个商品,而一个商品可以被多个订单使用。

为了实现多对多关系,我们需要创建一个中间表(order_product),它包含订单ID和商品ID两个外键来关联订单表和商品表的主键。

数据库设计与管理的工作总结

数据库设计与管理的工作总结

数据库设计与管理的工作总结在当今数字化时代,数据库作为信息存储和管理的核心组件,对于企业和组织的运营至关重要。

数据库设计与管理的质量直接影响着系统的性能、数据的安全性和可用性,以及业务流程的效率。

在过去的一段时间里,我深入参与了多个数据库项目,积累了丰富的经验,也面临了不少挑战。

在此,我将对这段时间的数据库设计与管理工作进行总结。

一、数据库设计工作数据库设计是构建高效、可靠数据库系统的基础。

在设计过程中,需要充分考虑业务需求、数据量、访问模式等因素,以确保数据库结构的合理性和优化性。

(一)需求分析在接到数据库设计任务后,我首先与业务部门进行深入沟通,了解业务流程和数据需求。

通过访谈、文档分析等方式,收集了大量的业务信息,包括业务规则、数据类型、数据量预估等。

这为后续的设计工作提供了明确的方向。

(二)概念设计基于需求分析的结果,我进行了概念设计。

使用实体关系(ER)模型来描述数据库中的实体、属性和关系。

通过绘制 ER 图,清晰地展现了业务中的核心概念及其之间的联系,为物理设计奠定了基础。

(三)逻辑设计在概念设计的基础上,进行逻辑设计。

将 ER 图转换为关系模型,确定表结构、字段类型、主键、外键等。

在这个过程中,遵循了数据库设计的规范化原则,尽量减少数据冗余,提高数据的一致性和完整性。

(四)物理设计物理设计主要涉及数据库的存储结构和索引设计。

根据数据量、访问频率等因素,选择合适的存储引擎和数据文件格式。

同时,为经常用于查询和连接的字段创建索引,以提高数据库的查询性能。

但也要注意避免过度创建索引,以免影响数据插入和更新的效率。

二、数据库管理工作数据库设计完成后,有效的管理是确保数据库稳定运行和持续优化的关键。

(一)数据备份与恢复定期制定数据备份计划,并严格按照计划执行备份操作。

采用全量备份和增量备份相结合的方式,确保在发生故障时能够快速恢复数据。

同时,定期测试恢复流程,以验证备份数据的可用性。

(二)性能优化通过监控数据库的性能指标,如查询响应时间、吞吐量、资源利用率等,及时发现性能瓶颈。

数据库设计报告

数据库设计报告

数据库设计报告
数据库设计报告
1. 引言:介绍数据库设计的目的和背景,解释为什么需要进行数据库设计。

2. 需求分析:分析用户需求,确定数据库中需要存储的数据和相关的功能。

3. 概念设计:使用ER模型或其他适当的概念建模工具,绘制
实体关系图(ER图),标识出实体、属性和关系。

4. 逻辑设计:将概念设计转化为关系模式,确定表的结构和属性。

确定主键、外键和其他约束条件。

5. 物理设计:根据数据库管理系统的要求,确定表的存储格式、索引和存取路径。

选择适当的数据类型和数据长度。

6. 数据库实施:根据物理设计的要求,在数据库管理系统中创建表,定义索引和其他约束。

7. 数据库测试:对数据库进行综合测试,包括插入数据、查询数据、修改和删除数据等。

8. 总结与展望:总结数据库设计的过程和结果,讨论可能的改进和扩展。

9. 参考文献:列出参考文献和相关资料。

10. 附录:包括数据库设计的源代码、SQL脚本和其他相关文件。

数据库系统设计报告及项目总结

数据库系统设计报告及项目总结

数据库系统设计报告及项目总结第一篇:数据库系统设计报告及项目总结数据库系统设计报告及项目总结我对数据库的制作是为了能够更方便更快捷的对学生基本信息、系部基本信息、课程信息、教职工信息以及学生成绩进行查询。

数据库的最终效果是能够按学号、姓名、系号查询学生基本信息;按职工号、姓名、系号查询教职工基本信息;按系号、系名称查询系的基本信息;按课程号、课程名称、上课教师姓名查询课程基本信息;按学号、课程号、课程名称、上课教师姓名、系号查询学生成绩,内容包括课程基本情况。

若查询涉及多门课程,则按课程分组。

每门课程按总评成绩从高分到低分给出选修该门课程的所有学生的成绩(平时成绩、考试成绩和总评成绩);能按课程号、课程名称、教师姓名输出对应课程的成绩报表;能够根据课程、授课教师统计成绩>=90分、>=80分、>=70分、>=60分及不及格学生的人数及比例。

内容包括课程基本信息(课程号、课程名称、任课教师号、学时、学分),选课学生名单(学号、姓名、性别),每个学生的平时成绩、考试成绩和总评成绩。

我建立了学生基本信息表,系部基本信息表,课程信息表,教职工信息表,选课信息表以及没门课程的成绩表。

课程包括音乐鉴赏、影视鉴赏、体育、数学、商业应用文写作、实用英语这几门课程。

学生基本信息表的内容及数据类型如下:学号INT PRIMARY KEY,姓名VARCHAR(10)NOT NULL,性别 VARCHAR(50),出生日期 INT ,入学成绩INT,所在系号INT。

系部基本信息表内容及数据类型如下:系号INT PRIMARY KEY,系名称VARCHAR(50)NOT NULL,系的简介VARCHAR(50)。

课程信息表内容及数据类型如下:课程号INT PRIMARY KEY,课程名称 VARCHAR(50)NOT NULL,任课教师号INT,学时INT ,学分INT,上课时间VARCHAR(50),上课地点 VARCHAR(50),考试时间VARCHAR(50)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据建模数据库设计——项目管理1.逻辑数据库设计1.1 项目管理1.1.1 数据需求1.顾问公司一个顾问公司有很多需要管理的项目。

2.项目每个项目的详细信息包括项目编号、项目名称、计划开始日期、计划截止日期、实际开始日期、实际截止日期、工程计划费用、工程实际费用、客户编号、经理员工号。

每个项目有一个用户和一个经理。

在整个项目中,项目编号是唯一的。

3.客户客户信息包括客户编号、客户姓名、客户地址(由城市、街道、州和邮政编码组成)、客户电话号、客户传真号、客户网址、联系人姓名、联系人电话、联系人传真号。

其中客户编号唯一。

4.工作包工作包信息包括工作包编号、计划开始日期、计划截止日期、实际开始日期、实际截止日期、工程计划费用、项目实际费用、项目号。

其中,工作包编号是唯一的。

5.员工员工中每个成员的详细信息包括员工号、角色开始日期、姓名、地址(街区、城市、州、邮编)、工作电话号码、家庭电话号码、传真号、职位、性别、薪水、入职日期、角色号。

在整个项目中,员工号是唯一的。

员工包括经理、普通员工。

6.角色角色由角色编号、角色描述、单价。

其中,角色编号唯一。

7.文档文档编号、文档题目、文档日期、版本号、工作包号、撰写员工号。

其中文档编号唯一。

8.文档作者撰写文档的员工包括文档号和员工号。

其中文档号和员工号唯一。

9.费用费用包含信息为费用编号、支出日期、费用描述、花费金额、工作包号、员工号、费用类型号。

其中费用编号为主键。

10. 费用类型费用类型包含信息为费用类型号、费用类型描述。

其中,费用类型号是唯一的。

11. 时间时间信息包含信息为工作包号、员工号、开始工作时间、结束工作时间、工作时间。

其中工作包号和员工号唯一。

12. 经理是员工种类的一种,管理项目,下属很多员工。

包含信息为员工号、姓名、地址(街区、城市、州、邮编)、工作电话号码、家庭电话号码、传真号、职位、性别、薪水、入职日期。

在整个业务中,员工号是唯一的。

1.1.2 事务需求1.数据库应该支持下述事务(a) 创建和维护记录各项目的详细信息和每个员工的记录。

(b) 创建和维护记录客户的详细信息和记录。

(c) 创建和维护员工的详细信息。

(d) 创建和维护记录文档的详细信息和详细记录。

(e) 创建和维护记录角色的信息。

(f) 创建和维护记录工作包的详细信息。

(g) 创建和维护记录费用类型的信息。

(h) 创建和维护记录文档作者的详细信息和详细记录。

2.数据应该能够支持下述查询事务(a) 以表单形式列出项目名字、经理名字、客户号、客户电话,按项目编码排序。

(b) 以表单形式列出员工的姓名、号码、角色、工作时间,以及他们的项目的详细信息。

(c) 以报表形式列出项目的费用以及费用类型。

(d) 以报表形式列出项目的文档以及文档作者。

1.2使用逻辑数据库设计方法1.2.1 步骤1.1: 标识实体逻辑数据库设计的第一个步骤是标识在数据库中必须表述的主实体。

有上面的描述,可以标识如下实体:Project(项目)Document(文档)Client(客户)DocumentAuther(文档作者)WorkPackage(工作包)Expense(费用)Employee(员工)1.2.2 步骤1.2:标识关系标识完实体后,下一步就是标识存在于这些实体间的所有关系。

对于房屋租赁公司的实体关系,如图所示。

1.确定关系的多样性约束标识完要创建的关系后,现在应该确定每个关系的多样性约束。

Client 1..1 Place Project 1..*Project 1..11..1 HasHasEmployeeClient1..*1..*Employee 1..11..11..11..11..* LeaderHasManageApproveWorkOnEmployeeManagerProjectDocumentWorkPackage1..*1..*1..*0..*1..1Document 1..1 writtenBy DocumentAuthor 1..*WorkPackage 1..*1..1 CauseProduceExpenseDocument1..10..*DocumentAuthor 1..* Write Document 1..1 Expense 1..1 Caused WorkPackage 1..1图22.使用实体-关系(ER)建模在数据库设计阶段,将创建几个ER模型。

其中员工有自身的一对多的关系,员工和项目是多对多的管理关系,客户和项目是一对多的任命关系,员工和文档通过工作包具有多对多的关系其中工作包产生文档,工作包和费用是一对一的产生关系,文档作者和文档是一对多的编写的关系。

故有如下ER图。

图31.2.3 步骤1.3:标识实体或关系的有关属性下一个步骤是标识与已经标识的实体或关系有关的属性。

对于项目管理而言,应该标识如图所示的与实体有关的属性。

1.2.4 步骤1.4:确定属性域现在要为上一步在数据字典中所标识的属性添加必要的属性域。

1.合法的电话号码的属性域是一个10位的数字串。

1.2.5 步骤1.5:确定候选键、主键和备用键属性这个步骤主要是为实体标识候选键,然后选择其中之一作为主键。

在标识主键的过程中,要特别注意实体是强实体还是弱实体。

其中的分公司client离开了project将不存在,故client依赖于project为弱实体;Employee离开了project还是存在的实体,故Employee不依赖于project为强实体;DocumentAuther为强实体。

但是Expense、Document都是依赖于Project而存在的,故二者均为弱实体。

在标识候选键时,应该注意到各个实体的主键及环境的考虑。

如图所示。

1.2.6 步骤1.6:特化和泛化实体在Employee中包含Manager,故可泛化出1个实体。

1.2.7 步骤1.7:检查模型的数据冗余现在得到了一个项目管理的逻辑数据模型。

但是这个数据模型包含一些应该被删除的冗余。

特别需要注意的是:1.重新检查一对一关系。

2.删除冗余关系。

1.2.8 步骤1.8:检查模型是否支持用户事务在这个步骤中,检查已经创建的局部逻辑数据模型是否支持用户所需的事务。

检查包括:1.数据模型中是否存在必要的属性。

2.如果属性要从多个实体中得到,则两个实体间是否有通路;换而言之,在两个实体间要有已经标识了的关系。

1.2.9 步骤2.1:创建表在这个步骤中,从逻辑数据模型创建表达用户视图中所描述的实体和关系的表,这时,要为关系数据库使用数据库设计语言(DDL)。

将从逻辑数据模型创建表的全部结构都存档。

create table Project(projectNo char(10)primary key,projectName char(15)not NULL,plannedStartDate datetime not null,plannedEndDate datetime not null,actualStartDate datetime not null,actualEndDate datetime not null,projectedCost char(10)not NULL;actualCost char(10)not NULL;clientNo char(10)not NULL;managerEmployeeNo char(10)not NULL;)create table Employee(emNo char(10)not NULL primary key,emName char(10)not NULL,emStreet char(10)not NULL,emCity char(10)not NULL,emState char(10)not NULL,emZipCode char(10)not NULL,emTel char(10)not NULL,emPosition char(10)not NULL,emsex char(10)not NULL,emSalary char(10)not NULL,RoleNo char(10)not NULL,foreign key RoleNo references Role (RoleNo));create table Client(clientNo char(10)not NULL primary key,clientName char(10)not NULL,clientStreet char(10)not NULL,clientCity char(10)not NULL,clientState char(10)not NULL,clientZipCode char(10)not NULL,clientTel char(10)not NULL,clientFaxNo char(10)not NULL;clientWebAdd char(10)not NULL,contractName char(10)not NULL,contractTel char(10)not NULL,contractFaxNo char(10)not NULL;contractEmailAdd char(10)not NULL,);create table Role(RoleNo char(10)not NULL primary key,RoleDescription char(50)not NULL;billingRate char(10)not NULL;);create table WorkPackage(wNo char(10)not NULL,plannedStartDate datetime not null,plannedEndDate datetime not null,actualStartDate datetime not null,actualEndDate datetime not null,projectedCost char(10)not NULL;actualCost char(10)not NULL;ProjectNo char(10)not NULL;);create table Document(documentNo char(10)primary key,documentTitle char(15)not NULL,documentDate datetime not null,versionNo char(15)not null,workPackageNo char(15)not null,appByEmNo char(15)not null ,foreign key workPackageNo references workPackage (workPackageNo), foreign key appByEmNo references Employee (employeeNo),);create table DocumentAuther(documentNo char(10),emNo char(10)not NULL,foreign key documentNo references document (documentNo),foreign key emNo references Employee(emNo));create table Expense(expenseNo char(10)primary key,expenseDate datetime not null,expenseDescription char(50)not NULLexpenseAmount char(10)not null,workPackageNo char(10)not null,emNo char(10)not null,expenseTypeNo char(10)not null,foreign key workPackageNo references workPackage (workPackageNo), foreign key emNo references Employee(emNo)foreign key expenseTypeNo references expenseType (expenseTypeNo) );create table expenseType(expenseType No char(10)not NULL primary key,expenseType Description char(50)not NULL;);create table TimeBooked(wNo char(10)not NULL,emNo char(10)not NULL,dateStartWork datetime not null,dateEndWork datetime not null,timeWorked datetime not null,foreign key workPackageNo references workPackage (workPackageNo), foreign key emNo references Employee(emNo));1.3.0 步骤2.2:用规范化方法检查表结构在这个步骤中,要确保上一步所建的表至少要满足第三范式(3NF)。

相关文档
最新文档