数据库知识点,提前预习
数据库原理
信息与数据
信息:现实世界事物的存在方式和运动状态反应的综合
源于物质和能量:信息不能脱离物质而存在,信息的传递和获取都需要消耗能量
可以被感知:不同信息源感知形式不同,如感官,仪表盘
可存储、加工、传递、再生:如大脑的存储就叫记忆
数据:纪录信息的可识别符号,信息的表现形式
同一信息可以有不同的表现形式,信息本身不随数据形式的变化而变化
数据与信息的联系
表示与被表示
信息=数据+处理
数据库演变
人工管理
数据不保存
数据 + 程序 => 内存 => 处理 => 完成 => 释放
无专门管理软件
逻辑结构和物理结构均由应用程序决定
数据不共享
数据面向程序单独定义
数据不独立
程序与数据强依赖
文件系统
数据以文件形式保存
由文件系统管理数据
数据组织成具有一定结构文件
共享性差、冗余度大、易造成数据不一致
设备独立性
程序只需要考虑文件路径,不需考虑物理结构
独立性仍然较差
数据库系统
数据结构化
共享性高,冗余度底
一组数据可为多个应用和用户共同使用
独立性高
物理独立性
存储结构、存取方式、存储设备
逻辑独立性
数据定义、数据类型、数据关系
数据控制
安全性
口令验证
权限管理
完整性
正确性
数据合法性如 data type
有效性
数据范围如月份
相容性
同事实多表示如性别不能同时男女
并发
多应用多用户同时使用
数据恢复
错误、故障恢复
数据库系统
用户
终端用户
应用程序员
数据库管理员(DBA)
设计、建立、管理、维护数据库
数据库设计
存取结构、存取策略
帮助终端用户和应用程序员
定义安全性和完整性
监督数据库使用和运行
改进数据库
软件系统
应用系统
应用开发工具
数据库管理系统(DBMS)
操作系统
管理计算机资源
数据库
数据库系统模式结构
模式:数据库中全体数据的逻辑结构和特征描述
实例:模式的具体值
例
模式:员工基本情况数据库
实例:A公司、B公司员工基本情况
数据库三级模式
外模式(用户级)
一个数据库有多个外模式
保证数据安全性
DBMS提供子模式定义语言
模式(概念级)
一个数据库只有一个模式
定义逻辑结构
定义数据关系
内模式(物理级)
一个数据只有一个内模式
记录存储模式
DBMS提供内模式定义语言
数据库二级映像
外模式/模式映像
确定局部逻辑结构与全局逻辑结构的关系
模式/内模式映像
确定全局逻辑结构与存储结构之间的对应关系
数据库管理系统(DBMS)
DBMS组成
语言编译处理程序
数据定义语言(DDL)编译程序
源模式编译为数据库结构信息描述
数据操纵语言(DML)编译程序
转换成可执行的增删改查
系统运行控制程序
系统总控制程序
控制协调各程序的活动
安全性控制程序
权限管理
完整性控制程序
完整性约束
并发控制程序
协调多应用、多用户
数据存取更新
对数据的增删改查操作
系统建立、维护程序
装配程序
初始数据库的数据装入
重组程序
数据库性能降低时重组
系统恢复程序
恢复到以前的某个正确状态
数据字典
描述数据库中有关信息的数据目录,如数据库三级模式、数据类型、用户名、用户权限等有关数据库系统的信息
DBMS数据存取
用户使用特定操作语言向DBMS发出存取请求
DBMS将请求转换成代码指令
DBMS检查三级模式和二级映像
DBMS对数据库执行存取操作
DBMS接收存取操作结果
DBMS数据结果进行必要的处理(如格式转换)
DBMS将处理结果返回给用户
数据模型
三个世界
现实世界
客观描述
事物总体、事物个体、特征、事物联系
信息世界
现实世界在人脑中的反映
实体(一辆汽车)
实体型(汽车)
实体集(所有汽车)
属性
实体具有的某一特性
键
能唯一标识实体的属性
域
属性取值范围
联系
1对1
1对n
n对n
计算机世界
字段
标记实体属性的命名单位
记录
字段的有序集合
文件
同一类记录的集合
关键字
唯一标识文件中记录的字段
实体联系模型(概念模式)
基本组成
实体型(矩形框)
属性(椭圆框)
联系(菱形框)
联系类型
两个实体间的联系
三个及三个以上实体间的联系
同一实体集内部各实体间的联系
数据模型
层次模型(树)
特点
每棵树有且仅有一个节点没有双亲,此为根节点
根以外的其他节点有且仅有一个双亲节点
父子节点之间的联系是1对n关系
数据操纵与完整型约束
主要操纵:增删改查
插入子节点必须要有双亲节点
删除双亲节点必须同时删除子节点
修改时必须修改所有相应记录
优缺点
优点
结构简单、层次分明
联系简单,查询效率高
良好的数据完整性支持
缺点
不能表示三个及以上实体型联系
对插入、删除限制太强
查询子节点必须通过双亲节点
网状模型
特点
有一个以上的节点没有双亲节点
允许节点有多个双亲节点
允许两个节点之间有多种联系
数据操纵与完整性约束
主要操纵:增删改查
允许插入未确定双亲节点的子节点
允许只删除双亲节点
修改时只需要更新指定记录
优缺点
优点
更为直接的描述复杂客观世界
良好的性能和存储效率
缺点
数据结构复杂
DDL、DML语言复杂
加重编码应用程序负担(记录间的联系本质是通过存取路径实现,应用程序需要指定存取路径)
关系模型
特点
由表名、表头、表体组成的规范二维表
每个二维表表示关系
基本要素:关系、元组、属性、域、分量、关键字、关系模式、关系实例
数据操纵与完整性约束
主要操纵:增删改查
实体完整性
参照完整性
用户自定义完整性
优缺点
优点
严格的数据支持
结构简单清晰
存取路径透明
缺点
查询效率底
关系数据库
关系模型结构和定义
关系形式化定义
域(值域):一组具有相同数据类型的值的集合
笛卡尔积:D1xD2x…Dn={(d1,d2,…,dn)|属于Di}
笛卡尔积即为一个二维表、表的框架由域构成,行为一个元组,每列来自同一个域
关系:笛卡尔积的任一子集称为定义在域上的n元关系
关系的性质
列是同质的
每列需要来自同一个域,同一数据类型
不同列可以来自同一域
列的顺序可以任意交换
关系中的元组顺序可任意
关系中不允许存在相同的元组
关系中每一个分量必须是原子的(不可再分)
关系的键与完整性
键
候选键:能唯一标识关系中元组的一个属性或属性集
特点
唯一性
最小性
主关系键(主键):候选键中用以增删改查的操作变量
主属性:包含在主关系键中的各个属性
非码属性:不包含在任何候选键中的属性
外部关系键:X是A中的一个(组)属性,非A表主键、是B表主键,则X是A的外部关系键
关系完整性
实体完整性
主关系键的值不能为空或部分为空
参照完整性
外部关系键要么为某一个值、要么为空
用户自定义完整性
必须满足针对某一具体关系的约束语义要求(如月份)
关系代数
运算对象
运算结果
运算符
集合运算
并、差、交、笛卡尔积
专门的关系运算符
选取、投影、连接、自然连接、除
算术比较运算符
大于、大于等于、小于、小于等于、等于、不等于
逻辑运算符
与、或、非