SQL基础
数据库基础
数据库概述
- 数据库管理系统,数据库应用程序,数据库系统,数据库和数据之间的关系
三级模式和二级映像
三个层次分别对应三种不同类型的模式
二级映像在外模式与概念模式之间,以及概念模式与内模式之间存在的映像
数据模型
数据库的三种基本类型:
- 层次模型
- 网状模型
- 关系模型
目前使用最多的是关系型数据库,如MySQL
理解关系模型应该掌握的一些理论知识:数据,关系模型,关系模型的完整性,概念模型的术语,E-R图
数据建模过程:
-
概念模型术语
实体:客观存在并可相互区分的事物。
属性:是指实体所具有的某一特性。一个实体可由若干个属性来描述
联系:是指实体与实体之间的联系,有一对一、一对多、多对多
实体集:是指同一类型的实体集合,如全校学生就是一个实体集
实体型:通过实体名(如学生)及其属性名集合“学号、学生姓名、学生性别”)来抽象描述同类实体。
E-R图(实体联系图)的表示和与关系模型的转化:
属性:椭圆表示
实体:用矩形表示
联系:用菱形表示(周围的数字表示几对几的关系)
将前者转化为关系模型是:
学生(学号,姓名,性别,出生年月),班级(班级名,班级号)
一对一和一对n的模型可以合为一个,在学生关系模型中添加外键 (班级关系模型的主键)
学生(学号,姓名,性别,出生年月,班级号,班级名)
多对多转换:
关系模型三要素:
-
数据结构:所研究的对象类型的集合。在关系模型中,数据的逻辑结构是一张二维表,它由行和列组成。
-
数据操作:对数据库中各种数据对象允许执行的操作集合。关系操作主要包括数据查询、插入、删除和修改。
-
数据约束条件:一组数据完整性规则的集合。
表及其中的术语:
**实体集的转化规则:**
-
学生(学号,姓名,性别,出生年月),班级(班级名,班级号)*
一对一和一对n的模型可以合为一个,在学生关系模型中添加外键 (班级关系模型的主键)
-
学生(学号,姓名,性别,出生年月,班级号,班级名)*
多个实体的E-R图转关系模型
关系运算
并差交不过多介绍了
笛卡尔积就看做乘法就可以,案例如图
选择和投影也相对简单,选择可以想象为查找(行),投影是查找(列)
连接分为等值连接和自然连接
设有关系R和关系S,使用A和B分别表示R和S中数目相等且可比的属性组。
**等值连接:**是在R和S的笛卡尔积中选取A、B属性值相等的元组。
**自然连接:**是一种特殊的等值连接,要求R和S必须有相同的属性组,进行等值连接后再去除重复的属性组。
SQL语言
SQL: Structured Query Language,结构化查询语言
SQL四部分为
- DDL:数据定义语言
- DML:数据操作语言
- DQL:数据查询语言
- DCl:数据控制语言
外键概念及其作用: 如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。外键表示了两个关系之间的联系。以另
一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。
保持数据一致性,完整性,主要目的是控制存储在外键表中的数据,使两张表形成关联。外键只能引用外表中的列的值或使用空值。