您好,欢迎访问三七文档
数据库应用总复习信息工程系张虹1考试题型及分值•单项选择题–每小题2分,共40分•填空题–每空2分,共30分•SQL应用题–共30分23第1章关系数据库基础•四个基本概念–数据(Data)、数据库(Database)–数据库管理系统(DBMS)、数据库系统(DBS)•数据模型三要素–数据结构、数据约束、数据操作例题•____数据库______是被长期存放在计算机内的、有组织的、统一管理的相关数据的集合。•___dbms_______是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。数据库在建立、使用和维护时由其统一管理、统一控制。•数据模型三要素指____数据结构____、数据约束条件和____数据操作_____。45数据模型•根据模型应用的不同目的,可以将模型分为两大类–概念层数据模型(概念模型)–组织层数据模型(组织模型)•常用概念模型:实体-关系模型(E-R模型)–实体、属性、联系(1:1、1:n、m:n)例题•实体—联系模型的三要素是_____实体_____、__实体的属性_____和实体之间的联系。•实体间联系类型有____一对一_____、一对多和____多对多_____。7数据模型•组织数据模型–关系数据模型•用关系(表格数据)表示实体和实体之间联系的模型称为关系数据模型•结构化查询语言–SQL(StructuredQueryLanguage)是集DDL、DML和DCL等于一体的关系数据语言。是关系数据库的标准语言。例题•SQL语言主要由___dml____、____ddl_____和数据控制语言(DCL)组成。•数据操作语句就是指___INSERT______、_____update____、____delete_____和SELECT语句。9关系数据模型•关系模型的数据完整性约束–实体完整性•不能出现无主键值的记录(即空值,用NULL表示)•不能出现主键值相同的记录–参照完整性•外键取值或者值为空•或者等于其所应用的关系中的某个元组的主键值–用户定义的完整性•类型与长度限制:方便计算机操作•取值范围限制:防止属性值与应用语义矛盾例题•完整性约束包括______实体________完整性、_______参照_______完整性和用户定义完整性。•主键列_____不能_____取空值。(能或不能)•外键一定要与相应的主键同名而且唯一?•不一定可取值或为空第3章数据库的创建和管理•SQLServer将数据库分为两大类–系统数据库•master•msdb•tempdb•model–用户数据库第3章数据库的创建和管理•SQLServer数据库的组成–数据文件:用于存放数据库中的数据信息–日志文件:用于存放对数据库的操作记录•每个数据库都包含–一个主数据文件–一个或多个日志文件–零个或多个辅助数据文件第3章数据库的创建和管理•数据文件:用于存放数据库数据–主数据文件•扩展名是.mdf•包含数据库的系统信息,并可存放用户数据•每个数据库都有且仅有一个主数据文件–辅助数据文件•扩展名是.ndf•一个数据库可以包含0~n个辅助数据文件•辅助数据文件可以分别建立不同的磁盘上第3章数据库的创建和管理•事务日志文件–扩展名为.ldf–用于存放恢复数据库的所有日志信息–每个数据库必须至少有一个日志文件•了解数据创建、修改和删除的命令即可例题•数据库物理文件有数据文件和日志文件。•数据库物理文件扩展名有哪些?•主数据.mdf辅助数据.ndf日志.ldf•创建数据库使用什么命令?•Createdatabase1516第4章SQL语言基础SQL功能命令动词数据查询SELECT数据定义CREATE创建、DROP删除、ALTER修改作用于数据库数据操纵INSERT、UPDATE、DELETE数据控制GRANT、REVOKE第4章SQL语言基础•SQL的数据类型–数值型–字符串型–日期时间型•约束:主键约束、外键约束、唯一约束、检查约束、默认值约束、非空约束例题•NCHAR(5)与CHAR(5)的区别。•CHAR(10)与VARCHAR(10)的区别。•约束的判断–性别去男或女使用___主键_______约束。–取值唯一使用_____外键_____约束。–主键与外键的列名是否要一样?取值情况呢?编程基础•标识符–常规标识符–分隔标识符:”ABC”或[ABC]•变量–全局变量:以@@开头,由系统声明赋值,用户只能查询–局部变量:以@开头,由用户声明赋值19例题•用户使用的变量属于_____局部_____变量。•@abc、@abc、abc、abc这些变量哪些是局部变量?20第5章架构与基本表•表的创建、修改和删除–DELETE语句只是删除表中的数据,表本身依然存在数据库中•例题–表的创建、删除使用什么语句?Createtable创建Droptable删除Alrerrable修改21第6章数据操作SELECT目标列名序列--需要哪些列[INTOnew_table]--保存成新表FROM数据源--来自于哪些表[WHERE检索条件]--根据什么条件[GROUPBY分组依据列][HAVING组提取条件][ORDERBY排序依据列]•DISTINCT的作用•TOP取前n条记录第6章数据操作•字符匹配–列名[NOT]LIKE‘匹配串’•匹配串中可包含四种通配符–_:匹配任意一个字符;–%:匹配0个或多个字符;–[]:匹配[]中的任意一个字符;–[^]:不匹配[]中的任意一个字符第6章数据操作•空值的查询•判断取值为空的语句格式–列名ISNULL•判断取值不为空的语句格式–列名ISNOTNULL使用计算函数汇总数据函数名功能说明COUNT(*)统计表中元组个数COUNT([DISTINCT]列名)统计本列列值个数SUM([DISTINCT]列名)计算列值总和AVG([DISTINCT]列名)计算列值平均值MAX([DISTINCT]列名)求列值最大值MIN([DISTINCT]列名)求列值最小值•SQL提供的聚合函数•注意:除COUNT(*)外,其他函数在计算过程中均忽略NULL值例题•Sname为空的表达式怎么写?•Sname不为空的表达式呢?•字符匹配IDlike‘_i%e’,满足的字符串能举例说明吗?那‘%i_e’呢?•条件“计算机系男生”怎么写?•聚合函数的使用–SUM(*)、COUNT(*)、MAX(*)哪个正确?–哪些聚合函数适用于数值型数据?数据更改•插入数据–Insertinto表[(列名列表)]values(常量值列表)•修改数据–Update表set表达式列表[from表连接][where条件]•删除数据–Delete[from]表[from表连接][where条件]•复习以课后习题为主27第7章高级查询•多表连接查询–内连接–外连接•子查询–不相关子查询(IN、比较运算符)–注意:子查询要使用小括号括起来•连接与子查询之间的转换•复习以课后习题为主第8章索引•索引的分类–聚集索引•将数据按照索引项的顺序进行物理排序–非聚集索引•不对数据进行物理排序–唯一索引例题•索引根据存储结构分为聚集索引和非聚集索引两类。•索引在执行插入、修改、删除时节省时间?不•索引加快数据的查询效率?不一定•索引节省磁盘空间?•在数据库中建立的索引越多越能提高操作效率?不是•聚集索引一定是唯一索引?不是第9章视图•视图–视图是一个虚表。–数据库中只存储视图的定义(即SELECT定义),而不存储视图所包含的数据。•视图的创建、修改和删除•通过视图进行数据的增、删、改、查•复习以课后习题为主例题•视图是保存在数据库中的SELECT查询?不是–视图是一个虚表。–数据库中只存储视图的定义,而不存储视图所包含的数据。•视图也可由视图派生?•视图中也存有数据?第10章存储过程和触发器•存储过程的创建与修改CREATEPROC[EDURE]存储过程名[@参数参数的数据类型][=默认值][OUTPUT][,...n]ASSQL语句块•执行存储过程[exec[ute]]存储过程名[实参1[OUTPUT][,…,参数n]]•复习以上机习题为主33例题•创建一个存储过程P_SC,用于按照学生学号查询该学生选修的课程名及分数.34createprocedureP_SC@snochar(8)asselectcname课程名称,grade分数fromstudentsinnerjoinscons.sno=sc.snoinnerjoincourseconc.cno=sc.cnowheres.sno=@snoGOexecP_SC'0811101‘execP_SC@sno='0811101'第11章函数和游标•函数–函数的使用•标量函数•内联表值函数•游标•复习以上机习题为主35标量函数•标量函数是返回单个数据值的函数•语法CREATEFUNCTION[函数所属架构名.]函数名([@参数名参数类型[=默认值][,…n]])RETURNS函数返回类型[AS]BEGIN函数体函数返回值END[;]36例题•创建统计指定学生学号的学生选课门数的标量函数。37CREATEFUNCTIONdbo.f_Count(@snochar(7))RETURNSintASBEGINRETURN(SELECTCOUNT(*)FROMSCWHERESNO=@sno)ENDGO调用标量函数•调用标量函数,提供架构名和函数名。可在允许出现表达式的SQL语句中调用,返回类型一致即可。•调用f_Count()函数,查询计算机系学生的姓名和该学生的选课门数。38Selectsname姓名,dbo.f_Count(sno)选课门数FromstudentWheredept=‘计算机系’内联表值函数•内联表值函数的返回值是一个表,该表的内容是一个查询语句的结果•语法CREATEFUNCTION[函数所属架构名.]函数名([@参数名参数类型[=默认值][,…n]])RETURNSTABLE[AS]BEGINRETURN[(]查询语句[)]END[;]39例题•创建查询指定系的学生的学号,姓名和考试平均成绩的内联表值函数。40CREATEFUNCTIONdbo.f_SnoAvg(@deptchar(20))RETURNSTABLEASRETURN(SELECTs.sno,sname,avg(grade)avgfradeFROMSTUDENTsjoinSCons.sno=sc.snoWHEREDEPT=@deptGROUPBYs.sno,sname)GO调用内联表值函数•内联表值函数的使用类似视图,应放置在select语句的from部分,作用类似带参数的视图。•使用内联表值函数f_SnoAvg,查询计算机系学生的学号,姓名和平均成绩。41Select*Fromdbo.f_SnoAvg(‘计算机系’)第11章函数和游标•游标–游标使用过程•声明DECLARECURSOR•打开OPEN•提取FETCH•关闭CLOSE•释放DEALLOCATE42例题•定义一个游标cur_f,要求该游标返回所有女生的学号和姓名。43DECLAREcur_fCURSORFORSELECTsno,snameFROMStudentWHERESex='女'--声明游标OPENcur_f--打开游标FETCHNEXTFROMcur_f--提取数据行WHILE@@FETCH_STATUS=0--判断游标状态BEGINFETCHNEXTFROMcur_fENDCLOSEcur_f--关闭游标DEALLOCATEcur_f--释放游标资源
本文标题:数据库复习
链接地址:https://www.777doc.com/doc-3603309 .html