教资信息技术之数据库技术
一、概述
1.1 基本概念
·数据:描述事物的符号记录称为数据
·数据库:长期存储在计算机内、有组织的、可共享的大量数据的集合。
·数据库管理系统:位于用户和操作系统之间的一层数据管理软件
·数据库系统:数据库系统是由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员(DBA)组成的存储、管理、处理和维护数据的系统
1.2 数据库技术的发展
1.3 数据库系统
1. 数据库系统的三级模式
·外模式:or用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
·模式:是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据概念视图
·内模式:物理或存储模式,是数据物理结构和存储方式的描述,是数据在系统内部的组织方式
2. 数据库系统的二级映像
·外模式/模式映象:模式描述的是数据的全局逻辑结构,外模式描述的是数据的局部逻辑结构。对于同一个模式可以有任意个外模式。对于每一个外模式,数据库系统都有一个外模式/模式映象,它定义了该外模式和模式之间的对应关系。这些映像定义通常包含在各自外模式的描述中。
当模式改变时(例如增加新的关系、新的属性等),由数据库管理员对各个外模式/内模式的映像作相应的改变,可以使外模式保持不变。应用程序是根据数据的外模式来编写的,从而应用程序不必修改,保证了数据与应用程序的逻辑独立性,简称数据的逻辑独立性
·模式/内模式映象:数据库中只有一个模式,也只有一个内模式,所以模式/内模式映像是唯一的,它定义了数据全局逻辑结构与存储结构之间的对应关系。该映像定义通常包含在模式当中。当数据库的存储结构改变时,由数据库管理员对模式/内模式映像作出相对的改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性
2. DBMS的主要功能
·数据定义:定义数据库的结构,完整性约束和用户的权限
·数据操纵:实现对数据的插入、删除等操作
·数据控制:对数据的安全性、完整性、并发、备份与恢复的控制
·数据维护:故障后的恢复、数据库的重组、性能的监视等
1.4 数据模型
1.4.1 概述
1. 两类数据模型
·概念模型:也叫信息模型,按用户的观点来对数据和信息建模,主要用于数据库设计
·逻辑模型:主要包括层次模型、网状模型、关系模型、面向对象数据模型和对象关系数据模型、半结构化数据模型等
2. 数据模型的组成要素
·数据结构:描述数据库的组成对象以及对象之间的联系
·数据操作:对数据库中各种对象(型)的实例(值)允许执行的操作的合集,包括操作及有关的操作规则,主要由查询和更新(插入、删除、修改)两类操作
·数据的完整性约束:一组完整性规则,以保证数据的正确、有效和相容,此外数据模型还应提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件
1.4.2 概念模型
1. 相关术语
·实体:客观存在并可相互区别的事务物称为实体,例如一个学生、一个部门
·属性:实体所具有的某一特性称为属性,例如学生实体的学号、姓名等属性
·码、键:唯一标识实体的某一属性或属性集
·域:一组具有相同数据类型的值的集合。属性的取值范围来自某个域
2. 实体间的联系
·一对一:班级和班主任
·一对多:班主任和学生
·多对多:学生和课程
3. E-R图
矩形实体;椭圆属性;菱形实体间联系;无向边连接
1.4.3 逻辑模型
1. 层次模型(树形)
2. 网状模型
3. 关系模型(二维表)
二、关系数据库
2.1 E-R图与关系模式的转换
·一对一联系的转换:选择合适的实体,在其中加入另一实体的码,eg将实体身份证中的身份证号加入学生实体中
·一对多联系的转化:在多的那端实体中加入一那端实体的码,eg将实体班级中的班级号加入学生实体中
·多对多联系的转换:增加二者联系的关系模式,并加上二实体中的码,eg学生与课程的联系为选课,选课拥有成绩成为新的关系模式,并加上学号和课程编号两个码
2.2 关系的完整性约束
实体完整性--主码不为空但可为多个,且不同元组的主码不重复;
参照完整性--外键的取值必须参照主键值,即受主键的约束;
用户定义完整性--用户事先定义属性值域
2.3 关系代数运算
传统的集合运算:并 差 交 笛卡尔积
专门的关系运算:
·选择:根据条件得到行
·投影:根据条件得到列
·连接:等值连接--在笛卡尔积的基础上选择两个关系中具有相同值的属性拼左右; 自然连接--在等值连接的基础上去掉重复的属性
三、关系数据库设计
3.1 函数依赖
3.1.1 定义
3.1.2 分类
·完全函数依赖:在R(U)中,如果X→Y,并且对于X的任何一个真子集X’, 都有X’/→Y, 则称Y对X完全函数依赖,记作X→fY,eg(SNo,CNo)→f Grade
·部分函数依赖:在R(U)中,如果X→Y,并且对于X的任何一个真子集X’, 都有X’→Y, 则称Y对X完全函数依赖,记作X→pY,eg(SNo,CNo)→p SN
·传递函数依赖:在R(U)中,如果X→Y(Y⊈X),Y→Z(Z⊈Y),X/→Y, 则称Z对X传递函数依赖,记作X→tY,eg SNo→institute,institute→dean,则SNo→dean
3.1.3 候选码求解
·候选码:必须能够通过函数依赖推导出所有的属性
·闭包:该属性最多能推导出的属性集(属性本身能推出本身)
·首先求解只在左边出现过的属性集合UL的闭包, 若该闭包为全集,则候选码为UL
; 若该闭包不为全集或者为空,则对UM=U-UL-UR或ULUM组合求解闭包,先对单个元素进行求解,再多个元素组合进行求解(若有单个属性已经能作为候选码,则不再将该属性和其他属性进行组合)
3.2 范式
1. 第一范式
关系模式R的所有属性均为原子属性(不可再分),则R为第一范式
2. 第二范式
R满足1NF,且每个非主属性都完全依赖于R的主码(即不存在部分依赖),则为第二范式
3. 第三范式
R满足2NF,且每个非主属性都不依赖传递于R的主码(即不存在传递依赖),则为第三范式
4. BC范式
R满足3NF,且不存在主属性对非主属性的函数依赖,则为BC范式
四、ACCESS数据库
4.1 数据类型
·文本:文本或文本和数字的组合,不需要计算的数字
·数字:需要进行计算的数值数据
·日期时间:基于日期和时间的数据
·自动编号:添加记录时自动插入的唯一的数值
·是/否:逻辑值,复选框
4.2 创建查询
1. 指定列查询,查看显示部分
2. 排序查询,降序or 升序
3. 条件查询,and、 or、 between and、in、like--?为任意一个字符 *为任意个字符 #任意一个数字
4. 分组查询,看总计部分,最大值、计数、group by
4.3 SQL基础
1. 数据表的定义、删除与修改
·定义
·修改--增加 删除 修改列
·删除(不可撤销)
2. 数据更新
·插入数据 insert into
·修改数据 update set where where若省略则代表修改表中所有列的值
·删除数据 delete from where
3. 单表数据查询
·无条件查询
·条件查询
·聚集函数
·分组查询
·排序查询
4. 多表数据查询
·使用单表语句
·使用join子句