文章目录
一、数据模型(Data Model)
1、含义:数据模型是对现实世界数据特征的抽象,是DBS的基础和核心。
2、🔺组成要素:由数据结构、数据操作和数据完整性约束三部分组成
组成要素 | |
---|---|
数据结构 | 描述系统的静态特性 |
数据操作 | 描述系统的动态特性 |
完整性约束 | 完整性规则 |
3、分类
按不同的应用层次 | 按不同的数据结构 |
---|---|
概念模型 | 层次模型 |
逻辑模型 | 网状模型 |
物理模型 | 关系模型 |
… |
1) 应用层次
① 概念模型(信息模型)——面向用户
按用户的观点对数据和信息进行建模,主要用于数据库设计
② 逻辑模型——面向工程师
按计算机系统的观点对数据建模,主要用于DBMS的实现
包括层次模型、网状模型、关系模型、面向对象数据模型、对象关系数据模型等
③ 物理模型
物理层是数据最底层的抽象,描述数据在系统内(磁盘上)的表示方式和存取方式
① 概念模型
a、 表示方式:实体-联系方法(Entity-Relationship Approach)
b、 🔺🔺🔺E-R图(E-R方法/E-R模型)
基本概念 | |
---|---|
实体(Entity) | 客观存在并可相互区别的事物 |
属性(Attribute) | 实体所具有的某一特征,一个实体可用若干属性来刻画 |
码(Key) | 也称码键、键,唯一表示实体的属性集 |
实体型(Entity Type) | 用实体名及其属性名集合来抽象和刻画同类实体 |
实体集(Entity Set) | 同一类实体的集合 |
c、联系(Relationship):实体内部的联系 指组成实体的各属性之间的联系
实体间的联系 指不同实体集之间的联系
实体间的联系有一对一(1:1)、一对多(1:m)、多对多(m:n)等多种类型
🍅 以下是我在问答区回答某个小可爱的截图,详细点->[ 通俗易懂的"栗子",吃下它 ]
2) 数据结构
① 常见模型:层次模型、网状模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型、非结构化数据模型等
② 层次模型、网状模型称为格式化模式
① 层次模型
用树形结构表示各类实体以及实体之间的联系
② 网状模型
用网状结构表示各类实体以及实体间的联系
③ 🔺 关系模型
a、数据结构
数据结构 | |
---|---|
关系(Relation) | 一个关系对应一张二维表,每一个表都有一个名称即关系名 |
元组(Tuple) | 表中的一行即为一个元组 |
属性(Attribute) | 表中的一列即为一个属性 |
码(Key) | 码键 / 键,表中某一属性或属性组,有唯一标识表中的一行 |
域(Domain) | 属性的取值范围 |
分量(Component) | 元组中的一个属性值 |
b、关系必须是规范化的
最基本的规范条件:关系中每一个分量必须是一个不可分的数据项(分量必须取原子值),🔺不允许表中还有表。
举 "栗子"
c、关系的完整性约束条件
完整性约束条件 |
---|
a、关系的两个不变性:实体完整性,参照完整性 |
b、用户定义完整性 |
d、存取路径对用户隐蔽,用户只要指出“找什么”,不必详细说明“怎么找”
二、数据库系统的结构
1、从数据库应用开发人员角度看:DBS采用三级模式结构
2、从数据库最终用户角度看:
单用户结构 主从式结构 分布式结构
客户-服务器 浏览器(Web)-应用服务器/数据库服务器
三、🔺 数据库系统的三级模式
1、千言万语💬💬💬 不如 🎯两图🎯 就可以
1) 模式
① 含义:模式(Schema)也称逻辑模式,是对DB中全体数据的逻辑结构和特征的描述, 是型的描述,不涉及具体值且模型是相对稳定的。
② 模式是数据系统模式结构的中心
2) 外模式
① 含义:外模式(External Schema)也称子模式或用户模式,是对DB用户使用的局部数据的逻辑结构和特征的描述,是DB用户的数据视图。
② 外模式与模式的关系
外模式通常是模式的子集,一个模式可以有多个外模式,反映了不同用户的应用需求、看待数据的方式,对数据保密的要求。
对模式中某一数据,在不同的外模式中结构、类型、长度、保密级别等都可以不同。
③ 外模式与应用的关系
一个外模式可以为多个应用系统所使用,一个应用程序只能使用一个外模式
④ 用途
a、每个用户只能看到和访问所对应的外模式中的数据,简化了用户视图
b、是保证数据库安全的一个有力措施
3) 内模式
① 含义:内模式(Internal Schema)也称存储模式,是数据物理结构和存储方式的描述,数据在DB内部的表示方式。
a、记录的存储方式(顺序存储、堆存储、hash存储等)
b、索引的组织方式(B+树、Bitmap、Hash等)
c、数据是否压缩存储、是否加密
d、数据存储记录结构的规定,如变长/定长
e、记录是否可跨页存放等
② 一个数据库只有一个内模式
四、数据库的二级映像(二级映射mapping)与数据独立性
1) 外模式/模式映像 ——保证了数据的逻辑独立性
当模式改变时,由DBA对各个外模式/模式的映像作相应改变,可以使外模式保持不变,应用程序是依据数据的外模式编写的,从而应用程序不必改变。
2) 模式/内模式映像 ——保证了数据的物理独立性
当DB的存储结构改变时,由DBA对模式/内模式映像作相应改变,可以使模式保持不变,从而应用程序不必改变。
3、好处
① 保证了应用程序的稳定性
除非应用需求本身发生改变,否则应用程序一般不需要修改
② 从以序为中心发展,以数据为中心
具有数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去
③ 数据的存取由DBMS管理
简化了应用程序的编制,大大减少了应用程序的维护和修改
🍅跟着 🤸♀️系列🤸♂️ 走
🍅🍅🍅 以往文章 👇