10大优享服务
62项会员特权

必须知道的数据库设计原则

发布时间:2021-12-01 11:26:05     阅读次数:9799次     评论数:0次

    数据库是一种实用性的方式,可以帮助人们从无数的数据,信息中解救出来。数据库自从应用以来,得到大家的一致好评,将大量的数据存储方式简单化,节省了很多的时间。虽然数据库使用起来很方便,但是在设计数据库是,有很多要注意的地方,接下来,本文就将为大家介绍数据库设计必须要知道的设计原则,可以帮助大家更快的学习设计方法。

必须知道的数据库设计原则

    1. 原始单据与实体之间的关系

    可以是一对一、一对多、多对多的关系。在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体。 在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体。 这里的实体可以理解为基本表。明确这种对应关系后,对我们设计录入界面大有好处。

    2. E--R图没有标准答案

    信息系统的E--R图没有标准答案,因为它的设计与画法不是惟一的,只要它覆盖了系统需求的业务范围和功能内容, 就是可行的。反之要修改E--R图。尽管它没有惟一的标准答案,并不意味着可以随意设计。好的E—R图的标准是: 结构清晰、关联简洁、实体个数适中、属性分配合理、没有低级冗余。

    3. 基本表的性质

    基本表与中间表、临时表不同,因为它具有如下四个特性:

    (1) 原子性。基本表中的字段是不可再分解的。

    (2) 原始性。基本表中的记录是原始数据(基础数据)的记录。

    (3) 演绎性。由基本表与代码表中的数据,可以派生出所有的输出数据。

    (4) 稳定性。基本表的结构是相对稳定的,表中的记录是要长期保存的。

    4. 范式标准

    基本表及其字段之间的关系, 应尽量满足第三范式。但是,满足第三范式的数据库设计,往往不是最好的设计。 为了提高数据库的运行效率,常常需要降低范式标准:适当增加冗余,达到以空间换时间的目的。

    5. 主键与外键

    一般而言,一个实体不能既无主键又无外键。在E—R 图中, 处于叶子部位的实体, 可以定义主键,也可以不定义主键。主键与外键的设计,在全局数据库的设计中,占有重要地位。

    6. 要善于识别与正确处理多对多的关系

    若两个实体之间存在多对多的关系,则应消除这种关系。消除的办法是,在两者之间增加第三个实体。这样,原来一 个多对多的关系,现在变为两个一对多的关系。要将原来两个实体的属性合理地分配到三个实体中去。这里的第三个 实体,实质上是一个较复杂的关系,它对应一张基本表。一般来讲,数据库设计工具不能识别多对多的关系,但能处理多对多的关系。

    7. 主键PK的取值方法

    PK是供程序员使用的表间连接工具,可以是一无物理意义的数字串, 由程序自动加1来实现。也可以是有物理意义 的字段名或字段名的组合。不过前者比后者好。当PK是字段名的组合时,建议字段的个数不要太多,多了不但索引占用空间大,而且速度也慢。

    8. 通俗地理解三个范式

    三个范式(通俗地理解是够用的理解,并不是最科学最准确的理解):

    第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解;

    第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;

    第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。

    9. 正确认识数据冗余

    主键与外键在多表中的重复出现, 不属于数据冗余,这个概念必须清楚,事实上有许多人还不清楚。非键字段的重复出现, 才是数据冗余!而且是一种低级冗余,即重复性的冗余。高级冗余不是字段的重复出现,而是字段的派生出现。

    10 . 视图技术在数据库设计中很有用

    与基本表、代码表、中间表不同,视图是一种虚表,它依赖数据源的实表而存在。视图是供程序员使用数据库的一个窗口,是基表数据综合的一种形式, 是数据处理的一种方法,是用户数据保密的一种手段。为了进行复杂处理、提高运算速度和节省存储空间, 视图的定义深度一般不得超过三层。 若三层视图仍不够用, 则应在视图上定义临时表, 在临时表上再定义视图。这样反复交迭定义, 视图的深度就不受限制了。

    数据库应用广泛,在企业,医院等单位,员工特别多,如果通过人工统计数据,会特别麻烦,有时候还会不小心出错。但是通过数据库设计,就可以将员工信息存储在表格中,这样就可以随时查找到某员工的基本信息,平时也可以轻松解决问题,不需要花费大量的人力物力。

本文地址:
来源:一品威客,转载须经版权人书面授权并注明来源

留言(0

↓展开留言

该攻略尚无留言记录