数据库原理与应用(第2版)高凯 全书总结

上传人:等** 文档编号:240745894 上传时间:2024-05-04 格式:PPT 页数:131 大小:1.42MB
返回 下载 相关 举报
数据库原理与应用(第2版)高凯 全书总结_第1页
第1页 / 共131页
数据库原理与应用(第2版)高凯 全书总结_第2页
第2页 / 共131页
数据库原理与应用(第2版)高凯 全书总结_第3页
第3页 / 共131页
点击查看更多>>
资源描述
全全书书总总结结数据库学科体系基础知识基础知识 系统系统数据库设计数据库设计使用使用管理管理设计设计理论理论方法方法技术技术应用应用研研究究范范畴畴学习深度与广度学习深度与广度新技术新技术关系数据库关系数据库学科内容丰富,研究领域宽泛学科内容丰富,研究领域宽泛多层次多类型多视角的立体化的学科体系:理论、技术、系统、应用多层次多类型多视角的立体化的学科体系:理论、技术、系统、应用不同的专业和不同类型的学生应该有不同的内容和要求不同的专业和不同类型的学生应该有不同的内容和要求 数据库学科体系模型是主线:数据模型是主线o模型的3个要素(P3)o重点是关系模型系统是核心:数据库管理系统是核心o存储管理与优化o查询语言(语言功能、查询优化)o事务处理与数据保护应用是动力:数据库应用是学科发展的动力关系模型o数据结构-DDLo数据操作-QUERY+DMLo数据约束-DDL,DCLo关系数据理论数据库应用o数据库设计方法o数据库设计理论o数据库设计工具第第1章章 绪论绪论 数据、信息的概念数据、信息的概念 数据处理与数据管理数据处理与数据管理 数据管理的三个阶段数据管理的三个阶段数据库系统的组成数据库系统的组成数据库系统数据库系统外部体系结构外部体系结构参见参见计算机系统结构计算机系统结构 数据库管理系统数据库管理系统DBMS提供的数据控制功能提供的数据控制功能DBMS的工作模式的工作模式4个数据模型个数据模型DBMS数据库数据库核心核心数据库系统内部数据库系统内部体系结构体系结构 三级模式三级模式两级映象两级映象数据库管理系统数据库管理系统DBMS的组成的组成 数据库技术的产生和发展数据库技术的产生和发展人工管理阶段人工管理阶段 数据不保存,不共享,无独立性,数据不保存,不共享,无独立性,无专用软件管理数据无专用软件管理数据文件系统阶段文件系统阶段 数据以文件形式长期保存,由文件系统管理数据以文件形式长期保存,由文件系统管理数据数据,程序与数据间有一定独立性,程序与数据间有一定独立性 数据库系统阶段数据库系统阶段 数据结构化数据结构化,共享性高、冗余度低,共享性高、冗余度低,独立性高独立性高,有统一的数据控制功能,有统一的数据控制功能 DBMS 数据的安全性控制数据的安全性控制 数据的完整性控制数据的完整性控制 并发控制并发控制 数据恢复数据恢复6典型数据库系统的组成典型数据库系统的组成用户用户1 1用户用户2 2用户用户n n用用户户应用系统应用系统应用开发工具应用开发工具DBMSDBMS操作系统操作系统OSOS数据库数据库数据库管理员数据库管理员软软件件系系统统应用程序员应用程序员数据库系统的内部体系结构数据库系统的内部体系结构模式结构模式结构数据库系统的三级模式结构数据库系统的二级映象与数据独立性8数据库系统的三级模式结构数据库系统的三级模式结构应用应用1应用应用2应用应用n外模式外模式1外模式外模式m外模式外模式/模式映象模式映象模式模式模式模式/内模式映象内模式映象内模式内模式数据库数据库用户级用户级概念级概念级物理级物理级数据库系统的二级映象与数据独立性数据库系统的二级映象与数据独立性DBMS在三级模式之间提供了两级映象功能,保在三级模式之间提供了两级映象功能,保证了数据库系统中的数据能够具有较高的证了数据库系统中的数据能够具有较高的逻辑独逻辑独立性立性与与物理独立性物理独立性。外模式外模式/模式映象模式映象模式模式/内模式映象内模式映象保证了数据与程序间的逻辑独立性保证了数据与程序间的逻辑独立性 确保了数据的物理独立性确保了数据的物理独立性 10 数据库管理系统(数据库管理系统(DBMS)DBMS的主要功能的主要功能o数据定义功能数据定义功能 o数据操作功能数据操作功能o数据库运行管理功能数据库运行管理功能o数据库的建立和维护功能数据库的建立和维护功能o数据通信接口数据通信接口o数据的组织、存储和管理数据的组织、存储和管理11DBSDBMS核心核心数据定义数据定义查询查询更新更新各种控制各种控制 DBMS组成组成访问访问DBMS数据库分类数据库分类DBMS的数据存取的过程的数据存取的过程应用程序应用程序数据库数据库DBMS数据请求数据请求处理结果处理结果低层指令低层指令结果结果 DBMS的工作方式的工作方式应用程序应用程序应用程序应用程序DBMS操作系统操作系统外模式外模式模式模式内模式内模式数据库数据库数据库系统的特点数据结构化数据共享性高,冗余小,易扩充数据独立性高有统一的数据控制功能数据模型数据模型数据模型的定义现实世界、信息世界和计算机世界的概念数据模型的分类o概念模型E-R图o逻辑模型(也称数据模型)层次模型、网状模型、关系模型、面向对象模型o物理模型17数据模型的组成要素数据模型的组成要素数据结构数据结构 数据操作数据操作 数据的完整性约束数据的完整性约束 层次结构层次结构网状结构网状结构关系结构关系结构 查询查询插入插入删除删除 修改修改更新更新 正确正确有效有效相容相容 18四种典型的数据模型四种典型的数据模型层次模型(层次模型(Hierarchical Model)网状模型(网状模型(Network Model)关系模型(关系模型(Relational Model)面向对象模型(面向对象模型(Object-oriented Model)19关系模型关系模型 o关系模型的数据结构及有关概念关系模型的数据结构及有关概念 20小型数据库系统:小型数据库系统:Foxpro、Access 大型数据库系统:大型数据库系统:Oracle、SQL Server、Informix、Sybase 关系关系二维表二维表SNO学号学号SN姓名姓名SEX性别性别AGE年龄年龄DEPT系别系别S1赵亦赵亦女女17计算机计算机S2钱尔钱尔男男18信息信息S3孙珊孙珊女女20信息信息S4李思李思男男21自动化自动化S5周武周武男男19计算机计算机S6吴丽吴丽女女20自动化自动化元组元组属性属性域:域:属性的取值范围,属性的取值范围,(男,女)(男,女)北京林业大学北京林业大学 软件教研室软件教研室o关系模型的数据操纵与完整性约束关系模型的数据操纵与完整性约束 关系模型中的数据操作是集合操作,操作对象和操作关系模型中的数据操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合。结果都是关系,即若干元组的集合。关系模型把对数据的存取路径隐蔽起来,用户只要指关系模型把对数据的存取路径隐蔽起来,用户只要指出出“干什么干什么”,而不必详细说明,而不必详细说明“怎么干怎么干”,从而大,从而大大地提高了数据的独立性,提高了用户操作效率。大地提高了数据的独立性,提高了用户操作效率。o关系模型的优缺点关系模型的优缺点21有严格的数学理论根据有严格的数学理论根据 用关系描述实体间的联系用关系描述实体间的联系 具有更高的数据独立性、具有更高的数据独立性、更好的安全保密性更好的安全保密性 优点优点有时,查询效率不如非关系模型有时,查询效率不如非关系模型 缺点缺点数据库系统的发展数据库系统的发展 22关系数据模型关系数据模型 格式化数据模型格式化数据模型(层次数据模型和(层次数据模型和网状数据模型)网状数据模型)面向对象的数据模型面向对象的数据模型 1.支持三级模式的体系结构;支持三级模式的体系结构;2.用存取路径来表示数据之间的联系;用存取路径来表示数据之间的联系;3.独立的数据定义语言;独立的数据定义语言;4.导航的数据操纵语言。导航的数据操纵语言。1.概念单一,实体以及实体之间的联系都概念单一,实体以及实体之间的联系都用关系来表示;用关系来表示;2.以关系代数为基础,形式化基础好;以关系代数为基础,形式化基础好;3.数据独立性强,数据的物理存取路径对数据独立性强,数据的物理存取路径对用户隐蔽;用户隐蔽;4.关系数据库语言是非过程化的,大大降关系数据库语言是非过程化的,大大降低了用户编程的难度。低了用户编程的难度。1.支持面向对象的数据模型;支持面向对象的数据模型;2.保持或继承第二代数据库系统的优点;保持或继承第二代数据库系统的优点;3.具有开放性。具有开放性。第第一一代代第第二二代代第第三三代代传统数据库传统数据库缺点:缺点:1.面向机器的语法数据模型;面向机器的语法数据模型;2.数据类型简单、固定数据类型简单、固定;3.结构与行为完全分离结构与行为完全分离;4.被动响应被动响应;5.事务处理能力较差。事务处理能力较差。数据库技术与其他技术的结合数据库技术与其他技术的结合 23第第2章章 关系数据库基础关系数据库基础25关系数据结构关系数据结构 关系操作关系操作 关系完整性约束关系完整性约束 查询查询 更新更新 插入插入 删除删除修改修改 关系模型关系模型 26关系模型的数据结构及其形式化定义关系模型的数据结构及其形式化定义 关系的形式化定义及其有关概念o域、笛卡尔积、关系关系的性质o每个元素是不可分的数据项,不能“表中套表”o每列分量来自同一域,数据类型必须相同o不同列名字必须不同,不同列数据域可相同。o列的顺序可任意交换o行的顺序可任意交换关系模式、关系数据库与关系数据库模式2024/5/427关系的键与关系的完整性关系的键与关系的完整性 候选键、主关系键、主属性、非主属性、全码、外部关系键关系的完整性完整性约束完整性约束 实体完整性实体完整性 参照完整性参照完整性 用户自定义完整性用户自定义完整性 必须满足必须满足体现具体领域中的语义约束体现具体领域中的语义约束 28关系代数及其运算符关系代数及其运算符 关系代数是一种抽象的查询语言关系代数的运算对象与运算结果都是关系关系代数运算符 *,=,集合运算符集合运算符 关系运算符关系运算符 比较运算符比较运算符 逻辑运算符逻辑运算符 2024/5/429o选取(Selection)F(R)=t|tRF(t)=真 例2-5 查询计算机系的全体学生Dept=计算机(S)从行的角度从行的角度进行的运算进行的运算 F为选取的条件为选取的条件 SNOSNSexAgeDeptS1赵亦女17计算机S2钱尔男18信息S3孙珊女20信息S4李思男21自动化S5周武男19计算机S6吴丽女20自动化S(学生关系)2024/5/430o投影(Projection)A(R)=tA|tR 例2-7 查询教师的姓名、教师号及其职称。TN,TNo,Prof(T)A为为R中的属性列中的属性列 从列的角度从列的角度进行的运算进行的运算 TNOTNSexAgeProfSalCommDeptT1李力男47教授15003000计算机T2王平女28讲师8001200信息T3刘伟男30讲师9001200计算机T4张雪女51教授16003000自动化T5张兰女39副教授13002000信息T(教师关系)2024/5/431o连接(Join)=t rts|trRtsStr XtsY 为真 为算术比较运算符 自然连接:在等值连接的情况下,当连接属性X与Y具有相同属性组时,把在连接结果中重复的属性列去掉,记为:R*S =等值连接 大于连接 2024/5/432例 设有如图(a)、(b)所示的两个关系R与S,(c)为R和S的大于连接(CD),(d)为R和S的等值连接(C=D),(e)为R和S的等值连接(R.B=S.B),(f)为R和S的自然连接。(a)(b)2024/5/433(c)(d)(f)(e)2024/5/434o除法(Division)RS=trX|trRy(S)Yx 除法运算同时从行和列的角度进行运算,适合于包含“全部”之类的短语的查询。Yx为为x在在R中的象集,中的象集,x=trX 例2-13 查询选修了全部课程的学生学号和姓名。SNo,CNo(SC)CNo(C)*SNo,SN(S)例2-14 查询至少选修了C1课程和C3课程的学生学号。SNo,CNo(SC)CNo(CNo=C1CNo=C3(C)只有S4同学的象集至少包含了C1和C3课程,因此,查询结果为S4。检索选修课程包含“程军”老师所授课程之一的学生学号(S)检索学生“刘丽”所学课程中有不及格课程的课程号、课程名称和分数 检索选修了“程军”老师所授所有课程的学生学号(S)C.C#,C.CNAME,SC.GRADE(S.SNAME=刘丽(S)GRADE 60(SC)C)S#,C#(SC)C#(TEACHER=程军(C))36第第3、4章章 SQL的数据定义和完整的数据定义和完整性约束、性约束、SQL的数据查的数据查询询SQL Server 数据库管理系统平台数据库管理系统平台 数数据据定定义义数数据据操操纵纵数数据据控控制制SQL语言、语言、企业管理器、企业管理器、查询分析器查询分析器数据库、数据表、索引、视图、角色与权限数据库、数据表、索引、视图、角色与权限 创建、修改、创建、修改、删除、查看删除、查看 SQL Server数据库管理系统的主要功能381 SQL语言的基本概念与特点 SQL语言的发展及标准化SQL语言的基本概念o基本表、视图SQL语言的主要特点o类似于英语的自然语言,简洁易用o一种非过程的、面向集合的语言o既是自含式语言,又是嵌入式语言o数据查询、数据定义、数据操纵和数据控制39 SQL语言支持的关系数据库的三级模式结构语言支持的关系数据库的三级模式结构 402 了解SQL Server SQL Server是一个关系数据库管理系统是一个关系数据库管理系统 企业版(企业版(Enterprise Edition)标准版(标准版(Standard Edition)个人版(个人版(Personal Edition)开发者版(开发者版(Developer Edition)SQL Server的系统和实例数据库 系统数据库:master、model、msdb、tempdb实例数据库:pubs、Northwind41423 创建与使用数据库 用Enterprise Manager和SQL语句两种方法创建数据库修改数据库 删除数据库查看数据库4 创建与使用数据表 SQL Server 数据类型o整数、精确数值、近似浮点数、精确数值、近似浮点数、日期时间、字符串、Unicode字符串、二进制、货币、标记创建、修改、删除、查看数据表定义数据表的约束o数据的完整性:正确性、有效性、相容性oSQL Server数据完整性机制约束(Constraint)、默认(Default)、规则(Rule)445 创建与使用索引 索引的作用索引的分类o聚集索引与非聚集索引o唯一索引o复合索引创建、修改、删除、查看索引456 数据查询 SELECT命令的格式与基本使用条件查询o=,=,=,!=,oAND,OR,NOToBETWEEN,AND,IN,LIKE,IS NULL常用库函数:AVG、SUM、MAX、MIN、COUNTGROUP BY分组查询ORDER BY查询排序连接查询(JOIN)、子查询、合并查询将查询结果存储到表中 467 数据操纵 添加数据:INSERT INTO修改数据:UPDATE删除数据:DELETE478 视图 视图是虚表,其数据不进行存储,其记录来自基本表,只在数据库中存储其定义。创建视图、修改视图、删除视图、更新视图489 数据控制 权限与角色o权限:系统权限、对象权限o角色的概念和使用权限与角色的授予与收回2024/5/449第第5章章 关系数据库关系数据库编程基础编程基础2024/5/4501 Transact-SQL程序设计 在标准SQL的基础上进行扩充得到的SQL Server专用的结构化SQL主要的用途是设计服务器端的能够在后台执行的程序块与一般的高级语言的语法要素基本一致,主要有注释、变量与常量、运算符、函数与表达式、流程控制语句、批处理等也提供了一些常用的命令(backup、execute、checkpoint等)和库函数(sum,avg等)存储过程、触发器等存储过程、触发器等 2024/5/4512 存储过程系统存储过程系统存储过程 扩展存储过程扩展存储过程 用户自定义存储过程用户自定义存储过程 存储过程是一组为了完成特定功能的SQL语句集。存储过程的优点:存储过程的分类:模块化的程序设计高效率的执行减少网络流量可以作为安全机制使用2024/5/452查看存储过程查看存储过程 重新命名存储过程重新命名存储过程 删除存储过程删除存储过程 执行存储过程执行存储过程 修改存储过程修改存储过程 sp_helptext 存储过程名称存储过程名称 sp_rename 原存储过程名原存储过程名,新存储过程名新存储过程名 DROP PROCEDURE procedure,n ALTER PROCEDURE procedure_nameEXEC procedure_name2024/5/4533 触发器 触发器的概念、分类与作用o触发器是一种特殊类型的存储过程。o触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。触发器有4个要素:名称、定义的目标、触发条件、触发逻辑触发器的种类:AFTER、INSTEAD OF触发器的作用强化约束强化约束 跟踪变化跟踪变化 存储过程的调用存储过程的调用 级联运行级联运行 2024/5/454查看触发器查看触发器重新命名触发器重新命名触发器 删除触发器删除触发器 修改触发器修改触发器sp_helptext 触发器名称触发器名称 sp_rename 原触发器名原触发器名,新触发器名新触发器名 DROP TRIGGER trigger,n ALTER TRIGGER trigger_name关系型数据库编程基础总结嵌入式SQL的实现方式、使用规定及使用技术,面向对象应用程序访问数据库的常用接口及使用方法,o面向对象应用程序一般都通过API接口实现嵌入式SQL的功能,这种方法不需要专用的SQL预编译程序。DAOODBCJDBCOLE DBADOADO.NETT-SQL基本语法SQL Server的存储过程SQL Server的触发器。重点掌握基本概念、方法和设计思想,重点掌握基本概念、方法和设计思想,并能运用这些方法解决实际问题。并能运用这些方法解决实际问题。2024/5/456第第6章章 关系数据及其关系数据及其规范化理论规范化理论2024/5/457规范化问题的提出 57 教学管理数据库SCD(SNo,SN,Age,Dept,MN,CNo,Score)57SNo SN Age Dept MN CNo Score S1 赵亦 17 计算机 刘伟 C1 90S1 赵亦 17 计算机 刘伟 C2 85 S2 钱尔 18 信息 王平 C557S2 钱尔 18 信息 王平 C680S2钱尔18信息王平C7 数据冗余数据冗余 插入异常插入异常 删除异常删除异常 更新异常更新异常 根本原因:属性间存根本原因:属性间存在着在着数据依赖关系数据依赖关系 包罗万象包罗万象 不合理的关系模式存在的存储异常问题 2024/5/458函数依赖 函数依赖平凡函数依赖、非平凡的函数依赖完全函数依赖与部分函数依赖传递函数依赖2024/5/459关系模式的范式及关系规范化规范化的基本思想o消除关系模式中的数据冗余o消除数据依赖中的不合适的部分o解决数据插入、删除时发生异常现象范式(Normal Form)的概念1NF、2NF、3NF、BCNF4NF2024/5/460关系模式的规范化 关系规范化的定义关系模式规范化的目的和原则o使结构合理,消除存储异常,使数据冗余尽量小,便于插入、删除和更新。o基本原则就是遵循“一事一地”的原则关系规范化的原则o保证分解后的关系模式与原关系模式是等价的无损连接性、函数依赖保持2024/5/461一个好的关系模式应该具备以下四个条件:(1)尽可能少的数据冗余;(2)没有插入异常;(3)没有删除异常;(4)没有更新异常。SCD(SNo,SN,Age,Dept,MN,CNo,Score)S(SNo,SN,Age,Dept)SC(SNo,CNo,Score)D(Dept,MN)关系模式分解:关系模式分解:2024/5/462关系模式规范化的步骤规范化过程规范化过程 2024/5/463第第7章章 数据库设计数据库设计1 数据库设计概述2 系统需求分析3 概念结构设计4 逻辑结构设计5 物理结构设计6 数据库实施7 数据库运行和维护2024/5/464主要步骤主要步骤数据库设计的任务、内容和特点o任务:根据用户需求研制数据库结构的过程。o内容:o特点:结构与行为设计相结合,反复探寻,逐步求精设计方法:o直观设计、计算机辅助设计法、规范设计法、自动化设计法2024/5/4651 数据库设计概述 结构设计结构设计行为设计行为设计概念设计、逻辑设计和物理设计概念设计、逻辑设计和物理设计 应用程序的设计应用程序的设计 基于基于E-R模型的数据库设计方法模型的数据库设计方法基于基于3NF的数据库设计方法的数据库设计方法 基于视图的数据库设计方法基于视图的数据库设计方法 2024/5/466数据库设计的步骤 o按规范设计法可将数据库设计分为六个阶段1系统需求分析阶段2概念结构设计阶段3逻辑结构设计阶段4物理结构设计阶段5数据库实施阶段6数据库运行与维护阶段2024/5/4672 系统需求分析 任务方法:自顶向下、自底向上数据流图:数据字典:调查分析用户活动调查分析用户活动 收集和分析需求数据,确定系统边界收集和分析需求数据,确定系统边界 编写系统分析报告编写系统分析报告 数据流数据流数据流数据流数据存储数据存储数据来源数据来源处处理理数据输出数据输出处理需求处理需求信息需求信息需求数据项数据项 数据结构数据结构 数据流数据流 数据存储数据存储 处理过程处理过程 最终形成的最终形成的数据流图数据流图和和数据字数据字典典为系统分析报告的主要内容,这为系统分析报告的主要内容,这是下一步进行概念结构设计的基础。是下一步进行概念结构设计的基础。2024/5/4683 概念结构设计 将需求分析得到的用户需求抽象为信息结构,即概念模型。概念模型的特点oE-R模型是最著名、最实用的一种概念模型概念结构设计的方法语义表达能力丰富语义表达能力丰富 易于交流和理解易于交流和理解 易于修改和扩充易于修改和扩充 易于向各种数据模型转换易于向各种数据模型转换 局部局部E-R模型模型 全局全局E-R模型模型 抽象抽象 集成集成 自顶向下 自底向上 逐步扩张 混合策略2024/5/469需求分析需求分析DFD,DD数据抽象,数据抽象,局部视图设计局部视图设计视图集成视图集成逻辑结构设计逻辑结构设计局部局部E-R图图全局全局E-R图图征求征求用户用户意见意见2024/5/470o全局E-R模型设计视图集成的方法有两种:多元集成法,一次性将多个局部E-R图合并为一个全局E-R图。二元集成法,首先集成两个重要的局部E-R图,以后用累加的方法逐步将一个新的E-R图集成进来。局部局部E-R图图合并合并(消除冲突)(消除冲突)优化优化(消除不必(消除不必要的冗余)要的冗余)基本基本E-R图图初步初步E-R图图分析分析规范化理论规范化理论2024/5/4714 逻辑结构设计 初始关系模式设计初始关系模式设计 概念结构设计概念结构设计关系模式规范化关系模式规范化 模式评价模式评价 是否修正是否修正以以DBMS语法描述语法描述 模式修正模式修正 物理设计物理设计是是否否o转换原则转换原则 将将E-R图转换为关系模型实际上就是将实体、属性和联系转换成关系图转换为关系模型实际上就是将实体、属性和联系转换成关系模式。模式。在转换中要遵循以下原则:在转换中要遵循以下原则:(1)一个实体转换为一个关系模式,实体的属性就是关系的属性,实)一个实体转换为一个关系模式,实体的属性就是关系的属性,实体的键就是关系的键。体的键就是关系的键。(2)一个联系转换为一个关系模式,与该联系相连的各实体的键以及)一个联系转换为一个关系模式,与该联系相连的各实体的键以及联系的属性均转换为该关系的属性。该关系的键有三种情况:联系的属性均转换为该关系的属性。该关系的键有三种情况:o如果联系为如果联系为1:1,则每个实体的键都是关系的候选键,则每个实体的键都是关系的候选键o如果联系为如果联系为1:n,则,则n端实体的键是关系的键端实体的键是关系的键o如果联系为如果联系为n:m,则各实体键的组合是关系的键,则各实体键的组合是关系的键 2024/5/472初始关系模式设计 2024/5/473关系模式规范化 确定范式级别确定范式级别 实施规范化处理实施规范化处理 需求分析阶段需求分析阶段 概念结构设计阶段概念结构设计阶段 逻辑结构设计阶段逻辑结构设计阶段 用数据依赖概念用数据依赖概念分析和表示各个数分析和表示各个数据项之间的联系据项之间的联系 以规范化理论为以规范化理论为指导,确定关系键,指导,确定关系键,消除初步消除初步E-R图中冗图中冗余的联系余的联系 从从E-R图向数据图向数据模型转换过程中,模型转换过程中,用模式合并与分解用模式合并与分解方法达到规范化级方法达到规范化级别别 o模式评价模式评价 功能评价功能评价 o功能评价指对照需求分析的结果,检查规范化后的关系模功能评价指对照需求分析的结果,检查规范化后的关系模式集合是否支持用户所有的应用要求。式集合是否支持用户所有的应用要求。性能评价性能评价 o对实际性能进行估计,包括逻辑记录的存取数、传送量以对实际性能进行估计,包括逻辑记录的存取数、传送量以及物理结构设计算法的模型等及物理结构设计算法的模型等。o模式改进模式改进 2024/5/474模式评价与改进 合并合并 分解分解 2024/5/4755 物理结构设计 o数据库的物理结构设计可分为两步:确定物理结构,在关系数据库中主要指存取方法和存储结构;评价物理结构,评价的重点是时间和空间效率。确定物理结构o存储记录结构的设计聚集索引2024/5/476o访问方法的设计访问方法是为存储在物理设备(通常指辅存)上的数据提供存储和检索能力的方法。访问路径的设计分成主访问路径与辅访问路径的设计。o数据存放位置的设计为了提高系统性能,应该根据应用情况将数据的易变部分、稳定部分、经常存取部分和存取频率较低部分分开存放。o系统配置的设计DBMS产品一般都提供了一些系统配置变量、存储分配参数,供设计人员和DBA对数据库进行物理优化。系统为这些变量设定了初始值,但是这些值不一定适合每一种应用环境,在物理结构设计阶段,要根据实际情况重新对这些变量赋值,以满足新的要求。2024/5/4776 数据库实施 数据库实施是指根据逻辑设计和物理设计的结果,在计算机上建立起实际的数据库结构、装入数据、进行测试和试运行的过程。建立实际数据库结构建立实际数据库结构 装入数据装入数据 应用程序编码与调试应用程序编码与调试数据库试运行数据库试运行整理文档整理文档 2024/5/4787 数据库运行和维护 o数据库运行和维护阶段的主要任务包括以下三项内容:(1)维护数据库的安全性与完整性;(2)监测并改善数据库性能;(3)重新组织和构造数据库。只要数据库系统在运行,就需要不断地进行修改、调整和维护。一旦应用变化太大,数据库重新组织也无济于事,这就表明数据库应用系统的生命周期结束,应该建立新系统,重新设计数据库。2024/5/479 备份和还原 备份和还原的含义备份内容:数据库结构和数据备份对象:用户数据库+系统数据库备份设备是指备份内容的存储介质o disk(硬盘文件)最常用o tape(磁带)o pipe(命名管道)备份方法:使用SQL或企业管理器2024/5/480o备份的类型数据库备份数据库备份 事务日志备份事务日志备份 差异备份差异备份 文件和文件组备份文件和文件组备份 数据库备份是指对所有的数据以及数据库对象备份数据库备份是指对所有的数据以及数据库对象备份 事务日志备份是指对数据库发生的事务进行备份事务日志备份是指对数据库发生的事务进行备份 差异备份是指将最近一次数据库备份以来发生的差异备份是指将最近一次数据库备份以来发生的数据变化备份起来数据变化备份起来 文件或文件组备份是指对数据库文件或文件组进文件或文件组备份是指对数据库文件或文件组进行备份行备份 只有进行了完全备份后才能进行差异备份以及事务日志备份2024/5/481数据库的还原 将数据库的备份加载到系统中,是与备份相对应的操作。备份是还原的基础,没有备份就无法还原。还原的类型o简单还原:在进行数据库还原时仅使用数据库备份或差异备份,而不涉及事务日志备份。o 完全还原:通过使用数据库备份和事务日志备份将数据库还原到发生失败的时刻。o大容量日志记录还原:在性能上要优于简单还原和完全还原模型,能尽量减少批操作所需的存储空间。还原方法:使用SQL或企业管理器2024/5/4821 数据库的安全性控制(防止非法访问)2 完整性控制(防止错误的数据进入数据库)3 数据库的恢复(挽救措施)第第8章章 数据库安全数据库安全性性本章要点安全性的概念数据库系统的安全机制存取控制o自主存取控制(DAC)GRANT语句REVOKE语句o强制存取控制(MAC)o基于角色的访问控制本章要点其它安全控制方法o视图机制o审计o数据加密o统计数据库安全性数据库安全机制的设计目标o试图破坏安全的人所花费的代价 得到的利益SQL Server和Oracle的安全控制2024/5/4851 数据库的安全性 数据库安全性的含义o指保护数据库以防止非法使用所造成的数据泄露、更改或破坏。安全性控制的一般方法o安全性控制是指要尽可能地杜绝所有可能的数据库非法访问。用户标识和鉴定、用户存取权限控制、数据加密、审计等。图图 安全控制模型安全控制模型 2024/5/4北京林业大学 软件教研室86SQL Server2000的数据安全性机制 o为了实现安全性,为了实现安全性,SQL Server 2000对用户的访问进行两个阶段的检对用户的访问进行两个阶段的检验验身份验证身份验证阶段(阶段(Authentication):决定了用户能否连接(或登录):决定了用户能否连接(或登录)到到SQL Server 2000服务器。服务器。权限许可确认权限许可确认阶段(阶段(Permission Validation):决定了经过了身份):决定了经过了身份验证后的用户连接到验证后的用户连接到SQL Server 2000服务器可以执行的具体操服务器可以执行的具体操作,包括服务器上的操作和具体的数据库上的操作。作,包括服务器上的操作和具体的数据库上的操作。数据库数据库SQL Server 2000服务器服务器客户机客户机网络网络身份验证身份验证权限许可权限许可o在在SQL Server中,登录服务器的中,登录服务器的登录账号登录账号(Login Name););o查看服务器的登录账号查看服务器的登录账号 使用使用Enterprise Manager 使用存储过程使用存储过程 SQL Server的登录账号和服务器角色(第一道屏障)EXEC sp_helploginso创建服务器的登录账号创建服务器的登录账号 利用利用Enterprise Manage 利用存储过程利用存储过程 例例5-1 建立了一个名称为建立了一个名称为Mike的登录账号。的登录账号。EXEC sp_addlogin Mike,m1934,Teach,NULLEXEC sp_addlogin 登录账号名称登录账号名称,密码密码,默认数据库名默认数据库名,使用的语言使用的语言o更改登录账号的属性更改登录账号的属性 利用利用Enterprise Manage 使用存储过程使用存储过程sp_password可改变登录账号的密码可改变登录账号的密码 例例5-3 将将Mike账号的密码由原来的账号的密码由原来的m1934改为改为mike1934。EXEC sp_password m1934,mike1934,Mike 使用存储过程使用存储过程sp_addsrvrolemember可以将登录账号加入服务器可以将登录账号加入服务器的角色中的角色中 例例5-4 将登录账号将登录账号Mike加入到加入到dbcreator服务器角色中。服务器角色中。EXEC sp_addsrvrolemember Mike,dbcreator EXEC sp_password 旧密码,新密码,登录账号名称EXEC sp_addsrvrolemember 登录账号,服务器角色名称o删除登录账号删除登录账号 使用使用Enterprise Manager 使用存储过程使用存储过程 例例5-5 从数据库从数据库Teach中删除中删除Mike登录账号。登录账号。EXEC sp_droplogin Mike oSQL Server的服务器角色的服务器角色 角色角色(Role)是对权限集中管理的一种机制,将不同)是对权限集中管理的一种机制,将不同的权限组合在一起就形成了一种角色。的权限组合在一起就形成了一种角色。服务器角色服务器角色是执行服务器级管理操作的用户权限的集是执行服务器级管理操作的用户权限的集合。合。sp_droplogin 登录账号登录账号SQL Server在安装过程中默认创建的服务器角色及其权限在安装过程中默认创建的服务器角色及其权限 角色名称角色名称中文名称中文名称权限限sysadmin系系统管理管理员全称全称为System Administrators,可以在,可以在SQL Server中中执行任何活行任何活动serveradmin服服务器管理器管理员全称全称为Server Administrators,可以,可以设置服置服务器范器范围的配置的配置选项,关,关闭服服务器器setupadmin安装管理安装管理员全称全称为Setup Administrators,可以管理,可以管理链接服接服务器和启器和启动过程程securityadmin安全管理安全管理员全称全称为Security Administrators,可以管理登,可以管理登录和和创建数据建数据库的的权限,限,还可以可以读取取错误日志和更改密日志和更改密码processadmin进程管理程管理员全称全称为Process Administrators,可以管理在,可以管理在SQL Server中运行的中运行的进程程diskadmin磁磁盘管理管理员全称全称为Disk Administrators,可以管理磁,可以管理磁盘文件文件dbcreator数据数据库创建者建者全称全称为Database Creators,可以,可以创建、更改和建、更改和删除数据除数据库bulkadmin批量管理批量管理员全称全称为Bulk Insert Administrators,可以,可以执行行BULK INSERT(大容量插(大容量插入)入)语句句o数据库的用户账号数据库的用户账号当一个数据库的用户创建时,必须关联一个登录账号。当一个数据库的用户创建时,必须关联一个登录账号。每个登录账号在一个数据库中只能有一个用户账号,但每每个登录账号在一个数据库中只能有一个用户账号,但每个登录账号可以在不同的数据库中各有一个用户账号。个登录账号可以在不同的数据库中各有一个用户账号。SQL Server的数据库用户账号和数据库角色的数据库用户账号和数据库角色(第二道屏障)(第二道屏障)o查看数据库的用户账号使用Enterprise Manager sp_helpuser o创建数据库的用户账号使用Enterprise Manager sp_adduser 登录账号,用户账号,所属的数据库角色o设置数据库用户账号的权限对数据库对象的操作,具体含义如下oSELECT:对表或者视图进行查询。oINSERT:在表或者视图中插入记录。oUPDATE:对表或者视图中的数据进行修改。oDELETE:删除表或者视图中的数据。oEXEC:执行存储过程。oDRI:可对表的外键加以限制,以完成表的参照完整性。o删除数据库用户账号使用Enterprise Manager sp_dropuser 用户账号 例5-8 从数据库中删除ZHANGSAN用户账号。EXEC sp_dropuser ZHANGSANo数据库角色数据库角色是对数据库对象操作的权限的集合。数据库角色可分为两种:o固定的标准数据库角色(系统创建的)o应用程序角色角色名称 权限 public最基本的数据库角色 db_accessadmin 可以添加或删除用户标识 db_backupoperator 可以发出DBCC、CHECKPOINT和BACKUP语句 db_datareader 可以选择(取)数据库内任何用户表中的所有数据 db_datawriter 可以更改数据库内任何用户表中的所有数据db_ddladmin 可以发出所有DDL语句,但不能发出GRANT(授权)、REVOKE或DENY语句db_denydatareader 不能选择(取)数据库内任何用户表中的任何数据db_denydatawriter 不能更改数据库内任何用户表中的任何数据db_owner 在数据库中有全部权限db_securityadmin 可以管理全部权限、对象所有权、角色和角色成员资格SQL Server固定的数据库角色固定的数据库角色 o查看数据库角色查看数据库角色o创建新的数据库角色创建新的数据库角色 sp_addrole 角色名角色名,拥有者拥有者o删除数据库角色删除数据库角色 sp_droprole 角色名角色名 o创建数据库应用程序角色创建数据库应用程序角色 sp_setapprole 应用程序角色名应用程序角色名,密码密码 o用户和角色的权限问题用户和角色的权限问题 用户权限继承角色的权限用户权限继承角色的权限 用户分属不同角色用户分属不同角色 EXEC sp_addrole Myrole,dboEXEC sp_droprole MyroleEXEC sp_setapprole Approle,11111 2024/5/4982 完整性控制 数据库完整性的含义o保护数据库中数据的正确性、有效性和相容性,防止错误的数据进入数据库造成无效操作o防止合法用户使用数据库时向数据库中加入不符合语义的数据完整性规则的组成o触发条件、约束条件、违约响应立即执行约束、延迟执行约束2024/5/499完整性约束的分类 从约束条件使用的对象分从约束条件使用的对象分 值的约束和结构的约束o对数据类型、数据格式、取值范围和空值等进行规定o结构的约束即对数据之间联系的约束函数依赖约束实体完整性约束参照完整性约束统计约束静态约束和动态约束关系的两个不变性关系的两个不变性从约束对象的状态分从约束对象的状态分声明式数据完整性o将数据所需符合的条件融入到对象定义中,这样SQL Server会自动确保数据符合事先制定的条件。o特点可使声明式数据完整性成为数据定义的一部分。使用约束、默认值与规则实施声明式数据完整性。程序化数据完整性o通过编程保障数据完整性o特点:程序化数据完整性可通过程序语言及工具在客户端或服务器端实施。SQL Server可以使用存储过程或触发器实施程序化数据完整性。2024/5/4100数据完整性的实施 2024/5/41013 数据库的恢复 数据库恢复的含义基本原理:利用冗余数据来恢复方法:登记日志、数据转储三类故障的恢复方法o事务故障及恢复、系统故障及恢复和介质故障及恢复第第9章章 数据恢复技术和数据恢复技术和并发控制并发控制本章要点事务o基本概念o定义事务的SQL语句o性质数据库恢复o恢复的定义、原则和方法o故障的种类及恢复方法o具有检查点的恢复技术o数据库镜像本章要点并发控制o并发操作带来的数据不一致性o封锁o活锁和死锁o并发调度的可串行性o两段锁协议o封锁的粒度ACID 特性原子性原子性原子性原子性一致性一致性一致性一致性隔离性隔离性隔离性隔离性持续性持续性持续性持续性(AtomicityAtomicityAtomicityAtomicity)(ConsistencyConsistencyConsistencyConsistency)()()()(IsolationIsolationIsolationIsolation)()()()(DurabilityDurabilityDurabilityDurability)A C I DA C I D登记日志文件的原则登记的次序严格按并行事务执行的时间次序必须先写日志文件,后写数据库o写日志文件操作:把表示这个修改的日志记录写到日志文件o写数据库操作:把对数据的修改写到数据库中基本封锁类型排它锁又称为写锁(Exclusive lock,简记为X锁)o若事务T对数据对象A加上X锁,则只允许T读取和修改A,其它任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。共享锁又称为读锁(Share lock,简记为S锁)o若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其它事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。封锁协议在事务并发操作对数据对象加锁时,还需要约定一些规则,即何时申请X锁或S锁、持锁时间、何时释放等,称这些规则为封锁协议。对封锁方式规定不同的规则,就形成了各种不同的封锁协议。2024/5/4109并发控制与封锁 数据库并发的含义事务的含义及事务的ACID特性并发操作导致的数据不一致性o丢失数据、读脏数据、不可重读锁:排他锁(X锁)、共享锁(S锁)三级封锁协议死锁和活锁死锁的预防及消除封锁、封锁类型及其含义封锁就是事务T在对某个数据对象操作之前,先向系统发出请求,对其加锁,这样事务T就对这个数据对象有了一定的控制,其他事务就不能更新此数据,直到事务T释放它的锁为止。基本的封锁的类型有排它锁(“X”锁)和共享锁(“S”锁)两种。若事务T对数据A加上X锁,则只允许事务T读取和修改数据A,其他事务都不能再对A加任何类型的锁,直到T释放A上的锁。若事务T对数据A加上S锁,则其他事务只有再对A加S锁,而不能加X锁,直到T释放A上的锁。2024/5/4111数据库的恢复 数据库恢复的含义基本原理:利用冗余数据来恢复方法:登记日志、数据转储三类故障的恢复方法o事务故障及恢复、系统故障及恢复和介质故障及恢复小结如果数据库只包含成功事务提交的结果,就说数据库处于一致性状态。保证数据一致性是对数据库的最基本的要求。事务是数据库的逻辑工作单位oDBMS保证系统中一切事务的原子性、一致性、隔离性和持续性恢复中最经常使用的技术:数据库转储和登记日志文件恢复的基本原理:利用存储在后备副本、日志文件和数据库镜像中的冗余数据来重建数据库提高恢复效率的技术o检查点技术可以提高系统故障的恢复效率可以在一定程度上提高利用动态转储备份进行介质故障恢复的效率o镜像技术镜像技术可以改善介质故障的恢复效率小结数据库的并发控制以事务为单位数据库的并发控制通常使用封锁机制o两类最常用的封锁o活锁和死锁并发控制机制调度并发事务操作是否正确的判别准则是可串行性o并发操作的正确性则通常由两段锁协议来保证。o两段锁协议是可串行化调度的充分条件,但不是必要条件封锁的粒度o多粒度树o多粒度封锁小结2024/5/4115分布式数据库 关系型数据库在可扩展性上边面临巨大挑战。传统的关系数据库的事务以及二维关系很难高效扩展到多个存储节点上为解决关系数据库面临的可扩展性、高并发以及性能方面的问题,各种NoSQL数据库出现了第第10章章 基于关系型基于关系型数据库的数据库的Web应用应用课程难点与学习目的1.1.课程难点:课程难点:o o基于基于B/SB/S架构的关系型数据库架构的关系型数据库WebWeb应用程序开发模式;应用程序开发模式;o o服务器端的动态网页技术;服务器端的动态网页技术;o o基于基于XMLXML的数据库信息管理。的数据库信息管理。2.2.学习目的:学习目的:o o了解了解C/SC/S、B/SB/S架构;了解常见的架构;了解常见的WebWeb服务器及服务器端的服务器及服务器端的动态网页技术;了解客户端网页设计的一般方法;了解动态网页技术;了解客户端网页设计的一般方法;了解XMLXML技术。技术。主要内容1.基于B/S架构的关系型数据库2.Web应用程序开发模式3.中间件4.常见的Web服务器5.服务器端的动态网页技术6.客户端网页设计相关技术7.基于XML的数据库信息管理第第11章章 大数据应用大数据应用背景下的数据管理背景下的数据管理背景1.1.大数据时代已经来临。大数据时代已经来临。o o数据量急剧扩充的时代。数据量急剧扩充的时代。o o对数据管理技术提出更高的要求。对数据管理技术提出更高的要求。2.2.传统封的关系型数据库面临挑战。传统封的关系型数据库面临挑战。o o在扩展性、实时响应等方面难以满足用户的需求。在扩展性、实时响应等方面难以满足用户的需求。3.NoSQL3.NoSQL与传统关系型数据库的部分不同。与传统关系型数据库的部分不同。o非关系型数据库结构往往不固定,每个元组可有不一样的结构字段;每个元组可根据需要增加一些特定的键值对,不局限于固定结构,可减少一些时间和空间开销。主要内容1.大数据及其主要特点2.传统数据处理方式面临的挑战3.大数据应用背景下的数据管理特点及部分数据管理产品1 数据量巨大1.伴随着数据规模的剧增,数据的价值密度在减小,从大数据中挖掘有价值的知识,是有现实意义的。2.Web应用、电信、金融、保险、公共安全、医疗、气象、教育、地理等其它行业每天也都产生着难以估计的海量数据。2 结构多样化1.传统的数据挖掘主要是以结构化数据为主。2.大数据时代,结构化、半结构化、非结构化数据融合,且数据来源多样、质量良莠不齐。3.对大数据的处理来说,更大意义上是对非结构化大数据的处理和挖掘。3 处理速度更快1.大数据时代之前处理的数据一般都是静态的数据,或者数据的产生与变化速度较低,采用批处理的方式即可解决。2.微博等社交网络数据以及电子商务等交易数据是以实时数据流的方式出现的,要求对数据处理速度更快。4 应用价值高 感知现在、发现规律、预测未来、决策调控o知识发现o测与决策等大数据的特点数据量大数据量大结构、类型结构、类型众多众多维数高维数高维间关联多维间关联多显示媒体显示媒体介质多介质多来源多、标来源多、标准不一准不一不确定性强不确定性强随机模糊随机模糊动态性大动态性大关联关联复杂度高复杂度高垃垃 圾圾数据量大数据量大社会性强社会性强保密性和保密性和安全性高安全性高时空依赖时空依赖|关关系大系大大数据应用背景下的数据管理特点1.简单的数据类型o系统往往只需支持单记录级别的原子性,不必过多考虑外键和跨记录的关联,这样就增加了系统的可扩展性。2.元数据和应用数据的分离o元数据一般要求满足一致性和实时性,而应用数据的一致性需求往往因不同的应用而不同,故常将它们分离。3.弱一致性o通过复制应用数据来达到一致性。为减少不必要的开销,弱一致性模型得到应用。小结1.传统的关系数据库在应付超大规模和高并发的数据类型和动态网站时,暴露了一些问题。2.大数据时代,非关系型数据库得到迅速发展。3.当需处理的大容量数据集在持续快速增长时,来自NoSQL家族的数据管理系统更容易实现持续扩容。4.在“互联网+”和大数据时代,掌握传统的关系型数据库,以及大数据应用背景下的数据管理技术,具有十分重要的实际应用价值。第第12章章 关系型数据库应关系型数据库应用系统案例分析用系统案例分析 小结应用程序设计过程o需求分析o概念结构设计o数据库设计o功能模块设计o界面设计o程序开发o系统调试与排错 致谢在对全书内容的总结过程中,参考并引用了部分来源自北京林业大学陈志泊老师的教学课件,在此表示衷心感谢!
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!