一、名词积累
1. 数据库(Database) 存放和提供数据的“库房”
2. 数据(Data) 数据库中存储的基本对象
3. 数据库管理系统(DBMS) 位于用户与操作系统之间的一层数据管理软件(重点是软件)
4. 数据库系统(Database System) 包括数据库、DBMS、应用系统、数据库管理员(DBA)
5. 主键(Primary Key) 用于唯一的标识表中的某一条记录的属性或属性的集合
6. 外键(Foreign Key) 用于与另一张表关联,外键为另一张表的主键
7. 模式(Schema) 一个数据库的描述,包括对数据库结构,数据类型,还有约束
8. 实例(Instance / State) 数据库中在某一时刻存储的真实的数据。(Instance是Schema在某一时刻的具体化、实例化)
9. 数据模型(Data Model) 现实世界数据特征的抽象,用来定义数据如何组织,数据之间的关系怎样
10.视图(VIEW) 视图是虚拟的表,并不是物理存储的数据。而是由基本表或其他视图派生的数据。对视图的更新,实际上转换为对实际基表的更新
11.事务(Transaction) 事务是一系列的数据库操作,是数据库应用程序的基本单元,是反映现实世界需要以完整单位提交的一项工作。事务是用户定义的一个数据库操作序列
1)事务的四个特征:原子性、一致性、隔离性和持久性
(1)原子性。即不可分割性,事务要么全部被执行,要么就全部不被执行。
(2)一致性或可串性。事务的执行使得数据库从一种正确状态转换成另一种正确状态
(3)隔离性。在事务正确提交之前,不允许把该事务对数据的任何改变提供给任何其他事务,
(4)持久性。事务正确提交后,其结果将永久保存在数据库中,即使在事务提交后有了其他故障,事务的处理结果也会得到保存
12.触发器(trigger) 是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行
13.存储过程(Stored Procedure) 是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它
14.索引 是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息
15.主表 在数据库中建立的表格即Table,其中存在主键(primary key)用于与其它表相关联,并且作为在主表中的唯一性标
16.从表 以主表的主键(primary key)值为外键 (Foreign Key)的表,可以通过外键与主表进行关联查询。从表与主表通过外键进行关联查询
二、核心概念
1. 数据模型(现实世界数据特征的抽象,用来定义数据如何组织,数据之间的关系怎样)
1)数据模型通常由数据结构、数据操作和完整性约束三部分组成
2)分层
(1)概念模型(Conceptual) 按用户的观点来对数据和信息建模
(2)逻辑/实现模型(Logical / Implementation) 层次模型,网状模型,关系模型
(3)物理模型(Physical) 数据在具体DBMS产品中的物理储存方式
2. 数据库的三级模式
1)内模式(Internal Schema) (也称存储模式。)数据物理结构和储存方式的描述,是数据在数据库内部的表示方式
2)概念模式(Conceptual Schema) (也称全局模式。)有时简称“模式”。是对数据库中全体数据的逻辑结构和特征的描述
3)外模式(External Schemas) (也称子模式或者用户模式。)数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述
3. 数据库系统的两级映射
1)概念模式/内模式映射
2)外模式/概念模式映射
4. 物理独立性与逻辑独立性
1)数据的物理独立性
(1)内模式与概念模式之间的映射提供了数据的物理独立性
(2)当数据的物理结构发生变化时,只需要修改内模式与概念模式之间的映射即可
2)数据的逻辑独立性
(1)概念模式与外模式之间的映射提供了数据的逻辑独立性
(2)当数据的整体逻辑结构发生变化时,只需要修改各个外模式与概念模式之间的映射即可保证应用程序不受影响
5. 数据库范式
1)1NF(First Normal Form) 当且仅当所有域只包含原子值,即每个分量都是不可再分的数据项,则称实体E满足第一范式
2)2NF(Second Normal Form) 当且仅当实体E满足第一范式,且每一个非键属性完全依赖主键时,满足第二范式
3)3NF(Third Normal Form) 当且仅当实体E是第二范式(2NF),且E中没有非主属性传递依赖时,满足第三范式
6. 关系代数
1)五种基本运算:并、差、笛卡尔积、选择、投影
三、SQL语句执行顺序
1. FROM子句组装来自不同数据源的数据
2. WHERE子句基于指定的条件对记录进行筛选
3. GROUP BY子句将数据划分为多个分组
4. 使用聚集函数进行计算
5. 使用HAVING子句筛选分组
6. 计算所有的表达式
7. 使用ORDER BY对结果集进行排序
四、数据库语言
1.数据库语言
1)数据定义语言(DDL:Data Definition Language) 定义、删除、修改数据库中的对象
2)数据操纵语言(DML:Data Manipulation Language) 增删改查
3)数据控制语言(DCL:Data Control Language) 用于控制用户对数据库操纵的权限
2.能完成核心功能的9个动词
1)数据查询 SELECT
2)数据定义 CREATE, DROP, ALTER
3)数据操纵 INSERT, UPDATE, DELETE
4)数据控制 GRANT, UPDATE
五、数据的约束条件
1. 完整性约束一般有
1)域约束 对属性取值范围的约束
2)键约束 每个关系必须要有主键,且每个主键必须不相同
3)非空约束 属性值不能为NULL
4)实体完整性约束 主键值不能为空
5)参照完整性约束 外键可以取NULL值,但若外键为另一关系主键,则不能为NULL
6)用户定义的完整性
2. 数据库完整性的书上定义
1)实体完整性
2)参照完整性
3)用户定义的完整性
3. 各种数据操作可能违反的完整性约束
1)插入操作:域约束、键约束、非空约束、实体完整性约束、参照完整性约束
2)删除操作:参照完整性约束
3)更新操作:域约束、键约束、非空约束、实体完整性约束、参照完整性约束
六、连接查询
1. 内连接(列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值)(inner join)
1)等值连接 在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列
2)自然连接 在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列
3)区别:
(1)等值连接不把重复的属性除去;而自然连接要把重复的属性除去。
(2)等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性
2. 外连接(返回到查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左外连接时)、右表(右外连接时)或两个边接表(全外连接)中的所有数据行)
1)左外连接(left outer join / left join) 包含左边表的全部行,以及右边表中全部匹配的行
2)右外连接(right outer join / right join) 包含右边表的全部行,以及左边表中全部匹配的行
3)完全外连接(full outer join / full join) 包含左、右两个表的全部行,不管另外一边的表中是否存在与它们匹配的行
参考网址
注:文章是经过参考其他的文章然后自己整理出来的,有可能是小部分参考,也有可能是大部分参考,但绝对不是直接转载,觉得侵权了我会删,我只是把这个用于自己的笔记,顺便整理下知识的同时,能帮到一部分人。
ps : 有错误的还望各位大佬指正,小弟不胜感激