《数据库设计规范》(参考Word)
数据库设计规范

数据库设计规范数据库设计是软件开发过程中至关重要的一步。
一个良好设计的数据库可以提高系统性能,降低错误发生的概率,并提高数据的可靠性和一致性。
以下是一些数据库设计的规范和最佳实践,以帮助您开发出高效可靠的数据库系统。
引言数据库是组织、存储和管理数据的关键工具。
在设计数据库时,开发人员需要考虑到多个方面,以确保数据库能够满足用户需求,并且能够有效地存储和检索数据。
数据库设计规范涉及到数据模型选择、表结构设计、关联关系定义、索引创建等方面。
数据模型选择选择合适的数据模型是数据库设计的基础。
数据模型用于描述数据之间的关系,常见的数据模型有层次模型、网状模型和关系模型。
在大多数情况下,关系模型是最常用的,因为它简单、易于理解和管理。
关系模型使用表来表示实体和关系,具有良好的结构化特性,适用于大多数应用场景。
表结构设计在数据库设计中,表是最基本的数据存储单元。
良好的表结构设计可以提高数据的存储效率和查询性能。
以下是一些表结构设计的最佳实践:1. 表名和字段名的命名规范表名和字段名应该具有可读性和描述性,能够准确地反映其所代表的含义。
避免使用过于简单或含糊不清的名称,使用下划线或驼峰命名法来提高可读性。
2. 合理定义字段类型和长度根据数据的实际需求,合理选择字段的数据类型和长度。
避免过度分配存储空间,以节省存储空间并提高查询性能。
3. 主键和唯一约束每个表应该有一个主键,用于唯一标识每一条记录。
主键应该是一个稳定的、不易变的字段。
另外,对于需要保证唯一性的字段,应该添加唯一约束,以避免重复数据的出现。
4. 外键关联在建立表之间的关联关系时,应该使用外键来确保数据的完整性和一致性。
外键关联可以用于建立表之间的一对一、一对多或多对多关系。
数据库范式数据库范式是一个指导原则集合,用于确保数据库的数据一致性和可靠性。
范式的级别从第一范式到第五范式,每个级别都有其特定的规范和要求。
第一范式(1NF)第一范式要求数据库中的每个字段都是原子的,不能再细分为更小的单位。
数据库建设规范

数据库建设规范目录1. 前言 (2)2. 范围 (2)3. 术语和定义 (2)3.1范式 (2)3.2关联 (3)3.3关系模型 (3)3.4视图 (3)3.5外键 (3)3.6约束 (3)3.7主键 (3)4. 命名规范 (4)4.1规范约定 (4)4.2表名 (4)4.3视图 (4)4.4存储过程 (4)4.5函数 (4)4.6触发器 (4)4.7字段 (5)4.8索引 (5)5. 数据库建设过程规范 (5)5.1概述 (5)5.2需求分析阶段 (6)5.2.1需求调查 (6)5.2.2内容分析 (6)5.3概念结构设计阶段 (7)5.2.1定义实体 (7)5.3.3定义关系 (7)5.3.4定义属性 (7)5.3.5定义键 (8)5.3.6定义索引 (8)5.3.7定义其他对象和规则 (9)5.4逻辑结构设计阶段 (9)5.5数据库物理设计阶段 (10)5.6实施、运行、维护规范 (10)6. 数据库建设安全性规范 (11)6.1概述 (11)6.2完整性设计 (11)6.3物理安全 (13)6.4访问控制 (13)6.5数据备份 (14)1. 前言数据库技术是信息资源管理最有效的手段。
数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。
本规范通过数据建库的命名、结构、建库过程及安全性措施等几个技术方面进行约定,目的就是提供一套规范、合理、科学的建库技术体系,应用系统提供建库技术参考。
2. 范围本规范主要从关系数据库的命名、关系和结构以及建设过程等几个方面来规定数据库设计应遵循的规范。
3. 术语和定义3.1范式关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同范式。
满足最低要求的叫第一范式,简称1NF。
在第一范式中满足进一步要求的为第二范式,其余以此类推。
一般而言,数据库的设计应至少满足第三范式。
3.2关联关联是不同表之间的数据彼此联系的方法。
数据库设计规范说明书

数据库设计规范说明书数据库设计规范说明书1引⾔引⾔是对这份数据库设计说明书的概览,是为了帮助阅读者了解这份⽂档是如何编写的,并且应该如何阅读、理解和解释这份⽂档。
1.1编写⽬的说明数据库设计说明书是为哪份软件产品编写的,开发这个软件产品的意义、作⽤以及要达到的意图。
通过这份数据库设计说明书详尽准确描述该软件产品的数据库结构。
如果这份数据可设计说明书只是与整个系统的某⼀部分有关系,那么只定义数据库设计说明书中说明的那个部分或⼦系统。
1.2项⽬来源具体说明本软件开发项⽬的全部风险承担者,以及各⾃在本阶段所需要承担的主要风险,⾸先风险承担者包括:任务提出者:软件开发者:产品使⽤者:1.3⽂档约定描述编写⽂档时所采⽤的各种排版约定。
排版约定应包括:命名⽅法;提⽰⽅法;通配符号;等等。
1.4预期读者和阅读建议列举本数据库设计说明书所针对的各种不同的预期读者。
例如可能包括:开发⼈员;项⽬经理;测试⼈员;⽂档编写⼈员;并且描述了⽂档中其余部分的内容及其组织结构,并且针对每⼀类读者提出最合适的⽂档阅读建议。
1.5参考资料列举编写数据库设计规格说明书中⽤到的参考⽂献及资料,可能包括:本项⽬的合同书;a.上级机关⽂件有关本项⽬的批⽂;b.本项⽬已经批准的计划任务书;c.⽤户界⾯风格指导;d.开发本项⽬时所要⽤到的标准;e.系统规定需求说明;f.使⽤实例⽂档;g.属于本项⽬的其他已发表的⽂件;h.本数据库设计说明书中所引⽤⽂件、资料;i.相关软件产品数据库设计说明书等等;为了⽅便读者查阅,所有参考资料应该按⼀定顺序排列。
如果可能,每份资料都应该给出:a.标题名称;b.作者或合同签约者;c.⽂件编号或者版本号;d.发表⽇期或者签约⽇期;e.出版单位或者资料来源。
格式如下:[标识符]作者,⽂献名称,出版单位(或归属单位),⽇期1.6术语与缩写解释列出本⽂件中⽤到的专门术语和外⽂⾸字母组词的原词组。
2数据库命名规则完整并且清楚的说明本数据库的命名规则,如果本数据库的命名规则与机构的标准不⼀致的话,请作出解释。
数据库设计原则与规范

数据库设计原则与规范数据库是现代信息系统的核心组成部分,用于存储和管理大量结构化数据,以支持组织内部各种业务和决策需求。
数据库设计的质量直接关系到系统的性能、可靠性和可扩展性。
为了确保数据库的高效运行,我们需要遵循一些设计原则和规范。
下面将介绍数据库设计的基本原则和规范。
一、规范化数据库设计原则规范化是数据库设计过程中的关键步骤,它通过将数据分解为逻辑上的表来减少数据冗余、提高数据一致性和完整性。
以下是常用的规范化原则:1. 第一范式(1NF):每个表中的每个字段都是原子的,不可再分。
不能将多个值存储在一个字段中,例如在电话号码字段中存储多个电话号码。
2. 第二范式(2NF):每个非主键字段完全依赖于主键字段。
如果一个表中有多个候选键,必须将其分解为多个表,确保每个非主键字段只与一个主键相关。
3. 第三范式(3NF):消除了非主键字段之间的传递依赖关系。
即非主键字段之间不可存在依赖关系,数据更新时不会导致数据不一致。
4. 次范式(BCNF):基于第三范式,进一步消除了主键字段之间的传递依赖关系。
它要求每个非主键字段只依赖于候选键。
二、数据模型设计原则数据模型是数据库设计的核心,它定义了数据库中的实体、属性和关系。
下面是数据模型设计的原则:1. 选择合适的数据模型:常用的数据模型包括层次模型、网状模型和关系模型。
关系模型是当前最流行和应用最广泛的数据模型,它以关系表的形式存储数据。
2. 确定实体和属性:实体是现实世界中的对象,属性是实体的特征。
在定义实体和属性时,需考虑实体的属性是否唯一标识该实体。
3. 定义关系:关系是实体之间的联系,通过表之间的键值关联实现。
在定义关系时,需考虑关系的类型(一对一、一对多、多对多)以及参照完整性约束。
三、命名规范与标准良好的命名规范和标准是数据库设计的基础,它有助于提高代码的可读性和可维护性,并减少开发人员之间的沟通成本。
以下是常用的命名规范与标准:1. 表和字段命名:使用具有描述性的名称,避免使用缩写、重复和模糊的词汇。
(完整word版)数据库设计说明书-国家标准格式

数据库设计文档规范一、引言1.1 编写目的说明:编写这份数据库设计说明书的目的,指出预期的读者范围.1.2 背景说明:a.待开发的数据库的名称和使用此数据库的软件系统的名称;b.列出本项目的任务提出者、开发者、用户以及将安装该软件和这个数据库的单位。
1.3 定义列出本文件中用到的专门术语的定义和缩写词的原词组。
1。
4 参考资料列出要用到的参考资料,如:a.本项目的经核准的计划任务书或合同、上级机关的批文;b.属于本项目的其他已发表的文件;c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。
列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源二、外部设计2.1 标识符和状态联系用途,详细说明用于唯一地标识该数据库的代码、名称或标识符,附加的描述性信息亦要给出。
如果该数据库属于尚在实验中、尚大测试中或是暂时使用的,则要说明这一特点及其有效时间范围。
2.2 使用它的程序列出将要使用或访问此数据库的所有应用程序,对于这些应用程序的每一个,给出它的名称和版本号。
2.3 约定陈述一个程序员或一个系统分析员为了能使用此数据库而需要了解的建立标号、标识的约定,例如用于标识数据库的不同版本的约定和用于标识库内各个文卷、记录、数据项的命名约定等。
三、结构设计3.1 概念结构设计说明本数据库将反映的现实世界中的实体、属性和它们之间的关系等的原始数据形式,包括各数据项、记录、系、文卷的标识符、定义、类型、度量单位和值域,建立本数据库的每一幅用户视图。
3.2 逻辑结构设计说明把上述原始数据进行分解、合并后重新组织起来的数据库全局逻辑结构,包括所确定的关键字和属性、重新确定的记录结构和文卷结构、所建立的各个文卷之间的相互关系,形成本数据库的数据库管理员视图。
3。
2。
1 数据表3.2。
2存储过程3。
2。
3 触发器……四、运用设计4。
1 数据字典设计对数据库设计中涉及到的各种项目,如数据项、记录、系、文卷、模式、子模式等一般要建立起数据字典,以说明它们的标识符、同义名及有关信息。
(完整word版)数据库设计文档模板

DR—RD—020(V1.1)Array Xxx系统数据库设计说明书(内部资料请勿外传)编写:日期:检查:日期:审核:日期:批准:日期:中国创新支付版权所有不得复制支付系统 (1)数据库设计说明书 (1)1引言 (2)1。
1编写目的 (2)1。
2术语表 (2)1。
3参考资料 (2)2数据库环境说明 (3)3数据库的命名规则 (3)4逻辑设计.............................................. 错误!未定义书签。
5物理设计 (3)5.1表汇总 (3)5。
2表[X]:[XXX表] (3)5.3视图的设计.......................................... 错误!未定义书签。
5。
4存储过程、函数及触发器的设计........................ 错误!未定义书签。
6安全性设计............................................ 错误!未定义书签。
6。
1防止用户直接操作数据库的方法........................ 错误!未定义书签。
6。
2用户帐号密码的加密方法.............................. 错误!未定义书签。
6。
3角色与权限.......................................... 错误!未定义书签。
7优化.................................................. 错误!未定义书签。
8数据库管理与维护说明.................................. 错误!未定义书签。
1引言1.1 编写目的本文档是概要设计文档的组成部分,编写数据库设计文档的目的是:明确数据库的表名、字段名等数据信息,用来指导后期的数据库脚本的开发,本文档遵循《数据库设计和开发规范》。
数据库设计规范标准

关系型数据库设计规目录文档类别使用对象21. 概述31.1 简介31.2 术语定义31.3 参考资料31.4 版本更新记录32.数据库设计的目标43. 数据库的特征43.1完整性约束43.1.1not null约束53.1.2缺省值53.1.3 unique约束53.1.4 primary key约束53.1.5 参照完整性约束63.1.6 check约束63.2 存储过程63.3 触发器73.4 事务处理73.4.3 事务与一致性73.4.4 事务和恢复83.5 并发处理83.5.3 死锁93.5.4 读一致性93.6 序号生成器93.7 视图93.7.3 安全性103.7.4 逻辑数据独立性104. 调整数据库设计以提高系统性能104.1 建立有用的性能标准104.2 数据库的规化114.3 通过非规化设计提高数据库的效率114.3.3 非规化的原因114.3.4 非规化技术114.3.5 进行非规化处理时的注意事项124.4 表的大小124.4.3 表是否过小124.4.4 表是否过大134.4.5 如何减小表的尺寸134.5 记录的大小134.5.3 列有最佳的位置吗134.5.4 存在最佳的记录大小吗134.5.5 记录是否过小134.5.6 记录是否过大134.5.7 如何减小记录134.5.8 总结145. 其它14文档类别使用对象文档类别该文档是通用软件公司的关系型数据库的设计规,是技术文档。
使用对象该文档使用人员包括:➢开发本部总经理➢各产品部、事业部的经理、项目经理、设计人员➢软件中心负责人、设计人员➢公司总经理1.概述1.1 简介本文档总结了公司进行多年来的SYBASE数据库设计经验,目的将公司进行数据库设计的经验积累下来,实现设计经验的复用,为项目评审与项目质量保证提供进行检查的依据。
本规从数据库设计的目的、数据库的各个特征、数据库的规化等各个方面进行论述,对进行SYBASE数据库的设计提供了很好的依据。
数据库设计说明书_完整版

目录第一章引言 (1)1.1 编写目的 (1)1.2 背景 (1)1.3 参考资料 (2)第二章外部设计 (3)2.1 标识符和状态 (3)2.2 命名约定 (3)2.3 设计约定 (3)第三章结构设计 (4)3.1 概念结构设计 (4)3.1.1 实体和属性的定义 (4)3.1.2 设计局部ER模式 (13)3.1.3 设计全局ER模式 (20)3.2 逻辑结构设计 (21)3.2.1 模式 (21)3.2.2 外模式 (32)3.3 物理结构设计 (33)第四章运用设计 (34)4.1 数据字典设计 (34)4.2 安全保密设计 (34)4.3 数据库实施 (34)4.3.1 创建数据库 (34)4.3.2 创建表 (34)第一章引言1.1编写目的1、本数据库设计说明书是关于寝室管理系统数据库设计,主要包括数据逻辑结构设计、数据字典以及运行环境、安全设计等。
2、本数据库设计说明书读者:用户、系统设计人员、系统测试人员、系统维护人员。
3、本数据库设计说明书是根据系统需求分析设计所编写的。
4、本系统说明书为开发软件提供了一定基础。
1.2背景随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着越来越重要的作用,然而在计算机应用普及以前我国大部分高校的学生信息管理仅靠人工进行管理和操作,这种管理方式存在着许多缺点,如:效率低,密保性差,另外时间一长,将产生大量的文件和数据,其中有些是冗余或者针对同一目的的数据不相吻合,这对于查找、更新和维护文件等管理工作带来了不少困难,同时也跟不上信息时代高速、快捷的要求,严重影响了消息的传播速度。
然而现今学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息也成倍增长,人工管理信息的缺点日渐突出,面对庞大的学生信息量,如何利用现代信息技术使其拥有快捷、高效的适应能力已成为当务之急。
正因为如此,学生宿舍管理系统成为了学生管理不可缺少的部分,它的内容对于学校的管理者来说都至关重要,所以学生宿舍管理系统应该能够为用户提供充足的信息和快捷的查询手段。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
神州泰岳数据库设计规范北京神州泰岳软件股份有限公司2010年11月11日文档属性文档变更文档送呈目录1 前言 (6)2 数据库的设计方法及流程 (7)2.1 设计方法 (7)2.2 设计流程 (8)2.2.1 需求分析阶段 (8)2.2.2 概念结构设计阶段 (9)2.2.3 逻辑设计阶段 (9)2.2.4 物理设计阶段 (9)2.2.5 数据库实施阶段 (10)2.2.6 数据库运行维护阶段 (10)2.2.7 建模工具 (10)3 数据库设计规范 (11)3.1 数据库规范化的五个要求 (11)3.1.1 要求一:表中应该避免可为空的列 (11)3.1.2 要求二:表不应该有重复的值或者列 (11)3.1.3 要求三:表中记录应该有一个唯一的标识符 (12)3.1.4 要求四:数据库对象要有统一的前缀名 (12)3.1.5 要求五:尽量只存储单一实体类型的数据 (12)3.2 对象命名规范 (13)3.2.1 规则 (13)3.2.2 表命名规范 (14)3.2.3 字段命名规范 (14)3.2.4 索引命名规范 (15)3.2.5 分区命名规范 (16)3.2.6 视图/物化视图命名规范 (16)3.2.7 触发器/函数/存储过程命名规范 (17)3.3 数据库编程规范 (17)3.3.1 书写规范 (17)3.3.2 注释规范 (20)3.3.3 语法规范 (23)3.3.4 SQL性能规范 (26)3.3.5 JOB使用规范 (34)3.4 索引使用规范 (34)3.4.1 创建索引原则 (34)3.4.2 索引使用建议 (35)3.4.3 总结 (40)3.5 分区表使用规范 (40)3.6 物理设计规范 (41)3.6.1 环境配置 (41)3.6.2 数据库配置 (41)3.6.3 其他参数配置 (42)3.6.4 控制文件 (42)3.6.5 日志文件 (43)3.6.6 表空间及数据文件设计原则 (43)4 数据库安全规范 (45)4.1 用户密码规范 (45)4.2 用户权限规范 (48)4.2.1 不同应用分配不同帐号 (48)4.2.2 删除或锁定无关帐号 (48)4.2.3 限制SYSDBA远程登录 (48)4.2.4 限制业务用户权限 (48)4.2.5 对用户的属性进行控制, (48)4.2.6 启用数据字典保护 (48)4.3 数据库监听规范 (49)4.3.1 需要时为监听设置密码 (49)4.3.2 需要时设置信任IP集 (49)5 数据库评审 (50)5.1 评审范围 (50)5.2 评审标准 (50)6 附录 (53)6.1 用户权限分配规范 (53)6.2 数据库安装文档 (53)6.3 分区实践文档 (53)1 前言为明确公司项目中数据库逻辑设计及物理设计的内容和流程,特制定本规范,供数据库设计、开发及维护人员参考。
本规范属于参考性规范,由DBA组制定。
2 数据库的设计方法及流程2.1 设计方法数据库设计方法目前可分为四类:直观设计法、规范设计法、计算机辅助设计法和自动化设计法。
其中,新奥尔良法是目前公认的比较完整和权威的一种规范设计法。
新奥尔良法将数据库设计分成需求分析(分析用户需求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。
目前,常用的规范设计方法大多起源于新奥尔良法,并在设计的每一阶段采用一些辅助方法来具体实现。
以下是两种常用的规范设计方法:一、基于E-R模型的数据库设计方法。
该方法是由P.P.S.chen于1976年提出的数据库设计方法,其基本思想是在需求分析的基础上,用E-R(实体—联系)图构造一个反映现实世界实体之间联系的企业模式,然后再将此企业模式转换成基于某一特定的DBMS的概念模式。
二、基于3NF的数据库设计方法。
该方法是由S·Atre提出的结构化设计方法,其基本思想是在需求分析的基础上,确定数据库模式中的全部属性和属性间的依赖关系,将它们组织在一个单一的关系模式中,然后再分析模式中不符合3NF的约束条件,将其进行投影分解,规范成若干个3NF关系模式的集合。
其具体设计步骤分为五个阶段:a)设计企业模式,利用规范化得到的3NF关系模式画出企业模式;b)设计数据库的概念模式,把企业模式转换成DBMS所能接受的概念模式,并根据概念模式导出各个应用的外模式;c)设计数据库的物理模式(存储模式);d)对物理模式进行评价;e)实现数据库。
2.2 设计流程以规范性设计为例,把数据库设计流程分为以下几个阶段:A.需求分析阶段:综合各个用户的应用需求(现实世界的需求)。
B.概念设计阶段:形成独立于机器和各DBMS产品的概念模式(信息世界模型),用E-R图来描述。
C.逻辑设计阶段:将E-R图转换成具体的数据库产品支持的数据模型,如关系模型,形成数据库逻辑模式。
然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。
D.物理设计阶段:根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。
E.数据库实施阶段F.数据库运行与维护阶段2.2.1 需求分析阶段需求收集和分析,得到数据字典描述的数据需求和数据流图描述的处理需求。
需求分析的重点:调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。
需求分析的方法:调查组织机构情况、各部门的业务活动情况、协助用户明确对新系统的各种要求、确定新系统的边界。
常用的调查方法有:跟班作业、开调查会、请专人介绍、询问、设计调查表请用户填写、查阅记录。
分析和表达用户需求的方法:主要包括自顶向下和自底向上两类方法。
采用逐层分解的方式分析系统,并把每一层用数据流图和数据字典描述。
数据流图(Data Flow Diagram,DFD)表达了数据和处理过程的关系。
系统中的数据则借助数据字典(Data Dictionary,简称DD)来描述。
2.2.2 概念结构设计阶段概念模型用于信息世界的建模。
概念模型不依赖于某一个DBMS支持的数据模型。
通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示。
概念模型可以转换为计算机上某一DBMS支持的特定数据模型。
概念模型特点:1)具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识。
2)应该简单、清晰、易于用户理解,是用户与数据库设计人员之间进行交流的语言。
2.2.3 逻辑设计阶段将概念结构转换为某个DBMS所支持的数据模型(例如关系模型),并对其进行优化。
将E-R图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式,这种转换一般遵循如下原则:一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码。
一个多对多的联系转换为一个关系模式,两个实体的码和联系本身的属性就是关系的属性,两个实体的码就是关系的码。
数据模型的优化,确定数据依赖,消除冗余的联系,确定各关系模式分别属于第几范式。
确定是否要对它们进行合并或分解。
一般来说将关系分解为3NF的标准。
2.2.4 物理设计阶段为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
根据DBMS特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。
2.2.5 数据库实施阶段运用DBMS提供的数据语言(例如SQL)及其宿主语言(例如C),根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
数据库实施主要包括以下工作:用DDL定义数据库结构、组织数据入库、编制与调试应用程序、数据库试运行。
2.2.6 数据库运行维护阶段在数据库系统运行过程中必须不断地对其进行评价、调整与修改。
内容包括:数据库的转储和恢复、数据库的安全性、完整性控制、数据库性能的监督、分析和改进、数据库的重组织和重构造。
2.2.7 建模工具为加快数据库设计速度,目前有很多数据库辅助工具(CASE工具),如Rational公司的Rational Rose,CA公司的Erwin和Bpwin,Sybase公司的PowerDesigner以及Oracle公司的oracle Designer等。
3 数据库设计规范3.1 数据库规范化的五个要求3.1.1 要求一:表中应该避免可为空的列虽然表中允许空列,但是,空字段是一种比较特殊的数据类型。
数据库在处理的时候,需要进行特殊的处理。
如此的话,就会增加数据库处理记录的复杂性。
当表中有比较多的空字段时,在同等条件下,数据库处理的性能会降低许多。
所以,虽然在数据库表设计的时候,允许表中具有空字段,但是,我们应该尽量避免。
若确实需要的话,我们可以通过一些折中的方式,来处理这些空字段,让其对数据库性能的影响降低到最少。
一是通过设置默认值的形式,来避免空字段的产生。
二是若一张表中,允许为空的列比较多,接近表全部列数的三分之一。
而且,这些列在大部分情况下,都是可有可无的。
若数据库管理员遇到这种情况,建议另外建立一张副表,以保存这些列。
然后通过关键字把主表跟这张副表关联起来。
将数据存储在两个独立的表中使得主表的设计更为简单,同时也能够满足存储空值信息的需要。
3.1.2 要求二:表不应该有重复的值或者列如进销存管理中,还需要对客户的联系人进行管理。
而一个客户的联系人可能有多个,为了解决这个问题,有多种实现方式。
若设计不合理的话在,则会导致重复的值或者列。
我们可以这么设计,把客户信息、联系人都放入同一张表中。
为了解决多个联系人的问题,可以设置第一联系人、第一联系人电话、第二联系人、第二联系人电话等等。
若还有第三联系人、第四联系人等等,则往往还需要加入更多的字段。
可是这么设计的话,会产生一系列的问题。
如客户的采购员流动性比较大,在一年内换了六个采购员。
直接修改又不利于追踪。
所以,在数据库设计的时候要尽量避免这种重复的值或者列的产生。
建议,若数据库管理员遇到这种情况,可以改变一下策略。
如把客户联系人另外设置一张表。
然后通过客户ID把供应商信息表跟客户联系人信息表连接起来。
也就是说,尽量将重复的值放置到一张独立的表中进行管理。
然后通过视图或者其他手段把这些独立的表联系起来。
3.1.3 要求三:表中记录应该有一个唯一的标识符在数据库表设计的时候,数据库管理员应该养成一个好习惯,用一个ID号来唯一的标识行记录,而不要通过名字、编号等字段来对纪录进行区分。
每个表都应该有一个ID列,任何两个记录都不可以共享同一个ID值。
另外,这个ID值最好有数据库来进行自动管理,而不要把这个任务给前台应用程序。
否则的话,很容易产生ID值不统一的情况。
另外,在数据库设计的时候,最好还能够加入行号。