加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

项目小结之数据库设计

发布时间:2016-09-06 08:31:07 所属栏目:MsSql教程 来源:站长网
导读:最近做了一个小项目完整的数据库设计,想总结一些设计上的所得,希望大家多多指教。 有时一个项目,普通程序员一般不会去接触数据库设计,一般都有专业的DBA或是
最近做了一个小项目完整的数据库设计,想总结一些设计上的所得,希望大家多多指教。

有时一个项目,普通程序员一般不会去接触数据库设计,一般都有专业的DBA或是老程序员去设计,下 面是我推测的几点可能原因:

1:新手对项目了解不深,正好这是老鸟的长处。

2:新手对局部的关注往往大于整体,很难考虑的特别周全。

3:数据库设计的好坏在某种程度上直接影响项目的复杂度以及性能。

第一:我们要知道什么是范式,为什么说到数据库设计总要提到一个名词:范式。范式:符合某一种 级别的关系模式的集合。设计数据库必须遵循一定的规则,在关系数据库中,这种规则就是范式。

第二:范式的分类。关系数据库中的关系必须满足一定的要求,目前关系数据库有六种范式:第一范 式、第二范式、第三范式、第四范式、第五范式和第六范式。满足最低要求的是第一范式,其余范式以次 类推。这么多的分类并不一定要求全部满足,平时我们通常是达到第三范式就行。

第三:范式的作用?

1:优点:是将其转化为一些表的过程,这种方法可以使从数据库得到的结果更加明确。

2:缺点:可能使数据库产生重复数据,从而导致创建多余的表。

3:是在识别数据库中的数据元素、关系,以及定义所需的表和各表中的项目这些初始工作之后的一个 细化的过程。

4:设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,也不会 发生插入、删除和更新操作异常。反之则给编程人员制造麻烦,可能存储了大量不需要的冗余信息。 

下面来简单介绍下前三种范式:

一:第一范式。是对关系模式的基本要求,不满足第一范式的数据库就不是关系数据库。 所谓第一范 是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有 多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的 属性构成,新实体与原实体之间为一对多关系。这个单一属性由基本类型构成,包括整型、实数、字符型 、逻辑型、日期型等。 例如有一张存储文件的表,正确应该是这样:可以看到这个表包含了好几个列,如 果我们把这些信息都放在一列里面那么就不满足上面定义的1NF了。

create table Regulations (
   ID                   int                   identity,
   Title                nvarchar(200)        null,
   FileAddress          varchar(255)         null,
   OpenDate             datetime             null,
   TypeID               int                  null,
   PostDate             datetime             null,
   constraint PK_REGULATIONS primary key (ID)
)

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读