SQLServer实验三分解
sqlserver实验报告

实验报告:SQL Server一、实验目的本次实验旨在熟悉并掌握SQL Server数据库管理系统,了解其功能特点、操作方法和应用场景。
通过实验,我们希望深入理解数据库的基本概念,掌握SQL Server的基本操作,为后续的数据库学习和应用打下坚实的基础。
二、实验内容1. 了解SQL Server版本和功能特点通过阅读教材、查阅资料,我们了解了SQL Server的不同版本及其功能特点。
目前,SQL Server最新版本是SQL Server 2008,它只能在Windows上运行,操作系统的系统稳定性对数据库十分重要。
2. 安装SQL Server在实验过程中,我们按照教材的指导,成功安装了SQL Server 2008。
安装过程中,我们注意了安装选项的选择,确保安装了必要的组件和工具。
3. 创建和管理数据库在SQL Server中,我们通过对象资源管理器创建了名为“testdb”的数据库。
在创建过程中,我们设置了数据库的名称、文件路径、文件大小等参数。
同时,我们还学习了如何修改数据库的属性,如修改数据库的名称、删除数据库等。
4. 创建和管理表在“testdb”数据库中,我们创建了名为“employees”的表,用于存储员工信息。
在创建表的过程中,我们定义了表的列名、数据类型、约束等属性。
同时,我们还学习了如何修改表的属性,如添加列、删除列等。
5. 查询数据通过查询语句,我们从“employees”表中检索了所有员工的信息。
在查询过程中,我们使用了SELECT语句,并通过WHERE子句对结果进行了筛选。
同时,我们还学习了如何使用聚合函数对数据进行统计和分析。
6. 插入、更新和删除数据在“employees”表中,我们插入了新的员工信息,更新了现有员工的信息,并删除了离职的员工信息。
在插入、更新和删除数据的过程中,我们使用了INSERT、UPDATE和DELETE语句。
同时,我们还学习了如何使用事务来确保数据的完整性和一致性。
SQLServer数据库实验3

SQLServer数据库实验3数据库原理及应用试验报告题目:数据库定义试验专业:网络工程班级:学号:姓名:年代日一、试验目的与要求使同学加深对数据的平安性和完整性的理解.并把握SQL server 中有关用户,角色及操作权限的管理办法.认识通过SQL语句对数据举行完整性的控制.在SQL server企业管理器中,设置SQL server的平安认证模式.实现对SQL Server的用户和角色的管理,设置和管理数据操作权限.二、试验内容1,设置SQL server的平安认证模式.2,登录的管理.3.数据库用户的管理.4.角色的管理.5.在同学表上定义主键,外键约束.6.在课程的"课程名":字段上定义为一约束.7.在选课表的"成果:字段上定义check约束,使之必需大于等于0且小于等于100."课程号"字段只能输入数字字符.8.定义规章,并绑定到同学的"性别"字段",使之只能取"男,女"值.9.在同学表中增强诞生日期的字段.定义缺省的,并绑定到同学表的"诞生日期"上,使之只能取当前日期.三、解决计划1,设置SQL server的平安认证模式.在企业管理器的左侧右击登录,在弹出对话框中单击新建登录,浮现下图所示的选项卡,通过挑选单选按钮就可以挑选登录时的平安认证模式.2,登录的管理.填入一些信息后就可以新建一个登录取户. 4.角色的管理.创建一个角色: sp_addrole role01;给该角色给予一定的权限:grant all privileges on student to role01; 将gw123 加入到这个角色中:sp_addrolemember 'role01','gw123' 5. .在同学表上定义主键,外键约束.alter table student1 add constraint pk_fk01 primary key (sno) ; alter table student1 add constraint pk_fk02 foreign key(sdept);6. 在课程的"课程名":字段上定义为一约束.alter table course add constraint k_unique unique(cname);7. 在选课表的"成果:字段上定义check约束,使之必需大于等于0且小于等于100."课程号"字段只能输入数字字符.alter table sc add constraint k_grade check(grade>=0 and grade<=100);8.定义规章,并绑定到同学的"性别"字段",使之只能取"男,女"值. CREATE RULE rule_sex AS @sex IN ('男','女')sp_bindrule rule_sex,'student.ssex'9.在同学表中增强诞生日期的字段.定义缺省的,并绑定到同学表的"诞生日期"上,使之只能取当前日期.alter table student1 add brithday varchar(6);CREATE DEFAULT df_xf AS getdate()sp_bindefault df_xf,'student1.brithday'; 四、试验结果4.角色的管理.5. .在同学表上定义主键,外键约束.6. 在课程的"课程名":字段上定义为一约束.7. 在选课表的"成果:字段上定义check约束,使之必需大于等于0且小于等于100."课程号"字段只能输入数字字符.8.定义规章,并绑定到同学的"性别"字段",使之只能取"男,女"值.9.在同学表中增强诞生日期的字段.定义缺省的,并绑定到同学表的"诞生日期"上,使之只能取当前日期. 五、浮现的问题及解决的办法grant all privileges on table student to role01;--这里根据普通的规章加上table会报错解决办法去掉table .grant all privileges on student to role01; CREATE ROLE role01 ; --在sqlserve有问题sp_addrole role01; -正确的方式文档内容到此结束,欢迎大家下载、修改、丰富并分享给更多有需要的人。
sqlserver实验报告

SQL Server实验报告学院:班级:姓名:学号:实验1 SQL Server 2005 环境1、目的与要求(1)掌握SQL Server Management Studio 对象资源管理器的使用方法;(2)掌握SQL Server Management Studio查询分析器的使用方法;(3)对数据库及其对象有一个基本了解。
2、实验准备(4)了解SQL Server 2005各种版本安装的软、硬件要求;(5)了解SQL Server 2005支持的身份验证模式;(6)对数据库、表及其他数据库对象有一个基本的了解。
3、实验内容(1)SQL Server 2005 的安装。
检查软、硬件配置是否达到SQL Server 2005的安装要求,熟悉SQL Server 2005的安装方法。
(2)对象资源管理器的使用。
①进入SQL Server Management Studio。
从“开始”中选择“程序”,再选择“Microsoft SQL Server 2005”单击进入,打开“连接到服务器”窗口,如图所示。
在此窗口中使用系统默认设置连接服务器,单击“连接”,系统显示“SQL Server Management Studio”窗口。
②了解系统数据库和数据库的对象。
在SQL Server 2005安装后,系统生成4个数据库:master、model、msdb和tempdb。
在对象资源管理器中右边显示的是4个系统数据库,如图所示。
选择系统数据库master,观察SQL Server 2005对象资源管理器中数据库对象的组织方式。
其中,表、视图在“数据库”节点下,储存过程、触发器、函数、类型、默认值、规则等在“可编辑性”中,用户、角色、架构等在“安全性”中。
③试试不同数据库对象的操作方法。
展开系统数据库“master”,选择“”,单击右键。
④认识表的结构。
展开图表,查看其各列。
(3)查询分析器的使用。
(4)了解SQL Server ManagementStudio中其他窗口的使用方法。
sqlserver 实验2012(实验1-3)

《sql server 2005 数据库管理》课程实验【说明】本文档介绍的是本学期课程实验内容,其中有四次实验需要提交实验报告或设计报告,前三次每份报告记平时成绩4分,第四份报告(同时要提供建立数据库、数据表的代码)记平时成绩8分。
请各位同学注意按时提交报告,按实验报告格式打印。
目录实验一 SQL SERVER 2005的安装和使用 (4)实验二数据库的创建和管理 (5)实验三数据表的创建和管理 (9)实验一 SQL Server 2005的安装和使用一、实验目的1、了解SQL Server 2005的安装过程2、熟悉SQL Server management studio 环境3、掌握SQL Server management studio对象资源管理器和查询分析器的使用方法4、掌握创建服务器组和注册服务器的方法二、实验环境Windows XP操作系统,SQL Server 2005软件。
三、实验课时2课时。
四、实验内容1、在自己的电脑上安装SQL Server 2005系统2、练习SQL Server management studio 环境的使用3、查询分析器的使用在SQL Server management studio窗口中单击“新建查询”按钮。
在对象资源管理器的右边就会出现“查询分析器”窗口,在该窗口中输入下列命令: Use masterSelect * from dbo.spt_valuesGO单击执行按钮,查看执行结果5、创建服务器组和注册服务器创建一个服务器组group1,在此组下注册一个服务器。
查看有哪些数据库及数据库有哪些对象。
实验二数据库的创建和管理一、实验目的1、掌握使用SQL Server Management Studio和Transact-SQL语句创建数据库的方法2、掌握修改数据库、数据库更名的方法3、掌握删除数据库的方法二、实验环境Windows XP操作系统,SQL Server 2005软件。
SQL Server2000 上机实验报告

SQL Server 数据库设计实验指导实验1:第一部分:SQL Server 管理工具和实用程序一、实验目的掌握SQL Server管理工具和实用程序的使用方法及步骤。
二、实验内容1.服务器管理器的功能及其使用方法。
2.企业管理器的功能及其使用方法。
3.查询分析器的功能及其使用方法。
三、实验报告1.分别扼要写出上机操作的步骤。
四、要求1.上机前首先预习相关知识。
第二部分:管理SQL Server数据库一、实验目的掌握用企业管理器和命令两种方法管理SQL Server数据库的方法及步骤。
二、实验内容1.用企业管理器创建一个数据库Market。
2.用命令创建数据库Market。
3.用系统存储过程sp_helpdb显示数据库信息。
4.用企业管理器修改、显示并删除数据库Market。
5.用命令修改、并删除数据库Market。
三、报告1.分别扼要写出使用企业管理器操作的步骤。
2.分别写出实现操作的命令。
四、要求1.上机前首先预习相关知识。
实验2:第一部分:SQL Server数据库表结构的操作一、实验目的掌握用企业管理器和命令两种方法创建SQL Server数据库表的方法及步骤。
二、实验内容:1.用企业管理器为Market数据库创建表Customers、Goods、Orders。
2.用命令为数据库Market创建表Customers、Goods、Orders。
3.用企业管理器修改、显示并删除表。
4.用命令修改、并删除表。
上述三个表的结构如下:三、报告1.分别扼要写出使用企业管理器操作的步骤。
2.分别写出实现操作的命令。
四、要求1.上机前首先预习相关知识。
第二部分:为SQL Server数据库表录入内容一、实验目的为SQL Server数据库表录入内容,以便后续操作。
二、实验内容:1.分别为表Customers、Goods、Orders设计和添加一定数量的内容。
每表不得少于20条记录。
注意:不得违背表间的外键约束。
Mcrosoft SQL Server数据库实验报告

数据库实验报告信息科学与工程学院电子0901班吴戈林20092776实验(一): 熟练掌握SQL语言一、在数据库useri上创建学生选课有关关系模式,并插入相应的数据,实现有关查询。
1、建立学生表、课程表、选课表关系模型,并插入初始化数据。
create table Stu (Sno char(10),Sname char(10) unique,Sage smallint,Sdept char(20));create table Course (Cno char(10),Cname char(30),Ctime char(10),Ccredit smallint,Cpon char(30));create table SC (Sno char(10),Cno char(10),grade smallint);insert into Stu values('20092676','吴戈林','22','电子信息工程');insert into Stu values('20092677','刘德华','23','电子信息工程');insert into Stu values('20092667','张曼玉','18','计算机');insert into Stu values('20092678','谢翔','21','电子信息工程');insert into Stu values('20092668','陈信宏','17','计算机');insert into Stu values('20092658','陈宝国','40','计算机');insert into Course values('001','数据库原理','60',100,'计算机软件基础');insert into Course values('002','矩阵方程','64',100,'线性代数');insert into Course values('004','嵌入式系统','48',100,'单片机原理');insert into Course values('003','单片机原理','60',100,'计算机软件基础');insert into Course values('005','进阶矩阵','48',100,'矩阵方程');insert into Course values('006','医学影像处理','60',100,'计算机图像处理');insert into SC values('20092676','001',100);insert into SC values('20092677','002',100);insert into SC values('20092678','003',93);insert into SC values('20092676','003',74);insert into SC values('2009267','003',94);insert into SC values('20092668','004',100);insert into SC values('20092668','005',87);insert into SC values('20092658','006',10);截图:2、插入重复数据。
SQL数据库实验报告 实验三

实验3 SQL Server数据表的管理1.实验目的(1)掌握使用SQL Server管理平台和Transact-SQL语句CREA TE TABLE和ALTER TABLE创建和修改表的方法。
(2)掌握在SQL Server管理平台中对表进行插入、修改和删除数据操作的方法。
(3)掌握使用Transact-SQL语句对表进行插入、修改和删除数据操作的方法。
(4)了解SQL Server的常用数据类型。
2.实验内容及步骤(1)启动SQL Server管理平台,在对象资源管理器中展开studentsdb数据库文件夹。
(2)在studentsdb数据库中包含有数据表student_info、curriculum、grade,这些表的数据结构如图1-2至图1-4所示。
图1-2 学生基本情况表student_info图1-3 课程信息表curriculum图1-4 学生成绩表grade(3)在SQL Server管理平台中创建student_info、curriculum表。
(4)在SQL Server 管理平台中,将student_info 表的学号列设置为主键,非空。
(5)使用Transact-SQL语句CREA TE TABLE在studentsdb数据库中创建grade表。
(6)student_info、curriculum、grade表中的数据如图1-5至图1-7所示。
图1-5 student_info的数据图1-6 curriculum的数据图1-7 grade的数据(7)在SQL Server管理平台中为student_info、curriculum、grade表添加数据。
(8)使用Transact-SQL语句INSERT INTO...V ALUES向studentsdb数据库的grade表插入数据:学号为0004,课程编号为0001,分数为80。
(9)使用Transact-SQL语句ALTER TABLE修改curriculum表的“课程编号”列,使之为非空。
《SQLSERVER数据库应用》实验指导书_2016年版

《数据库应用》实验教学大纲一、基本信息二、实验安排三、实验目的、内容与要求实验一创建数据库和表以及表操作(一) 实验目的1.了解SQL Server数据库的逻辑结构和物理结构,表的结构特点;2.了解SQL Server的基本数据类型,空值概念;3.学会在企业管理器中创建数据库和表;4.学会使用T—SQL语句创建数据库和表;5.学会在企业管理器中对数据表进行插入、修改、删除数据操作;6.学会使用T-SQL对数据表进行插入、修改、删除数据操作;(二) 实验内容1.企业管理器访问数据库,查询分析器的使用;2.在企业管理器中创建、删除数据库和表;3.使用T-SQL语句创建数据库和表;4.在企业管理器中对数据表进行插入、修改、删除数据操作;5.使用T-SQL进行上述操作。
(三) 实验要求1.掌握在企业管理器中创建、修改、删除数据库和表;2.掌握查询分析器,使用T—SQL语句创建、修改、删除数据库和表。
实验二数据库的查询(一) 实验目的1.掌握SELECT语句的基本语法;2.掌握子查询的表示;3.掌握连接查询的表示;4.掌握数据汇总的方法;5.掌握SELECT语句的GROUP BY子句的作用和使用方法;6.掌握SELECT语句的ORDER BY子句的作用和使用方法。
(二) 实验内容1.SELECT语句的基本使用;2.子查询的使用,连接查询的使用,数据汇总,Group By、Order By子句的使用。
(三) 实验要求1.掌握数据库查询的基本的常用语句的使用方法;2.掌握数据库查询中的分组、排序等语句的使用方法。
实验三视图、存储过程、触发器等的建立与维护(一) 实验目的1.学会使用企业管理器建立视图,应用视图插入、删除、修改数据;2.掌握存储过程的使用方法;3.掌握触发器的使用方法。
(二) 实验内容1.视图插入、删除、修改数据;2.创建存储过程,调用存储过程;3.创建触发器。
(三) 实验要求1.利用所创建的数据库和数据表,综合应用视图、存储过程、触发器等知识完善数据库;2.掌握应用更新视图数据可以修改基本表数据的方法;3.熟练掌握添加、修改、删除记录的存储过程的定义及调用;4.掌握通过触发器来实现数据的参照完整性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验七(1)创建并运行存储过程student_grade,要求实现如下功能:查询studb数据库中每个学生各门课的成绩,其中包括每个学生的sno、sname、cname和score。
create procedure student_gradeasselect student.sno,student.sname,ame,student_course.score from student join student_course on student.sno=student_course.sno join course on o=student_o运行结果代码:use Studbgoexecute student_gradego(2)创建并运行名为proc_exp的存储过程,要求实现如下功能:从student_course表中查询某一学生考试的平均成绩。
create procedure proc_exp@sname varchar(8)asbeginselect sname,AVG(score)from student join student_course on student.sno=student_course.sno where sname=@snamegroup by snameend运行结果代码:use Studbgoexecute proc_exp@sname='刘招香'go(3)修改存储过程proc_exp,要求实现如下功能:输入学生学号,根据该学生所选课程的平均成绩给出提示信息,即如果平均成绩在60分以上,显示“成绩合格,成绩为XX分”,否则显示“成绩不合格,成绩为XX分”;然后调用存储过程proc_exp,输入学号0705010131,显示成绩是否合格。
alter procedure proc_exp@student_sno varchar (20)asdeclare@avg varchar(20)set@avg=(select AVG(score)from student_coursewhere sno=@student_sno)if@avg>=60 print'成绩合格,成绩为'+@avg+'分'else print'成绩不合格,成绩为'+@avg+'分'运行结果代码:use Studbgodeclare@student_sno varchar (20)select@student_sno='0705010131'exec proc_exp@student_sno(4)创建名为proc_add的存储过程,要求实现以下功能:向student_course表中添加学生记录;然后调用存储过程proc_add,向student_course表中添加学生成绩记录。
create procedure proc_add@sno char(10),@cno char(10),@score tinyintasbeginset nocount onif not exists(select*from student_course where sno=@snoand cno=@cno and score=@score) insert into student_course(sno,cno,score) values(@sno,@cno,@score)end运行结果代码:use studbgoexec proc_add'0705010102','0208','80'go执行前:执行后:(5)删除存储过程proc_exp和proc_addIF OBJECT_ID('proc_exp')IS NOT NULLDROP PROCEDURE proc_expIF OBJECT_ID('proc_add')IS NOT NULLDROP PROCEDURE proc_add实验八(1)创建触发器student_trg,当删除student表中的数据时,同时删除student_course表中相同的数据;然后通过删除student表中的某个学生记录来验证该触发器。
create trigger student_trgon studentafter deleteasbegindeletefrom student_coursewhere sno IN(select snofrom deleted)end运行结果代码:DELETE FROM studentWHERE sno='0705010303'(2)修改触发器student_trg,当更新student表中sno的值时,同时更新student_course表中相同的sno的值;然后通过修改student表中的某个学生的学号(sno)来验证该触发器ALTER TRIGGER student_trgON student AFTER UPDATEASBEGINIF UPDATE(sno)UPDATE student_courseSET sno=(SELECT sno FROM inserted)WHERE sno IN(SELECT sno FROM DELETED)END运行结果代码:UPDATE studentSET sno='0705010217'WHERE sno='0705010215'(3) 删除触发器student_trgDROP TRIGGER student_trg(4)创建一个新的触发器,要求实现“计算机系的学生选课不能超过三门”这一完整性约束,并验证该触发器。
CREATE TRIGGER student_cho ON student_course AFTER INSERTASBEGINIF EXISTS(SELECT sno FROM inserted WHERE sno in(SELECT sno FROM student WHERE dept='计算机系')AND(SELECT COUNT(*)FROM student_course WHEREstudent_course.sno=inserted.sno)>3)BEGINPRINT'计算机系的学生选课不能超过三门'ROLLBACK TRANSACTIONENDEND实验九(1)利用游标逐行显示所查询的数据块的内容:在student表中定义一个包含sno、sname、sex和dept的只读游标,游标名为c_cursor,并将游标中的数据逐条显示出来。
1.在数据库引擎上查询文档中输入如下代码:declare c_cursor scroll cursorforselect sno,sname,sex,deptfrom studentfor read onlyopen c_cursorfetch from c_cursor2.单击执行3.接着读取游标中的第二行,在查询编辑器重输入如下语句:fetch from c_cursor4.连续单击“执行”按钮,就可以逐条显示记录5.最后关闭游标、释放游标close c_cursor(2)利用游标显示指定行的数据的内容:在student表中定义一个所在系为“计算机系”,包含sno、sname、sex、和dept的游标,游标名为c_cursor,完成如下操作:declare c_cursor scroll cursorforselect sno,sname,sex,deptfrom student where dept='计算机系'for read onlyopen c_cursor1.读取第一行数据,并输出;fetch first from c_cursor2.读取最后一行数据,并输出;fetch last from c_cursor3.读取当前行的前一行数据,并输出;fetch prior from c_cursor4.读取从游标开始的第三行数据,并输出。
fetch absolute 3 from c_cursor(3)利用游标修改指定的数据元组:在student表中定义一个所在系为“计算机系”,一个包含sno、sname、sex、和dept的游标,游标名为c_cursor,将游标中绝对位置为3的学生姓名改为“胡平”,性别改为“男”。
declare c_cursor scroll cursorforselect sno,sname,sex,deptfrom student where dept='计算机系'for update of sname,sexopen c_cursorfetch absolute 3 from c_cursorupdate studentset sname='胡平',sex='男'where current of c_cursorfetch absolute 3 from c_cursor(4)编写一个使用游标的存储过程并查看运行结果,要求该存储过程以课程名(cname)和系(dept)作为输入参数,计算指定系的学生指定课程的成绩分布情况,要求分别输出大于90,80~89,70~79,60~69和60分以下的学生人数。
create procedure proc_dis@cname varchar(20),@dept varchar(50)asbegindeclare c_cursor cursorselect count(*)less60from student_coursejoin student on student.sno=student_course.snojoin course on o=student_owhere dept=@dept and cname=@cname and score<60select count(*)b60a70from student_coursejoin student on student.sno=student_course.snojoin course on o=student_owhere dept=@dept and cname=@cname and score>=60 and score<70select count(*)b70a80from student_coursejoin student on student.sno=student_course.snojoin course on o=student_owhere dept=@dept and cname=@cname and score>=70 and score<80select count(*)b80a90from student_coursejoin student on student.sno=student_course.snojoin course on o=student_owhere dept=@dept and cname=@cname and score>=80 and score<90select count(*)more90from student_coursejoin student on student.sno=student_course.snojoin course on o=student_owhere dept=@dept and cname=@cname and score>=90open c_cursorwhile@@FETCH_STATUS=0beginfetch next FROM c_cursorendclose c_cursorendgoexecute proc_dis@cname='计算机基础',@dept='计算机系' go。