下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章1.数据库的四个基本概念:数据、数据库、数据库管理系统、数据库系统。数据:是数据库中存储的基本对象。描述事物的符号称为数据。数据库:是长期存储在计算机内、有组织的、可共享的大量数据的集合。数据库数据具有永久存储、有组织和可共享三个基本特点。数据库管理系统:是计算机的基础软件。数据库系统:是由数据库、数据库管理系统、应用程序和人组成的存储、管理、处理和维护数据的系统。2.数据处理和数据管理。数据处理:指对各种数据进行手机、存储、加工和传播的一系列活动的总和。数据管理:指对数据进行分类、组织、编码、存储、检索和维护。3.数据独立性。物理独立性:指用户的应用程序与数据库中数据的物理存储是相互独
2、立的。逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。4.数据模型 -是对现实世界数据特征的抽象(现实世界的模拟)。数据模型是数据库系统的核心和基础。概念模型:信息模型,按照用户的观点来对数据和信息建模,主要用于数据库设计。逻辑模型:按照计算机系统的观点对数据建模。物理模型:描述数据在计算机内部的表示方式和存取方法。数据模型组成要素:数据结构、数据操作、数据的完整性约束条件。5.信息世界中的基本概念。实体:客观存在并可相互区别的事物。属性:实体所具有的某一特征。码:唯一标识实体的属性集。联系:失误内部以及事物之间是有联系的。实体内部的联系通常是指组成实体的个属性之间的联系, 实体之
3、间的联系通常是指不同实体集之间的联系。实体之间的联系有一对一、一对多和多对多等各种类型。6.数据完整性约束条件。实体完整性 :检查主码值是否唯一,检查主码的各个属性是否为空。实体完整性在创建表时用primarykey 主键来定义。参照完整性 :检查增删改时检查外码约束。在创建表时用外码foreignkey 短语定义。用户定义完整性 :创建表中定义属性的同时,可以根据应用要求定义属性上的约束条件,即属性值限制。列值非空( not null ) 、列值唯一(unique )、检查列值是否满足一个条件表达式 (check短语)7.数据库系统的模式。型:是指对某一类数据的结构和属性的说明,对结构的描述
4、和说明。值:是型的一个具体赋值。模式:是数据库中全体数据的逻辑结构和特征的描述,对结构进行描述,仅仅涉及型。模式的一个具体值称为模式的一个实例。模式反应的事数据的结构及其联系,而实例反应的是数据库某一时刻的状态。8.数据库的三级模式结构。模式(逻辑模式) :是数据库中全体数据的逻辑结构和特征的描述,需要定义数据想的名字,类型,取值范围和数据之间的联系,安全性完整性要求等。外模式(子模式) :数据库中数据的局部逻辑结构。内模式(存储模式) :是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。第二章1.关系模型 -关系数据结构、关系操作集合、关系完整性约束三部分组成。2.关系。域:一组
5、具有相同数据类型的值的集合。关系:笛卡尔积的有限子集。候选码:关系中某一属性组的值能唯一地标识一个元组。候选码的诸属性称为主属性。不包含在任何候选码中的属性称为非主属性。3.表。基本表(基本关系、基表) :实际存在的表,是实际存储数据的逻辑表示。查询表:是查询结果对应的表。视图表:是由基本表或其他视图表导出的表,虚表,不对应实际存储的数据。4.关系代数:用对关系的运算来表达查询。关系代数运算的 三个要素 : 1.运算对象:关系;2.运算结果:关系;3:运算符:四类选择运算是从行的角度进行的运算查询信息系( IS 系)全体学生 Sdept = IS (Student)投影操作主要是从列的角度进行
6、运算。 投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)查询学生的姓名和所在系,即求Student 关系上学生姓名和所在系两个属性上的投影 Sname,Sdept(Student)连接也称 连接:连接运算从 R 和 S 的广义笛卡尔积 R S 中选取( R 关系)在 A 属性组上的值与( S关系)在 B 属性组上值满足比较关系的元组除第四章1.数据库安全性控制。用户身份鉴别:静态口令鉴别,动态口令鉴别、生物特征鉴别、智能卡鉴别。存取控制:定义用户权限。合法权限检查。自主存取控制:授予不同对象不同权限。强制存取控制:数据库中的内容带有密级标记,只有具有相应标记的用户才能够
7、访问。2.授权。授权: -对属性列授权必须指出相应的属性列名。grantselect,insert,delete,updateontableStudent,Scto用户 1,用户 2收回权限:revokeselectontable Student,Scfrom 用户 1,用户 23.角色。数据库角色是被命名的一组与数据库操作相关的权限,角色是权限的集合。创建角色、对角色进行授权、将角色授权给其他的角色或者用户、角色权限的收回。创建角色: createrole角色 1,角色 2给角色授权:grantselect,insertontableStudentto角色 1,角色 2将角色授权给其他用户:
8、grant角色 1to用户 1,用户 2收回角色权限:RevokeselectOntableStudentFrom角色 14.视图。创建视图:Createview视图 1AsSelect*FromStudentWhereSdept = CS第五章1.数据库完整性。数据库的完整性是指数据的正确性和相容性。数据的正确性是指额数据是符合现实世界语义、 反应当前实际状况的。数据的相容性是指数据库同一对象在不同的关系表中的数据是符合逻辑的。2.保障数据库的完整性。提供定义完整性约束条件的机制。提供完整性检查的方法。进行违约处理。数据完整性约束条件前文中已经讲述,此处不再赘述。第六章1函数依赖。若对于R(
9、U)的任意一个可能的关系r, r中不可能存在两个元组在X 上的属性值相等,而在Y 上的属性值不等,则称“ X 函数确定Y” 或“ Y 函数依赖于X”,记作X Y一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程叫做规范化 。1NF(第一范式) 如果一个关系模式 R 的所有属性都是 不可分的基本数据项 ,则 R 1NF 第一范式是对关系模式的最起码的要求。 不满足第一范式的数据库模式不能称为关系数据库。2NF:如果 R1NF,且每一个 非主属性完全依赖于码, 则 R 2NF采用 投影分解法 将一个 1NF 的关系分解为多个2NF 的关系3NF:如果 R 是
10、 2NF,且每个 非主属性 都不 传递依赖 于 R 的候选码,则2NF 消除非主属性的部分依赖,3NF 消除非主属性的传递依赖R 属于3NF。BCNF的定义:BCNF不仅对非主属性有要求,而且也对主属性有要求如果一个关系模式只有两个属性构成,则该关系模式一定属于BCNF第七章1.数据库设计,数据库设计分需求分析。概念结构设计。逻辑结构设计。物理结构设计。数据库实施。数据库运行和维护。6 个阶段。2.数据项是不可再分的数据单位数据结构反映了数据之间的组合关系。数据流是数据结构在系统内传输的路径。数据存储是数据结构停留或保存的地方,也就是流的来源和去向之一。具体处理逻辑一般用判定表或判定树来描述。
11、数据字典是关于数据库中数据的描述,是元数据,而不是数据本身。数据字典在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善。概念结构是各种数据模型的共同基础, 它比数据模型更独立于机器、 更抽象, 从而更加稳定。自顶向下的进行需求分析,自低向上的设计概念结构。定义数据库模式主要是从系统的时间效率、空间效率、易维护等角度出发。物理设计的第一任务就是要确定选择那些存取方法,即建立哪些存取路径。3. ER 图实体型:用矩形表示,矩形框内写明实体名属性:用椭圆形表示,并用无向边将其与相应的实体型连接起来联系: 用菱形表示, 菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联
12、系的类型(1:1 、1:n 或 m:n )联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来在关系总数尽量少的情况下,该E-R图转换后关系模式包括:学生( 学号 ,姓名,性别,专业,出生日期,学院编号 )课程( 课程编号 ,课程名称,课程类别,学分)学院( 学院编号 ,学院名称,办公室电话,院长教职工编号)教职工( 教职工编号 ,姓名,参加工作时间,职称,学院编号 )选课( 学号,课程号,成绩)第八章1.游标。使用:声明游标、打开游标、从一个游标中提取信息、关闭释放游标。声明游标: DeclareXXXcursor打开游标:关闭游标:
13、Forselect*openXXXcloseXXX释放游标: deallocateXXX声明一个名为curAllCourse的游标,完成统计有多少学生选修了全部课程,输出学生学号和姓名 。declarecurAllCoursecursor/ 声明游标forSELECT SNO, snamefromstudentwheresnoin(selectsnofromscgroupbysnohavingCOUNT(*)=(selectCOUNT(*)fromcourse)forreadonlyopencurAllCourse/ 打开游标declaresno char ( 10 ), sname char
14、 ( 10 )/声明变量setsno=0fetchnextfromcurAllCourseintosno, sname/ 从游标中取数据whileFETCH_STATUS= 0beginifsname isnullsetsno = sno + 1selectsno 学号 , sname 姓名fetchnextfromcurAllCourseintosno, snameendCLOSE curAllCourse/关闭游标DEALLOCATE curAllCourse/ 释放游标2.存储过程。类似与 C 语言中的函数。编写一个存储过程,在sc 表统计每个学生的平均分.createprocaverg
15、rade/ 创建存储过程asbeginselectsno , avg ( grade )平均分fromscgroupbysnoendexecavergrade/ 执行存储过程dropprocedureavergrade/ 删除存储过程对练习 1的存储过程进行改进,添加一个输入参数学号,使存储过程能根据输入的学号计算该学生的平均分createprocavergradesno char ( 10 )asbeginselectsno , avg ( grade)平均分fromscwheregroupsno by=snosnoendexecavergrade04dropprocedureavergra
16、de在练习 2的基础上添加一个输出参数平均分,计算指定学号的平均分,然后将平均分输出。createprocavergradesnochar( 10 ),savingintoutasbeginselectsaving=avg ( grade)fromwheregroupscsno=snobysnoenddeclareavgintsetavg= 0execavergrade02selectavg 平均分, avgoutdropprocedureavergrade3.函数。函数必须返回指定类型,可以返回表,有输入参数。创建成绩转换函数,实现百分制成绩与优、良、中、及格、不及格五个等级的换算.CREA
17、TE FUNCTION grade_trans(grade FLOAT)RETURNS CHAR(16)ASBEGINDECLARE class CHAR(16)SELECT class = CASEWHEN grade IS NULL THEN还没参加考试 WHEN grade = 60 and grade = 70 and grade = 80 and grade 90 THEN良好 ELSE 优秀 !ENDRETURN(class)ENDselect dbo.grade_trans(88)查询某个院系所有学生所选的每门课的平均成绩。createfunctionaver( p char(
18、10 )returnstableasreturn(selectcno课程号 , avg ( grade)平均成绩fromstudent, scwherestudent. sno = sc . snoandsdept= pgroupbycno)select*fromdbo . aver( cs)dropfunctionaver求某个院系选修了某门课的学生人数。createfunctionpeople( p0 char( 10 ), p1 char( 4)returnsintasbegindeclarerenshuintselectrenshu=(selectCOUNT(*)选课人数fromstu
19、dent, scwherestudent. sno=sc . snoandcno=p1 andsdept=p0)returnrenshuendselectdbo . people( cs, 2)dropfunctionpeople4.触发器。CreatetriggerXXXOntable for /after /instead of Insert,delete,updateAs触发器实际需要触发内容For:用法同 afterAfter:执行完 sql 语句之后进行检查, 检查不符合条件的话回滚roll back 。after触发器只能在表上指定。Instead of :指定触发器时代替SQL语
20、句执行的,其优先级高于触发语句的操作。例:为 student 表建立触发器T1,当插入或更新表中的数据时,保证所操作的记录的sage值大于 0。createtriggerT1onstudentafterinsert, updateasbegindeclaresageintselectsage=inserted. sagefrominsertedif( sage 0 )beginprint 年龄错误 rollbacktransactionendendupdatestudentsetsage= 38wheresno=01insertintostudent( sno , sname , ssex ,
21、 sage , sdept)values( 2007011, 张三 , 男 , 55 , ma)为 student表建立触发器T2 ,禁止删除编号为“0001 ”的学生。insertintostudent( sno , sname , ssex , sage , sdept)values( 0001, 傻大个 , 男 , 19 , is)createtriggerT2onstudentafterdeleteasbegindeclaresnochar( 10 )selectsno=deleted. snofromdeletedif( sno=0001)beginprint 禁止删除学号0001
22、信息 rollbacktransactionendenddeletestudentwheresno=0001droptriggerT2第十章1事务。是一系列的数据库操作,是数据库应用程序的基本逻辑单元。是用户定义的一个数据库操作序列, 这些操作要么全做, 要么全不做, 是一个不可分割的工作单元。2事务的四个特性。原子性 :事务是数据库的逻辑工作单位,事务总包括的诸操作要么全做,要么全不做。一致性 :数据库只包含成功事务提交的结果,就说数据库处于一致性状态。隔离性 :一个事务的执行不能被其他事务干扰。 即一个事务的内部操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。持
23、续性 :指一个事务一旦提交,他对数据库中数据的改变就应该是永久性的。事务是恢复和并发控制的基本单位。3数据库恢复。把数据库从错误状态恢复到某一已知的正确状态的功能。1.运行事务非正常中断。2.数据丢失。4故障种类。运行事务非正常中断-恢复 -事务撤销。系统故障、介质故障、计算机病毒。5恢复实现技术。数据恢复的基本原理:冗余。建立冗余数据最常用的技术是数据转储和登记日志文件。6 数据转储。静态转储:是在系统中无运行事务时进行的转储操作。动态转储: 是指转储期间允许对数据库进行存取或修改。即转储和用户事务可以并发执行。海量转储:每次转储全部数据库。增量转储:指每次只转储上一次转储后更新过的数据。7
24、.日志文件。是用来记录事务对数据库的更新操作的文件。在事务故障恢复和系统故障恢复必须用日志文件。在动态转储方式中必须建立日志文件,后备副本和日志文件结合起来才能有效地恢复数据库。在静态转储中也建立日志文件8登记日志文件(对数据库的操作记录)。登记的次序严格按并发事务执行的时间次序。必须先写日志文件,后写数据库。9事务故障的恢复。恢复子系统应利用日志文件撤销此事务已对数据库进行的修改,系统自动进行。10系统故障恢复。导致故障原因可能有两个:1. 未完成事务对数据库的更新可能已写入数据库。2. 已提交事务对数据库的更新可能还留在缓冲区没来得及写入数据库。恢复策略是撤销故障发生时未完成的事物,重做已
25、完成的事物。11介质故障的恢复。数据库副本。第十一章1 并发操作带来的数据不一致性。并发操作破坏了事务的隔离性。丢失修改:两个事务同时读入同一数据并修改,T2 提交的结构破坏了T1 提交的结果,导致 T1 的修改被丢失。不可重复读:事务1 读取数据后,事务2 执行更新操作,使T1 无法再现前一次读取结果。读脏数据:事务 1 修改某一数据并将其写回磁盘,事务 2 读取同一数据后, T1 由于某种原因被撤销,这时被 T1 修改过的数据恢复原值, T2 读到的数据就与数据库中的数据不一致,则 T2 读到的数据就为脏数据,即不正确的数据。2.并发控制的主要技术。封锁、时间戳、乐观控制法、多版本并发控制
26、等。3. 封锁。封锁就是事务 T 对某个数据对象操作之前, 先向系统发出请求, 对该数据对象进行加锁。加锁后事务 T 就对该数据对象有了一定的控制, 在事务 T 释放它的锁之前, 其他事务不能更新此数据对象。4.封锁类型。排他锁(写锁) :若事务 T 对数据对象何事务都不能再对 A 加任何类型的锁,直到A 加上 X 锁,则只允许T 读取和修改A,其他任T 释放 A 上的锁为止。保证了其他事务在T 释放 A 上的锁之前不能再读取和修改A。共享锁(读锁) :若事务T 对数据对象A 加上 S 锁,则事务T 可以读 A 但不能修改A,其他事务只能再对A 加 S 锁,而不能加X 锁,直到T 释放 A 上的 S 锁为止。保证了其他事务可以读A,但在 T 释放 S 锁之前不能对A 做任何修改。5.封锁协议。一级封锁协议:事务 T 在修改数据R 之前必须先对其加X 锁,直到事务结束才释放。可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年中医助理医师考前冲刺练习【考点精练】附答案详解
- 2024-2025学年度三支一扶考试彩蛋押题及参考答案详解
- 2024-2025学年度计算机四级每日一练试卷含完整答案详解(各地真题)
- 2024-2025学年反射疗法师大赛理论过关检测试卷完整答案详解
- 汽车驾驶培训中心科目二考试技巧指南手册
- 电商平台安全与风险控制系统升级改造指南
- 中秋礼品定制订单生产进度催办函(6篇)
- 拆屋施工方案(3篇)
- 排水施工方案6(3篇)
- 2017施工方案大全(3篇)
- 《运动控制技术及应用》课件 项目4-任务1 运动控制模块初识
- 2025年九江职业大学高职单招数学历年(2016-2024)频考点试题含答案解析
- 洗浴中心承包合同协议书
- 2023年民航机场消防战斗员岗位技能试题库(含答案)
- 试验室试剂管理制度
- 机场跑道照明系统方案
- 电子技术基础练习题库(含参考答案)
- 统编版四年级下册语文《绿》 课件完整版
- 量子计算与量子通信
- 2024年业主门窗合同协议书模板
- 药品法律法规知识竞赛考试题库(含答案)
评论
0/150
提交评论