SQL——数据模型
两大类数据模型
一. 概念模型
也称信息模型,它是按用户的观点来对数据和信息建
模,用于数据库设计;
二. 逻辑模型和物理模型(DBMS模型)
-
逻辑模型
逻辑模型主要包括网状模型、层次模型、关系模型、面向对象
模型等,按计算机系统的观点对数据建模,用于DBMS实现;
-
物理模型
物理模型是对数据最底层的抽象,描述数据在系统内部的表示
方式和存取方法、在磁盘或磁带上的存储方式和存取方法;
数据模型的组成要素
- 数据结构(静态)
- 数据操作(动态)
- 完整性约束条件
概念模型
基本概念
- 实体(Entity)
客观存在并可相互区别的事物称为实体;
- 属性(Attribute)
实体所具有的某一特性称为属性;
- 码(Key)
唯一标识实体的属性集称为码;
- 域(Domain)
一组具有相同数据类型的值的集合。属性的取值范围称为该属性
的域;
- 实体型(Entity Type)
具有相同属性的实体必然具有共同的特征和性质。用实体名及其
属性名集合来抽象和刻画同类实体称为实体型;
- 实体集(Entity Set)
同一类型实体的集合称为实体集。如全体学生就是一个实体集;
- 联系(Relationship)
现实世界中事物内部以及事物之间存在联系,在信息世界
中反映为实体内部的联系和实体之间的联系。
实体内部的联系通常是指组成实体的各属性之间的联系;
实体之间的联系通常是指不同实体集之间的联系;
三种联系
-
1:1联系
一个班级只有一个班长;
一个班长旨在一个班中任职;
-
1:n联系
一个班级中有若干名学生;
一个学生只在一个班级中学习;
-
m:n联系
一门课程同时有多个学生选修;
一个学生可以选修多个课程;
概念模型的一种表示方法(E-R图)
表示方式
-
实体型
-
属性
-
联系
联系也是一种实体型,可以有属性
E-R图的一个实例
最常用的数据模型
一. 非关系模型(格式化模型)
-
层次模型
-
网状模型
二. 关系模型
三. 面对对象模型
四. 对象关系模型
层次模型
层次模型用树形结构来表示各类实体以及实体间的联系;
层次模型的特点
- 结点的双亲是唯一的;
- 只能直接处理一对多的实体联系;
- 每个记录类型可以定义一个排序字段,也称为码字段;
- 任何记录值只有按其路径查看时,才能显出它的全部意义;
- 没有一个子女记录值能够脱离双亲记录值而独立存在;
层次模型的数据结构图
网状模型
关系模型
表示方式
-
关系
一个关系对应通常说的一张表; -
元素
表中的一行即为一个元组; -
属性
表中的一列即为一个属性,给每一个属性起一个名称即
属性名; -
主码
表中的某个属性组,它可以唯一确定一个元组; -
域
属性的取值范围; -
分量
元组中的一个属性值; -
关系模式
对关系的描述:
关系名(属性1,属性2,…,属性n)
关系数据模型的操纵与完整性约束
- 实体完整性
- 参照完整性
- 用户定义完整性