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

news2025/1/13 13:32:04

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

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

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

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

文章目录

  • 一、 数据库基本知识
    • 1-1
    • 1-2 数据库系统的体系结构
      • 1-2-1 三层模式
        • 1-2-1-1 模式:
        • 1-2-1-2 外模式(子模式或用户模式)
        • 1-2-1-3 内模式(存储模式)
      • 1-2-2 二级映像
      • 1-2-3
    • 1-3 数据模型
      • 1-3-1 关系模型
      • 1-3-2 XML
      • 1-3-3 JSON
  • 二、 关系数据模型【章节思路不清】
    • 2-1 数据结构
    • 2-2 关系数据结构
      • 2-2-1 域: 一组具有 相同数据 类型的值的集合
      • 2-2-2 笛卡尔积
      • 2-2-3 关系 (Relation):
        • 2-2-3-1 关于属性的几个概念:
        • 2-2-3-2 三类关系
        • 2-2-3-3 关系的性质
    • 2-3 关系模式:
    • 2-4 关系数据库
    • 2-5 关系操作
    • 2-6 关系的完整性约束
      • 2-6-1 实体完整性
      • 2-6-2 参照完整性
      • 2-6-3 用户自定义完整性
  • 六、 关系数据语言--关系代数【13练习没看】
      • 6-1 基础
      • 6-2 传统的集合运算
      • 6-3 投影和选择
        • 6-3-1 投影
        • 6-3-2 选择(Selection)
      • 6-4 笛卡尔积,连接
        • 6-4-1 笛卡尔积(Cartesian Product)
        • 6-4-2 连接(Join)
        • 6-4-3 两类常用连接运算 --- 等值连接
        • 6-4-3 两类常用连接运算 ---自然连接
        • 6-4-4 重命名
    • 6-5 练习

一、 数据库基本知识

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/45269.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

详解设计模式:装饰器模式

装饰器模式(Decorator Pattern)也称为包装模式(Wrapper Pattern),是 GoF 的 23 种设计模式中的一种结构型设计模式。装饰器模式 是指在不改变原有对象的基础之上,将功能附加到对象上,提供了比继…

3.7.2、IP地址(网际层)

我们日常的大多数网络应用中,属于数据链路层的 MAC 地址,和属于网络层的 IP 地址都在使用,它们之间存在一定的关系。这里主要介绍 IP 地址的作用 1、基本介绍 IP 地址是因特网(Internet)上的主机和路由器所使用的地址,用于标识两…

osgEarth示例分析——osgearth_graticule

前言 本示例最具有借鉴的功能:绘制网格、网格上的文字显示、拾取地球的坐标。在地球网格示例中,可以设置4种网格。执行命令如下: // --geodetic osgearth_graticuled.exe --geodetic earth_image\china-simple.earth // --utm osgearth_gr…

[附源码]Python计算机毕业设计Django大学生心理测评系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,我…

磁盘划分和磁盘格式化

文章目录列出装置的 UUID 等参数parted 列出磁盘的分区表类型与分区信息磁盘分区:gdisk、fdisk用 gdisk 新增分区槽用 gdisk 删除一个分区槽磁盘格式化(建立文件系统)XFS 文件系统 mkfs.xfsXFS 文件系统 for RAID 效能优化(Option…

【Linux】环境变量

文章目录一.什么是环境变量二.常见的环境变量1.常见的环境变量和与之相关的命令2.PATH指定命令搜索路径3.env显示所有环境变量4.echo查看环境变量三.本地变量与环境变量的联系四.获取环境变量的三种方式1.getenv()函数获取环境变量2.利用命令行参数3.利用第三方变量一.什么是环…

如何校准Linux服务器时间

最近服务器上的时间与北京时间出现偏差,而Java代码里java.util.Date获取的是服务器时间,导致当前时间错误。 Linux查看服务器当前时间 查看当前时区:date -R 查看当前日期和时间:date 校准Linux服务器时间 Linux中有个ntp包可…

【Unity】URP渲染管线下代码获取相机的Volume Mask属性

步骤1. 引用URP的命名空间2. 获取摄像机3.通过URP扩展获取Volume Mask属性附 层级的相关代码Reference1. 引用URP的命名空间 using UnityEngine.Rendering.Universal;2. 获取摄像机 这里可以使用公有拖拽或者私有赋值的方式。 如果使用拖拽,则: publi…

神经网络和深度学习-多分类问题Softmax Classifier

多分类问题Softmax Classifier 在之前做糖尿病数据集的时候做的二分类问题,因为只有两类,所以只需要输出一个概率值,另一个概率值用1去减去就可以得到 实际上在大多数数据集中是在处理一个多分类问题,例如MNIST中有10类标签 神经…

Hifiasm-meta | 你没看错!基于宏基因组的完成图!!

哈佛大学医学院Dana-Farber癌症研究所李恒课题组重磅推出三代HiFi宏基因组组装软件——hifiasm-meta。研究论文“Metagenome assembly of high-fidelity long reads with hifiasm-meta”预印本在线发布。 宏基因组样本的do novo组装是研究微生物群落的常用方法。与单个物种的组…

RNA-seq 详细教程:分析准备(3)

学习目标 了解 RNA-seq 和差异表达基因的分析流程了解如何设计实验了解如何使用 R 语言进行数据分析1. 简介 在过去的十年中,RNA-seq 已成为转录组差异表达基因和 mRNA 可变剪切分析不可或缺的技术。正确识别哪些基因或转录本在特定条件下的表达情况,是理…

【FreeRTOS(四)】显示任务详细信息

文章目录显示任务详细信息 vTaskList代码示例显示任务详细信息 vTaskList 通过 vTaskList来协助分析操作系统当前 task 状态,以帮助优化内存,帮助定位栈溢出问题。 void vTaskList( char *pcWriteBuffer );parameterdescriptionpcWriteBuffer保存任务状态…

11.21~11.28日学习总结

首先这一周,主要进行的几个事情。 1.在星期一~星期二图书报账的相关事情处理已经完毕,记录了现在图书报账的相关流程,比以前的流程有不少改变,已经写了word记录了流程,给下一任图书管理员做参考。 2.进行了项目的中期…

mysql集群的主从复制搭建

1.master上和slave分别安装好mysql(5.7) 2.按照下面的方式进行安装 3.安装完成后,进行初始化,并找到默认的密码进行登录 4.设置为开机自,并检查状态 5.进行登录,用root账户,密码为生成的那个密码…

C++:STL之Vector实现

vector各函数 #include<iostream> #include<vector> using namespace std;namespace lz {//模拟实现vectortemplate<class T>class vector{public:typedef T* iterator;typedef const T* const_iterator;//默认成员函数vector(); …

SpringBoot项目如何引入外部jar及将外部jar打包到项目发布jar包

1、创建一个SpringBoot项目 下载项目之后将项目导入IDEA 2、如何添加外部jar包 准备一个外部的jar包&#xff0c; 我这里使用的是guava-31.1-jre.jar作为演示 下载地址&#xff1a;https://repo1.maven.org/maven2/com/google/guava/guava/31.1-jre/guava-31.1-jre.jar 在项…

黎曼的几何基础,维度

黎曼的几何基础&#xff0c;让数学领先物理100年&#xff0c;维度是人类最大的障碍 - 知乎 高斯很早就有了“高维几何”的想法&#xff0c;他曾经向他的同事们说起假想完全生活在二维表面上的“书虫”&#xff0c;并想要把这推广到高维空间的几何学中去。然而&#xff0c;由于害…

Java安全编码规范之Web安全漏洞

Java安全编码规范之Web安全漏洞安全现状漏洞案例事件一事件二事件三安全编码规范之常见的安全漏洞敏感数据编码概述漏洞危害常见关键字举例解决方案代码硬编码秘钥错误示例日志打印导致的敏感信息泄露漏洞概述关键字举例解决方案代码中在日志打印token 错误示例文件上传漏洞概述…

CSDN客诉周报第12期|修复10个重大bug,解决29个次要bug,采纳1个用户建议

听用户心声&#xff0c;解用户之需。hello&#xff0c;大家好&#xff0c;这里是《CSDN客诉周报》第12期&#xff0c;接下来就请大家一同回顾我们最近几周解决的bug&#xff5e; 一、重大问题 1、【博客】主页无法访问 反馈量&#xff1a;80 发生时间&#xff1a;10月30日下…

外汇天眼:Axi收回在RGT Capital的全部控制权,Eurotrader获得FCA牌照

在过去的一周里&#xff0c;国外外汇市场上有哪些值得关注的新闻&#xff0c;跟着天眼君一起了解下吧~具体新闻如下&#xff1a; 1、Axi收回在RGT Capital的全部控制权 据天眼君了解&#xff0c;总部位于澳大利亚的零售外汇和差价合约经纪商Axi在澳大利亚投资公司RGT Capital的…