01-概述

人工管理 & 文件系统

方面
人工管理
文件系统

数据管理者

用户(程序员)

文件系统

数据保存

不保存

保存

数据面向的对象

某一应用程序

某一应用

数据的共享程度

无共享、冗余度极大

共享性差、冗余度大

数据的独立性

不独立,完全依赖于程序

独立性差

数据的结构化

无结构

记录内有结构,整体无结构

数据控制能力

应用程序自己控制

文件系统控制

数据库基本概念

  • 数据:描述事物的符号记录,数据库中储存的基本对象

  • 数据库:长期储存在计算机内、有组织的、可共享的大量数据的集合

    • 结构化

    • 共享度高、冗余度小

    • 独立性高:以牺牲性能为代价封装数据操作的复杂细节

      • 物理独立性:应用程序和数据的物理存储无关

      • 逻辑独立性:应用程序和数据的逻辑结构无关

    • 易扩展

  • 数据库管理系统

    • 数据安全性保护

    • 数据完整性检查

    • 数据库恢复

    • 并发控制

  • 数据库系统:数据库 数据库管理系统 应用程序 数据库管理员

数据模型

  • 定义:对现实世界数据的抽象,用以抽象、表示、处理现实世界中的数据信息

  • 满足要求

    • 比较真实的模拟现实世界

    • 容易被人所理解

    • 便于在计算机上实现

  • 数据模型:数据库系统的核心和基础

  • 数据结构:描述数据库的组成对象及对象间的联系

    • 与对象的类型、内容、性质有关

    • 与数据之间的联系有关

    • 对系统静态特性的描述

  • 数据操作:对数据库中对象的实例允许执行操作的集合,包括操作及有关的操作规则

    • 数据操作的类型:增删改查

    • 数据模型对操作的定义:操作的确切含义、操作符号、操作规则(优先级)

    • 对系统动态特性的描述

  • 数据完整性的约束条件:限定数据库状态(的变化),保证数据的正确、有效、相容

概念/逻辑/物理模型

类别
概述
应用场景

概念(信息)模型

按用户观点对数据和信息建模

数据库设计

逻辑模型

按计算机系统观点对数据和信息建模

DBMS实现

物理模型

描述数据在系统内部的表示和存取方法

数据库实现

  • (现实世界)客观对象 -> (信息世界)概念模型 -> (机器世界)数据模型

概念模型

  • 实体 Entity:客观存在且可区分的事物

  • 属性 Attribute:实体的特征

  • 码 Key:唯一标识实体的属性集

  • 实体型 Entity Type:具有相同属性的实体集合,相当于编程中的类型

  • 实体集 Entity Set:同一实体型的实体集合,相当于编程中的数组

  • 联系 Relationship:事物内部/之间的联系,即实体(型)内部的联系和实体(型)之间的联系

    • 实体之间的联系:1:1、1:N、M:N

    • 实体内部的联系:各属性之间的联系

  • 实体联系方法 Entity-Relationship Model:描述实体、属性、联系的模型,即 E-R 图

    • 实体:矩形

    • 属性:椭圆

    • 联系:菱形

常用数据模型

  • 格式化模型

    • 层次模型

    • 网状模型

  • 关系模型

  • 对象模型

    • 面向对象数据模型

    • 对象关系数据模型

关系模型

  • 关系 Relation:二维表,由行和列组成

  • 元组 Tuple:表中的一行

  • 属性 Attribute:表中的一列

  • 主码 Primary Key:唯一标识元组的属性集

  • 域:具有相同数据类型的值的集合。(取值范围)

  • 外码 Foreign Key:表中的属性,引用另一表的主码

  • 关系模式 Relation Schema:关系的描述,关系名(属性1, 属性2, ...)

  • 关系模型必须是规范化的,每一个分量是不可分的数据项,属性不能再分

关系模型的操作和完整性

  • 增删查改都是对关系的集合操作

  • 关系模型隐蔽了数据的物理存储细节

  • 关系模型的完整性

    • 实体完整性:主码非空

    • 参照完整性:外码必须是另一表的主码

    • 用户定义完整性:用户自定义的完整性约束

关系模型的优缺点

  • 优点

    • 建立在严格的数学概念技术上

    • 概念单一

    • 关系模型的存取路径对用户透明

      • 具有更高的数据独立性、安全保密性

      • 简化了程序员的工作和数据库开发建立的工作

  • 缺点

    • 查询效率低

    • 增加了开发 DBMS 的难度

数据库系统的结构

  • 开发人员角度:三级模式结构

    • 外模式:用户视图

    • 模式:数据库的全局逻辑结构

    • 内模式:数据库的物理存储结构

  • 最终用户角度

    • 单用户结构

    • 主从式结构

    • 分布式结构

    • 客户-服务器结构

    • 浏览器-服务器结构/数据库服务器多层结构

模式 实例

  • 模式 Schema:数据库全体逻辑结构和特征的描述,包含数据的逻辑结构、数据之间的联系、数据的安全性、完整性

    • 相对稳定,一个数据库只有一个模式

    • 不涉及具体的值

    • 中间层:与硬件/软件无关

    • 所有用户的公共视图

  • 实例 Instance:数据库某一时刻的状态

    • 模式的具体值,随数据库更新而变动

  • 外模式 External Schema:数据库用户使用的局部数据的逻辑结构和特征描述

    • 也称子模式/用户模式

    • 用户视图,和应用有关的数据的逻辑表示

    • 介于模式和应用之间

    • 模式和外模式:一对多

    • 外模式和应用:一对多

    • 保证数据库安全:用户只能访问外模式中的有限数据

  • 内模式 Internal Schema:数据物理结构和存储方式的描述

    • 底层相关

    • 一个数据库只有一个内模式

  • 三级模式:外模式 -> 模式 -> 内模式

  • 二级映像

    • 外模式/模式映像:每一个外模式,数据库系统都有一个外模式/模式映像,定义外模式和模式的对应关系

      • 保证数据(与程序)的逻辑独立性:模式改变时,管理员只需改变映像,而不用改变外模式和应用程序

    • 模式/内模式:唯一,定义了数据全局逻辑结构和储存结构的对应关系

      • 保证数据(与程序)的物理独立性:内模式改变时,管理员只需改变映像,而不用改变模式

数据库系统的组成

  • 硬件平台:足够大的内存、磁盘、较高的通道能力

  • 软件:DBMS、OS、编译系统、开发工具、数据库应用系统

  • 人员:数据库管理员、系统分析员和数据库设计人员、应用程序员、最终用户

最后更新于