关系型数据库 | 青训营笔记

82 阅读2分钟

我在本学期恰好学习了数据库系统这一门专业课,并将在本周五进行结课考试,所以在此结合现实里的课程内容,对视频中所提到的关系型数据库进行一次梳理与拓展。

准备知识

数据:可存储编码,信息载体 数据库:长期储存在计算机内,有组织的,可共享的数据集合。 数据库管理系统:定义,组织,存储,管理数据;数据操纵;保证数据安全,正确,完整;进行并发控制与事务处理。 数据库系统: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...;