数据库SQLServer实验3答案教辅教材
- 格式:doc
- 大小:175.00 KB
- 文档页数:6
SQL Server 2000实用教程(第三版)习题参考答案第1章SQL Server 数据库基础一、单项选择题1.A 2. C 3. B 4.B 5.D 6. C 7.A 8. C二、填空题1.数据之间的联系2.域完整性、参照完整性(或称引用完整性)3.数据表中某一列或某几列的组合,其值可唯一地标识表中的每一条记录。
不允许一个4.学号课程编号课程编号5.1:n (或n:1) n :m6.空值不应7.新的用户登录服务器已连接到服务器的用户继续作业三、简答题1.数据库是以一定的组织形式存放在计算机中的相关数据的集合。
数据库系统是指在计算机系统中引入数据库后的一个完整的应用系统。
包括数据库、数据库管理系统、应用程序以及用户等。
在大型数据库系统中,还专门设有数据库管理员(DBA)。
数据库管理系统是帮助用户建立、使用和管理数据库的计算机软件。
其功能包括数据定义、数据操作、数据库运行控制、数据库维护等。
2.唯一约束和主键约束的区别主要有以下几点:第一,设置主键约束的字段其值不允许为空(NULL),但设置唯一约束的字段无此要求。
第二,一个表只允许设置一个主键约束,但允许设置多个唯一约束。
此外,在SQL Server 2000中,设置唯一约束和主键约束都需创建唯一索引。
默认情况下,主键约束产生聚集索引,而唯一约束产生非聚集索引(关于聚集索引和非聚集索引的概念将在第3章讨论)。
3.(见1.3.1节)第2章数据库的创建与管理一、单项选择题1.C、B 2. D、A 3. B 4. B、C 5. C 6. B、D二、多项选择题1.1)2)3)4)6)2.1)2)4)8)三、填空题1.master tempdb model2.工具(T) F53.表格. sql4.在新窗口中编写对象脚本(W) 创建(C)5.ALTER DA TABASE REMOVE FILE6.数据文件或日志文件有大量的可用空间数据库增长的部分第3章数据表和索引1.D 2. B、A、D 3. C 4. D 5. B 6. A 7. C 8. B 9. B 10. A(注:第7题题目应为“以下关于唯一索引的说法不.正确的是”)二、多项选择题1.1)3)4)5)7)2.3)4)5)6)三、填空题1.1 1 任意2.image sql_variant3.dicimal (7,2) numeric (7,2)4.timestamp5.全局变量局部临时表6.1 2497.索引页叶级1008.查询检索修改维护9.ALTER TABLE teacher ADD birthday smalldatetime NULL10.UPDA TE course SET c_score=c_score+1 WHERE c_name=’数据库’四、简答题1.主键约束和唯一性约束,检查约束或规则,指定默认值及不允许字段为空等。
sql_server实验指导课后答案一、实验目的1、掌握SQL Server的安装及配置;2、掌握SQL Server的基本操作;3、掌握SQL Server的数据库管理;4、掌握SQL Server的数据库设计;5、掌握SQL Server的数据库查询;6、掌握SQL Server的数据库维护;7、掌握SQL Server的数据库安全管理。
二、实验内容1、安装SQL Server首先,我们需要下载SQL Server安装文件,然后双击安装文件,按照提示安装SQL Server,安装完成后,我们就可以使用SQL Server了。
2、配置SQL Server在安装完成后,我们需要配置SQL Server,配置SQL Server的方法有很多,比如设置SQL Server的安全性、设置SQL Server的连接属性、设置SQL Server的数据库文件位置等等。
3、基本操作在配置完成后,我们就可以使用SQL Server进行基本操作了,比如创建数据库、创建表、插入数据、更新数据、删除数据等等。
4、数据库管理在使用SQL Server进行基本操作后,我们还可以使用SQL Server进行数据库管理,比如创建视图、创建存储过程、创建触发器等等。
5、数据库设计在使用SQL Server进行数据库管理后,我们还可以使用SQL Server进行数据库设计,比如设计数据库模式、设计数据库索引、设计数据库视图等等。
6、数据库查询在使用SQL Server进行数据库设计后,我们还可以使用SQL Server进行数据库查询,比如使用SELECT语句查询数据、使用JOIN语句查询数据、使用GROUP BY语句查询数据等等。
7、数据库维护在使用SQL Server进行数据库查询后,我们还可以使用SQL Server进行数据库维护,比如备份数据库、恢复数据库、优化数据库等等。
8、数据库安全管理在使用SQL Server进行数据库维护后,我们还可以使用SQL Server进行数据库安全管理,比如设置用户权限、设置数据库安全策略、设置数据库审计等等。
sql_server实验指导课后答案一、实验题目1. 什么是SQL Server?答:SQL Server是一种关系型数据库管理系统(RDBMS),由微软公司开发,用于存储和管理大量的数据。
它可以处理复杂的数据查询,提供高性能的数据存储和管理,并且可以支持多种编程语言,如T-SQL、C#、Java等。
2. SQL Server的优势有哪些?答:SQL Server的优势有:(1)高性能:SQL Server提供了高性能的数据存储和管理,可以满足大量数据的需求。
(2)安全性:SQL Server提供了多种安全性功能,可以有效保护数据安全。
(3)可扩展性:SQL Server可以根据用户的需求进行扩展,满足不同的业务需求。
(4)可移植性:SQL Server可以跨多种操作系统运行,可以满足不同的环境需求。
(5)可维护性:SQL Server提供了多种维护功能,可以有效管理数据库。
3. SQL Server的组件有哪些?答:SQL Server的组件有:(1)SQL Server数据库引擎:用于存储和管理数据库中的数据。
(2)SQL Server数据库安全:用于保护数据库中的数据安全。
(3)SQL Server数据库管理工具:用于管理数据库中的数据。
(4)SQL Server数据库开发工具:用于开发数据库应用程序。
(5)SQL Server数据库报表服务:用于创建和管理报表。
(6)SQL Server数据库集成服务:用于数据集成和数据交换。
(7)SQL Server数据库分析服务:用于分析数据库中的数据。
(8)SQL Server数据库服务器:用于管理数据库服务器。
最新资料,word文档,可以自由编辑!!精品文档下载【本页是封面,下载后可以删除!】一、选择题1、下面的描述错误的是(B)A、每个数据文件中有且只有一个数据文件。
B、日志文件可以存在任何文件组中。
C、主数据文件默认为Primary文件组。
D、文件组是为了更好的实现数据库文件组织。
2、SQL server数据库文件有三类,其中主数据文件的后缀是(C)A、ndfB、ldfC、mdfD、idf3、下面标志符不合法的是(C)A、#mybaseB、-mybaseC、$mybaseD、mybase4、下面对索引的相关描述正确的是(C)A、经常被查询的列不适合建索引。
B、列值唯一的列适合建索引。
C、有很多重复值的列适合建索引。
D、是外键成主键的列不适合建索引。
5、下列SQL语句中,修改表结构的是(A)A、ALTERB、CREATEC、UPDATED、INSERT6、用于数据库恢复的重要文件是(C)A、数据库文件B、索引文件C、日志文件D、数据文件7、扩展存储过程是(B)才有的存储过程A、modec数据库B、master数据库C、msdb数据库D、tempelb数据库8、用于进行安全管理的Transalt-SQL语言是(C)A、DDL语言B、DML语言C、DCL语言D、DQL语言9、SQL Server 2000中事务的类型有(A)A、系统,用户定义的事务B、分布式事务C、数据库事务D、其它事务10、下列说法正确的是(D)A、SQL中局部变量可以不声明就使用B、SQL中全局变量必须先声明在使用C、SQL中所有变量必须先声明在使用D、SQL中只有局部变量先声明再使用,全局变量是由系统提供的,用户不能自己分立11、下面字符串能与通配符表达式[abc]%a进行匹配的是(D)A、bedefB、a_bedC、abc-eD、a%a12、下列说法正确的是(B)A、视图是观察数据的一种方法,只能基本表建立。
B、视图是虚表,观察到的数据是实际基本表中的数据。
课后实训参考答案单元1(SQL Server概述)1、使用SQL语句。
在Sale数据库中创建名为MyDataType的用户定义数据类型,数据类型为NV ARCHAR,长度为20,该列允许为NULL。
USE SaleGOEXEC sp_addtype MyDataType,'NVARCHAR(20)','NULL' GO单元2(单表数据)使用查询窗口或sqlcmd实施查询。
本实训使用Xk数据库。
--1.查看系部编号为“03”的系部名称。
USE XkGOSELECT DepartNameFROM DepartmentWHERE DepartNo='03'GO--2.查看系部名称中包含有“工程”两个字的系的全名。
USE XkGOSELECT DepartNameFROM DepartmentWHERE DepartName LIKE'%工程%' GO--3.显示共有多少个系部。
USE XKGOSELECT'系部总数'=COUNT(*)FROM DepartmentGO--4.显示“01”年级共有多少个班级。
USE XKGOSELECT'01 级班级数'=COUNT(*)FROM ClassWHERE ClassNo LIKE'2001%'GOSELECT'01 级班级数'=COUNT(*)FROM ClassWHERE ClassName LIKE'01%'GOSELECT'01 级班级数'=COUNT(*)FROM StudentWHERE ClassNo LIKE'2001%'GO--5.查看在“周二晚”上课的课程名称和教师。
USE XKGOSELECT'课程名称'=CouName,'任课教师'=TeacherFROM CourseWHERE SchoolTime='周二晚'GO--6.查看姓“张”、“陈”、“黄”同学的基本信息,要求按照姓名降序排序查询结果。
SQL数据库原理实验指导书及答案数据库原理SQLServer实验指导书1数据库系统原理实验一、基本操作实验实验1:数据库的定义实验本实验的实验目的是要求学生熟练掌握和使用SQL、T-SQL、SQL Server Enterpriser Manager Server 创建数据库、表、索引和修改表结构,并学会使用SQL Server Query Analyzer,接收T-SQL语句和进行结果分析。
本实验的内容包括:l)创建数据库和查看数据库属性。
2)创建表、确定表的主码和约束条件,为主码建索引。
3)查看和修改表结构。
4)熟悉SQL Server Enterpriser Manager和 Query Analyzer工具的使用方法具体实验任务如下。
1.基本提作实验1)使用Enterpriser Manager建立图书读者数据库2)在Enterpriser Manager中查看图书读者数据库的属性,并进行修改,使之符合要求。
3)通过Enterpriser Manager,在建好了图书借阅数据库中建立图书、读者和借阅3个表,其结构为:图书(书号,类别,出版社,作者,书名,定价,版次);读者(编号,姓名,单位,性别,电话):借阅(书号,读者编号,借阅日期人)要求为属性选择合适的数据类型,定义每个表的主键,Allow Null(是否允许空值)和 Default Value(缺省值)等列级数据约柬。
4)在Enterpriser Manager建立图书、读者和借阅3个表的表级约束:每个表的PrimaryKey2(主键)约束;借阅表与图书表间、借阅表与读者表之间的FOREIGNKEY(外码)约柬,要求按语义先确定外码约束表达式,再通过操作予以实现;实现借阅表的书号和读者编号的UNIQUE(惟一性)约束;实现读者性别只能是“男”或“女”的check (检查)约束。
2.提高操作实验建立学生_课程库操作,在查询分析器中用SQL命令实现。
数据库原理与应用教程―SQL Server习题解答1.5 习题1.数据库的发展历史分哪几个阶段?各有什么特点?答:数据库技术经历了人工管理阶段、文件系统阶段和数据库系统三个阶段。
1)人工管理阶段这个时期数据管理的特点是:数据由计算或处理它的程序自行携带,数据和应用程序一一对应,应用程序依赖于数据的物理组织,因此数据的独立性差,数据不能被长期保存,数据的冗余度大等给数据的维护带来许多问题。
2)文件系统阶段在此阶段,数据以文件的形式进行组织,并能长期保留在外存储器上,用户能对数据文件进行查询、修改、插入和删除等操作。
程序与数据有了一定的独立性,程序和数据分开存储,然而依旧存在数据的冗余度大及数据的不一致性等缺点。
3)数据库系统阶段数据库系统的特点如下:(1)数据结构化(2)较高的数据共享性(3)较高的数据独立性…(4)数据由DBMS统一管理和控制2.简述数据、数据库、数据库管理系统、数据库应用系统的概念。
答:数据是描述事物的符号记录,是信息的载体,是信息的具体表现形式。
数据库就是存放数据的仓库,是将数据按一定的数据模型组织、描述和存储,能够自动进行查询和修改的数据集合。
数据库管理系统是数据库系统的核心,是为数据库的建立、使用和维护而配置的软件。
它建立在操作系统的基础上,位于用户与操作系统之间的一层数据管理软件,它为用户或应用程序提供访问数据库的方法,包括数据库的创建、查询、更新及各种数据控制等。
凡使用数据库技术管理其数据的系统都称为数据库应用系统。
3.简述数据库管理系统的功能。
答:数据库管理系统是数据库系统的核心软件,一般说来,其功能主要包括以下5个方面。
(1) 数据定义和操纵功能(2) 数据库运行控制功能(3) 数据库的组织、存储和管理(4) 建立和维护数据库(5) 数据通信接口4.简述数据库的三级模式和两级映像。
答:为了保障数据与程序之间的独立性,使用户能以简单的逻辑结构操作数据而无需考虑数据的物理结构,简化了应用程序的编制和程序员的负担,增强系统的可靠性。
SQL Server数据库实验指导书目录实验一SQL Server常用管理工具的使用 (1)实验二数据库设计方法 (3)实验三数据库的管理 (6)实验四表的管理 (12)实验五数据查询1 (17)实验五数据查询2 (20)实验六视图的使用 (23)实验七索引 (25)实验八T-SQL语言 (26)实验九存储过程 (30)实验十触发器 (32)实验十一安全管理 (34)实验十二数据库的备份与恢复 (37)实验一SQL Server常用管理工具的使用实验目的1、理解服务的概念,掌握SQL Server服务的启动、暂停和停止;2、熟悉SQL Server数据库结构,掌握企业管理器的基本操作;3、理解查询分析器的作用,掌握查询分析器的常用用法;4、掌握联机丛书的用法。
实验内容与步骤1、服务管理器的用法SQL Server 是作为Windows 网络操作系统的一个服务运行的。
通过设置,可以在启动操作系统时自动启动SQL Server,也可以远程启动和停止SQL Server。
可以使用下列工具手工启动、暂停和停止SQL Server服务:●SQL Server企业管理器●SQL Server服务管理器●控制面板中的“服务”●在命令提示符中使用net命令net pause mssqlservernet continue mssqlservernet stop mssqlserver其中,服务管理器是最常用的图形界面工具。
实验要求1:使用SQL Server服务管理器查看SQL Server服务是否正在运行,若正在运行,将其停止。
实验要求2:使用控制面板中的“服务”管理控制台将已停止的SQL Server服务启动。
2、企业管理器的使用企业管理器是SQL Server提供的最主要的数据库管理图形界面工具,它以树形结构来组织数据库服务器、数据库和数据库中的对象,大部分的数据库管理工作都可以使用它来完成。
实验要求3:启动企业管理器,查看SQL Server的注册属性。
《SQLServer实用教程》(第三版)试题及答案D、DQL语言一、选择题 9、SQL Server 2000中事务的类型有(A) 1、下面的描述错误的是(B) A、系统,用户定义的事务 A、每个数据文件中有且只有一个数据文件。
B、分布式事务B、日志文件可以存在任何文件组中。
C、数据库事务C、主数据文件默认为Primary文件组。
D、其它事务D、文件组是为了更好的实现数据库文件组10、下列说法正确的是(D) 织。
A、SQL中局部变量可以不声明就使用 2、SQL server数据库文件有三类,其中主B、SQL中全局变量必须先声明在使用数据文件的后缀是(C)C、SQL中所有变量必须先声明在使用 A、ndfD、SQL中只有局部变量先声明再使用,全B、ldf 局变量是由系统提供的,用户不能自己分立 C、mdf 11、下面字符串能与通配符表达式[abc]%aD、idf 进行匹配的是(D)3、下面标志符不合法的是(C) A、bedefA、#mybaseB、a_bedB、-mybaseC、abc-eC、$mybaseD、a%aD、mybase 12、下列说法正确的是(B) 4、下面对索引的相关描述正确的是(C) A、视图是观察数据的一种方法,只能基本A、经常被查询的列不适合建索引。
表建立。
B、列值唯一的列适合建索引。
B、视图是虚表,观察到的数据是实际基本C、有很多重复值的列适合建索引。
表中的数据。
D、是外键成主键的列不适合建索引。
C、索引查找法一定比表扫描法查询速度快。
5、下列SQL语句中,修改表结构的是(A) D、索引的创建只和数据库的存储有关系。
A、ALTER 13、下面仅存在于服务器端的组件是(A) B、CREATE A、服务管理器C、UPDATE B、企业管理器D、INSERT C、查询分析器6、用于数据库恢复的重要文件是(C) D、导入导出组件A、数据库文件 14、SQL语言中删除一个表的命令是(B)B、索引文件 A、DELETEC、日志文件 B、DROPD、数据文件 C、CLEAR7、扩展存储过程是(B)才有的存储过程 D、REMOREA、modec数据库 15、在SQL语言中,条件“BETWEEN 20B、master数据库AND 30”表示年龄在20到30岁之间,且C、msdb数据库 (A)D、tempelb数据库 A、包括20岁和30岁8、用于进行安全管理的Transalt-SQL语言B、不包括20岁和30岁是(C)C、包括20岁不包括30岁 A、DDL语言D、不包括20岁包括30岁 B、DML语言16、为了使索引键的值在基本表中唯一,在C、DCL语言建立索引语句中应使用保留字(A)A、UNIQUE唯一的 D、数据控制语言B、COUNT 24、数据库中只存放视图的是(C)C、DISDINCT A、操作D、UNION B、对应的数据17、下面有关主键的叙述正确的是(B) C、定义A、不同的记录可以有重复主键值或空值 D、限制B、一个表中的主键可以是一个或多个字段 25、数据库中的封锁机制(LOCKS)是(C)C、在一个表中主键只可以是一个字段的主要手段D、表中的主键的数据类型必须定义为自动A、完整性编号或文本 B、安全性18、下列哪一个数据库不是SQL Server 2000C、并发控制的系统数据库( C ) D、恢复A、Master数据库 26、以下(B)语句从表TABLE_NAME中B、MSdb数据库提取前10条记录C、Xscj数据库//汗。
数据库原理与应用教程―SQL Server习题解答1.5 习题1.数据库的发展历史分哪几个阶段?各有什么特点?答:数据库技术经历了人工管理阶段、文件系统阶段和数据库系统三个阶段。
1)人工管理阶段这个时期数据管理的特点是:数据由计算或处理它的程序自行携带,数据和应用程序一一对应,应用程序依赖于数据的物理组织,因此数据的独立性差,数据不能被长期保存,数据的冗余度大等给数据的维护带来许多问题。
2)文件系统阶段在此阶段,数据以文件的形式进行组织,并能长期保留在外存储器上,用户能对数据文件进行查询、修改、插入和删除等操作。
程序与数据有了一定的独立性,程序和数据分开存储,然而依旧存在数据的冗余度大及数据的不一致性等缺点。
3)数据库系统阶段数据库系统的特点如下:(1)数据结构化(2)较高的数据共享性(3)较高的数据独立性…(4)数据由DBMS统一管理和控制2.简述数据、数据库、数据库管理系统、数据库应用系统的概念。
答:数据是描述事物的符号记录,是信息的载体,是信息的具体表现形式。
数据库就是存放数据的仓库,是将数据按一定的数据模型组织、描述和存储,能够自动进行查询和修改的数据集合。
数据库管理系统是数据库系统的核心,是为数据库的建立、使用和维护而配置的软件。
它建立在操作系统的基础上,位于用户与操作系统之间的一层数据管理软件,它为用户或应用程序提供访问数据库的方法,包括数据库的创建、查询、更新及各种数据控制等。
凡使用数据库技术管理其数据的系统都称为数据库应用系统。
3.简述数据库管理系统的功能。
答:数据库管理系统是数据库系统的核心软件,一般说来,其功能主要包括以下5个方面。
(1) 数据定义和操纵功能(2) 数据库运行控制功能(3) 数据库的组织、存储和管理(4) 建立和维护数据库(5) 数据通信接口4.简述数据库的三级模式和两级映像。
答:为了保障数据与程序之间的独立性,使用户能以简单的逻辑结构操作数据而无需考虑数据的物理结构,简化了应用程序的编制和程序员的负担,增强系统的可靠性。
SQLServer实验指导第三版课程设计一、实验内容本实验旨在通过 SQLServer 数据库的实际操作,帮助学生掌握关系数据库的创建、查询、修改和删除等基础操作,并了解 SQLServer 的相关特性和配置。
二、实验环境本实验需要安装 SQLServer 数据库管理系统,并在该系统上创建相应的数据库和表格。
建议安装 SQLServer 2012 以上版本,并在操作系统上安装相应的Microsoft .NET Framework。
三、实验步骤3.1 数据库创建使用 SQLServer 数据库管理系统,创建名为 student 的新数据库。
其中,用到的语句如下:CREATE DATABASE student;3.2 数据表创建在创建好的 student 数据库中,创建名为 score 的新数据表。
其中,用到的语句如下:USE student;GOCREATE TABLE score (id INT PRIMARY KEY,name VARCHAR(50),score INT);3.3 数据插入向 score 表格中插入一些测试数据,供后续操作使用。
其中,用到的语句如下:INSERT INTO score VALUES (1, 'Kobe', 98);INSERT INTO score VALUES (2, 'Lebron', 95);INSERT INTO score VALUES (3, 'Jordan', 99);3.4 数据查询查询 score 表格中的所有数据,显示每个学生的姓名和分数。
其中,用到的语句如下:SELECT name, score FROM score;3.5 数据更新将 id 为 1 的学生的分数修改为 99 分。
其中,用到的语句如下:UPDATE score SET score = 99 WHERE id = 1;3.6 数据删除删除 id 为 2 的学生的记录。
SQLServer实验指导第三版教学设计1. 简介SQLServer是一种关系型数据库管理系统,被广泛应用于各种大型企业和机构中。
本文主要介绍第三版SQLServer实验指导教学设计,用于指导学生在学习过程中更好地掌握SQLServer数据库管理系统的知识和技能。
2. 教学目标本次教学的主要目标是培养学生的SQLServer数据库管理系统相关知识和技能,具体目标如下:1.学习SQLServer数据库管理系统的基本概念和原理;2.掌握SQLServer数据库管理系统的基本操作方法;3.深入学习SQLServer数据库管理系统的常用操作技巧。
3. 教学内容本次教学主要包含以下内容:3.1 基本概念和原理1.数据库管理系统的概念和分类;2.SQLServer的概念和特点;3.SQLServer的体系结构和组成部分;4.SQLServer的数据库设计和规范。
3.2 基本操作方法1.SQLServer的安装和配置;2.SQLServer的管理工具和命令行操作;4.SQLServer的表操作和数据类型;5.SQLServer的数据查询和更新;6.SQLServer的事务管理和备份恢复。
3.3 常用操作技巧1.SQLServer的索引和性能优化;2.SQLServer的视图和存储过程;3.SQLServer的数据导入导出和复制;4.SQLServer的运维和安全管理。
4. 教学方法在教学中,我们采用以下方法进行教学:1.讲解:通过讲解的方式,向学生介绍SQLServer数据库管理系统的基本概念和原理,以及各种操作方法和技巧。
2.演示:通过演示的方式,向学生展示SQLServer数据库管理系统的各种操作方法和技巧,并进行实例演示。
3.实践:通过实践的方式,让学生在实际操作中,深入了解SQLServer数据库管理系统的各种操作方法和技巧。
5. 教学步骤本次教学的具体步骤如下:5.1 SQLServer数据库管理系统的基本概念和原理1.数据库管理系统的概念和分类;2.SQLServer的概念和特点;3.SQLServer的体系结构和组成部分;5.2 SQLServer数据库管理系统的基本操作方法1.SQLServer的安装和配置;2.SQLServer的管理工具和命令行操作;3.SQLServer的数据库创建和删除;4.SQLServer的表操作和数据类型;5.SQLServer的数据查询和更新;6.SQLServer的事务管理和备份恢复。
use jiaoxuedbgo--page154实验--1利用学生姓名查询该生选修的课程名,成绩,以及任课教师姓名if object_id('pro_1')is not nulldrop procedure pro_1gocreate procedure pro_1(@sn char(8))asbeginselect cn,score,tn from student,sc,course,tc,teacher wherestudent.sno=sc.sno and o=o and tc.tno=teacher.tno and o=o and sn=@snend--查询declare @sn char(8)exec pro_1 '张建国'--2查询某系的学生的最大年龄和最小年龄--select dept ,max(age) maxage,min(age) minage from student group by dept if object_id('pro_2')is not nulldrop procedure pro_2gocreate procedure pro_2(@dept char(10),@maxage tinyint output,@minage tinyint output)asbeginselect @maxage=max(age),@minage=min(age)from student where dept=@dept end--查询declare @dept char(10),@maxage tinyint,@minage tinyintexec pro_2 '计算机',@maxage output,@minage outputprint @maxageprint @minage--3利用学生姓名和课程名检索该生该课程的成绩if object_id('pro_3')is not nulldrop procedure pro_3gocreate procedure pro_3(@sn char(8),@cn char(10),@score tinyint output)asbeginselect @score=score from student,sc,course where sn=@sn and cn=@cn end--查询declare @sn char(8),@cn char(10),@score tinyintexec pro_3 '张建国','数据库',@score outputprint @score--4根据职称查询人数,并给出“副教授”的人数if object_id('pro_4')is not nulldrop procedure pro_4gocreate procedure pro_4(@prof char(10),@count smallint output)asbeginselect @count=count(*)from teacher where prof=@profend--查询declare @prof char(10),@count smallintexec pro_4 '副教授',@count outputprint @count--5统计某系某职称的人数,平均年龄,平均工资,最高工资if object_id('pro_5')is not nulldrop procedure pro_5gocreate procedure pro_5(@dept char(10),@prof char(10),@count smallint output,@avgage tinyint output,@avgsal smallint output,@maxsal smallint output)asbeginselect@count=count(*),@avgage=avg(age),@avgsal=avg(sal),@maxsal=max(sal) from teacher where dept=@dept and prof=@profend--查询declare @dept char(10),@prof char(10),@count smallint,@avgage tinyint,@avgsal smallint,@maxsal smallintexec pro_5 '计算机','讲师',@count output,@avgage output,@avgsal output,@maxsal outputprint @countprint @avgageprint @avgsalprint @maxsal--6查询某系的教师人数,平均年龄和学生人数--select teacher.dept,count(distinct tno) t,avg(teacher.age) avgage,count(distinct sno) s from teacher,student whereteacher.dept=student.dept group by teacher.dept having teacher.dept='计算机'if object_id('pro_6')is not nulldrop procedure pro_6gocreate procedure pro_6(@dept char(10),@tcount smallint output,@avgage tinyint output,@scount smallint output)asbeginselect @tcount=count(distincttno),@avgage=avg(teacher.age),@scount=count(distinct sno)from teacher,student where teacher.dept=student.dept group by teacher.dept having teacher.dept=@deptend--查询declare @dept char(10),@tcount smallint,@avgage tinyint,@scount smallintexec pro_6 '计算机',@tcount output,@avgage output,@scount outputprint @tcountprint @avgageprint @scount--7利用课程名查询选修该课程的学生姓名,系别,成绩,并给出“程序设计”该课程的查询信息if object_id('pro_7')is not nulldrop procedure pro_7gocreate procedure pro_7(@cn char(10))asbeginselect sn,dept,score from student,sc,course where student.sno=sc.sno and o=o and cn=@cnend--查询declare @cn char(10)exec pro_7 '程序设计'--8利用教师姓名和课程名检索该教师该任课的课程名,课时数,选课人数,平均成绩,最高成绩,并查询教师"张雪"的"微机原理"课程的情况记录select tn,o,cn,ct,count(sno)as选课人数from sc,course,tc,teacher where o=o and teacher.tno=tc.tno ando=o group by o,cn,ct,tnif object_id('pro_8')is not nulldrop procedure pro_8gocreate procedure pro_8(@tn char(8),@cn char(10))asbeginselect cn,ct,count(sno)as选课人数,avg(score)as平均成绩,max(score)as最高成绩from sc,course,tc,teacher where o=o andteacher.tno=tc.tno and o=o and tn=@tngroup by o,cn,ct having cn=@cnend--查询declare @tn char(8),@cn char(10)exec pro_8 '张雪','微机原理'--9删除实验题创建的存储过程。
SQL数据库综合实训3参考解答实训名称:查询语句及应用一、实训目的通过完成以下实践与操作,牢固掌握SQL Server 中SELECT语句及相关子句的运用;二、实训环境PC机+Windows XP操作系统+SQL Server 2000;三、实训内容与要求现有一数据库GradeManager(成绩管理),包括四个表:学生表(Student)、课程表(Course)、班级表(Class)以及成绩表(Grade)。
四个表的结构如下:各表中的数据如下:利用如上的成绩管理数据库与表、数据,实现以下的查询。
1.找出所有被学生选修了的课程号;use GradeManagerselect distinct Cno from Gradego2.找出01311班女学生的个人信息;use GradeManagerselect * from Student where (Ssex='女' and Clno='01311') go3.找出01311班、01312班的学生姓名、性别;use GradeManagerselect * from Student where (Clno='01311' or Clno='01312') go4.找出所有姓李的学生的个人信息;use GradeManagerselect * from Student where Sname like '李%'go5.找出学生李勇所在班级的学生人数;use GradeManagerselect Clno from Student where Sname='李勇'go查出李通所在班级是'00311',再用如下语句查询:use GradeManagerselect Clno,count(*) as '班级人数' from Student where Clno='00311' group by Clnogo或者合并一下,用如下语句(查询结果是一样的):use GradeManagerselect Clno,count(*) as '班级人数' from Student where Clno=(select Clno from Student where Sname='李勇') group by Clnogo6.找出课程名为操作系统的平均成绩、最高分、最低分;--查平均分use GradeManagerselect Cno,avg(Gmark) as '最高分' from Grade where Cno=(select Cno from Course where Cname='操作系统') group byCnogo--查最高分use GradeManagerselect Cno,max(Gmark) as '最高分' from Grade where Cno=(select Cno from Course where Cname='操作系统') group by Cnogo--查最低分use GradeManagerselect Cno,min(Gmark) as '最高分' from Grade where Cno=(select Cno from Course where Cname='操作系统') group by Cnogo7.找出选修了课程的学生人数;use GradeManagerselect Sno,count(*) as '选修的课程数量' from Grade group by Snogo8.找出选修了课程操作系统的学生人数;use GradeManagerselect Cno,count(*) as '选修人数' from Grade where Cno=(select Cno from Course where Cname='操作系统') group by Cnogo9.找出2000级计算机软件班的成绩为空的学生姓名。
实验3 SQL Server数据表管理
一、实验目的
1.学会使用SQL Server管理平台和Transact-SQL语句CREATE TABLE 和ALTER TABLE创建和修改表。
2.学会在SQL Server管理平台中对表进行插入、修改和删除数据操作。
3.学会使用Transact-SQL语句对表进行插入、修改和删除数据操作。
4.了解SQL Server的常用数据类型。
二、实验内容
1.启动SQL Server管理平台,在对象资源管理器中展开“studentsdb数据库文件夹。
2.在studentsdb数据库中创建数据表《学生表》、《课程表》、《成绩表》,数据结
构如图3-1、图3-2和图3-3所示。
图3-1 学生表
图3-2 课程表
图3-3 成绩表3.在SQL Server管理平台中创建《学生表》、《课程表》。
4.在SQL Server管理平台中,将《学生表》的学号列设置为主键,非空。
5.使用Transact-SQ语句CREATE TABLE在studentsdb数据库中创建《成绩表》。
6.《学生表》、《课程表》、《成绩表》中的数据如图3-4、图3-5和图3-6所示。
7.在SQL Server管理平台中为《学生表》、《课程表》、《成绩表》添加数据。
(注意:在添加数据是必须逐行输入,否则系统将会报错,显示“出错信息为:键列信息不足或不正确。
更新影响到多行”,产生原因是由于相同记录所造成)。
8.使用Transact-SQL语句INSERT NTTO …VALUES向studentsdb数据库的《成绩表》插入以下数据:
学号课程编号成绩
0004 0001 80
9.使用Transact-SQL语句ALTER TABLE修改《课程表》的“课程编号”列,使之为非空。
10.使用Transact-SQL语句ALTER TABLE修改《成绩表》的“分数”列,使其数据类型为real。
11.使用Transact-SQL语句ALTER TABLE修改《学生表》的“姓名”列,数据类型为vachar(10)且非空。
12.分别使用SQL Server管理平台和Transact-SQL语句DELETE删除studentsdb数据库的《成绩表》中学号为“0004”的成绩记录。
13.使用Transact-SQL语句UPDATE修改studentsdb数据库的《成绩表》中学号为’0003’、课程编号为’0005’、分数为90的成绩记录。
14.使用Transact-SQL语句ALTER…ADD为studentsdb数据库的《成绩表》添加一个名为“备注”的数据列,其数据类型为VARCHAR(20)。
15.分别使用SQL Server管理平台和Transact-SQL语句DROP TABLE删除studentsdb数据库中《成绩表》。
三、实验思考
1.使用Transact-SQL语句删除在studentsdb数据库的《成绩表》添加的“备注”数据列。
USE studentsdb1
ALTER TABLE dbo.成绩表ADD备注VARCHAR(20)NULL
2.在SQL Server管理平台中,studentsdb数据库的《学生表》的数据输入时,如果输入相同“学号”的记录将出现什么现象?怎样避免该情况的发生?。