09级实验教案.doc

上传人:11****ws 文档编号:3178502 上传时间:2019-05-24 格式:DOC 页数:8 大小:45.50KB
下载 相关 举报
09级实验教案.doc_第1页
第1页 / 共8页
09级实验教案.doc_第2页
第2页 / 共8页
09级实验教案.doc_第3页
第3页 / 共8页
09级实验教案.doc_第4页
第4页 / 共8页
09级实验教案.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、实验 1 基本表与索引的定义、删除和修改1.实验目的本实验的目的是使学生熟悉 SQL Server 的企业管理器的用法,初步了解 SQL Server 查询分析器的使用方法,熟悉 SQL SERVER 的常用数据类型,加深对 SQL 和 SQL 语言的查询语句的理解。熟练掌握简单表与索引的创建与修改。2.实验时数 2 学时3.实验要求:a) 了解并掌握 SQL 查询分析器及企业管理器的使用;b) 掌握基本表与索引的定义、删除与修改。4.实验内容1 基本表的建立:a) 建立一个“学生表 student”,它由学号 xh、姓名 xm、性别 xb、年龄 nl、所在系 xi 五个属性组成,其中学号属性

2、为主属性,并且其值是唯一的。 b) 建立“课程 course”包括课程号 kch,课程名称 kcmc,先修课程 xxkc,学分 xf,要求建立主键课程号c) 建立“选课表 sc”包括学号 xh,课程号 kch,成绩grade,要求建立主键及与 student 及 sc 表联接的外键2 基本表的修改:a) 在选课表中增加一列“任课教师 rkjs”b) 删除选课表中 rkjs 一列c) 将 student 表的 xm 一列允许空值的属性更改成不允许为空,将列 xm 的长度由 char(8)改为 char(10)d) 建立一个临时表,再将其删除3. 索引的建立与删除a)在学生表中以学生的姓名建立降序

3、索引b)在课程表中以课程名建立升序,以学分建立降序索引c)删除以上索引5.实验过程在“企业管理器”中完成以上的任务,并查看所做的操作表现。在“查询分析器”中通过命令完成以上任务。学生根据实际操作进行填写。6.实验中存在的问题实 验 2 SQL 数据查询1.实验目的:熟练掌握查询语句的使用。熟练掌握连接、嵌套和集合查询的使用。2.实验时数 2 小时3.实验要求:1 掌握查询语句的一般格式。;2 掌握无条件、有条件查询及查询结果排序与分组。3 掌握连接、嵌套和集合查询语句的一般格式。;4 掌握连接、嵌套和集合查询的各种使用方法。4.实验内容:一、单表查询1 无条件查询例 查询全体学生的详细记录。这

4、是一个无条件的选择查询,其命令为:SELECT * /*这里的“*”等价于 ALL*/FROM Students;其结果为表 3.3 中的全部数据。2 条件查询例 查询既不是信息系、数学系、也不是计算机系的学生的姓名(Sname)和性别(Ssex) 。其命令为:SELECT Sname, SsexFROM StudentsWHERE Sdept NOT IN (自动化, 数学, 计算机);3 查询结果排序例 查询选修了 C03 号课程的学生的学号 (Sno)和成绩(Grade),并按成绩降序排列。其命令为:SELECT Sno, GradeFROM ReportsWHERE Cno=C03OR

5、DER BY Grade DESC;4 集函数的使用例 查询选修了课程的学生人数。其命令为:SELECT COUNT(DISTINCT Sno)FROM Reports;5 查询结果分组例 查询选修了 3 门或 3 门以上课程的学生学号(Sno)。其命令为:二、连接查询1 不同表之间的连接查询例 查询每个学生及其选修课程的情况。本查询实际上是涉及 Students 与 Reports 两个表的连接操作。这两个表之间的联系是通过公共属性 Sno 实现的,因此,其操作命令为:SELECT Students.*, Reports.*FROM Students, ReportsWHERE Studen

6、ts.Sno = Reports.Sno2 自身连接3 外连接三、嵌套查询1 带谓词 IN 的嵌套查询例 查询选修了编号为“C02”的课程的学生姓名(Sname)和所在系(Sdept)。2 带有比较运算符的嵌套查询例 将例 3.42 改为带有比较运算符的嵌套查询。由于一个学生只可能在一个系学习,因此子查询的结果是一个值,因此可以用=代替 IN,其 SQL 语句如下:3 带谓词 ANY 或 ALL 的嵌套查询例 查询非自动化系的不超过自动化系所有学生的年龄的学生姓名(Sname)和年龄(Sage)。其查询命令为4 带谓词 EXISTS 的嵌套查询例 查询所有选修了编号为“C01 ”课程的学生姓名

7、(Sname)和所在系(Sdept)。本查询的 SQL 语句是:四、集合查询例 查询计算机科学系的学生或年龄不大于 20 岁的学生信息。例 查询数学系的学生且年龄不大于 20 岁的学生的交集,这实际上就是查询数学系中年龄不大于 20 岁的学生。5.实验中存在的问题实 验 3 SQL 的数据更新1 实验目的:熟练掌握 sql 数据插入、修改和删除的使用。2 实验时数 2 小时3 实验要求掌握 sql 数据插入、修改和删除使用方法。掌握 sql 数据插入、修改和删除语句的一般格式。4实验内容1 插入数据(多种插入方法)例 设数据库中已有一个关系 History_Student,其关系模式与Stud

8、ents 完全一样,试将关系 Students 中的所有元组插入到关系History_Student 中去,其 SQL 命令为:2 修改数据例 将所有学生的年龄增加 1 岁。即要修改多个元组的值。UPDATE StudentsSET Sage=1+Sage;例 3.55 将数学系所有学生的成绩置零。3 删除数据例 删除学号为“S04”的学生选修的课号为“C02”的记录。例 删除数学系所有学生的选课记录。5实验存在的问题实 验 4 SQL 的视图1 实验目的:熟练掌握 sql 的视图应用。2 实验实数:2 个小时3 实验要求掌握 sql 视图建立、修改和删除 ;掌握 sql 视图查询。4实验内容

9、1 建立视图例 建立数学系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有数学系的学生,视图的属性名为Sno,Sname,Sage,Sdept 。CREATE VIEW C_StudentASSELECT Sno, Sname, Sage, Sdept FROM StudentsWHERE Sdept=数学WITH CHECK OPTION2 删除视图例 3.63 在数学系的学生视图 C_Student 中找出年龄(Sage)小于 20岁的学生姓名(Sname)和年龄(Sage) 。SELECT Sname, SageFROM C_StudentWHERE Sage20;3 更新视图例

10、 将数学系学生视图 C_Student 中学号为 S05 的学生姓名改为“黄海” 。例 删除数学系学生视图 C_Student 中学号为“S09”的记录。5实验存在的问题实 验 5 数据库设计及实现1.实验目的:熟悉数据库设计的各个阶段,会使用各种工具实现阶段性设计的表达,并使用一种语言实现数据库的连接,完成数据的显示、修改、插入和删除。2.实验时数:4 小时3.实验要求:1 会使用数据流图、数据字典表示需求分析2 使用 ER 图描述概念设计3 将概念设计转换成逻辑设计关系表4 在 SQLSERVER 环境建立数据库4.实验内容: 1 根据数据库设计各个阶段得出的内容,在 SQLSERVER 中建立数据库2 选择一种语言设计一个系统,实现连接数据库,并且可以显示数据库内容5实验存在的问题

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。