【SQL Server + MySQL一】数据库基本知识、关系数据模型、关系数据语言--关系代数

极其感动!!!当时学数据库的时候,没白学!!

  • 时隔很长时间回去看数据库的笔记都能看懂,每次都靠这份笔记巩固
  • 真的是语雀分享要花钱,要不一定把笔记给贴出来
  • (;´༎ຶД༎ຶ`) ,除了vue和react之外,最常看的一份笔记了!!!!

xd们,一定要收藏粘贴下来,真的没有自夸!!!!

  • 当时学的时候,想来:就一份笔记么?脑子有病的人才一直记来记去的【框框自嘲】!有啥可分享的?现在,真香!!!

一、 数据库基本知识

1-1

  1. 基本概念 :

    • 数据(Data) : 数据是数据库中存储的基本对象,是描述事物的符号记录
    • 数据库(Database , DB): 存储数据的仓库
      • 永久存储: 长期存在计算机中,
      • 有组织、
      • 可共享
    • 数据管理系统(Database ManagementSystem , DBMS): 专门用于数据库创建和管理的软件
      • DDL :数据定义语言,定义数据库中的数据对象
      • DML: 数据操纵语言,增删改查
      • 运行管理:
      • 数据库的建立和维护
    • 数据库系统(DatabaseSystem ,DBS): 支持数据库的相关计算机硬件/软件、人员
      • 构成: 数据库
      • 数据库管理系统(Database Administrator,DBA)
      • 应用系统
      • 相关人员
  2. 数据的发展趋势:

    • 人工管理阶段

      image-20220304155528308

    • 文件系统阶段

      image-20220304155612019

    • 数据库系统阶段 :

      • 数据具结构化
      • 数据共享
      • 数据独立性高
      • 数据统一由DBMS管理和控制

1-2 数据库系统的体系结构

三层模式和二级映像

1-2-1 三层模式

三层模式是 对数据的三个抽象级别

1-2-1-1 模式:
  1. 在 用户(应用程序)到数据库之间,DB的数据结构 由3个层次:

    • 外部模型,逻辑模型和内部模型

    • 三个层次要用DB的数据定义语言(DDL),定义为“模式”

  2. image-20220304112211027

  3. 逻辑模式 ( 模式):

    • 数据库中全体数据 的逻辑结构和特征的描述,综合了所有用户的需求的公共数据视图
    • 一个数据库只有一个逻辑模式
  4. 逻辑模式的地位 :

    • 数据库系统模式结构的中间层

    • 与 数据的物理存储细节 和 硬件环境无关

      • 与具体的应用程序、开发工具及高级程序设计语言无关
  5. 逻辑模式的内容:【Student(id,name,)】

  • 数据的逻辑结构(数据项的名字。类型。取值范围)
  • 数据之间的联系
  • 数据有关的安全性、完整性要求
1-2-1-2 外模式(子模式或用户模式)

一个用户对应多个外模式,一个外模式对应多个应用程序

  1. 数据库用户(包含应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述

  2. 数据库用户的数据视图,是与某一应用有关的数据的逻辑表示

  3. 外模式的地位:

    • 介于模式和应用之间
    • 逻辑模式与外模式的关系 : 一对多
    • 外模式通常是逻辑模式的子集
  4. 外模式与应用的关系 : 一对多

  5. 外模式用途 :

    • 保证数据库安全性的一个有力措施,每个用户只能看见和访问所对应的外模式中的数据
    • 保证数据独立性的有力措施
1-2-1-3 内模式(存储模式)
  1. 是数据物理结构和存储方式的描述
  2. 是数据在数据库内部的表示方式
    • 记录的存储方式(顺序存储,按照B树结构存储,按hash方法存储)
    • 索引的组织方式
    • 数据是否压缩存储
    • 数据是否加密
    • 数据存储记录结构的规定
  3. 内模式只有一个

1-2-2 二级映像

二级映像在DBMS内部实现这三个抽象层次的联系 和转换

  • 外模式/逻辑模式映像
  • 逻辑模式/内模式映像
  1. 外模式/模式映像 :
    • 定义外模式与逻辑模式之间的对应关系
    • 每一个外模式都对应一个 外模式/模式映像
    • 映像定义通常包含在各自外模式的描述中
  2. 逻辑模式/内模式映像
    • 定义了数据全局
      • 逻辑结构和存储结构之间的对应关系
      • 例子: 说明逻辑记录和字段在内部是如何表示的
    • 数据库中模式/内模式映像是唯一的
    • 该影响定义通常包含在逻辑模式描述中

1-2-3

  1. 保证了数据独立性
    • 指用户的应用程序 与 数据库的逻辑结构是相互独立的
    • 数据的逻辑结构改变,应用程序不变
    • 外模式/ 模式映像保证了数据的逻辑独立性
  2. 物理独立性 :
    • 用户的应用程序与 存储在磁盘上的数据库中数据是相互独立的
    • 当数据的物理存储改变,应用程序不用改变

1-3 数据模型

  1. 在数据库中用数据模型来抽象、表示和处理现实世界中的数据和信息
  2. 数据模型 三要素:
    • 数据结构 :用于描述静态特性
    • 数据操作 : 用于描述动态特性
    • 数据的约束条件 : 是一组完整性规则的集合
  3. 数据模型的分类 :
    • 关系模型
    • 半结构化的数据模型
      • 网状模型
      • 层次模型
      • XML
      • JSON

1-3-1 关系模型

  1. 数据机构 – 表

1-3-2 XML

  1. XML是可扩展标记语言(eXtensible Markup Language)的缩写
  2. 常用于传输和存储数据

1-3-3 JSON

  1. JSON : JavaScript Object Notation的缩写,去除所有JS执行代码,只保留JavaScript 的对象格式
  2. JSON作为数据传输的格式,显著优点:
    • JSON只允许使用双引号作为key,特殊字符用\转义
    • 浏览器内置JSON支持,把数据用JSON发送给浏览器,可以用JavaScipr直接处理

二、 关系数据模型【章节思路不清】

2-1 数据结构

  1. 关系型 : 表、SQL

    • mysql
    • oracle
    • sql server
  2. 非关系型 : noSQL,21世纪, 特殊需求

    • hadoop
    • mongoDB
    • redis
    • cassar
  3. 关系数据库系统 :

    • 关系数据库系统是支持 关系模型 的数据库系统

    • 1970年 IBM 公司的E.F.Codd 提出 关系数据模型

    • 之后 提出了关系代数关系演算的概念

    • 1972年提出了关系的第一、第二、第三范式

    • 1974年 提出了关系的BC范式

2-2 关系数据结构

  1. 关系数据结构
  2. 关系操作
  3. 完整性约束
  1. 关系数据结构 :

    • 单一的数据结构–关系 : 现实世界的实体 以及实体之间的各种联系均用关系来表示
    • 数据的逻辑结构 – 二维表
      • 用户角度:关系模型中数据的逻辑结构 是一张二维表
  2. 关系模型建立在集合代数的基础上

    • 笛卡尔积

    • 关系

    • 关系模型

    • 关系数据库

2-2-1 域: 一组具有 相同数据 类型的值的集合

  • 整数
  • 实数
  • 指定长度的字符串集合
  • 介于某个取值 范围 的整数
  • {,}
  • 介于某个取值范围的日期

image-20220304161920080

2-2-2 笛卡尔积

  • 给定一组域D1…Dn

    • 这些域可以完全不同
    • 也可部分或全部相同
  • D1…Dn 的笛卡尔积为:

    • image-20220304162124709
    • 所有域的所有取值的一个组合
    • 不能重复
    • image-20220304162317070
  • 笛卡尔积 的二维表示方法 :

    • 表中的 每行 对应一个元组
    • 表中的每列对应一个域
    • image-20220304162456754

2-2-3 关系 (Relation):

  1. D1 × D2 × … ×Dn子集 叫做 在域 D1 , D2 . … ,Dn 上的关系

  2. 表示为 :R (D1 , D2 . … ,Dn)

    • R : 关系名
  • n: 关系的目或度(Degree)
      • 当n=1时,称该关系为单元关系(Unary relation)
    • 当n=2时,该关系为 二元关系(Binary relation)
  1. 关系举例: 在笛卡尔积中取出有 实际意义的元组来构造关系
    • SAP(SUPERVISOP, SPECIALITY,POSTGRADUATE)
    • 假设 :
      • 专业与导师 : 1: a
      • 倒是与研究生: 1:n
  2. 关系的表示 :
    • 关系也是一个二维表
      • 表的每行对应一个元组
      • 表的每列对应一个域
    • image-20220304163726388
2-2-3-1 关于属性的几个概念:
  1. 码(Key,键) : 由一个或多个属性组成

    • 候选码(Candidate Key): 在关系中能唯一标识元组的属性或属性集
    • 主属性(Prime Attribute):候选码的各个属性
    • 主码(Primary Key) : 用户选作元组标识的候选键
    • 全码(All-key) :关系的所有属性 是这个关系的候选码
  2. 一个关系 必须 有一个key

    image-20220307142745040

2-2-3-2 三类关系
  1. 基本关系(基本表或基表):
    • 实际存在的表,是实际存储数据的逻辑表示
  2. 查询表:
    • 查询结果对应的表
  3. 视图:
    • 由基本表或其他试图导出来的表,是虚表,不对应实际存储
  4. 基本关系的性质:
    • 列是同质的
      • 每一列中的分量 是同一类型 的数据,来自同一个域
    • 不同的列可出自同一个域
      • 其中的每一列称为一个属性,不同的属性要给予不同的属性名
    • 列的 顺序无所谓
    • 任意两个元组不能完全相同
    • 行的顺序无所谓
    • 分量必须取 原子值
  5. 一个关系有多少种等价形式?
2-2-3-3 关系的性质
  1. 一个关系实力的属性个数和元组个数,考虑到元组的顺序和属性的顺序,则这个实例有多少种不同的表示形式?
    • 3个属性,3个元组。例如关系Account?
      • 3!× 3! = 36
  2. image-20220421121219918

2-3 关系模式:

  1. 什么是关系模式

    • 关系模式(Relation Schema)是对关系的描述
    • 关系模式是型,关系是值
    • 弹幕 : 关系模式是类 关系是对象,类的实例
  2. image-20220307144231084

    1. 关系和关系模式 :
    2. 关系模式通常记为 : R(U) 或 R(A1,A2,…,An)
    3. R : 关系名
    4. A1,A2,…,An :属性名

    学生(学号,姓名,年龄,性别,籍贯)

    • 关系模式
      • 对关系的描述
      • 静态的、稳定的
    • 关系
      • 关系模式在某一时刻的状态或内容
      • 动态的、随时间不断变化的

2-4 关系数据库

  1. 在一个给定的应用领域中,所有实体及实体之间联系的关系的集合构成一个关系数据库

    • 教学管理数据库中有四个关系 :

      教室关系T,课程关系C,学生关系S,选课关系SC

  2. 关系数据库模式是关系数据库的型,是对关系数据库的描述

    • 教学管理数据库中有四个 关系模式

      image-20220307145251097

2-5 关系操作

  1. 常用的关系操作: 查询、插入、删除、修改
  2. 关系操作的特点 : 集合操作方式
  3. 关系数据语言的种类:
    • 关系代数语言
    • 关系演算语言
    • 具有上两者 双重特点的语言,SQL
  4. 关系数据语言的特点 :
    • 一种高度过程化的语言
    • 能够嵌入高级语言中使用

2-6 关系的完整性约束

  1. 关系模型的完整性规范是指对关系的某种约束条件
  2. 关系模型中的三类完整性约束:
    • 实体完整性
    • 参照完整性
    • 用户定义的完整性
  3. 实体完整性 和 参照完整性 是关系模型必须满足的完整性约束条件,被称为关系的两个不变性

2-6-1 实体完整性

  1. 实体完整性 :
    • 主码唯一且不为空
    • 主属性不能取空值
    • image-20220307151711531

2-6-2 参照完整性

  1. 关系间的引用

    image-20220307151859956

  2. 外码必须是另一个关系的主码,或者有唯—约束的列

  3. Foreign Key (外键) : 如果一个关系R中的一个属性F 对应着 另一关系S 的主码K

    • 那么F在关系R中称为外码

2-6-3 用户自定义完整性

六、 关系数据语言–关系代数【13练习没看】

  • 关系代数,关系演算
  • SQL

6-1 基础

    • 并、差、交
    • 投影、选择
    • 笛卡尔积、连接
    • 重命名
  1. 关系代数 :

    • 一种抽象的数据查询语言
    • 用对关系的运算来表达查询
      • 运算对象 : 关系
      • 运算符: 4类
      • 运算结果: 关系
  2. 关系运算符 :

    • 传统集合运算符:

      • U – ∩
      • 将关系看成元组的集合
      • 所有的运算对象必须具有相同的结构
    • 专门的关系运算符

      image-20220307154606422

    • 辅助 专门的关系运算符 :

      image-20220307154637316

6-2 传统的集合运算

  1. image-20220314150130326

  2. 并运算的例子 :

    image-20220314150235946

    1. 差运算
  3. 交运算

6-3 投影和选择

6-3-1 投影
  1. 用于从R中选择出 若干属性列组成新的关系

    ΠL®

    • L为R属性列表
    • 结果为只包含R中某些列的新的关系
    • 结果要去掉重复元组
  2. 例子:

    image-20220314151211995

    image-20220314151322565

  3. 例子二:

    image-20220314151427594

6-3-2 选择(Selection)
  1. 用于在关系R中选择满足 给定条件的各个元组

    image-20220314151553703

    • C : 选择条件,是一个逻辑表达式
    • 结果为只包含R中某些元组的新的关系
  2. image-20220314152004866

  3. 例子二:

    image-20220314152159224

  4. 例子三:

    image-20220314152437588

  5. 例子四 : 投影+选择

    image-20220314152703835

6-4 笛卡尔积,连接

6-4-1 笛卡尔积(Cartesian Product)
  1. R关系 : n个属性,k1个元组

  2. S关系: m个属性,k2个元组

  3. R×S :

    • 将R中的每个元组t1和S中的每个元组t2配对连接
    • 列数: n+m
      • 前n列是关 系R的一个元组t1
      • 后m列是关系S的一个元组t2
    • 行数 : K1 ×k2
    • 当R和S中有重名属性A时,则采用R.A和S.A分别命名对应的属性列表

    image-20220314153443196

6-4-2 连接(Join)
  1. image-20220314153709866
  2. 连接运算 : 从R和S的笛卡尔积 R×S中 选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较条件的元组
6-4-3 两类常用连接运算 — 等值连接
  1. 等值连接概念:
    • 为“=”的连接运算称为等值运算
  2. image-20220314154351920
  3. 等值连接的含义 :
    • 从关系R与S的笛卡尔积中选取A、B属性值相等的那些元组
    • image-20220314154459807
6-4-3 两类常用连接运算 —自然连接
  1. 自然连接 : 在公共属性(组)上进行的等值连接

    • 两个关系中必须具有公共属性(组)

    • 在结果中把重复的属性列去掉

      image-20220314155024580

6-4-4 重命名
  1. image-20220315105209376
  2. image-20220315105241845

6-5 练习

  1. image-20220422174543653
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值