设计数据库的基本概念大全
一 逻辑模型中的信息可以用三个概念来描述:
(1) 实体(如果一个对象拥有许多特性和值,那么它可能是个实体)
(2) 属性(如果一个对象拥有一个特性的值,那么它可能是属性)
(3) 关系(如果一个对象的描述包含了一个动词短语,那么它可能是关系)
二 数据库设计可以分成以下四个部分
(1)表关系的规范化和完善。
(2)实体、数据和关系完整性的判别。
(3)创建数据的物理示意图。
(4)创建数据库对象(触发器、存储过程和索引)。
数据规范化的五个层次:
(1)消除重复的数据组(1NF,或第一范式)
(2)消除多余的数据(2NF,或第二范式)
(3)消除不依赖于键标的列(3NF,或第三范式)
(4)分离独立的多个关系(4NF,或第四范式)
(5)分离语义相关的多个关系(5NF,或第五范式)
技巧:为了实现3NF的数据库设计,一个简单的规则就是记住每个属性都必须依附于该键标而且只能包含定义该键标的那些项目。
注意:第三范式对于大多数数据库已足够了,但是它还不能完全处理下面这样的情形:一个实体有两个或多个侯选键标,他们是组合键标并且至少有一个公用属性。为了弥补这种不足,引入了修正的第三范式,称为BCNF。
三 数据完整性
(1)实体完整性。每个行是包含该含的实体的惟一实体。这类完整性通常是通过在主键标字段生成一个惟一索引强行的实现。
(2)域完整性。确保实际数据值的正确性。这类完整性是通过设置数据类型、空值能力和数据库规划以及缺省而强制实现的。
(3)引用完整性。确保外部键标值与父表中主键标值正确匹配。这类完整性还用于限制或级联从父实体到子实体的变化。这类完整性通常是用触发器或是其他声明的引用完整性约束实现的。
四 三层结构理论
它是一种逻辑上的层次划分,它将应用功能分成用户界面层、中间层和数据层。三层结构业务处理流程图如下:
五 数据库设计
(1)包括两个组成部分:逻辑设计和物理设计。逻辑数据库设计包括使用数据库组件为业务需求进行数据建模。物理数据设计将逻辑设计映射到物理媒体上。
(2) 数据库建模板工具:个人还是不喜欢用visio,更喜欢用powerdesigner,因为前者将逻辑设计和物理设计揉到一块,这种一步到位的设计总是不那么严谨,需要靠经验来保证数据库设计的合理性,而后者的概念视图和物理视图,将数据库概念的理论知识在实践得到很好应用,经验和理论都可以得到发挥.打个不恰当的比方,一步到位的设计,有点想VB是弱类型的,变量的定义,可以不管类型,编译不出错,但是运行时不合理的类型转换是会出错的,所以需要经验来保证类型的一致性,而C#的是强类型的,编译时就可以检查类型处理的是否合理,所以大部分类型转换错误都可以在编译期间发现. 当然,如果让我写文档,那无疑前者是很好的绘图工具,各种各样的流程图绘起来非常方便!
本文地址:http://www.45fan.com/a/question/73027.html