数据模型

数据模型是由数据结构、数据操作和数据完整性约束条件组成的。(所有的数据模型从这三类要素进行研究)

1)数据结构:

数据结构描述数据库的组成对象以及对象之间的联系。

2)数据库操作:
数据操作是指对数据库中各种对象的实例允许执行的操作集合,包括操作及有关操作规则。

3)数据库完整性约束条件:
数据的完整性约束条件是一组完整的规则。

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

1、概念模型(Conceptual Data Model):是一种面向用户、面向客观世界的模型,主要用来描述世界的概念化结构,它是数据库的设计人员在设计的初始阶段。

2、逻辑模型(Logical Data Model):是一种面向数据库系统的模型,是具体的DBMS所支持的数据模型。

3、物理模型(Physical Data Model):是一种面向计算机物理表示的模型,描述了数据在储存介质上的组织结构,它不但与具体的DBMS有关,而且还与操作系统和硬件有关。

概念模型(是什么?)

基本概念:

(1)实体(entity):客观存在并可相互区别的实物称为实体。

        实体可以是具体的人、事、物,也可以是抽象的概念或联系,例如:一个职工、一个学生等是实体。
(2)属性(attribute):实体所具有的某一个特性称为属性。

        一个实体可以由若干个属性来刻画。一个学生实体可以由学生号、姓名、出生年月等,属性组合(2019001,张三,男,19940505)即表征了一个学生。
(3)码(key):唯一标识实体的属性集称为码。

        例如学号是学生实体的码。
(4)实体型(entity type):具有相同属性的实体必然具有相同的特征和性质。

        用实体名及其属性名来抽象和刻画同类实体,称为实体型,如学生(学生号、姓名、出生年月)就是一个实体型
(5)实体集(entity set):同一类型实体的集合称为实体集。

        例如全体学生就是一个实体集。
(6)联系(relationship):实体之间的联系是指不同实体集之间的联系。

单个实体内部的联系也有一对一、一对多、多对多的关系

一对一:实体集A中每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则实体集A与实体集B具有一对一关系。

独生子女家庭是一个实体,一个爸爸有一个孩子,一个孩子也有一个爸爸

一对多:实体集A中每一个实体,实体集B中有n个实体(n>=0)与之联系,反之,实体B中的每一个实体,实体集A中至多只有一个实体与之联系,则实体A与B有一对多联系。

员工是一个实体,员工中存在着领导与被领导的关系。一个具有领导地位的员工可以领到多个员工,而普通员工只能被一个员工领导

多对多:实体集A中每一个实体,实体集B中有n个实体(n>=0)与之联系,反之,实体B中的每一个实体,实体集A中也有M个实体,则实体A与实体B具有多对多联系。

例如:

1、零件是一个实体,零件中有大零件和小零件。一个大零件可以有很多小零件来构成,一个小零件也可以构成许多种类型的大零件。

2、一门课程有若干个学生选修,而一个学生同时选修多门课程,则课程实体与学生实体具有多对多联系。

三个实体内部的联系 (实体型之间的多对多联系和三个实体型两两之间的多对多联系)

实体型之间的多对多联系:供应商、项目、零件之间的关系。

一个供应商可以供给多个项目多种零件,每个项目可以使用多个供应商供应的零件,每种零件可以有多个不同的供应商供给。但是项目和零件之间没有联系。就是有一种联系、三种相关

三个实体型两两之间的多对多联系:银行、贷款、存款之间的关系。

一个银行可以为许多人提供贷款服务和存款服务,一个人也可以到多个银行贷款和存款。但是存款和贷款可以以私人借贷的联系存在。就是有三种联系。

概念模型是对信息世界的建模,实体——联系方法(Entity—Relationship approach)

E-R模型用矩形框表示现实世界中的实体,用菱形框表示实体间的联系,用椭圆框表示实体和联系的属性,对于作为实体标识符的属性,在属性名下画一条横线

实体与相应的属性之间,联系与相应的属性之间用线段连接

联系与其涉及的实体之间也用线段连接,同时在线段旁标注联系的类型(1:1  ,  1:n  ,  m:n)

逻辑模型(做什么?)

逻辑模型就是要将概念模型具体化,就是要实现概念模型所描述的东西,需要哪些具体的功能,处理哪些具体的信息,是对概念模型的进一步细化。

  以销售业务为例:“客户”信息基本上要包括:

        单位名称,联系人,联系电话,地址等属性;“商品”信息基本上要包括:名称,类型,规格,单价等属性;

        “定单”信息基本上要包括:日期和时间属性。并且“定单”要与“客户”,“业务员”和“商品”明细关联。

  系统需要建立几个数据表:业务员信息表,客户信息表,商品信息表,定单表。

  系统要包括几个功能:业务员信息维护,客户信息维护,商品信息维护,建立销售定单 。

常用的逻辑模型有层次模型,网状模型和关系模型三种。

(1)层次模型(倒转的树)(被淘汰,现少用)

1)有一个节点没有父节点,这个节点即根节点。

2)其他节点有且仅有一个父节点。

缺点:不能直接表示多对多的实体联系,必须分解为几个一对多的联系才能表示出来

(2)网状模型(被淘汰,现少用)

1)可以有一个以上的节点无父节点。

2)至少有一个节点有多于一个的父节点。

(3)关系模型(现在用)

关系模型是用二维表格来表示实体及其相互之间的关系,每个二维表称为一个关系。每个关系均有一个名字,称为关系名。

重点研究了关系模型的

数据结构:实体与实体之间的联系都用关系来表示,而关系就是一张规范化的二维表,关系模型中的数据项不能再分,不能出现表套表的情况

数据操作:查找()、插入(insert)、删除()、修改()

完整性约束条件:(三类完整性)

实体完整性、参照完整性、用户定义的完整性

物理模型(怎么做?)

  物理模型是对真实数据库的描述。

        如关系数据库中的一些对象为表、视图、字段、数据类型、长度、主键、外键、索引、约束、是否可为空、默认值。

  在具体的物理介质上实现出来。如:数据库使用SQL Server 2000,这样就可以编写具体的SQL脚本在数据库服务器上将数据库建立起来。其中包括业务员信息表,客户信息表,商品信息表,定单表。

数据独立性研究的就是:应用程序与数据(数据逻辑独立性和数据物理独立性)的独立关系

数据库系统(DBS)>  数据库(DB)> 数据库管理系统

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

  1. (理论)数据库建模三步骤:概念模型-逻辑模型-物理模型

    概念模型就是在了解了用户的需求,用户的业务领域工作情况以后,经过分析和总结,提炼出来的用以描述用户业务需求的一些概念的东西.如销售业务中的"客户"和"定单",还 ...

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

    设计数据库有如下6个主要步骤: 1.需求分析:了解用户的数据需求.处理需求.安全性及完整性要求: 2.概念设计:通过数据抽象,设计系统概念模型,一般为E-R模型: 3.逻辑结构设计:设计系统的模式和外 ...

  3. mysql逻辑模型_(理论)数据库建模三步骤:概念模型-逻辑模型-物理模型

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

  4. e-r数据建模-概念模型 逻辑模型 物理模型-总结

    作为一名合格的Java程序员,公司要求要掌握的知识面越来越多.特别对于一些小型公司岗位并没有分的很细化,所以在平时开发中就要求各种技能同时兼顾.一般从产品对接业务确定以后,后面就要设计数据库建模了.但 ...

  5. 1.2 《数据库系统概论》之数据模型(概念模型、逻辑模型--物理模型、层次模型、网状模型、关系模型、面向对象模型、对象关系模型)

    文章目录 0.思维导图 1.数据模型的概念 2.两大类数据模型 客观对象的抽象过程---两步抽象 3.数据模型的组成要素 (1)数据结构 (2)数据操作 (3)数据的完整性约束条件 4.概念模型 (1 ...

  6. 【计算机基础】数据库中的数据模型——概念模型、逻辑模型、物理模型

    数据模型应满足三方面的要求,一是比较真实的模拟现实世界,二是容易被人理解的方式,三是便于在计算机中实现.一种模型要很好地满足这三方面的要求目前尚很困难,因此数据库中针对不同的对象和使用目的,采用不同的 ...

  7. 数据模型|组成要素、概念模型、逻辑模型

    数据模型 文章目录 数据模型 组成要素 数据结构 数据操作 数据的完整性约束条件 概念模型 基本概念 表示方法 逻辑模型 层次模型 网状模型 关系模型 关系数据结构 关系操作集合 关系完整性约束 面向 ...

  8. 数据库建模,概念模型、逻辑模型、物理模型的区别和转化

    关于数据库理论中概念模型.逻辑模型.物理模型之间的区别.随机复习上网并复习,并在此记录一下,数据库建模是对现实世界进行分析.抽象.并从中找出内在联系,进而确定数据库的结构. 1.概念模型:就是从现实世 ...

  9. 概念模型、逻辑模型和物理模型的重新理解

    还记得学习数据库系统原理时,米老师带着我们看了一二章.这其中主要讲的就是这三种模型.当时觉得自己可懂了.可是前几天师父在验收软工文档时说,来给我说说这三种模型吧,才发现自己连个一二三都说不出来,在风中 ...

  10. 关于数据库建模,概念模型、逻辑模型、物理模型的区别和转化

    一.关于数据库理论中概念模型.逻辑模型.物理模型之间的区别. 二.数据库建模是对现实世界进行分析.抽象.并从中找出内在联系,进而确定数据库的结构. 1.概念模型:就是从现实世界到信息世界的第一层抽象, ...

最新文章

  1. 2.微服务间调用ribbon
  2. redhat及deban系列linux软件管理的一些问题
  3. CSS学习之多类别选择器
  4. oracle怎么查询换行符,关于oracle:如何检查表中所有列的换行符
  5. 将替代ListView的RecyclerView 的使用(一)
  6. UE4学习-程序崩溃,如何恢复工程
  7. sql server 2005 数据库状态 变成 可疑的解决方案
  8. ADBPGGreenplum成本优化之磁盘水位管理
  9. css样式表中的样式覆盖顺序(转)
  10. oracle创建视图类型为日期,oracle创建视图包含clob字段,报错:数据类型不一致:应为-,但却获得CLOB...
  11. 都市男女的32声叹息
  12. 六度分离 HDU - 1869 (最短路径)
  13. c语言的编程特点,c语言编程是什么?C语言编程的特点和应用
  14. github 不可不知的10个Github功能
  15. kt条件例题运筹学_运筹学讲解习题
  16. ~《概率论》~贝叶斯公式
  17. Chrome扩展程序应用商店方式一
  18. 小虾米的求助Massage
  19. gdp python 变迁动图_十分钟,用 Python 带你看遍 GDP 变迁
  20. 阿里云服务器ECS与传统服务器有哪些区别?

热门文章

  1. Axure 9软件功能区域、界面介绍
  2. 龙芯3A3000 PCI 硬件问题
  3. ios10前台收到推送_APP在前台收到推送消息时也会弹出提醒?
  4. [译] APT分析报告:02.钓鱼邮件网址混淆URL逃避检测
  5. SpringMVC框架中@Controller类的方法的返回值的详细介绍
  6. 一行代码蒸发64亿?!形式化验证帮你一秒避免悲剧
  7. Photoshop之快速蒙版Q
  8. 关于编译错误ambiguous call of overridden pre R14 auto-imported BIF get/1
  9. zigbee网络各层的主要功能
  10. 阿里云Hologres外部表的创建及使用