数据库原理

2022-03-04
8分钟阅读时长

绪论

graph LR A[现实世界]-->|抽象|B[信息世界 E-R图] B-->|设计|C[计算机世界 关系模式]
  1. 请解释数据库的四个基本概念

    1. 数据

      数据(Data)是描述事物的符号记录,是数据库中存储的基本对象。

    2. 数据库

      数据库(Data Base DB)是长期存储在计算机内,有组织的,可共享的大量数据的集合。

    3. 数据库管理系统

      数据库管理系统(Data Base Management System DBMS)位于用户和操作系统之间的一层数据管理软件;是基础软件,是一个大型复杂的软件系统

    4. 数据库系统

      数据库系统(Data Base System)是指在计算机系统中引入数据库后的系统构成

      包括:DB 数据库、DBMS 数据库管理系统、APP 应用程序、DBA 数据库管理员、用户

  2. 数据管理发展阶段有哪些?

    1. 人工发展阶段
    2. 文件系统阶段
    3. 数据库系统阶段
  3. 数据库系统阶段的优点

    数据高度化集成,数据共享性好,数据冗余少、易扩充,数据和程序独立性高

    独立性包括:

    1. 物理独立性
    2. 逻辑独立性
  4. 数据模型是什么?分为哪些?

    数据模型是对现实世界数据特征的抽象。

    1. 概念模型
    2. 逻辑模型和物理模型
  5. 信息世界中的基本概念有哪些?

    1. 实体:客观存在并可相互区别的事物,如学生
    2. 属性:实体具有的属性,用于区分实体,如学号,姓名,性别等
    3. 码:唯一标识实体的属性集合,用于更好的区分实体,如学号是学生的码
    4. 实体型:用实体名和属性名集合来抽象、刻画。如学生(学号,姓名,性别,……)
    5. 实体集:同型实体叫实体集,如全体学生
    6. 实体联系:有一对一,一对多,多对多等
    7. 概念模型的表示方法:实体-联系方法
  6. 数据模型的组成要素是什么?

    1. 数据结构(静态)

      描述系统的静态特性,它是刻画数据模型性质的重要方面

    2. 数据操作(增删改查)

    3. 数据完整性约束条件

      是一组完整性规则,描述数据及其联系所具有的制约和依存关系

  7. 常用的逻辑数据模型有哪些?

    1. 层次模型(树形)

    2. 网状模型(网状)

    3. 关系模型

    4. 其他模型

      包括面向对象模型、对象关系数据模型、半结构化数据模型

  8. 关系模型的数据结构是怎样的?

    1. 关系:表
    2. 元组:表中的一行为一个元组
    3. 属性:表张的一列为一个属性
    4. 码:唯一确定一个元组
    5. 域:一组具有相同数据类型的值的集合,如年龄在0-120岁之间、性别在男女之间
    6. 分量:元组中的一个属性值(单元格)
    7. 关系模式:关系名(属性1,属性2,……)
  9. 试描述数据库的三级模式结构

    1. 模式与实例

      1. 模式:对数据库逻辑结构和特征的描述,是型的描述(模式是相对稳定的)
      2. 实例:数据库某一时刻的状态,模式的具体值,同一个模式可以有很多实例
    2. 三级模式结构

      1. 外模式(用户模式、子模式)

        与某一应用有关的数据的逻辑表示,如视图

      2. 模式(逻辑模式)

        是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图

      3. 内模式(存储模式)

        是数据物理结构和存储方式的描述,如聚簇和索引

    3. 二级映像

      1. 外模式-模式映像:保证数据与程序的逻辑独立性
      2. 模式-内模式映像:保证数据与程序的物理独立性
    4. 数据与程序的逻辑独立性与物理独立性

      1. 逻辑独立性:模式改变,外模式和应用程序不变
      2. 物理独立性:数据存储结构改变,模式、外模式、应用程序不变
  10. 数据库系统的组成

    包括硬件平台及数据库、软件、人员

  11. 数据库管理员的职责

    1. 决定数据库中的信息内容与结构(决定存什么)
    2. 决定数据库的存储结构、存取策略(决定怎么存)
    3. 定义数据的安全性要求、完整性约束条件(保证数据的安全与完整)
    4. 监控数据库的使用和运行(管理)
    5. 数据库的改进、重组和重构(维护)

关系数据库

关系模型的三个组成部分?

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

关系数据结构

  1. 域:一组具有相同数据类型的值的集合(可能取多个列);

    域的基数:一个域中允许的不同取值的个数称为这个域的基数;

  2. 笛卡尔积:给定一组域$D_1,D_2,…,D_n$,允许其中某些域相同,它们的笛卡尔积为:

    $$D_1×D_2×…×D_n=\{ (d_1,d_2,…,d_n)|d_i\in D_i,i=1,2,…,n \}$$

    简而言之,笛卡尔积是各域中元素的全部排列组合。

    把笛卡尔积看作域,则它的基数是各子域的基数的积,即$D_1×D_2×…×D_n$的基数$$ M=\prod_{i=0}^{m}m_i$$

    其中每个元素$(d_1,…,d_n)$叫一个n元组,简称元组(对应行),其中的每个值称为分量(对应单元格)。

  3. 关系:$D_1×D_2×…×D_n$的子集叫做在域$D_1,D_2,…,D_n$上的关系,表示为$R(D_1,D_2,…,D_n)$,其中R是关系的名字,n是关系的目或度。

    关系是笛卡尔积的有限子集。

    候选码:关系中的某一属性值能唯一的标识一个元组,而其子集不能,则称该属性组位候选码。

    主码:从候选码中选定一个作为主码。

    非主属性/非码属性:不包含在任何候选码中的属性。

    全码:关系模式的所有属性都是这个关系模式的候选码。

  4. 关系的三种类型

    1. 基本表/基本关系

      是实际存在的表,实际存储数据的逻辑表示

    2. 查询表

      查询结果对应的表

    3. 视图表

      由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据

  5. 基本关系的6条性质

    1. 列同质(每一列中的分量都是同一类型的数据,来自同一个域);

    2. 不同的列可以出自同一个域,每一个称为一个属性,不同的属性要给予不同的属性名。

      例如域名为:人名,那么选课表中至少需要定义导师属性名、学生属性名两种属性名。

    3. 列的顺序无所谓;

    4. 候选码是区分元组()的,因此不能相同;

    5. 行的顺序无所谓;

    6. 分量(单元格)必须取原子值,是不可再分的数据项。

  6. 关系模式是四元组$R(U,D,DOM,F)$,其中:

    1. R是关系名;
    2. U为组成该关系的属性名集合(各个列);
    3. D为U中属性所来自的域(取值范围);
    4. DOM为属性向域的映像集合(某些属性属于同一个域);
    5. F为属性间数据的依赖关系集合(属性间的关系);
  7. 关系数据库的型与值

    1. 型:关系数据库模式,是对关系数据库的描述,是静态的,稳定的;
    2. 值:关系模式在某一时刻对应的关系的集合,是动态的,随时间变化的;

关系操作集合

  1. 关系模型中常有的查询操作有哪些?

    1. 选择:筛选满足条件的元组(行)
    2. 投影:筛选去除不需要的属性(列)
    3. 连接:根据查询需要,将多个表连接到一起
    4. 除:同时从行和列的角度进行运算
    5. 并:求合并的元组
    6. 差:求在A表而不在B表中的元组
    7. 交:求共同的元组
    8. 笛卡尔积:略

    其中基本操作是选择、投影、并、差、笛卡尔积。

  2. 关系运算记号

    1. 设关系模式$R(A_1,A_2,…,A_n)$,它的某关系设为$R$,$t\in R$表示$t$是$R$的一个元组,$t[A_i]$表示元组$t$中相应于属性$A_i$的一个分量。
    2. $A=\{ A_{i1},A_{i2},…,A_{ik} \}$,其中$\{A_{i1},A_{i2},…,A_{ik}\}$是$\{A_{1},A_{2},…,A_{n}\}$中的一部分,则$A$称为属性列或属性组。$t[A]=(t[A_{i1}],t[A_{i2}],…,t[A_{ik}])$表示元组$t$中属性列$A$上诸分量的集合,$\bar{A}$表示$\{A_{1},A_{2},…,A_{n}\}$去掉$\{A_{i1},A_{i2},…,A_{ik}\}$后剩余的属性组。
    3. $R$是n目关系,$S$是m目关系,$t_r\in R,t_s\in S$,$\mathop{t_rt_s}\limits^{\frown}$称为元组的连接或串接。
    4. 给定一个关系$R(X,Z)$,$X,Z$为属性组,当$t\left [X \right]=x$时,$x$在$R$中的象集定义为$Z_x={t\left [Z\right ]|t\in R,t\left [X\right ]=x}$
  3. 除运算

    设关系R除以关系S的结果为关系T,则T包含所有在R但不在S中的属性及其值,且T的元组与S的元组的所有组合都在R中。

    给定关系$R(X,Y)$和$S(Y,Z)$,其中$X,Y,Z$为属性组,$R.Y$和$S.Y$可以有不同的属性名,但必须出自相同的域集。

    则$R\div S={t_r[X]|t_r\in R\wedge\sqcap_Y(S)\subseteq Y_x}$

    即结果P是R中满足条件的元组在X属性列上的投影,条件是:元组在X上的分量值x的象集包含S在Y上投影的集合。

关系完整性约束

关系完整性约束包括了实体完整性,参照完整性,用户自定义完整性。

  1. 实体完整性:主属性不可以取空值;
  2. 参照完整性:外码要么取空值要么取参照关系中某个元组定义的主码值
  3. 用户自定义的完整性

关系数据库标准语言

SQL概述

SQL是什么?主要特点是什么?

SQL for Structured Query Language,是结构化查询语言;

SQL的主要特点如下:

  1. 综合统一

    SQL集数据定义、数据操纵、数据查询、数据控制于一体;

  2. 高度非过程化

    提出做什么而不必关心怎么做

  3. 面向集合

  4. 以同一种语法提供多种操作方式

    独立用于联机交互或嵌入到高级语言之中;

  5. 简洁

    使用9个动词完成SQL的全部操作

    SQL功能 动词
    数据查询 SELECT
    数据定义 CREATE,DROP,ALTER
    数据操纵 INSERT,UPDATE,DELETE
    数据控制 GRANT,REVOKE

数据定义

  1. 数据库对象的层次结构

    graph LR A[数据库管理系统]-->|多个|B[数据库] B-->|多个|C[模式] C-->|多个|D[表] C-->|多个|E[视图] C-->|多个|F[索引]

    模式实质上是命名空间。

  2. 模式定义

  3. 模式删除

  4. 基本表定义

  5. 基本表数据类型

Avatar

坐忘道琼峰 Sitting Oblivion Tao EndlessPeak

瞽者无以与乎文章之观,聋者无以与乎钟鼓之声。岂唯形骸有聋盲哉?
上一页 数据库原理
下一页 组成原理