这里写目录标题
1、数据库系统概述
教程PDF: PDF link
数据库:
基本特征
功能(数据库管理系统功能)
技术发展阶段
数据模型:
组成元素
分类:
概念模型
逻辑模型:(关系模型、层次模型、网状模型)
关系:关系模型(二维表)
非关系:层次模型(树结构)、网状模型(有向图)
物理模型
数据库系统结构:外模式、模式、内模式
格式化模型(包括层次模型和网状数据模型),层次模型和网状模型都是格式化模型
格式化模型中的数据结构单位:基本层次联系
双亲节点一对多(包含1对1的)->联系子女节点
2、关系数据库
形式化定义:
域:
笛卡尔积:域的集合
关系:
属性、候选吗、主码(主属性、非主属性)、全码
关系操作:
查询:选择、投影、并、差、笛卡尔积
插入、删除、修改
关系数据语言:
关系代数语言、关系演算语言、结构化查询语言
关系模型完整性约束:
实体完整性、参照完整性、用户自定义完整性
关系代数运算:(5种基本操作:选择、投影、并、差、笛卡尔积)
集合运算:交并差、笛卡尔积
关系运算:选择、投影、除、连接(属性(列)):
等值连接:(属性值相等)
自然连接(去重,合并值相等相同属性):悬浮元组、外连接、左外、右外
3、sql语言(结构化查询语言)
功能:
数据查询、数据操纵、数据定义和数据控制
对应关系:
几种数据:
基本表
视图(基本表或视图导出的表)
索引
数据定义:
模式
基本表
视图
索引
数据操作:
查:select from、where、group by、order by、聚合函数(select、group by)、连接(多表、外连接)、any all exists
增删改:
若选择RESTRICT,该表的删除是有限制条件的。该表不能被其他表的约束所引用(如CHECK,FOREIGN KEY等约束),不能有触发器,不能有视图,不能有函数和存储过程等。如果该表存在这些依赖的对象,此表不能删除。
若选择CASCADE,该表的删除没有限制条件。在删除基本表的同时,相关的依赖对象将会被一起删除。
默认是RESTRICT
with check option可以这么解释:通过视图进行的修改,必须也能通过该视图看到修改后的结果。比如你insert,那么加的这条记录在刷新视图后必须可以看到; 如果修改,修改完的结果也必须能通过该视图看到;如果删除,当然只能删除视图里有显示的记录。
外连:
RIGHT JOIN table2 ON
INNER JOIN table2 ON table1.column_name=table2.column_name;
外键:
表中添加1
CREATE TABLE Orders
(
Id_O int NOT NULL,
OrderNo int NOT NULL,
Id_P int,
PRIMARY KEY (Id_O),
FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
)
表中添加2
CREATE TABLE Orders
(
Id_O int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,
Id_P int FOREIGN KEY REFERENCES Persons(Id_P)
)
表外添加
ALTER TABLE Orders ADD FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
链接:https://blog.csdn.net/joycychou/article/details/120907764
4、关系数据库理论
1、数据依赖
函数依赖:
多值依赖:
2、范式
第一范式:属性阈值不可分(原子性)
第二范式:非主属性都完全函数依赖任一候选码(非主属性,不部分依赖于码)
第三范式:既不部分依赖于码也不传递依赖于码(非主属性,不传递依赖于码)
BC范式:BC包含第三方式,多了主属性(主属性,既不部分依赖于码也不传递依赖于码)
第四范式:多值依赖
5、数据库安全性和完整性
安全性:
定义:泄露、更改、破坏
保护手段:用户身份鉴别、多层存取控制、审计机制、视图机制、数据加密技术
完整性:
正确性:语言
相容性:逻辑
完整性约束手段:
1、实体完整性:主键 primary key
2、参照完整性:外键 foreign key
3、自定义完整性:非空 Not NULL 唯一 unique
6、数据库的恢复和并发控制
事务:
1.特点:
原子性
一致性
隔离性
持续性
2.破坏因素:
并发运行,交叉操作
强制停止
故障种类:
事务内部故障(反向扫描)
系统故障(重做、撤销、提交、回滚)
介质故障 (数据转储、镜像)
计算机病毒
恢复技术
数据转储
登记日志文件
恢复策略:
重做、撤销、提交、回滚
并发操作带来的不一致性:
丢失修改
不可重复读
读脏数据
7、数据库设计
设计流程:
需求分析(数据流图、数据字典)
概念结构设计(E-R图:圆、正方形、菱形)
逻辑结构设计(关系模型)
物理结构设计
数据库实施
数据库运行和维护
大题
1、关系代数
差:没有、不含有
除以:全部
与或非: ^ V L 不等于:<>
除以:用中间表含有的关联属性,除以全部对应的属性,然后再连接含有筛选属性的表,最后再选择
2、E-R图
根据对应关系对属性进行合并,为一的一端独立,不包含另一端的号。
多对多,独立成表,包含两端外码
3、范式
分解为第三范式:将传递的属性拎出来,和候选码作为一组
分解为第二范式:将部分依赖的主码拿出来与部分组合,再建立关联表
函数依赖:
4、SQL语句
多表可以转换成子查询。
根据代数关系转换。
外键:
关联已有的:
PRIMARY KEY (Id_O),
FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
创建的时候赋予:
Id_P int FOREIGN KEY REFERENCES Persons(Id_P)
我们如果需要命名 FOREIGN KEY 约束,并定义多个列的 FOREIGN KEY 约束:
CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id) REFERENCES Persons(P_Id)
CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
)
授权: WITH GRANT OPTION(可以将权限授予他人)
GRANT INSERT , DELETE ON 社团 TO 李平 WITH GRANT OPTION
视图:with check option
5、查找树
将代数运算,转换成哈夫曼树