数据库结构设计
数据库表结构设计3篇

数据库表结构设计第一篇:数据库表结构设计的基本原则在进行数据库表结构设计时,我们需要遵循一些基本的原则,以确保数据的存储、查询和维护都能够高效地进行。
1. 数据表的命名应该具有描述性数据表的命名应该具有描述性,能够清晰地表达其所存储的数据内容。
一般来说,我们可以采用名词或者名词短语进行命名。
2. 字段的命名应该具有描述性同样,字段的命名也应该具有描述性,能够清晰地表达其所存储的数据内容。
一般来说,我们可以采用名词或者名词短语进行命名。
3. 数据库表要符合规范化要求规范化是指将数据按照特定的规则进行分解和组织,以达到减少冗余、消除数据插入、删除和更新异常等目的。
在进行数据库表结构设计时,我们应该尽可能地符合规范化要求。
4. 尽量避免使用具有歧义的列名称在字段的命名中,我们应该尽量避免使用容易产生歧义的列名称,例如“state”,这个单词既可以表示州,也可以表示状态。
5. 尽量避免使用大量的空间占用数据类型选择合适的数据类型可以有效地优化数据库的性能。
在进行数据库表结构设计时,应该尽量避免使用大量的空间占用数据类型,例如“text”类型。
6. 尽量避免冗余数据冗余数据指的是相同的数据在不同的表中多次出现。
在进行数据库表结构设计时,应该尽量避免冗余数据,尽量采用关联表的方式进行数据存储。
7. 考虑表的扩展性在进行数据库表结构设计时,应该考虑表的扩展性。
我们可以在表中添加扩展字段,或者将不同的数据类型存储在不同的表中,以支持表的扩展。
以上就是数据库表结构设计的基本原则。
在进行数据库表结构设计时,我们应该尽量遵循这些原则,以为我们的数据库系统奠定坚实的基础。
数据库表结构设计

数据库表结构设计数据库表结构设计是数据库设计的重要环节之一。
一个好的数据库表结构设计可以提高数据存储和查询效率,保证数据的准确性和一致性,同时也方便扩展和维护数据库系统。
在进行数据库表结构设计之前,需要明确数据库系统的需求和目标。
对于不同的应用场景和业务需求,数据库表结构设计可能会有所不同。
下面将以一个电商网站为例,介绍如何进行数据库表结构设计。
一、需求分析在电商网站中,我们需要存储商品、用户、订单等相关信息。
首先,我们需要明确需要存储哪些信息,这些信息之间是否存在关联关系。
例如,商品和订单之间存在关联关系,订单和用户之间也存在关联关系。
其次,我们需要确定每个信息对象的属性,即每个表中的字段。
二、实体-关系图设计根据需求分析的结果,我们可以根据实体-关系模型进行数据库表结构设计。
在这个电商网站中,我们可以根据实体-关系图设计出商品表、用户表和订单表三个基本表。
1. 商品表商品表用于存储商品的相关信息,可以包括商品ID、名称、描述、价格、库存等字段。
其中,商品ID作为主键,可以用于唯一标识每个商品。
另外,可以根据实际需求添加其他字段,如商品分类、销量等。
2. 用户表用户表用于存储用户的相关信息,可以包括用户ID、用户名、密码、手机号、邮箱等字段。
其中,用户ID作为主键,可以用于唯一标识每个用户。
另外,可以根据实际需求添加其他字段,如用户等级、积分等。
3. 订单表订单表用于存储订单的相关信息,可以包括订单ID、用户ID、商品ID、数量、金额、下单时间等字段。
其中,订单ID作为主键,可以用于唯一标识每个订单。
用户ID和商品ID可以作为外键,用于关联用户表和商品表。
另外,可以根据实际需求添加其他字段,如订单状态、收货地址等。
三、表关系设计在实体-关系图设计的基础上,我们需要确定表之间的关系。
在这个电商网站中,商品和订单之间存在一对多的关系,即一个订单可以包含多个商品;订单和用户之间也存在一对多的关系,即一个用户可以有多个订单。
数据库的概念结构设计

数据库的概念结构设计数据库的概念结构设计是指在设计数据库之前,需要进行的一个抽象模型化的过程,它描述了数据库中各种对象和它们之间关系的逻辑结构。
数据库的概念结构设计是数据库设计的一个重要环节,它的目的是确定数据库的基本结构和用于描述和组织数据的各种概念、规则、关系和约束。
1.实体和实体类型:实体是现实世界中具有独立存在和区分性质的事物,实体类型是指一类具有相同性质的实体的集合。
在概念结构设计中,需要确定数据库中包含哪些实体类型,以及每个实体类型包含哪些属性。
2.属性和属性域:属性是指实体具有的其中一种特性或性质,属性可以是简单的或复杂的。
属性域是属性可能取值的范围或类型,例如整数、字符串等。
在概念结构设计中,需要确定每个实体类型包含哪些属性,并为每个属性定义属性域。
5.约束和规则:约束是指对数据库中数据有效性的限制,可以是简单的或复杂的逻辑条件。
规则是指对数据库中数据操作的限制和规范,例如插入、删除、更新等操作的规则。
在概念结构设计中,需要确定数据库中存在哪些约束和规则。
6.数据流和过程:数据流是指数据库中数据的流动过程,过程是指对数据库中数据进行操作的方法,例如查询、修改等过程。
在概念结构设计中,需要确定数据库中的数据流和过程,以及它们之间的关系和约束。
数据库的概念结构设计是数据库设计的基础,它为后续的物理结构设计、逻辑结构设计和实施提供了指导。
一个好的概念结构设计可以使数据库的性能和效率得到最大的提升,同时也可以保证数据库中数据的一致性和完整性。
因此,在进行数据库设计时,需要认真进行概念结构设计的工作,合理地组织和描述数据的逻辑结构,为后续的数据库设计和实施奠定良好的基础。
数据库表结构设计例子

数据库表结构设计例子数据库表结构设计是构建数据库的基础工作之一,它决定了数据库中数据的组织方式和存储结构。
一个好的数据库表结构设计可以提高数据库的性能、可扩展性和数据的完整性。
下面以一个电商平台的数据库为例,列举10个数据库表结构设计的例子。
1. 用户表(User)- 字段:用户ID、用户名、密码、手机号、邮箱、注册时间等。
- 主键:用户ID。
- 约束:用户名、手机号、邮箱的唯一性约束。
2. 商品表(Product)- 字段:商品ID、商品名称、商品描述、价格、库存、创建时间等。
- 主键:商品ID。
3. 订单表(Order)- 字段:订单ID、用户ID、商品ID、数量、总金额、下单时间等。
- 主键:订单ID。
- 外键:用户ID、商品ID分别关联用户表和商品表。
4. 地址表(Address)- 字段:地址ID、用户ID、收货人姓名、手机号、省份、城市、区县、详细地址等。
- 主键:地址ID。
- 外键:用户ID关联用户表。
5. 购物车表(Cart)- 字段:购物车ID、用户ID、商品ID、数量、创建时间等。
- 主键:购物车ID。
- 外键:用户ID、商品ID分别关联用户表和商品表。
6. 支付表(Payment)- 字段:支付ID、订单ID、支付方式、支付金额、支付时间等。
- 主键:支付ID。
- 外键:订单ID关联订单表。
7. 评价表(Review)- 字段:评价ID、用户ID、商品ID、评分、评论内容、评价时间等。
- 主键:评价ID。
- 外键:用户ID、商品ID分别关联用户表和商品表。
8. 物流表(Logistics)- 字段:物流ID、订单ID、物流公司、物流单号、发货时间、收货时间等。
- 主键:物流ID。
- 外键:订单ID关联订单表。
9. 类别表(Category)- 字段:类别ID、类别名称、父类别ID、创建时间等。
- 主键:类别ID。
- 外键:父类别ID关联类别表自身。
10. 优惠券表(Coupon)- 字段:优惠券ID、优惠券名称、优惠金额、适用商品、有效期等。
数据库结构设计方案

数据库结构设计方案摘要:数据库结构设计是建立和规划数据库的过程,它关乎到整个系统的运行效率和数据安全性。
本文介绍了数据库结构设计的基本原则和步骤,并给出了一个实际的案例,展示了如何设计一个高效、安全的数据库结构。
一、引言数据库是现代信息系统中的核心组成部分,它承载了系统中的重要数据和业务逻辑。
良好的数据库结构设计可以提高系统的性能和可维护性,并保证数据的一致性和完整性。
二、数据库结构设计的基本原则在进行数据库结构设计时,应遵循以下原则:1. 数据冗余最小化:通过合理的表结构设计,避免数据的重复存储,以节省存储空间,并减少数据更新时的复杂性。
2. 数据一致性保证:通过定义适当的关系和约束,确保数据在数据库中的一致性和完整性,避免数据冲突和错误。
3. 性能优化:通过合理的表关联设计、索引优化等手段,提高数据库的查询效率和响应速度。
4. 扩展性和可维护性:在设计数据库结构时考虑系统未来的扩展需求,并使用标准化的命名规范和注释,以提高代码的可读性和可维护性。
三、数据库结构设计的步骤数据库结构设计可以分为以下几个步骤:1. 需求分析:通过与系统用户的沟通,理解系统的功能需求和数据需求,确定数据库中的实体、属性和关系。
2. 概念设计:在需求分析的基础上,使用ER图或UML图等工具,绘制出系统的概念模型,明确实体、属性和关系之间的逻辑结构。
3. 逻辑设计:在概念设计的基础上,将概念模型转化为数据库中的表结构设计,确定每个实体对应的表以及表之间的关系。
4. 物理设计:在逻辑设计的基础上,考虑实际数据库管理系统的特点和限制,进行表空间规划、索引设计、性能优化等工作。
5. 实施和测试:根据设计结果,创建数据库,并进行测试和验证,确保数据库结构满足系统需求,且能够正常运行。
四、案例分析假设我们需要设计一个图书管理系统的数据库结构,包含以下几个实体:图书、作者、图书馆、借阅记录。
根据需求分析,我们可以得到以下设计方案:1. 图书表(Book):包含图书的基本信息,如书名、ISBN号、出版日期等。
数据库物理结构设计实例

数据库物理结构设计实例物理数据库设计是指数据库在硬件层面上的组织架构设计,包括数据库文件的存放位置、文件组织形式、索引方式等。
下面是一个数据库物理结构设计实例,主要包括以下几个方面:1.存储设备选择数据存储设备主要包括硬盘、固态硬盘(SSD)和磁带等。
在进行数据库物理结构设计时,需要根据数据库的容量和性能需求选择合适的存储设备。
例如,对于容量大、读写频繁的数据库来说,可以选择使用SSD来提高读写性能。
2.数据库文件组织方式数据库文件的组织方式一般包括平坦文件组织和分层文件组织。
平坦文件组织是指将所有的数据文件保存在一个文件中,适用于小型数据库;而分层文件组织则将数据文件划分为多个层次,便于管理和维护。
在进行物理结构设计时,需要根据数据库的规模和性能需求选择合适的文件组织方式。
3.数据库文件的存放位置数据库文件的存放位置对于数据库的读写性能有很大的影响。
一般来说,可以将数据文件和日志文件存放在不同的物理硬盘上,以提高读写效率。
同时,还可以将频繁访问的数据文件存放在更快的存储设备上,以提高查询性能。
4.数据库索引的选择和优化索引是提高数据库查询性能的重要手段。
在进行物理结构设计时,需要选择适当的索引方式,并对索引进行适当地优化。
例如,可以选择使用B树索引或哈希索引来提高查询性能,同时还可以通过分区索引等技术来提高查询效率。
5.数据库的备份和恢复策略数据库的备份和恢复是保障数据安全的重要手段。
在进行物理结构设计时,需要考虑数据库备份和恢复的策略,包括全量备份、增量备份、日志备份等。
同时,还需要定期测试并验证备份和恢复策略的可行性,以确保数据能够在灾难情况下得到及时恢复。
综上所述,数据库物理结构设计是非常重要的一项工作,它可以直接影响数据库的性能和稳定性。
在进行物理结构设计时,需要综合考虑数据库的容量、性能需求、存储设备选择、文件组织方式、索引优化、备份恢复策略等因素,以实现最佳的数据库物理结构设计方案。
如何设计良好的数据库表结构

如何设计良好的数据库表结构一、引言数据库表结构的设计是一个非常重要的环节,它直接影响到系统的性能、可维护性和扩展性。
良好的表结构能够提高数据库的效率,减少数据冗余和读写冲突,提升系统的响应速度和稳定性。
本文将探讨如何设计良好的数据库表结构,以提供给读者一些实用的思路和方法。
二、合理划分表1. 按照实体关系进行划分在进行数据库表的划分时,应根据实体之间的关系进行判断。
一般来说,具有一对一关系的实体可以放在同一个表中,具有一对多关系的实体可以分散到不同的表中。
例如,一个学生可以对应一个班级,而一个班级可以对应多个学生,就可以将学生和班级分别放在不同的表中。
2. 避免过度划分虽然划分表能够提高查询效率,但是过度划分会导致表的数量过多,增加数据库的维护难度。
因此,在设计表结构时应尽量避免过度划分,要根据实际需要进行合理的划分。
三、选择合适的数据类型1. 避免使用过大的数据类型在设计数据库表结构时,应尽量避免使用过大的数据类型,因为这会增加数据库的存储空间和查询开销。
例如,一个只保存年龄的字段,可以使用小整数类型(如TINYINT),而不是使用整数类型(INT)或者大整数类型(BIGINT)。
2. 合理选择日期时间类型在存储日期和时间时,应选择合适的数据类型。
例如,如果只需要存储日期信息,可以使用DATE类型;如果需要存储日期和时间,可以使用DATETIME或者TIMESTAMP类型。
需要注意的是,DATETIME和TIMESTAMP类型的存储范围有差异,根据实际情况选择使用。
四、添加合适的索引1. 根据查询条件添加索引在数据库表结构设计时,应根据实际的查询条件来添加索引。
索引可以提高查询的效率,但是过多的索引会影响写入性能。
因此,需要根据实际情况权衡添加索引的数量和位置。
2. 考虑多字段索引在表的设计中,有些查询需要多个字段的组合条件才能满足。
为了提高这类查询的效率,可以考虑添加多字段索引。
多字段索引可以按照索引的顺序进行查询,可以减少数据库的全表扫描次数,提高查询性能。
如何设计一个数据库架构

如何设计一个数据库架构数据库架构是指在数据库系统中,将数据存储和管理的组织结构和设计原则。
它对于数据的管理和存取非常重要,能够决定系统的性能、可靠性和扩展性。
下面将详细介绍如何设计一个数据库架构,并分点列出关键内容。
1. 数据库类型选择- 关系型数据库:如MySQL、Oracle等,适用于结构化数据的存储和管理,具有较强的数据一致性和事务支持。
- 非关系型数据库:如MongoDB、Redis等,适用于海量非结构化数据的存储和高速读取,具有较高的扩展性和灵活性。
2. 数据库模式设计- 实体-关系模型:通过实体和实体之间的关系来描述数据的组织结构,包括实体的属性以及实体之间的联系。
- 根据具体业务需求,确定各个实体和属性的定义,并定义它们之间的关系。
3. 数据库表设计- 根据实体-关系模型,设计数据库表结构,包括表名、字段名、字段类型、约束、索引等。
- 优化表结构,避免冗余字段和表,合理利用关联表,提高数据的存取效率。
4. 数据库索引设计- 创建适当的索引可以提高数据库的查询性能,减少查询所需的时间。
- 根据具体业务场景和查询需求,选择合适的字段作为索引列。
- 注意索引的大小和性能之间的权衡,避免过多索引导致更新性能下降。
5. 数据库范式设计- 根据数据库表的功能依赖关系,将表设计为满足某些条件的标准形式。
- 通过分解大表、消除数据冗余等方式,使得数据更加规范、易于管理和维护。
6. 数据库分区设计- 对于大型数据库,可以将数据按照一定的规则分布到多个物理存储设备上。
- 通过分区可以提高数据库的负载均衡和查询性能,减少单个设备的压力。
7. 数据库备份和恢复策略- 设计合理的备份和恢复策略,确保数据的安全性和可靠性。
- 定期进行数据库备份,并进行数据完整性检查和恢复测试。
8. 数据库性能监控和优化- 针对数据库系统进行性能监控,收集关键指标,如查询时间、CPU和内存使用等。
- 根据监控结果,进行性能优化,如调整索引、优化查询语句等,提升数据库性能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、数据库结构设计步骤二、需求分析三、概念结构设计四、逻辑结构设计五、数据库物理设计数据库结构设计一、数据库结构设计步骤一般可将数据库结构设计分为四个阶段,即需求分析、概念结构设计、逻辑结构设计和物理设计。
下面各节分别介绍各阶段设计内容和具体方法。
二、需求分析需求分析的任务是具体了解应用环境,了解与分析用户对数据和数据处理的需求,对应用系统的性能的要求,提出新系统的目标,为第二阶段、第三阶段的设计奠定基础。
一般需求分析的操作步骤如下所述。
1.了解组织、人员的构成子系统的划分常常以现有组织系统为基础,再进行整合,而新系统首先必须达到的目的是尽可能地完成当前系统中有关信息方面的工作,在原有系统中,信息处理总是由具体人来实施的。
我们要了解组织结构情况、相互之间信息沟通关系、数据(包括各种报告、报表、凭证、单据)往来联系情况。
具体弄清各个数据的名称,产生的时间与传递所需时间与周期,数据量的大小,所涉及(传送)的范围,使用数据的权限要求,数据处理过程中容易发生的问题及其影响,各个部门所希望获得的数据的情况等。
然后了解每个人对每一具体数据处理的过程,基本数据元素来源于哪些地方、获取的途径、处理的要求、数据的用途,进而弄清数据的构成、数据元素的类型、性质、算法、取值范围、相互关系。
在上述调查基础上,首先画出组织机构及工作职能图。
我们以一个学校的基层单位——某大学一个系的管理为例来简要说明。
系的组织机构及工作职能如图7.1所示。
图7.1 系管理体系结构图作为管理层经常需要的信息和工作有:.查询老师个人基本情况及打印相应内容.查询与统计科研项目情况及相关报表.查询与统计论文著作情况及相关报表.上级部门及其他部门来文管理与查询(要求能全文检索).系部发文管理.任务下达、检查及管理.信件、通知的收发及管理.日程安排调度及管理.设备仪器计划及管理.设备入库与库存情况管理与查询.设备借还领用管理及相应报表.耗材计划与领发管理及相应统计报表.图书管理及借还情况查询.学生毕业设计文档管理.专业与班组编制与查询.教学文档管理及查询(安排与检查,包括课表、考试日程安排、监考安排等).学生成绩管理与查询和统计.教师、学生、实验室课表管理及查询.学生基本情况管理与查询(包括社会活动、奖惩、家庭情况及学校校友管理).实验安排与管理.实验成绩管理及查询与统计.奖金计算与发放.收支情况管理及统计与查询我们仅以设备仪器管理为例说明。
现有设备表格有七种,名字及数据栏目如下:①入库单(代码,院内编号,名称,型号,规格,单价,数量,金额,生产厂,购入单位,采购员,管理员,入库日期,经费来源,批准人,计划号)②领用单(代码,院内编号,名称,型号,规格,单价,数量,领用人,批准人,领用单位,管理员,领用日期)③报废单(代码,院内编号,名称,型号,规格,单价,数量,报废原因,批准人,管理员,报废日期)④借条(代码,院内编号,名称,型号,规格,单价,数量,借用日期,拟还时间,借用人,批准人,管理员,设备状况)⑤请购计划(名称,型号,规格,估计单价,请购数量,计划员,计划时间,批准人,批准时间,设备用途,计划号)⑥设备明细账(代码,院内编号,名称,型号,规格,单价,生产厂,购入单位,采购员,入库时间,设备类别,当前状况)⑦设备统计表(名称,型号,规格,单价,数据,金额,备注)其中入库单由采购员填写,经批准交管理员输入办理入库手续,管理员签收并形成入库凭证下转财务。
领用单由领用人填写,经批准交管理员办理领用手续,当报废时或归还时应办报废手续或归还手续。
借条由借用人填写,经批准交管理员办理借用手续,当归还时应归还借条并办归还手续。
设备明细账、设备统计表均由设备管理员填写。
报废单要经批准报上级主管部门。
其他账表要供上级主管部门及系部检查、查询。
请购计划由计划员填写经批准交采购员实施,要能供查证。
各表格、各栏目数据之名称、数据类型等特性应专门说明并记载入数据字典中。
2.数据字典数据字典(Data Dictionary DD)用于记载系统定义的或中间生成的各种数据、数据元素,以及常量、变量、数组及其他数据单位,说明它们的名字、性质、意义及各类约束条件,是系统开发与维护中不可缺少的重要文件。
数据与数据元素分别用数据表、数据元素表记载。
数据表、数据元素表的格式如下表7.1和表7.2所示。
表7.1 数据表格式其中,数据号是设计人员给定的顺序编号,用于分类清查与整理,并且与数据元素代码相关联。
数据名是原有表格或凭证的名称,如成绩单、人事卡片、档案……。
其他各项的意义说明如下:主人:生成该数据的单位与个人代表。
数据有一个主要生成者,有多个使用者,使用者即用户是使用生成的数据或其拷贝的单位或个人(包括仅使用该表部分数据元素的单位和个人)生成时间:计算、打印或显示本数据的时间,有些数据只生成一次,例如一些突如其来的查询或统计操作的结果;有些每年生成一次,例如年报;还有依半年、季、月、半月、旬、周、日、时生成的,此处记载每次生成的大体时间。
例如年报记每年何月(何日)生成,月报记每月何日生成等。
数据量:一条记录最大长度(不考虑备注与通用字段实际长度)。
数据用途记该数据在系统中的作用或使用意义,例如设备统计表,是当前所存物资的统计生成表,提供决策依据等。
保存时间:有些数据是系统的基本数据,长期保存,如人事卡片、设备帐本。
有些数据生成后只需再保存一段时间,以供其他应用,例如工资表及其相关数据,每月发放工资后还要继续保存3至5年,用于工资构成和成本分析,工资表相关的考勤、行政扣资、公积金等许多数据往往要保持一年,供年度统计使用等。
也有些统计查询的结果则无须保存。
数据源:本表某些数据元素是来自另一个表或文件,应在此处及数据元素表中同时标明,以便将来某些数据结构修改时分析其附带影响,保证数据一致性和完整性。
关联数据:本表中有些数据将被用作另一些数据的源,需要列出这“另一些”数据的名字,以便将来对本表结构修改时考虑对其他数据的影响。
别名:该数据表的其他取名。
表7.2 数据元素表格式其中,数据号是本数据元素所属数据的代号,要与数据表中编号对应。
数据元素号是在该数据中的各数据元素的顺序编号。
物理名称是实际数据中使用的名称。
逻辑名称是指将来在系统数据结构中采用的名称。
来源或算法指数据元素有些直接从另一些数据中提取,有些按一定方法或公式求取,在此应予注明来源或计算方法。
完整性指是否为关键字,是否允许重复值,是否允许空值,取值范围限制等。
安全性指对该数据元素查询、显示、使用及录入、修改、删除等操作权限是否有要求及什么样的要求。
用户数据名指本数据元素可能用到哪些表的名称。
数据字典还将包含今后开发中涉及到的其他数据,例如在程序中使用的常量、变量、数组、集合、函数……要在开发过程中不断补充。
即使是上述数据、数据元素,许多最终将被认定为数据库中的字段或系统中其他数据,要再作说明,也有些将不再出现。
有些元素的性质、意义会有所改变,都将在开发过程中不断修改和补充。
在需求分析最后阶段,要进一步描述数据处理的流程,并写出需求分析说明书。
3.需求分析说明书需求分析说明书是对需求分析过程的记载与总结,也是将来开发的依据和标准,将作为开发方和最终用户间交接的依据,是一个纲领性的文件。
要使用尽可能精炼、通俗易懂、准确无二义性的语言表达对系统功能、性能的要求。
需求分析说明书一般包括下述内容:.数据库系统应用范围与环境条件.工作流程图.数据流程图.数据字典(包括数据表与数据元素表).IPO图与加工说明.数据库性能要求.对操作界面的要求.各类约束条件.开发目标与方法.组织机构.系统当前状况分析.数据库系统功能设计目标.对系统结构的初步规划.日程进度.验收标准其中关于当前系统状况分析应提交前述数据字典及全部原始材料,并进一步分析当前系统的工作、数据处理情况、存在问题并提出解诀方案。
关于系统当前工作,数据处理情况的分析是新系统功能、性能设计的依据。
我们常常首先以工作流程图描述当前各部门、各主要业务人员的工作过程。
一个工作流程图实例如图7.2所示。
根据有关部门、工作人员对自己工作的描述,可画出工作流程图形象地表示组织与个人工作情况,主要是涉及数据和信息工作的情况。
其主要图例中用矩形表示部门或组织,用圆圈表示工作人员,用双横线表示文件、数据库,用箭头线表示数据及其流向。
在箭头线上标注数据名称。
例如入库工作我们可用图7.2表示。
图7.2 入库工作流程图从工作流程图,我们看不清数据处理情况,可再进一步抽象,工作流程图中可以由计算机处理的部分抽象出来,画成数据流程图,得到系统的逻辑模型。
数据流程图图例中以圆圈表示数据源、数据结果或外部实体,矩形表示数据处理,箭头线表示数据,线上标注数据名称,双横线表示文件或数据库。
入库过程数据流程图如图7.3所示。
图7.3 入库过程数据流程图这个图对于处理逻辑仍表现不充分,我们可用输入一处理一输出图(IPO图)进一步表示清楚。
IPO图由三个矩形框组成,它们分别描述输入(I)、处理(P)和输出(O),用箭头线表示数据的传入传出,线旁标注处理条件或备注内容。
上述入库过程用IPO图的描述如图7.4所示。
图7.4 用IPO图描述系统处理过程如果处理过程比较复杂,图示仍不清楚,我们可附加加工说明,用文字详细说明每上步的处理过程和处理逻辑。
例如,关于“检查计划”的说明:如果采购单上无领导签字输入采购单上计划号打开计划库查找上述计划号如果查到读出计划数查同一计划号物品已入库数量如果小于等于计划数-采购数办理入库否则说明计划额度已使用,退出结束否则说明无此计划,不能入库结束结束加工说明是用文字语言表述处理逻辑,尽量接近程序语言,又要通俗易懂,使得一方面能和业务人员展开讨论,进一步了解清楚业务人员的要求,另一方面又能较容易地转为实际程序。
在需求分析说明书中,还应具体写明有关处理安全性、时间性、可靠性、适应性等方面的要求,整理形成文档,经批准之后生效。
三、概念结构设计概念结构设计是在需求分析的基础上对所有数据要求按一定方法进行抽象与综合处理,设计出不依赖于某种具体DBMS的满足用户应用需求的信息结构。
这种信息结构我们称为概念模型。
最常用的概念结构设计方法有实体分析法、面向对象设计方法、属性综合法和规范化关系方法。
我们此处主要讨论实体分析法。
这是一种自上而下抽象的方法。
这种方法要求根据前面数据的需求分析,确定系统范围,确定实体及其属性,画出系统的实体联系模型(E-R图)第一步划分系统范围。
一般数据库应用系统的管理对象不外乎人、财、物、事几个方面。
与“人”有关的对象包括组织机构、职工或其他人员(以下以职工为代表)的基本情况、职工或其他人员各类活动。
其中组织机构例如单位、部门、机构,它们的主要属性是地址、联系人、单位性质、单位概况……是职工的所属和依附或交往的实体。