ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:1.63MB ,
资源ID:6242446      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6242446.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(南大张琰数据库复习整理.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

南大张琰数据库复习整理.docx

1、南大张琰数据库复习整理数据库复习提纲第一章 数据库系统概述1.1 基本概念(概念) 数据库:是数据集合,具有统一的结构形式并存放于统一的存储介质内,它由多种应用数据集成,并可被应用所共享 数据库管理系统:是一种管理数据库的系统软件,位于用户与操作系统之间,用于科学的组织、存储和管理数据、高效地获取和维护数据; 数据库系统:是一个以对海量的、具有复杂数据结构的、可以持久保存的、可供多用户共享的数据进行统一管理为目标的计算机系统 数据库管理员:对数据库进行规划、设计、维护、监视的专职人员1.2 数据库系统的发展及趋势三个阶段:人工管理、文件系统管理、数据库系统管理1.3 数据库系统的特点: 数据集

2、成化: 集多种应用数据于一体集成性的表现:采用统一的数据结构建立一个全局统一的数据模式根据每个应用的数据需要构造局部模式1、 数据独立性: 指数据库中的数据与使用这些数据的应用程序之间的互不依赖性,即数据或数据结构的改变不会导致对使用这些数据的应用程序的修改,反之亦然 分为物理独立性,逻辑独立性2、数据共享:可供多个应用程序使用,并可用于不同的目的 可以在已有的数据库系统上开发新的应用程序 可向外界提供信息服务功能 3、数据冗余:同一个数据在不同的地方出现了重复存储a) 数据库系统所具有的高共享性和低冗余性不仅可以减少不必要的存储空间,更为重要的是可以避免数据的不一致性4、 数据的安全性5、

3、完整性和一致性,并发控制和故障恢复1.4 数据库内部结构体系(概念)数据模式:是数据库系统中数据结构的一种表示形式,它具有不同的层次与结构方式数据库的三级结构:三级模式:概念模式(简称模式)外模式(也称子模式、用户模式)内模式(也称物理模式)二级映射: 概念模式到内模式的映射, 外模式到概念模式的映射第二章 数据模型2.1 数据模型的基本概念(概念)数据模型: 描述数据的结构,定义在该数据结构上可以执行的操作以及数据之间必须满足的约束条件及其组成成分: 数据结构,数据操作,数据约束三种数据模型:概念数据模型,逻辑数据模型,物理数据模型2.2 数据模型的四个世界(概念)现实世界概念世界信息世界计

4、算机世界2.3 概念世界与概念模型E-R模型与E-R图:实体,属性,联系(应用)结合习题理解,会画图多多对应(m:n),一多对应(1:n),一一对应(1:1)扩充E-R模型与扩充E-R图:IS-A联系(概念)如果实体集B是实体集A的一个子集,且具有比实体集A更多的属性,则我们称在实体集A与实体集B之间存在着一种特殊的IS-A联系。其中:实体集A被称为实体集B的 超(实体)集实体集B被称为实体集A的 子(实体)集 子集B可以通过IS-A联系继承超集A中的所有属性面向对象模型(概念):对象:客观世界中能够相互区别开来的事物对象是OO模型中的最基本的概念,相当于E-R模型中的实体,但它们两者之间又存

5、在着很大的区别对象标识符:对象标识符(Object Identifier,简称OID) 每个对象均具有的一个能相互区别的名字类:具有相同属性、方法的对象集合方法:方法用于反映对象的行为特征,是对象的固有动态行为的表示,可用于审视并改变对象的内部状态(属性值)超类和子类:继承:一个类的定义和实现建立在其它类的基础之上,并共享其它类的定义和实现,其中被继承的类称为超类,获得继承的类被称为子类聚合和分解:聚合:由若干个简单类聚合成一个复杂的类的过程类与类之间的这种聚合联系构成了类与类的Is-part-of关系 分解:由复杂类分解成若干层次上的简单类的过程,继承和合成,封装(概念题)方法,消息:消息与

6、方法的比较方法是对象的内部操作,它包括方法的外部调用接口和内部实现细节两个部分消息则是一个跨对象的对象间的操作2.4 信息世界和逻辑模型关系模型: 关系(Relation):一个关系对应通常说的一张表元组(Tuple):表中的一行即为一个元组属性(Attribute):表中的一列即为一个属性,给每一个属性起一个名称即属性名值域:一个属性可以取的值的集合,被称为该属性的值域关系数据库关键字:关系中的一个属性集的值能唯一标识关系中的一个元组,且又不含多余的属性值,则称该属性集为该关系的关键字第三章 关系数据库系统3.1 关系数据库系统概述关系数据库系统的优点数据结构简单,使用方便,功能强,数据独立

7、性高,理论基础深,可移植性好,标准化程度高,分布式功能,开放性,其它方面的功能扩展3.2 关系数据库系统的衡量准则6、 完全关系型的十二条衡量准则:空值(NULL):“无意义”或“当前未知”的值3.3 关系模型数学理论关系代数3.3.1 关系模型(概念)关系数据结构 表结构:表框架,表的元数与基数 关系:二维表的性质 关键字:候选关键字,主关键字,外关键字 关系数据库:关系子模式-视图(view)关系操纵 数据查询:两个关系的合并,单个关系内的元组选择,单个关系内的属性指定 数据删除、插入、修改 空值的处理关系中的数据约束 实体完整性约束,参照完整性约束,用户定义的完整性3.3.2 关系的表示

8、(概念)关系的表示:关系是元组的集合迪卡尔乘积: 设存在n个集合D1,D2, Dn, 它们的笛卡儿乘积是:D1D2Dn该笛卡儿乘积的结果是一个集合,其中的每个元素都是一个具有如下形式的n元有序组:(d1,d2,dn),其中diDi (i=1,2,n)设集合Di的元素个数分别为ri (i=1,2,n),则它们的笛卡儿乘积的结果元素个数为:r1 r2 rn3.3.3 关系操纵的表示(应用)关系代数中的五种基本运算:选择,投影,笛卡儿积,并,差投影: 必须注意消除结果关系中可能出现的重复元组选择:笛卡尔积:RS,是两个关系的合并运算(ppt3-1,86页)基本运算的应用实例3.3.4 关系模型与关系

9、代数(概念)关系模型:用一种成为“关系”的二维表表示数据关系代数:(A, , , )由关系的集合A及关系间的五种基本运算所构成的代数系统被称为关系代数3.3.5 关系代数中的扩充运算(应用)交,除法,联接与自然联接,外联接扩充运算与基本运算之间的关系扩充运算的应用实例除运算:联接运算:3.3.6 关系代数实例(应用)综合的关系代数应用实例例题:设有学生数据库关系模式如下(其中中文为解释,英文为表名字段名):学生S(学号sno, 姓名sname, 性别gender, 身高 height)课程C(课程号cno, 学分credit, 开课系别dept, 开课季节semester)成绩SC(学号sno

10、, 课程号cno, 成绩grade)请用关系代数表示下列查询:1查询身高超过1.8米的男生的学号和姓名T:=sno,sname(height1.8gender=男(S))2查询计算机系秋季所开每一门课程的课程号和学分T: =cno,credit(semester=秋季dept=计算机系(CSCS))3查询所有至少选修一门计算机系所开课程的女生的姓名T:=S.sname(dept=计算机系gender=女(S)4查询所有课程的成绩都在90分以上(含90分)的学生的姓名、学号T=(sno(S)-snograde3(C) S 一、 关系模式如下: 学生S(学号S,姓名Sn,系别Sd,年龄Sa) 课程

11、C(课程号C,课程名Cn,预修课程号P) 选课SC(学号S,课程号C,成绩G)请用关系代数表达式来表示下述数据查询操作。1)检索学习课程号为C2的学生学号与成绩S#,G(SC.C#=C2SC.S#=S.S#(SC*S))2)检索学习课程号为C2的学生学号与姓名S#,Sn(SC.C#=C2SC.S#=S.S#(SC*S))3)检索选修课程名为Maths的学生学号与姓名S#,Sn(SC.C#=C.C#SC.S#=S.S#C.C#=Maths(S*C*SC)4)检索选修课程号为C2或C4的学生学号S#(SC.C#=C2SC.S#=S.S#(S*SC)S#(SC.C#=C4SC.S#=S.S#(S*S

12、C)5)检索至少选修课程号为C2和C4的学生学号S#(SC.C#=C2SC.C#=C4(SC)6)检索至少选修课程号为C2和C4的学生姓名Sn(SC.C#=C2SC.C#=C4SC.S#=S.S#(S*SC)7)检索计算机系学生都学习过的课程的课程号与课程名C#,Cn(Sd=计算机系S.S#=SC.S#C.C#=S.C#(S*SC*C)8)检索选修过C2课的所有预修课程的学生的学号S#(C.C#=C2SC.C#=P#SC.S#=S.S#(SC*C*S))9)检索不学C2课的学生学号S#(SC.C#!=C2(SC)10)检索不学C2课的学生姓名与年龄Sn,Sa(SC.S#=S.S#SC.C#!=

13、C2(SC*S)11)检索不学C2课的学生学号、姓名与年龄S#(SC.C#!=C2(SC)Sn,Sa(SC.S#=S.S#SC.C#!=C2(SC*S)二、 关系模式如下: 职工 E(姓名ename,工号e#,出生日期bdate,家庭地址addr,年薪salary,管理员工号se#,所在部门编号d#) 部门 D(部门名称dname,部门编号d#,部门负责人的工号mgre#) 项目 P(项目名称pname,项目编号p#,所在城市city,主管部门编号d#) 工作 W(职工工号e#,项目编号p#,工作时间hours) 职工家属Depend(职工工号e#,家属的姓名name,家属的性别sex)请用关

14、系代数表达式来表示下述数据查询操作。1)检索部门Research的所有职工的姓名和家庭地址ename,addr(dname=ResearchE.d#=D.d#(E*D)2)检索位于Stafford的每个项目的编号、主管部门的编号及其部门负责人的姓名和家庭地址p#,d#,ename,addr(city=Staffordp.d#=D.d#D.mgre#=E.e#(E*D*P)3)检索参与了5号部门的所有项目的职工的姓名ename(D.d#=5D.d#=P.d#P.p#=W.p#W.e#=E.e#(E*D*P*W)4)检索职工Smith所参与的或者主管部门为该职工所在部门的项目的编号p#(E.ena

15、me=SmithE.e#=W.d#(E*W)p#(E.ename=SmithE.d#=D.d#D.d#=P.d#(E*D*P)5)检索拥有两个或两个以上家属的职工的姓名ename(Depend.e#=Depend.e#Depend.namedepend.nameDepend.e#=E.e#(E*Depend*Depend)6)检索至少有一个家属且具有管理员身份的职工的姓名ename(E.se#=Depend.e#(E*Depend)7)检索不带家属的职工的姓名ename(E)-ename(E.e#=Depend.e#(E*Depend)8)检索工资收入最高的职工的姓名ename(E)-enam

16、e(E.salaryE.salary(E*E) 3.4 关系数据库语言SQL92(概念)又称SQL2,1992年应用(SQL必考)select数据定义,语言drop,delete;建表create(约束,外键,基本数据类型)数据库控制,语言,安全权限3.4.1 SQL概貌SQL标准的发展历史:SQL-92(SQL2)(ANSI/ISO, 1992)SQL的基本概念与使用方式(自含式,嵌入式),SQL功能简介(数据定义功能、数据操纵功能、数据控制功能、数据交换功能、扩展功能)3.4.2 SQL数据定义功能(应用)建表:create table 表名()SQL中的数据类型,Oracle数据类型基本

17、的表结构定义和修改命令3.4.3 SQL数据操纵功能(应用)SQL语言与关系代数的关系映像语句结构SELECT子句和FROM子句是一条映像语句中必不可少的两个组成部分基本查询功能:LIKE,IS NULL谓词;表的联接查询与自联接查询;ORDER BY子句的功能嵌套查询:IN,SOME/ANY/ALL,EXISTS等谓词;相关子查询与独立子查询子查询的合并:UNION/INTERSECT/EXCEPT ALL运算统计查询:统计与分组统计查询;空值与空集在统计函数中的处理方法复杂数据查询:两层的NOT EXISTS嵌套结构,以实现关系代数中的除法运算的查询功能。3.4.4 SQL的更新功能(应用

18、)删除功能插入功能:常量元组的插入,带子查询的元组插入修改功能基表的修改:ALTER TABLE(基表名)ADD(列名) ALTER TABLE (基表名) DROP(列名)基表的删除命令:DROP TABLE3.4.5 视图视图概念:由若干张表经映像语句构筑而成的表,又称为:导出表(drived table)视图与基表的区别:1、被称为视图的二维表本身(结构与数据)并不实际存在于数据库内,而仅仅保留了其构造信息(有关视图的定义信息)。因此视图又被称为虚表(virtual table)2、 当用户执行视图上的访问操作时,数据库管理系统将根据视图的定义命令将用户对于视图的访问操作转换成相应基表上

19、的访问操作视图的定义命令:嵌套定义功能视图的删除命令:视图删除中的连锁反应视图上的数据访问:可更新视图视图的优点:提高了数据独立性,简化用户观点,提供自动的安全保护功能SQL语句例题!设有一个公司产品销售数据库,其关系模式如下(其中中文为解释,英文为表名字段名):顾 客C ( 编号cid, 姓名cname, 城市city, 折扣discnt )供应商A ( 编号aid, 名称aname, 城市city )商 品P ( 编号pid, 名称pname, 库存数量quantity, 单价price )订 单O ( 编号ordno, 年份year, 月份month, 顾客编号cid, 供应商编号aid

20、,商品编号pid, 订购数量qty, 销售金额dols )请用SQL语句表示下述的操作请求。1) 创建表C,要求其主键为CID,折扣取值范围在0到1之间(字段类型可自定)Create table C(Cid intcname char(8)City char(8)Discnt float(8) Discnt decined(2,2)Check discnt=0 and discnt=1)2) 创建一个视图,要求给出所有南京的顾客姓名和折扣。Create view c as Select cname,dicsntFrom CWhere city=南京3) 将表P中的字段Price的修改权限赋予用

21、户TOM。Grant update (Price) on p to TOM4) 用单个SQL语句将顾客编号为10的顾客折扣值改为0.98,所在城市改为南京。Update CSet dicnt=0.98 city=南京Where cid=105) 查询居住有公司客户的城市数量。Select count (distinct city) from A;6) 查询每个供应商单笔销售最高金额的平均值Select avg(t.x) from(select aid,max(dollars)as x from orders group by aid)t7) 查询购买过产品名称中包含“茶”字的产品的顾客数量。S

22、elect count(dictint cid)From P,OWhere o.pid=p.pid and Pname Like %茶%8) 查询所享受的折扣(discnt)最高的客户的编号。9) 统计查询每个供应商在每一种商品上的销售总数量,只返回销售总数超过1000的统计结果(返回商品编号、商品名称,供应商编号,供应商名称及其销售总数量)。10) 至少被三个供应商卖出过的商品的编号。11) 查询销售金额最高的订单的订单编号。12) 向C表中增加一个顾客,编号为1,姓名为TOM,所在城市为南京,折扣为空值;13) 删除顾客编号为10的顾客;第四章 数据库的安全性与完整性保护(概念)4.1 数

23、据库的安全性保护数据库的安全:防止非法使用数据库安全数据库:那些能适应网络环境下安全要求级别的数据库称为安全数据库(secure database),或称为可信数据库(trusted database)数据库安全的基本概念与内容:主体,客体,身份标识与鉴别,自主访问控制,强制访问控制,隐蔽通道,审计数据库的安全标准:国标GB17859SQL对数据库安全的支持:SQL语言所提供的与数据库安全保护有关的命令(应用)4.2 数据库的完整性保护数据库完整性保护的功能:对数据库中数据的正确性和一致性的维护,包括: 在执行更新操作时,检查是否违反完整性约束条件,并且在证明其无效后作出适当的反应 防止有存取

24、权的合法用户的误操作目的:及时发现错误能够采取措施防止错误的进一步蔓延最终将数据库恢复到正确状态常用实现措施:完整性约束条件的定义及检查触发器并发控制技术完整性规则的三个内容:实体完整性,参照完整性,用户定义完整性完整性约束的设置:属性级的约束,元祖级的约束,全局约束检查与处理在SQL语言的CREATE TABLE命令中提供的完整性约束定义子句(应用)触发器:在数据库系统中,一个事件的发生会导致另外一些事件的发生,这样的功能被称为触发器事务处理、并发控制与故障恢复技术第五章 事务处理、并发控制和故障恢复技术5.1 事务处理(概念)事务的定义由某个用户所执行的一个不能被打断的对数据库的操作序列被

25、称为事务ACID性质:原子性、一致性、隔离性、持久性事务活动及其状态转换图事务控制及相关的参数设置语句:事务的提交与回滚,事务的读/写类型与隔离级别 事务的语句组成成分:Begin transaction、Commit transaction、Rollback transaction5.2 并发控制技术(概念)事务 事务的并发性,并发控制 调度(一个或多个事务中的数据库访问操作,按照这些操作被执行的时间排序所形成的一个操作序列)串行调度(如果一个调度的操作组成方式如下:首先是一个事务的所有操作,然后是另一个事务的所有操作,依此类推,则我们称该调度是串行的,或称为串行调度)可串行化调度(如果一个

26、调度对数据库状态的影响和某个串行调度相同,则我们称该调度是可串行化的,或称为可串行化调度)冲突: 是指调度中的一对连续操作(op1; op2),它们满足如下的条件:如果交换它们两者的执行顺序,那么涉及的事务中至少有一个的行为会改变符合上述条件的一对连续的操作(op1; op2)被称为冲突冲突可串行化: 如果一个调度 S 冲突等价于一个串行调度,则我们称调度 S 是“冲突可串行化”的()冲突可串行化的判定方法: 构造调度S的事务优先图,如果该图是无环的,则调度S是冲突可串行化的。如果有环,则调度S不是冲突可串行化的 三种数据不一致现象:丢失修改,脏读,不可重复读封锁 共享锁,排它锁,所相容矩阵,

27、合适事务 基于封锁技术的并发控制实现方法 封锁协议:三级封锁协议,两阶段封锁协议 合法调度:两阶段封锁协议与冲突可串行化的关系 多粒度封锁:封锁粒度与多粒度封锁,意向锁及其锁相容矩阵,多粒度封锁协议 死锁(每个事务都可能拥有一部分锁,并因申请其它事务所持有的锁而等待,因此产生的循环等待现象被称为死锁)及其解决方法(预防法、解除法),活锁(有部分事务因封锁申请得不到满足而处于长期等待状态,但其它的事务仍然可以继续运行下去,这种情况被称为“活锁”)及其解决方法(先来先服务)5.3 数据库恢复技术(概念)数据库恢复的含义、方法和常用措施含义:在数据库遭受破坏后及时进行恢复的功能方法 利用数据冗余原理

28、,将数据库中的数据在不同的存储介质上进行冗余存储,当数据库本身受到破坏时,可以利用这些冗余信息进行恢复常用措施 数据转储 日志 数据库镜像数据库故障的分类:小型故障(事物内部故障)、中型故障(系统故障、外部影响)、大型故障(磁盘故障、计算机病毒、黑客入侵)数据库故障恢复三大技术:数据转储、日志、事务的撤销与重做 数据转储:静态转储/动态转储,海量转储/增量转储, 日志: 日志的内容、组成、作用与记载原则 三种类型的日志:UNDO日志,REDO日志,UNDO/REDO日志 在日志中设置检查点的作用 事务的撤销(UNDO)与重做(REDO)恢复策略:小型/中型/大型故障的恢复策略数据库镜像第八章

29、关系数据库规范化理论8.1 概述(概念)7、 模式设计质量的评价指标:数据冗余度,插入/删除等更新异常8.2 规范化理论8.2.1 函数依赖(FD)8、 各种函数依赖的定义:完全/部分FD,平凡/非平凡FD(一个函数依赖关系XY如满足YX,则称此函数依赖是非平凡的函数依赖。否则,我们称其为平凡函数依赖。如无特殊声明,凡提到函数依赖时总认为指的是非平凡的函数依赖),直接/传递FD(在关系模式R( U )中,如有XU,YU,ZU且满足:XY,YX,YX,YZ,则称Z传递函数依赖于X;否则,称为非传递函数依赖(直接函数依赖)。(概念)9、 Armstrong公理系统(概念)10、 基于函数依赖的关键字定义(概念)关键字(也称为 码 或 key ),在关系模式 R(U, F) 中,如有 KU 且满足:则称 K 为 R 的关键字。11、 属性集闭包的计算算法(应用)a) 设 F 是关系模式 R(U) 上的函数依赖集,X 是关系模式 R(U) 的属性子集,由所有函数依赖于 X 的属性所构成的集合被称为属性集 X 在函数依赖集 F 上的闭包。12、 关键字的计算算法(应用)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1