一些Mysql知识点
FreeL00P

数据库错题&遗忘知识点

1. 结构化查询语言

DDL:(Data Definition Language) 数据库模式定义语言,关键字:create ,alter,drop,rename,truncate
DML:(Data Manipulation Language) 数据操纵语言,关键字:Insert、delete、update
DCL:(Data Control Language) 数据库控制语言 ,关键字:grant、remove
DQL:数据库查询语言,关键字:select
TPL:事务处理语言
CCL:指针控制语言
Tips: DDL作用在数据表上,DML作用在数据表的元组上

2. ORDER BY 默认ASC 升序排序 DESC 降序排序

3. 主键和唯一索引

主键是一种约束,唯一索引是一种索引,两者在本质上是不同的。
主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键。
唯一性索引列允许空值,而主键列不允许为空值。
主键列在创建时,已经默认不为空值 + 唯一索引。
主键可以被其他表引用为外键,而唯一索引不能。
一个表最多只能创建一个主键,但可以创建多个唯一索引
主键更适合那些不容易更改的唯一标识,如自动递增列、身份证号等。 在 RBO 模式下,
主键的执行计划优先级要高于唯一索引。 两者可以提高查询的速度。

4. 数据设计流程

数据库设计通常分为6个阶段
需求分析:分析用户的需求,包括数据、功能和性能需求;
概念结构设计:主要采用E-R模型进行设计,包括画E-R图;
逻辑结构设计:通过将E-R图转换成表,实现从E-R模型到关系模型的转换;
数据库物理设计:主要是为所设计的数据库选择合适的存储结构和存取路径
数据库的实施:包括编程、测试和试运行;
数据库运行与维护:系统的运行与数据库的日常维护。

5. 字符串匹配

“_”匹配任何单个字符

“%”匹配任意数目字符(包括零个字符)

“*”匹配0个或多个在它前面的字符

“[]”匹配在方括号中的任意一个字符

6. 数据库中删除约束的方法:

删除主键约束
alter table 表名 drop primary key;
删除外键约束
alter table 表名 drop foreign key 外键;

7. 数据独立性包括物理独立性和逻辑独立性。

物理独立性指应用程序与存储在磁盘的数据库中数据相互独立,即数据物理存储改变时应用程序不变。
逻辑独立性指应用程序与数据库逻辑结构相互独立,即数据逻辑结构改变时,应用程序可以不变

8. 数据库的范式

1NF:每个列不能分割,即原子性。
2NF: 满足原子性情况下,每个非主属性依赖于主键,不存在部分依赖
3NF: 在2NF下,不存在函数传递依赖
第一范式:所有属性必须是原子的,某个属性有多个值时,必须拆分成不同的属性

第二范式:需满足1NF,非码属性必须完全依赖于候选码;即数据库中的每个实例或记录可以被唯一的区分。简而言之,第二范式就是在第一范式的基础上属性完全依赖于主键

第三范式:在2NF基础上,任何非主属性不依赖于其他非主属性。换言之,第三范式(3NF)要求一个关系中不包含已在其它关系已包含的非主关键字信息。即关系不能包含其他关系中非主键的信息。

巴斯-科徳范式:在3NF基础上,任何非主属性不能对主键子集依赖(在3NF基础上消除对主码子集的依赖),为第三范式的修正

9. SELECT语句的处理过程

FROM(including JOINs) —> WHERE —> GROUP BY —> HAVING —> SELECT —> DISTINCT —> ORDER BY —> LIMIT/OFFSET

  1. FROM阶段
  2. WHERE阶段
  3. GROUP BY阶段
  4. HAVING阶段
  5. SELECT阶段
  6. ORDER BY阶段

10. 数据库设计的阶段

需求分析阶段的任务是:对现实世界要处理的对象(组织、部门、企业等)进行详细调查,在了解现行系统的概况,确定新系统功能的过程中,确定系统边界、收集支持系统目标的基础数据及其处理方法。

概念设计阶段的任务是:对用户要求描述的现实世界,通过对其进行分类、聚集和概括,建立抽象的概念数据模型,如果是关系数据库,其得到的结果是ER模型。

逻辑设计阶段的任务是:将概念数据模型设计成数据库的一种逻辑模式(关系模式),然后对关系模式进一步做规范化处理,从而提高存储效率和处理效率。

物理结构设计的任务是:根据特定数据库管理系统所提供的多种存储结构和存取方法,为具体的应用任务选定最合适的物理存储结构、存取方法和存取路径等。这一步设计的结果就是物理数据库

11. 常用的数据模型

概念模型、逻辑模型、物理模型

12. 常用的逻辑模型

层次模型、网状模型、关系模型

三种逻辑模型的逻辑结构关系

关系数据模型的逻辑结构是关系
层次数据模型的逻辑结构是
网状数据结构的逻辑结构是

13. 数据模型的三要素

数据结构
数据操作
数据完整性约束

14. 关系数据模型的缺点:

存取路径对用户透明,需查询优化

15. 数据库与文件系统的根本区别

数据结构化

16. 关系完整性

1)实体完整性约束—–主键约束
2)参照完整性约束—–外键约束
3)用户自定义完整性约束—–检查/非空/默认值约束

17. 数据库系统的三级模式结构

外模式、模式在逻辑设计阶段得到,内模式在物理设计阶段得到。
数据库的结构被划分成用户级、概念级和存储级三个层次

1. 模式: 也称为逻辑模式或概念模式

模式是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。 模式实际上是数据库数据在逻辑级上的视图。
一个数据库只有一个模式。定义模式时不仅要定义数据的逻辑结构,而且要定义数据之间的联系,定义与数据有关的安全性、完整性要求。

2. 外模式 也称用户模式 子模式

它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。 外模式通常是模式的子集
一个数据库可以有多个外模式。应用程序都是和外模式打交道的。外模式是保证数据库安全性的一个有力措施。每个用户只能看见和访问所对应的外模式中的数据,数据库中的其余数据对他们是不可见的。

3. 内模式 也称存储模式

一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。例如,记录的存储方式是顺序结构存储还是B树结构存储;索引按什么方式组织;数据是否压缩,是否加密;数据的存储记录结构有何规定等。………..

18. 模式映像

模式到内模式的映像实现了数据的物理独立性
外模式到模式的映像实现了数据的逻辑独立性

19. SQL JOIN

INNER JOIN:如果表中有至少一个匹配,则返回行
LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
FULL JOIN:只要其中一个表中存在匹配,则返回行 MySql不支持Full Join

![SQL_JOIN](https://github.com/FreeL00P/MarkDown_photo/raw/main/sql join.png “SQL_JOIN”)

20. 闭包

闭包就是由一个属性直接或间接推导出的所有属性的集合,例如:

f={a->b,b->c,a->d,e->f}

由a可直接得到b和d,间接得到c,则a的闭包就是{a,b,c,d}

21. DBMS的数据控制功能

数据的安全性保护:
保护数据以防止不合法的使用造成的数据泄密和破坏;
数据的完整性检查:
将数据控制在有效的范围内或保证数据之间满足一定的关系,一
定的约束条件;
并发控制
对多用户的并发操作加以控制和协调,保证并发操作的正确性;
·数据库恢复

22. DBMS的主要功能

数据库定义功能;
数据组织、存储和管理功能;
数据操纵功能;
数据库的事务管理和运行管理;
数据库的建立和维护功能;

23. 数据模型的组成

数据结构、数据操作和完整性约束

24. 关系模型的组成

1.关系数据模型的数据结构
2.关系数据模型的操作集合
3.关系数据模型的完整性约束

25. 关系模型

关系:一个关系对应通常说的一张表
属性:表中的一列即为一个属性;
域:属性的取值范围;
元组:表中的一行即为一个元组;
码:表中的某个属性组,它可以唯一确定一个元组;
分量:元组中的一个属性值;

26. 候选码,主码,外码

候选码: 关系中的某一属性能唯一标识一个元组,而其子集不能
主码:一个关系有多个候选码,则选定其中一个为主码
外码:外键

27. SQL语言的功能

数据定义、
数据操纵、
数据控制

28. 聚集索引

有存储实际数据
物理上连续
可以用B树实现

29. 数据库范式

关系型数据库设计必须符合第一范式,在这种范式下一个数据列只能有一个值
满足第四范式必然满足第三范式,满足第三范式必然满足第二范式
通过数据范式的引入,可以减少数据冗余,消除数据操作异常
数据库设计时,符合的范式的等级不是越高越好

30. 唯一性约束(UNIQUE)

唯一性约束用来限制不受主键约束的列上的数据的唯一性,用于作为访问某行的可选手段,一个表上可以放置多个唯一性约束.
只要唯一就可以更新.
即表中任意两行在 指定列上都不允许有相同的值,允许空(NULL).
一个表上可以放置多个唯一性约束

31. SQL 语言的数据定义功能

模式定义
表定义
索引定义
视图定义

32 . ANY ALL 谓词与聚集函数或 IN 谓词可能存在的等价转换关系

image

33. 事务(Transaction)属性

原子性(Atomic)

一致性(Consistent)

隔离性(Isolated)

持久性(Durable)

34. 视图的3种设计次序

自顶向下
由内向外
自底向上

35. delete和truncate的比较

1、处理效率:drop>trustcate>delete
2、drop删除整个表;trustcate删除全部记录,但不删除表;delete删除部分记录
3、delete不影响所用extent,高水线保持原位置不动;trustcate会将高水线复位

一些知识点

**一般情况下,当对关系R和S进行等值连接时,不要求R和S含有一个或者多个共有的属性 **

数据库管理系统的主要作用是实现数据的统一管理以及对数据库数据的一切操作

数据库管理系统(DBMS)是维护数据库数据的一系统软件的集合,是系统软件

在进行数据库逻辑设计时,可将 E-R 图中的属性表示为关系模式的属性

关系完备的系统是指支持关系数据结构和所有关系代数操作

在SQL中,与“NOT IN”等价的操作符是< >ALL

1个表只能有一个聚族索引,多个非聚族索引

多余的索引字段会降低性能

SQL Server是一个基于关系模型的DBMS

基本关系中不同的列可以出自同一个域

子模式 DDL 用来描述数据库的局部逻辑结构

数据库管理系统是一组软件

SQL 语言是非过程化的语言,易学习。

通过指针链接来表示和实现实体之间联系的模型是层次和网状模型。

每一个关系只有一种记录类型;关系中元组的顺序是无关紧要的;关系中的每个属性是不可分解的

候选码不一定是主码

一个关系可以有多个属性,一个关系只能有一个主键,但可以由多个列(属性)组成的组合主键。

在数据库的非关系模型中,基本层次联系是两个记录型以及它们之间的一对多联系

设计数据库概念结构时,常用的数据抽象方法是概括,分类,聚集。

表由字段和记录组成。

数据库系统的核心是数据库管理系统。