数据库原理复习(一、二)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/Unicorn_JF/article/details/102471979

一、基本概念

1、数据

是描述现实世界的符号,是数据库中存储的基本对象。

2、数据模型

是描述数据的一组定义,是一种数据结构。

3、数据模式

用给定的一组数据模型,对某一具体事务建模后的结果。

4、数据的抽象级别

  1. 物理模式:数据在磁盘上的存储形式。
  2. 逻辑模式:数据的表述形式。
  3. 外模式(视图):用户看到的样子。

三级模式,两级映射。

5、数据的独立性

是由数据两级映射保证的。

  1. 逻辑独立性:逻辑的改变即数据的表述形式发生改变,可以不改变视图。
  2. 物理独立性:物理存储结构的改变可以不影响视图。

6、数据库(DB)

长期存储在计算机中,可组织、有结构、共享的大量数据集合。

7、数据库管理系统(DBMS)

是位于用户和操作系统之间的一层数据管理软件,用来运行管理数据库及建立和维护数据库。

基本功能:

  1. 数据定义;
  2. 数据操纵;
  3. 完整性约束检查;
  4. 访问控制;
  5. 并发控制;
  6. 数据库恢复。

8、数据库系统(DBS)

由应用程序、DBMS、DB、DBA组成。

9、数据管理阶段

人工管理 -> 文件系统 -> 数据库系统

二、建立数据模型

1、第一代数据库系统

统称为格式化数据模型。

1-1、层次模型

基本类似于树形结构。用双亲子女关系(PCR)来表达现实世界中两个不同记录类型的1对多的关系。

1-2、网状模型

类似于有向图。基本结构是系(set),每个记录是其他记录的主记录,也可以是属记录,用链表存储。LINK:表示一种自连接。

2、第二代数据库系统

支持关系数据模型的数据库系统。

2-1 关系模型

基本结构是表(table)

基本概念:

  1. 实体(Entry):客观事物的反映。
  2. 属性(Attribute):定义实体的特性。
  3. 域(Domain):属性的取值范围。
  4. 实体集(Entry Set):所有属性名完全相同的实体的集合。
  5. 实体型(Entry Type):实体集的名称及其所有属性名的集合。
  6. 码(Key):区分实体之间的属性。
  7. 关系:就是一个表。
  8. 元组:关系中的一行数据。

3、关系代数

任何一个系统满足基本操作就称是关系完备的。(是过程化的)

3-1、基本操作

  1. 选择(σ):将表中符合条件的元组找出来。(不产生重复)
  2. 投影(π):将表中符合条件的属性找出来。(一般情况需要去重,但是默认不去)
  3. 笛卡尔积(×):把两个表拼接在一起。
  4. 集合差(-):把属于关系1,但不属于关系2的元素找出来。
  5. 并(U):把两个相同模式的元组合并。

1和2都是一元操作,3、4、5是二元操作,必须满足(1)属性个数一样。(2)对应属性类型一样。

3-2、其他操作

都可由基本操作导出。

  1. 连接表
  2. 除法
  3. 外连接

3-3、条件连接

R ⋈ c S = σc(R×S),R、S表按条件c做连接,相当于在笛卡尔积中选择条件c的元组。

3-4、自然连接(innerjoin)

最多最常用的一种连接,在所有的公共属性上做等值连接,并且合并重复属性。

3-5、外连接

  1. 左外连接(*⋈):左边所遇元组保留,不符合的补空值NULL。
  2. 右外连接(⋈*):右边所有元组保留,不符合的补空值NULL。
  3. 全外连接(*⋈*):左右全都保留,不符合的补空值NULL。

3-6、外并

所有属性合并,值若没有则为空。

3-7、除法

适合用于查找满足某条件的所有记录

设A表有属性x,y;B表有属性y;
A/B = {<x> | ∃ <x,y> ∈ A,∀<y> ∈ B},
B中的任一y值,在A中都存在一个x,y值,结果是x。

基本操作:找在A,B中所有和y值有关的x值,就是找和任一y值无关的x值再做差。
不满足的x:πx( (πx (A) ×B) -A);
满足的x:πx(A) - 不满足的x。

4、关系演算

表达能力和关系代数等价,但非过程化,一种基于位次逻辑的表述方法。只需要表达对结果 应该满足的要求,但不用说明获得结果的过程。
—【元组关系演算(TRC)】:以元组为单位定义变量。
—【域关系演算(DRC)】:以属性为单位定义变量。

4-1、域关系演算

{<x1,x2,…,xn> | P(x1,x2,…,xn,xn+1,…,xn+m)}
原子公式:

  1. <x1,x2,…,xn>∈ R;
  2. X op Y;(X、Y是域变量)
  3. X op 常量;(其中op 为 >,<,=,≥,≤,≠)

公式定义:

  1. 所有原子公式是一个公式;
  2. 如果p、q是公式,﹁q、p∧q、p∨q也是公式;

4-2、安全查询

演算中会存在一些问题,满足某个查询的结果无限多则不安全。

4-3、表达能力

用安全的演算所能表达的查询用关系代数也都能表达

4-4、元组关系演算

{t[<元组>] | P(t)}

5、小结

传统的数据模型有:层次、网状、关系型。
适用于:OLTP(联机事物处理)应用,以记录为基础,基于结构化的存储。
缺点:不能很好的面向用户;不能用很自然的方法表达实体间的联系;数据类型少,有些需求很难满足。

现代数据模型:ER(实体-联系),能够非常好的描述现实世界中的事物;面向对象模型,在某种意义上突破了1NF的限制;基于逻辑模型,(演绎数据库系统)。

猜你喜欢

转载自blog.csdn.net/Unicorn_JF/article/details/102471979