实验一  创建数据库和表
一、实验目的及要求:
1.了解SQL SERVER数据库的逻辑结构和物理结构
2.了解表的结构特点
3.了解SQL SERVER的基本数据结构
二、实验任务:
1.学会在企业管理器中创建数据库和表
2.学会在T-SQL语句创建数据库和表
三、操作要点:
1.启动企业管理器,并创建数据库和表
2.启动SQL查询分析器
3.掌握创建数据库和表分别是CREATE  DATABASE和CREATE  TABLE
四、注意事项:
1.在Microsoft SQL Server 2000的查询分析器(Query Analyzer)中使用单条SQL语句,其末尾不需要分号“;”作为命令结尾标记。
2.通常,SQL Server 2000对大多数末尾带有分号的SQL命令都能顺利执行,但对少数的SQL命令,末尾若带分号,则SQL Server 2000会给出错误信息提示。
五、实验学时:2学时
六、实验重点及难点:
1.列级完整性约束条件
2.空值的概念
3.CREATE  DATABASE和CREATE TABLE 的用法
七、实验步骤:
(一)企业管理器创建数据库和表
        1.启动企业管理器;
        2.创建数据库Company,并创建一个主数据文件Company_Data1,一个二级数据文件Company_Data2,一个日志文件Company_Log,以及一个自定义文件组Company_Group,该组中有数据文件Company_Data3,设置各文件属性。
(二)T-SQL语句创建数据库和表
1.启动SQL查询分析器;
2.创建数据库University,并创建一个主数据文件University_Data和一个日志文件University_Log;
3. 建立表5.3所示的学生表Students,各属性为Sno-学号、Sname-姓名、Ssex-性别、Sage-年龄、Sdept-所在系。要求Sno和Sname不能为空值,且取值唯一,Sno为键码。
 
4.建立表5.4所示的课程表Courses,各属性为Cno-课程号, Cname-课程名, Pre_Cno-先修课程号, Credits-学分,要求Cno和Cname不能为空值,Cno取值唯一,且为键码。
5.建立表5.5所示的成绩表Reports。各属性名为Sno-学号,Cno-课程号和Grade-考试成绩,要求Sno和Cno不能为空,且取值唯一,Sno+ Cno为键码。
实验二  SQL基本表的插入、删除与修改
一、实验目的及要求:
熟练掌握基本表的插入、删除与修改,为后继学习作准备。
二、实验任务:
1.了解并掌握SQL查询分析器及企业管理器的使用;
2.掌握基本表的插入、删除与修改。
三、操作要点:
1.启动SQL查询分析器
2.掌握进行插入、删除与修改分别是INSERT、DROP和UPDATE
四、注意事项:
1.注意每次对表的修改,命令执行完后要查看表的变动刷新表。
2.特别注意在执行插入、删除与修改等更新操作时,要保证数据的完整性。
3.SQL Server 2000 增加了删除属性的命令。
五、实验学时:2学时
六、实验重点及难点
1T-SQL语句对基本表的定义进行删除与修改,并插入基本表数据。
2.T-SQL语句对数据库操作的灵活控制功能。
七、实验步骤:
1.启动SQL查询分析器;
2.选择SQL SERVER后,按确认;
3.选择University数据库;
4.验证如下例题:
4.1 修改基本表
向基本表Students中增加“入学时间”属性列,其属性名为Sentrancedate,数据类型为DATETIME型。
将Sage(年龄)的数据类型改为SMALLINT型。
删除Sname(姓名)必须取唯一值的约束。
说明: 为了保证后面例子能够顺利运行,请大家一定将属性列Sentrancedate从Students表中删除。
为了调试SQL语句方便,这里没有在表Reports中增加参照完整性约束,甚至没有定义主键。
4.2 删除Students表。
说明:此表删除后,请立即将其建立起来,以便后面的例子使用。
4.3 向表中添加元组
将一个学生元组(S01,王建平,男,21,计算机)添加到基本表Students中。
请同学们用这个命令,按表5.3提供的数据,将其余5个学生的元组也添加到基本表Students中。
向Courses表插入元组(‘C01’,’英语’,’’,4)。
请同学们用这个命令,按表5.4提供的数据,将其余6门课程的信息插入Courses表中。
将学习成绩的元组(‘S01’, ’C01’)添加到基本表Reports中。
实验三    数据库的查询
一、实验目的及要求
1.熟练掌握SELECT查询语句的使用
2.掌握无条件、有条件查询及查询结果排序与分组
二、实验任务
1.掌握查询语句的一般格式。
2.掌握无条件、有条件查询及查询结果排序与分组
三、操作要点
1.进行查询时先进入查询分析器
2.明白了解无条件、有条件查询及查询结果排序与分组
四、注意事项
1.SELECT语句的基本语法格式
2.SELECT语句的执行方法
3.SELECT语句和ORDER BY子句的作用和用法
4.SELECT语句和GROUP BY子句的作用和用法
五、实验学时:4学时
六、实验重点及难点
1.SELECT语句的基本语法
2.掌握数据汇总的方法
七、实验步骤
1、查询全体学生的详细记录。
2、查询全体学生的姓名(Sname)、学号(Sno)、所在系(Sdept)。
3、查询选修了课程的学生学号。
4、查询数学系全体学生的学号(Sno)和姓名 (Sname)。
5、查询所有年龄在19~22岁(包括19岁和22岁)之间的学生姓名(Sname)及年龄(Sage)。
6、查询年龄不在19-22岁之间的学生姓名(Sname)及年龄(Sage)。
7、查询自动化系和计算机系学生的学号(Sno)、姓名(Sname)和性别(Ssex)。
8、查询所有姓刘的学生的姓名(Sname)、学号(Sno)和性别(Ssex)。
9、查询课程名为“DB_设计”的课程号(Cno)和学分(Credits)。
10、查询以"DB_"开头,且倒数第2个汉字字符为“设”的课程的详细情况。
11、假设某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。试查询缺少成绩的学生的学号(Sno)和相应的课程号(Cno)。
12、查询全体学生情况,查询结果按所在系的系名(Sdpet)升序排列,同一系中的学生按年
龄(Sage)降序排列。
13、求学生的总人数
14、求选修了课程的学生人数
15、求课程和选修了该课程的学生人数
16、求选修超过2门课的学生学号
17、查询计算机科学系的学生及年龄不大于19岁的学生
18、查询计算机科学系的学生与年龄不大于19岁的学生的交集
19、查询计算机科学系的学生与年龄不大于19岁的学生的差集
20、查询选修课程‘C01’的学生集合与选修课程‘C02’的学生集合的交集
21、查询选修课程‘C01’的学生集合与选修课程‘C02’的学生集合的差集
实验四  连接、嵌套和集合查询
一、实验目的及要求:
1.熟练掌握连接、嵌套和集合查询的使用。
2.学习各种连接、嵌套和集合查询方法。
二、实验任务
1.掌握连接、嵌套和集合查询语句的一般格式。
2.掌握连接、嵌套和集合查询的各种使用方法。
三、操作要点
1.创建表时候,在查询分析器中输入程序,编译时查看附录的出错信息再进行修改。
2.函数除了系统函数以外也可以自定义函数。
3.为了避免程序丢失,把程序保存在到规定的目录中去。
四、注意事项
1.注意T-SQL各种运算符、控制语句的功能及使用方法。
2.注意各种系统函数的调用方法。
五、实验学时:4学时
六、实验重点及难点
1.明白两个表之间的联系是通过公共属性实现的。
2.连接、嵌套和集合查询的各种使用方法。
3.多重嵌套的使用。
七、实验步骤
1、求选修了课程的学生的学生姓名、课程号和成绩。数据库属性的概念
    2、求选修了课程c01且成绩在70分以下或成绩在90分以上的学生的姓名、课程名称和成绩。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。