数据库设计

一 逻辑模型中的信息可以用三个概念来描述:

(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#的是强类型的,编译时就可以检查类型处理的是否合理,所以大部分类型转换错误都可以在编译期间发现.  当然,如果让我写文档,那无疑前者是很好的绘图工具,各种各样的流程图绘起来非常方便!

一 逻辑模型中的信息可以用三个概念来描述:

(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#的是强类型的,编译时就可以检查类型处理的是否合理,所以大部分类型转换错误都可以在编译期间发现.  当然,如果让我写文档,那无疑前者是很好的绘图工具,各种各样的流程图绘起来非常方便!


相关文章

  • 数据库应用系统功能设计与实施
  • 第4章 数据库应用系统功能设计与实施 4.1 软件体系结构与设计过程4.1.1 软件体系结构:又称软件架构,软件体系结构={构件,连接件,约束}1)构件是组成系统的具有一定独立功能的不同粒度的程序模块.独立程序或软件子系统,是组成软件的系统 ...查看


  • 华为公司详细设计方案模板
  • XXX软件详细设计说明书 Prepared by 拟制 Reviewed by 评审人 Approved by 批准 Date 2010-11-23 日期 Date 日期 Date 日期 Revision Record 修订记录 目录 1 ...查看


  • 浅谈数据库设计在系统设计中的重要性
  • 浅谈数据库设计在系统设计中的重要性 对数据库设计在系统设计中重要性的认识主要有以下几个方面:海量数据环境到来为数据库设计提出的新高度:好的数据库设计所应具备的基本条件:重视不足的数据库设计的具体体现:如何培养良好数据库设计习惯. 数据库设计 ...查看


  • 信息系统与数据库技术实践课程指导
  • 前言 本书使用对象为本科非计算机专业的学生,课程实践的时间为24学时.设计环境为学校计算机中心,每一人一题,每人一台计算机.软件环境要求:windows 操作系统,SQL-Server,VB.net ,Word (用于编写设计报告). 20 ...查看


  • 详细设计方案模板_v1.0
  • XXX软件详细设计说明书 Revision Record 修订记录 Keywords 关键词: Abstract 摘 要: List of abbreviations 缩略语清单: 名和中文解释.Describe abbreviations ...查看


  • 1 原理图设计流程
  • Protel99软件中原理图设计流程技巧全集 一般来说,我们通常认为的电路原理图设计包括以下6个步骤: (1)设置原理图设计环境: (2)放置元件: (3)原理图布线: (4)编辑和调整: (5)检查原理图: (6)生成网络表. 而在Pro ...查看


  • 天津商业大学毕业设计(论文)写作模版[1]
  • 附: 学 号:20060000 天 津 商 业 大 学 毕 业 设 计(论 文) 填写中文题名 (宋体二号加粗,居中) 宋体二号加粗,居中) 填写外文题名 三号加粗,居中) (Times New Roman 三号加粗,居中) 学 院: 教 ...查看


  • 学生选课及课程安排数据库设计
  • 武汉理工大学<数据库系统原理>课程设计说明书 课 程 设 计 课程名称 数据库系统原理 学 院 计算机科学与技术 专 业 计算机科学与技术 班 级 计算机1007 姓 名 指导教师 2013 年 01 月 23 日 课程设计任务 ...查看


  • 饭店管理信息系统论文
  • 毕业设计(论文) 题 目: 饭店管理信息系统 学 院: ____________ 专 业: __________________ 学生姓名:班级/学号:__________________________ 指导老师/督导老师: _____ ...查看


  • 物业信息管理
  • 中央电大开放教育试点物业管理专业专科 <物业信息管理>模拟试卷 一.填空题: 1.在数据库管理系统中,描述数据库中数据逻辑结构的数据类型有四类,它们分别是:层次模型.网状模型.( )和( ). 2.SQL Server数据库有两 ...查看


热门内容