数据库技术基础总结
这是我从各个博客中集中总结的有关数据库技术基础知识,相关博客如下
数据库技术基础总结:https://blog.****.net/qq_42080151/article/details/82769283
1、【数据库技术】数据库技术基础:https://blog.****.net/sinat_33924041/article/details/83865583
七、数据库技术基础(一):https://www.cnblogs.com/panpanwelcome/p/5700075.html?utm_source=itdadao&utm_medium=referral
MySQL基础 -- 关系代数:https://www.cnblogs.com/lsqin/p/9342923.html
另E-R图转换为关系模型见https://blog.****.net/C_13579/article/details/103482216
函数依赖与数据库设计三大范式见https://blog.****.net/C_13579/article/details/103482714
#########################################################################################
数据:描述事物的符号记录,是信息的符号表示。
信息:是现实世界事物的存在方式或状态的反应,是具有特定意义的数据。
数据库(DB):信息的集合,是存储计算机数据的仓库、容器。
分类:关系数据库系统(RDBS);面向对象的数据库系统(OODBS);对象关系数据库系统(ORDBS)
体系结构:集中式数据库系统;分布式数据库系统;客户端/服务器体系结构;并行数据库系统
数据库系统(DBS):包括数据库、数据库管理系统、数据库的用户和支撑数据管理系统运行的软硬件的计算机系统。
数据库管理系统(DBMS):实现对共享数据有效地组织、管理、存取。
数据独立性:数据的物理独立性和数据的逻辑独立性。
物理独立性:指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。
逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。
数据库系统的三级模式:内模式(物理层)、概念模式(逻辑层)、外模式(用户层)。
概念模式:也称模式,反映的是数据库的结构及联系。
外模式:也称用户模式或子模式,是用户与数据库系统的接口。
内模式:也称存储模式,是数据在数据库内部的表示方式。
数据库系统的两级映射:外模式/模式映射和模式/内模式映射。
外模式/模式映射:当模式改变时,由数据库管理员对各个外模式/模式的映射做出相应的改变,可以使外模式保持不变,应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。
模式/内模式映射:当数据的存储结构改变时,由数据库管理员对模式/内模式映射做出相应的改变,可以是模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性。
数据模型:对现实世界数据特征的抽象。
概念数据模型:按用户的观点对数据和信息建模,也称概念模型,E-R模型,主要用于数据库设计。
基本数据模型:按计算机的观点对数据和信息建模。用于数据库管理系统的实现。
分类:层次模型、网状模型、关系模型、面向对象数据模型。
数据模型的三要素:数据结构、数据操作、数据的约束条件。
关系数据库的三类完整性:主体完整性、参照完整性、用户定义完整性
主体完整性:要求每个表都有唯一标识符(主键),且主键不能为空或者重复的值。
参照完整性:参照完整性要求关系中不允许引用不存在的属性。即外码的值可以为空但必需有意义
例如有表sutdent(id,username,password),表sutdent_info(id,name,age,sex)。其中表sutdent_info参照了表student。id作为外键。那么当student表删除某行时,表student_info相对应的id那一列将置空(或根据设定的规则而定)。
用户定义的完整性:用户关于现实世界的情况对于数据的约束条件
。
函数依赖: 完全函数依赖、部分函数依赖、传递函数依赖
候选码、主码、外码和主属性
候选码:能唯一标识一条记录的最小属性集
主码:某个能够唯一标识一条记录的最小属性集(是从候选码里人为挑选的一条)
外码:子数据表中出现的父数据表的主键,称为子数据表的外键。
主属性:所有候选码的并集
例如:选课情况(学号、课程号、成绩)
(1)候选关键字1个:(学号,课程号)
(2)主关键字:(学号,课程号)
(3)主属性2个:学号,课程号
(4)非主属性1个:成绩
(5)外部关键字:学号(引用学生信息表中的学号),课程号(引用课程信息表中的课程号)
事务ACID:原子性、一致性、隔离性、持久性
综合
SQL语言:非过程化编程语言
功能:数据定义、数据操纵、数据控制(对用户权限控制)、数据查询
E-R模型:实体-联系模型,最常用的概念模型,由实体(矩形)、属性(椭圆)、联系(菱形)构成
关系代数及其运算
传统的集合运算包括(二目运算):并(∪)、差(−)、交(∩)、笛卡尔积(×)(n+m)。
专门的关系运算包括:选择(σ)、投影(π)、连接(⋈)、除运算(÷)。
选择:σSdept=’IS’(Student)
select * from Student where Sdept = ‘IS’;
σSage<20(Student)
select * from Student where Sage < 20;
投影(默认去重):πSname,Sdept(Student)
select Student.Sname,Student.Sdept from Student;
除:R÷S
在关系R中,A可以取4个值{a1,a2,a3,a4},其中:
a1的象集为{(b1,c2),(b2,c3),(b2,c1)};
a2的象集为{(b3,c7),(b2,c3)};
a3的象集为{(b4,c6)};
a4的象集为{(b6,c6)};
S在(B,C)上的投影为{(b1,c2),(b2,c1),(b2,c3)};
显然只有a1的象集包含了S在(B,C)属性组上的投影,所以 R÷S = { a1 }。
连接(⋈):从笛卡儿积中选择
1)等值连接:= σR.B=S.B(R×S)
2)自然连接:R⋈S (R×S中选择R.B=S.B并将R.S、S.B合为B)
3) 左(右)连接(或称左(右)外连接):在自然连接的基础上加上左(右)边表上不包含自然连接中所含元组(行)的元组。缺少项为NULL
select * from R left join S
5)外连接 = 左连接+右连接
select * from R outer join S