2022年数据库原理复习资料 .pdf
《2022年数据库原理复习资料 .pdf》由会员分享,可在线阅读,更多相关《2022年数据库原理复习资料 .pdf(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、读书之法 ,在循序而渐进 ,熟读而精思数据库原理复习资料(仅供参考)第 1 章 数据库系统概述1.信息就是客观世界的现实反映。2.信息的特征:信息的普遍性和客观性、信息是有用的、信息的依附性、信息的共享性、信息的可传输性、信息的可识别性、信息的可压缩性、信息的可转换性3.数据的定义:数据是信息的最佳表现形式之一。4.数据的特征:数据的“型”和“值”、数据受数据类型和取值范围的约束、数据有定性表示和定量表示5.数据库( Database , DB)的定义:是一个按一定数据结构来组织、存储和管理的数据的集合。6.数据库的特点:数据的结构化、数据独立性、实现数据共享、数据的冗余度小、避免了数据的不一
2、致性、有利于数据的安全性、有利于保证数据的完整性、可以发现故障和恢复正常状态7.数据库管理系统(Database Management System , DBMS)是对数据库进行管理的软件系统,它负责数据库中的数据组织、数据操纵、数据维护、数据控制及保护和数据服务等。8.数据库管理系统的功能:数据定义、数据操纵、数据控制、数据组织与存取、数据库建立与维护、运行管理9.数据库系统( Database System ,DBS)是一个带有数据库的计算机应用系统,由硬件、软件和人员组成。10. 数据库系统的人员:开发人员、用户和运行维护人员。相应的角色有系统分析员、程序员、用户、数据库管理员(Data
3、base Administrator ,DBA):全面负责数据库系统的运行管理和控制。11. 数据库的三级模式:外模式、模式、内模式12. 模式:也称逻辑模式,它是由数据库设计者综合所有的数据需求,从全局的角度对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图即全局视图。一个数据库只有一个模式。13. 外模式:也称子模式或用户模式,是程序员和最终用户能看见和使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示。通常是模式的子集。14. 内模式:也称存储模式或物理模式,它是数据物理结构和存储方式的底层描述。一个数据库只有一个内模式。15. 数据库的二级映像技
4、术:外模式/ 模式映像、模式/内模式映像16. 数据管理经历了人工管理、文件系统和数据库系统三个发展阶段17. 瀑布模型把数据库应用系统生存期划分为规划、需求分析、设计、实现、测试、运行与维护 6 个阶段。特点:自顶向下、逐层分解。第 2 章 数据库需求分析2.1.3数据库需求分析的原则1. 制定数据库需求分析计划2. 选择适当的数据库需求分析方法3. 选择合适的数据库需求分析工具软件4. 调查现存系统5. 充分与用户沟通6. 理解用户的数据管理内容及目标7. 分析并确认数据库需求8. 需求变更要立即联系9. 提出数据库实施建议和解决方案10. 认真撰写数精选学习资料 - - - - - -
5、- - - 名师归纳总结 - - - - - - -第 1 页,共 14 页读书之法 ,在循序而渐进 ,熟读而精思据库需求规格说明书11. 使用软件复用技术12. 认真评审数据库需求规格说明书13. 修改、完善数据库需求规格说明书注:数据库需求分析的最终目的是获得共同批准的数据库需求规格说明书。2. 数据流程图(Data Flow Diagram,DFD)是数据库系统最重要的需求分析工具之一,它通过图形符号描述数据的输入(来源)、输出(去向)和移动变换过程。它的基本图形元素有4 个:外部实体、数据流、处理、数据存储。3. 数据库系统需求分析方法:结构化分析方法、原型化分析方法、面向对象分析方法
6、。4. 结构化分析(Structured Analysis,SA)方法是最著名需求分析方法之一,它通过与DFD结合,遵循自顶向下、逐层分解和结构化、模式化的原则从DFD的顶层开始,逐层、逐幅画出数据库系统的全部DFD 。5. 数据库需求调查的原则:自顶向下全面展开、分析现存系统数据管理存在的问题,研究改进的可能性、采用工程化的工作方法、全面铺开与重点调查相结合6. 数据字典( Data Dictionary,DD)(是各类数据描述的集合)是数据收集和分析后所获得的成果,通常包括数据项、数据结构、外部实体、数据流、数据存储和处理逻辑6 个部分。7. 信息分类的原则:科学性原则、系统性原则、可扩展
7、性原则、兼容性原则、综合实用性原则8. 信息分类的方法:线分类法与面分类法9. 信息编码的原则:唯一性原则、正确性原则、可扩展性原则、规范性原则、稳定性原则10. 信息编码的方法:顺序编码、区间编码、字母编码、组合编码11. 关键字是能够唯一标识一个实体的一个或一个以上的无冗余数据项(或数据结构)。也称主码或主键。12.E-R 图:实体 - 联系方法( Entity-Relationship Approach )第 3 章 数据库设计1.数据库系统的设计包括数据库的结构 特性设计(静态)和行为 特性设计(动态)。2.数据库设计的原则:1)不依赖性原则 2 )开放性原则3)可扩展性原则4)检索和
8、管理的高效性原则3.数据库设计的歩骤:1)逻辑结构设计2)物理结构设计3)验证设计4.数据库模型 :是现实世界数据特征的模拟和抽象。应满足三方面要求:能比较真实地模拟现实世界;容易为人所理解;便于在计算机上实现(真实、方便、易懂)数据模型三要素(重点):数据结构;数据操纵;数据的约束条件5.关系模型的完整性约束:实体完整性、参照完整性和用户定义的完整性6.关系的基本术语(名词解释):元组(Tuple) :关系表中每一个横行称作一个元组,组成元组的元素称为分量。数据库中的一个实体或实体间的一个联系均使用一个元组表示。属性 (Attribute):关系中的每一列即为一个属性,都有一个属性名。候选码
9、 (Candidate Key)和主码 (Primary Key):若关系中的某一属性组(或单个属性)的值能唯一地标识一个元组,则称该属性组(或属性)为候选码。当一个关系有多个候选码时,选定其中的一个候选码为主码。若关系中只有一个候选码,则这个唯一的候选码就是主精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 14 页读书之法 ,在循序而渐进 ,熟读而精思码。主属性 (Prime Attribute)和非主属性 (Non-Prime Attribute):候选码中的属性称为主属性,不包含在任何候选码中的属性称为非主属性。外码 :建立在子表
10、上去引用主表的某些字段。7. 关系的类型:关系分为基本表、视图表和查询表。8. 关系的基本性质(重点): 1 )列是同质的 2 )不同列可来自同一个域 3 )列的位置具有顺序无关性,列的次序可以任意交换 4 )任意两个元组不能完全相同 5 )元组的位置具有顺序无关性,元组的次序可以任意交换 6 )分量必须取原子值,即每个分量都必须是不可分的数据项9. 完整性约束 : 1 )实体完整性(主键) 2 )参照完整性(外键) 3 )用户定义的完整性(除主键和外键之外的)10. 完整性设计中应注意的问题: 1 )修改关系中主码的问题 2 )外码能否接受空值问题 3 )在被参照关系中删除元组的问题(3 种
11、情况) (重点)级联删除 (CASCADES) 将参照关系中外码值,与被参照关系中将要删除元组的主码值相同的所有元组一起删除。如果参照关系同时又是另一个关系的被参照关系,则这种删除操作会进行级联下去。受限删除 (RESTRICTED) 仅当参照关系中没有任何元组的外码值与被参照关系要删除元组的主码值相同时,系统才执行删除操作,否则拒绝此删除操作;置空值删除 (NULLIFIES)删除被参照关系的元组,并将参照关系中相应元组的外码值置空值。 4 )在参照关系中插入元组时的问题。11. 触发器: 是一类特殊的存储过程。特点 :是定义在触发器表上的,不能由用户调用执行,而是在对触发器进行操作时自动触
12、发执行的,但存储过程可以通过存储过程名字而被直接调用。 缺点 :触发器的性能比较低。12. 索引 :是一个单独的、物理的数据库结构,它是某个关系中,一列或若干列值的集合和相应的指向关系中物理标识这些值的数据页的逻辑指针清单。(存数据, 用空间来换取时间)按存储结构的不同,分为聚簇索引(主键默认)和非聚簇索引。13. 索引的作用 : 1 )加快数据查询的速度2)保证数据的唯一性3)加快连接速度。14. 事务 :是恢复和并发控制的基本单位。是用户定义的一组数据库操作序列的集合。15. 事务 4 个特性(解答题): 1 )原子性( Atomicity)一个事务是不可分割的数据库的逻辑工作单位 2 )
13、一致性( Consistency ) 事务的执行结果必须是使数据库从一个一致性状态到另一个一致性状态 3 )隔离性( Isolation)一个事务的执行不能被其他事务干扰 4 )持续性( Durability)一个事务一旦提交,它对数据库中的数据的改变就应该是永久性的精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 14 页读书之法 ,在循序而渐进 ,熟读而精思16. 并发控制(以事务为单位)条件:(1)一个对象;(2)多个事务;(3)同一时刻17. 并发操作 :数据库中的数据是共享的,即多个用户可以同时使用数据库中的数据18. 并发操作
14、带来的4 个问题 : 1 )丢失或覆盖更新2)不可重复读3)脏读数据4)幻像读19. 基本的封锁类型: 1 )排他锁( X锁) 2)共享锁( S锁)20. 死锁 :如当两个事务分别锁定了两个单独的对象,这时每一个事务都要求在另外一个事务锁定的对象上获得一个锁,因此每一个事务都必须等待另外一个事务释放占有的锁,这时,就发生了死锁。21. 预防死锁发生常用的方法有: 1 )一次封锁法(要求每个事务必须一次将所有要使用的数据全部加锁,否则不能继续执行) 2 )顺序封锁法(预先对数据对象规定一个封锁顺序,所有事务都按此顺序执行)22. 死锁的诊断与解除: 1 )超时法 : 指如果一个事务的等待时间超过
15、了规定的时限,就认为发生了死锁 2 )等待图法:事务等待图动态反映所有事务的等待情况。23. 将 E-R 图转换为关系模型实际上就是要将实体、实体的属性和实体之间的联系转化为关系模式。实体集向关系模式转换的原则:一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的主码就是关系的主码。24. 联系集向关系模式的三种转换: 1 ): ( 可转为一个独立的关系模式,也可与任意一端 对应的关系模式合并) 2):( 可转为一个独立的关系模式,也可与任意n 端对应的关系模式合并) 3 ):( 可转为单独存在的关系模式,与该联系相连的各实体的主码以及联系本身的属性均转为该关系模式的属性。而关系模式
16、的主码为各实体主码的组合) 第 4 章 数据库标准语言SQL 4.2.1数据库1. 定义数据库Create database 学生选课库On primary (name=学生选课库 , Filename=学生选课 .mdf , Size=4mb, Maxsize=6mb, Filegrowth=20%) 2. 选择数据库use 3. 删除数据库Drop database 4.2.2基本表1. 定义基本表精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 14 页读书之法 ,在循序而渐进 ,熟读而精思Create table student
17、( sno char(5) not null or primary key, Sname varchar(20) unique , Sex char(1), Sdept varchar(15), Smon char(5), Sbirthday smalldatetime) 2 修改基本表a.add 方式:向student表增加“入学时间”列,其数据类型为日期型。Alter table student add scome datetime B.drop 方式:删除sc 表中的 score_chk 约束。Alter table sc drop score_chk C.alter方式:把studen
18、t表中的 sname列加宽到28 位字符宽度。Alter table student alter column sname varchar(28) 3. 删除基本表Drop table student 4.2.3索引1. 定义索引为 student,course,sc三个表建立索引。其中student表按学号升序建唯一索引,course表按课程号升序建唯一索引,sc 表按学号升序和课程号降序建唯一索引。Create unique index s_sno on student(sno) Create unique index c_cno on course(cno) Create unique
19、index scno on sc(sno asc,cno desc) 2. 删除索引drop index 数据表名 . 索引名4.3 数据查询4.3.1概述: 数据查询是数据库中最常见的操作。SQL语言提供SELECT 语句, 通过查询操作可得到所需的信息,其语法格式为:Select all|distinct , From , where group by having order by 4.3.2简单查询1. 无条件查询a. 查询学生的全部信息Select * from student 等 价 于select sno,sname,sex,sdept,smon,sbirthday from s
20、tudent b. 查询全体学生的姓名、学号和出生日期。Select sname 姓名 ,sno 学号 ,sbirthday as 出生日期 from student 闯. 查询全体学生的姓名年龄。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 14 页读书之法 ,在循序而渐进 ,熟读而精思Select sname,year(getdate()-year(sbirthday) from student 2. 条件查询a. 比较大小的条件查询:查询成绩高于85 分的学生的学号、课程号和成绩。Select sno,cno,score fro
21、m sc where score85 b. 多重条件查询:查询选修c1 或 c2 且分数大于等于85 分学生的学号、课程号和成绩。Select sno,cno,score from sc where(cno=c1 or cno=c2) and score=85 C.确定范围:查询成绩在90-100 之间的学生的学号以及课程号。Select sno,cno from sc where score between 90 and 100 d. 查询选修c1 或 c2 的学生的学号、课程号和成绩。Select sno,cno,score from sc where cno in( c01, c02)
22、等价于Select sno,con,score from sc where cno=c01 or cno=c02e. 部分匹配查询:查询所有姓刘学生的姓名、学号和性别。Select sname,sno,sex from student where sname like 刘 % 查询以“ DB_ ”开头的课程的课程号,课程名和学分。Select cno,cname,credits from course where cname like DB_% escape 其中 escape 短语表示“”为换码字符,这样匹配串中紧跟在“”后面的字符“_”不再具有通配符的含义,转义为普通的“”字符。F.涉及空
23、值的查询:空值查询使用is null关键字。查询没有成绩的学生的学号和相应的课程号。Select sno,cno from sc where score is null 查询选修c2、c3、c4 或 c5 课程的学号、课程号和成绩,查询结果按学号升序排列,学号相同再按成绩降序排列。Select sno,cno,score from sc where cno in(c02, c03 , c04, c05) order by sno,score desc 4.3.4使用 SQL函数查询分组函数: avg、sum 、max、min、 count a. 求学号为s1 学生的总分和平均分。Select
24、sum(score) ad totalscore, avg(score) as avescore from sc where (sno= s01) b. 求选修 c1 号课程的最高分、最低分及之间相差的分数。Select max(score) as maxscore,min(score) ad minscore,max(score)-min(score) as diff from sc where(cno=c01) c. 求参加选修课程的学生总数。Select count(distinct sno) from sc 4.3.5分组查询1.group by子句a. 查询每位学生的学号以及该学生选
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年数据库原理复习资料 2022 数据库 原理 复习资料
限制150内