3.选择提高操作实验将用数据修改语句和数据删除语句通过查询分析器。输入给SQLServer数据库,并查看、分析执行的结果,实现正确操作。①altertable读者add借阅册数int;UPDATE读者SET借阅册数=b.CcfrOm借阅,(SELECT读者编号,COUNT(书号)ccfrom借阅groupby读者编号)bwhere读者.编号=b.读者编号and借阅日期between1998-01-01'and2001-12-31"②DELETE借阅WHERE读者编号IN(SELECT编号FROM读者WHERE单位=’计算机”)实验报告要求:1)写出实验目的、实验内容、实验结果和主要实验步骤。2)列出实验前准备的实验数据。写出相关的SQL语句。3)写出实验中出现的问题、注意事项和解决方法。4)写出实验体会。注意事项:1)输入数据时要注意数据的类型、主码和数据约束的限制。2)数据更改和数据删除时要注意外码约束。3)在用T-SQL语句查询、输入、删除或修改数据时,要先打开数据库,最后执行GO语句结束。思考题:1)数据库中一般不允许更改主码数据。如果需要更改主码数据时,怎样处理?2)为什么不能随意删除被参照表中的主码?14
14 3.选择提高操作实验 将用数据修改语句和数据删除语句通过查询分析器。输入给 SQL Server 数据 库,并查看、分析执行的结果,实现正确操作。 ①alter table 读者 add 借阅册数 int; UPDATE 读者 SET 借阅册数 =b.cc from 借阅,(SELECT 读者编号,COUNT(书号) cc from 借阅 group by 读者编号) b where 读者.编号=b.读者编号 and 借阅日 期 between '1998-01-01' and '2001-12-31' ②DELETE 借阅 WHERE 读者编号 IN (SELECT 编号 FROM 读者 WHERE 单位 =’计算机’) 实验报告要求: 1)写出实验目的、实验内容、实验结果和主要实验步骤。 2)列出实验前准备的实验数据。写出相关的 SQL 语句。 3)写出实验中出现的问题、注意事项和解决方法。 4)写出实验体会。 注意事项: 1)输入数据时要注意数据的类型、主码和数据约束的限制。 2)数据更改和数据删除时要注意外码约束。 3)在用 T-SQL 语句查询、输入、删除或修改数据时,要先打开数据库,最后执行 GO 语句结束。 思考题: 1)数据库中一般不允许更改主码数据。如果需要更改主码数据时,怎样处理? 2)为什么不能随意删除被参照表中的主码?
实验3:数据库的简单查询和连接查询实验实验目的:使学生掌握SQLSerVer查询分析器的使用方法,加深对SQL和T-SQL语言的查询语句的理解。熟练掌握简单表的数据查询、数据排序和数据连接查询的SQL表达和查询分析操作方法。实验内容:1)简单查询操作。该实验包括投影、选择条件表达,数据排序,使用临时表等。2)连接查询操作。该实验包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。实验方法:将查询需求用T-SQL语言表示在SQLServer查询分析器的输入区中输入T-SQL查询语句;设置查询分析器的结果区为StandardExecute(标准执行)或ExecutetoGrid(网格执行)方式;发布执行命令,并在结果区中查看查询结果:如果结果不正确,要进行修改,直到正确为止。实验要求:1基本操作实验(1)简单查询实验在学生选课库中实现其数据查询操作。求数学系学生的学号和姓名:T-SQL语句:select学号,姓名from学生where所在系=数学求选修了课程的学生学号:T-SQL语句:selectdistinct学号from选课求选修C1课程的学生学号和成绩,结果按成绩降序排列,如成绩同按学号开序扫列:15
15 实验 3:数据库的简单查询和连接查询实验 实验目的: 使学生掌握 SQL Server 查询分析器的使用方法,加深对 SQL 和 T-SQL 语言的 查询语句的理解。熟练掌握简单表的数据查询、数据排序和数据连接查询的 SQL 表达和查询分析操作方法。 实验内容: 1)简单查询操作。该实验包括投影、选择条件表达,数据排序,使用临时表 等。 2)连接查询操作。该实验包括等值连接、自然连接、求笛卡儿积、一般连接、 外连接、内连接、左连接、右连接和自连接等。 实验方法: 将查询需求用 T-SQL 语言表示;在 SQL Server 查询分析器的输入区中输入 T-SQL 查询语句;设置查询分析器的结果区为 Standard Execute(标准执行)或 Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果; 如果结果不正确,要进行修改,直到正确为止。 实验要求: 1.基本操作实验 (1)简单查询实验 在学生选课库中实现其数据查询操作。 求数学系学生的学号和姓名: T-SQL 语句:select 学号,姓名 from 学生 where 所在系=’数学’ 求选修了课程的学生学号: T-SQL 语句:select distinct 学号 from 选课 求选修 C1 课程的学生学号和成绩,结果按成绩降序排列,如成绩同按学号升序排 列:
T-SQL语句:select学号,成绩from选课where课程号=”C1’orderby成绩desc,学号asc求选修课程C1成绩在80~90之间的学生学号和成绩,并将成绩乘以0.8输出:T-SQL语句:select学号,成绩*0.8from选课where课程号=”C1’and成绩between 80 and 90求数学或计算机系姓张的学生的信息:T-SQL语句:select*from学生where所在系in(‘数学,,计算机’)and姓名like“张%”求缺少了成绩的学生的学号和课程号T-SQL语句:select学号,课程号from选课where成绩isNULL(2)连接查询实验在学生选课库中实现其数据连接查询操作。查询每个学生的情况以及他(她)所选修的课程:T-SQL语句:select学生.*,选课.*from学生,选课where学生.学号=选课.学号求学生的学号、姓名、选修的课程及成绩:T-SQL语句:select学生.学号,姓名,课程名,成绩from学生,课程,选课where学生.学号=选课.学号and课程.课程号=选课.课程号求选修课程C1且成绩在90分以上的学生学号、姓名及成绩:T-SQL语句:select学生.学号,姓名,成绩from学生,选课where学生.学号=选课.学号and课程号=”C1’and成绩>90查询每一门课的间接先行课(即先行课的先行课):16
16 T-SQL 语句:select 学号,成绩 from 选课 where 课程号=’C1’order by 成绩 desc,学号 asc 求选修课程 C1 成绩在 80~90 之间的学生学号和成绩,并将成绩乘以 0.8 输出: T-SQL 语句:select 学号,成绩*0.8 from 选课 where 课程号=’C1’and 成绩 between 80 and 90 求数学或计算机系姓张的学生的信息: T-SQL 语句:select * from 学生 where 所在系 in(‘数学’,’计算机’)and 姓名 like ‘张%’ 求缺少了成绩的学生的学号和课程号 T-SQL 语句:select 学号,课程号 from 选课 where 成绩 is NULL (2)连接查询实验 在学生选课库中实现其数据连接查询操作。 查询每个学生的情况以及他(她)所选修的课程: T-SQL 语句:select 学生.*,选课.* from 学生,选课 where 学生.学号=选课.学 号 求学生的学号、姓名、选修的课程及成绩: T-SQL 语句:select 学生.学号,姓名,课程名,成绩 from 学生,课程,选课 where 学生.学号=选课.学号 and 课程.课程号=选课.课程号 求选修课程 C1 且成绩在 90 分以上的学生学号、姓名及成绩: T-SQL 语句:select 学生.学号,姓名,成绩 from 学生,选课 where 学生.学号= 选课.学号 and 课程号=’C1’and 成绩>90 查询每一门课的间接先行课(即先行课的先行课):
T-SQL语句:selectA.课程号,A.课程名,B.先行课from课程A,课程BwhereA.先行课=B.课程号2提高操作实验1)建立职工部门库和职工、部门表,并向表中输入数据职工表职工号姓名性别年龄所在部门1010李勇男2011刘晨女14101119部门表121012王敏女22部门号部门名称电话13211014张立男11生产科56612计划科57813一车间46714科研所2)用T-SQL语句在职工部门库中实现其数据内连接和各种外查询操作。3:选择操作实验(1)设职工一社团库有三个基本建立职工一社团数据库和基本表,向库中输入一定的记录。职工(职工号,姓名,负责人,活动地点)社会团体(编号,名称,负责人,活动地点)参加(职工号,编号,参加日期)按以下要求用T-SQL语句表示。1定义职工表、社会团体表和参加表,并说明其主码和参照关系。2参加唱歌队或篮球队的职工事情和姓名。3查找没有参加任何社会团的职工情况。4查找参加了职工号为“1001”的职工所参加的全部社会团体的职工号。3)通过SQLServer查询分析器实现查询操作。(2)设工程一零件库有四个表1)建立工程一零件数据库和基本表,向库中输入一定的记录。17
17 T-SQL 语句:select A.课程号,A.课程名,B.先行课 from 课程 A,课程 B where A. 先行课=B.课程号 2.提高操作实验 l)建立职工部门库和职工、部门表,并向表中输入数据 职工表 部门表 部门号部门名称电话 11 生产科 566 12 计划科 578 13 一车间 467 14 科研所 2 )用 T-SQL 语句在职工部门库中实现其数据内连接和各种外查询操作。 3.选择操作实验 (1) 设职工—社团库有三个基本 建立职工—社团数据库和基本表,向库中输入一定的记录。 职工(职工号,姓名,负责人,活动地点) 社会团体(编号,名称,负责人,活动地点) 参加(职工号,编号,参加日期) 按以下要求用 T-SQL 语句表示。 1 定义职工表、社会团体表和参加表,并说明其主码和参照关系。 2 参加唱歌队或篮球队的职工事情和姓名。 3 查找没有参加任何社会团的职工情况。 4 查找参加了职工号为“1001”的职工所参加的全部社会团体的职工号。 3)通过 SQL Server 查询分析器实现查询操作。 (2)设工程—零件库有四个表 l)建立工程—零件数据库和基本表,向库中输入一定的记录。 职工号姓名性别年龄所在部门 1010 李勇男 20 11 1011 刘晨女 19 14 1012 王敏女 22 12 1014 张立男 21 13
供应商(供应商代码,姓名,所在城市,联系电话);工程(工程代码,工程名,负责人,预算);零件(零件代码,零件名,规格,产地,颜色):供应零件(供应商代码,工程代码,零件代码,数量)。2)以下要求用T-SQL语句表示。(1)找出天津市供应商的姓名和电话。(2)查找使用预算在50000一100000元之间的工程的信息,并将结果按预算降序排列。(3)找出使用供应商S1所供零件名称及其数量。(4)找出工程项目J2使用的各种零件名称及其数量。3)通过SQLServer查询分析器实现查询操作。实验报告要求:1)写出实验目的、实验内容、实验结果和主要实验步骤。2)写出实验操作的T-SQL查询语句、实验结果。3)写出实验中出现的问题、注意事项和解决方法。4)写出实验体会。注意事项:1)查询分析器设置。2)T-SQL语句结束时不加“;”,3)内连接、左外部连接和右外部连接的含义及表达方法。4)输入SQL语句时应注意,语句中使用西文操作符号,包括引号、等号、逗号等。思考题:1)如何提高数据查询和连接速度?2)如何存储SQL代码和查询结果?18
18 供应商(供应商代码,姓名,所在城市,联系电话); 工程(工程代码,工程名,负责人,预算); 零件(零件代码,零件名,规格,产地,颜色); 供应零件(供应商代码,工程代码,零件代码,数量)。 2)以下要求用T-SQL 语句表示。 (1)找出天津市供应商的姓名和电话。 (2)查找使用预算在 50000—100000 元之间的工程的信息,并将结果按预算降序 排列。 (3)找出使用供应商 S1 所供零件名称及其数量。 (4)找出工程项目 J2 使用的各种零件名称及其数量。 3)通过 SQL Server 查询分析器实现查询操作。 实验报告要求: 1)写出实验目的、实验内容、实验结果和主要实验步骤。 2)写出实验操作的 T-SQL 查询语句、实验结果。 3)写出实验中出现的问题、注意事项和解决方法。 4)写出实验体会。 注意事项: 1)查询分析器设置。 2)T-SQL 语句结束时不加“;”. 3)内连接、左外部连接和右外部连接的含义及表达方法。 4)输入 SQL 语句时应注意,语句中使用西文操作符号,包括引号、等号、逗号等。 思考题: 1)如何提高数据查询和连接速度? 2)如何存储 SQL 代码和查询结果?