资源描述
. .工程学院管理学院实验报告实验课程名称 : 数据库原理及应用 实 验 地 点: 经济管理实验教学中心 20212021学年一学期 2021 年 9月至 2021 年 12 月专 业 信息管理与信息系统 班 级 10信管 学生 * 学 号 20211511215 指导教师 *x 实验一实验名称: 熟悉SQL Server 2021的工作环境 成绩:实验目的1.熟悉企业管理器、查询管理器的使用。2.熟悉SQL Server 2021给出的样例数据库的容。实验容和步骤1. 练习企业管理器的使用。熟练掌握SQL Server效劳管理器和企业管理器的启动及参数配置等方法。2. 熟悉样例数据库。 在企业管理器中,依次翻开两个样例数据库:Pubs、Northwind,查看其所拥有的数据对象,主要包括表、试图、存储过程、角色、规那么、默认值、定义的数据类型、定义的函数等。3. 练习查询分析器的使用。 1翻开企业管理器的工具菜单,如以下图所示:4. 熟悉系统数据库的构造。1在企业管理器中展开Master数据库节点。2熟悉Master数据库中的所有表。3找知名为sysservers的表,右击该表名,选择翻开表返回所有行命令。 4按照此方法查看其他表的容。如:sysusers实验二实验名称: 创立数据库和数据表 成绩:实验目的1. 了解SQL Server 2021数据库的逻辑构造和物理构造。2. 了解表的构造特点。3. 熟悉SQLServer的根本数据类型。4. 了解数据库、数据表、约束等相关的概念。5. 实现在企业管理器中创立数据库和表。6. 掌握使用Transact-SQL语句创立数据库和表的方法。实验容和步骤练习创立数据库和数据表。(1) 翻开我的电脑或资源管理器,在磁盘中以自己的或学号建立文件夹。(2) 创立名为学生-选课即名为JWGL的数据库,并存储在地1步建立的文件下。(3) 在建立的JWGL数据库中按照表9-1表9-3所示创立student、course和sc表9-1 student表9-2 course表9-3 sc(4)在数据表中输入数据。为表1和表3建立主键约束。实验三实验名称: 根本数据查询 成绩:实验目的1. 掌握SELECT-From-Where语句的构造及使用,实现在数据库上进展简单查询。2. 掌握各种查询操作方法。实验容和步骤数据表中输入的数据Student CourseSC练习1:简单查询(1) 查询全体学生的学号与。Select Sno,Sn FROM Student;(2) 查询全体学生的及年龄。Select Sn,Age FROM Student;(3) 查询全体学生的、年龄及所在的系别要用小写字母表示系名,并用系名来表示列名Select Sn,Age,Dept AS 系名 FROM Student;(4) 查询选修了课程的学生学号。Select Sno FROM SC;练习2:条件查询 1查询所有年龄在20岁以下的学生的及其年龄Select Sn,Age FROM Student WHERE Age85;5求平均成绩大于85分的课程的课程号及课程平均成绩。Select Cno,AVG(Grade)AS Grade FROM SCGROUP BY CnoHAVING AVG(Grade)85;6求各个课程号及相应的选课人数 程序:Select Cno,COUNT(Cno)AS 选课人数 FROM SCGroupBY Cno;7查询人数多于2人含2人的系的编号及人数Select Dno,COUNT(Dno) AS 人数 FROM StudentGROUP BY DnoHAVING COUNT(Dno)=2;实验五实验名称: 多表连接 成绩:实验目的1. 了解多表连接的作用。2. 掌握使用不同类型的连接方式进展表的连接操作的方法。实验容和步骤1. 查询选修数据构造课程的学生的学号Select Sno AS 学号,Cn AS 选课 FROM Course,SCWHERE SC.Cno=Course.Cno AND Course.Cn=数据构造;2. 查询学生珊选修的课程的平均分Select AVG(Grade)AS 平均分 FROM Student,SCWHERE Student.Sno=SC.Sno AND Sn=珊;3. 查询选修数据库原理课程的学生的平均分Select AVG(Grade) AS 平均分 FROM Course,SCWHERE Course.Cno=SC.Cno AND Cn=数据库原理;4. 查询学生斌的所有成绩,显示的列包括,成绩Select Sn,Grade AS 成绩 FROM Student,SCWHERE Student.Sno=SC.Sno AND Sn= 斌;5. 查询学生选修课的考试情况,显示的列名包括学生,课程名称,成绩Select Sn AS 学生,Cno AS课程名称,Grade AS成绩 FROM Student,SCWHERE Student.Sno=SC.Sno;6. 查询成绩大于70分的学生Select DISTINCT Sn FROM Student,SCWHERE Student.Sno=SC.Sno AND Grade70;实验六实验名称: 数据更新操作 成绩:实验目的1. 掌握在企业管理器中对数据表进展插入、修改、删除的数据操作。2. 掌握使用Transact-SQL语句对数据库表进展插入、修改和删除的数据操作。3. 了解Transact-SQL语句对表数据操作的灵活控制能力。实验容和步骤1. 向学生表中插入学生*X的根本信息INSERT INTO Student(Sno,Sn,Sex,Age,Dept,IDCard,Dno)VALUES(07,丹,女,20,管理学院,07,04);Select * FROM Student;2. 修改学生*X的信息UPDATE StudentSET Age=20WHERE Sno=02;Select * FROM Student;3. 删除课程中数据库原理的课DELETE FROM CourseWHERE Cn=数据库原理;实验七实验名称: 索引及其应用 成绩:实验目的1. 掌握使用企业管理器和Transact-SQL语句创立索引的方法。2. 了解不同索引对查询性能的影响。实验容和步骤1. 给S建立一个唯一索引CREATE unique index SCI on Student(Sno,Sn);实验八实验名称: 实现视图 成绩:实验目的1.掌握使用企业管理器和Transact-SQL语句创立视图的方法。2.握视图加密技术。3.学会通过视图来修改数据。实验容和步骤1. 创立和检验试图CREATE VIEW STASSelect Sno,Sn,Dept FROM Student2. 创立一个新的学生信息表的视图,并插入一行新数据。CREATE VIEW StASSelect Sno,Sn,Sex,Age,Dept,IDCard,Dno From StudentINSERT INTO St(Sno,Sn,Sex,Age,Dept,IDCard,Dno)VALUES(08,徐谨,男,21,人文学院,03,3);实验九实验名称:实现存储过程 成绩:实验目的1. 掌握使用企业管理器和Transact-SOL语句创立存储过程的方法。2. 掌握带参数和不带参数的存储过程的创立方法。3. 掌握显示存储过程信息的方法。实验容1. 创立如下不带参数的简单存储过程。查询成绩在6084分之间的学上的学号和课程号。CREATE PROCEDURE Student_infoASSelect Sno,Cno FROM SCWHERE Grade BETWEEN 60 AND 84;2. 创立如下带输入参数的存储过程。1根据输入的学号,删除该学生的选课成绩记录。CREATE PROCEDURE Grade_infoSno char(5)ASDelete FROM SCWHERE Sno=Sno;2向SC表中插入数据。CREATE PROCEDURE SC_info Sno char(5),Cno char(1),Grade decimal(9)ASINSERT INTO SCVALUES(Sno,Cno,Grade);3. 创立如下带输出参数的存储过程,并写出一个调用该过程的例子。根据输入的学号、课程号,输出其成绩。CREATE PROCEDURE there_info Sno char(5),Cno char(1),Grade char (9) outputASSelect Grade FROM SCWHERE SC.Sno=Sno AND SC.Cno=Cno;实验十实验名称: 实现触发器 成绩:实验目的1.创立维护数据完整性的触发器2.创立强制复杂业务规那么的触发器实验容针对学生表Student、课程表Course、学生选课表SC和表9-4,实现如下实验:创立一个名为stu_insert的触发器,向学生表Student插入记录时,自动更新班级表中的class中的学生人数Number。表9-4 班级表ClassClnoSpecialityNumber95311计算机软件295312计算机应用2CREATE TRIGGER stu_insertON Student FOR INSERT,UPDATEASSelect *FROM Student,insertedBEGINUPDATE Class SET Number=Number+1WHERE Clno=(SELECT Clno FROM inserted)END触发器前的Class表在Student表中插入数据触发后Class表实验十一实验名称:SQL Server的平安管理 成绩:实验目的1. 掌握的SQL Server平安性机制。2. 熟练掌握实现权限授予和回收的方法。3. 掌握设计和实现平安保护机制的方法。实验容1. 在企业管理器中设置SQL Server2000登录身份验证模式。步骤为:翻开企业管理器展开SQL Server组选中数据库效劳器单击鼠标右键,选择属性命令平安性选项卡设置身份验证模式为SQL Server和Windows。2. 添加SQL Server身份验证登录账户。(1) 分别使用SQL语句和图形化界面方式添加以下两个SQL Server验证登录账户。 账户1名为TestDB,密码为123456;语句:exec sp_addlogin TestDB,123456 账户2为CreateDB,密码为654321。语句:exec sp_addlogin CreateDB,654321(2) 写出添加账户1的SQL语句。exec sp_addlogin TestDB,1234563. 效劳器角色的管理。(1) 在企业管理器中查找所有效劳器角色。(2) 尝试添加或删除效劳器角色。(3) 尝试修改效劳器角色的权限。(4) 将账户CreateDB参加到Dbceator角色成员中(写出其SQL语句)。语句:EXEC sp_grantdbaccessCreateDB ,Dbcreator4. 添加或删除数据库用户角色。(1) 使用图形化工具盒SQL语句两种方法,为JWGL数据库添加TestDB,并在默认状态下查看数据库角色类型。(2) 授予CreateDB操作JWGL数据库的所有权限。(3) 尝试为数据库新增数据库角色。(4) 了解效劳器角色和数据库角色的区别。5. 授权和回收权限。(1) 授予TestDB对Student表执行SELECT的权限。语句:GRANT SELECTON TABLE StudentTO TestDB;(2) 授予TestDB对SC表执行SELECT、INSERT的权限,并允许其将该权限授予其他用户。语句: GRANT SELECT,INSERTON TABLE SCTO TestDBWITH GRANT OPTION;(3) 收回TestDB的SELECT和INSERT权限。 语句:REVOKE SELECT,INSERTON TABLE SCFROM TestDB;实验十二实验名称: 备份与恢复 成绩:实验目的1.掌握使用企业管理器规划和执行备份操作的方法2.掌握使用企业管理器执行恢复操作的方法实验容1.创立备份设备在本练习中,利用SQL server企业管理器和Transact-SQL语句,创立包含数据库和事务日志备份的备份设备。(1) 企业管理器备份数据库。利用SQL server企业管理器,对JWGL数据库执行完全数据库备份,并且将其存储到磁盘文件中。在企业管理器中,选择管理备份 备份数据库命令,利用表9-5所示信息修改相应的备份选项,单击确定按钮执行备份工作。 表9-5 备份信息字段值数据库JWGL名称JWGLFull描述学生选课数据库第1个全备备份类型数据库完全目的Jwgll重写重写现有媒体2利用Transact-SQL语句将后续备份追加到某个备份文件中。编写并执行Transact-SQL脚本,实现对数据库JWGL的再次完全数据库备份,并将该备份追加到Jwgll备份文件中。需要的信息如表9-6所示。表9-6 备份所需信息选项值数据库名称JWGL备份文件逻辑设备Jwgll追加、重写成初始化追加NOINT描述JWGL数据库第2个全备语句:BACKUP DATABASE JWGLTODISK=d:sql2000MSSQLBACKUPJwgl1.BAKWITH NOINIT,NAME=JWGL BACKUP,DESCRIPTION=JWGL数据库第2个全备3备份设备的容。在此实验中,利用SQL Server企业管理器,查看备份文件Jwgll中的容,进而确认两个完全数据库备份是否存在。翻开企业管理器 选择管理备份命令在右边的细节面板中右击Jwgll选择属性命令单击查看容确认备份文件中是否包括两个完全数据库备份。4Transact-SQL语句重写现有备份和备份日志文件。 在此实验中,编写并执行Transact-SQL脚本,实现对数据库JWGL的再次完全数据库备份,并重写文件Jwgll中的现有备份。语句:BACKUP DATABASE JWGLTODISK= d:sql2000MSSQLBACKUPJwgl1.BAK 语句:BACKUP DATABASE JWGLTODISK= d:sql2000MSSQLBACKUPJwgl1.BAK WITH INIT,NAME=JWGL BACKUP教育之通病是教用脑的人不用手,不教用手的人用脑,所以一无所能。教育革命的对策是手脑联盟,结果是手与脑的力量都可以大到不可思议。优选
展开阅读全文