数据库系统概论面向期末考试的笔记(未完)

Posted karshey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库系统概论面向期末考试的笔记(未完)相关的知识,希望对你有一定的参考价值。

B站视频
B站第一章
参考资料
图片来自视频链接和参考资料。

第一章:绪论

本章目录:

  • 四个基本概念
  • 发展阶段
  • 数据模型
  • 三级模式网状映像
  • 数据库系统的组成

四个概念
四个概念是由小到大的:
数据:Data
数据库:DataBase
数据库管理系统:DBMS
数据库系统:DBS

举个快递的例子:
Data:快递
DB:物流仓库
DBMS:整个仓库的运作情况
DBS:整个物流体系(宏观)

数据库关系系统的功能

数据库系统组成

发展阶段
人工、文件系统、数据库阶段


数据模型
分为:概念模型,逻辑和物理模型

数据模型的组成要素:

概念模型如图:

逻辑模型:

逻辑模型之层次模型
树形结构类似,有双亲,根节点,兄弟节点。

优点:数据结构清晰,查询效率高

逻辑模型之网状模型
类似于的结构。

优点:更直接地表示现实世界,有良好的性能,存储效率高

逻辑模型之关系模型
就是一张二维表。后面会细讲。
有一些术语:


关系模型的完整性约束

关于参照完整性举例:

这是一个学生表:

学号姓名所属班级号
1小明2
2小王-
3小红1

这是一个班级表:

班级号所属专业
1计算机科学与技术
2软件工程

学生表中的 所属班级号 参照的是班级表中的 班级号。
所属班级号可以为空(如小王),但不能是班级表中没出现的班级号。
这就是 参照完整性,学生表的所属班级号就是 外码。

三级模式两级映像
三级模式:外模式、模式、内模式
两级映像:外模式/模式映像、内模式/模式映像

外模式可以有多个,内模式和模式只有一个。

外模式:给用户看的,所以有多个外模式,因为会给不同的用户看
模式:也称为逻辑模式,管
内模式:也称为存储模式,管存储

两个独立性
逻辑独立性+物理独立性:
逻辑独立性:当模式结构改变时,只要修改外模式/模式映像即可保持逻辑独立性。
物理独立性:当内模式结构改变时,只要修改内模式/模式映像即可保持物理独立性。

记法:
看图,模式改变了,按理来说它上层的外模式就会变,但修改了其映像就能使它不变,保持逻辑独立性。
内模式改变了,内模式是管存储的,与物理有关。

数据库系统的组成

第二章:关系数据库

本章目录:

  • 关系模式
  • 关系操作
  • 关系语言的分类
  • 关系的完整性

关系模式
关系模式:对关系的描述。
关系:一张二维表。

对关系的描述:

  1. 关系中有哪些属性
  2. 属性来自哪些域
  3. 属性与域之间的映射关系

即:R(U,D,DOM,F)
R:关系名
U:所有属性名
D:属性来自哪些域
DOM:属性和域的映射
F:属性间的依赖关系

关系操作
插入、查询、删除、修改。(即,增删查改)

查询最重要,又可以分为:

  1. 选择
  2. 投影
  3. 连接
  4. 除法
  5. 笛卡尔积

加粗的为查询中的基本操作。

关系语言的分类

  • 关系代数语言(本章重点讲)
  • 关系演算语言
  • 具有关系代数和关系演算的SQL语言

关系代数集合很像。

关系代数相关运算:

并、交、差

笛卡尔积
类似于运动员握手。
R的第1行要跟S的每一行握手。
R的第2行要跟S的每一行握手。

R的第n行要跟S的每一行握手。

选择
σ表示选择,σ后跟着选择的条件,括号里是表的名称。
相当于是在括号里的表中选择符合条件的。

投影
其实就是选择列


连接

自然连接:把共同属性进行等值连接。
如:


如果有两个共同属性:

悬浮元组:在自然连接中被舍弃的元组被称为悬浮元组。
(如上图的R的3 3 4,S的1 1 1)

假设是R连接S。
外连接:保留R和S的悬浮元组。
左外连接:只保留R的悬浮元组。
右外连接:只保留S的悬浮元组。


除法
是一种包含全体的运算。

一个复杂一点的例子:

查询选修了全部课程的学生号码和姓名:

关系的完整性

  • 实体
  • 参照
  • 用户定义

实体完整性:主码唯一且非空
参照完整性:外码要么为空,要么就要对应另一个表的主码
用户定义完整性:自己定义的完整性,比如成绩在0-100范围内

数据库第三章-上

本章目录:

  • SQL特点
  • SQL基本概念
  • SQL的基本语法

SQL特点
SQL包括:数据查询、数据操作、数据定义、数据控制
它是一个非过程语言。

什么是非过程性语言?
我们在逻辑和物理模型里讲了层次、网状、关系模型。
其中层次模型和网状模型的查询是要有过程的,而关系模型不需要过程——这就是非过程性语言。

SQL特点:

  • 综合统一:把定义、修改、删除、连接、安全性、完整性、事务控制、动态SQL等统一起来
  • 高度非过程化:层次模型和网状模型是过程化的,关系模型是非过程化的
  • 面向集合的操作方式
  • 以同一种语法结构提供多种使用方式:既可以独立,也可以嵌入到Java或C++中
  • 语言简洁,易学易用

SQL基本概念


这一章先将前三行的语法,数据控制是安全性里面的。

一些概念:

  • 基本表:二维表
  • 存储文件:存在数据库里的文件
  • 视图:一个虚表,从一个或多个基本表中导出来的表,视图不是真正的表,他的数据都是在基本表中

外模式:视图与部分基本表
模式:基本表
内模式:存储文件

SQL包括:

  1. 数据定义
  2. 数据查询
  3. 数据更新:修改和删除
  4. 视图

1.数据定义

定义模式CREATE SCHEMA <模式名> AUTHORIZATION <用户名>

为用户WANG定义一个学生-课程模式S-T:(这里用户可以理解为一个账户)

  • CREATE 定义
  • SCEMA模式
CREATE SCHEMA "S-T" AUTHORIZATION WANG;

删除模式DROP SCHEMA <模式名> <CASCADE|RESTRICT>

CASCADE(级联)
删除模式的同时把该模式下所有的数据库对象全部删除
RESTRICT(限制)
如果该模式中定义了下属的数据库对象(如表、视图等),则停止执行该语句。

基本表的定义,修改,删除
定义格式:

CREATE TABLE <表名>(
      <列名> <数据类型>[ <列级完整性约束条件> ]
      [<列名> <数据类型>[ <列级完整性约束条件>] ]
       ………
      [<表级完整性约束条件> ]
 );

举个定义的例子:
学生表:

CREATE TABLE Student( /*定义一个表名为Student的表*/
Sno(CHAR(9)) PRIMARY KAY,
/*第一列是Sno,是属性(列名),CHAR是数据类型,长度为9. PRIMARY KAY表示设置为主码,逗号分隔*/
Sname CHAR(20) UNIQUE,/*第二列是Sname,设置UNIQUE表示不允许重复*/
Ssex CHAR(2),/*中文'男''女'占两个字节*/
Sdept CHAR(20)
);

课程表:

CREATE TABLE Course(
Cno CHAR(4) PRIMARY KEY,/*列级完整性约数条件,Cno是主码*/
Cname CHAR(40) NOT NULL,/*Cname不能为空*/
Cpno CHAR(4),/*含义是先修课*/
Ccredit SMALLINT,
FOREIGN KEY(Cpno)REFERENCES Course(Cno)
/*表级完整性约束条件,Cpno是外码,被参照的表是Course,被参照的列是Cno*/
);

一些数据类型:

修改基本表
格式:

ALTER TABLE <表名>
[ ADD <新列名> <数据类型> [ 完整性约束 ] ]
[ DROP <完整性约束名> ]
[ ALTER COLUMN<列名> <数据类型> ]

如:向Student表增加“入学时间”列,其数据类型为日期型。

ALTER TABLE Student ADD S_entrance DATE;
/*向Student表   增加列,列名为S_entrance  数据类型为DATE*/

如:将年龄的数据类型由字符型(假设原来的数据类型是字符型)为整数

ALTER TABLE Student ALTER COLUMN Sage INT;
/*选择表Student      选择列Sage   让它的数据类型为INT*/

如:增加课程名称必须取唯一值的约束条件

ALTER TABLE Course ADD UNIQUE(Sname);
/**选择表Course 令Sname这列属性UNIQUE**/

删除基本表
格式:

DROP TABLE <表名>RESTRICT| CASCADE;

RESTRICT:删除表是有限制的。

  • 欲删除的基本表不能被其他表的约束所引用
  • 如果存在依赖该表的对象,则此表不能被删除

CASCADE:删除该表没有限制。

  • 在删除基本表的同时,相关的依赖对象一起删除

索引的建立和删除
P2 12:29

以上是关于数据库系统概论面向期末考试的笔记(未完)的主要内容,如果未能解决你的问题,请参考以下文章

中国MOOC_面向对象程序设计——Java语言_期末考试编程题_1细胞自动机

面向对象程序设计期末复习笔记

《数据库系统概论》期末不挂科

《信息与编码》考试复习笔记1----第一章概论

笔记总结计算机系期末复习专业课学习算法与其他笔记

Linux系统管理期末考试小结