ch1.数据库系统简介

数据库管理系统(DBMS)被期望做到:

1、允许用户用特定语言创建数据库并指定模式

2、允许用户进行查询

3、进行大量数据的存储

4、能够在各种故障中恢复数据

5、能够同时被多名用户使用

早期数据库管理系统

由文件系统演变而来,只能完成部分期望DBMS能够完成的操作

关系数据库系统

背后为复杂的数据结构,使得能够作出较快的响应

用高级语言进行查询

DBMS大小的发展趋势

体积上越来越小

从大型机器上运行,到逐步能够在个人电脑上运行

常使用XML标记文档,大量文档的集合组成数据库(?)

存储容量上越来越大

信息集成

DBMS系统组成

数据库系统-学习记录1

日志和恢复、并发控制是事务管理器的组成部分。前者负责事务的持久性,后者负责事务的孤立性。

缓冲区:(?)

ch2.关系数据模型

数据模型

描述数据或信息的记号,通常由三个部分组成:1、数据结构(结构体);2、对数据的操作;3、对数据的约束

重要的数据模型包括关系数据模型和半结构化数据模型(包含XML)

关系数据模型简介

关系数据模型基于二维表格(例如fig.2.1)

数据库系统-学习记录1

半结构化数据模型简介

由树或图的形式构成,当前的主要表示形式为XML

其他数据模型

目前呈现出面向对象化的趋势,例如以结构体代替基本类型

各模型间的比较

半结构化数据模型相比于关系数据模型更为便捷迅速,但关系数据模型仍然是使用的最多的模型。因为关系数据模型能够对现实中的数据有效进行模型化,并提供了高效的操作集。

关系模型基础

属性

关系的列,例如title, year, length, genre等

模式

关系的名称及其属性,例如Movies(title, year, length, genre)

元组

关系中除属性之外的所有行,例如(Gone With the Wind, 1939, 231, drama)

假定与关系的每个属性相关联的是一个域,即元组的每个分量都有一个数据类型,例如integer, string。表示形式形如:Movies(title : string, year : integer, length : integer, genre : string)

关系模型的等价表述

元组顺序对表述无影响,属性次序对表述也没有影响

关系实例

给定的关系中元组的集合,称作关系实例

键(keys)

属于一种约束,由属性集组成,保证在关系实例中,没有两个在此属性集上相等的元组

设置虚拟键会更加安全,例如员工id

在SQL中定义关系模式

SQL是用于描述及操作数据库的主要语言

基本用法

见各大网站

代数查询语言

关系代数

属于另外一门代数,原子操作数是:

1、代表关系的变量

2、代表有限关系的常量

传统关系代数的主要操作

1、并、交、差

2、除去某些行列

3、组合两个关系元组

4、重命名

关系代数的表达式一般被称之为查询

关系上的集合操作

并:R\cupS

交:R\capS

差:R-S

投影

只保留关系中的部分列,例如:图2-13投影到year, length

数据库系统-学习记录1

数据库系统-学习记录1

投影后,重复元组会被排除

选择

σC(R)\sigma_C(R)表示从关系R中按条件C筛选,例如:σlength100(Movies)\sigma_{length\ge100}(Movies)表示从关系Movies中筛选出length大于或等于100的元组

笛卡尔积

表示形式:R×\timesS

列举出两个关系的所有可能的组合,如图2-14

数据库系统-学习记录1

自然连接

表示形式:R\JoinS

自然连接后的关系保留了原关系R和S之间,在相同属性上具有相同值的元组,如图2-16

数据库系统-学习记录1

悬浮元组:无法和另一关系的任何元组进行自然拼接的元组

θ\theta连接

表示形式:RC\Join_CS

先得到笛卡尔积,再筛选满足条件C的元组

参考资料:J. Ullmann, et. al., - A First Course in Database Systems (2008, Pearson) - libgen.lc

相关文章:

  • 2021-09-02
  • 2021-07-22
  • 2021-09-08
  • 2022-01-05
  • 2022-12-23
  • 2021-05-14
猜你喜欢
  • 2021-09-13
  • 2021-10-15
  • 2022-01-23
  • 2021-08-16
  • 2021-11-20
  • 2021-12-14
  • 2021-04-23
相关资源
相似解决方案