导图社区 数据库知识梳理
福建专升本数据库知识点梳理
编辑于2022-03-07 15:48:40数据库知识梳理
数据库系统概述
数据
数据是数据库中存储的基本对象
数据含义为数据语义
数据库系统DBS
数据结构化,高共享性、冗余度低、独立性高、有统一的数据管理和控制功能(DBMS)
定义
是计算计引入数据库后的系统
数据库DB
数据的仓库,存放数据的地方
特征
数据按一定的数据模型组织,描述和存储
可为各种用户共享
冗余度较小
数据独立性较高
易扩展
数据库用户
最终用户
非计算机专业人员使用数据库
应用程序员
应用程序的调试
数据库管理员
负责设计、建立、管理、和维护数据库的人
计算机软件系统
DBMS
是位于用户与操作系统之间的一层数据管理系统
数据定义DDL
改变数据库结构,创建、更改和删除数据库对象
数据操纵DML
数据库的基本操作:检索、更新(包括插入、修改、删除)等
数据控制DCL
用来授予和撤销用户权限
OS
应用开发工具
应用系统
计算机硬件系统
硬件系统存储和运行数据库系统的硬件设备
三级模式
外模式
数据库用户能看到并允许使用的那部分局部数据的逻辑结构和特征的描述
允许有多个外模式
模式
数据库中全体数据的逻辑结构和特征描述
只有一个
内模式
对数据存储结构的描述,是数据在数据库内的表示方式
只有一个
数据管理技术的产生和发展
数据库特点
数据库管理者:DBMS
数据面向对象:显示世界
数据共享性:共享性高
数据的独立性:高度的物理独立性和一定的逻辑独立性
数据结构化:整体结构化
数据控制能力:由DBMS统一控制和管理
数据结构化(文件系统和数据库系统根本区别)
数据库系统实现整体数据的结构化
数据库系统中实现的是真正数据的结构化
数据的独立性
包括
物理独立性
指用户的应用程序与存储在磁盘上的数据库中的数据(物理存储是独立的),当物理存储改变了程序可以不做任何修改
逻辑独立性
指用户的应用程序与逻辑结构相互独立,数据库的逻辑结构改变了,用户的应用程序也可以不改变
数据独立性是由DBMS的二级影响功能来保证
数据由DBMS统一管理和控制
数据的安全性保护
数据的完整性检查
并发控制
数据库恢复
数据模型
基本概念
数据模型是数据库的框架
数据模型是数据库系统的核心和基础
信息的转换
现实世界
现实世界→认识抽象
信息世界
概念模型→转换
计算机世界
DBMS支持的数据模型
逻辑模型
层次模型
有向树
网状模型
有向图
关系模型
二维表
属性:列
域:属性的取值范围
元组:行
物理模型
数据最底层的抽象,描述数据在计算机内的存储方式,面向计算机
信息世界
实体
客观存在的一切事物
实体间联系
1:1 一对一
1:m 一对多
m:n 多对多
实体集
同型实体的集合称为实体集
属性
实体的特性,如身高、体重等
联系
单个实体型的联系指各属性的联系
实体型之间的联系指不同实体集之间的联系
数据模型的组成
数据结构
数据操作
数据约束条件
关系数据库
关系及其基本性质
关系是一种规范化了的二维表中行的集合
关系模式的表示
学生(学号,姓名,性别,年龄,系别)
关系的码与关系的完整性
候选码(键)与主码(键)
候选码
能唯一标识关系中元组的一个属性或一个属性集
主码
用来在同一实体集中区分不同实体的候选码
每个关系必须选择一个主码,且不能随意改变
主属性与非码属性
主属性
包含在主码中的各个属性都称为主属性
非码属性
不包含在任何候选码中的属性称为非主属性(或非码属性)
外码
一个关系中的一个属性是另外一个关系中的主码则称这个属性为外码
关系的完整性(完整性约束)
实体完整性(必须满足)
主码的值不能为空或部分为空
参照完整性(必须满足)
如果关系R2的外码X与关系R1的主码相符,则X的每个值或者等于R1的某一个值,或者取空值
用户自定义完整性
针对某一具体关系数据库的约束条件
反映某一具体应用所涉及的必须满足的语义要求
关系代数
关系代数的分类及运算符
关系代数是一种抽象的查询语言
关系代数的运算对象与运算结果都是关系
关系代数运算符
集合运算符
∪ 并(UNION) 设有两个关系R和S,它们具有相同的结构。R和S的并是由属于R或属于S的元组组成的集合,运算符为∪。记为T=R∪S。
— 差(DIFFERENCE) R和S的差是由属于R但不属于S的元组组成的集合,运算符为-。记为T=R-S。
∩ 交(INTERSECTION) R和S的交是由既属于R又属于S的元组组成的集合,运算符为∩。记为T=R∩S。 R∩S=R-(R-S)。
x 笛卡尔积 Cartesian Product笛卡尔积的基数是每个集合的元组相乘!
关系运算符
σ 选择Selection从关系的水平方向进行运算(从产生的结果来看的),是从关系 R 中选择满足给定条件的元组
π 投影Projection从关系的垂直方向进行运算(从产生的结果来看的),在关系 R 中选出若干属性列 A 组成新的关系
π 投影Projection从关系的垂直方向进行运算(从产生的结果来看的),在关系 R 中选出若干属性列 A 组成新的关系
π 投影 Projection从关系的垂直方向进行运算(从产生的结果来看的),在关系 R 中选出若干属性列 A 组成新的关系
⋈ 链接 θ Join从 R 与 S的笛卡尔积中选取属性间满足一定条件的元组
÷ 除
比较运算符
>,≥
<,≤
=,≠
逻辑运算符
∧ 与
∨ 或
¬ 非
基本运算:并,交,差,笛卡尔,投影
关系操作
基本关系操作
常用关系操作
查询
选择,投影,连接,除,并,交,差
数据更新
插入,删除,修改
查询的表达能力是其中最主要的的部分
关系操作的特点
集合方式的操作,操作的对象和结果都是集合
非关系数据模型的数据操作方式一次一记录
文件系统的操作方式
关系数据语言的分类
关系数据语言的分类
关系代数语言
关系演算语言
元组关系演算语言
域关系演算语言
具有关系代数和关系演算双重特点的语言
关系数据语言的特点
关系语言是一种高度非过程化的语言
存取路径由DBMS的优化机制来完成
用户不必循环结构就可以完成数据操作
能够嵌入高级语言使用
关系代数,元组关系演算,域关系演算,在表达能力上完全等价
关系模式与关系
关系模式
对关系的描述
静态的,稳定的
关系
关系模式在某一时刻的状态
动态的,随时间不断变化的关系模式和关系往往统称为关系
关系数据库的标准语言——SQL
结构化查询语言(Structured Query Language)
SQL基本概念
基本表
一个关系对应一个基本表
一个基本表或多个基本表对应一个存储文件
视图
从一个或多个基本表导出来的表(无数据,只有定义)
数据查询
数据定义
数据操纵
数据控制
三级模式
外模式
对应视图和部分基本表
用户级,又称子模式或者用户模式,反映了数据库的用户观
模式
对应基本表
概念级,对应概念模式,又称逻辑模式,反映了数据库的整体观
内模式
对应存储文件
物理级,对应内模式,又称存储模式,反映了数据库存储观
只有内模式是真正存储数据的
数据库的创建和使用
数据库的结构
数据文件
主要文件:.mdf
次要文件:.ndf
事务日志文件:.ldf
用SQL语句创建数据库
创建数据库
CREATE DATABASE 数据库名称
删除数据库
DROP DATABASE 数据库名称
数据表的创建和使用
数据类型
精确数值型
int、bit、money。。。
近似数值型
float
日期时间型
date、datetime、time。。
字符型
char、varchar、text
创建数据表
CRAEATE TABLE 表名
(列名 数据类型 列约束)
(SNo CHAR(6),
SEX NCHAR(1) DEFAULT ‘男’,
Age INT)
修改数据表
ALTER TABLE <表名>
ADD <列定义>|<完整性约束>
ALTER COLUMN<列名><数据类型>
DROP CONSTRAINT <约束名>
删除基本表
DROP TABLE 表名
子查询
SELECT 需要查询的内容 FROM 表名 WHERE 条件 GROUP BY ORDER BY
数据表中的数据操纵
添加表中数据
INSERT INTO <表名>VALUES(‘需要添加的数据’)
修改表中数据
UPDATE <表名> SET <列名>=<表达式>WHERE<条件>
删除表中数据
DELETE FROM <表名> WHERE <条件>
视图
创建视图
CREATE VIEW <视图名>
AS SELECT <列名> FROM <表名> WHERE <条件>
修改视图
ALTER VIEW <视图名>
AS SELECT <条件> FROM <表名>
删除视图
DROP VIEW <视图名>
查询视图
与基本表查询方法一致
更新视图
添加
INTER
修改
UPDATE
删除
DELETE
索引
创建索引
CREATE INDEX 索引名 ON 表名(列名)
删除索引
DROP INDEX <索引名>ON<表名>
五种约束
NULL/NOT NULL 空或非空约束
UNIQUE 唯一约束
PRIMARY KEY 主键约束
CHECK <条件> 检查约束
DEFAULT 默认约束
关系数据库理论
规范化问题
数据冗余
插入异常
删除异常
更新异常
函数依赖
完全函数依赖与部分函数依赖
完全函数依赖
{学号,课号}-->成绩 学号+课号 可以决定 成绩 但只有学号or只有课号无法决定成绩
部分函数依赖
{学号,课号}-->姓名 只有学号就能决定姓名 (课号是冗余的)
传递函数依赖
假设有项目 A:A 依赖于 B,B 依赖于 C,即 A->B->C,则: (1)B 是 A 的直接依赖(也称为 第一直接依赖) (2)C 是 B 的直接依赖(也称为 第二直接依赖) (3)C 是 A 的传递依赖
属性集的闭包及算法
定义
属性集闭包定义 : 对F,F+中所有X→A的A的集合称为X的闭包,记为X+。可以理解为X+表示所有X可以决定的属性
算法
属性集闭包的算法: A+:将A置入A+。对每一FD,若左部属于A+,则将右部置入A+,一直重复至A+不能扩大。
候选码的求解理论和算法
分类
L类
只在左侧出现
R类
只在右侧出现
LR类
左右都出现
N类
左右都不出现
定理
若X(X∈R)是L类属性,且X+包含了R的全部属性,则X必为R的唯一候选码
若X(X∈R)是R的N类和L类属性组成的属性集,且X+包含了R的全部属性,则X是R的唯一候选码
关系模式的范式
第一范式(1NF)
标准
每个属性不可再分
缺点
大量数据冗余
存在插入异常
存在删除异常
存在更新异常
第二范数(2NF)
标准
R属于1NF
每个非主属性都完全依赖于R的主码
缺点
数据冗余
更新异常
插入异常
删除异常
若主码为单一属性,或R的全体属性均为主属性,则R∈2NF
第三范式(3NF)
标准
每个非主属性都不传递函数依赖于R的主码
解决的问题
降低了数据冗余
不存在插入异常
不存在更新异常
不存在删除异常
数据库设计
数据库设计的任务内容和特点
数据库设计的任务
根据用户需求研制数据库结构和行为的过程
结构设计
概念设计
逻辑设计
物理设计
行为设计
应用程序使用数据库方法
数据库设计的步骤
系统需求分析阶段
确定边界,数据字典
需求分析任务
调查分析用户活动
收集和分析需求数据,确定系统边界
编写需求分析报告
数据字典
定义
对系统数据的详细描述,各类数据结构和属性清单
包含内容
数据项
数据结构
数据流
数据存储
处理过程
概念结构设计
表达用户需求的概念模型
将需求分析得到的用户需求抽象为信息结构,既概念模型
表示方法
E-R图
1:1
n:1
n:m
概念设计方法
自顶向下
逐步求细
自底向上
由精细到整体
逐步扩张
由核心逐渐向外扩张
混合策略
自顶向下+自顶向上
概念结构设计步骤
需求分析
DFD,DD
数据抽象,局部视图设计
局部E-R图
视图集成
全局E-R图
确定关系主码,消除初步E-R图中冗余的联系
逻辑结构设计
由概念模型得出的数据模型
具体做法
把每一个实体转化为一个关系
把每一个联系转化为关系模式
特殊情况特殊处理
从E-R图向数据模型转换过程中,用模式合并与分解方法达到指定的数据库规范化级别
物理结构设计
存储结构和存取方法
设计方法
存储记录结构设计
聚集
针对重复的存储和高频的查询
索引
保证数据的完整性、提高查询效率
访问方法的设计
存储结构
限定了可能访问的路径和存储记录
检索结构
主访问路径还是辅访问路径
输据存放位置设计
分开存放
易变部分
稳定部分
经常存取部分
存取频率较低部分
多磁盘下
将表,索引,日志,数据库对象分开存储
系统配置设计
数据库实施阶段
数据入库,转存到用户系统中
建立实际数据库结构
使用DBMS提供的数据定义语言(DDL)定义数据库结构
装入数据
应用程序编码与调试
数据库运行测试
功能测试
性能测试
整理文档
数据库运行与维护阶段
保持数据完整性
数据库安全性与完整性
检测并改善数据库性能
重新组织和构造数据库