使学生掌握SQL Server Query Analyzer的使用方法,加深对SQL和T-SQL语言的查询语句的理解。熟练掌握简单表的数据查询、数据排序和数据联结广询的操作方法。 二、实验内容:
1)简单查询操作。该实验包括投影、选择条件表达,数据排序,使用临时表等。
2)连接查询操作。该实验包括等值连接、自然连接、求笛卡儿积、一般连接、外连接。 内连接、左连接、右连接和自连接等。 三、实验方法:
将查询需求用T-SQL语言表示;在SQL Server Query Analyzer的输入区中输入T-SQL查询语句;设置 Query Analyzer的结果区为Standard Execute(标准执行)或Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。 四、实验任务 1.基本操作实验 (1)简单查询实验
在学生选课库中实现其数据查询操作。 ① 求数学系学生的学号和姓名
② 求选修了课程的学生学号
③ 求选修C1课程的学生学号和成绩,结果按成绩降序排列,如成绩同按学号升序排列 ④ 求选修课程C1成绩在80~90之间的学生学号和成绩,并将成绩乘以0.8输出 ⑤ 求数学或计算机系姓张的学生的信息 ⑥ 求缺少了成绩的学生的学号和课程号 (2)连接查询实验
1)在学生选课库中实现其数据连接查询操作。 ① 查询每个学生的情况以及他(她)所选修的课程 ② 求学生的学号、姓名、选修的课程及成绩
③ 求选修课程C1且成绩在90分以上的学生学号、姓名及成绩 ④ 查询每一门课的间接先行课(即先行课的先行课)
2)在图书借阅库中实现其连接查询操作。
查询借书者的编号、姓名、单位、所借书号、书名和借阅日期 2.提高操作实验
l)建立职工部门库和职工、部门表,并向表中输入数据
职工表 职工号 1010 1011 1012 1014 姓名 李勇 刘晨 王敏 张立 性别 男 女 女 男 部门表
部门号 11 12 13 14
年龄 20 19 22 21 所在部门 11 14 12 13
部门名称 生产科 计划科 一车间 科研所 电话 566 578 467 6
2 )用T-SQL语句在职工部门库中实现其数据内连接和各种外查询操作。
⑦ 内连接Select职2.*,部门名称,电话 form 职2,部门 where 职2,所
在部门,部门号
⑧ 改为左外连接和右外连接 3.选择操作实验
(1) 设职工—社团库有三个基本
1)建立职工.社团数据库和基本表,向库中输入一定的记录。 职工(职工号,姓名,负责人,活动地点) 社会团体(编号,名称,负责人,活动地点) 参加(职工号,编号,参加日期) 2)按以下要求用T-SQL语句表示。
1定义职工表、社会团体表和参加表,并说明其主码和参照关系。 2参加唱歌队或篮球队的职工事情和姓名。
3查找没有参加任何社会团的职工情况。
4查找参加了职工号为“1001”的职工所参加的全部社会团体的职工号。 3)通过SQL Server Query Analyzer实现查询操作。 (2)设工程—零件库有四个表
l)建立工程_零件数据库和基本表,向库中输入一定的记录。 供应商(供应商代码,姓名,所在城市,联系电话); 工程(工程代码,工程名,负责人,预算); 零件(零件代码,零件名,规格,产地,颜色);
供应零件(供应商代码,工程代码,零件代码,数量)。 2)以下要求用T-SQL语句表示。
(1)找出天津市供应商的姓名和电话。
(2)查找使用预算在50000—100000元之间的工程的信息,并将结果按预算降序排列。 (3)找出使用供应商S1所供零件名称及其数量。 (4)找出工程项目J2使用的各种零件名称及其数量。 3)通过SQL Server Query Analyzer实现查询操作。 五、实验报告要求
1、用T-sql写出实验操作的查询语句。
2、实验操作步骤和实验结果,实验中出现的问题和解决方法。 3、体会和提高。
实验4:数据库的嵌套查询实验
一、实验目的
使学生进一步掌握SQL Server Query Analyzer的使用方法,加深SQL和T-SQL语言的嵌套查询语句的理解。 二、实验内容
在SQL Server Query Analyzer中使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。 三、实验方法:
将查询需求用T-SQL语言表示;在SQL Server Query Analyzer的输入区中输入T-SQL查询
7
语句;设置 Query Analyzer的结果区为Standard Execute(标准执行)或Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果; 如果结果不正确,要进行修改,直到正确为止。 四、实验任务
1.基本操作实验
①求进修了高等数学的学生学号和姓名。
②求C1课程的成绩高于张三的学生学号和成绩。
③求其他系中比计算机某学生年龄小的学生(即求年龄小于计算机系年龄最大者的学生)
④求其他系中比计算机系学生年龄都小的学生。 ⑤求进修了C2课程的学生姓名。 ⑥求职没有选修C2课程的学生姓名。
⑦查询送修了全部课程的学生姓名。
⑧求职至少选修了学生为“S2”的学生所选修的全部课程的学生学号的姓名。
用T-SQL语句表示,在学生选课库中实现其数据嵌套查询操作。
2提高操作实验
按以下要求用T-SQL语句表示并通过SQL Server Query Analyzer实现查询操作。 ①找出上海厂商供应的所有零件号码。 ②找出使用上海产的零件的工程名称。 ③找出没有使用天津产零件的工程号码。
3选择操作实验
将自设计的数据库应用项目中的数据查询操作分类,用T-SQL语句表示其中的简单、连接和嵌套查询,并通过SQL Server Query Analyzer实现其查询操作。 五、实验报告要求
1、用T-sql写出实验操作的查询语句。
2、实验操作步骤和实验结果,实验中出现的问题和解决方法。 3、体会和提高
实验5:数据库的组合查询和统计查询实验
一、实验目的
使学生熟练掌握SQL Server Query Analyzer的使用方法,加深对SQL和T-SQL语言查询语句的理解。熟练掌握数据查询中分组、统计、计算和组合的操作方法。 二、实验内容
1)分组查询实验。该实验包括分组条件表达、选择组条件表达的方法。
2)使用函数查询的实验。该实验包括统计函数和分组统计函数的使用方法。 3)组合查询实验。
4)计算和分组计算查询的实验。 三、实验方法:
将查询需求用T-SQL语言表示;在SQL Server Query Analyzer的输入区中输入T-SQL查询语句;设置 Query Analyzer的结果区为Standard Execute(标准
执行)或Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果; 如果结果不正确,要进行修改,直到正确为止。 四、实验任务
8
1.基本操作实验。
1) 查找这样的图书类别:要求类别最高的图书定价不低于全部按类别分组的图书平均定价
的确倍.
2) 求机械工业出版社出版的各类图书的平均定价,用Group By表示. 3) 列出计算机类图书的书号,名称及价格,最后求出册数和总价格.
4) 列出计算机类图书的书号,名称及价格,并求出各出版社这类书的总价格,最后求出全部
册数和总价格. 5) 查询计算机类和机械工业出版社出版的图书. 在图书借阅库中实现其查询操作。
2.提高操作实验 1) 求学生的总人数.
2) 求选修课程的学生人数. 3) 求课程和选修课程的人数. 4) 求选修课的学生学号
3选择操作实验。
l)按以下要求用T-SQL语句表示,并通过SQL Server Query Analyzer实现查询操作。 在工程—零件库中
1. 2.
把全部红色零件的颜色改为蓝色
将由供应商S5供给工程代码为J4的零件P6改为由S3供应由S3供应,并作其他必
要修改.
2)将自设计的数据库应用项目中的分组、统计、计算和组合查询,用T-SQL语句表示,并通过SQL Server Query Analyzer实现其查询操作。
五、实验报告要求
1、用T-sql写出实验操作的查询语句。
2、实验操作步骤和实验结果,实验中出现的问题和解决方法。 3、体会和提高
实验6:数据库的视图和图表的定义及使用实验
一、实验目的
使学生掌握创建与查看视图的两种方法,熟练SQLServer中的视图创建向导和图表创建向导的使用方法,加深对视图和SQL Server图表作用的理解;熟练利用代码的创建视图,并进行查看视图结果。 二、实验内容:
l)创建、查看、修改和删除视图。 2)创建、编辑和删除数据库图表。
三、实验任务
1.基本操作实验
l)在SQL Server Enterpriser Manager中调出Create View Wizard描述的视图定义,创建借阅_计算机图书视图。 Create View借阅_计算机图书
9
As select 图书.*,借阅.*
From 图书,借阅
Where 图书编号=借阅.书号 AND 图书.类别=’计算机’
2.提高操作实验
在SQL Server Enterpriser Manager中,用视图创建向导创建这3个视图。 ① 建立计算机系学生的视图
② 由学生、课程和选修课三个表,定义一个计算机系的学生成绩视图,其属性包括学号、
姓名、课程名和成绩 ③ 将学生的学号、总成绩、平均成绩定义成一个视图
3.选择操作实验
将自设计的数据库应用项目中的子模式,用T-SQL描述其视图定义,并在SQL,SQL Server Enterpriser Manager 中,用视图创建向导创建这些视图。 四、实验报告要求
1、用T-sql写出实验操作中视图创建语句,视图查看的语句。 2、实验操作步骤和实验结果,实验中出现的问题和解决方法。 3、体会和提高
实验7:数据完整性和数据安全性实验
一、实验目的
通过实验使学生加深对数据安全性和完整性的理解,并掌握在企业管理器中SQL Server中有关用户、角色及操作权限的管理方法,学会创建和使用规则、缺省和触发器。了解使用T-Sql语句管理SQLServer登陆帐户,SQLServer用户,数据库角色,管理权限的方法。 二、实验的实验内容:
1)数据库的安全性实验。在SQL Server Enterpriser Manager中,设置SQL Server的安全认证模式,实现对SQLServer的用户和角色管理,设置和管理数据操作权限。
2) 数据库的完整性实验。使用T-SQL设计规则、缺省、约束和触发器,通过SQL Server Enterpriser Manager定义它们。 三、实验任务
1.基本操作实验(参照教材)
1)在SQL Server Enterpriser Manager中为所属的SQL服务器设置WndowsNT安全认证模式。
2)在SQL Server Enterpriser Manager中为自己建立一个服务器用户、数据库用户和数据 库角色。并将自己创建的学生选课库、图书借阅库的所有操作权赋予它们,将自设计的数据 库的操作权赋予新建的数据库用户。(使用两种方法) 注:相关的语句的语法格式: 1.利用T_SQL添加sql server帐号
增加新的帐号可以执行系统存储过程sp_addlogin,格式如下: sp_addlogin login_id [,passwd,[defdb[,deflanguage]]] 2. 利用 T_SQL删除sql server登陆帐号 利用存储过程sp_droplogin 3. 利用 T_SQL添加用户
10