数据库设计标准

上传人:ji****72 文档编号:37754741 上传时间:2018-04-21 格式:DOC 页数:10 大小:65.50KB
返回 下载 相关 举报
数据库设计标准_第1页
第1页 / 共10页
数据库设计标准_第2页
第2页 / 共10页
数据库设计标准_第3页
第3页 / 共10页
数据库设计标准_第4页
第4页 / 共10页
数据库设计标准_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《数据库设计标准》由会员分享,可在线阅读,更多相关《数据库设计标准(10页珍藏版)》请在金锄头文库上搜索。

1、数据库设计标准 1 数据表字段说明(1) 每个表都必须有一个关键字,如果表中没有可以设置成关键字的字段,可以添加一个 ID字段作为关键字。需要特别注意的是,一些数据库系统如果没有关键字,那么允许所有字段有相同的值,此时如果对其进行操作时,数据库系统将整条记录作为一个关键字来操作,从而出现多个关键字的问题,导致操作出错。对于数字类型的关键字,如果不需要程序或者人为来维护的,就将其设置成为标示种子为 1,标示递增量为 1 的标示字段。尽量不要使用由手工输入的数据作为关键字,这是由于手工输入的不可靠性容易导致不可预见的后果。设置关键字时尽量避免设置多个字段的联合关键字。(2) 对于非关键字、不允许空

2、值以下数据类型的字段:日期型、布尔型、数字型等字段,无论是否有程序自动维护,必须在数据库设计的时候设定其默认值。(3) 在设定字段长度时,对于系统固定长度的字段,不需要更改,对于需要设计者指定长度的字段,设计者可以根据实际情况指定,如果对已经有数据的数据表的字段长度缩小的时候,必须注意超过新数据长度的数据截断问题。对现有数据类型的转换也需要注意是否可以转换,数据长度的问题。2 表字段定义说明语言-一般来说定义数据库时不要使用中文或其他类型文字的字段名,尽量使用英文或者英文加数字来作为字段名,尽管使用中文或其他类型文字作为字段名在直接操作数据库时很容易,但是在数据库以及依赖于数据库的前台程序的不

3、同语言操作系统的兼容性完全丧失,当然中文或其他类型文字可以放在字段的描述或者说明里面起辅助作用。明确-原则上字段名的定义只要符合数据库系统的字段定义要求就可以,如:1、2、;A、B、C、,ABC、A12BC、,等都是合法字段,但是一定的数据库往往是和一定的前台程序联系起来的,如果字段名定义不明确,造成程序在编写过程中的混乱,程序的可读性、可维护性极差。 准确-字段名尽量使用准确的英文名字,如果相同名字的字段有几个,可以用字母或者数字后缀区别。不要使用系统的保留字作为字段名,尽量避免使用开发语言的保留字作为字段名。字段名可以按照大小写敏感的方式来命名。简洁-避免使用不必要的前缀,如有一个 Con

4、tact 的联系人表,其中有一个联系人名字的字段,不要使用 ContactName 作为其字段名,使用 Name 就可以了。顺序-按照描述事物或者常规思维模式来安排顺序,不要随意安排顺序,虽然任意顺序的字段都可以,但是对于数据库的维护来说却非常麻烦,特别是字段多的表。3 数据类型的选择 (1)ID 字段不要作为表的主键与其它表关联,这将会影响到该表的数据迁移。(2)Text 和 Image 字段属指针型数据,主要用来存放二进制大型对象(BLOB)。这类数据的操作相比其它数据类型较慢,因此要避开使用。(3)各种类型字段的均有众多的相关函数支持,例如日期型函数,在日期的大小比较、加减操作上非常简单

5、。但是,在按照日期作为相等条件的查询操作也要用函数,而使用函数作为查询的条件时,服务器无法用先进的性能策略来优化查询而只能进行表扫描遍历每行,因此,在选择大数据表的关键字段数据类型时应根据在选择查询策略尽可能避开使用函数的原则加以考虑。 (4)注意数值型数据的取值范围问题,文本型的数据要保留一定的冗余长度。4 数据库命名规范不同的数据库产品对对象的命名有不同的要求,因此,数据库中的各种对象的命名、后台程序的代码编写应采用大小写敏感的形式,各种对象命名长度不要超过 30 个字符,这样便于应用系统适应不同的数据库平台。5 索引的建立为加快访问的速度,对表建立索引是加快速度的一个理想做法,但是索引应

6、该避免用大数据的字段来建立,如 Text,Image 以及长数据的字符串型等。6视图的建立对于需要访问相关联的表,如果在应用程序中去处理,可能会使应用程序的代码编写出现不必要的繁复,而且也会忽视数据库的潜力开发,这种情况的解决方法是利用数据库的视图。7导入/导出操作注意事项不同的数据库系统或者相同的数据库系统之间允许以导入/导出的方法来在另一个不同的数据库中形成新的数据库或者数据库中的表,这是一个十分简洁的方法,但是需要注意的是,这样的操作会将源表中的一些信息丢失,如关键字、默认值等,所以在执行完导入/导出的操作之后,一定要在目的数据库中重新检查设置相关属性。8合法性检验尽量在数据进入数据库之

7、前对数据进行合法性检验,避免不合法数据进入数据库,否则数据库的维护将非常困难。 注意:以下附件仅供参考,附件中如有规范与我们的规范矛盾则以我们的规范为准。 摘录附件:数据库设计方法、规范与技巧一、数据库设计过程数据库技术是信息资源管理最有效的手段。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。数据库设计中需求分析阶段综合各个用户的应用需求(现实世界的需求),在概念设计阶段形成独立于机器特点、独立于各个 DBMS 产品的概念模式(信息世界模型),用 E-R 图来描述。在逻辑设计阶段将 E-R 图转换成具体的数据库产品

8、支持的数据模型如关系模型,形成数据库逻辑模式。然后根据用户处理的要求,安全性的考虑,在基本表的基础上再建立必要的视图(VIEW)形成数据的外模式。在物理设计阶段根据 DBMS 特点和处理的需要,进行物理存储安排,设计索引,形成数据库内模式。1. 需求分析阶段 需求收集和分析,结果得到数据字典描述的数据需求(和数据流图描述的处理需求)。 需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。需求分析的方法:调查组织机构情况、调查各部门的业务活动情况、协助用户明确对新系统的各种要求、确定新系统的边界。 常用的调查方法有: 跟班作业、开调查会、请专人介绍、询问、设

9、计调查表请用户填写、查阅记录。分析和表达用户需求的方法主要包括自顶向下和自底向上两类方法。自顶向下的结构化分析方法(Structured Analysis,简称 SA 方法)从最上层的系统组织机构入手,采用逐层分解的方式分析系统,并把每一层用数据流图和数据字典描述。数据流图表达了数据和处理过程的关系。系统中的数据则借助数据字典(Data Dictionary,简称 DD)来描述。数据字典是各类数据描述的集合,它是关于数据库中数据的描述,即元数据,而不是数据本身。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分(至少应该包含每个字段的数据类型和在每个表内的主外键)。数据项描述

10、 数据项名,数据项含义说明,别名,数据类型,长度, 取值范围,取值含义,与其他数据项的逻辑关系 数据结构描述 数据结构名,含义说明,组成:数据项或数据结构 数据流描述 数据流名,说明,数据流来源,数据流去向, 组成:数据结构,平均流量,高峰期流量 数据存储描述 数据存储名,说明,编号,流入的数据流,流出的数据流, 组成:数据结构,数据量,存取方式 处理过程描述 处理过程名,说明,输入:数据流,输出:数据流, 处理:简要说明 2. 概念结构设计阶段 通过对用户需求进行综合、归纳与抽象,形成一个独立于具体 DBMS 的概念模型,可以用 E-R 图表示。 概念模型用于信息世界的建模。概念模型不依赖于

11、某一个 DBMS 支持的数据模型。概念模型可以转换为计算机上某一 DBMS 支持的特定数据模型。 概念模型特点:(1) 具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识。 (2) 应该简单、清晰、易于用户理解,是用户与数据库设计人员之间进行交流的语言。概念模型设计的一种常用方法为 IDEF1X 方法,它就是把实体-联系方法应用到语义数据模型中的一种语义模型化技术,用于建立系统信息模型。使用 IDEF1X 方法创建 E-R 模型的步骤如下所示:2.1 第零步-初始化工程这个阶段的任务是从目的描述和范围描述开始,确定建模目标,开发建模计划,组织建模队伍,收集源材料,制定约束和规范。

12、收集源材料是这阶段的重点。通过调查和观察结果,业务流程,原有系统的输入输出,各种报表,收集原始数据,形成了基本数据资料表。2.2 第一步-定义实体实体集成员都有一个共同的特征和属性集,可以从收集的源材料-基本数据资料表中直接或间接标识出大部分实体。根据源材料名字表中表示物的术语以及具有“代码“结尾的术语,如客户代码、代理商代码、产品代码等将其名词部分代表的实体标识出来,从而初步找出潜在的实体,形成初步实体表。2.3 第二步-定义联系IDEF1X 模型中只允许二元联系,n 元联系必须定义为 n 个二元联系。根据实际的业务需求和规则,使用实体联系矩阵来标识实体间的二元关系,然后根据实际情况确定出连

13、接关系的势、关系名和说明,确定关系类型,是标识关系、非标识关系(强制的或可选的)还是非确定关系、分类关系。如果子实体的每个实例都需要通过和父实体的关系来标识,则为标识关系,否则为非标识关系。非标识关系中,如果每个子实体的实例都与而且只与一个父实体关联,则为强制的,否则为非强制的。如果父实体与子实体代表的是同一现实对象,那么它们为分类关系。2.4 第三步-定义码通过引入交叉实体除去上一阶段产生的非确定关系,然后从非交叉实体和独立实体开始标识侯选码属性,以便唯一识别每个实体的实例,再从侯选码中确定主码。为了确定主码和关系的有效性,通过非空规则和非多值规则来保证,即一个实体实例的一个属性不能是空值,

14、也不能在同一个时刻有一个以上的值。找出误认的确定关系,将实体进一步分解,最后构造出 IDEF1X 模型的键基视图(KB 图)。2.5 第四步-定义属性从源数据表中抽取说明性的名词开发出属性表,确定属性的所有者。定义非主码属性,检查属性的非空及非多值规则。此外,还要检查完全依赖函数规则和非传递依赖规则,保证一个非主码属性必须依赖于主码、整个主码、仅仅是主码。以此得到了至少符合关系理论第三范式的改进的 IDEF1X 模型的全属性视图。2.6 第五步-定义其他对象和规则定义属性的数据类型、主键、长度、精度、非空、缺省值、约束规则等。定义触发器、存储过程、视图、角色、同义词、序列等对象信息。3. 逻辑

15、结构设计阶段 将概念结构转换为某个 DBMS 所支持的数据模型(例如关系模型),并对其进行优化。设计逻辑结构应该选择最适于描述与表达相应概念结构的数据模型,然后选择最合适的 DBMS。将 E-R 图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式,这种转换一般遵循如下原则: 1)一个实体型转换为一个关系模式。实体的属性就是关系的属性。实体的码就是关系的码。 2)一个 m:n 联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。 3)一个 1:n 联系可以转换为一个独立的关系模式,也可以与 n 端对应的关系模

16、式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为 n 端实体的码。 4)一个 1:1 联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。5)三个或三个以上实体间的一个多元联系转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。 6)同一实体集的实体间的联系,即自联系,也可按上述 1:1、1:n 和 m:n 三种情况分别处理。 7)具有相同码的关系模式可合并。 为了进一步提高数据库应用系统的性能,通常以规范化理论为指导,还应该适当地修改、调整数据模型的结构,这就是数据模型的优化。确定数据依赖。消除冗余的联系。确定各关系模式分别属于第几范式。确定是否要对它们进行合并或分解。一般来说将关系分解为 3NF 的标准,即:表内的每一个值都只能被表达一次。表内的每一行都应该被唯一的标识(有唯一键)。表内不应该存储依赖于其他键的非键信息。 4. 数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号