《数据库学习笔记.docx》由会员分享,可在线阅读,更多相关《数据库学习笔记.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上数据库系统概论什么是数据库:数据库管理系统(DBMSDatabase Management System) 是一个由互相关联的数据的集合和一组用于访问这些数据的程序组成.第一章:1.1: DBMS的目的文件处理系统中存储信息的弊端:1. 数据冗余和数据部一致2. 数据访问困难3. 数据孤立4. 完整性问题5. 原子性问题6. 并发访问异常7. 安全性问题1.2: 数据视图数据抽象: 物理层 逻辑层 视图层(概念层)实例和模式: 数据库中的数据会随时发生变化,特点时刻存储在数据库中的信息的集合称为数据库的一个实例, 而数据总体设计称为数据库的模式, 数据库的模式不会发生
2、频繁变化.数据库模式: 物理模式(内模式) 逻辑模式(模式) 子模式(外模式)数据独立性: 在某个层次上修改模式定义不影响位于其上层模式的能力.物理数据独立性: 修改数据库的物理模式而不必重写应用程序的能力.逻辑数据独立性: 修改数据库的逻辑模式而不必重写应用程序的能力.1.3:数据模型数据模型: 就是描述数据(数据结构), 数据之间的联系, 数据语义(数据操作) , 一致性(完整性)约束的概念工具的集合.物理数据模型 逻辑数据模型 概念数据模型实体联系模型(E-R模型)E-R图: 矩形(实体集) 椭圆(属性) 菱形(实体间的联系集)线段面向对象模型基于记录的数据模型: 关系模型 网状模型 层
3、次模型1.4 数据库语言数据定义语言(DDL): 定义数据库模式实现细节数据字典: 包含元数据的文件, 元数据时关于数据的数据.数据操作语言: (DML Data Manipulation Language)过程化的DML: 要求用户指定需要什么数据以及如何获取这些数据;非过程化的DML: 只要求用户指定需要什么数据;1.5 - 1.9事务: 是数据库应用中完成单一逻辑功能的操作集合,是一个既具有原子性又具有一致性的逻辑执行单元.存储管理器: 是为存储在数据库库中的底层数据与应用程序及向系统提交的查询之间提供接口的程序模块.数据库管理员(DBA Database Administration)
4、数据库管理系统: 查询处理器部件 存储管理器部件数据结构:数据文件: 存储数据库中的数据;数据字典: 存储关于数据库结构的元数据; 由于频繁使用数据字典, 因此字典良好的设计和高效实现是非常重要的.索引: 提供对数据项的快速访问;统计数据: 存储关于数据库的统计信息,这些信息被查询处理器用来选择高效的查询方法.第二章:实体 联系模型实体: 是现实世界中可区别于其他对象的事件或物体。实体集: 是具有相同类型及相同性质(或属性)的实体集合。实体集的属性: 是将实体集中的实体映射到域的函数。属性类型: 简单属性 复合属性 单值属性 多值属性 NULL属性 派生属性。一个联系集所涉及的不同实体集的数目
5、称为联系集的元.映射基数: 指明实体集中的一个实体通过一个联系集能同另一实体集相联系的实体数目. 存在依赖: 如果实体X的存在依赖于实体Y的存在,那么就说X存在依赖于Y。在操作上,如果Y被删除,那么X也要被删除,就把实体Y称作支配实体,而把实体X称作从属实体。 区分不同实体的属性的集合就称为码。超码是一个或多个属性的集合,这些属性的组合可以使我们在一个实体集中唯一地标识一个实体。它们的任意真子集都不能成为超码。这样的最小超码称为侯选码。主码: 来代表被数据库设计者选中的,用来在同一实体集中区分不同实体的侯选码。码的指定实际上也代表了被建模的现实世界中的约束。E-R图: 实体集属性中那些作为主码
6、的属性用下划线标明。实体在联系中的作用称为角色.有些实体集的所有属性都不足以形成主码,这样的实体集称为弱实体集。其属性可以形成主码的实体集称为强实体集。强实体集和弱实体集的概念与存在依赖密切相关,强实体集的成员必然是支配实体,而弱实体集的成员是从属实体。实体集所存在依赖的强实体集的主码和该弱实体集的分辨符(部分码)共同构成的属性集合就是它的主码。扩展E-R特性包括特殊化与概括、高层实体集与低层实体集、属性继承以及聚集等等。在实体集内部进行分组的过程称为特殊化。ISA也是一种特殊的联系,我们把这种联系称为父类子类联系。概括是高层实体集与一个或多个低层实体集间的包含关系。概括是特殊化的逆过程.联系
7、集来表示实体集之间的联系.数据库设计过程: 概念设计(E-R模式设计), 逻辑设计和物理设计.E-R模式设计的主要任务:1、定义所有的实体集、联系集、属性和映射约束等等。最终用E-R图来描述被建模的对象;2、利用扩展E-R特性,精简所设计的模式,去除冗余,并确保满足所有的数据需求而且不互相冲突;3、针对需求规格说明书(包括数据需求、功能需求和性能需求),检查概念模式,看该模式是不是包含了所有的数据;能不能满足对数据的各种操作(如查询和增删改等),即满足功能需求;而性能需求在这个阶段还不能完全解决。 1、实体-联系(E-R)模型基于对现实世界的这样一种认识:世界由一组基本对象(称作实体)及这些对
8、象间的联系组成。此模型的主要目的是用于数据库的概念结构设计,简单地说就是帮助设计数据库的E-R模式; 2、每个实体都有描述该实体的一组属性。联系是多个实体间的相互关联。相同类型的所有实体的集合构成实体集,相同类型的所有联系的集合构成联系集; 3、映射基数是指一个实体集中的实体通过联系集可以和另一实体集中的多少个实体相联系。还有一种约束是存在依赖,表示实体x的存在依赖于实体y的存在; 4、从数据库的角度讲,不同实体或联系之间的差异必须用属性来表示。为了进行这样的区别,每个实体集或联系集都有一个主码。主码是一个或多个属性的集合,它们可以在实体集中唯一确定一个实体或在联系集中唯一确定一个联系;如果一
9、个实体集的所有属性都不足以形成主码,就称该实体集为弱实体集,相反其属性组合可以构成主码的实体集为强实体集; 5、特殊化和概括定义了一个高层实体集和多个低层实体集之间的联系。特殊化是利用高层实体集的子集来形成多个低层实体集;概括是用两个或多个低层实体集的共性形成一个高层实体集。高层实体集的属性和联系被低层实体集继承。 6、E-R模型的一个局限就是它不能表示联系集间的联系或联系集与实体集之间的联系,解决的办法就是利用聚集。聚集是一种高度抽象,它将联系集及其相关的实体集作为一个整体看作是一个实体集; 7、E-R模型用于数据库的概念设计阶段,产生数据库设计的E-R模式。为了从数据库的E-R设计产生数据
10、库的关系设计,可以用表的集合来表示E-R模式中的E-R图,也就是将E-R模式转换为表。第三章: 关系模型3.1: 关系数据库结构表: 关系数据库是表的集合, 每个表有唯一的名字, 表中的一行代表的是一系列的联系.数据库模式是数据库的逻辑设计,而数据库实例是给定时刻数据库中数据的一个快照。针对关系模型来说,数据库模式和数据库实例就是关系模式和关系实例。一般关系模式的名字以大写字母开头,而关系的名字由小写字母组成。在关系模式中使用相同的属性正是将不同关系的元组联系起来的一种方法。查询语言分为过程化的和非过程化的。在过程化查询语言中,用户要指导系统去获取所需数据;在非过程化查询语言中,用户只需要描述
11、所需信息,而不用给出获取信息的具体过程。关系代数是过程化的,而元组关系演算和域关系演算是非过程化的。3.2: 关系代数关系代数是过程化的查询语言: 包括选择,投影,并,集合差,笛卡尔积,和命名; 还有附加运算: 即集合交, 自然连接, 除和赋值, 附加运算用基本运算定义的.选择, 投影和命名运算是一元运算.在关系代数运算中我们规定,凡是涉及到与空值null的比较,其结果都是false。选择运算: 给出满足给的谓词的元组投影运算: 它返回作为参数的那个关系的部分属性构成的新关系。并运算: 并运算只能在相容的关系间进行。两个关系相容除了属性的数目一样之外,最重要的就是对应属性的类型相容集合差运算:
12、 用来找出在一个关系中而不在另一个关系中的那些元组。笛卡尔积运算: 第四章:SQLSQL: 结构化查询语言(Structured Query Language) 有查询数据库,定义数据结构,修改数据和说明安全性约束条件等特性.DDL: Data Definition Language 数据定义语言DML: Data Manipulation Language 数据操作语言SQL语言包括:1. SQL DDL:定义关系模式,删除关系,建立索引以及修改关系模式;2. SQL DML:查询,插入,删除和修改;3. 嵌入式DML:嵌入在Pascal , C等宿主语言;4. 视图定义: 创建视图;5.
13、权限管理: 对关系和视图的访问进行授权;6. 完整性: 定义数据必须满足完整性约束条件;7. 事务控制: 定义事务的开始, 提交 和结束等.SQL表达式的基本结构由select子句, from子句和where子句构成,其中where子句可以省略.SQL表达式的结果中允许重复元组.Select子句:1. 是否去除结果中的重复元组all | distinct选项, 默认为all允许重复元组;2. 用*代替所有属性3. Select子句可以出现算术表达式Where子句中的逻辑运算符用的是and, or, not;更名运算: old-name as new-name ; as可以用空格代替; 可以出现
14、在select和from子句中.Like操作: 用百分号%(有时是星号*)匹配任意子串 用下划线_(有时是问号?)匹配任意一个字符; 模式中是要区分字母的大小写的; 在模式中为了使用特殊字符%和_等,允许用反斜线字符将特殊字符转义成普通字符。Order by子句:对查询结果进行排序;asc | desc; 默认是升序集合操作: union | intersect | except all 没有all,将自动去除重复的元组.Group by子句: 根据一个或多个属性的值来对元组进行分组,聚集函数可以作用在不同的分组上.having子句: 主要是针对分组进行条件限制。having子句中的谓词只有在
15、形成分组后才起作用,因此可以在having子句中使用聚集函数。通常,having子句只用在有group by子句的SQL语句中,用来去掉不符合指定条件(即having子句中的谓词)的分组。聚集函数: 平均值avg 最小值min 最大值max 总和sum 计数count空值: 在where子句中,使用 is null和is not null 来判断属性的值是否为空.嵌套子查询: 集合成员资格的确认, 集合的比较, 集合基数测试集合成员资格的确认: 用连接词in 和 not in判断一个元素是否在某个集合中.集合的比较: 至少比一个的集合比较运算符还有:some、some、=some、=some和
16、some。在这里=some等价于in;比所有都的集合比较运算符有:all、all、=all、=all和all。在这里 all 等价于not in。集合基数测试: 测试一个子查询的结果是否有元组,即测试其是否为空关系。使用关键词exists和not exists,测试一个子查询的结果是否有重复元组。使用关键词unique和not unique,派生关系: from子句中的子查询视图定义: create view v as ()数据库的修改: 删除delete 插入insert into values() 更新update连接的类型SQL-92支持的连接类型和连接条件如下所示: SQL DDL功能
17、: 定义关系的模式;指出各属性的值域;定义完整性约束;定义各关系要维护的索引集合;定义各关系的安全性和权限信息;指出各关系在磁盘上的物理存储结构。第五章: 完整性约束与模式分解完整性约束: 提供一种手段,保证授权用户对数据库进行修改的时候不会破坏数据的一致性.模式分解: 得到最优的数据库逻辑设计的关键.域约束: 是最基本的完整性约束, 每当有新的数据插入到数据库中时,或者修改数据时,系统都要进行域约束检查.参照完整性: 一个关系中给定的属性集的取值都来自于另一个关系某个属性集的值.触发器:(trigger)就是一系列SQL语句,当对数据库做修改(包括插入、删除和更新)时,它自动被系统执行。第六
18、章: 数据库的物理设计数据库的设计阶段: 需求分析:分析用户的需求,包括数据、功能和性能需求;概念结构设计:主要采用E-R模型进行设计,包括画E-R图;逻辑结构设计:通过将E-R图转换成表,实现从E-R模型到关系模型的转换;数据库物理设计:主要是为所设计的数据库选择合适的存储结构和存取路径;数据库的实施:包括编程、测试和试运行;数据库运行与维护:系统的运行与数据库的日常维护。外模式亦称子模式或用户模式,是数据库用户看到的数据视图。外模式的设计一般采用E-R模型,设计的结果是一系列的E-R图。模式亦称逻辑模式,是数据库中全体数据的逻辑结构和特性的描述,是所有用户的公共数据视图。模式的设计一般采用
19、关系模型,设计的结果就是一系列的关系模式。内模式亦称物理模式或存储模式,是数据库全体数据的内部表示或者低层描述,用来定义数据的存储方式和物理结构.物理组织的对象:数据库中存储的四个方面数据:-数据描述(数据的外模式, 模式和内模式)存储在数据字典中.-数据本身:存储在数据文件中-数据之间的联系:体现在数据的存储结构上-存取路径(索引结构): 同时体现在数据文件和数据字典中 数据库物理设计的内容:1. 确定数据的存储结构2. 为数据选择和调整存取路径,即索引的设计3. 确定数据分布, 如数据的垂直划分和水平划分4. 调整和优化数据库的性能数据库的物理设计就是数据库的内模式设计.数据库的设计目标:
20、 提高数据库的性能(更重要), 有效利用存储空间.确定数据存储结构的主要因素: 存取时间 存取空间利用率 维护代价存储结构的设计主要是在DBMS提供的文件结构中作出正确的选择,这些文件结构包括:堆文件、顺序文件、散列文件、簇集文件和B树类文件等等;第七章: 存储结构和文件结构介绍数据库系统的底层存储,即存储介质和数据库文件的组织及其文件中的记录的组织方式.扇区是从磁盘读出和写入的最小单位,通常大小事512字节.磁盘质量的度量标准: 容量 存取时间=寻道时间+旋转等待时间 数据传输率(吞吐量) 可靠性块是一个盘片的一条磁道内连续的扇区构成的序列, 也称物理块.数据在磁盘和主存储器之间以块为单位传
21、输.RAID Redundant Arrays of independent Disks 独立冗余磁盘阵列文件在逻辑上是记录的序列,这些记录被映射到磁盘的物理块上.定长记录 变长记录变长记录:1. 字节流表示法变长记录在文件中的存储方法之一就是采用字节流表示法:即在每个记录的末尾都附加一个特殊的记录终止符号(),或者是在每个记录的开头存储该记录的长度,这样就可以把每个记录作为一个连续的字节流来存储.2.分槽的页结构分槽的页结构是基本字节流表示方法的一种改进形式,普遍用于物理块内部的记录组织文件中记录的组织:堆文件组织的含义是说:一条记录可以放在文件中的任何地方,只要那个地方有空间存放这条记录。
22、在这种记录组织方式中,记录是没有顺序的,是堆积起来的。通常一个关系就是一个单独的文件。顺序文件组织方式中,逻辑上记录是根据搜索码(搜索码是用于在文件中查找记录的属性或属性集,与码的概念完全不同)值的顺序存储的。为了快速地按搜索码获取记录,通过指针把记录链接起来,每个记录的指针都指向在搜索码顺序上的下一个记录。同时,为了减少顺序文件处理中物理块的访问次数,在物理上也按搜索码值的顺序存储记录,或尽可能地按照搜索码顺序物理存储.数据字典 系统目录:有关关系的信息;有关用户的信息;有关关系的统计数据和描述数据的信息;索引的信息;第八章: 索引和散列索引的目的就是为了能够快速地在文件中定位要访问的记录.
23、基本索引:顺序索引散列索引索引技术的评价标准:访问类型访问时间插入时间删除时间空间开销顺序索引:顺序索引的作用: 能够迅速地按顺序或者随即地访问文件的记录.顺序索引的结构: 顺序索引按顺序存储搜索码的值,并将搜索码与包含该搜索码的记录关联起来.主索引: 簇集索引 指记录文件按照某个搜索码指定的顺序存储.顺序索引的分类: 稠密索引 稀疏索引利用稠密索引通常可以比稀疏索引能够更快地定位一个记录的位置.稀疏索引占用空间较小,插入和删除时维护的开销也小。多级索引结构: 索引的更新: 每当文件中有记录插入或删除时,索引都需要更新.辅助索引:辅助索引的指针并不直接指向文件,而是每个指针指向一个包含文件指针
24、的存储桶。存储桶中的每个指针都指向文件中的记录。辅助索引可以提高使用辅助搜索码查询记录的速度,但是辅助索引要大大增加数据库更新的开销。B+树索引文件第九章: 查询处理查询处理时指从数据库中提取数据的一系列活动.查询处理的过程:语法分析与翻译查询优化查询执行查询处理的代价:查询处理的代价可以通过该查询对计算机的各种资源的使用情况进行衡量。磁盘存取(磁盘I/O)执行查询所用的CPU时间并行/分布式数据库系统中的通信开销然而在大型数据库系统中,磁盘访问通常是最主要的代价查询计划是用来计算一个查询的原语序列,而原语的附加有注释的关系代数运算,这些注释用来说明执行该关系运算所采用的算法或要使用的索引查询
25、优化时为给定的查询选择最有效的查询计划的过程第十章:事务从用户的观点看,数据库上的一些操作的集合通常被认为是一个独立的单元,事务就是构成单一逻辑工作的操作集合事务的特性:原子性一致性隔离性持久性事务的状态:中止事务事务回滚已提交事务影子数据库(shadow database)第十一章: 并发控制并发控制机制封锁协议: 保证调度中事务可串行化的方法之一是对数据项的访问以互斥的方式进行,当一个事务访问某个数据项时,其他任何事务都不能修改该数据项。实现这个要求的最常用的方法就是:只有当一个事务目前在一个数据项上持有某种锁时,才允许该事务访问这个数据项。第十二章: 数据库系统的体系结构集中式系统客服/
26、服务器系统事务服务器 数据服务器并行系统: 共享内存 共享磁盘(机群) 无共享分布式系统: 全局事务 局部事务数据库系统的两个重要指标: 吞吐量 响应时间第十三章: 数据仓库Data warehouse 数据仓库面向主题 数据是集成的 数据是稳定的: 数据仓库中包含了大量的历史数据, 经集成进入数据仓库后主要用于决策分析,而极少更新。可以将其理解为只读的(READ-ONLY)。数据不是同时间的: 数据仓库包含大量的历史数据OLTP: 联机事务处理OLAP: 联机分析处理DM: 数据挖掘OLAM:联机分析挖掘DSS:决策支持系统数据仓库系统DWS数据仓库的特点:1. 数据仓库中保存的数据通常是历
27、史数据,数据量极大,可能达到GB、TB级,甚至更大,这些数据在数据仓库中很少变动;2.对于数据仓库,通常只进行APPEND(加载)操作;3.对信息源数据的提取和集成采用批处理的方式进行,通常脱机处理。数据集市的特征:数据集市的特征有:规模小,面向部门,而不是整个企业;有特定的应用,不是满足企业所有的决策分析需求;主要由业务部门定义、设计和实现;可以由业务部门管理和维护;成本低,开发时间短,投资风险较小;可以升级到企业完整的数据仓库。数据仓库的开发过程:启动工程建立开发,运行环境确定主题进行数据建模选择数据源设计数据仓库的结构DSS的解决方案示意图: KDD: knowledge Discove
28、ry in database 从数据集中识别有效的,新颖的,潜在有用的,以及最终可以被理解的模式的非平凡过程.第十四章: 数据库的设计与应用数据库管理系统(DBMSdatabase management system)是由一个相互关联的数据的集合和一组用于访问这些数据的程序组成.这些数据集合就是数据库(database).数据库系统(DBSdatabase system)是指计算机系统中引入数据库后的系统,一般由数据库,数据库管理系统(及其开发工具),应用系统,数据库管理员(DBAdatabase administrator )和用户构成.DBS = DB + DBMS + APPLICATI
29、ON + DBA +USER数据库系统设计的六个阶段:需求分析: 分析用户的需求, 数据 功能和性能概念结构设计: 主要使用E-R模型,画E-R图逻辑结构设计: 将E-R模型转换成关系模型数据库物理设计: 选择合适的存储结构和存取路径数据库的实施: 包括编程,测试和试运行数据库的运行与维护: 系统运行与数据库的日常维护第十五章: Sql Server概述SQL Server提供的访问数据库的程序接口.-ODBC(Open Database Connectivity)-OLE DB: 这是一个基于组件对象模型(COM)的数据库访问接口.数据对象接口:-ADO: ActiveX Data Object封装了OLE DB-RDO:Remote Data Object封装了ODBC表数据流(TDS)专心-专注-专业