大二一年数据库总复习_第1页
大二一年数据库总复习_第2页
大二一年数据库总复习_第3页
大二一年数据库总复习_第4页
大二一年数据库总复习_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库总复习四个基本概念的掌握:数据——描述事物的符号记录数据库——长期存储在计算机内的有组织,可共享的数据集合。例如:SQLServer2000中默认的数据库master。

DBMS——位于用户与操作系统之间的一层数据管理软件。例如:SQLServer2000,Access,Orecal等。数据库系统——数据库、DBMS、应用程序等有关软件、硬件及各类人员(数据库管理员和用户)。例如:学生个人信息管理系统。数据库系统的核心是数据库管理系统。第1章数据库概述第1章数据库概述数据管理的三个阶段——人工管理、文件系统、数据库系统,了解每个阶段的特点数据库系统的特点——数据整体结构化;数据冗余度低,共享性高,易扩充;数据的物理独立性与逻辑独立性强(物理、逻辑独立性的概念,体现在那些地方);由DBMS统一管理控制的四个功能

数据库管理系统的功能:

1.数据定义功能(DDL)

2.数据操纵功能(DML)

3.数据库的运行管理(并发性、安全性、完整性)

4.数据库的建立与维护功能

5.数据的组织、存储和管理

6.数据通信功能第1章数据库概述模式,外模式,内模式定义。数据库系统三级模式结构及特点?如何实现数据独立性的(两级映像功能)?数据模型的三个要素——数据结构、数据操作、数据的完整性约束?常用的数据模型的分类及特点。第1章数据库概述实体联系方法(即E-R图方法)怎样来描述现实世界的?实体集之间和实体内部的联系有哪几种形式?P12-13信息世界的概念——实体,属性,码,域,实体集,实体型,联系书上习题回顾——p.191.6.2和1.6.3(1、2题)第2章关系数据库1、基本术语的解释:域、笛卡儿积、关系、属性、候选码,主码、外码、主属性等P21-232、关系模式的优点及其特点。P243、关系的三类完整性约束p27关系的完整性:

实体完整性——规定关系中的所有主属性不能为空,而不仅是整体不能为空NULL的含义(不知道或者无意义的值)。

参照完整性——外码、参照关系、被参照关系外码取值规则:要么为空,要么等于对应参照关系的某个主码值。用户定义完整性——反映某一具体应用所涉及的数据必须满足的语义要求。4、5种基本关系操作(并、差、笛卡儿积、选择、投影)p305、关系代数的各种运算理解应用。6、关系代数的结果表示。广义笛卡儿积ABCa2ca4db4cABCa4da6db4cRARBRCSASBSCa2ca4da2ca6da2cb4ca4da4da4da6da4db4cb4ca4db4ca6db4cb4cRSR×S选取运算S#SNAGESEXDEPS1A20MCSS2B21FCSS3C19MMAS4D19FCIS5E20FMAS6F22MCSS#SNAGESEXDEPS1A20MCSS2B21FCSS6F22MCSS

DEP=‘CS’(S)

5=‘CS’(S)求计算机系(CS)的学生基本情况第5列投影运算S#SNAGESEXDEPS1A20MCSS2B21FCSS3C19MMAS4D19FCIS5E20FMAS6F22MCSSNDEPACSBCSCMADCIEMAFCSDEPCSMACIS对学生姓名和所在系属性取投影

SN,DEP(S)或

2,5(S)查询学生关系中都有哪些系

DEP(S)或

5(S)连接运算ABCa12ca24da34cDEd4e10ABCDEa12cd4a12ce10a24de10a34ce10RSRSB<EABCDEa12cd4a12ce10a24dd4a24de10a34cd4a34ce10R×S

自然连接运算ABCa1b1c2a2b2c1a3b1c3a4b2c5a5b3c1BCDEb1c2d1e1b3c1d2e2b1c3d3e3b1c2d4e4b3c1d5e5ABCDEa1b1c2d1e1a1b1c2d4e4a3b1c3d3e3a5b3c1d2e2a5b3c1d5e5RSRSABCB’C’DEa1b1c2b1c2d1e1a1b1c2b1c2d4e4a3b1c3b1c3d3e3a5b3c1b3c1d2e2a5b3c1b3c1d5e5RSR.BC=S.BC

查2号课程的学生姓名和成绩

查选修“数学”的学生学号,姓名及该课程的成绩

查选修1号或2号课程的学生学号

查至少选修1号和2号课程的学生学号

查2号课程的学生姓名和成绩

Sname,Grade(

Cno=‘2’(SSC))

查选修“数学”的学生学号,姓名及该课程的成绩

Sno,Sname,Grade(

Cname=‘数学’(SSCC))查选修1号或2号课程的学生学号

Sno(

Cno=‘1’VCno=‘2’(SC))思考:用除法数据库的基本特点是

。数据可以共享;数据独立性;数据冗余大,易移植;统一管理和控制数据可以共享;数据独立性;数据冗余小,易扩充;统一管理和控制数据可以共享;数据互换性;数据冗余小,易扩充;统一管理和控制数据非结构化;数据独立性;数据冗余小,易扩充;统一管理和控制ABCD提交单选题1.5分数据库的三级模式之间存在的映像关系正确的是外模式/内模式外模式/模式外模式/外模式模式/模式ABCD提交单选题1.5分下列实体类型的联系中,属于一对多联系的是学校与校长的联系飞机的座位与乘客之间的联系学生与课程之间的联系车间与工人之间的联系ABCD提交单选题1.5分关系数据库中能唯一识别元组的那个属性称为唯一性的属性不能改动的保留字段关系元组的唯一性关键字段ABCD提交单选题1.5分取出关系中的某些列,并消去重复元组的关系代数运算称为取列运算投影运算连接运算选择运算ABCD提交单选题1.5分第三章SQL1、SQL是怎样的语言?SQL有何特点?P41-422、基本表和视图的区别3、简单查询:选择条件、排序输出、聚集运算以及分组处理。4、连接查询:多表连接5

、嵌套查询:产生单值的子查询;涉及到关系的选择条件;涉及到元组的选择条件;相关子查询。第4章SQL6、SQL的数据定义功能:基本表的定义与、索引的定义与删除、建立和撤消索引。7、SQL的数据更新功能:数据的插入、修改、删除。8、视图:定义、查询、更新、撤消。9、视图的作用(优点)基本表的定义、删除与修改定义基本表CREATETABLE<表名>

(<列名><数据类型>[<列级完整性约束条件>][,<列名><数据类型>[<列级完整性约束条件>]]…[,<表级完整性约束条件>]);如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上,否则既可以定义在列级也可以定义在表级。[例]建立一个“学生选课”表SC CREATETABLESC (SnoCHAR(9),

CnoCHAR(4),

GradeSMALLINT,

PRIMARYKEY(Sno,Cno),

/*主码由两个属性构成,必须作为表级完整性进行定义*/ FOREIGNKEY(Sno)REFERENCESStudent(Sno),

/*表级完整性约束条件,Sno是外码,被参照表是Student*/ FOREIGNKEY(Cno)REFERENCESCourse(Cno)/*表级完整性约束条件,Cno是外码,被参照表是Course*/ );删除基本表

[例]删除Student表

DROPTABLEStudentCASCADE;基本表定义被删除,数据被删除表上建立的索引、视图、触发器等一般也将被删除建立索引

语句格式CREATE[UNIQUE][CLUSTERED]INDEX<索引名>ON<表名>(<列名>[<次序>][,<列名>[<次序>]]…);

使用列别名改变查询结果的列标题:

SELECTSnameNAME,'YearofBirth:’

BIRTH,

2008-SageBIRTHDAY,LOWER(Sdept)DEPARTMENT FROM

Student;输出结果:

NAMEBIRTHBIRTHDAYDEPARTMENT------------------------------------------------------

李勇YearofBirth:1984cs

刘晨YearofBirth:1985is

王敏YearofBirth:1986ma

张立YearofBirth:1985is数据查询:Select子句消除取值重复的行指定DISTINCT关键词,去掉表中重复的行

SELECTDISTINCTSnoFROMSC;

字符匹配[例]查询所有姓刘学生的姓名、学号和性别。

SELECTSname,Sno,SsexFROMStudentWHERESnameLIKE‘刘%’;[例]查询姓"欧阳"且全名为三个汉字的学生的姓名。

SELECTSnameFROMStudentWHERESnameLIKE'欧阳_';

确定集合谓词:IN<值表>,NOTIN<值表>

[例]查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别。

SELECTSname,Ssex FROMStudent WHERESdeptIN('IS','MA','CS');[例]查询既不是信息系、数学系,也不是计算机科学系的学生的姓名和性别。SELECTSname,SsexFROMStudent WHERESdeptNOTIN('IS','MA','CS');涉及空值的查询谓词:

ISNULL或ISNOTNULL“IS”不能用“=”代替

[例]某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。查询缺少成绩的学生的学号和相应的课程号。

SELECTSno,CnoFROMSCWHEREGradeISNULLORDERBY子句[例]查询全体学生情况,查询结果按所在系的系号升序排列,同一系中的学生按年龄降序排列。

SELECT*FROMStudentORDERBYSdept,SageDESC;聚集函数

计数COUNT([DISTINCT|ALL]*)COUNT([DISTINCT|ALL]<列名>)计算总和SUM([DISTINCT|ALL]<列名>) 计算平均值AVG([DISTINCT|ALL]<列名>)最大最小值

MAX([DISTINCT|ALL]<列名>)

MIN([DISTINCT|ALL]<列名>)GROUPBY子句

细化聚集函数的作用对象未对查询结果分组,聚集函数将作用于整个查询结果对查询结果分组后,聚集函数将分别作用于每个组作用对象是查询的中间结果表按指定的一列或多列值分组,值相等的为一组SC(S#,C#,SCORE)列出每个学生的平均成绩

SELECTs#,AVG(score)FROMSCGROUPBYs#S#C#scores1c184s1c290s1c396s2c180s2c290s3c296s3c388{{{908592Having可以针对聚集函数的结果值进行筛选,它是作用于分组计算的结果集跟在GroupBy子句的后面例:查询选修了3门以上课程的学生学号。

selectsnofromscgroupbysnohavingcount(*)>3复合条件连接复合条件连接:WHERE子句中含多个连接条件[例]查询选修2号课程且成绩在90分以上的所有学生

SELECTStudent.Sno,Sname FROMStudent,SC WHEREStudent.Sno=SC.SnoAND/*连接谓词*/SC.Cno=‘2’ANDSC.Grade>90;

/*其他限定条件*/查询与‘刘洋’同一专业的学生信息。select*fromstudentwheresdept=(selectsdeptfromstudentwheresname=’刘洋’)带有ANY(SOME)或ALL谓词的子查询[例]查询其他系中比计算机科学某一学生年龄小的学生姓名和年龄

SELECTSname,SageFROMStudentWHERESage<ANY(SELECTSageFROMStudentWHERESdept='CS')

ANDSdept<>‘CS';/*父查询块中的条件*/插入元组语句格式

INSERT INTO<表名>[(<属性列1>[,<属性列2>…)] VALUES(<常量1>[,<常量2>]…)修改数据语句格式

UPDATE<表名>SET<列名>=<表达式>[,<列名>=<表达式>]…[WHERE<条件>];删除数据语句格式

DELETEFROM<表名>[WHERE<条件>];建立视图语句格式

CREATEVIEW

<视图名>[(<列名>[,<列名>]…)]

AS

<子查询>[WITHCHECKOPTION];SQL语言是

语言层次数据库网络数据库关系数据库非数据库ABCD提交单选题1.5分SQL中,与“NOTIN”等价的操作符是=SOME<>SOME=ALL<>ALLABCD提交单选题1.5分以下有关索引的叙述中正确的是索引越多,更新速度越快索引需要用户维护并置索引中列的个数不受限制索引可以用来提供多种存取路径ABCD提交单选题1.5分视图是基本表外视图概念视图虚拟表ABCD提交单选题1.5分1、一个关系模式可能存在的问题有哪些?2、函数依赖:包括:函数依赖、平凡函数依赖与非平凡函数依赖、完全函数依赖、部分函数依赖、传递函数依赖的定义理解和应用(即能区分不同的函数依赖)p743、范式:第2章关系数据理论第2章关系数据理论5、1NF、2NF、3NF、BCNF的定义和判别;p77-796、关系模式候选码的求解(看课件);8、根据文字描述,判断关系的函数依赖,由函数依赖再来判断是否存在部分,传递依赖,会分析判断不好的依赖带来的操作麻烦和异常。规范化小结关系模式规范化的基本步骤

1NF ↓消除非主属性对码的部分函数依赖消除决定属性2NF集非码的非平消除非主属性对码的传递函数依赖凡函数依赖3NF ↓消除主属性对码的部分和传递函数依赖

BCNF

↓在关系DB中,任何二元关系模式的最高范式必定是1NF2NF3NFBCNFABCD提交单选题1.5分事务故障的恢复事务故障:事务在运行至正常终止点前被中止恢复方法由恢复子系统应利用日志文件撤消(UNDO)此事务已对数据库进行的修改事务故障的恢复由系统自动完成,不需要用户干预系统故障的恢复系统故障造成数据库不一致状态的原因一些未完成事务对数据库的更新已写入数据库一些已提交事务对数据库的更新还留在缓冲区没来得及写入数据库恢复方法1.Undo故障发生时未完成的事务2.Redo已完成的事务系统故障的恢复由系统在重新启动时自动完成,不需要用户干预介质故障的恢复1.重装数据库使数据库恢复到一致性状态2.重做已完成的事务恢复步骤1.装入最新的后备数据库副本,使数据库恢复到最近一次转储时的一致性状态。对于静态转储的数据库副本,装入后数据库即处于一致性状态对于动态转储的数据库副本,还须同时装入转储时刻的日志文件副本,利用与恢复系统故障相同的方法(即REDO+UNDO),才能将数据库恢复到一致性状态。介质故障的恢复(续)2.装入有关的日志文件副本,重做已完成的事务。首先扫描日志文件,找出故障发生时已提交的事务的标识,将其记入重做队列。然后正向扫描日志文件,对重做队列中的所有事务进行重做处理。即将日志记录中“更新后的值”写入数据库。介质故障的恢复(续)介质故障的恢复需要DBA介入DBA的工作重装最近转储的数据库副本和有关的各日志文件副本执行系统提供的恢复命令具体的恢复操作仍由DBMS完成第11章数据库保护—安全性1、与数据库有关的安全性策略有哪几种?2、在关系数据库系统中存取控制的数据对象包括哪些?操作类型包括哪些?3、自主存取控制和强制存取控制方法4、grantrevokewithgrantoption

例:把查询Student表和修改学生学号的权限授给用户stu4,并允许他再将此权限授予其他用户;

GRANTSELECT,UPDATE(Sno) ONStudent TOstu4 WITHGRANTOPTION例:把用户stu4对SC表的查询权限收回;

REVOKESELECT,UPDATE(Sno) ONStudent FROMstu4CASCADE --权限收回的时候必须级联收回数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的可靠性一致性完整性安全性ABCD提交单选题1.5分把对关系SC的属性GRADE的修改权授予用户ZHAO的SQL语句是GRANTGRADEONSCTOZHAOGRANTUPDATEONSCTOZHAOGRANTUPDATE(GRADE)ONSCTOZHAOGRANTUPDATEONSC(GRADE)TOZHAOABCD提交单选题1.5分1、事务的概念,事务具有哪些特性?P1142、并发操作带来的数据不一致性包括哪几类?p1163、加锁协议排它锁、共享锁、锁的相容矩阵、一级、二级、三级封锁协议4、死锁、活锁的判断5、死锁的检测、处理和预防p118-119第12章数据库保护—并发控制T1T2①读A=16

③A←A-1

写回A=15

读A=16

A←A-1写回A=15(a)丢失修改

读B=100B←B*2写回B=200

读A=50

读B=100

求和=150②

③读A=50

读B=200

求和=250(验算不对)T2T1(b)不可重复读

读C=200

①读C=100C←C*2

写回C②

③ROLLBACKC恢复为100T2T1(c)读“脏”数据第7章数据库设计1、数据库设计可以分为哪几个阶段?各阶段的主要工作包括哪些?需求分析:调查了解用户的需求;用数据流图和数据字典来分析表达用户需求(结构化分析方法),以数据流图和数据字典作为这个阶段的成果;概念结构设计:(用结构化的分析方法)抽象数据并设计局部视图,建立分E-R图;集成局部视图,合成总E-R图,消除分E-R图中三类冲突;逻辑结构设计:将概念结构模型转化为一般的数据模型;将转化来的数据模型向特定的DBMS支持的数据模型转化;对数据模型进行优化(规范化);设计用户模式;数据库物理设计:确定数据库的物理结构,包括:确定存储结构、索引聚簇存取方法的选择、设计数据库的存储路径、确定数据库的存放位置、确定系统的配置;评价物理结构,从多种方案中选择一种最优的方案;数据库实施阶段:定义数据库结构;数据装载;编制和调试应用程序;数据库试运行,进行功能测试、性能测试;第12章数据库设计SQLSERVER编程程序设计基础知识流程控制语句内置函数变量1.全局变量全局变量:是SQLServer2000系统定义并自动赋值的变量,其作用范围是所有程序,主要用来记录SQLServer服务器的活动状态。2.局部变量局部变量:用户自定义的变量,其作用范围是声明它的批处理、存储过程或触发器等程序内部。声明局部变量的语法格式如下:格式:declare{@局部变量名[as]数据类型}[,…n]给局部变量赋值要用赋值语句,赋值语句有两种:set语句和select语句。格式:set{<@局部变量名>=<表达式>} select语句格式:select<{<@局部变量名>=<表达式>[,…n]}[from<表名>[,…n]where<条件表达式>]选择结构if…else语句和if[not]exists…else语句是T-SQL语句提供的两种二分支结构。使用分支结构可以编写进行判断和选择操作的SQL语句(块)代码。case表达式是计算多个条件的表达式,并返回其中一个符合条件的表达式结果。case表达式不是语句,不能独立运行,必须嵌入其它语句中才能起作用。case表达式按照使用形式的不同有两种:即简单case函数和搜索case表达式。循环结构可以使用while…continue…break语句重复执行SQL语句或语句块。语法格式如下:while<条件>{sql语句1|语句块1}[break]{sql语句2|语句块2}[continue]函数函数是由一条或多条Transact-SQL语句组成的集合,用于完成某个特定的功能。SQLServer提供了两种类型的函数:内置函数和用户自定义函数,用户可以直接调用这些函数。用户自定义函数有3种类型:(1)返回单值的标量函数;createfunction<拥有者.函数名>([{@形式参数名[as]数据类型[=默认值]}[,...n]])returns返回值数据类型[as]begin函数语句体return返回值表达式end(2)类似于视图的可更新内嵌表值函数;createfunction<[拥有者.]函数名>([{@形式参数名[as]数据类型[=默认值]}[,...n]])returnstable[with<encryption|schemabinding>[[,]...n]][as]return(select语句)(3)使用代码创建结果集的多语句表值函数。createfunction<[拥有者.]函数名>([{@形式参数名[as]数据类型[=默认值]}[,...n]])returns<@表名>table(字段名数据类型[,…n])[with<encryption|schemabinding>[[,]...n]][as]begininsert[into]@表名select语句returnend存储过程的创建1.使用Transact-SQL语句createproc[edure]<存储过程名>[;分组编号][{@形式参数数据类型}[=默认值][output]assql语句[...n]9.2触发器触发器是由用户定义的一类特殊的存储过程,常常用于强制业务规则和数据完整性。导致触发器发生作用的事件主要包括Insert、Delete和Update三类操作。2.触发器类型

触发器生效的时间包括数据库操作之前和之后两种情况,根据触发时机,触发器分为两种:(1)insteadof触发器:在指定的操作(Insert、Delete和Update)之前触发,它的功能是不执行指定的操作,而是执行insteadof触发器本身。(2)after触发器:在指定的操作(Insert、Delete和Update)成功执行之后触发。只能在表上定义after触发器。3.inserted表和deleted表在使用触发器时,SQLServer会为每个触发器建立两个特殊的临时表:(1)inserted表:用于存储insert和update语句所影响的行的副本。当用户执行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论