数据库系统概论

数据库系统概论

思维导图

day01

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CERAPA9l-1666955774615)(rkeogflsc.hb-bkt.clouddn.com/image-20221023201436216.png)]

关系数据库

(1)关系模式

关系模式:对关系的描述

什么是关系?

关系是一张表,一张二维表

关系有哪些需要描述?

1.关系中的属性

2.属性来自哪些域

3.属性与域之间的映射关系

可以形象的表示为R(U,D,DOM,F)

R:关系名

U:所有属性名

D:属性来自哪些域

DOM:属性和域之间的映射

F:属性间的依赖关系

关系数据库:

关系数据库也有关数据库模式

(2)关系操作

插入、查询、删除、修改

其中查询操作分为:选择、投影、连接、除法、交、笛卡尔积

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Hs3DvF1m-1666955774615)(rkeogflsc.hb-bkt.clouddn.com/image-20221023111441391.png)]

查询操作的基本操作:选择、投影、并、差、笛卡尔积

(3)关系语言的分类

分为 关系代数语言 关系演算语言 SQL语言

关系代数语言

关系代数是一种抽象的查询语言,它用对关系的运算来表达查询

三大要素:运算对象(关系)、运算符(集合运算符和专门的关系运算符)以及运算结果(关系)

关系的代数运算
1.交
2.并
3.差
4.笛卡尔积
5.选择

显示所有字段

6.投影

显示选择中的某几个属性

7.连接

自然连接:先把字段拿过来,再把共同属性进行等值连接

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xStolx5q-1666955774616)(rkeogflsc.hb-bkt.clouddn.com/image-20221023111909746.png)]

悬浮元组:不存在公共属性上相等的元组,操作时被舍弃

外连接:把悬浮元组也保存在结果中,在其他属性上填null

左外连接:left outer join / left join

只保留左边关系R中的悬浮元组

右外连接:同理

8.除

保留R中满足S的,而且R中列要去掉S的列

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FHUFgXaa-1666955774616)(rkeogflsc.hb-bkt.clouddn.com/image-20221023110428859.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wz4akCAP-1666955774616)(rkeogflsc.hb-bkt.clouddn.com/image-20221023110441286.png)]

(4)关系的完整性

1.实体完整性

主码唯一且非空

2.参照完整性

外码要么为空,要么对应另一个表的主码

3.用户定义完整性

你自己写的要完整,比如学号多少,姓名班级年级之类

SQL语言(上)

(1)SQL概念

结构化查询语言(增删改)

数据库管理系统

mysql,oracle 关系型 (类似于表)

redis,mongodb 非关系型(类似于文档)

所以不同的数据库管理系统的sql语言有所不同

一、数据定义语言DDL

定义逻辑结构,包括定义基表、视图和索引

删除表 定义表 修改表

二、数据查询语言DQL

查询各种数据对象

三、数据操纵语言DML

改变数据库中的数据,包括插入、删除、修改

四、数据控制功能DCL

对表和视图授权,完整性规则的描述以及事务开始和结束等控制语句

(2)SQL语言特点

1.综合统一

2.高度非过程化

3.面向集合操作方式

4.以同一种语法结构提供两种使用方式(自含式,嵌入式)

5.语言简洁,易学易用

(3)SQL基本语法
1.变量类型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vXn6VjV8-1666955774616)(rkeogflsc.hb-bkt.clouddn.com/image-20221023112607800.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oojZWSa0-1666955774617)(rkeogflsc.hb-bkt.clouddn.com/image-20221023112621055.png)]

2.模式定义和删除

模式定义

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3GwH17qe-1666955774617)(rkeogflsc.hb-bkt.clouddn.com/image-20221023113020819.png)]

模式定义+视图(一个表的查询)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v2vy17fH-1666955774617)(rkeogflsc.hb-bkt.clouddn.com/image-20221023113045370.png)]

模式删除

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cJE8SFmr-1666955774618)(rkeogflsc.hb-bkt.clouddn.com/image-20221023113132461.png)]

1.删除模式,其中CASCADE和RESTRICT必须二选一

CASCADE是(级联) 删除模式的同时把该模式下的所有数据库对象删除。

RESTRICT(限制)eg:如果该模式下有下属对象,比如表视图,就拒绝这个删除语句的执行

3.表的定义和删除和修改

(1)定义:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4ZX4vU84-1666955774618)(rkeogflsc.hb-bkt.clouddn.com/image-20221023113414963.png)]

(2)删除:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S4d8lAd5-1666955774619)(rkeogflsc.hb-bkt.clouddn.com/image-20221023113533211.png)]

CASCADE 是如果有外键 视图 触发器的话,也会强行删除,RESTRICT 相反

(3)修改:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gi0ZISbu-1666955774619)(rkeogflsc.hb-bkt.clouddn.com/image-20221023113726549.png)]

4.索引的建立 与 修改和删除

数据量比较大的时候,查询时间长,建立索引可以有效减少时间,索引可以建立在一列或者多列上。

(1)建立:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ySioifTR-1666955774620)(rkeogflsc.hb-bkt.clouddn.com/image-20221023113917083.png)]

CLUSTER:聚簇索引:物理顺序与索引的逻辑顺序相同

eg:A,B,C,D

UNIQUE:唯一索引;

CREATE UNIQUE INDEX Stusno ON Student(Sno);

(2)修改:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lStHkEcS-1666955774620)(rkeogflsc.hb-bkt.clouddn.com/image-20221023114130075.png)]

(3)删除:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GrrhvcgI-1666955774620)(rkeogflsc.hb-bkt.clouddn.com/image-20221023115636087.png)]

SQL语言(中)

查询(展现表)
1.查询列(将表以列的形式展现)

SELECT * FROM <表名> = SELECT {列名|列名∈表,以逗号隔开} FROM <表名>

2.结果去重

加上 DISTINCT 关键字

SELECT DISTINCT * FROM ~

3.查询结果加条件(WHERE 和 LIKE 字句)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PIZAFlIk-1666955774620)(rkeogflsc.hb-bkt.clouddn.com/image-20221023120436215-1666661106134-2.png)]

4.聚集函数的使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9XhwTWeq-1666955774621)(rkeogflsc.hb-bkt.clouddn.com/image-20221024163015720-1666661106134-1.png)]

5.连接 join

等值,非等值连接,以where为关键字

6.集合查询
7.带EXISTs的子查询
8.带有ANY ALL的子查询
9.GROUP BY分组,如果要进行筛选,请使用Having

SQL语言(下)

1. 数据插入 修改 删除
插入

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CMg2bkrB-1666955774621)(rkeogflsc.hb-bkt.clouddn.com/image-20221025091007980-1666661106134-3.png)]

修改

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mlNYIdNd-1666955774621)(rkeogflsc.hb-bkt.clouddn.com/image-20221025091417267-1666661106134-4.png)]

删除

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8rIW3krj-1666955774621)(rkeogflsc.hb-bkt.clouddn.com/image-20221025091531879-1666661106134-5.png)]

2.视图
创建

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T6TJVFrl-1666955774622)(rkeogflsc.hb-bkt.clouddn.com/image-20221025091712468-1666661106135-6.png)]

CREATE VIEW <视图名> [(<列名>[<列名>]……….)]

AS<子查询>

[WITH CHECK OPTION] ; #表示对视图进行update、insert和delete操作时要保证更新,插入或删除的行满足视图定义中的谓词条件(即子查询中的条件表达式)

删除

DROP VIEW <视图名>[CASCADE]

查询

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TPuw9XXy-1666955774622)(rkeogflsc.hb-bkt.clouddn.com/image-20221025092340994-1666661106135-7.png)]

更新

视图是不存在的,所以我们对视图的操作,最终要反映到对表的基本操作

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KVithBA6-1666955774622)(rkeogflsc.hb-bkt.clouddn.com/image-20221025092450407-1666661106135-8.png)]

数据库的安全性

概述:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pfi24bUH-1666955774622)(rkeogflsc.hb-bkt.clouddn.com/image-20221025092558303.png)]

安全性控制:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mDVvcK9f-1666955774622)(rkeogflsc.hb-bkt.clouddn.com/image-20221025092614685.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Tk9c8t4w-1666955774623)(rkeogflsc.hb-bkt.clouddn.com/image-20221025092710512.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4ZrytMuT-1666955774623)(rkeogflsc.hb-bkt.clouddn.com/image-20221025092834548.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qCF3GcbB-1666955774623)(rkeogflsc.hb-bkt.clouddn.com/image-20221025093303930.png)]

视图机制:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yySRHJop-1666955774623)(rkeogflsc.hb-bkt.clouddn.com/image-20221025093636719.png)]

审计:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L1vDcWyM-1666955774624)(rkeogflsc.hb-bkt.clouddn.com/image-20221025093835267.png)]

数据加密:

通过一些加密算法,把明文变成密文,这样别人就无法查看

数据库的完整性

三大完整性

1.实体完整性:主码唯一且非空

primary key()

2.参照完整性:外码要么没有,要么只有一个

foreign key() references <表名>(列名)

3.用户定义完整性

1.非空

2.列值唯一

3.满足某一个条件表达式 check

断言

create assertion <断言名><check字句>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JNU7oPES-1666955774624)(rkeogflsc.hb-bkt.clouddn.com/image-20221025095117671.png)]

删除断言

drop assertion <>;

触发器

也叫 事件->条件->动作 规则

当对一个表增删改时,对触发器里面的条件进行检查,如果成立,就执行触发器里面的动作,否则不执行

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gzLpUuhr-1666955774624)(rkeogflsc.hb-bkt.clouddn.com/image-20221025095520678.png)]

删除触发器

drop trigger <触发器名> on <表名>

关系数据库理论

为什么引入范式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ej1xJmKX-1666955774624)(rkeogflsc.hb-bkt.clouddn.com/image-20221025100632078.png)]

范式分类

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ulRTianC-1666955774624)(rkeogflsc.hb-bkt.clouddn.com/image-20221025100619776.png)]

依赖

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d1v2nOIf-1666955774624)(rkeogflsc.hb-bkt.clouddn.com/image-20221025100650923.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JRaH9GAI-1666955774625)(rkeogflsc.hb-bkt.clouddn.com/image-20221025100807417.png)]

候选码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-emNhbNUl-1666955774625)(rkeogflsc.hb-bkt.clouddn.com/image-20221025101008416.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lTyCfXhu-1666955774625)(rkeogflsc.hb-bkt.clouddn.com/image-20221025101352984.png)]

三大范式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IpW5lRNc-1666955774626)(rkeogflsc.hb-bkt.clouddn.com/image-20221025101513576.png)]

1NF

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8fIodEER-1666955774626)(rkeogflsc.hb-bkt.clouddn.com/image-20221025101524838.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TswRoD0V-1666955774626)(rkeogflsc.hb-bkt.clouddn.com/image-20221025101636372.png)]

2NF

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QWejTe2H-1666955774627)(rkeogflsc.hb-bkt.clouddn.com/image-20221025101648330.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P9GRetnz-1666955774627)(rkeogflsc.hb-bkt.clouddn.com/image-20221025101717376.png)]

3NF

BCNF

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l1vz8kY8-1666955774627)(rkeogflsc.hb-bkt.clouddn.com/image-20221025102001739.png)]

公理系统

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JGO60VDx-1666955774627)(rkeogflsc.hb-bkt.clouddn.com/image-20221025102017158.png)]

求最小函数的依赖集

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MloFwejX-1666955774627)(rkeogflsc.hb-bkt.clouddn.com/image-20221025102435786.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x4dAMNHX-1666955774628)(rkeogflsc.hb-bkt.clouddn.com/image-20221025103150164.png)]

模式分解

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pOBQw5Rb-1666955774628)(rkeogflsc.hb-bkt.clouddn.com/image-20221025103844477.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G2OqHfl3-1666955774628)(rkeogflsc.hb-bkt.clouddn.com/image-20221025104040640.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iT4pSV6g-1666955774628)(rkeogflsc.hb-bkt.clouddn.com/image-20221025104339475.png)]

数据库设计

数据库设计的基本步骤

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CKqxMWqu-1666955774628)(rkeogflsc.hb-bkt.clouddn.com/image-20221025104447804.png)]

ER图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uxcbTj6t-1666955774629)(rkeogflsc.hb-bkt.clouddn.com/image-20221025104517192.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O84TRTl8-1666955774629)(rkeogflsc.hb-bkt.clouddn.com/image-20221025104731495.png)]

ER图转换关系类型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o4lJ9D85-1666955774629)(rkeogflsc.hb-bkt.clouddn.com/image-20221025105402282.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ruWyhpMJ-1666955774629)(rkeogflsc.hb-bkt.clouddn.com/image-20221025105410137.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8A41rnNH-1666955774630)(rkeogflsc.hb-bkt.clouddn.com/image-20221025105455343.png)]

数据库编程

嵌入式SQL

把SQL语言嵌入到其他语言

嵌入式SQL的处理过程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PfFZUNXh-1666955774630)(rkeogflsc.hb-bkt.clouddn.com/image-20221025105616886.png)]

SQL与主语言的通信

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NnS3EiC8-1666955774630)(rkeogflsc.hb-bkt.clouddn.com/image-20221025105648912.png)]

关系查询处理和查询优化

查询过程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x0vAiMiH-1666955774633)(rkeogflsc.hb-bkt.clouddn.com/image-20221025105753352.png)]

查询优化的四个阶段

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kATLhaLo-1666955774633)(rkeogflsc.hb-bkt.clouddn.com/image-20221025105925114.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j53sIISe-1666955774633)(rkeogflsc.hb-bkt.clouddn.com/image-20221025105938603.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BgnkhMoM-1666955774634)(rkeogflsc.hb-bkt.clouddn.com/image-20221025105949002.png)]

数据恢复技术

事务

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tsGsbeiB-1666955774634)(rkeogflsc.hb-bkt.clouddn.com/image-20221025110237673.png)]

故障种类

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VuKS3edq-1666955774634)(rkeogflsc.hb-bkt.clouddn.com/image-20221025110600924.png)]

恢复方式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eDO0VQE8-1666955774634)(rkeogflsc.hb-bkt.clouddn.com/image-20221025110624077.png)]

恢复策略

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GhJMIn2I-1666955774635)(rkeogflsc.hb-bkt.clouddn.com/image-20221025110654475.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HbxzDUGW-1666955774635)(rkeogflsc.hb-bkt.clouddn.com/image-20221025110726438.png)]

并发控制

并发

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nk2fz7kf-1666955774635)(rkeogflsc.hb-bkt.clouddn.com/image-20221025111051725.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2YXaredz-1666955774635)(rkeogflsc.hb-bkt.clouddn.com/image-20221025111209418.png)]

可串行性

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yR8Fa1wW-1666955774635)(rkeogflsc.hb-bkt.clouddn.com/image-20221025111609241.png)]

sIISe-1666955774633)]

[外链图片转存中…(img-BgnkhMoM-1666955774634)]

数据恢复技术

事务

[外链图片转存中…(img-tsGsbeiB-1666955774634)]

故障种类

[外链图片转存中…(img-VuKS3edq-1666955774634)]

恢复方式

[外链图片转存中…(img-eDO0VQE8-1666955774634)]

恢复策略

[外链图片转存中…(img-GhJMIn2I-1666955774635)]

[外链图片转存中…(img-HbxzDUGW-1666955774635)]

并发控制

并发

[外链图片转存中…(img-nk2fz7kf-1666955774635)]

[外链图片转存中…(img-2YXaredz-1666955774635)]

可串行性

[外链图片转存中…(img-yR8Fa1wW-1666955774635)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~Yogi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值