数据模型所描述的内容包括三个部分:数据结构、数据操作、数据约束。

1)数据结构:数据模型中的数据结构主要描述数据的类型、内容、性质以及数据间的联系等。数据结构是数据模型的基础,数据操作和约束都建立在数据结构上。不同的数据结构具有不同的操作和约束。

2)数据操作:数据模型中数据操作主要描述在相应的数据结构上的操作类型和操作方式。

3)数据约束:数据模型中的数据约束主要描述数据结构内数据间的语法、词义联系、他们之间的制约和依存关系,以及数据动态变化的规则,以保证数据的正确、有效和相容。

数据模型按不同的应用层次分成三种类型:分别是概念数据模型、逻辑数据模型、物理数据模型。

1、概念数据模型(Conceptual Data Model):简称 概念模型 ,主要用来描述世界的概念化结构,它使数据库的设计人员在设计的初始阶段,摆脱计算机系统及DBMS的具体技术问题,集中精力分析数据以及数据之间的联系 等,与具体的数据管理系统(Database Management System,简称DBMS)无关。概念数据模型必须换成逻辑数据模型,才能在DBMS中实现。

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

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

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

在有些数据模型的设计过程中,概念数据模型是和逻辑数据模型合在一起进行设计的。
以下是概念模型图显示方式

2、逻辑数据模型(Logical Data Model):简称数据模型,这是用户从数据库所看到的模型,是具体的DBMS所支持的数据模型,如网状数据模型(Network Data Model)、 层次数据模型 (Hierarchical Data Model)等等。 此模型既要面向用户,又要面向系统 ,主要用于 数据库管理系统 (DBMS)的实现。

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

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

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

逻辑数据建模不仅会影响数据库设计的方向,还间接影响最终数据库的性能和管理。如果在实现逻辑数据模型时投入得足够多,那么在物理数据模型设计时就可以有许多可供选择的方法。
逻辑模型图显示 
 
3、物理数据模型(Physical Data Model):简称 物理模型 ,是面向计算机物理表示的模型,描述了数据在储存介质上的组织结构,它不但与具体的DBMS 有关,而且还与操作系统和硬件有关。每一种逻辑数据模型在实现时都有起对应的物理数据模型。DBMS为了保证其独立性与可移植性,大部分物理数据模型的实 现工作又系统自动完成,而设计者只设计索引、聚集等特殊结构。
物理结构图显示
  
在概念数据模型中最常用的是 E-R模型 、扩充的E-R模型、面向对象模型及谓词模型。在逻辑数据类型中最常用的是 层次模型 、 网状模型 、 关系模型 。

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

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

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

概念数据模型、逻辑数据模型、物理数据模型详解相关推荐

  1. Linux LVM逻辑卷配置过程详解(创建,增加,减少,删除,卸载)

    Linux LVM逻辑卷配置过程详解(创建,增加,减少,删除,卸载) Linux LVM逻辑卷配置过程详解 许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量, ...

  2. VMWare虚拟机处理器数量与每个处理器内核数量概念,以及分配CPU资源详解

    VMWare虚拟机处理器数量与每个处理器内核数量概念,以及分配CPU资源详解 概念 CPU的物理核心和超线程 CPU的睿频机制 总结 概念 处理器数量:虚拟机上的CPU个数(上图中的插槽数,是机器主板 ...

  3. c语言课后题2.52.8答案,新概念第二册课后题答案详解:Lesson52

    新概念英语作为一套世界闻名的英语教程,以其全新的教学理念,有趣的课文内容和全面的技能训练,深受广大英语学习者的欢迎和喜爱.为了方便同学们的学习,新东方在线新概念英语网为大家整理了最全面的新概念第二册课 ...

  4. c语言中5 2 11 意思,新概念第二册课后题答案详解:Lesson55

    新概念英语作为一套世界闻名的英语教程,以其全新的教学理念,有趣的课文内容和全面的技能训练,深受广大英语学习者的欢迎和喜爱.为了方便同学们的学习,新东方在线新概念英语网为大家整理了最全面的新概念第二册课 ...

  5. MySQL运维(二)MySQL分库分表概念及实战、读取分离详解

    MySQL运维(二)MySQL分库分表详解.读取分离详解 1.MySQL分库分表相关概念 1.1 分库分表概念 1.1.1 分库的原因 分库:就是一个数据库分成多个数据库,部署到不同机器. 如果业务量 ...

  6. php中 继承中的概念,JavaScript_JavaScript中的继承方式详解,js继承的概念 js里常用的如下 - phpStudy...

    JavaScript中的继承方式详解 js继承的概念 js里常用的如下两种继承方式: 原型链继承(对象间的继承) 类式继承(构造函数间的继承) 由于js不像java那样是真正面向对象的语言,js是基于 ...

  7. [深度学习概念]·实例分割模型Mask R-CNN详解

    实例分割模型Mask R-CNN详解 基础深度学习的目标检测技术演进解析 本文转载地址 Mask R-CNN是ICCV 2017的best paper,彰显了机器学习计算机视觉领域在2017年的最新成 ...

  8. 47.逻辑卷管理2,物理卷详解,pvscan,pvcreate,pvremove,pvchange,pvdisplay

    物理卷相关操作 PV是真正的物理硬盘或分区,VG是由多块PV组成的一块逻辑区域. 常用的命令pvscan ,pvcreate,pvdisplay, pvremove, pvchange. pvscan ...

  9. 数据仓库建模方法/范式建模法/维度建模法/事实表/维度表/优缺点/建模流程/概念建模/逻辑建模/物理建模

    常见的有 范式建模法.维度建模法.实体建模法等,每种方法从本质上将是从不同的角度看待业务中的问题,不管是从技术层面还是从业务层面,都代表了哲学上的一种世界观. 1 范式建模法(Third Normal ...

  10. 《数据库系统概论》之数据库设计六步骤(需求、概念、逻辑、物理、实施、运行维护)

    文章目录 0.一图总览 1.数据库设计概述及六步骤简介 2.需求分析---步骤一 2.1 收集资料 2.2 分析整理 2.3 数据流图 2.4 数据字典 2.5 用户确认 3.概念结构设计---步骤二 ...

最新文章

  1. 使用Python,OpenCV查找图像中的最亮点
  2. 多线程编程 java_java多线程编程
  3. 一个Demo学完Android中所有的服务
  4. 皮一皮:我是谁,我在哪里,我的爸爸是哪个?
  5. python 投票脚本_使用Python脚本拉取2014 CSDN博客之星投票情况
  6. 局部变量,静态局部变量,全局变量,静态全局变量在内存中的存放区别(转)...
  7. windows备份0x80070422错误解决方法
  8. HDU 3709 Balanced Number(数位DP)题解
  9. Mybatis(6)CURD增删改查操作
  10. linux成功mysql数据直接拷贝_mysql数据库数据从一个linux系统移植到另一个linux系统的方法...
  11. c# 封装“度分秒”与弧度之间的转换 以及datagridview控件的应用
  12. 48. Be aware of template metaprogramming
  13. Android下USB的虚拟串口功能
  14. 电力IEC61850的基础知识和使用
  15. A站、B站、C站、D站、E站、F站、G站、H站、I站、J站、K站、L站、M站、N站、O站、P站、Q站、R站、S站、T站、U站、V站、W站、X站、Y站、Z站都是什么网站?Q站是什么?
  16. PCBA方案开发设计—咖啡秤厨房电子秤PCBA方案
  17. cad汉仪长仿宋体_cad长仿宋体下载
  18. 抖音服务器维护中怎么改名字,抖音怎么更改名字
  19. 一个简单的网页版钢琴(用到JQuery)
  20. python浪漫微信_教你用python做一个哄女友的微信自动回复机器人

热门文章

  1. c++filt 命令
  2. 什么是 CDN 边缘服务器 - Edge Server
  3. 设置定时器,持续调用接口
  4. 如何复制虚拟机中的数据到真实主机
  5. gem5——向简单脚本中添加缓存
  6. python在视频上方加字_如何用python 在视频上添加自己的logo
  7. Hashtable如何保证线程安全
  8. 计算机中使用资源叫什么,在计算机术语中,什么叫资源子网和通信子网?
  9. 【python包】NumPy-快速处理数据2
  10. react引入antd报错找不到antd/dist/antd.css Module not found: Error: Can‘t resolve ‘antd/dist/antd.css‘ in