Ch 1

  • 什么是数据库系统?

  • 什么是数据模型、数据抽象?

模型:

关系模型 mysql看到的就是关系模式图,使用广泛

实体-联系模型 E-R图的就是E-R模型,设计时候用得多

半结构化数据模型 特性:同一个数据项可以有多种类型数据。JSON、XML相关,期中估计不考

基于对象的数据模型 面向对象相关,期中估计不考

抽象:

物理层:在电脑上怎么存的

逻辑层:平常操作mysql就是这层

视图层:用户只需要部分数据,所以搞个视图(比如触发器啥的肯定不在这层)

  • 什么是DML、DDL

DDL:Data-Definition Language

例如create

DML:Data-Manipulation Language

例如select

  • 数据库设计的过程

刻画需求

概念设计

逻辑设计

物理设计

  • 存储管理器与查询管理器部件包括哪些

存储管理器:

权限及完整性管理器

事务管理器

文件管理器

缓冲区管理器

数据文件

数据字典

索引

查询处理器:

DDL解释器

DML编译器

查询执行引擎 用于把DML编译器编出来的东西执行

  • 事务是什么?干什么用?ACID是什么?

完成单一逻辑功能的操作集合,要么都发生要么都不发生。

Atomicity/Consistency/Isolation/Durability

其中隔离性:事务之间互相察觉不到对方正在运行(避免两边同时修改读取造成问题)

  • 数据库体系结构有哪些

集中式 – 都在本地

C/S – 两层(前端、后台)、三层(前端、业务逻辑、后台)

并行

分布式

Ch2+Ch6 关系

关系模式、关系实例

关系模式->设计表

关系实例->打开表

超码、候选码、主码、外码

超码:候选码的超集

候选码:极小的超码

(上面是循环定义,看懂就行)

主码:谁都懂

外码:r1中这列取值必须是r2中某列取值

参照完整性约束、外码约束

参照完整性约束又称作引用完整性约束?外码约束是它的一种。但别的引用完整性约束经常不被支持

关系查询语言

命令式 关注程序执行的步骤,过程清晰,控制能力强

函数式 – 关系代数 可以将程序逻辑封装成函数,相较于声明式可以更精确地控制程序执行步骤,相对于声明式又更为清晰简洁

声明式 只需要描述所需的数据,不需要给具体操作 注重结果而不关心程序执行过程,简洁易用

关系代数

$$
\sigma 选择(where)\
\Pi 投影(select后面跟的)\
\times 笛卡尔积(,)\
\rho_x(E)更名(as)\
并、差\\
上面的是基本关系运算\
\bowtie_{\theta}内连接(innerjoinon)\
\bowtie自然内连接(naturalinnerjoin)\
\larr赋值\

$$

Ch3-5 SQL

SQL的组成

包括了几个部分

  1. DDL
  2. DML
  3. 完整性
  4. 视图定义
  5. 嵌入式SQL和动态SQL
  6. 授权

SQL的各种语句

表格定义

1
2
3
4
5
6
7
create table department
(
dept_name varchar(20),
aaa int,
foreign key (aaa) references XXX,
primary key(dept_name)
);

改变表的设计

alter table xxx drop xx;

alter table xxx add xx;

alter table xxx modify xx int unique not null;

alter table xxx add constraint CCC foreign key(xx) references yy;

删除表drop xxx;

插入insert into xxx(x,y,z) values(xx,yy,zz);insert into select * from yyy;

更新update xxx set x=xx where y=yy;

视图create view XXX as select x from xxx;

断言create assertion AAA check(blabla)

事务-begin end

完整性约束

integrity constraint

create table blablablabla check(ass)

级联删除 on delete cascade

自定义类型

create type Dollars as numeric(12,2) final;

//int x;

cast(x to numeric(12,2))类型转换

模式

create schema

授权

grant select on department to Richard with grant option;

grant update(xxx) on department to Richard;

revoke select on department from Richard cascade/restrict;

create role instructor;