数据库系统-学习记录1

ch1.数据库系统简介

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

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

2、允许用户进行查询

3、进行大量数据的存储

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

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

早期数据库管理系统

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

关系数据库系统

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

用高级语言进行查询

DBMS大小的发展趋势

体积上越来越小

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

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

存储容量上越来越大

信息集成

DBMS系统组成

在这里插入图片描述

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

缓冲区:(?)

ch2.关系数据模型

数据模型

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

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

关系数据模型简介

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hzusfZ7z-1599571416494)(C:\Users\蔡三圈\AppData\Roaming\Typora\typora-user-images\image-20200908195339753.png)]

半结构化数据模型简介

由树或图的形式构成,当前的主要表示形式为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 ∪ \cup S

交:R ∩ \cap S

差:R-S

投影

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

表示形式为: π t i t l e ,   y e a r ,   l e n g t h ( M o v i e s ) \pi_{title,\ year,\ length}(Movies) πtitle, year, length(Movies)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NjFWVrxH-1599571416497)(C:\Users\蔡三圈\AppData\Roaming\Typora\typora-user-images\image-20200908210411939.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LbTXOuEl-1599571416500)(C:\Users\蔡三圈\AppData\Roaming\Typora\typora-user-images\image-20200908210422037.png)]

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

选择

σ C ( R ) \sigma_C(R) σC(R)表示从关系R中按条件C筛选,例如: σ l e n g t h ≥ 100 ( M o v i e s ) \sigma_{length\ge100}(Movies) σlength100(Movies)表示从关系Movies中筛选出length大于或等于100的元组

笛卡尔积

表示形式:R × \times ×S

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mCQzRYjK-1599571416502)(C:\Users\蔡三圈\AppData\Roaming\Typora\typora-user-images\image-20200908211049631.png)]

自然连接

表示形式:R ⋈ \Join S

自然连接后的关系保留了原关系R和S之间,在相同属性上具有相同值的元组,如图2-16,U与V具有相同属性B和C,最后的结果只保留了关系U与关系V在B和C这两个属性上具有相同值的相应元组

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DwyfNGvR-1599571416503)(C:\Users\蔡三圈\AppData\Roaming\Typora\typora-user-images\image-20200908211653643.png)]

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

θ \theta θ连接

表示形式:R ⋈ C \Join_C CS

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值