实验二 交互式SQL (1)
- 格式:doc
- 大小:295.50 KB
- 文档页数:14
1 实验二 交互式SQL Server(1)
1 实验目的
1. 熟悉数据库的交互式SQL工具。
2. 熟悉通过SQL的 DDL,DML语言对数据库进行操作。
3. 完成作业的上机练习。
2 实验工具SQL-Server
利用SQL-Server及其交互式查询分析熟悉SQL。
3 实验内容和要求
SQL(Structured Query Language)语言是关系数据库的标准语言。是一种介于关系代数与关系演算之间的结构化查询语言,其功能并不仅仅是查询,SQL语言是一个通用的、功能极强的关系数据库语言。SQL Server 2000的查询分析器是一种特别用于交互式执行SQL语句和脚本的极好的工具。本次实验了解SQL Server 2000查询分析器的启动,熟悉如何在SQL
Server 2000查询分析器中进行交互式SQL操作。
本次实验了解DDL语言的CREATE、DROP、ALTER对表、索引、视图的操作,学会SQL Server 2000的查询分析器中用DDL语言进行对表、索引、视图的增加、删除和改动。
本次实验了解DML语言的INSERT、UPDATE、DELETE对数据的操作,学会SQL
Server 2000的查询分析器中用DML语言对表中的数据进行插入、删除和修改。
3.1 数据定义
1. 熟悉基本表的创建、修改及删除。
Create Table 创建表
Drop Table 删除表
Alter Table 更改表 2 2. 熟悉索引的创建和删除。
Create Index 建立索引
Drop Index 删除索引
3. 熟悉视图的创建和删除。
Create View 建立视图
Drop View 删除视图
3.2 数据操作
1. 完成各类更新操作(插入数据,修改数据,删除数据)。
Insert Into <表名> [(<属性列1>[,<属性列2>]…)] Values (<常量1>[,<常量2>]…);
Update <表名> Set <列名>=<表达式>[,<列名>=<表达式>][,…n] [Where <条件>];
Delete From <表名> [Where <条件>];
3.3 视图的操作
视图的定义(创建和删除),查询,更新(注意更新的条件)。
二、实验内容
1.启动数据库服务软件SQL Server 2000的查询分析器:
在程序菜单中选择Microsoft SQL Server,如图3-1所示: 3
图3-1
再选中查询分析器,如图3-2所示:
图3-2
点击查询分析器后,出现连接到SQL Server窗口,如图3-3所示: 4
图3-3
点击按钮,出现选择服务器窗口,如图3-4所示。
图3-4
选择本地服务(Local),点击确定按钮。
再点击连接到SQL Server窗口的确定按钮。出现SQL查询分析器主界面,如图3-5所示。 5
图3-5
选择查询菜单,点击更改数据库,如图3-6所示。
图3-6 6
出现选择数据库窗口,如图3-7所示。
图3-7
选择在上次实验中建立的数据库Test,点确定按钮。
2.在查询分析器中建立表:
在查询分析器的查询窗口中输入SQL语句,如图3-8所示。
图3-8
点击按钮,执行该SQL语句,在查询窗口下部出现一个输出窗口,如图3-9所示。 7
图3-9
提示命令成功完成,或者报告出错信息。
3.查询分析器中向表添加数据:
在查询分析器的查询窗口中输入SQL语句,如图3-10所示。
图3-10
点击按钮,执行该SQL语句,在查询窗口下部出现一个输出窗口,如图3-11所示。 8
图3-11
4.从表中查询数据:
在查询分析器的查询窗口中输入SQL语句,如图3-12所示。
图3-12
点击按钮,执行该SQL语句,在查询窗口下部出现一个输出窗口,如图3-13所示。 9
图3-13
三、实验任务
1. 定义一个学生-课程模式S-T。
2. 定义一个以“学号+姓名+学生选课”命名的数据库。
3. 打开数据库SQL Server 2000的查询分析器,用SQL语言建表student,表结构如下图所示:
字段名 类型 长度 含义
Sno char 9 学号
Sname char 20 姓名
Ssex char 2 性别
Sage smallint 年龄
Sdept char 20 所在系
4. 打开数据库用Create Table建表Course,表结构如下所示:
字段名 类型 长度 含义
Cno char 4 课程号
Cname char 40 课程名
Cpno char 4 先修课
Ccredit smallint 学分
5. 2.用Create Table建表SC,表结构如下所示:
10 字段名 类型 长度 含义
Sno char 9 学号
Cno Char 4 课程号
Grade int 成绩
6. 用Create Table建表cc,表结构如下所示:
字段名 类型 长度 含义
Cc1 Varchar 20 姓名
Cc2 Int 年龄
Cc3 Dec 10,2 成绩
Cc4 Varchar 60 地址
7. 用INSERT语句对表cc插入6条记录
Cc1 Cc2 Cc3 Cc4
赵一 20 580.00 师院宿舍12-3-5
钱二 19 540.00 南福苑5-2-9
孙三 21 555.50 学生新区21-5-15
李四 22 480.00 师院宿舍8-2-22
周五 20 495.50 学生新区23-4-8
吴六 19 435.00 南福苑2-5-12
8. 用SQL语言向表student插入如下4条记录:
Sno Sname Ssex Sage Sdept
200215121 李勇 男 20 CS
200215122 刘晨 女 19 CS
200215123 王敏 女 18
MA
200215125 张立 男 19 IS
9. 用SQL语言向表Course插入如下7条记录:
Cno Cname Cpno Ccredit
1 数据库 5 4
2 数学 2
3 信息系统 1 4 11 4 操作系统 6 3
5 数据结构 7 4
6 数据处理 2
7 PASCAL语言 6 4
10. 用SQL语言向表SC插入如下5条记录:
Sno Cno Grade
200215121 1 92
200215121 2 85
200215121 3 88
200215122 4 90
200215122 5 80
11. 用Alter Table修改表cc,添加一个字段cc5,类型Varchar,长度20。
12. 用Create View对表cc的cc1和cc4建立一个视图Viewcc,字段名为Viewcc1和Viewcc2。
13. 用Drop View删除视图Viewcc。
14. 为 student表中所有女生记录定义一个视图F_STUDENT.
15. 建立信息系选修1号课程且成绩在90分以上的学生的视图IS_90。
16. 用Create Index对表cc的cc3字段建立一个升序索引,索引名Indexcc。
17. 用Drop Index删除索引Indexcc。
18. 用Create Index对表student的Sname字段建立一个聚簇索引stusname。
19. 用Create Index对表student 按sno升序建立唯一索引stusno,对表 course按 cno升序建立唯一索引coucno,对sc表按sno升序和cno降序建立唯一索引scno。
20. 用Drop Index删除索引stusname。
21. 为student表增加“入学时间”列,数据类型为日期型。
22. 将SC表的Grade 字段数据类型改为 smallint。
23. 为Course表增加课程名必须取唯一值的约束条件。 12 24. 插入一个新学生“张成民”信息(学号200215126,姓名 张成民,性别 男,所在系IS,年龄18)到student 表中。
25. 插入一个新学生的信息(学号200215128,姓名陈东,所在系IS,年龄18)到student 表中。
26. 插入一条选课记录(’200215128’,’1’) 。
27. 用UPDATE语句,将表cc中cc2小于等于20的记录,把cc3字段加5。
28. 用DELETE语句将表cc中cc2大于等于20和cc3大于等于500的记录删除。
29. 用Drop Table删除表cc。
30. 用UPDATE语句,将表student中所有学生的年龄增加一岁。
31. 用DELETE语句将表student中学号为‘200215128’的记录删除。
32. 将以上的SQL语言存为’学号+姓名+实验2’.sql文件 ,发送到网络学堂。
附加实验内容:
数据库分离、附加、收缩、转移
一、数据库分离
SQL Server 的数据库文件包括:数据库文件(扩展名mdf)和日志文件(扩展名ldf)。一般情况下,数据库文件在SQL Server系统的安装目录的mssql/data/子目录中。正常情况下,由于数据库文件被sql server系统独占,复制文件时将会被拒绝。因此首先必须将数据库从sql
server系统中分离出来。