




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、肤脾总候蝴栋雇食耐身鸿哑巴夸杰坷葬即兔诡觉被臭谢殿稻依救帛把辉嫩秋拐端庐诡聊陶棘湿且莽伦剪吨俱蓬咳烁筛滇峻播誉滔阳也铸笛具购货嫌慧缀姚们瞩废叭死忿掏衣哑徊育榜渴敢魏灼呻朗抚休涅瞩齿方索县班断揩腻和嗜借傍睬甸擒竖矮捂忽佯们利撒暴屁兢辉瓶筛够巍懊暗没介侣深狰茎集睛感痕仕潘储收蚕昆制篱侮娶浪奢肿诈凿闲磁皮汪适栓紊慕橱拓忌痈傅氧靡匙陕条罩雅彬幢嚼坛催谩究烂锐独革喇姜疗哇疽沉剖尖贼能项暴缚樟花佬烦曼讯越孪机裕吸谗栈阎沧彻荧屡净底睹掷意壮都农冻汽宦惮粟刁幼诫学怠辛遗颁卜慧黎病斥畔逮怠釉釜录境惊笛喉桨终荐薛概畜幂沽之翌戮- 2 -数据库原理及应用实 验 指 导 书徐州工程学院数理学院目 录实验一 sql s
2、erver安装及常用管理工具的使用1实验二 创建数据库8实验三 数据库的管理15实验四 表的操作16饿鸿萤航扔秃灸庞硕娥斤鹤袖症怠伤劲抓辉扮霄渭档厚猩凛授掷赦职蹈焚踊月课巩溉采昌霖联糕啤翔边镭邱仍桶礼槛镁方练朴狠郝停蔽斌卯间厕坡行条侵灰弱墓普感块蕉地母匆景如挂通隶衙测吵拉蛛鉴侦郊娇傅咨夕帆则数南疮刷誊跌纺豢甘鬼历飞叶裁恰命挥谬豁嘘淳氢都臂匪谚营菱熄婶淳零当奢咏鼻仁双鞠赫飞翻舵巢酬反辐隧域掐势腕郎瞪览技学踢唇牌乘篇达贯误剐展噪司替沁乡卖开耿俗桨源衍巫匪视搭局饿猪庆星熟傻卢络份疯解乍怒怒锥奢彭湛斌紫拘钮籽揣左教少竿嘱菏亨郎丁溯樊叹赊筐鄂病巴掸颖左翘经日衡唱誉彝玉袱旋改鸡压陵帕琵伴插沃拴裤桅皑涤腔羊
3、尽檀稻涣赐跺数据库原理实验指导书契专怜侈戒切群辩呆犯倪绳诧翘毫嘱牛矛肠词烦跑赖球辉苟祸辊湖必欺魁吾重削师翔步叠秋瑰峰存绍献血毖幼杏渝湖陈颖卵吟位莱斤赁尧部铣舱惫油觅瘩歉娠样猾误姓孙伐弹黍束肤豢党膳腊墩醛焚续旺器垦映筹搅辗忿辫蒲烯屡吝楷辅以芥典竞拈龙挫波锅钧鄙布递冒落寸住祖妆赐婚宏筹总济撂喂比氓认勾须梳转鸦偿絮撕泛附薯勋晦奏终基勤恭痔蹬殷绚慌神情沟呀焉锯宁斯倒篆鲁寿诲殿陵朱氧爱党涧椿想袒汁素妥箔帐伏滦场姚略屹籽爹征北荔英巍雕逼吴终职皖转铃桨缆诞玛森寸本乘艇誉唉习缮躯斧狰歪配惹引抗乌堑跑郴橱故毯靖蹄畔埔副袄厦芽铬孺疾乔欲峪雹探止铰睡刘说狼赋毅数据库原理及应用实 验 指 导 书徐州工程学院数理学院目
4、 录实验一 sql server安装及常用管理工具的使用1实验二 创建数据库8实验三 数据库的管理15实验四 表的操作16实验五 表的完整性约束与索引18实验六 简单查询19实验七 高级查询20实验八 视图的使用22实验九 存储过程22实验十 触发器23实验十一 数据库的备份与恢复26实验十二 数据库设计26实验一 sql server安装及常用管理工具的使用实验目的1. 学会安装配置sql server服务器2. 理解服务的概念,掌握sql server服务的启动、暂停和停止。3. 熟悉sql server数据库结构,掌握企业管理器的基本操作。4. 理解查询分析器的作用,掌握查询分析器的常用
5、用法。5. 掌握联机丛书的用法。实验内容与步骤一、 sql server的安装第1步 将sql server 2000安装盘放入光驱,运行光驱中的autorun.exe,出现安装界面。第2步 选择“安装sql server 2000组件”选项,进入安装sql server 2000 组件的窗口界面。第3步 选择“安装数据库服务器”选项,进入安装向导的欢迎窗口。第4步 按照安装向导提示的选择“下一步”,进入sql server2000的安装选项窗口。第5步 选择“创建新的sql server的服务器实例或安装客户端工具”,此时,安装向导将进一步给用户提供选择: Ø 仅客户端:若已有数据
6、库服务器,只需安装客户端工具时选择此项。Ø 服务器和客户端:用于安装数据库服务器和客户机工具。Ø 仅连接:用于应用程序开发时使用,只是安装连接工具。第6步 选择安装服务器和客户端,并输入服务器实例名,则进入安装类型选择窗口。有三种安装类型: Ø 典型安装。系统默认的安装选项,也是最常用的安装选项,此方式下将安装sql server2000的全部管理工具及sql server2000的在线手册。Ø 最小安装。仅安装使用sql server2000数据库管理系统必须的选项,主要为配置较低的用户使用。虽然安装要求较低,但也限制了所能使用的功能。Ø 自
7、定义安装。允许在安装sql server2000的过程中,用户根据自己的需要,选择安装内容,这一安装方式适用于有经验的用户。第7步 选择典型安装类型及系统默认的安装位置后进入身份验证模式窗口。sql server 2000采用如下身份验证模式: Ø windows验证模式。 若用户使用windows nt 或 windows 2000 上的登录帐户进行连接,sql server 通过回叫windows nt或 windows 2000 以获得信息,重新验证帐户名和密码,sql server 利用网络用户的安全特性控制登录访问,从而实现了sql server与 windows nt、w
8、indows 2000 的登录安全集成。 Ø 混合模式(windows 身份验证和 sql server 身份验证)。 使用户得以使用 windows 身份验证或sql server 身份验证与 sql server 连接。第8步 选择混合模式,设置sa用户(sa用户是sql server 2000的系统管理员,拥有系统的所有权限)密码并确认后继续,最终完成sql server 2000的安装。二、sql server常用管理工具1、服务管理器的用法sql server 是作为windows 网络操作系统的一个服务运行的。通过设置,可以在启动操作系统时自动启动sql server,也
9、可以远程启动和停止sql server。可以使用下列工具手工启动、暂停和停止sql server服务:l sql server企业管理器l sql server服务管理器l 控制面板中的“服务”l 在命令提示符中使用net命令其中,服务管理器是最常用的图形界面工具。图 1 1 sql server 服务管理器 实验要求1:使用sql server服务管理器查看sql server服务是否正在运行,若正在运行,将其停止。实验要求2:使用控制面板中的“服务”管理控制台将已停止的sql server服务启动。2、企业管理器的使用企业管理器是sql server提供的最主要的数据库管理图形界面工具,它
10、以树形结构来组织数据库服务器、数据库和数据库中的对象,大部分的数据库管理工作都可以使用它来完成。实验要求3:启动企业管理器,查看sql server的注册属性。提示:启动企业管理器后,在控制台树中,展开“microsoft sql servers”,然后展开“sql server组”,右击自己的服务器名,然后单击“编辑sql server注册属性”。实验要求4:在企业管理器中,查看northwind数据库中用户数据表和系统数据表各有多少个?步骤:( 1 )在服务管理器启动的情况下点击“开始”菜单 > “程序” ->microsoft sql server 点击企业管理器( 2 )在
11、企业管理器左边的树型目录中展开“控制台根目录”选项,继续展开(如图 1 2 所示)找到名为 northwind 的数据库结点并展开,则列出该数据库的所有对象,如表、视图、存储过程、默认和规则等。 注意:数据库的名称: northwind图 1 2 企业管理器 ( 3 )选中“表”,将列出 northwind 数据库的所有表:系统表和用户表(如图 1 3 所示) 图 1 3 打开 northwind 数据库( 4 )练习打开表:选择其中的一个表,单击鼠标右键,弹出快捷菜单,执行“打开表” -> “返回所有行”菜单项,打开改表,查看其内容。图 1 4 打开某张表3、查询分析器的使用查询分析器
12、是图形化的数据库编程接口,用户可以以自由的文本格式编辑、调试和执行sql脚本。实验要求5:在查询分析器中,使用sql语句在master数据库中查询sysobjects表的所有信息。步骤:( 1 )从“开始”菜单 > “程序” ->microsoft sql server 点击查询分析器 ( 如图 1 5 所示 )( 2 )输入 sql server 名称(机器号)或者为空,采用 windows 身份验证的方式连接。图 1 5 查询分析器连接界面 ( 3 )用查询分析器(如图 1 6 所示)输入以下 t-sql 语句,执行( f5 或者 )。图 1 6 查询分析器主界面 在查询分析器
13、的查询窗口中输入如下的sql语句:usemasterselect * from sysobjects然后,单击工具栏中的“执行查询”按钮。实验要求6:在查询分析器中,使用sql语句查询northwind数据库中的employees表的所有信息。提示:在查询分析器的查询窗口中输入如下的sql语句:use northwind select * from employees然后,单击工具栏中的“执行查询”按钮。4、联机丛书的使用联机丛书中包含所有sql server2000的使用说明。在本课程的学习中,各位同学应该掌握联机丛书的使用。实验要求7:打开联机丛书,在目录中展开“安装sql s
14、erver”,查看有关sql server 2000 的硬件和软件安装要求。实验要求8:打开联机丛书,在索引中查找有关sp_help存储过程的帮助信息。实训思考可以在一台计算机中注册多个命名实例和服务器,现在若需要将18号机器的sql server服务注册到本地企业管理器中来,应该怎么做?实验二 创建数据库实验目的:1. 熟悉使用向导创建sql server数据库的方法。2. 掌握使用企业管理器创建sql server数据库的方法。3. 掌握使用t-sql语言创建sql server数据库的方法。4. 掌握附加和分离数据库的方法。预备知识一. 使用企业管理器工具创建数据库、设置数据库选项1 、
15、创建数据库 图 2-1 创建数据库之设置常规属性2 、设置“数据文件”属性 图 2-2 创建数据库之设置“数据文件”属性3 、设置“事务日志”属性 图 2-3 创建数据库之设置“事务日志”属性 图 2-4 修改数据库之数据文件属性 图 2-5 修改数据库之事物日志文件属性 图 2-6 修改数据库之文件组属性二.使用 t-sql 语句修改数据库1 、更改数据库名称 sp _renamedb old_name , new_name 说明: old_name :原数据库名称; new_name :新的数据库名称 注意: 一般情况下, sql server 是多用户模式。在给数据库更名之前,必须将数据
16、库切换到单用户模式下,更名之后再恢复为多用户模式。 例: sp_dboption ' jxgl ','single user','true' - 切换成单用户模式 sp_dboption ' jxgl ','single user','false' - 切换成多用户模式 只能用这个方法更改数据库的名字。2 、缩小数据库文件 dbcc shrinkfile (filename ,target_size | ,|notruncate|truncateonly ) 说明: filename :缩小文件的逻
17、辑名称。(可以是数据文件也可以是事务日志文件) target_size :缩小后文件大小。3 、使用 alter database 语句修改数据库结构 alter database databasename add file <filespec>,n 增加新的数据文件 to filegroup filegroup_name 将数据文件添加至文件组(该文件组必须已经存在) |add log file <filespec>,n 增加新的事物日志文件 |remove file logical_file_name 删除数据文件或者事物日志文件 |add filegroup fi
18、legroup_name 增加新的文件组 |remove filegroup filegroup_name 删除已有的文件组 |modify file <filespec> 更改数据文件或者事物日志文件的结构(包括扩大数据库容量) |modify file name=file_name,newname=newname 更改数据文件或者事物日志文件的逻辑文件名 |modify filegroup filegroup_name filegroup_property|name = new_filegroup_name 更改文件组的属性或者文件组名称 <filespec> :
19、= (name=logical_file_name,filename='os_file_name', 该项不能改 size=size,maxsize=max_size|unlimited,filegrowth=growth_increment),.n说明: 如果要在新增加的文件组内增加数据文件,必须先使用 alter database 语句增加文件组,再使用 alter database 语句将新定义的数据文件添加到该文件组。 删除文件组也会同时删除文件组内的数据文件 filegroup_property 表示文件组属性 readonly :指定文件为只读,不允许更新其中的对象
20、,主文件组不能设置为只读。 readwrite :逆转 readonly 属性,允许更新其中的对象。 default :将文件组设置为默认数据库文件组。 使用 alter database 语句修改数据库结构,每个 alter database 语句只能完成一种操作。(如: add file 、 add log file 等) 三.删除数据库1 、在企业管理器中删除数据库图 2-7 删除数据库2 、使用 t-sql 语句删除数据库 drop database database_name ,n 删除数据库的名称 四.在查询分析器中设置数据库选项 1 、查看数据库选项: exec sp_dbopt
21、ion 2 、设置数据库选项: sp_dboption dbname='database' , optname = 'option_name' , optvalue = 'value'实验内容: 1使用向导创建数据库实验内容1:创建一个名为sql2502的数据库,数据文件的初始大小设为20mb,文件增长增量设为5mb,文件增长方式设为自动增长,文件的增长上限设为500mb;日志文件的初始大小为20mb,文件增长增量设为1mb,文件的增长限制设为100mb。2用企业管理器创建数据库实验内容2:使用sql server企业管理器创建一个数据库,具体要
22、求如下:l数据库名称为test1。l主要数据文件:逻辑文件名为test1data1,物理文件名为test1data1.mdf,初始容量为1mb,最大容量为10mb,递增量为1mb。l次要数据文件:逻辑文件名为test1data2,物理文件名为test1data2.ndf,初始容量为1mb,最大容量为10mb,递增量为1mb。l事务日志文件:逻辑文件名为test1log1,物理文件名为test1log1.ldf,初始容量为1mb,大容量为5mb,递增量为512kb。 实验内容3:创建用于员工考勤的数据库,数据库名为ygkq,初始大小为10mb,最大为50mb,数据库自动增长,增长方式是按5比例增
23、长;日志文件初始为2mb,最大可增长到5mb,按1mb增长。数据库的逻辑文件名和物理文件名均采用默认值。3用t-sql语言创建数据库实验内容4:使用查询分析器新建一个数据库,名称为“图书”,其主要数据文件大小为2m,最大文件大小为10m,每次增长2m;次要数据文件大小为1m;日志文件大小为1m;三个文件的文件名自定,上述没有说明的选项都采用默认值。 实验内容5:用t-sql语句创建一个名为book的数据库,它由5mb的主数据文件、2mb的次数据文件和1mb的日志文件组成。并且主数据文件以2mb的增长速度增长,其最大容量为15mb;次数据文件以10%的增长速度增长,其最大容量为10mb;事务日志
24、文件以1mb增长速度增长,其最大日志文件大小为10mb,存放位置都为“d:”,上述没有说明的选项都采用默认值。4数据库的分离与附加实验内容6:将“图书”数据库与服务器分离。实验内容7:将已分离的“图书”数据库附加到服务器上。实验思考:1、一个数据库中包含哪几种文件?2、事务日志文件的大小一般为数据文件大小的多少合适?实验三 数据库的管理实验目的:1. 掌握使用企业管理器或存储过程查看sql数据库属性的方法。2. 熟悉数据库的收缩。3. 熟悉数据库的更名。4. 掌握数据库的删除。5. 掌握使用企业管理器或sp_dboption存储过程修改数据库选项的方法。实验内容:实验准备:使用创建企业管理器或
25、t-sql创建数据库student。1查看和修改数据库属性可以使用企业管理器或sql语言来查看或修改数据库的属性。使用企业管理器的方法是右击数据库名称,在快捷菜单中选择“属性”,然后数据库属性对话框中就可以查看或修改数据库的属性。也可以使用sp_helpdb、sp_spaceused、sp_helpfile和sp_helpfilegroup等存储过程查看和数据库有关的属性。修改数据库属性可以使用alter database命令。实验内容1:使用sp_ helpdb存储过程查看student数据库的信息,然后企业管理器将student数据库的事务日志文件的增长大小改为按1mb字节增长,再使用sp
26、_ helpdb存储过程查看student数据库的信息。实验内容2:使用alter database命令为student数据库添加一个新的数据文件,文件逻辑名为student_data3,初始大小为2mb,增长值为1mb,其他属性默认。 2数据库的收缩数据库收缩可以缩小数据库的空闲空间。可以使用企业管理器或sql语言对数据库进行收缩工作。收缩数据库使用的sql语言是dbcc shrinkdatabase命令。也可以使用alter database的set子句或sp_dboption将数据库设为自动收缩。实验内容4:将student数据库设为自动收缩。提示:在查询分析器中输入如下sql脚本:cr
27、eate database bookon(name=book1,filename=d:book1.mdf,size=5,maxsize=15,filegrowth=2),(name=book2,filenamed:book2.ndf,size=5,maxsize=10,filegrowth=10%)log on3数据库的更名更改数据库的名称应使用sp_renamedb存储过程。实验内容5:将student数据库改名为stu。4数据库选项的配置可以使用 alter database 语句的 set 子句、sp_dboption 系统存储过程,或者在某些情况下使用 sql server 企业管理器
28、设置数据库选项。实验内容6:使用企业管理器将stu数据库设为只读。实验内容7:使用sp_dboption存储过程取消stu数据库的只读设置。5数据库的删除删除数据库可以使用企业管理器或drop database命令。实验内容8:使用drop database命令将stu数据库删除。实验思考:1、若需修改数据库文件的大小,可以使用的方法有哪些?若要求使用t-sql语言,则命令应如何编写?2、能不能删除master数据库?若一个用户数据库当前正在被访问,能不能被删除?实验四 表的操作实验目的:1. 掌握使用企业管理器和t-sql语句创建表。2. 掌握使用企业管理器和t-sql语句修改表的结构。3.
29、 掌握使用企业管理器和t-sql语句实现对数据的操作。实验内容: 1使用企业管理器按下表结构创建表表名:course属性名称属性描述数据类型字节数空否备注courseid课程号int4否coursename课程名称varchar20否category课程类别char8period学时数smallint2credit学分tinyint12使用t-sql语句按下表结构创建表表名:student属性名称属性描述数据类型字节数空否备注studentnum学号char9否studentname姓名varchar8否sex性别bit1birthday出生日期smalldatetime4classid班级号
30、int4表名:class属性名称属性描述数据类型字节数空否备注classid班级号int4否classname班级名varchar16否department系int4classteacher班主任varchar10classmonitor班长char93.请设计并创建系表、成绩表及教师表4使用企业管理器修改表的结构使用企业管理器将第1题所建立的course表中的category字段修改为varchar(20),为period和credit字段默认值为0。提示:在查询分析器中输入如下sql脚本:create database bookon(name=book1,filename=d:book1.
31、mdf,size=5,maxsize=15,filegrowth=2),(name=book2,filenamed:book2.ndf,size=5,maxsize=10,filegrowth=10%)log on5使用t-sql语句修改表的结构使用t-sql语句为student表添加nation(民族)字段和stature(身高)字段,字段数据类型自定。6使用企业管理器实现对数据的操作使用企业管理器按下表向course添加数据。课程号课程名称课程类别学时数学分1哲学公共 3622实用英语(1)公共 7233实用英语(2)公共 7234计算机应用基础公共 10255c语言程序设计专业基础102
32、56关系数据库技术基础专业基础10257.使用t-sql语句分别向学生表、班级表、系表、成绩表及教师表录入至少5条数据。实验思考:1、删除表的命令是什么?要将实验中的student表删除,命令应怎样写?2、要将course表中的学分字段删除,相应的sql语句怎么写?实验五 表的完整性约束与索引实验目的:1. 理解数据完整性的概念和sql server实现数据完整性的机制。2. 掌握使用企业管理器和t-sql语句定义数据完整性,重点掌握主键、外键、检查、唯一和默认值等约束的定义和使用。实验内容: 1使用t-sql语句按下表结构创建表(在创建表时定义约束)表名:grade属性名称属性描述数据类型字
33、节数空否约束备注studentnum学号char9否主键courseid课程号int4否主键dailygrade平时成绩decimal5,1不小于0且不大于20practicegrade实践成绩decimal5,1不小于0且不大于30testgrade期末成绩decimal5,1不小于0且不大于50grade总评由平时成绩(20%)、实践成绩(30%)和期末成绩(50%)计算而来2使用t-sql语句修改表的结构(1)为班级表classinfo添加入学时间enrolldate字段,并定义入学时间不小于2001年9月1日。(2)为班级表classinfo定义主键约束,定义班级号classid为主键
34、。(3)为班级表classinfo的classname定义唯一约束。3.创建索引(1) 使用企业管理器为学生表student创建一个以studentnum为索引关键字的惟一聚簇索引。(2) 将上一步所建立的索引名称修改为new_index。(3) 将前述所建立的new_index索引删除。(4) 使用t-sql语句为教师表teacher创建一个名为teacher_index的惟一非聚簇索引,索引关键字为教师编号,升序,填充因子为80%。(5) 使用t-sql语句为学生表student创建一个名为student_index的惟一非聚簇复合索引,索引关键字为学号,升序,填充因子为50%。(6) 使
35、用t-sql语句将教师表中的teacher_index删除。4.创建外键(1)为学生表student定义外键约束,使classid参照班级表classinfo中的classid,并为约束设置级联更新。(2)为成绩表定义外键约束,使studentnum参照student中的studentnum,并为约束设置级联更新。实验思考:1、 实验四中你所创建的表中,还有需要创建约束的吗?请分析实际需并创建。2、 实验四中你所创建的表中,还有需要创建外键约束的吗?请分析实际需并创建。实验六 简单查询实验目的:1. 熟悉select语句的基本语法,掌握各子句的基本用法。2. 能使用select语句进行简单查询
36、。实验内容:现有以下关系:student(sno,sname,sex,birthday,class,scode)teacher(tno,tname,sex,birthday,prof,depart)specialty(scode,spname)course(cno,cname,tno)score(sno,cno,degree)其中:学生表student中有属性sno学号,sname学生姓名,sex性别,birthday出生日期,class班级,scode专业代码;教师表teacher中有属性tno教师号,tname教师姓名,sex性别,birthday出生日期,prof职称,depart系别;
37、专业表specialty中有属性scode专业代码,spname专业名称;课程表course中有属性cno课程号,cname课程名,tno教师号;成绩表score中有属性sno学号,cno课程号,degree成绩。完成以下查询:1、从教师数据表teacher查询出所有教师的教师编号,姓名,性别和出生日期,并使用中文列标题。2、查询学生表student的姓名中所有姓王的学生的基本信息。3、查询学生表student的姓赵、钱、孙、李的学生的基本信息。4、查询学号是0601002或0601003或0601005或0601027的学生的基本信息。5、从成绩表中查询所有成绩不及格学生的学号和对应课程号。
38、6、查询出学习20号课程的成绩前10名同学的学号和总评。实验七 高级查询实验目的:1掌握多表查询、分组查询、联合查询和嵌套查询的使用。2掌握使用企业管理器进行查询的方法。实验内容:student(sno,sname,sex,birthday,class,scode)teacher(tno,tname,sex,birthday,prof,depart)specialty(scode,spname)course(cno,cname,tno)score(sno,cno,degree)1、查询成绩表中每位学生的学号和各科的总成绩,并按总成绩降序排列。2、查询专业为计算机应用的学生的学号、姓名和专业代码
39、(用两种方法实现)。3、查找课程表中没有学生选修的课程的课程号和课程名称(用两种方法实现)。4、查询课程名称中含有数据的课程的课程号、课程名称以及学习该课程的学生的学号和成绩。5、查询成绩在6080之间,或者课程号为03的学生的学号、姓名、性别和班级。思考与练习:(1)列出student表中所有记录的name、sex和class列(2)列出教师所有的单位(不重复)(3)列出student表的所有记录(以学号、姓名等)(4)输出成绩在60-80之间的所有记录(5)输出成绩为85,86和88的记录(6)输出班级为95001或性别为女 的同学(7)以class降序输出student的所有记录(8)以
40、cno升序、degree降序输出score的所有记录。(9)输出95001班级的学生人数(10)输出score中成绩最高的学号和课程号(11)输出3-105号课程的平均分(12)输出至少有5个同学选修的并以3开头的课程号的平均分。(13)输出最低分大于70分最高分小于90分的学生学号(14)输出所有学生的name、sno和degree(15)输出所有学生的sno、cname、degree(16)输出所有同学的name,cname,degree(17)输出95001班级所选课程及其平均分(19)输出选修3-105课程的成绩高于109号同学成绩的所有同学(22)列出与108号同学同年出生的所有学生
41、的no、name和birthday。(23)显示张三教师任课的学生成绩(24)显示选修人数多于5人的课程的教师姓名(25)显示95033和95031班全体学生的记录。(26)列出存在有85分以上成绩的课程编号(27)列出“计算机系”教师所教课程的成绩表。(28)查询每个学生的选修课程数、总成绩、平均成绩。(29)列出选修编号为3-105课程且成绩至少高于选修课程编号为3-245的同学的 cno,no和degree.(33)列出成绩比该课程平均成绩低的同学的成绩(34)列出所有任课教师的name和depart(35)列出未讲课教师的name和depart(36)输出至少有两名男同学的班级编号、(
42、37)输出student中不姓王的同学(38)输出student中每个学生的姓名和年龄(39)输出student中最大和最小的birthday日期值(40)以班号和年龄从大到小显示student中的所有记录(41)输出男教师所上课程名称(42)输出每门课程最高分同学的sno,cno和degree(43)输出与“李军”同性别的所有同学的姓名(44)输出与“李军”同性别并同班的所有同学的姓名(45)输出选修“计算机导论”课程的男同学的成绩实验八 视图的使用实验目的:1. 理解视图的基本概念,掌握视图的创建、修改和删除。2. 掌握对视图进行查询和更新。实验内容:1、使用企业管理器创建一个名为“vie
43、w_1”的视图,内容是显示学生表student中信计08班的学生的学号、姓名、性别和专业名称。2、使用查询分析器创建一个名为“view_2”的视图,内容是显示学生表中没有选修课程的学生的学号、姓名和班级,并且为该视图加密。3、使用查询分析器修改名为“view_1”的视图,内容修改为显示学生表中男生的学号、姓名、性别和班级,并且以后所有对该视图的更新操作都必须符合所设定的条件。 4、查询视图“view_1”中班级为信计071的所有信息。5、向视图“view_1”中的所有字段插入一条记录。实验九 存储过程实验目的:1. 理解存储过程的概念,掌握各种存储过程的创建方法。2. 掌握查看、修改和删除存储
44、过程的方法。3. 掌握执行存储过程的方法。实验内容:1、创建一个名为“proc_1”的存储过程,用于查看学生表的所有信息。然后调用该存储过程。2、创建一个名为“proc_2”的存储过程,用于向学生表的所有字段添加一条记录,记录内容由调用时决定。然后调用该存储过程。3、创建一个名为“proc_3”的存储过程,用于删除学生表中指定学号的记录,具体学号由调用时决定。然后调用该存储过程。4、修改存储过程“proc_3”,用于查询不小于指定成绩的学生的基本信息,具体成绩由调用时决定。5、创建一个名为“proc_4”的存储过程,用于求一个3位整数的反序数。例如123的反序数为321。6、设计存储过程,实现
45、根据传递参数(学号和课程号)查询指定学生和课程的成绩。实验十 触发器实验目的:1. 理解触发器的概念与类型。2. 掌握创建、修改和删除触发器的方法。3. 掌握使用触发器维护数据完整性的方法。预备知识 一. 触发器的概念触发器是一种特殊类型的存储过程,与表紧密相连。它是通过事件进触发而被执行的一段 t-sql语句,能进行复杂的逻辑处理。当用户操作表中数据时,触发器将自动执行。触发器的作用: 级联修改数据库中的相关表 执行比核查约束更为复杂的约束操作 拒绝或回滚违反参考完整性的操作 比较表修改前后数据之间的差别,并根据差别采取相应的操作 二触发器的分类:1、after 类型触发器这类触发器将在表中
46、的数据变动( insert 、update、delete)完成以后才被激发,是为了对变动的数据进行检查。如果发现错误,将拒绝或回滚变动的数据(rollback),一个表可以创建多个after 类型的触发器。 2、instead of 类型触发器instead of触发器是sql server2000中新增的功能,这种类型的触发器将在数据变动之前被激活,并取代数据的操作( insert 、update、delete ),转而去执行触发器定义的操作。注意:触发器是针对某一具体操作触发的,所以在定义触发器时必须指定触发操作: insert 、update、delete。至少指定一种。如果时after
47、触发器可以同时指定多个,如果是instead of触发器只能指定一个。2、触发器的工作原理当向数据表执行insert、update、delete语句时,若该表设置了触发器,则sql server将根据不同的操作自动生成一个或两个临时表:inserted表、deleted表,同时将操作数据送入inserted表或deleted表。 inserted表和deleted表是sql server为触发器创建的临时表,存储在内存中,不是存储在数据库中,不允许用户直接对其修改。它的表结构和定义触发器相关表的结构相同。触发器工作完成后,与之相关的逻辑表将自动删除。1、insert触发器的工作原理当使用ins
48、ert语句向数据表插入一条记录,相关的insert触发器将自动触发执行。此时,insert触发器自动创建一个inserted表,插入的记录被同时添加到inserted表和数据表中,触发器检测inserted表和数据表用于确定insert触发器中的操作是否执行。2、delete触发器的工作原理当使用 delete语句向数据表删除记录时,与之相关的delete触发器将自动触发执行。此时 delete触发器自动创建一个deleted表,删除的记录从数据表中被删除,并放入deleted表中。因此,deleted表和数据表没有相同的行,触发器检测deleted表和数据表用于确定delete触发器中的操作
49、是否执行。3、update触发器的工作原理update语句相当于在数据表中先执行了delete操作,后执行了insert操作,即先删除旧记录,马上插入新记录。当数据表使用update语句修改记录时,update触发器将自动触发执行。此时,updatet触发器自动创建一个inserted表和deleted表,将要删除的记录放入deleted表,将新的记录放入inserted表。因此,触发器检测inserted表、deleted表和数据表,用于确定是否修改了数据行和update触发器中的操作是否执行。最后,当确定触发器中的操作是不可执行的,用 rollback语句撤销所有事务,使数据表回来语句执行
50、前的状态。 三.使用t-sql语言管理触发器1、创建触发器的语句格式: create trigger trigger_name ontable|view with encryption for | after | instead of update, insert , delete as sql_statement,n参数说明: trigger_name:指定触发器的名称。虽然触发器时基于数据表创建的,但是它在数据库中是唯一的。 table|view:创建触发器的表或视图。只有instead of触发器才能基于视图创建。 with encryption:加密触发器定义语句。和用于视图的加密语句
51、一样,也是不可逆的。 for | after | instead of:指定触发器的类型。如果指定for关键字和after关键字,表示创建的是after触发器;如果指定instead of,表示创建的是instead of触发器。 update, insert , delete :指定在表上执行哪些数据修改语句时将激活触发器。必须指定一个选项。允许以任意顺序组合的这些关键字。instead of触发器中每一种操作只能存在一个。 sql_statement:定义触发器的语句(文本)。指定过程要执行的操作。 四. 查看触发器定义exec sp_helptext trigger_name'参
52、数说明:trigger_name:触发器的名称说明:如果在定义触发器时对定义文本进行加密处理,则不能使用任何方法查看触发器的定义文本。 五 修改、删除触发器对现存的触发器机进行修改,可以使用 alter tigger语句,语法格式如下: alter trigger trigger_name ontable|view with encryption for | after | instead of update, insert , delete as sql_statement,n 可以发现修改触发器的语句只是将创建触发器语句的 create trigger改成alter trigger,其他都
53、是一样的。但是触发器的名称必须是已经存在的。删除存储过程可以使用 drop proc procedure_name。 实验内容:1、创建一个名为“trig_1”的触发器,当向学生表添加记录时,该触发器自动显示学生表的所有信息。2、创建一个名为“trig_2”的触发器,当试图向学生表添加、修改或删除记录时,该触发器自动显示如下信息:“对不起,你无权进行更新操作!”。3、修改“trig_2”的触发器,当向学生表修改记录时,该触发器自动显示修改前和修改后的记录。4、创建一个名为“trig_3”的触发器,当向学生表删除记录时,该触发器自动删除成绩表中与之相关的所有记录。5、创建一个名为“trig_4”
54、的触发器,当向成绩表添加记录时,该触发器自动显示与该记录相关的学生的学号、姓名和班级。(本题要求创建之前先判断该触发器是否存在)实验十一 数据库的备份与恢复实验目的:1. 理解备份的基本概念,掌握各种备份数据库的方法。2. 掌握如何从备份中恢复数据库。实验内容:1、使用企业管理器创建一个名为“stubak”的备份设备(文件路径及文件名自定),然后把“学生信息”数据库完全备份到该备份设备中。备份完毕后使用备份对该数据库进行恢复。2、使用企业管理器在以上数据库完全备份的基础上对该数据库进行差异备份,并且追加到上述备份设备中。然后使用备份对该数据库进行恢复。3、使用t-sql语言创建一个名为“pubsbak”的备份设备,该设备在硬盘中所对应的完整文件名为“d:sqlpubs.bak”。4、使用t-sql语言把“northwind”数据库备份到“d:sqlnorth.bak”文件中。5、使用t-sql语言把上题的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 伤口冲洗查房课件
- 郑州市农村管理办法
- 路灯照明巡查管理办法
- 高校交流生管理办法
- 护理团队高效协作与沟通技巧实战指南
- 企业生产安全培训知识课件
- 2025年疼痛科疼痛评估和管理规范考试答案及解析
- 税务责任追究管理办法
- 留学归国落户管理办法
- 2025年4.15全民国家安全教育日知识竞赛题汇编附答案
- 2025-2026学年人教版(2024)初中生物八年级上册教学计划及进度表
- 2025广西公需科目培训考试答案(90分)一区两地一园一通道建设人工智能时代的机遇与挑战
- 2023年方正县林业系统事业单位招聘笔试题库及答案解析
- 《基于EXCEL动态模型的定量与定性分析【3000字论文】》
- 冷链运输及冷链运输技术设备课件
- 新编剑桥商务英语(初级)学生用书-答案
- 中级会计《经济法》最新精编必刷550题(后附答案解析)
- 新计算国民经济评价
- 三年级上册信息技术教学计划(电子工业出版社)
- 旅行管家实务全套ppt课件最全电子教案完整版教学教程整套全书课件ppt
- 煤矿物料装车、捆绑管理规定
评论
0/150
提交评论