数据库基础概论__数据库设计过程

(1)数据库设计的四个过程:

需求分析:收集需求和理解需求

概念数据库设计:建立概念模型。“E-R图”

逻辑数据库设计:建模逻辑模型,“关系模式” 包括全局模式和用户模式

物理数据库设计:建立物理模型 “CREATE TABLE” 包括物理数据组织、依赖于具体的DBMS

 

(2)需求分析的实现:

目标:理解企业、理解企业业务过程与数据处理流程、理解数据处理的性能需求。

提交物:需求分析报告

使以下内容清楚:

企业的部门-岗位划分:不同岗位负责的各种日常

管理信息表/报表

形成各种报表的基础数据表

各种数据表之间的处理关系(What--How)

围绕数据表的业务处理关系(Who—When--Where)

尚未实施但未来可能实施的需求

形成数据库设计的“源”清单和“属性”清单以及相关的详细描述,尤其是注意业务规则与属性处理规则

结合数据流图等辅助分析与理解。

(3)概念数据库设计

目标:进一步深入理解企业,对信息源进行抽象,发现信息之间内在本质联系 这些本质联系可能隐藏于需求分析得到的信息源中。

使以下内容清楚:

 各种实体的发现、划分和定义

各种实体属性的发现、分析和定义

各种实体联系的发现、分析和定义

  外部视图(模式)和概念视图(模式)的定义

用统一的表达方法,如E-R模型/IDEF1X模型给出描述;不仅绘制出来,而且绘制正确;

         两种思路:先局部后整体、先整体后局部。

(4)逻辑数据库设计

目标:用指定DBMS要求的模式描述方法。给出概念数据库的逻辑模式描述

提交物:逻辑数据库设计报告

解决的问题:

E-R/IDEF1X转换成逻辑模式

遵循关系范式的设计原则

外模式以及概念模式的定义

    1)E-R图向关系模式的转变

         E-R图的实体转换为关系

         E-R图的属性转换为关系的属性

         E-R图的关键字转换为关系的关键字

         注:对于复合属性的转换(将每个分量作为复合属性所在实体的属性或者将复合属性本身作为所在实体的属性)

 

                                                       数据库基础概论__数据库设计过程


注:在上图中,学生所选课程是多值属性。 一个学生可以选多门课。因而就将和学号和所选课绑定。 


                                                     数据库基础概论__数据库设计过程

 


 

一对一联系:(****)

若联系双方均部分参与,则将联系定义为一个新的关系,将联系定义为一个新的关系,属性双方为参与双方的关键字属性。

                                                      数据库基础概论__数据库设计过程

 

若联系一方全部参与(1…1)则将联系的另一方的关键字作为全部参与一方关系的属性

                                                    数据库基础概论__数据库设计过程

           

一对多联系(***)

将单方参与实体的关键字作为多方参与实体对应关系的属性

                                                  数据库基础概论__数据库设计过程

多对多的联系

将联系定义为新的关系,属性为参与双方实体的关键字

                                                 数据库基础概论__数据库设计过程

 

对弱实体转换

所对应关系的关键字由弱实体本身的区分属性加上所依赖的强实体的关键字构成

                                                  数据库基础概论__数据库设计过程

 

弱实体集(从属实体)与强实体集(独立实体)之间的联系已经在弱实体集所对应的关系中表示出来了。

泛化与具体化实体的转化

如果泛化实体实例是具体化实体实例的全部,即一个高层实体实例至少属于一个低层实体,则可以不为高层实体建立关系,低层实体所对应的关系包括上层实体的所有属性

数据库基础概论__数据库设计过程

 多元联系的转换

多元联系可以通过继承参与联系的各个实体的关键字而形成新的关系

这些继承过来的关键字可作为新关系的关键字

也可以新增一个区分属性作为关键字

注意这两种转换的差异

1型转换:供应(工程项目号,供货商号,零件号,数量)

2型转换:供应(条目号,工程项目号,供货商号,零件号,数量

                                                        数据库基础概论__数据库设计过程

数据库设计过程之逻辑数据库设计

逻辑数据库设计可能会出现的问题

1)数据库中有大量冗余。

2)插入和删除异常。

避免:

设计满足规范性:由DBMS或数据库本身来保证‘’

设计不满足规范性:由使用者或者应用程序员使用时加以注意

 

什么是规范的数据库设计

数据库的规范性设计需要分析数据库Table中的属性在取值方面有什么依存关系?数据库设计过程中应遵循什么样的原则

数据库设计理论、数据依赖理论、关系范式理论、模式分解理论

                                                             数据库基础概论__数据库设计过程

总结:

依据概念数据库设计报告à E-R图转换成关系关系模型à(根据数据库设计理论及其应用)检查逻辑数据库设计的正确性à 定义外模式和全局模式à形成并提交逻辑数据库设计报告。

 

(5)物理数据库设计:

目标:结合指定DBMS物理数据库管理方法、给出概念数据库的物理模式描述。

提交物:物理数据库设计报告

使以下内容清楚:

DBMS选型

确定数据库的存储结构、文件类型、如定长文件、不定长文件、确定数据库的存储结构,文件类型:如定长文件、不定长文件;堆文件、散列文件或B-Tree文件等

用Triggers, 设计一些完整性控制约束

确定数据库的高效访问方式(索引访问,直接访问… …)

评估和设置磁盘空间需求。

总结:

依据逻辑数据库设计报告à利用具体DBMS创建数据库/表 à确定物理存储方式和存储空间(数据库关系系统的实现技术—数据库的存储于索引 查询实现与优化等)à 创建索引视图à 形成并提交物理数据库设计报告。

 

对应习题:

数据库基础概论__数据库设计过程

这个涉及到的关系要多少张表才能解决呢。 四张表就够了。

                              数据库基础概论__数据库设计过程

错误的原因在于 学生中有四类,这两类学生并不完全包含所有学生。