争取考前整理完 T T
ER图和关系模式建议把这个背下来
department(dept_name,building,budget);
instructor(ID, name,dept_name,salary);
course(course_id,title,dept_name,credits);
section(course_id,sec_id,semester,year,building,room_number,time_slot_id);
teaches(ID,course_id,section_id,semester,year);
student(ID,name,dept_name,tot_cred);
prereq(course_id,prereq_id);
advisor(s_id,i_id)
takes(ID,course_id,sec_id,semester,year,grade)
classroom(building,room_number,capacity)
time_slot(time_slot_id,day,start_time,end_time)
1.结构化查询语言:
DDL 数据定义语言 create、alter、drop
DML 数据操作语言 增删改(查)
DCL 数据控制语言 grant、revoke
DQL 数据查询语言 select
2.数据模型:
关系模型
实体—联系模型
基于对象的数据模型
半结构化数据模型
3.集合并、集合差的条件:
r,s必须包含相同属性
r,s属性的域必须相同
4.域:属性的取值范围
5.属性:
单值属性和多值属性
简单属性和符合属性
派生属性
冗余属性
6.索引:一种数据结构,帮助快速查询
7.事务:访问并可能更新各种数据项的一个程序执行单元
事务的ACID特征 原子性、持久性、一致性、隔离性
为什么引入事务:
事务提供了一种从故障恢复到正常状态的方法,也提供了一种即使在异常状态下也能保持数据库一致性的方法
事务的状态:
活动状态、部分提交状态、失败状态、中止状态、提交状态
8.数据库三层抽象:
物理层
逻辑层 数据库管理员(DBA)使用
视图层
9.可恢复调度:
Tj读了Ti所写的数据,则Tj一定要在Ti之后提交
10.无级联调度:
Tj在读Ti所写的数据时,Ti已经提交
无级联调度都是可恢复调度
什么是无级联调度:
对调度加以限制,避免级联回滚发生,这样的调度叫无级联调度
11.隔离性级别:
未提交读 允许脏读,不可重复读,幻象
已提交读 允许不可重复读,幻象
可重复读 允许幻象
可串行化 都不允许
以上四种都不允许脏写
事务隔离性引出第15章并发控制,并发控制是实现事务隔离性的手段
12.锁:
排他锁 可读可写
共享锁 只读
13.锁协议:
两阶段封锁协议:
增长阶段 可获得锁,不能释放锁
缩减阶段 可释放锁,不能获得锁
严格两阶段封锁协议:
还要求事务所有排他锁在事务提交之后方可释放
保证了未提交事务所写的数据在该事务提交之前以排他式加锁,防止其他事务读这些数据,避免级联回滚
强两阶段封锁协议:
事务提交前不能释放任何锁 能解决可串行化调度问题
14.锁转换:
升级 共享锁->排他锁(增长阶段)
降级 排他锁->共享锁(缩减阶段)
15.死锁的恢复:
选择牺牲者
回滚
饿死
16.完整性约束:
主键、外键、UNIQUE、NOT NULL、CHECK()
17.死锁的检测:
等待图
18.DB、DBS、DBMS
DB (Database) :
数据库,是用于存储和管理数据的集合。数据库可以包含多个表,每个表包含多个记录。
DBS (Database System) :
数据库系统,是指由硬件、软件和数据组成的整体系统。数据库系统提供了数据管理、数据存储和数据访问等功能,并且支持多用户并发访问
DBMS (Database Management System):
数据库管理系统,是数据库系统的核心组件,负责管理和操作数据库。DBMS提供了数据定义、数据操纵、数据控制和数据查询等功能,用户可以通过DBMS来创建、修改、查询和删除数据库中的数据
19.实例、模式、模型:
实例(Instances):指特定时刻存储在数据库中的信息的集合
模式(Schemas):指数据库的总体设计
模型(Model):用于描述 数据 数据关系 数据语义 数据约束(第2条是类型)
20.数据库引擎:
存储管理
查询处理
事务管理
21.SQL语句实现数据的并集(union)、交集(intersect)、差集(except)
22.数据规范化:
降低数据冗余,避免插入异常、删除异常