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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(2023年数据库系统概论王珊第五版学习笔记.docx)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

2023年数据库系统概论王珊第五版学习笔记.docx

1、第一章 1.数据库的四个基本概念:数据、数据库、数据库管理系统、数据库系统。 数据:是数据库中存储的基本对象。描述事物的符号称为数据。 数据库:是长期存储在计算机内、有组织的、可共享的大量数据的集合。数据库数据具有永久存储、有组织和可共享三个基本特点。 数据库管理系统:是计算机的基础软件。 数据库系统:是由数据库、数据库管理系统、应用程序和人组成的存储、管理、解决和维护数据的系统。 2.数据解决和数据管理。 数据解决:指对各种数据进行手机、存储、加工和传播的一系列活动的总和。 数据管理:指对数据进行分类、组织、编码、存储、检索和维护。 3.数据独立性。 物理独立性:指用户的

2、应用程序与数据库中数据的物理存储是互相独立的。 逻辑独立性:指用户的应用程序与数据库的逻辑结构是互相独立的。 4.数据模型------是对现实世界数据特性的抽象(现实世界的模拟)。 数据模型是数据库系统的核心和基础。 概念模型:信息模型,按照用户的观点来对数据和信息建模,重要用于数据库设计。 逻辑模型:按照计算机系统的观点对数据建模。 物理模型:描述数据在计算机内部的表达方式和存取方法。 数据模型组成要素:数据结构、数据操作、数据的完整性约束条件。 5.信息世界中的基本概念。 实体:客观存在并可互相区别的事物。 属性:实体所具有的某一特性。 码:唯一标记实体的属性集

3、 联系:失误内部以及事物之间是有联系的。实体内部的联系通常是指组成实体的个属性之间的联系,实体之间的联系通常是指不同实体集之间的联系。实体之间的联系有一对一、一对多和多对多等各种类型。 6.数据完整性约束条件。 实体完整性:检查主码值是否唯一,检查主码的各个属性是否为空。实体完整性在创建表时用primary key 主键来定义。 参照完整性:检查增删改时检查外码约束。在创建表时用外码 foreign key短语定义。 用户定义完整性:创建表中定义属性的同时,可以根据应用规定定义属性上的约束条件,即属性值限制。 列值非空(not null) 、列值唯一(unique)

4、检查列值是否满足一个条件表达式(check短语) 7.数据库系统的模式。 型:是指对某一类数据的结构和属性的说明,对结构的描述和说明。 值:是型的一个具体赋值。 模式:是数据库中全体数据的逻辑结构和特性的描述,对结构进行描述,仅仅涉及型。模式的一个具体值称为模式的一个实例。 模式反映的事数据的结构及其联系,而实例反映的是数据库某一时刻的状态。 8.数据库的三级模式结构。 模式(逻辑模式):是数据库中全体数据的逻辑结构和特性的描述,需要定义数据想的名字,类型,取值范围和数据之间的联系,安全性完整性规定等。 外模式(子模式):数据库中数据的局部逻辑结构。 内模式

5、存储模式):是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。 第二章 1.关系模型------关系数据结构、关系操作集合、关系完整性约束三部分组成。 2.关系。 域:一组具有相同数据类型的值的集合。 关系:笛卡尔积的有限子集。 候选码:关系中某一属性组的值能唯一地标记一个元组。 候选码的诸属性称为主属性。不包含在任何候选码中的属性称为非主属性。 3.表。 基本表(基本关系、基表):实际存在的表,是实际存储数据的逻辑表达。 查询表:是查询结果相应的表。 视图表:是由基本表或其他视图表导出的表,虚表,不相应实际存储的数据。 4.关系代数

6、用对关系的运算来表达查询。 关系代数运算的三个要素:1.运算对象:关系;2.运算结果:关系;3:运算符:四类 选择运算是从行的角度进行的运算 查询信息系(IS系)全体学生 σSdept = 'IS' (Student) 投影操作重要是从列的角度进行运算。投影之后不仅取消了原关系中的某些列,并且还也许取消某些元组(避免反复行) 查询学生的姓名和所在系,即求Student关系上学生姓名和所在系两个属性上的投影 πSname,Sdept(Student) 连接也称θ连接:连接运算从R和S的广义笛卡尔积R×S中选取(R关系)在A属性组上的值与(S关系)在B

7、属性组上值满足比较关系的元组 除 第四章 1.数据库安全性控制。 用户身份鉴别:静态口令鉴别,动态口令鉴别、生物特性鉴别、智能卡鉴别。 存取控制:定义用户权限。合法权限检查。 自主存取控制:授予不同对象不同权限。 强制存取控制:数据库中的内容带有密级标记,只有具有相应标记的用户才可以访问。 2.授权。 授权:----对属性列授权必须指出相应的属性列名。 grant select,insert,delete,update… on table Student,Sc to 用户1,用户2 收回权限:

8、 revoke select on table Student,Sc from 用户1,用户2 3.角色。 数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。 创建角色、对角色进行授权、将角色授权给其他的角色或者用户、角色权限的收回。 创建角色:create role 角色1,角色2 给角色授权: grant select,insert… on table Student to 角色1,角色2 将角色授权给其他用户: grant 角色1 to 用户1,用户2 收回角色权限: Revoke selec

9、t On table Student From 角色1 4.视图。 创建视图: Create view 视图1 As Select * From Student Where Sdept = ‘CS’ 第五章 1.数据库完整性。 数据库的完整性是指数据的对的性和相容性。数据的对的性是指额数据是符合现实世界语义、反映当前实际状况的。数据的相容性是指数据库同一对象在不同的关系表中的数据是符合逻辑的。 2.保障数据库的完整性。 提供定义完整性约束条件的机制。 提供完整性检查的方法。 进行违约解决。 数据完整性约束条件前文中已经

10、讲述,此处不再赘述。 第六章 1.函数依赖。 若对于R(U)的任意一个也许的关系r,r中不也许存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称 “X函数拟定Y” 或 “Y函数依赖于X”,记作X→Y 一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程叫做规范化。 1NF(第一范式)假如一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF 第一范式是对关系模式的最起码的规定。不满足第一范式的数据库模式不能称为关系数据库。 2NF:假如R∈1NF,且每一个非主属性完全依赖于码,则R∈2NF 采用投影分

11、解法将一个1NF的关系分解为多个2NF的关系 3NF:假如R 是2NF,且每个非主属性都不传递依赖于R的候选码,则R属于3NF。 2NF消除非主属性的部分依赖,3NF消除非主属性的传递依赖 BCNF的定义: BCNF不仅对非主属性有规定,并且也对主属性有规定 假如一个关系模式只有两个属性构成,则该关系模式一定属于BCNF 第七章 1.数据库设计,数据库设计分6个阶段。 需求分析。 概念结构设计。 逻辑结构设计。 物理结构设计。 数据库实行。 数据库运营和维护。 2. 数据项是不可再分的数据单位 数据结构反映了数据之

12、间的组合关系。 数据流是数据结构在系统内传输的途径。 数据存储是数据结构停留或保存的地方,也就是流的来源和去向之一。 具体解决逻辑一般用鉴定表或鉴定树来描述。 数据字典是关于数据库中数据的描述,是元数据,而不是数据自身。 数据字典在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善。 概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。 自顶向下的进行需求分析,自低向上的设计概念结构。 定义数据库模式重要是从系统的时间效率、空间效率、易维护等角度出发。 物理设计的第一任务就是要拟定选择那些存取方法,即建立哪些存取途径。 3. E—

13、R图 实体型:用矩形表达,矩形框内写明实体名 属性:用椭圆形表达,并用无向边将其与相应的实体型连接起来 联系:用菱形表达,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n) 联系的属性:联系自身也是一种实体型,也可以有属性。假如一个联系具有属性,则这些属性也要用无向边与该联系连接起来 在关系总数尽量少的情况下,该E-R图转换后关系模式涉及: 学生(学号,姓名,性别,专业,出生日期,学院编号) 课程(课程编号,课程名称,课程类别,学分) 学院(学院编号,学院名称,办公室电话,院长教职工编号) 教职工(教职工编号,

14、姓名,参与工作时间,职称,学院编号) 选课(学号,课程号,成绩) 第八章 1.游标。 使用:声明游标、打开游标、从一个游标中提取信息、关闭释放游标。 声明游标:Declare XXX cursor For select ****** 打开游标:open XXX 关闭游标:close XXX 释放游标:deallocate XXX 声明一个名为curAllCourse的游标,完毕记录有多少学生选修了所有课程,输出学生学号和姓名。 declare curAllCourse cursor //声明游标 for SE

15、LECT SNO,sname from student where sno in ( select sno from sc group by sno having COUNT(*)>= ( select COUNT(*) from course ) ) for read only open curAllCourse //打开游标 declare @sno char(10),@sname char(10) //声明变量 set @sno=0 fetch next from curAllC

16、ourse into @sno,@sname //从游标中取数据 while @@FETCH_STATUS = 0 begin if @sname is null set @sno = @sno + 1 select @sno 学号,@sname 姓名 fetch next from curAllCourse into @sno,@sname end CLOSE curAllCourse //关闭游标 DEALLOCATE curAllCourse //释放游标 2.存储过程。 类似与C语言中的函数。 编写一个存储过程,在sc表记录每个学

17、生的平均分. create proc avergrade //创建存储过程 as begin select sno,avg(grade) 平均分 from sc group by sno end exec avergrade //执行存储过程 drop procedure avergrade //删除存储过程 对练习1的存储过程进行改善,添加一个输入参数——学号,使存储过程能根据输入的学号计算该学生的平均分 create proc avergrade @sno char(10) as begin select s

18、no,avg(grade) 平均分 from sc where sno = @sno group by sno end exec avergrade '04' drop procedure avergrade 在练习2的基础上添加一个输出参数——平均分,计算指定学号的平均分,然后将平均分输出。 create proc avergrade @sno char(10), @saving int out as begin select @saving = avg(grade) from sc where sno

19、 = @sno group by sno end declare @avg int set @avg = 0 exec avergrade '02',@avg out select @avg 平均分 drop procedure avergrade 3.函数。 函数必须返回指定类型,可以返回表,有输入参数。 创建成绩转换函数,实现百分制成绩与优、良、中、及格、不及格五个等级的换算. CREATE FUNCTION grade_trans(@grade FLOAT) RETURNS CHAR(16) AS BEGIN

20、 DECLARE @class CHAR(16) SELECT @class = CASE WHEN @grade IS NULL THEN '还没参与考试' WHEN @grade < 60 THEN '不及格' WHEN @grade >= 60 and @grade < 70 THEN '及格' WHEN @grade >= 70 and @grade < 80 THEN '中档' WHEN @grade >= 80 and @grade < 90 THEN '

21、良好' ELSE '优秀!' END RETURN(@class) END select dbo.grade_trans(88) 查询某个院系所有学生所选的每门课的平均成绩。 create function aver (@p char(10)) returns table as return ( select cno 课程号,avg(grade) 平均成绩 from student,sc where student.sno=sc.sno and sdept=@

22、p group by cno ) select * from dbo.aver('cs') drop function aver 求某个院系选修了某门课的学生人数。 create function people(@p0 char(10),@p1 char(4)) returns int as begin declare @renshu int select @renshu = ( select COUNT(*) 选课人数 from student,sc where student.sno = sc.sno and

23、 cno = @p1 and sdept = @p0 ) return @renshu end select dbo.people('cs','2') drop function people 4.触发器。 Create trigger XXX On table [ for /after /instead of ] Insert,delete,update As 触发器实际需要触发内容 For:用法同after After:执行完sql语句之后进行检查,检查不符合条件的话回滚 roll back 。after触发器

24、只能在表上指定。 Instead of :指定触发器时代替SQL语句执行的,其优先级高于触发语句的操作。 例: 为 student表建立触发器T1,当插入或更新表中的数据时,保证所操作的记录的sage值大于0。 create trigger T1 on student after insert,update as begin declare @sage int select @sage = inserted.sage from inserted if(@sage < 0) begin print '年龄错误' rollback transacti

25、on end end update student set sage = 38 where sno = '01' insert into student(sno,sname,ssex,sage,sdept) values('2023011','张三','男',55,'ma') 为student表建立触发器T2,严禁删除编号为“0001”的学生。 insert into student(sno,sname,ssex,sage,sdept) values('0001','傻大个','男',19,'is') create trigger T2 on stud

26、ent after delete as begin declare @sno char(10) select @sno = deleted.sno from deleted if(@sno = '0001') begin print '严禁删除学号0001信息' rollback transaction end end delete student where sno = '0001' drop trigger T2 第十章 1.事务。 是一系列的数据库操作,是数据库应用程序的基本逻辑单元。 是用户定义的一个数据

27、库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单元。 2.事务的四个特性。 原子性:事务是数据库的逻辑工作单位,事务总涉及的诸操作要么全做,要么全不做。 一致性:数据库只包含成功事务提交的结果,就说数据库处在一致性状态。 隔离性:一个事务的执行不能被其他事务干扰。即一个事务的内部操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。 连续性:指一个事务一旦提交,他对数据库中数据的改变就应当是永久性的。 事务是恢复和并发控制的基本单位。 3.数据库恢复。 把数据库从错误状态恢复到某一已知的对的状态的功能。 1. 运营事务非正常中断

28、 2. 数据丢失。 4.故障种类。 运营事务非正常中断----------恢复-事务撤消。 系统故障、介质故障、计算机病毒。 5.恢复实现技术。 数据恢复的基本原理:冗余。 建立冗余数据最常用的技术是数据转储和登记日记文献。 6. 数据转储。 静态转储:是在系统中无运营事务时进行的转储操作。 动态转储:是指转储期间允许对数据库进行存取或修改。即转储和用户事务可以并发执行。 海量转储:每次转储所有数据库。 增量转储:指每次只转储上一次转储后更新过的数据。 7.日记文献。 是用来记录事务对数据库的更新操作的文献。 在事务故障恢复和系统故障恢复必须用

29、日记文献。 在动态转储方式中必须建立日记文献,后备副本和日记文献结合起来才干有效地恢复数据库。 在静态转储中也建立日记文献…… 8.登记日记文献(对数据库的操作记录)。 登记的顺序严格按并发事务执行的时间顺序。 必须先写日记文献,后写数据库。 9.事务故障的恢复。 恢复子系统应运用日记文献撤消此事务已对数据库进行的修改,系统自动进行。 10.系统故障恢复。 导致故障因素也许有两个: 1. 未完毕事务对数据库的更新也许已写入数据库。 2. 已提交事务对数据库的更新也许还留在缓冲区没来得及写入数据库。 恢复策略是 撤消故障发生时未完毕的事物,重做已完毕的事物。

30、 11.介质故障的恢复。 数据库副本。 第十一章 1. 并发操作带来的数据不一致性。 并发操作破坏了事务的隔离性。 丢失修改:两个事务同时读入同一数据并修改,T2提交的结构破坏了T1提交的结果,导致T1的修改被丢失。 不可反复读:事务1读取数据后,事务2执行更新操作,使T1无法再现前一次读取结果。 读脏数据:事务1修改某一数据并将其写回磁盘,事务2读取同一数据后,T1由于某种因素被撤消,这时被T1修改过的数据恢复原值,T2读到的数据就与数据库中的数据不一致,则T2读到的数据就为脏数据,即不对的的数据。 2.并发控制的重要技术。 封锁、时间戳、乐观控制法、多版本

31、并发控制等。 3. 封锁。 封锁就是事务T对某个数据对象操作之前,先向系统发出请求,对该数据对象进行加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他事务不能更新此数据对象。 4.封锁类型。 排他锁(写锁):若事务T对数据对象A加上X锁,则只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁为止。保证了其他事务在T释放A上的锁之前不能再读取和修改A。 共享锁(读锁):若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁为止。保证了其他事务可以读A,但在T释放

32、S锁之前不能对A做任何修改。 5.封锁协议。 一级封锁协议:事务T在修改数据R之前必须先对其加X锁,直到事务结束才释放。可防止丢失修改,保证事务T是可恢复的。 二级封锁协议:在一级封锁协议基础上增长事务T在读取数据R之前必须先对其加S锁,读完后即可释放S锁。二级封锁协议可以防止丢失修改和读“脏”数据 三级封锁协议:在一级封锁协议的基础上增长事务T在读取数据R之前必须先对其加S锁,直到事务结束才释放。三级封锁协议可防止丢失修改、读脏数据和不可反复读,容易导致比较多的死锁。 6.活锁和死锁 活锁:有一个事务一直等待无法执行。 死锁:T1等待T2,T2等待T1。 避免活锁:

33、采用先来先服务的策略。 防止死锁的方法:一次封锁法 、 顺序封锁法 死锁的诊断:超时法 、 事务等待图法 7.可串行化调度。 多个事务的并发执行是对的的,当且仅当其结果与按某一顺序串行地执行这些事务时的结果相同。 可串行性是并发事务对的调度的准则。一个给定的并发调度,当且仅当它是可串行化的,才认为是对的调度。 8.两段锁协议。 实现并发调度的可串行性,从而保证调度的对的性。 9.所有事务必须分两个阶段对数据项加锁和解锁。 在对任何数据进行读、写操作之前,一方面要申请并获得对该数据的封锁。 在释放一个封锁之后,事务不在申请和获得任何其他封锁。 指事务分为两个阶段:

34、一、获得封锁,事务可以申请获得任何数据项上的任何类型的锁,不能释放任何锁。二:释放封锁,事务可以释放任何数据项上的任何类型的锁,但是不能再申请任何锁。 事务遵守两段锁协议是可串行化调度的充足条件,而不是必要条件。 若调度是遵守两段锁协议的,因此一定是一个可串行化调度。反之不然。 应用题 1.授权例题 把对Student表和Course表的所有权限授予用户U2和U3 GRANT ALL PRIVILIGES ON TABLE Student, Course TO U2, U3; 把对表SC的查询权限授予所有用户 GRANT SELECT ON TABLE SC TO PUBLIC 把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户 GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION;

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服