西南交大数据库原理温习资料.docx

上传人:安*** 文档编号:18989864 上传时间:2022-06-03 格式:DOCX 页数:29 大小:26.42KB
返回 下载 相关 举报
西南交大数据库原理温习资料.docx_第1页
第1页 / 共29页
西南交大数据库原理温习资料.docx_第2页
第2页 / 共29页
点击查看更多>>
资源描述

《西南交大数据库原理温习资料.docx》由会员分享,可在线阅读,更多相关《西南交大数据库原理温习资料.docx(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、西南交大数据库原理温习资料数据库原理部分第一章数据库系统概述1.数据:是记录下来的能够鉴别的符号。描绘事物的符号记录称为数据。2.数据库:是长期储存在计算机内、有组织的、可分享的大量数据的集合。优点:1数据按一定的数据模型组织、描绘和储存数据构造化2具有较小冗余度3较高数据独立性。4易扩展性5可为各种用户分享。3.数据库系统:是指在计算机系统中引入数据库后的系统。组成:一般由数据库、数据库管理系统及其开发工具、应用系统、数据库管理员构成。4.DBMS:数据库管理系统是位于用户与操作系统之间的一层数据管理软件。其基本功能:1数据的定义功能2数据组织、存储和管理3数据操纵功能4数据库的事务管理和运

2、行管理5数据库的建立和维护功能6其他功能:包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据的重组织功能和性能监视、分析功能。5.数据模型:是一种模型,是对现实世界数据特征的抽象。组成要素:数据构造,数据操作,数据的完好性约束条件分为1概念模型2逻辑模型和物理模型常用逻辑数据模型有:层次模型,关系模型,网络模型6.概念模型:也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计。7.实体:客观存在并可互相区别的事物称为实体。码:唯一标识实体的属性集称为码主码:若一个关系中有多个候选码,则选定其中一个为主码。若关系中的某一属性组能唯一地标识一个元组,则称该属性组为候选

3、码8.实体型之间的联络分类:1一对一联络1:12一对多联络1:n3多对多联络m:n9.构建ER模型综合运用实体型矩形,属性椭圆,联络菱形10.关系模型:资料数据以“关系的形式表示,也就是以二维表的形式表示,其数据模型就是所谓的关系模型。在关系模型中,无论是从客观事物中抽象出的实体,还是实体之间的联络,都用单一的构造类型逐一关系来表示。11.关系数据库系统:就是以关系模型为基础的数据库系统。第二章关系数据库12.关系模型的组成:见1413.关系模型是关系数据库系统的基础模型。14.关系模型由关系数据构造、关系操作和完好性约束三部分组成。15.关系的类型:基本关系又称基本表或基表,查询表和视图表。

4、基本关系的性质:列是同质的,即每一列中的分量是同一类型的数据,来自同一个域。不同的列能够出自同一域,称其中的每一列为一个属性,不同的属性上一页下一页要给予不同的属性名。列的顺序无所谓,即列的次序能够任意交换。任意两个元组的候选码不能完全一样。行的顺序无所谓,即行的次序能够任意交换。分量必须取原子性,即每一列值都必须是不可分的数据项。16.关系的完好性规则是对关系的某种约束条件。17实体完好性、参照完好性是关系模型必须知足的完好性约束条件,被称为是关系的两个不变性,应该由关系系统自动支持。用户定义的完好性是应用领域需要遵循的约束条件,体现了详细领域中的语义约束。18.三个完好性约束的含义1实体完

5、好性:若属性(指一个或一组属性)A是基本关系R的主属性,则A不能取空值。2参照完好性:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码K相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:1或者取空值(F的每个属性值均为空值)2或者等于S中某个元组的主码值。3用户定义的完好性:用户定义的完好性就是针对某一详细关系数据库的约束条件。第三章关系数据库标准语言SQL19.SQL的概念:即构造化查询语言,是关系数据库的标准语言,SQL是一个通用的、功能极强的关系数据库语言。特点:综合统一高度非经过化面向集合点的操作方式以同一种语法构造提供多种使用方式语言简洁,易

6、学易懂20.索引的作用:加快查询速度21.数据定义语言综合运用1)定义基本表CREATETABLECREATETABLE(列级完好性约束条件,列级完好性约束条件,;建表时可定义完好性约束条件,当用户操作表中数据时系统自动检查该操作能否违犯这些完好性约束条件。假如完好性约束条件涉及多个属性列,则必须定义在表级上,否则既能够定义在列级也能够定义在表级。定义表的各个属性时需要指明其数据类型及长度。2)修改基本表ALTERTABLEALTERTABLEADD完好性约束DROPALTERCOLUMN;ADD子句用于增加新列和新的完好性约束条件,DROP子句用于删除指定的完好性约束条件,ALTERCOLU

7、MN子句用于修改原有的列定义,包括列名和数据类型。3)删除基本表DROPTABLE上一页下一页DROPTABLERESTRICT/CASCADE若选RESTRICT则表的删除是有限制条件,缺省为RESTRICT若选CASCADE则该表的删除没有限制条件。4)建立索引CREATEINDEX用户能够根据应用环境的需要,在基本表上建立一个或多个索引,以提供多种存取途径,加快查找速度。系统在存取数据时会自动选择适宜的索引作为存取途径,用户不必也不能选择索引。CREATEUNIQUECLUSTERINDEXON(,.);索引能够建在表的一列或多列上。可在每个后面指定索引值的排列次序。ASC表示升序,DE

8、SC表示降序,缺省值为ASC。UNIQUE表明此索引的每一个索引值只对应唯一的数据记录。CLUSTER表示建聚簇索引。所谓聚簇索引是指索引项的顺序与表中记录的物理顺序一致的索引组织。用户能够在最常查询的列上建立聚簇索引以提高查询效率。显然在一个基本表上最多只能建立一个聚簇索引。建立聚族索引后,更新索引列数据时,往往导致表中记录的物理顺序的变更,代价较大,因而对于经常更新的列不宜建立聚簇索引。5)删除索引DROPINDEX22.数据查询语言综合运用1)SELECTSELECTALL|DISTINCT,FROM,.WHEREGROUPBYHAVINGORDERBYASC|DESC;SELECT语句

9、的含义:根据WHERE子句的条件表达式,从FROM子句指定的基本表或视图中找出知足条件的元组,再按SELECT子句中的目的列表达式,选出元组中的属性值构成结果表。假如有GROUP子句,则将结果按的值进行分组,该属性列值相等的元组为一个组。通常会在每组中作用聚集函数。假如GROUP子句带HAVING短语,则只要知足指定条件的组才予输出。假如有ORDERBY子句,则结果表还要按的值的升序或降序排序。A单表查询1查询指定列例1查询全体学生的学号与姓名SELECTSno,SnameFROMStudent;2查询全部列例3查询全体学生的具体记录SELECT*FROMStudent;3消除取值重复的行指定

10、DISTINCT可掉重复行:SELECTDISTINCTSnoFROMSC;4查询知足条件的元组查询知足指定条件的元组能够通过WHERE子句实现。WHERE子句常用的查询条件如上一页下一页表谓词LIKE可用来进行字符串的匹配。其语法格式如下:NOTLIKEESCAPE其含义是查找指定的属性列值与相匹配的元组。能够是一个完好的字符串,可以以含有通配符%和_。%(百分号)代表任意长度长度能够为0的字符串。_(下横线)代表任意单个字符。例14查所有姓刘的学生的姓名、学号和性别SELECTSname,Sno,SsexFROMStudentWHERESnameLIKE刘%;假如用户要查询的匹配字符串本身

11、就含有%或_,这时就要使用ESCAPE短语对通配符进行转义了。(5)对查询结果排序ORDERBY(ASC、DESC)例23查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列SELECTSno,GradeFROMSCWHERECno=3ORDERBYGradeDESC;(6)使用集函数COUNT(DISTINCT|ALL*)统计元组个数COUNT(DISTINCT|ALL)统计一列中值的个数SUM(DISTINCT|ALL)计算一列值的总和AVG(DISTINCT|ALL)计算一列值的平均值MAX(DISTINCT|ALL)求一列值中的最大值MIN(DISTINCT|ALL)求一列

12、值中的最小值例28查询学习1号课程的学生最高分数SELECTMAX(Grade)FROMSCWHERECno=1;(7)对查询结果分组GROUPBY子句能够将查询结果表的各行按一列或多列,将值相等的作为一组。例29查询各个课程号与相应的选课人数SELECTCno,COUNT(Sno)FROMSC上一页下一页GROUPBYCno;该SELECT语句对SC表按Cno的取值进行分组,所有具有一样Cno值的元组为一组,然后对每一组作用集函数COUNT以求得该组的学生人数。假如分组后还要求按一定的条件对这些组进行挑选条,最终只输出知足指定的组,则能够使用HAVING短语指定挑选条件。例31查询选修了3门

13、以上课程的学生学号。SELECTSnoFROMSCGROUPBYSnoHAVINGCOUNT(*)3;这里先用GROPUBY子句按Sno进行分组,再用集函数COUNT对每一组计数。HAVING短语指定选择组的条件,只要知足条件的组才会被选出来。WHERE子句与HAVING短语的区别在于作用对象不同。WHERE子句作用于基本表或视图,从中选择知足条件的元组。HAVING短语作用于组,从中选择知足条件的组。2)连接查询若一个查询同时涉及两个以上的表,则称之为连接查询。连接查询主要包括等值连接、非等值连接查询、本身连接查询本身连接、外连接查询外连接和复合条件连接查询复合条件连接。(1)等值与非等值连

14、接查询用来连接两个表的条件称为连接条件,其一般格式为:.其中比拟运算符主要有:=、=、.BETWEEN.AND.当连接运算符为=时,称为等值连接。使用其它运算符称为非等值连接。连接谓词中的列名称为连接字段。连接条件中的各连接字段类型必须是可比的。自然连接:在等值连接中把目的列重复的属性列去掉。例32查询每个学生及其选修课程的情况SELECTStudent.*,SC.*FROMStudent,SCWHEREStudent.Sno=SC.Sno;本身查询P102外连接P102(2)嵌套查询在SQL语言中,一个SELECTFROMWHERE语句称为个查询块。将一个查询块嵌套在另一个查询块的WHERE

15、子句或HAVING短语条件中的查询称为嵌套查询。例如:带有IN谓词的子查询在嵌套查询中,子查询的结果往往是个集合,所以谓词则是嵌套查询中最经常使用的谓词。SELECTSnameFROMStudentWHERESnoIN(SELECTSnoFROMSCWHERECno2);本例中,下层查询块SELECTSnoFROMSCWHERECno2;是嵌套在上层查询块上一页下一页where条件中的。SQL语言允很多层嵌套查询,即一个子查询中还能够嵌套其他子查询。需要十分指出的是,子查询的SELECT语句中不能使用ORDERBY于句,ORDERBY子句只能对最终查询结果排序。嵌套查询一般的求解方法是由里向外

16、处理。即每个子查询在上一级查询处理之前求解,子查询的结果用于建立其父查询的查找条件。嵌套查询使我们能够用多个简单查询构成复杂的查询,进而加强SQL的查询能力。以层层嵌套的方式来构造程序正是SQL构造化的意义所在。不相关子查询:子查询的查询条件不依靠于父查询。相关子查询:子查询的条件依靠于父查询。集合查询:UNION,INTERSECT,EXCEPT例题P104-11023.数据更新综合运用1)插入语句INSERTSQL的数据插入语句Insert通常有两种形式。一种是插入一个元组,另一种是插入子查询结果。后者能够一次插入多个元组。插入单个元组的IN5ERT语句的格式为:INSERTINTO表名,

17、VALUES(,);其功能是将新元组插入指定表中。其中新记录列1的值为常量l,列2的值为常量2,,。Into子句中没有出现的属性列,新记录在这些列上将取空值。但必须注意的是,在表定义时讲明了NOTNULL的属性列不能取空值。假如INTO子句没有指明任何列名,则新插入的记录必须在每个属性列上均有值。插入子查询结果:子查询不仅能够嵌套在SELECT语句中,用以构造父查询的条件,可以以嵌套在INSERT语句中,用以生成要插入的批量数据。2)修改语句UPDATE修改操作语句的一般格式为:UPDATE,SET,WHERE;功能是修改指定表中知足WHERE子句条件的元组。其中SET子句给出表达式的值用于取

18、代相应的属性列值。假如省略WHERE子句,则表示要修改表中的所有元组。1、修改某一个元组的值例4将学生95001的年龄改为22岁。UPDATEStudentSETSage=22WHERESno=95001;2、修改多个元组的值例5将所有学生的年龄增加1岁UPDATEStudentSETSage=Sage+1;3、带子查询的修改语句子查询可以以嵌套在UPDATE语句中,用以构造修改的条件。上一页下一页3)删除数据DELETE删除语句的一般格式为DELETEFROMWHERE;DELETE语句的功能是从指定表中删除知足WHERE子句条件的所有元组,假如省略WHERE子句,表示删除表中全部元组,但表

19、的定义仍在字典。也就是讲,DELETE语句删除的是表中的数据,而不是关于表的定义。1、删除某一个元组的值例7删除学号为95019的学生记录DELETEFROMStudentWHERESno=95019;2、删除多个元组的值例8删除所有的学生选课记录。DELETEFROMSC;这条DELETE语句将SC成为空表,它删除了SC的所有元组.3、带子查询的删除语句子查询同样可以以嵌套在DELETE语句中,用以构造执行删除操作的条件。24.视图视图是关系数据库系统提供应用户以多种角度观察数据库中数据的重要机制。1)视图定义:视图是从一个或几个基本表(或视图)导出的表,它与基本表不同,是一个虚表。数据库中

20、只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。2)视图作用:视图能够简化用户的操作试图使用户能以多种角度看待同一数据视图对重构数据库提供了一定程度的逻辑独立性视图能够对机密数据提供安全保护适当的利用视图能够更明晰的表达查询视图一经定义,就能够和基本表一样被查询、被删除,我们可以以在一个视图之上再定义新的视图,但对视图的更新(增加、删除、修改)操作则有一定的限制。CREATEVIEW,,AS,WITHCHECKOPTION;上一页下一页25.数据控制1)SQL中数据控制功能2)受权语句GRANT第六章关系数据库设计理论26.数据依靠:一个关系内部属性与属性之间的一种约

21、束关系。27.函数依靠与属性之间的关系:设有一个关系R,存在两个属性A和B。则有下列的规则:(1若A和B之间是1:1的关系,则有AB和BA,即A和B互相依靠2若A和B之间是m:1的关系,则有函数依靠AB。3若A和B之间是m:m的关系,则有不存在函数依靠。28.关系的规范化:1.为何要进行关系形式规范化?原因:为了将具有不适宜性质的关系转换为更适宜的的形式。2数据库一般的设计原则是:A.数据的冗余度尽量低。B.不出现插入、删除等操作异常;C.能尽量如实反映现实世界的实际情况,而且又易懂。3范式:关系数据库中的关系应知足一定的要求。我们把知足不同要求的关系称为范式。又根据要求条件的宽严的不同逐级分

22、为第一范式、第二范式、第三范式等,并用1NF、2NF、3NF表示。41NF:在一个关系的记录中,每一个属性都是不可再分的数据项。2NF:关系知足1NF,同时,关系的每一个非主属性都完全函数依靠于主关键字。3NF:关系知足2NF,同时,关系的每一个非主属性都不传递依靠于主关键字。5关系的规范化:就是将一个低一级的范式,转化为一组高一级范式的经过。这种转化过程就是关系的规范化。29.关系的规范化方法综合运用:对不知足规范化要求的关系形式进行分解,用一组等价的关系子形式来代替原有的关系形式,消除数据依靠中不合理的部分。这一经过必须是在保证无损连接性、保持函数依靠的前提下进行,即确保不毁坏原有的数据和

23、数据间的联络。第七章数据库设计36:数据库设计的步骤各阶段的任务、结果(1)需求分析阶段需求采集和分析,结果得到数据字典描绘的数据需求和数据流图描绘的处理需求。(2)概念构造设计阶段通过对用户需求进行综合、归纳与抽象,构成一个独立于详细DBMS的概念模型,能够上一页下一页用E-R图表示。(3)逻辑构造设计阶段将概念构造转换为某个DBMS所支持的数据模型,例如关系模型,并对其进行优化。(4)物理设计阶段为逻辑数据模型选取一个最合适应用环境的物理构造,包括存储构造和存取方法。(5)数据库施行阶段运用DBMS提供的数据语言例如SQL及其宿主语言例如C,根据逻辑设计和物理设计的结果建立数据库,编制与调

24、试应用程序,组织数据入库,并进行试运行。(6)数据库运行和维护阶段数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行经过中必须不断地对其进行评价、调整与修改。37.从E-R图向关系模型的转换实际就是要将实体型、实体的属性和实体型间的联络转换为关系形式,一般遵循原则:一个实体型转换为一个关系形式。实体的属性就是关系的属性。实体的码就是关系的码。对于实体型间的联络有下面不同情况:1一个1:1联络可转换为一个独立的关系形式,可以与任一端对应的关系形式合并。2一个1:n联络能够转换为一个独立的关系形式,可以以与n端对应的关系形式合并。假如转换为一个独立的关系形式,则与该联络相连的各实体的码以

25、及联络本身的属性均转换为关系的属性,而关系的码为n端实体的码。3一个m:n联络转换为一个关系形式。与该联络相连的各实体的码以及联络本身的属性均转换为关系的属性。而关系的码为各实体码的组合。(4)3个或3个以上实体间的一个多元关系能够转换为一个关系形式。与该多元关系相连的各实体的码以及联络本身的属性均转换为关系的属性,各实体的码组成关系的码或关系码的一部分。5具有一样码的关系形式可合并。第十章数据库恢复技术30数据库的恢复:数据库管理系统必须具有把数据库从错误状态恢复到某一已知的正确状态(亦称为一致状态或完好状态)的功能,这就是数据库的恢复。311事务:用户定义的一个操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。2事务特性:原子性、一致性、隔离性和持续性。简称ACID特性事务的开场:BEGINTRANSACTION事务的结束:COMMIT或ROLLBACK3数据转储:定期的将整个数据库复制到磁带或另一个磁盘上保存起来的经过。4日志文件:是用来记录事务对数据库的更新操作的文件。33并发操作带来的数据不一致性包括三类:丢失修改、不可重复读和读“脏数据。上一页下一页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁