数据库绪论

数据库系统概述

1.1.1 数据, 数据库, 数据库管理系统, 数据库系统

    1. 数据: 数据是数据库中存储的基本对象
      描述事物的符号记录成为数据. 描述事物的符号可以是数字, 也可以是文字, 图形, 图像, 声音, 语言等, 数据有多重变现形式, 他们都可以经过数字化后存入计算机
      数据和数据解释是不可分的
  1. 数据库(DataBase , 简称 DB)
    数据库是长期存储在计算机内, 有组织的, 可以共享的大量数据的集合, 数据库中的数据按一定的数据模型组织, 描述和存储, 具有较小的冗余度, 较高的数据独立性,和易扩展性, 并可为各种用户共享

    冗余度,通俗的讲就是数据的重复度。在一个数据集合中重复的数据称为数据冗余

     - 有组织
     - 可共享
    - 永久存储
    
    1. 数据库管理系统(DataBase Managerment System, DBMS)
      科学的组织和存储数据, 高效获取和维护数据,的一个系统软件----数据库管理软件
      功能:
      - 1. 数据定义功能
      DBMS 提供数据定义语言(Data Definition Language, DDL), 用户通过它可以方便的对数据库中的数据对象进行定义.
      2. 数据组织, 存储和管理
      DBMS 要分类组织, 存储和管理各种数据, 包括数据字典, 用户数据, 数据的存取路径等, 要确定以何种文件结构和存取方式在存储级上组织这些数据, 如何实现数据之间的联系, 数据组织和存储的基本目标是提高存储空间利用率和方便存取, 提供多种存取方法(如, 索引查找, Hash 查找, 顺序查找等)来提高存取效率
      3. 数据操纵功能
      DBMS 还提供数据操纵语言(Data, Manipulation Language, DML), 用户可以使用DML操纵数据, 实现对数据库的基本操纵, 如查询, 插入, 删除, 和修改等
      4. 数据库的事物管理和运行管理
      数据库在建立, 运用和维护时由数据库管理系统统一管理, 统一控制, 以保证数据的安全性,完整性,多用户对数据的并发发使用及发生故障后的系统恢复.
      5. 数据库的建立和维护功能
      它包括: 数据库处事数据的输入, 转换功能, 数据库的转储,恢复功能, 数据库的重组织功能和性能监视,分析功能等, 这些功能通常是由一些实用程序或管理工具完成
      6. 其他功能
      包括: DBMS 与网络中其他软件系统的通信功能, 一个DBMS 与另一个DBMS或文件系统的数据转换功能, 异构数据库之间的互访和互操作功能等.
    2. 数据库系统(DataBase System, DBS)
      数据库系统是指在计算机系统中引入数据库后的系统, 一般由数据库, 数据库管理系统(及其开发工具), 应用系统, 数据库管理员构成, 应当指出的是, 数据库的建立, 使用和维护等工作只靠一个DBMS远远不够, 还要有专门的人员来完成, 这些人称为数据库管理员(DataBase Administrator, DBA)

1.1.2 数据管理技术的产生和发展

    1. 人工管理阶段
2. 文件系统阶段
3. 数据库系统阶段

1.1.3 数据库系统的特点

    1. 数据结构化
2. 数据的共享性高, 冗余度低, 易扩充
3. 数据独立性高
    - 物理独立性
    - 逻辑独立性
4. 数据由DBMS统一管理和控制
    数据控制功能
    1. 数据的安全性保护(Security)
    2. 数据的完整性(Integrity)
    3. 并发(Concurrency)
    4. 数据恢复(Recovery)

1.2 数据模型

  • 数据模型(Data Model) 是现实世界数据特征的抽象

1.2.1 两类数据模型

  • 数据模型三方面的要求:
    • 1.比较真实地模拟现实世界
    • 2.容易为人所理解
    • 3.便于在计算机上实现

第一类模型: 概念模型(Conceptual Model), 也称信息模型 , 它是按用户的观点来对数据和信息建模, 主要用于数据库设计

第二类模型: 层次模型(Hierarchical Model), 网状模型(Network Model), 关系模型(Relational Model), 面向对象模型(Object Oriented Model) 和对象关系模型(Object Relational Model), 按照计算机的观点来建模.

现实世界---->(抽象)--->信息世界(概念模型)----->机器世界(DBMS支持的数据模型)


1.2.2 数据模型的组成要素

数据结构 ** 数据操作** 数据完整性

  • 数据结构:
    • 与对象的类型, 内容, 性质有关,
      如:网状模型中的数据项,记录,
      关系模型中的域,属性,关系 数据之间联系有关的对象, 例如:网状模型中的系型(Set Type)
    • 数据操作: 对数据库中各种对象(型)的事例(值)允许执行的操作的集合,包括操作及有关的操作规则. 如查询,更新(插入,删除,修改)
    • 数据的完整性约束条件

1.2.3 概念模型

    1. 信息世界中的基本概念
      • 实体(Entity)
        客观存在并可互相区别的事物
      • 属性(Attribute)
        实体的某一特性
      • 码(Key)
        唯一标识实体的属性集
      • 域(Domain)
        属性的取值范围
      • 实体型(Entity Type)
        具有相同属性的实体必然具有共同的特征和性质
      • 实体集(Entity Set)
        同一类型实体的集合
      • 联系(Relationship)
        实体内部的联系,指组成实体的各属性之间的联系
        实体之间的联系通常是指不同实体集之间的联系
  • 2.两个实体型之间的联系

    1.1:1
    2.1:n

    3.m:n
    4.两个以上实体之间的联系
    1:m:n
    m:n:p
    5.单个实体型内的联系
    1:1 1:n n:m

  • 概念模型的一种表示方法: 实体---联系方法(Entity-Relationship Approach) 即 E-R 图, E-R模型

    • 矩形: 实体型
    • 属性: 椭圆
数据库绪论_第1张图片
实体及属性图.png

- 联系: 菱形

数据库绪论_第2张图片
实体及其联系图.png
数据库绪论_第3张图片
完整的实体-联系图.png

- [实体及属性图]
- [实体及其联系图]
- [完整的实体-联系图]

数据库绪论_第4张图片
E-R图1.png
数据库绪论_第5张图片
E-R图2.png

1.2.4 最常用的数据模型

  • 常用的数据模型分类
    • 层次模型(Hierarchical Model)
    • 网状模型(Networking Model)
    • 关系模型(Relational Model)
    • 面向对象模型(Object Oriented Model)
    • 对象关系模型(Object Relaional Model)
  • 下面的节点都是针对非关系模型
    • 双亲节点: 某个节点的上一个节点(有且只有一个)
    • 子女节点: 某个节点的下一个节点(可以有多个)

1.2.5 层次模型(略)

  • 层次数据模型模型的数据结构
    层次模型的条件:

  • 有且只有一个节点无双节点, 叫做根节点

  • 根节点之外的其他节点有且只有一个双亲节点

    节点=记录类型
    节点---(有箭头线段)----节点
    只能处理 1:n 一对多的实体联系

    兄弟节点: 同一双亲的子女节点
    叶节点: 没有子女节点

  • 多对多联系在层次模型中的表示
    - 冗余节点法
    - 虚拟节点法

  • 层次模型的数据操纵与完整性约束
    - 插入(必须给出相应的双亲节点信息)
    - 删除(对应的子女节点也会被删除)

  • 层次数据模型的存储结构
    1.邻接法 (依次邻接存放)
    2.链接法 (子女,兄弟指针指向)

  • 层次模型的优缺点
    优点
    1. 层次模型数据结构简单清晰
    2. 查询效率高
    3. 完整性支持
    缺点:
    1. 只能表示一对多的联系, 而生活中大多数是多对多
    2. 当一个节点具有多个双亲时, 会很负责
    3. 必须通过双亲节点查询子女节点
    4. 结构严密, 趋于程序化
    层次模型非常适合公司职务管理, 家族


1.2.6 网状模型

  • 网状数据模型的数据结构
    条件:

    • 允许一个以上的终点无双亲
    • 一个节点可以有多于一个双亲
  • 网状数据模型的操纵与完整性约束

    有点乱

  • 网状数据模型的存储结构
    果然比层次模型要复杂(略过, 详细看教材)

  • 网状数据模型的优缺点
    优点:
    - 能够更为直接地描述现实世界, 如一个节点可以有多个双亲, 节点之间可以有多种联系
    - 具有良好的性能, 存取效率较高
    缺点
    - 机构比较复杂, 而且随着应用环境的扩大, 数据库的结构就变得越来越复杂, 不利于最终用户掌握
    - 网状模型的DDL,DML复杂, 而且要嵌入某一种高级语言(如:COBOL,C) 中, 用户不容易掌握, 不容易使用

1.2.7 关系模型(重点)

  • 关系数据模型的数据结构
    关系模型由一组关系组成, 每个关系的数据结构是一张规范化的二维表

    一些术语:
    - 关系(Relation): 一张表
    - 元祖(Tuple): 行
    - 属性(Attribute): 列
    - 码(key): id
    - 域(Domain): 属性的取值范围
    - 分量: 具体的一个属性值
    - 关系模式: 表格描述

  • 关系数据魔心的操纵与完整性约束
    关系的完整性约束条件:
    - 实体完整性
    - 参照完整性
    - 用户定义完整性
    3.关系素具模型的存储结构
    一个表, 对应一个操作系统文件
    也可以自己设计表, 索引等存储机构

  • 关系数据模型的优缺点
    优点:
    1. 建立在严格的数学概念基础上
    2. 概念单一, 一切以表的形式展现, 数据结构简单,清晰,用户易懂易用
    3. 存取路径对用户透明, 数据独立性, 安全保障性, 简化了程序员的的工作, 和数据库开发建立工作
    缺点.....


1.3 数据库系统结构

1.3.1 数据库系统模式的概念

模式(Schema) 是数据库中全体数据的逻辑结构和特征的描述


1.3.2 数据系统的三级模式结构

外模式 模式 内模式

  • 模式(Schema)
    模式也称为逻辑模式, 是数据库中全体数据的逻辑结构和特征描述,是所有用户的公共数据视图
    是数据库系统模式中间层, 不涉及物理存储细节和硬件环境, 也和具体的应用程序, 所使用的应用开发工具及高级程序语言(如: C , COBOL FORTRAN)无关

一个数据库, 只有一个模式

定义模式时, 不仅要定义数据的逻辑结构, 例如数据记录由那些数据项构成,数据项的名字, 类型, 取值范围等, 而且要定义数据之间的联系, 定义与数据有关的安全性, 完整性要求

  • 外模式(External Schema)
    外模式又称为子模式(Subsechema) 或用户模式
    他是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述, 是数据库用户的数据视图, 是与某一应用有关的数据的逻辑表示

一个数据库可以有多个外模式
一个外模式可以被多个应用系统使用

    一个应用程序只能使用一个外模式
  • 内模式(Internal Schema)
    内模式被称为存储模式(Storage Schema)
    一个数据库只有一个内模式, 是数据物理结构和存储方式的描述, 是数据在数据库内部的表示方式
    例如: 记录的存储方式是 堆存场
    某个属性值得升(降)序存储
    属性值聚簇(cluster)存储
    索引按照什么方式组织:
    B+ 树索引,
    hash 索引
    是否压缩存储
    是否加密
    数据的存储记录结构有何规定, 如定长结构或变长结构, 一个记录不能跨物理页存储等

1.3.3 数据库的二级映像功能 与数据独立性

  • 外模式/模式映像
    模式描述的数据的全局逻辑结构, 外模式描述的是数据的局部逻辑结构,对应同一个模式可以有任意多个外模式. 对于每一个外模式, 数据库系统都有一个外模式/模式映像, 它定义了该外模式与模式之间的对应关系,这些映像定义通常包含在各自外模式的描述中.

  • 模式/内模式映像
    数据库中只有一个模式, 也只有一个内模式, 所有模式/内模式映像是唯一的, 定义了数据全局逻辑结构与存储机构之间的对应关系, 该映像定义通常包含在模式描述中.

    其中 数据库模式即全局逻辑结构是数据库的中心与关键, 设计数据模式结构时, 应首先确定数据库的逻辑模式


1.4 数据库系统的组成

  • 硬件平台及数据库
    1. 足够大的内存, 存放操作系统DBMS核心模块数据缓冲区`应用程序
    2.足够大的磁盘或磁盘阵列等设备存放数据库, 有足够的磁带(或光盘)作数据备份
    3.要求系统有较高的通道能力, 以提高数据传送率
  • 软件
    1. DBMS, DBMS 是为数据库的建立, 使用和维护配置的系统软件
    2. 支持DBMS运行的操作系统
    3. 具有与数据库结构的高级语言及编译系统, 便于开发应用程序
    4. 以DBMS为核心的应用开发工具
    5. 为特定应用环境开发的数据库应用系统
    -人员
    1. 数据库管理员(DataBase Administrator, DBA)
    职责如下:
    1. 决定数据库中的信息内容和结构
    2. 决定数据库的存储结构和存取策略
    3. 定义数据的安全性要求和完整性约束条件
    4. 监控数据库的使用和运行
    5. 数据库的改进和重组重构
    2. 系统分析员和数据库设计人员
    3, 应用程序员
    4. 用户

你可能感兴趣的:(数据库绪论)