数据库建模三步骤:概念模型->逻辑模型->物理模型

设计数据库有如下6个主要步骤:

1、需求分析:了解用户的数据需求、处理需求、安全性及完整性要求;
2、概念设计:通过数据抽象,设计系统概念模型,一般为E-R模型;
3、逻辑结构设计:设计系统的模式和外模式,对于关系模型主要是基本表和视图;
4、物理结构设计:设计数据的存储结构和存取方法,如索引的设计;
5、系统实施:组织数据入库、编制应用程序、试运行;
6、运行维护:系统投入运行,长期的维护工作。

 

概念模型就是在了解了用户的需求,用户的业务领域工作情况以后,经过分析和总结,提炼出来的用以描述用户业务需求的一些概念的东西。如销售业务中的“客户”和“定单”,还有就是“商品”,“业务员”。  用USE CASE来描述就是:“业务员”与“客户”就购买“商品”之事签定下“定单”。(此时可以不包含属性,只有实体集,联系集的分析结构)
   逻辑模型就是要将概念模型具体化。要实现概念模型所描述的东西,需要那些具体的功能和处理那些具体的信息。这就到了需求分析的细化阶段。还以销售业务为例:“客户” 信息基本上要包括:单位名称,联系人,联系电话,地址等属性;“商品”信息基本上要包括:名称,类型,规格,单价等属性;“定单”信息基本上要包括:日期 和时间属性。并且“定单”要与“客户”,“业务员”和“商品”明细关联。
        系统需要建立几个数据表:业务员信息表,客户信息表,商品信息表,定单表。
        系统要包括几个功能:业务员信息维护,客户信息维护,商品信息维护,建立销售定单 。
        以上这些均属于建立逻辑模型,这些说明只表明系统要实现什么,但怎样实现,用什么工具实现还没有讲,后者属于物理模型范围。
    物理模型就 是针对上述逻辑模型所说的内容,在具体的物理介质上实现出来。如:数据库使用SQL Server 2000,这样就可以编写具体的SQL脚本在数据库服务器上将数据库建立起来。其中包括业务员信息表,客户信息表,商品信息表,定单表。客户端使用VS开 发工具,那么在工作站上用VS建立起功能菜单,包括:业务员信息维护,客户信息维护,商品信息维护,建立销售定单等功能,并用工具将每一个功能编码实现。
        这三个过程,就是实现一个软件系统的三个关键的步骤,是一个从抽象到具体的一个不断细化完善的分析,设计和开发的过程。
 

数据库建模:在设计数据库时,对现实世界进行分析、抽象、并从中找出内在联系,进而确定数据库的结构,这一过程就称为数据库建模。它主要包括两部分内容:确定最基本的数据结构;对约束建模。

1.概念模型的表示方法
 
  E-R图主要是由实体、属性和联系三个要素构成的。在E-R图中,使用了下面四种基本的图形符号。
 
  2.确定系统实体、属性及联系
  系统分析阶段建立数据字典和数据流程图->建立概念模型->逻辑模型->物理模型
  利用系统分析阶段建立的数据字典,并对照数据流程图对系统中的各个数据项进行分类、组织,确定系统中的实体、实体的属性、标识实体的码以及实体之间联系的类型。
 
  在数据字典中“数据项”是基本数据单位,一般可以作为实体的属性。“数据结构”、“数据存储”和“数据流”条目都可以作为实体,因为它们总是包含了若干的数据项。作为属性必须是不可再分的数据项,也就是说在属性中不能包含其他的属性。
 
  3.确定局部(分)E-R图
 
  根据上面的分析,可以画出部分实体-联系图。
 
  在这些实体中有下画线的属性可以作为实体的码,这几个实体之间存在着1:1、l:n和m:n几种联系。
 
  4.集成完整(总)E-R图
 
  各个局部(分)E-R图画好以后,应当将它们合并起来集成为完整(总)E-R图。在集成时应当注意如下几点:
 
  (1)消除不必要的冗余实体、属性和联系。
 
  (2)解决各分E-R图之间的冲突。
 
  (3)根据情况修改或重构E-R图。
 
  6.2.3逻辑结构设计
 
  逻辑结构设计的任务,就是把概念结构设计阶段建立的基本E-R图,按选定的管理系统软件支持的数据模型(层次、网状、关系),转换成相应的逻辑模型。这种转换要符合关系数据模型的原则。
 
  E-R图向关系模型的转换是要解决如何将实体和实体间的联系转换为关系,并确定这些关系的属性和码。这种转换一般按下面的原则进行:
 
  (1)一个实体转换为一个关系,实体的属性就是关系的属性,实体的码就是关系的码。
 
  (2)一个联系也转换为一个关系,联系的属性及联系所连接的实体的码都转换为关系的属性,但是关系的码会根据联系的类型变化,如果是:
 
  1:1联系,两端实体的码都成为关系的候选码。
 
  1:n联系,n端实体的码成为关系的码。
 
  m:n联系,两端实体码的组合成为关系的码。

 

 

总结

概念数据模型设计与逻辑数据模型设计、物理数据模型设计是数据库及数据仓库模型设计的三个主要步骤。  

在数据仓库领域有一个概念叫conceptual data model,中文一般翻译为“概念数据模型”。  

概念数据模型是最终用户对数据存储的看法,反映了最终用户综合性的信息需求,它以数据类的方式描述企业级的数据需求,数据类代表了在业务环境中自然聚集成的几个主要类别数据。  

概念数据模型的内容包括重要的实体及实体之间的关系。在概念数据模型中不包括实体的属性,也不用定义实体的主键。这是概念数据模型和逻辑数据模型的主要区别。  

概念数据模型的目标是统一业务概念,作为业务人员和技术人员之间沟通的桥梁,确定不同实体之间的最高层次的关系。  

在有些数据模型的设计过程中,概念数据模型是和逻辑数据模型合在一起进行设计的。  

在数据仓库领域有一个概念叫logical data model,中文一般翻译为“逻辑数据模型”。  

逻辑数据模型反映的是系统分析设计人员对数据存储的观点,是对概念数据模型进一步的分解和细化。逻辑数据模型是根据业务规则确定的,关于业务对象、业务对象的数据项及业务对象之间关系的基本蓝图。  

逻辑数据模型的内容包括所有的实体和关系,确定每个实体的属性,定义每个实体的主键,指定实体的外键,需要进行范式化处理。  

逻辑数据模型的目标是尽可能详细的描述数据,但并不考虑数据在物理上如何来实现。  

逻辑数据建模不仅会影响数据库设计的方向,还间接影响最终数据库的性能和管理。如果在实现逻辑数据模型时投入得足够多,那么在物理数据模型设计时就可以有许多可供选择的方法。  

在数据仓库领域有一个概念叫physical data model,中文一般翻译为“物理数据模型”。  

物理数据模型是在逻辑数据模型的基础上,考虑各种具体的技术实现因素,进行数据库体系结构设计,真正实现数据在数据库中的存放。  

物理数据模型的内容包括确定所有的表和列,定义外键用于确定表之间的关系,基于用户的需求可能进行发范式化等内容。在物理实现上的考虑,可能会导致物理数据模型和逻辑数据模型有较大的不同。  

物理数据模型的目标是指定如何用数据库模式来实现逻辑数据模型,以及真正的保存数据

  • 11
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库系统(四) 数据库系统(四)---关系型数据库设计及 关系型数据库设计及E-R图 图 1、关系型数据库:   关系型数据库是⼀类采⽤关系模型作为逻辑数据模型数据库系统,遵从数据库设计的基本步骤包括:需求分析、概念结构设计、逻辑结构设 计、物理结构设计、数据库实施、数据库的运⾏和维护等阶段概念结构设计与逻辑结构设计是关系数据库整个设计过程的关键。 2、关系数据库设计过程与各级模式   在关系数据库设计的不同阶段,会形成数据库的各级模式。   1)需求分析阶段,综合各个⽤户的应⽤需求;   2)概念结构设计阶段,形成独⽴于机器特点、独⽴于各个关系数据库管理系统产品的概念模式;   3)逻辑结构设计阶段,将 E-R 图转换成具体的数据库产品⽀持的关系数据模型,形成数据库逻辑模式,然后根据⽤户处理的要求、安全性的考 虑,在基本表的基础上再⽴必要的视图,形成数据的外模式;   4)物理结构的设计阶段,根据关系数据库管理系统的特点和处理的需要,进⾏物理存储安排,⽴索引,形成数据库内模式。 3、 概念结构设计⽅法   关系数据库概念结构设计通常采⽤⾃顶向下法,它通过两个步骤来完成概念设计,⾸先⽴局部信息结构,然后将局部信息结构合成为全局信 息结构并优化,使⽤ E-R 图作为概念模型的描述⼯具。 1)局部信息结构设计   局部信息结构设计:根据需求分析报告标明的不同⽤户视图范围所⽴的满⾜该范围内⽤户需求的信息结构,称为局部信息结构。   局部信息结构设计的步骤包括:确定局部范围;选择实体;选择实体关键字; 确定实体间联系;确定实体的属性。 2)E-R 图的表⽰⽅法   概念结构设计就是将需求分析得到的⽤户需求抽象为信息结构的过程,通常使⽤ E-R 图来作为描述现实世界的建模⼯具。E-R 图提供了表⽰信息 世界实体、属性和联系的⽅法。   1.实体型,⽤矩形表⽰,写明实体的名称;   2.属性,⽤椭圆形表⽰,并⽤⽆向边将其与其相应的实体连接起来。   3.联系,⽤菱形表⽰,写明联系的名称,⽤⽆向边分别与有关实体连接起来,同时在⽆向边旁标注联系的类型(1:1、1:N 或 M:N),如果⼀个联系 具有属性, 则这些属性也要⽤⽆向边与该联系连接起来。   两个实体型之间、两个以上的实体型之间以及单个实体型内的联系,都会存在如下关系: ⼀对⼀联系(1:1) ⼀对多联系(1:N) 多对多联系 (M:N) 3)全局信息结构设计   全局信息结构设计是将上述步骤产⽣的所有局部信息结构合并成为⼀个全局信息结构。 各局部 E-R 图之间的冲突主要表现在个⽅⾯:   3.1).属性冲突:属性域冲突和属性取值单位冲突。   3.2).命名冲突:同名异义和异名同义。   3.3).结构冲突:     同⼀对象在⼀个局部 E-R 图作为实体,⽽在另⼀个 局部 E-R 图作为属性;     同⼀实体在不同的 E-R 图属性个数和类型不同;     实体之间的联系在不同的 E-R 图是不同的类型。   eg:   【例】设有如下实体:     学⽣:学号,姓名,性别     课程:课程号,课程名,学分     班级:班号,班名,     其,每个班有若⼲学⽣,每个学⽣只可以在—个班级学习;每个学⽣可选修多门课程,每门课程可被多个学⽣选修,学⽣选修课程要记录 成绩。    1. 试画出反映上述实体关系的 E-R 图(不必画实体的属性)。          注意:学⽣选修课程之后才能有成绩,故成绩是选修(联系)的属性。 4、逻辑结构设计⽅法   逻辑结构设计的任务是把在概念结构设计产⽣的概念模型转换为具体的 DBMS 所⽀持的逻辑数据模型,也就是导出特定的 DBMS 可以处理的数 据库逻辑结构。 通常包括项⼯作:将 E-R 图转换为关系模型、对关系数据模型进⾏优化、设计⾯向⽤户的外模式。 1)E-R 图向关系模型的转换 遵循原则如下:   1. ⼀个实体型转换为⼀个关系模式。   2. ⼀个⼀对⼀联系可以转换为⼀个独⽴的关系模式。   3. ⼀个⼀对多联系可以转换为⼀个关系模式。   4. ⼀个多对多联系转换为⼀个关系模式。   5. 具有相同码的关系模式可合并。  eg:   使⽤3的⽰例,将E-R图转化为关系模式,并说明主外键   (1)⼀个实体型对应⼀个关系模式:    R学⽣(学号,姓名,性别)     R课程(课程号,课程名,学分)     R班级(班号,班名) (2)⼀个⼀对多联系可转化为⼀个关系模式(间表)     R属于(学号、班号)外键 学号 和 班号   (3)⼀个多对多联系可转化为⼀个关系模式(间表)     R选修(学号、课程号、成绩)外键 学号 和 课程号   (4)R学⽣和R属于可合并成⼀张表    

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值