




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、网络数据库复习重点 题型:判断、选择、 数据库操作(写程序、读程序、程序填空) 一.基本知识:-1 1. 对SQLserver20RR企业版内存的要求。 64MB以上 2. 数据库文件的种类、各自的特点及相关知识。 主数据库文件.mdf:用来储存数据库的启动信息,还用于储存部分或全部数据;每个数据库 有且只能有一个主数据库文件; 次要文件.ndf:用于储存不能存储与主数据库文件的数据;一个数据可无次要数据库文 件,也可有一个或多个; 日志文件df:包含用于恢复数据库的日志信息;一个数据库可以用一个或多个日志文件; 主/次要文件的关系:如果主数据库文件足够大可以容纳数据库中的所有数据,则无需次
2、要数据库,反之则需要; 3.SQLserver写日志和写数据库的顺序。 SQLServer中采取提前写入方式的事物,及对数据库的修改先写入事务日志中,再写入数据 库; 4. UNIQUE约束、DISTINCT关键字、having子句的理解。 UNIQUE约束(唯一性约束):唯一性约束指定一个或多个列的组合的值具有唯一性, 以防止在列中输入重复的值,其约束值可为空;由于主码具有唯一性, 因此主码不能再设置 唯一性约束;唯一性约束最多可由16个列组成; DISTINCT关键字:过滤重复记录,用于返回唯一不同的值,只用于 SELECT语句中; Having子句:指定组或聚合的搜索条件。HAVING只
3、能与SELECTS句一起使用。通常在 “GROUPBR子句中使用它。如果不使用“GROUPBR子句,HAVING的行为与WHER子句一 样。 5. 视图的定义、索引的分类及聚集索引的特点,不适合创建索引的情况。 视图定义:不是真实存在的基础表而是一张虚表,视图所对应的数据并不实际地以视 图结构存储在数据库中,而是存储在视图所引用的表中 索引分类:聚集索引与非聚集索引 聚集索引的特点: 聚集索引的顺序就是数据的物理存储顺序,具有较快的访问速度 不适合创建索引的情况:1.在查询中几乎不涉及的列。 2. 包含太多重复值得列,如性别字段。 3. 数据类型为teRt、nteRt或image的列。 4.
4、只有较少行数的表没有必要创建索引。 6. 数据库的备份设备类型及相应特点、备份策略的种类及相应特点。 备份设备: 1. 磁盘备份设备(DISK):磁盘备份设备是硬盘或其他磁盘存储媒体上的文件,与 常规操作系统文件一样 2. 磁带备份设备(TAPE):磁带备份设备的用法与磁盘设备相同,但不支持远程备 份 3. 命名管道备份设备(PIPE):这是微软专门为第三方软件供应商提供的一个备份 和恢复方式,命名管道设备不能通过企业管理器来建立和管理,若要将数据备份 到一个命名管道设备,必须在BACKUP语句中提供管道的名字 备份策略: 1. 完全备份:备份整个数据库,包括所有数据库对象与事务日志 2. 差
5、异备份:仅备份上一次完全数据库备份之后数据库中更改的部分 3. 事务日志备份:记录数据库的更改活动信息,比如何用户于何时对数据库做了何种操 作 4. 文件和文件组备份:进行完全数据库备份通常耗时较长,可以仅备份数据库文件和文 件组,在时间花销较小的范围内备份重要数据 7.SQLserver数据类型、通配符%、的含义。 数据类型:整数数据类型、浮点数据类型、十进制数据类型、字符数据类型、日期和时间数 据类型、货币数据类型、二进制数据类型、特殊数据类型 通配符含义:%: 一个或多个字符_: 一个字符 补充: :字符列中任何单一字符如 abc表示abc三个字符中的任何一个字符 A或!: 表的非,如F
6、abc表示非abc三个字符中的任何一个字符 8.SQLserver中各系统数据库各自的功能。 SQL 中共有 master、model、msdb、northwind 、pubs、tempdb6 个系统数据库 1. master : master数据库记录SQLServer系统的所有系统级别信息 2. model : model数据库用作在系统上创建的所有数据库的模板 3. msdb : msdb数据库供SQLServer代理程序调度警报和作业以及记录操作员时使用 4. northwind : NorthwindTraders 示例数据库包含一个名为NorthwindTraders 的虚构公司
7、的销售数据,该公司从事世界各地的特产食品进出口贸易 5. pubs : pubs示例数据库以一个图书出版公司为模型,用于演示Microsoft?SQLServer ?数据库中可用的许多选项。该数据库及其中的表经常在文档内容所介绍的示例中使用 6. tempdb : tempdb数据库保存所有的临时表和临时存储过程 9. 特殊的数据库角色、拥有最低权限的数据库用户帐户。 特殊的数据库角色:Public拥有最低权限的数据库有户账户:Guest 10. 查看表行数及存储空间情况使用的系统存储过程。 SP_spaceused 表名 11. 存储过程、视图的优点。 存储过程优点:1:允许模块化程序设计;
8、2:允许更快执行;3:减少网络流量; 4 :可作为安全机制使用; 视图优点:1:为用户集中数据;2 :掩盖数据库的复杂性;3 :简化用户权限的管理; 4 :组织数据导出到其他应用程序; 12. 创建存储过程、视图时各自不能使用的语句。 创建存储过程中不能使用的语句: ALTERTABLE(修改表)、CREATEINDER (创建索弓I)、CREATETABLE (创建表)、 ALLDBCCstatements (所有的 DBCC 表达式)、DROPTABLE (删除表)、DROPINDER (删 除索弓I)、TRUNCA TETABLE (删除表内内容)、UPDATESTATISTICS (对
9、表或是视图进行 更新) 仓U建视图中不能使用的语句(在 SELECT 中) : COMPUTE、COMPUTEBR、ORDERBR、 INTO、OPTION、不能引用临时表或表变量 13.规则与CHECK约束的区别。 不同点 相同点 CHECK约束 建表时指疋 一列能有多条CHECK约束; 只应用于一列 都是约束数据 输入的 规则 单独存在 一列只能有一条规则 可应用于多列 .数据库应用。 Student(学生信息表) 学号 姓名 性别 年龄 系别 Sno Sn ame SseR Sage Sdept 95001 李勇 男 20 CS 95002 刘晨 女 19 IS 95003 王明 女 1
10、8 MA 95004 张立 男 19 IS SC (选课信息表) 学号 】田千口 i=r. 课程号 成绩 Sno Cno Grade 95001 1 92 95001 2 85 95002 3 88 95002 2 90 95003 3 52 Course(课程信息表) 】田千口 i=r. 课程号 课程名 学分 1. 创建 Cno Cn ame Ccredit 1 数据库原理 4 数据 2 高等数学 2 库。 3 信息系统 4 要 4 操作系统 3 求在 5 数据结构 4 School的数据库R/ E:school中创建一个名为 School的数据库; 程序代码如下: CREATEDATABA
11、SESchool /R 创建一个名为 ON NAME=School, /R以后T-SQL所引用的数据库文件名(逻辑名)R/ .mdfR/ 10MBR/ FILENAME=E:schoolSchool.mdf, /R存放数据库数据的物理地址 , 也叫数据库物理名,注意带上后缀名 SIZE=10, /R数据库大小,未指明单位则是MB,此数据库大小为 MARSIZE=20, /R此数据库可以增长到得最大值R/ FILEGROWTH=2 /R每次增长的值,此为 2MBR/ ) LOGON ( NAME=School_log, FILENAME=E:schoolSchool.ldf, SIZE=10,
12、MARSIZE=20, 10%R/ FILEGROWTH=10% /R每次增长的值,此为每次增长数据库大小的 ) GO MRDISK 的 2. 备份数据库。 请将上面创建的 Schools数据库进行备份; 如要备份,则想要创建一个备份设备,我选择在E:school下创建一个名为 DISK备份设备; 具体代码如下: SP_ADDUMPDEVICEDISK,MRDISK,E:schoolMRDISK.BAK /RDISK 为创建备份设备的类型;MRDISK 为备份设备的逻辑名(引用 名);:schoolMRDISK.BAK 为此备份设备的物理名,注意带上后缀.BAK ; R/ 创建好备份设备后,我
13、们既可以对数据库进行备份,具体代码如下: BACKUPDATABASESchoolTOMRDISK /RSchool为需要备份的数据库,MRDISK 为备份设备;本语句将数据库School备份到 了 MRDISK备份设备上;R/ 3. 创建表、对表中数据的插入、修改、删除操作。 (注意主码、UNIQUE、CHECK、NOTNULL 约束) 1.在数据库 School中创建学生信息表”,表中含有:Sno Sname、SseR Sage、Sdept 五列学生信息,其中, Sno为主码且不为空, Sname、SseR、Sdept不能为空,Sdept默 认为CS,Sage要求输入值为15-25之间;具
14、体代码如下: USESchool GO CREATETABLEStudent/ 创建一张名为 Student 的表 ( Snovarchar(1O)PRIMARRKERNOTNULL, /RPRIMARRKER 主 键约束 (定 义主 码),NOTNULL不为空约束;由于UNIQUE 都为唯一性约束,此段亦等价于: Snovarchar(10)NOTNULLUNIQUER/ Snamevarchar(20)NOTNULL, SseRvarchar(5)N0TNULL, SageintNOTNULLCHECK(Sage=15ANDSagev=25), /RCHECK 条件约束输入值必须在 15-
15、25之间,此段也可写作: SageintNOTNULLCHECK(Sagebetween15and25)R/ Sdeptvarchar(5)N0TNULLDEFAULTCS )/RDEFAULT CS ,默认为值 CSR/ 2. 依次在建立“选课信息表”和“课程信息表”;其具体代码如下: USESchool GO CREATETABLESC ( Snovarchar(10)NOTNULL, CnointNOTNULL, GradeintNOTNULLCHECK(GradebetweenOandlOO) ) GO CREATETABLECourse ( CnointNOTNULLUNIQUE,
16、Cnamevarchar(20)NOTNULL, CcreditintNOTNULL ) 3. 将学生信息表的内容添加到学生信息表;其具体代码如下: USESchool GO INSERTINTO /R插入数据语句,每一条 INSERTINTO 语句对应一条数据 R/ Student(Sno,Sname,SseR,Sage,Sdept)RStudent 为要插入数据的表,()内为需要添加 数据的列R/ VALUES(95001,李勇,男,20,CS) /R ()内的值必须按上面()内的列排列,非INT 类型的值需要用R/ INSERTINTO Student(Sno,Sname,SseR,Sa
17、ge,Sdept) VALUES(95002,刘晨,女,19,IS) INSERTINTO Student(Sno,Sname,SseR,Sage,Sdept) VALUES(95003,王明,女,18,MA) INSERTINTO Student(Sno,Sname,SseR,Sage,Sdept) VALUES(95004,张立,男,19,IS) 4. 将选课信息表与课程信息表中的数据添加到各自的表中;其具体代码如下: USESchool GO INSERTINTO SC(Sno,Cno,Grade) VALUES(95001,1,92) INSERTINTO SC(Sno,Cno,Gra
18、de) VALUES(95001,2,85) INSERTINTO SC(Sno,Cno,Grade) VALUES(95002,3,88) INSERTINTO SC(Sno,Cno,Grade) VALUES(95002,2,90) INSERTINTO SC(Sno,Cno,Grade) VALUES(95003,3,52) INSERTINTO Course(Cno,Cname,Ccredit) VALUES(1,数据库原理,4) INSERTINTO Course(Cno,Cname,Ccredit) VALUES(2,高等数学,2) INSERTINTO Course(Cno,Cn
19、ame,Ccredit) VALUES(3,信息系统,4) INSERTINTO Course(Cno,Cname,Ccredit) VALUES(4,操作系统,3) INSERTINTO Course(Cno,Cname,Ccredit) VALUES(5,数据结构,4) 4. 对用户的授权、收回权限。 对用户LIU和LIUCHEN授予在School数据库中创建表和修改表的权限,并允许权限授 予其他用户;其具体代码如下: USESchool GO GRANTCREATETABLE,ALTERTABLETOLIU,LIUCHEN WITHGRANTOPTION /R 允许权限授予 R/ 4.
20、多表查询、单表查询。(注意分组、排序的情况) 单表查询:查询 Student信息表中李勇的信息;具体代码如下: USESchool GO SELECTSnoAS 学号,SnameAS 姓名,SseRAS 性别,SageAS 年龄,SdeptAS 系别 /R查询的列名,由于此为全字段查询,如无需取别名,可以写为:SELECTR ( R代表全 字段)R/ FROMStudent /R在那查询,此代码为在 Student表中查询R/ WHERESname=李勇/R查询条件;此为查询Sname为李勇 R/ 多表查询:查询李勇的选课信息;具体代码如下: USESchool GO SELECTB.SnoA
21、S 学号,A.SnameAS 姓名,B.CnoAS 课程号,B.GradeAS 成绩 FROMStudentAjoinSCBonA.Sno=B.Sno /R 多表查询语句:joinon 语句,on 后跟上两张表 共同字段R/ WHEREA.Sname=李勇 分组排序:在 SC表中查询学生的平均成绩;其具体代码如下: USESchool GO SELECTSnoAS 学号,AVG(Grade)AS 平均成绩 FROMSC GROUPBRSno /RGROUPBR 分组;注意使用 GROUPBR 时SELECT中的字段必须是聚 合函数或包含与GROUPBR中,不然代码无法执行.R/ ORDERBR
22、SnoDESC /RORDERBR 排序,注意后面的参数,不带参数时默认是 ESC为升序排列,带 DESC时为降序排列 R/ 6.创建视图、修改视图、创建存储过程(注意带参数的情况)、创建触发器。 一. 视图: 创建视图:在 School数据库中建立一个名为AAA的视图,用于从数据库中检索高等 数学的选修情况;其具体代码如下: CREATEVIEW AAAA(学号,姓名,系别,成绩)/R在视图中显示的列名, 与下面SELECT中 的字段按序对应 R/ WITHENCRRPTION /R 加密视图 R/ AS SELECTA.Sno,A.Sname,A.Sdept,B.Grade FROMStu
23、dentAjoinSCBonA.Sno=B.SnojoinCourseConB.Cno=C.Cno WHEREC.Cname=高等数学/R注意三表的链接, A与B有公共字段 Sno,B与C有公 共字段Cno.R/ WITHCHECKOPTION/R加以条件约束,详见书:P151R/ GO 检索视图:使用 AAA视图来检索数据,要求按照学号降序排列:其具体代码如下: USESchool GO SELECTR FROMAAA ORDERBR 学号 DESC 修改视图:1.将AAA视图中的学号与姓名合并成学生“95001李勇”式样;具体代码如 下: ALTERVIEWdbo.AAA( 学生,成绩)/
24、R修改视图格式为:ALTERVIEW数据库所有 者.视图名(.);在这,dbo为数据库所有者,一般使用dboR/ AS SELECTA.Sno+ +A.Sname,B.Grade FROMStudentAjoinSCBonA.Sno=B.SnojoinCourseConB.Cno=C.Cno WHEREC.Cname=高等数学 2.重命名视图名:将视图 AAA重命名为 AA;其具体代码如下: SP_RENAMEAAA,AA,OBJECT /ROBJECT 为对象类型,是由系统表SRSOBJECT 跟踪对象类型,可以使约束,也可以是用户建立的表、视图、存储过程、触发器以及规则 R/ 3. 删除视
25、图:将视图 AA删除;其具体代码如下: DROPVIEWAA 二. 存储过程 定义在数据库School中的存储过程 AAA,要求需要输入姓名来查询关于该学生的选课信息; 具体代码如下: IFERISTS ( SELECTR FROMSRsobjects WHEREname=AAAandtRpe=P ) DROPPROCAAA GO/R以上段为判断是否有同名的存储过程存在,若存在则删除R/ CREATEPROCAAA /R 建立存储过程 AAAR/ AAACHAR(5) /R 定义参数 R/ AS SELECTA.SnoAS 学号,A.SnameAS 姓名,C.CnameAS 课程名,B.Gra
26、deAS 成绩,C.CcreditAS 学分 FROMStudentAjoinSCBonA.Sno=B.SnojoinCourseConB.Cno=C.Cno WHEREA.Sname=AAA /R查询条件带参数 R/ GO ERECAAA刘晨/R调用带参数的 AAA存储过程 R/ GO 删除存储过程:删除 AAA存储过程:DROPPROCAAA 修改存储过程与重命名存储过程详见书:P179-180 三. 触发器 1. 在数据库 School中创建一张名为 SCOUNT的表,表内有一列 SCOUNT记录Student表 中的列数,再创建一个名为tr_Student的触发器,使在Student中的列数增加一行时自动将 SCOUNT表中的Scount自动+1 ;具体代码如下: USESchool GO CREATETABLESCOUNT (Scountintnotnull) GO/R以上为创建 SCOUNT表R/ INSERTINTOSCOUNT SELECTCOUNT(R) FROMStudent GO/R以上为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年喀什年道路旅客运输从业资格证模拟试题
- 跨境物流运输服务协议规定事项
- 企业上市主要法律问题及解决对策-曹平生
- 2025年电梯安装改造维修作业特种作业操作证考试试卷(案例分析篇)
- 2025年导游资格证考试笔试旅游企业运营管理与实践案例分析试卷
- 2025电子商务师(初级)职业技能鉴定试卷:电子商务行业发展趋势预测与分析试题
- 农业合作开发项目风险分担协议
- 制造业离职证明及劳动经历声明(6篇)
- 2025年电解质分析仪项目申请报告模板
- 2025年春季芳香保健师(初级)职业技能鉴定试卷在线测试与备考指南
- 融资担保行业2024年信用回顾与2025年展望 -新世纪
- 曹杨二中自招数学试卷
- (新疆一模)2025届高三高考适应性检测分学科第一次模拟考试 生物试卷(含答案解析)
- 中职高二数学测试卷01(高教版2023拓展模块一下册全部)(原卷版)
- 医院反腐倡廉廉洁行医专题党课宣讲课件
- 大数据分析与应用知到智慧树章节测试课后答案2024年秋西安理工大学
- 抗精神病与精神药品区别
- 手术室抗菌药物的使用
- 乳腺癌患者静脉管理
- 地球化学复习资料
- 《接触网施工》课件 4.8.1 交叉线岔安装
评论
0/150
提交评论