天天看点

数据库系统概论-学习笔记引言ch01 基本知识与关系模型ch02 数据库系统的结构抽象与演变

引言

数据库系统概述

1、数据库和其他课程的关系:

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LP0eD2c8-1630849201817)(截图\数据库和其他课程的关系.png)]
  1. 离散数学
    • 图、数、集合、关系数理逻辑等基本的数学性质
  2. 数据结构
    • 内存中数据的快速操作
  • 离散数学的知识应用到数据库中
  1. 操作系统
    • 文件操作
    • 内存管理
  2. 软件工程:
    • 软件项目的设计与实现
  3. 编译原理:
    • 语句 及其操作的识别
  • 综合来看:数据库需要:
    • 内存和外存结合的数据操作
    • 大规模的数据操作
    • 操作的执行算法的实现
    • 数据库设计与实现

2、课程特点:

  • 思维: 数据库的思维:
    • 其实就是集合、逻辑、与对象的思维
  • 应用: 数据库语言SQL其实是:
    • 结构化和面向对象程序设计语言的补充
  • 管理:主要就是管理:
    • 数据的存储
    • 数据的查询的算法和效率

ch01 基本知识与关系模型

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-55Yifup6-1630849201820)(./截图/QQ截图20210904171531.png)]

1、数据库是一种思维?

  • 1.学习将各种各样的数据聚集起来形成数据库,实现积累的能力
  • 2.学会应用数据库实现积累的效益
  • 为了达到这两种效果,我们就要学习数据库管理和控制的手段

2、简要的大数据观点:

  1. 只求关系,不求因果
    • 理解:关系和因果之间的区别:
      • 因果必然是相关的,但是相关未必是因果
  2. 部分数据集上的分析到全数据集上的分:
    • 其实就是从抽样到全数据
  3. 不要相信经验,一切以数据说话

3、数据、数据库、大数据之间的关系

4、什么是数据库?

  1. 自然角度:

    Collection of related data

    相互有关联关系的数据的集合就叫数据库

  2. 计算机角度:

    Stroage place for data

    如何存储这些数据

    Get information from

    如何对这些数据进行检索、插询、获取有用信息、进行数据的变换

  3. 数据库的起源:
    • 规范化 表(Table) 的处理
    • 什么是表?
      • 以按行按列形式组织及展现的数据

5、什么是表

  1. 对表的抽象:
    1. 什么是抽象:
      • 理解 - 区分 - 命名 - 表达
        1. 理解: 能否区分开目标场景中的相关要素
        2. 区分: 对每一个要素进行恰当的 命名,命名好了之后,人们一看到这个名字就能想起相关的要素
        3. 命名
        4. 表达
    2. 【重点】:表的常用术语:
    Table中描述了一批有相互有关联关系的数据==->关系
    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vmVLSxQj-1630849201822)(截图\表的常用术语.png)]
      1. 表/关系(Table):整个数据的集合
      2. 从行的角度看,一张表可以分为:
        1. (关系)模式:就是表的结构
          • 表名
            • 这张表是干什么用的
          • 表标题(格式)
            • 每一列的含义
        2. 表内容(值)
          • 行/元组/记录(row/tuple/record)
      3. 从列的角度:
        • 列/字段/属性/数据项(column/field/attribute/data item)
          • 列名
          • 列值

什么是数据库(Database)?

  • 相互之间关联关系的若干Table的集合
    • 关联关系:
      • 1.表本身之间有关联关系:一行数据之间每个列值之间的关系
      • 2.表之间有关联关系

6、数据库的分类:

  1. 结构化的数据库
    • 表形式的数据库
  2. 非结构化的数据库
    • 图像数据库
    • 工程数据库

7、什么是数据库系统

1、数据库系统的构成——概念层次

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ea0PDq2c-1630849201827)(截图\概念层次.png)]
  • 数据库系统(工作环境):
    1. 数据库(DB):Database
    2. 数据库管理系统(DBMS):Database Management System
    3. 数据库应用(DBAP):DataBaseApplicaton
      • 完成某种特定功能(数据库某种操作)应用程序
    4. 数据库管理员(DBA):DataBase Administrator
    5. 计算机基本系统:

2、数据库系统的构成——实例层次

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xtfy7lsx-1630849201830)(截图\数据库系统实例.png)]

8、什么是数据库管理系统:

1、从用户的角度看数据库管理系统的功能:

1、数据库管理系统DBMS必须提供给用户一下几种语言:

  1. 数据定义语言:DDL(definition)
    • 用户使用DDL,定义表名、表标题、列名及其结构形式
  2. 数据操纵语言:DML(Manipulation)
    • 增删改查、检索、统计
  3. 数据控制语言:DCL(Control)
    • 定义对不同操作的约束
    • 对不同操作者(用户)的约束
  • 注意:
    1. 以上的语言组成了SQL语言:结构化的数据库语言
    2. 以上语句由DBMS去执行

2、数据库语言简介:

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x1PLfW0T-1630849201833)(截图/数据库语言.png)]
  • 数据库语言与高级语言:
    • 一条数据库语言相当于高级语言的一个或多个循环程序
    • 数据库语言可以嵌入到高级语言(宿主语言)中使用

2、从系统角度看DBMS的功能?

  • 解析语言并执行的系统
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JmDZmNpX-1630849201834)(./截图/DB.png)]
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-luoJSe47-1630849201837)(./截图/DBMS运行一系列的程序.png)]
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xpzKg67b-1630849201839)(./截图/各种程序2.png)]
  • 数据库中运行的各种程序:
    • 语言编译器:
      • 将数据库语言书写的内容,翻译成DBMS可执行的命令。
    • 查询优化(执行引擎)与查询实现(基本、命令的不同执行算法)
      • 提高数据库检索速度的手段;如:贯穿于数据存取各个阶段的优化程序
    • 数据存取与索引:提供数据在磁盘、磁带等上的高效率存取手段。如:存储管理器,缓冲区管理器,索引/文件和记录管理器等
    • 通信控制
      • 提供网络环境下数据库操作与数据传输的手段
    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fy1PnvXK-1630849201841)(./截图/各种控制程序.png)]
  • 典型的数据库管理系统:
    • Oracle
    • Sysbase
    • DB2
    • Mysql

9、数据库岗位

SQL的分类:

交互式SQL
  • 交互式SQL是指在终端交互方式下使用的SQL语言称为交互式SQ
嵌入式SQL
  • 嵌入式SQL是一种将SQL语句直接写入C语言,COBOL,FORTRAN, Ada等编程语言的源代码中的方法
  • 1.终端用户
    • 1.初级用户:不懂SQL语言
    • 2.非正式用户:了解SQL语言,可以利用数据库管理系统、利用交互式的SQL语句进行数据库的操作(Naviat…)
      • 交互式SQL
  • 2.应用程序员:
    • 能够开发数据库应用程序DBAP给普通用户使用
    • 要求:
      • 需要掌握嵌入式的SQL语言
      • 数据库的事务相关的理论
      • 高级程序语言
  • 3.数据库分析和设计工程师:
    • 数据建模、数据库的设计:规范化理论、模式设计理论
  • 4.数据库的管理员:DBA
    • 数据库管理和维护:
      • 安全性
      • 可靠性
      • 完整性
      • 性能优化
  • 5.数据库管理系统的开发和设计人员:
    • 操作系统特定的了解
  • 6.特定的或新型数据库的开发人员:

ch02 数据库系统的结构抽象与演变

本章重难点

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ylfZFKxF-1630849201842)(./截图/ch02重难点.png)]

1、数据库系统的标准结构

  1. DBMS管理数据的三个层次:
    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a7E5Y8J7-1630849201844)(./截图/数据的三个层次.png)]
    1. External Level = User Levle
      (外部层次 = 用户层次)
      • 某一用户能够看到与处理的数据,全局数据中的某一部分
    2. Conceptual Level = Logic Level
      (全局层次或者逻辑层次)
      • 从全局角度理解/管理的数据,含相应的关联约束
    3. Internal Level = Physical level
      (内部层次或者物理层次)
      • 存储在介质上的数据,含存储路径、存储方式、索引方式等
  2. 数据 与 数据的结构(模式):
    1. 模式(Schema):
      1. 对数据库中的数据所进行的一种结构性的描述
      2. 所观察到数据的结构信息
    2. 视图(View)/ 数据(data)
      • 某一种表现形式下表现出来的数据库中的数据
  3. 三级模式(三级视图):
    1. External Schema ---- External View
      • 某一用户能够看到与处理的(局部)数据 ---- 的结构描述
    2. Conceptual Schema ---- Conception View
      • 从全局角度理解/管理的数据 ---- 的结构描述,含相应的关联约束体现在数据之间的内在本质联系
    3. Interanl Schema ---- Internal View
      • 存储在介质上的数据 ---- 的结构描述,包含存储路径、存储方式、索引方式等
    • 注意
    1. 三级模式的别名:
      1. 内模式 – 概念模式 – 外模式
      2. 物理模式/存储模式 ---- 全局模式/逻辑模式 ---- 用户模式
    2. 从结构的角度叫做:模式

      从数据的角度叫做视图

    3. 默认的命名:
      1. “模式”:指的是全局模式
      2. “视图”:值的是外部视图(View某一个用户看到的数据)
  4. 两层映像
    • 【理解】: 什么是映像?
      • 将一种结构映射为另一种结构中间有一个映射的过程,将这个映射的过程称为映像
    • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1dmUwE9B-1630849201845)(./截图/两层映像.png)]
    1. E-C Mapping:
      • 将外模式映射为概念模式从而 支持 实现 数据 概念视图 向 外部视图 的转换,便于用户观察和使用
    2. C-I Mapping:
      • 将概念模式映射为内模式从而 支持 实现 数据 概念视图 向 内部视图 的转换,便于计算机进行存储和处理
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wzpuCSks-1630849201847)(./截图/三层模式两级映像.png)]
    • 1.HL:宿主语言
    • 2.DSL:数据子语言
    • 3.开发数据库应用程序的时候,不是基于全局视图去开发,而是基于外部视图
  1. 从三级模式两层映像的角度去理解DBMS的功能?
    1. 让用户去定义这三级模式
    2. 通过程序自动的去实现这两层映像
  2. 两个独立性
    • 思考为什么:开发数据库应用程序的时候,不是基于全局视图去开发,而是基于外部视图?
    • 两个独立性:
      1. 逻辑数据独立性:
        • 当概念模式发生变化的时候,可以不改变外部模式(只需改变E-C Mapping),从而无需改变应用程序
      2. 物理数据独立性:
        • 当内部模式变化时,可以不改变概念模式(只需改变C-I Mapping),从而不改变外部模式
    • 通过这两个独立性可以保证应用程序尽量不因逻辑或者物理结构的改变而发生变化

2、数据模型

  1. 数据模型、数据模式、数据的区分?
    1. 数据模型的概念:
      1. 模式 与 模式的结构(数据模型)
      2. 数据模型:
        1. 规定模式(n,代表这是一个名词) 统一描述方式的模型,包括:数据结构、操作和约束
        2. 数据模型是对模式本身结构的抽象,模式是对数据本身结构形式的抽象
        3. 理解:也就是说对任何一个数据的表现形式都能用数据的结构、和这个数据上的操作和约束进行描述
        4. 例如,关系模型:所有模式都可以抽象为表(Tabel)的形式[数据结构],而每一个具体的模式都是拥有不同列名的具体的表。对这种表形式的数据有哪些操作和约束

3、数据库系统的演变与发展