学习总结面试基础知识,包括:
- 数据结构
- 数据库
- 计算机网络
- 操作系统
数据结构
元胞自动机trick
数据库
基本概念
DB: 数据库
DBS: 数据库系统,即DB+DBMS
DBMS: 数据库管理系统
DBA: 数据库管理员
三大经典模型:层次模型、网状模型、关系模型
关系模型
概念
关系:一个关系就是一个table
关系模型的三个要素:
- 基本结构:Relation/Table
- 基本操作:Relation Operator
- 并:$\cup$
- 差:$-$
- 广义积:$×$
- 选择:$\sigma$
- 投影:$\pi$
- 交:$\cap$
- 连接:$\bowtie$
- 除:$÷$
候选码:最小的能唯一标识一个元组的属性组
R的外码:不是关系R的候选码但与关系S的候选码相对应
- 两个关系靠外码连接起来
关系代数
并相容性:属性数目相同且属性域相同(并差交需要满足)
基本操作
并操作$\cup$:合并,去除重复
差操作$-$:R-S即在R中不在S中的
广义笛卡尔积$×$:排列组合
选择操作$\sigma$:$\sigma_{con}(R)$从关系R中选择满足条件con的关系
- 选择满足条件的行
投影操作$\pi$:$\pi_A(R)$从关系R中选择属性包含在A的列,去除重复
- 选择指定的列
扩展操作
交操作$\cap$:取重复
$\theta$-连接:$\mathop{R\bowtie S}\limits_{A\theta B}=\sigma_{t[A] \theta s[B]}(R×S)$,其中$\theta $为连接条件
等值连接:即$\theta$-连接条件取等于
自然连接:即将等值连接中相同元素(列)合并
关系演算(待完善)
元组运算
关系域运算
安全性
$\and \or$
SQL语言基础
DDL: Create, Alter, Drop
DML: Insert, Delete, Update, Select
DCL: Grant, Revoke
DDL
SQL-92中定义的数据类型
- char(n):固定长度字符串
- varchar(n):可变长度字符串
- int/integer:整数
- numeric(p, q):固定精度数字
- real:浮点数
- date:日期
- time:时间
新建
1 | --新建表 |
修改
1 | --增加Saddr和PID两列 |
撤销
1 | --撤销基本表 |
指定与关闭
1 | --使用和关闭Student数据库 |
DML
增
1 | --单一插入 |
查
简单查询
1 | --投影+选择 |
多表联合查询
1 | --等值连接 |
删
1 | --删除满足条件的元组 |
改
1 | --修改满足条件的元组 |
SQL语言进阶
子查询
结果运算
分组查询
实现关系代数操作
数据库完整性与安全性及SQL实现
数据库设计范式
第一范式(1NF):
第二范式(2NF):
第三范式(3NF):
BCNF:
计算机网络
操作系统