总述
数据库,通俗的说就是个柜子,我们可以在柜子里放东西、拿东西、找东西,即数据库的增删改查。在本章节,数据库的内容主要分为六个部分:ER模型,键、函数依赖及范式,无损分解,关系代数、元组演算和SQL语言。
详解
ER模型
基本概念
经历过实战的人都知道,按照软件开发的流程,在建数据库之前,我们需要先画出ER模型。ER模型称实体-联系模型,是对数据库的形象展示。
ER模型分为三部分:实体集、属性和联系集。
(1) 实体集用矩形框表示,矩形框内写上实体名。
(2) 实体的属性用椭圆框表示,框内写上属性名,并用无向边与其实体集相连。
(3) 实体间的联系用菱形框表示,联系以适当的含义命名,名字写在菱形框中,用无向连线将参加联系的实体矩形框分别与菱形框相连,并在连线上标明联系的类型,即1—1、1—N或M—N。
建立ER模型
1.确定实体类型
2.确定联系类型
3.把实体类型和联系类型组合成ER图
4.确定实体类型和联系类型的属性
5.确定实体类型的键,在属于键的属性名下划一横线
键、函数依赖及范式
键分为:超键、候选键、主键和外键。
函数依赖:若对于R(U)的任意两个可能的关系r1、r2,若r1[x]=r2[x],则r1[y]=r2[y],或者若r1[x]不等于r2[x],则r1[y]不等于r2[y],称X决定Y,或者Y依赖X。
范式
第一范式(1NF):在关系模式R中,当且仅当所有域只包含原子值,即每个分量都是不可再分的数据项,则称实体E是第一范式。
第二范式(2NF):当且仅当实体E是第一范式(1NF),且每一个非键属性完全依赖主键(没有不完全依赖)时,则称实体E是第二范式。
第三范式(3NF):当且仅当实体E是第二范式(2NF),且E中没有非主属性传递依赖于码时,则称实体E是第三范式。
无损分解
有损分解和无损分解:有损分解是不能还原的,而无损分解可还原。
将一个关系模式分解成若干个关系模式后,通过自然连接和投影等运算仍能还原到原来的关系模式。
关系代数
基本运算
分为五种:并、差、笛卡尔积、选择和投影。
1.并:Union,所有在R里面有,或S里面有,或在两个表里面都有的记录集合;
2.差:Difference,用符号-表示。R和S是拥有相同元/列的表,R-S是在R里面却不在S里面的记录的集合。
3.笛卡尔积:PRODUCT,用符号x表示。令R为有K1元的表,令S为有K2元的表。是所有K1+K2元记录的集合。其前K1个元素来自R里的一条记录,而后K2个元素来自S里的一条记录。
4.投影:Project,从一个关系里面抽取指明的属性(列),令R为一个包含一个属性X的关系。
5.选择:Select,从关系里面抽取出满足给定限制条件的记录。
其它运算:交、联接、除。
SQL语言
SQL语言的基本功能分为数据定义(建数据库和表)、数据管理(增删改查)、数据查询。
SQL语言是一种简洁、易学易用的语言。有十分灵活和强大的查询功能,用一条SQL命令就能够完成相当负责的查询操作。SQL语言功能丰富,是一种高度非过程化的语言。
总结
已经不是第一遍学习数据库了,之前不知道已经学过了多少遍,只是每一次都有不一样的认识和收获,每一次都是对之前学习内容的巩固和提升。学习就是个不断重复的过程,重复的多了,熟能生巧,知识慢慢也就变成了自己的!