1.数据管理:对数据的收集、整理、组织、维护、存储、检索、传送、利用2.数据处理:采集、存储、加工、传播3.DB:计算机存储设备上,以一定方式,数据的集合4.DB与文件系统的区别:4.DBMS:建立、管理、维护数据库的软件系统,例:SQL SERVER功能:定义(语言、外模式、逻辑模式、内模式);操纵(插入、查询、更新、删除),控制(安全、完整、并发、恢复),维护(备份、转储),通信(远程作业通信接口)5.硬件(DB)→操作系统(OS)→DBMS(系统软件)→应用软件→应用程序6.DBAS:以计算机为平台,以操作系统、数据库管理系统、某种程序语言等为软件环境,以某一领域需求为背景,利用数据库技术建立起的可用的应用软件系统;三要素:数据,物理存储器,数据库管理系统软件。
例:教学管理系统现实世界——客观世界概念化信息世界——实体—联系模型(概念模型)形式化数据世界——数据模型(层次、网状、关系)8.数据模型:用数据、数据间的联系表示现实世界。
包括:层次模型——树状网状模型——有向图关系模型——表示数据与数据联系的二维表格9.关系模型:关系——一个二维表格元组——每一行数据元组分量——元组在每一个属性上的取值属性——每一列名属性值——行列交汇处的元素的取值关系模式——每个关系表的表头所描述的数据结构候选键——唯一标识元组且不含多余属性的属性集主键——只有一个侯选建时的侯选键;具有唯一性、非冗余性、有效性(不可为空)外键——属性集X的子集不是自己的主键,却是别人的主键,则称之为自己的外键主属性——包含于侯选键里的属性非主属性——不包含于侯选键10.数据库的三级结构体系:用户级——外模式(多个)——用户数据视图,其所用到的那部分数据的逻辑模式逻辑级——逻辑模式(只有一个,但包含多个关系模式)——整个数据库的逻辑结构描述存储级——内模式(只有一个)——对逻辑模式中各个关系模式的存储结构的描述两级映像:外模式与逻辑模式之间的映像(多对一);逻辑模式与内模式之间的映射(一对一);逻辑数据独立性:逻辑模式发生改变时,只需修改外模式与逻辑模式之间的映像,而无需修改应用程序;物理数据独立性:存储结构改变时,只需修改逻辑模式与内模式之间的映射,而无需修改存外模式和应用程序。
第二章设计数据库应用系统1.生命周期:用户需求分析时期用户需求分析阶段数据库设计时期概念结构设计阶段逻辑结构设计阶段物理结构设计阶段数据库实现时期数据库结构创建数据库应用与行为设计和实现数据库运行于维护时期数据库运行与维护2.人员:用户;应用程序员;系统分析员;数据库管理员(DBA)——数据库运行时,负责监管、备份、恢复、存储空间管理与维护3.各阶段任务:(1)用户需求分析阶段——了解机构,分析活动,收集数据,确定数据要求和环境配置;借助数据流图和数据字典,形成系统需求分析说明书数据流图(DFD):系统逻辑模型的图形表示,从数据传递和处理的角度反映信息流动,包括数据源点或终点、数据处理、数据流、数据存储数据字典(DD):数据流图中所有数据的定义和描述的集合,包括数据项、数据流、数据表和处理(2)概念结构设计阶段——根据需求分析阶段,将信息需求抽象为信息结构;方法包括:属性表和实体联系模型(E-R)(3)逻辑结构设计阶段——将信息结构变为关系模型,并进行规范化设计和优化处理(4)物理结构设计阶段——根据需求,在物理存储设备上选取和设计一个占地少、效率高、代价低的存储空间数据聚簇:将那些经常在一起连接查询的表的数据在物理结构上临近存放(5)数据库结构创建——根据关系模式,创建表、聚簇等(6)数据库应用与行为设计和实现——编程实现各种功能;建立必要的用户视图;装入数据试运行(7)数据库应用系统运行与维护——必要的该整性、适应性、完善性维护;备份与恢复及故障维护;运行性能的检测与改善第五章SQL1.SQL的功能:数据定义——表、视图、索引数据操纵——查询和更新(插入、修改、删除)数据控制——。
2.SQL的特点:(1)具有交互式和嵌入式两种工作方式(2)支持数据库的三级结构模式(外模式、逻辑模式、内模式)第六章关系数据库模式1.对关系模式规范化设计的必要性(1)数据冗余(2)更新异常(3)插入异常(4)删除异常2.函数依赖(FD)第八章DMAS集中计算模式→客户-服务器模式(CS)→浏览-服务器模式(BS)与CS并存一、三层C-S结构1.表示层:构建视图,检查输入,显示输出2.功能层:相应请求,业务处理,与数据库服务器打交道3.数据层:接受请求,对DB读写、完整性、安全性维护、备份恢复、结构优化、管理等例如:QQ、网络电视缺点:逐级访问,牺牲了一定效率二、三层B-S结构1.表示层:客户端的WEB浏览器向WEB服务器发出请求,将WEB服务器用超文本传输协议(HTTP)和超文本标记语言(HTML)描述和组织的主页文件显示出来2.功能层:接收用户请求,通过SQL等方式向数据库服务器发出申请,并将其处理后的结果传回客户端3.数据层:接受来自WEB服务器对数据库操纵的请求,对数据进行查询、更新等操作,并将结果传给WEB服务器三、二者区别四、数据库访问接口——应用程序访问多种数据库(一)开放式数据库互连(ODBC)技术1.传统对数据库的访问都必须通过其特定接口,通用性与移植性较差,而一个综合信息系统往往会包含多种数据库;ODBC技术定义了一个标准的数据库访问编程接口,实现了应用程序对多种不同DBMS的DB的访问2.体系结构数据源名(DSN)—DB的位置、类型、连接参数客户端应用程序应用层ODBC应用程序接口(API)ODBC层ODBC管理器(管理驱动程序和数据源)ODBC驱动程序管理器驱动程序1 驱动程序2 驱动程序3数据源1 数据源2 数据源3 数据层DBMS1 DBMS2 DBMS3DB1 DB2 DB3(二)——一组用于和数据源进行交互的面向对象类库,用于读写数据库1.组件:(1).NET FRAMEWORK数据提供程序——与数据库建立连接、操作、快速只进、只读访问种类:SQL SERVER .NET;OLE DB .NET对象:Connection—与特定数据源建立连接Command—对数据源执行操作命令(查询、插入、删除、修改)Data reader—读取数据Data adapter—使用SQL命令,将数据源中的数据检索到DATASET数据集中,并保持更新(2)DATASET数据集—不依赖于数据库的独立数据集合,用于存放查询出的数据(三)数据访问1.模式(1)DATASET断开式通过访问DATASET获取和更新数据,而不直接操纵数据库(2)Data reader连接式通过Data reader——command——connection——DB的方式,间接访问2.步骤:Connection链接数据源——command操纵数据源——datareader读取数据——Data adapter 填充DATASET——关闭链接第十章数据库保护技术一、.事务:要么不做、要么全做的SQL语句序列原子性atomicity——不可分割一致性consistency——正确状态隔离性isolation——互不干扰永久性durability——稳定不变二、故障(一).故障分类:事务故障——输入数据错误、数据溢出、死锁等,事务未能运行到结束而中途夭折,非预期系统故障——硬件、操作系统、DBMS、停电等故障,事务非正常终止介质故障——磁头磁盘等存储介质故障,数据部分或全部丢失(二).故障恢复——利用冗余地存储在别处的信息重建数据库:1.数据库转储:定期地把数据库或数据拷贝到其他磁盘,称之为后援本静态转储:转储时系统无运行事务动态转储:转储期间有事务运行;必须将此期间事务对数据库的更新活动记录到日志文件中日志文件:记录数据库中所有的更新信息2.恢复策略(1)事务故障的恢复——撤销该事物已进行的修改——系统自动完成反响扫描日志文件,若遇到开始标记,则结束;否则,进行逆操作;然后继续扫描,直至遇见开始标志(2)系统故障的恢复——系统自动完成首先装入故障发生前最新的后援副本,恢复至当时水平;而后正向扫描日志文件,若遇到故障前已经提交的文件,则重做;若遇到故障时正在运行的文件,则撤销,方法同(1)(3)介质故障的恢复——DBA完成首先装入最新的后援副本,使数据库恢复到当时状态;而后装入最新的日志文件副本,重做3.具有检查点的恢复技术检查点:表示数据库是否正常运行的时间标志,存在于日志文件中恢复策略见书本296页4.数据库镜像技术:数据库以双复本的形式存在于两个独立的磁盘之中,一个为主磁盘,一个为副,二者可以相互切换;读时,可任选其一,写时,先主后副写入相同内容(三)并发控制——多个用户同时访问数据库1.不一致性问题————不一致性破坏了事务的隔离性丢失修改——由于时间交叉,改的没起作用;读过时数据——已经改过了,读的还是没改的;读脏数据——读的是撤销之前的数据2.锁排他锁(X)——写锁共享锁(S)——读锁共享更新锁(SU)——限定更新权利X与任和锁都不相容;S锁只和X锁不相容;SU锁也只和X锁不相容。
3.锁协议一级锁协议:加X锁—修改—事务结束,释放X锁(COMMIT ROLLBACK)防丢失修改二级锁协议:一级锁协议+ 加S锁—读数据—读数据结束,释放S锁(UNLOCK)防丢失+防读脏三级锁协议:一级锁协议+加S锁—读数据—事务结束,释放S锁(COMMIT ROLLBACK)防丢失+防读脏+防读过时4.活锁:由于加锁的规则是“后加先起效”,可能会导致先加的事务永远处于等待状态死锁:两个事物都需要其中一个解锁之后才能执行的相互等待状态5.死锁的预防:一次加锁法:每个事物必须对所要加的锁一次加完顺序加锁法:事务执行之前,数据项按规定的顺序加锁两种方法实用性都不强,在DBMS中常用的是诊断并解除死锁法。
6.死锁的检测与解除(1)超时法:若事务等待的时间超过了一定限制,就认为其进入死锁(2)有向等待图法:结点表示事务,有向边表示等待状态;若出现回路,则表示死锁。
并发控制子系统周期性地检测有向等待图,若发现死锁,选择一个代价最小的事务将其撤销,释放此事务所有的锁,事后将其恢复。
7.并发调度的可串行性:所安排的并发的执行步骤达到了和串行一样的结果。
它是并发事务正确性的判别准则。
8.两段锁协议:所有加锁语句都在解锁语句之前的规则;满足两段锁协议的事务必然具有并发调度的可串行性;但两段锁协议的事务也可能会产生死锁。