学习整理自B站视频:zst_2001
概念数据模型
概念数据模型是独立于计算机系统的模型, 完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构, 即按照用户的观点来对数据和信息建模, 用于信息世界建模, 一般采用实体一联系方法( E-R 方法) 表示。
概念数据模型中的几个常用术语如下:
- 实体:客观存在并可以相互区别的事物称为实体, 如一个单位、一个职工、一个部门或一个项目等。
- 属性:描述实体的特性称为属性, 一个实体可以由若干个属性来刻画, 如学生实体用若干属性( 学号、姓名、性别、出生日期和班号) 来描述。属性的具体取值称为属性值, 用以表示一个具体实体, 如属性组合(1 ,王斌,男,10/03/79 ,99011)在学生表中表示一个具体的学生。
- 码:唯一标识实体的属性集称为码,例如学号是学生实体的码。
- 域:属性的取值范围称为该属性的域,如性别域为( 男,女)。
- 联系:实体( 型)之间的对应关系称为联系。联系分为两种,一种是实体内部各属性之间的联系;另一种是实体之间的联系。
实体一联系方法表示的概念数据模型称为E-R图。E一R 图是抽象和描述现实世界的有力工具, 它提供了表示实体型、属性和联系的方法。其中实体型用矩形表示, 矩形框内写明实体名;属性用椭圆形表示,并用无向边将其与相应的实体连接起来;联系用菱形表示,菱形框内写明联系名, 并用无向边将其分别与有关实体连接起来, 同时在无向边旁标上联系的类型(1:1,1:n或m:n)。如果一个联系具有属性, 这些属性也要用无向边与该联系连接起来。
结构数据模型
结构数据模型是直接面向数据库的逻辑结构。这类模型涉及到计算机系统和数据库管理系统, 所以称为结构数据模型。任何一个DBMS 都以某个结构数据模型为基础, 或者说支持某个结构数据模型。结构数据模型主要包括层次、网状、关系和面向对象模型。
(1)层次模型
层次模型是用“树结构”来表示数据之间的联系,是数据库系统最早使用的一种模型,它的数据结构是一棵“有向树”。其特征是:
- 有且仅有一个结点没有父结点,它就是根结点;
- 其他结点有且仅有一个父结点
(2)网状模型
网状模型是用“图结构”来表示数据之间的联系,网中的每一个结点代表一个记录型,联系用链接指针来实现。广义地讲,任何一个连通的、基本层次联系的集合都是网状模型。它取消了层次模型的两点限制,网状模型的特征是:
- 允许结点有多于一个的父结点
- 可以有一个以上的结点没有父结点
(3)关系模型
关系模型是一种用二维表格结构来表示实体以及实体之间联系的数据模型。
三级模式结构
- 外模式,也称用户模式或子模式。对应的是视图
- 概念模式,也称模式。对应的是基本表
- 内模式,也称存储模式。对应的是存储文件
两级映像
- 模式/内模式映像,确保了数据的物理独立性
- 外模式/模式映像,确保了数据的逻辑独立性
关系模式基本术语
- 关系:一个关系就是一张二维表,每个关系有一个关系名
- 元组:表中的一行即为一个元组,对应存储文件中的一个记录值
- 属性:表中的列称为属性,每一列有一个属性名。
- 域:属性的取值范围。
- 关系模式:对关系的描述称为关系模式,由关系名和其属性集合构成,关系模式的格式为:关系名(属性名1,属性名2,…,属性名n)
- 候选码(或候选键):属性或属性组合,其值能唯一地标识一个元组
- 主码(或主键):在一个关系中可能有多个候选码,从中选择一个作为主键
- 主属性:包含在任何候选码中的属性称为主属性,不包含在任何候选码中的属性称为非主属性
- 外码(或外键):如果一个关系中的属性或属性组并非该关系的码,但它们是另外一个关系的码,则称其为该关系的外码
完整性约束
实体完整性:关系中主码的值不能为空或部分为空。也就是说,主码中属性即主属性不能取空值
参照完整性:如果关系R2的外码X与关系R1的主码相对应(基本关系R1和R2不一定是不同的关系,即它们可以是同一个关系),则外码X的每个值必须在关系R1中主码的值中找到,或者为空值
用户自定义完整性:指用户对某一具体数据指定的约束条件进行检验
并、差、交、笛卡尔积
传统的集合运算有并、差、交、笛卡尔积
(1)关系的并
关系R和关系S的所有元组合并,再删去重复的元组,组成一个新关系,称为R和S的并,记为R∪S
(2)关系的差
关系R和关系S的差是由属于R而不属于S的所有元组组成的集合,即关系R中删去与关系S中相同的元组,组成一个新关系,记为R-S
(3)关系的交
关系R和关系S的交是由既属于R又属于S的元组组成的集合,即在两个关系R与S中取相同的元组,组成一个新关系,记为R∩S。又R∩S=R-(R-S)成立
(4)笛卡尔积
两个关系R和S的笛卡尔积记为R×S
投影、选择
θ连接和等值连接
连接其实就是在两个关系的笛卡尔积中选择符合条件的行,而上面这种连接其实就是用比较运算符来进行比较
这上面的字母比较是比较26字母先后顺序
等值连接就是笛卡尔积中某一列和另外一列相等就符合要求,然后选择出来就行了
自然连接
自然连接是在等值连接的基础上去除重复属性列
左外连接、右外连接、全外连接
全外连接是自然连接的结果加左右外连接的结果
关系代数转SQL语句
投影转SQL语句
选择转SQL语句
笛卡尔积转SQL语句
自然连接转SQL语句
SQL语句分类
数据定义语言(DDL)