SQL——数据模型

两大类数据模型

一. 概念模型

也称信息模型,它是按用户的观点来对数据和信息建
模,用于数据库设计;

二. 逻辑模型和物理模型(DBMS模型)

  • 逻辑模型

逻辑模型主要包括网状模型、层次模型、关系模型、面向对象
模型等,按计算机系统的观点对数据建模,用于DBMS实现;

  • 物理模型

物理模型是对数据最底层的抽象,描述数据在系统内部的表示
方式和存取方法、在磁盘或磁带上的存储方式和存取方法;
SQL——数据模型

数据模型的组成要素

  • 数据结构(静态)
  • 数据操作(动态)
  • 完整性约束条件

概念模型

基本概念

  • 实体(Entity)

客观存在并可相互区别的事物称为实体;

  • 属性(Attribute)

实体所具有的某一特性称为属性;

  • 码(Key)

唯一标识实体的属性集称为码;

  • 域(Domain)

一组具有相同数据类型的值的集合。属性的取值范围称为该属性
的域;

  • 实体型(Entity Type)

具有相同属性的实体必然具有共同的特征和性质。用实体名及其
属性名集合来抽象和刻画同类实体称为实体型;

  • 实体集(Entity Set)

同一类型实体的集合称为实体集。如全体学生就是一个实体集;

  • 联系(Relationship)

现实世界中事物内部以及事物之间存在联系,在信息世界
中反映为实体内部的联系和实体之间的联系。
实体内部的联系通常是指组成实体的各属性之间的联系;
实体之间的联系通常是指不同实体集之间的联系;

三种联系

SQL——数据模型

  • 1:1联系

SQL——数据模型

一个班级只有一个班长;
一个班长旨在一个班中任职;


  • 1:n联系

SQL——数据模型

一个班级中有若干名学生;
一个学生只在一个班级中学习;


  • m:n联系

SQL——数据模型

一门课程同时有多个学生选修;
一个学生可以选修多个课程;

概念模型的一种表示方法(E-R图)

表示方式

  • 实体型
    SQL——数据模型

  • 属性
    SQL——数据模型

  • 联系
    SQL——数据模型

联系也是一种实体型,可以有属性
SQL——数据模型

E-R图的一个实例

SQL——数据模型

最常用的数据模型

一. 非关系模型(格式化模型)

  • 层次模型

  • 网状模型

二. 关系模型

三. 面对对象模型

四. 对象关系模型

层次模型

层次模型用树形结构来表示各类实体以及实体间的联系;

层次模型的特点

  1. 结点的双亲是唯一的;
  2. 只能直接处理一对多的实体联系;
  3. 每个记录类型可以定义一个排序字段,也称为码字段;
  4. 任何记录值只有按其路径查看时,才能显出它的全部意义;
  5. 没有一个子女记录值能够脱离双亲记录值而独立存在;

层次模型的数据结构图

SQL——数据模型

SQL——数据模型

网状模型

SQL——数据模型

关系模型

表示方式

SQL——数据模型

  • 关系
    一个关系对应通常说的一张表;
  • 元素
    表中的一行即为一个元组;
  • 属性
    表中的一列即为一个属性,给每一个属性起一个名称即
    属性名;
  • 主码
    表中的某个属性组,它可以唯一确定一个元组;

  • 属性的取值范围;
  • 分量
    元组中的一个属性值;
  • 关系模式
    对关系的描述:
    关系名(属性1,属性2,…,属性n)

关系数据模型的操纵与完整性约束

  • 实体完整性
  • 参照完整性
  • 用户定义完整性