🗒️数据库原理应用复习

type
status
date
slug
summary
tags
category
icon
password
name

数据库基本概念

四个基本概念

数据(DATA):描述事物的符号记录称为数据,数据是数据库存储的基本对象。
数据库(DB):长期存储在计算机内、有组织、可共享的大量数据的集合。
数据库管理系统(DBMS):位于用户和操作系统之间的一层数据管理软件。
数据库系统:DB+DBMS+APP+DBA(数据库管理员)。

数据库管理系统功能

  1. 数据定义功能
  1. 数据组织、存储和管理
  1. 数据操作功能
  1. 数据库的事务管理和运行管理
  1. 数据库的建立和维护功能
  1. 其他功能(通信功能、数据转换功能、互访和互操作功能)

文件系统管理数据的特点

  1. 数据可以长期保存
  1. 由文件系统管理数据
  1. 数据共享性差,冗余度大
  1. 数据独立性差

数据库系统的特点

  1. 数据结构化(与文件系统的本质区别)
  1. 数据的共享性高、冗余度低且以扩充
  1. 数据独立性高
  1. 数据由数据库管理系统统一管理和控制
需要的数据控制功能
  1. 数据的安全性保护
  1. 数据的完整性检查
  1. 并发控制
  1. 数据库恢复

数据模型

对现实世界数据特征的抽象

概念模型

  1. 实体:客观并可相互区别的事物。
  1. 属性实体的特征称为属性。
  1. 码:唯一标识实体的属性集称为码。
  1. 实体型:用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。
  1. 实体集:同一类型的实体的集合称为实体集。
  1. 联系:实体内部的联系指组成实体的属性之间的联系,实体之间的联系指不同实体集之间的联系。实体之间的联系有一对一、一对多和多对多等多种类型。

E-R图

表示:
  • 矩形:实体
  • 菱形:外键约束
  • 椭圆:字段

三大模型的优缺点

层次模型(Tree)
概念:1.只有一个结点且没有双亲节点,这个结点称为根结点 2. 根以外的其他结点有且只有一个双亲结点
优点:
  1. 层次模型的数据结构比较简单清晰
  1. 层次数据库的查询效率高
  1. 层次数据模型提供了良好的完整性支持
缺点:
  1. 现实世界中很多联系是非层次性的
  1. 如果一个结点具有多个双亲结点等,用层次模型表示这类联系就很笨拙,只能通过引入冗余数据(易产生不一致性)或创建非自然的数据结构(引入虚拟结点)来解决。对插入和删除操作的限制比较多,因此应用程序的编写比较复杂
  1. 查询子女结点必须通过双亲结点
  1. 由于结构严密,层次命令趋于程序化
网状模型(Set)
概念:1.允许一个以上的结点无双亲 2.一个结点可以有多于一个的双亲
优点:
  1. 能够更为直接地描述现实世界,如一个结点可以有多个双亲,结点之间可以有多种联系。
  1. 具有良好的性能,存取效率较高。 缺点:
  1. 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。
  1. 网状模型的DDL、DML复杂,并且要嵌入某一种高级语言(如COBOL、C)中。用户不容易掌握,不容易使用。
  1. 由于记录之间的联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因此用户必须了解系统结构的细节,加重了编写应用程序的负担
关系模型(二维表)
优点:
  1. 关系模型与格式化模型不同,它是建立在严格的数学概念的基础上的。
  1. 关系模型的概念单一。无论实体还是实体之间的联系都用关系来表示。对数据的检索和更新结果也是关系(即表)。所以其数据结构简单、清晰,用户易懂易用。
  1. 关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。 缺点:
  1. 由于存取路径对用户是隐蔽的,查询效率往往不如格式化数据模型。
  1. 为了提高性能,数据库管理系统必须对用户的查询请求进行优化,因此增加了开发数据库管理系统的难度。

物理模型

针对逻辑模型的设计,在具体的物理介质(数据库或数据仓库)上实现出来。是面向计算机物理表示的模型,描述了数据在储存介质上的组织结构,它不但与具体的DBMS有关,而且还与操作系统和硬件有关。每一种逻辑数据模型在实现时都有起对应的物理数据模型。DBMS为了保证其独立性与可移植性,大部分物理数据模型的实现工作又系统自动完成,而设计者只设计索引、聚集等特殊结构。

三要素

数据结构

研究的对象类型的集合。这些对象是数据库的组成成分,数据结构指对象和对象间联系的表达和实现,是对系统静态特征的描述,包括
  1. 数据本身:类型、内容、性质。例如关系模型中的域、属性、关系
  1. 数据之间的联系:数据之间是如何相互关联的。例如关系模型中的主码、外码联系

数据操作

主要指检索和更新(插入、删除、修改)两类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。数据操作是对系统动态特性的描述。

数据完整性约束

数据完整性约束是一组完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以保证数据的正确性、有效性和相容性。

三级模式两级映像

模式的概念
数据库中全体数据的逻辑结构和特征的描述,仅仅涉及型的描述,不涉及具体的值。
型是指对某一类数据的结构和属性的说明,值是型的一个具体赋值。

三层模式结构

notion image
模式:也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共视图。在数据库系统模式结构中处于中间层,与硬件平台和应用程序无关。一个数据库只有一个模式。
外模式:也称子模式和用户模式,它是数据库用户(应用程序员与最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。外模式通常是模式的子集,一个数据库可以有很多外模式。
内模式:也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。例如,记录的存储方式是堆存储、升序/降序存储还是聚簇存储;B+树索引还是哈希索引;是否压缩存储,是否加密;数据存储记录结构是定长结构还是边长结构。

两级映像与数据独立性

功能:外模式/模式映像、模式/内模式映像。
外模式/模式映像针对于每一个外模式,定义了外模式与模式的对应关系;模式/内模式映像是唯一的,定义了数据全局逻辑结构与存储结构之间的对应关系。
逻辑独立性:
当模式改变时,由DBA对各个外模式/模式的映像作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据逻辑独立性。
物理独立性:
当数据库的存储结构改变时,由DBA对模式/内模式映像作出相应改变,可以使模式保持不变,从而应用程序也不必改变,保证了数据与程序的物理独立性,简称数据物理独立性。

关系数据库

关系模型三要素

关系数据结构、关系操作集合、关系完整性约束

关系

描述现实世界的实体以及实体之间的各种联系的单一结构类型就是关系,站在用户的视角,关系就是一张二维表
  1. 域:一组具有相同数据类型的集合
  1. 笛卡儿积:给定的一组域D1,D2,…,Dn,允许其中某些域是相同的,它们的笛卡尔积定义为 D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n} 其中每一个元素(d1,d2,…,dn)叫做一个n元组,或简称元组,元组中的每一个分量di叫做一个分量。一个域允许的不同取值个数称为这个域的基数。
  1. 关系:D1×D2×…×Dn的子集叫做在域D1,D2,…,Dn上的关系,表示为R(D1,D2,…,Dn),R表示关系的名字,n是关系的目或度。关系中的每个元素是关系中的元组,用t表示。
      • 关系是笛卡尔积的子集
      • 候选码:某一属性组的的值能够唯一地标识一个元组,但是它的任何一个真子集不能,则称该属性组为候选码
      • 主码:若一个关系有多个候选码,则选定其中一个为主码
      • 主属性:候选码的诸属性为主属性,不包含在任何候选码中的属性称为非主属性
      • 全码:关系模式的所有属性构成这个关系模式的候选码,称为全码
      • 关系类型:基本关系(基本表或基表)、查询表和视图表。基本表是实表;查询表是查询结果对应的表;视图表是导出表,是虚表
      • 补充:禁止无限关系,附加属性名来消除关系属性的有序性
      基本关系的性质:列同质、异列可同域、行列无序性、候选码唯一性、分量原子性
    1. 列是同质的,即每一列中的分量是同一类型的数据,来自一个域
    2. 不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名
    3. 列的顺序无所谓,即列的次序可以任意交换
    4. 任意两个元组的候选码不能取相同的值
    5. 行的顺序无所谓,即行的次序可以任意交换
    6. 分量必须取原子值,即每一个分量都必须是不可分的数据项(最基本的一条)

关系操作

  • 查询操作:选择、投影、连接、除、并、差、交、笛卡尔积
  • 关系代数和关系演算结构化查询语言SQL:DQL、DDL、DML、DCL

完整性约束

  1. 实体完整性:主码不可重复且不为空
  1. 参照完整性:
    1. 若属性/属性组F是基本关系R的外码,它与基本关系S的主码Ks相对应(R与S可以是同一关系),则对于R中每个元组在F上的值必须取空值或S中某个元组的主码值。 外码:设F是基本关系R的属性/属性集,但不是关系R的码,Ks是基本关系S的主码,如果F与Ks相对应,则称F是R的外码,并称R为参照关系,S为被参照关系或目标关系,R与S可以是同一关系。
  1. 用户定义的完整性:
    1. 指对关系中每个属性的取值作一个限制(或称为约束)的具体定义。比如 性别属性只能取”男“或”女“ ,再就是年龄的取值范围,可以取值0-130 ,但不能取负数,因为年龄不可能是负数

关系代数

  1. 传统的集合运算:并、差、交、笛卡尔积
笛卡尔乘积:两个集合相乘的结果。
集合A{a1,a2,a3} 集合B{b1,b2} 他们的 笛卡尔积 是 A*B ={(a1,b1),(a1,b2),(a2,b1),(a2,b2),(a3,b1),(a3,b2)} 任意两个元素结合在一起
  1. 专门的关系运算:选择、投影、连接、除
选择:选择又称为限制(Restriction)。它是在关系R中选择满足给定条件的诸元组
notion image
投影:对属性列的选择列出,上述投影图可用SQL语句select Sn0 , Sname from 表,就是把需要的字段显示出来即可。
自然连接:结果列数为二者属性列数之和減去重复列,行数为二者冋名属性列其值相冋的结果元组。笛卡尔积、选择、投影的组合表示可以与自然连接等价。
notion image
等值连接:相当与运算符,可以认为笛卡儿积是无条件连接,其他的是有条件连接。
连接逻辑上是table之间先做笛卡儿积,再做对应选择操作。
notion image

SQL语言

语法部分--点击即达

  1. 综合统一
  1. 高度非过程化
  1. 面向集合的操作方式
  1. 以同一种语法结构提供多种使用方法
  1. 语言简洁,易学易用

视图的作用

  1. 视图能够简化用户的操作
  1. 视图使用户能以多种角度看待同一数据
  1. 视图对重构数据库提供了一定程度的逻辑独立性
  1. 视图能够对机密数据提供安全保护
  1. 适当利用视图可以更清晰地表达查询

易混淆

  1. 数据库系统的基础是数据库管理系统数据模型
  1. 有了模式/内模式的映象,可以保证数据和应用程序之间的数据安全性物理独立性
数据库的模式和内模式定义了数据库中的全局逻辑结构和存储结构之间的关系,当存储逻辑结构改变的时候,数据库管理员会对模式和内模式做相应的改变,保证了程序的物理独立性
  1. 数据模型中用于描述系统静态特性的是完整性约束数据结构
  1. 用树型结构来表示实体之间联系的模型称为网状模型层次模型
  1. DB、DBMS、DBS三者之间的关系:DB包括DBMS和DBSDBS包括DB和DBMS
DBS(数据库系统)包括DB(数据可)和DBMS(数据库管理系统)
  1. 数据模型通常由数据结构数据操作完整性约束三要素组成。

参考

  1. 《数据库系统概论》复习
  1. 关系模型中三类完整性约束以及解释
  1. 数据库系统之:关系代数详解-超详细
Loading...

© Dreamin 2021-2024