我在本学期恰好学习了数据库系统这一门专业课,并将在本周五进行结课考试,所以在此结合现实里的课程内容,对视频中所提到的关系型数据库进行一次梳理与拓展。
准备知识
数据:可存储编码,信息载体 数据库:长期储存在计算机内,有组织的,可共享的数据集合。 数据库管理系统:定义,组织,存储,管理数据;数据操纵;保证数据安全,正确,完整;进行并发控制与事务处理。 数据库系统:DB、DBMS、开发工具,应用系统,用户
三层数据抽象:视图抽象,逻辑抽象,物理抽象 三层模式:外模式,逻辑模式,内模式 两层数据独立性: 物理独立性:当内模式发生变化时,数据的逻辑模式不必变化 逻辑独立性:当逻辑模式变化,如增加属性时,外模式不必变化,应用程序亦可不变。
关系代数运算
关系模型:属性,域,,,
完整性约束:主外键约束,空值约束,,,
基本代数操作:
- 选择
- 投影
- 并
- 差
- 笛卡尔积
- 重命名
附加的关系代数操作:
- 交
- 自然连接
- 除
- 赋值
- 外连接
- 广义投影
- 聚集
SQL查询语言:
show database; use Student; CREATE TABLE Student (Name varchar(20) not null, id int not null); ALTER TABLE Student ADD age integer; GRANT SELECT ON STUDENT TO USER;
SELECT * FROM STUDENT WHERE AGE=18 //查询条件 GROUPY SEX HAVING ... //对查询结果按...分组,并用having筛选符合条件的组 ORDER BY ID; //对查询结果按...排序
连接查询:同时涉及多个表的查询
SITA-连接: SELECT STUDENT.,SC. FROM STUDENT,SC WHERE STUDENT.ID=/</>SC.ID;
自然连接
自连接:必须使用别名 SELECT STUDENT.ID,STU.ID FROM STUDENT,STUDENT STU ON...;
嵌套查询:
数据修改机制: INSERT INTO STUDENT VALUES ('123',18);
UPDATE STUDENT SET ... WHERE...;
DELETE FROM STUDENT WHERE...;