数据库实验报告1.docx
- 文档编号:5517668
- 上传时间:2022-12-18
- 格式:DOCX
- 页数:11
- 大小:55.75KB
数据库实验报告1.docx
《数据库实验报告1.docx》由会员分享,可在线阅读,更多相关《数据库实验报告1.docx(11页珍藏版)》请在冰豆网上搜索。
数据库实验报告1
实验1
实验项目名称基本表的定义、删除与修改(2课时,验证)
实验主要内容及方法数据表的定义、删除及修改
实验要求:
(1)了解并掌握SQL查询分析器及企业管理器的使用;
(2)掌握基本表的定义、删除与修改。
实验目的:
熟练掌握基本表的定义、删除与修改,为后继学习作准备。
实验设备:
装有SQL SERVER 2000的电脑
实验步骤:
(1) 启动SQL查询分析器;
(2) 选择SQL SERVER后,按确认;
(3)选择数据库;
1定义基本表
1建立表1所示的学生表031B09227Students,每个属性名的意义为Sno-学号、Sname-姓名、Ssex-性别、Sage-年龄、Sdept-所在系。
这里要求Sno和Sname不能为空值,且取值唯一。
2建立表2所示的课程表031B09227Courses,其属性名意义分别为Cno-课程号,Cname-课程名,Pre_Cno-先修课程号,Credits-学分。
3建立表3所示的成绩表031B09227Reports。
其中的属性名意义分别为Sno-学号,Cno-课程号和Grade-考试成绩。
2修改基本表
4向基本表031B09227Students中增加“入学时间”属性列,其属性名为Sentrancedate,数据类型为DATETIME型。
5将Sage(年龄)的数据类型改为SMALLINT型。
6删除Sname(姓名)必须取唯一值的约束。
3删除基本表
7删除031B09227Students表。
4向表中添加元组
8将一个学生元组(S01,王建平,男,21,计算机)添加到基本表031B09227Students中。
9将学习成绩的元组(‘S01’,’C01’)添加到基本表031B09227Reports中。
实验2
实验项目名称建立与删除索引(2课时,验证)
实验主要内容及方法索引的建立与删除
实验要求:
(3)掌握建立索引的二种方法,即在基本表中建立和用命令方式建立。
;
(4)掌握删除索引的方法。
实验目的:
熟练掌握索引的建立与删除的方法。
实验设备:
装有SQL SERVER 2000的电脑
实验步骤:
(1) 启动SQL查询分析器;
(2) 选择SQL SERVER后,按确认;
(4)选择数据库;
1建立索引
10为学生选课数据库中的Students,Courses,Reports三个表建立索引。
其中Students表按Sno(学号)升序建唯一索引,Courses表按Cno(课程号)升序建唯一索引,Reports表按Sno(学号)升序和Cno(课程号)号降序建唯一索引。
其语句为:
11在基本表031B09227Students的Sname(姓名)和Sno(学号)列上建立一个聚簇索引,而且Students中的物理记录将按照Sname值和Sno值的升序存放。
其语句为:
2删除索引
12删除基本表031B09227Reports上的Rep_SCno索引。
实验3
实验项目名称sql数据查询(4课时,综合)
实验主要内容及方法数据的各种查询方法
实验要求:
(5)掌握查询语句的一般格式。
;
(6)掌握无条件、有条件查询及查询结果排序与分组。
实验目的:
熟练掌握查询语句的使用。
实验设备:
装有SQL SERVER 2000的电脑
实验步骤:
(1) 启动SQL查询分析器;
(2) 选择SQL SERVER后,按确认;
(5)选择数据库;
(6)综合练习如下题:
1无条件查询
13查询全体学生的详细记录。
这是一个无条件的选择查询,其命令为:
14查询全体学生的姓名(Sname)、学号(Sno)、所在系(Sdept)。
这是一个无条件的投影查询,其命令为:
15查询全体学生的姓名(Sname)、出生年份及学号(Sno)。
由于SELECT子句的<目标列表达式>不仅可以是表中的属性列,也可以是表达式,故可以查询经过计算的值。
其命令为:
16查询全体学生的姓名、出生年份和学号,要求用小写字母表示学号中的字母。
其命令为:
17查询选修了课程的学生学号。
其命令为:
2条件查询
18查询数学系全体学生的学号(Sno)和姓名(Sname)。
其命令为:
19查询所有年龄在18~22岁(包括18岁和22岁)之间的学生姓名(Sname)及年龄(Sage)。
其命令为:
20查询年龄在18~22岁(包括18岁和22岁)之间的学生姓名(Sname)及年龄(Sage)。
其命令为:
21查询年龄不在18-22岁之间的学生姓名(Sname)及年龄(Sage)。
其命令为:
22查询自动化系、数学和计算机系学生的学号(Sno)、姓名(Sname)和性别(Ssex)。
其命令为:
23查询既不是信息系、数学系、也不是计算机系的学生的姓名(Sname)和性别(Ssex)。
其命令为:
24查询所有姓刘的学生的姓名(Sname)、学号(Sno)和性别(Ssex)。
其命令为:
25查询姓“刘”且全名为4个汉字的学生的姓名(Sname)和所在系(Sdept)。
其命令为:
26查询所有不姓刘的学生姓名(Sname)和年龄(Sage)。
27查询课程名为“DB_设计”的课程号(Cno)和学分(Credits)。
其命令为:
28查询以"DB_"开头,且倒数第2个汉字字符为“设”的课程的详细情况。
其命令为:
29假设某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。
试查询缺少成绩的学生的学号(Sno)和相应的课程号(Cno)。
其命令为:
3查询结果排序
31查询选修了C03号课程的学生的学号(Sno)和成绩(Grade),并按成绩降序排列。
其命令为:
32查询全体学生情况,查询结果按所在系的系名(Sdpet)升序排列,同一系中的学生按年龄(Sage)降序排列。
其命令为:
4集函数的使用
33查询学生总人数。
其命令为:
34查询选修了课程的学生人数。
其命令为:
35计算选修C01号课程的学生平均成绩。
其命令为:
36查询选修C01号课程的学生最高分数。
其命令为:
5查询结果分组
37求各个课程号(Cno)及相应的选课人数。
其命令为:
38查询选修了3门或3门以上课程的学生学号(Sno)。
其命令为:
实验4
实验项目名称连接、嵌套和集合查询(4课时,综合)
实验主要内容及方法各种连接、嵌套和集合查询方法
实验要求:
(7)掌握连接、嵌套和集合查询语句的一般格式。
;
(8)掌握连接、嵌套和集合查询的各种使用方法。
实验目的:
熟练掌握连接、嵌套和集合查询的使用。
实验设备:
装有SQL SERVER 2000的电脑
实验步骤:
(1) 启动SQL查询分析器;
(2) 选择SQL SERVER后,按确认;
(7)选择数据库;
(8)综合练习如下题:
一、连接查询
1不同表之间的连接查询
39查询每个学生及其选修课程的情况。
40查询每个学生的学号(Sno)、姓名(Sname)、选修的课程名(Cname)及成绩(Grade)。
本查询涉及到三个表的连接操作,完成该查询的SQL语句如下:
2自身连接
41查`询每一门课的间接先修课(即先修课的先修课)。
3外连接
42把3.37中的等值连接改为左连接。
该左连接操作在SQLServer2000中的命令格式为:
二、嵌套查询
1带谓词IN的嵌套查询
43查询选修了编号为“C02”的课程的学生姓名(Sname)和所在系(Sdept)。
44查询与“李伟”在同一个系学习的学生学号(Sno)、姓名(Sname)和系名(Sdept)。
该查询可构造嵌套查询实现,其SQL语句如下:
45查询选修了课程名为“数据结构”的学生学号(Sno)和姓名(Sname)。
2带有比较运算符的嵌套查询
46将3.42改为带有比较运算符的嵌套查询。
由于一个学生只可能在一个系学习,因此子查询的结果是一个值,因此可以用=代替IN,其SQL语句如下:
3带谓词ANY或ALL的嵌套查询
47查询非自动化系的不超过自动化系所有学生的年龄的学生姓名(Sname)和年龄(Sage)。
其查询命令为
4带谓词EXISTS的嵌套查询
48查询所有选修了编号为“C01”课程的学生姓名(Sname)和所在系(Sdept)。
本查询的SQL语句是:
49将44改为带谓词EXISTS的查询,其SQL语句如下
50查询选修了所有课程的学生姓名(Sname)和所在系。
三、集合查询
51查询计算机科学系的学生或年龄不大于20岁的学生信息。
52查询数学系的学生且年龄不大于20岁的学生的交集,这实际上就是查询数学系中年龄不大于20岁的学生。
53查询数学系的学生与年龄不大于20岁的学生的差集。
本查询的等价说法是,查询数学系中年龄大于20岁的学生。
实验5
实验项目名称SQL的数据更新(2课时,验证)
实验主要内容及方法sql数据的插入、修改和删除
实验要求:
(9)掌握sql数据插入、修改和删除语句的一般格式。
;
(10)掌握sql数据插入、修改和删除使用方法。
实验目的:
熟练掌握sql数据插入、修改和删除的使用。
实验设备:
装有SQL SERVER 2000的电脑
实验步骤:
(1) 启动SQL查询分析器;
(2) 选择SQL SERVER后,按确认;
(9)选择数据库;
(10)验证如下题:
1插入数据
54设数据库中已有一个关系History_Student,其关系模式与Students完全一样,试将关系Students中的所有元组插入到关系History_Student中去,其SQL命令为:
2修改数据
55将学号为“S03”的学生年龄改为22岁,即要修改满足条件的一个元组的属性值。
56将所有学生的年龄增加1岁。
即要修改多个元组的值。
57将数学系所有学生的成绩置零。
3删除数据
58删除学号为“S03”的学生选修的课号为“C02”的记录。
59删除所有学生的选课记录。
60删除数学系所有学生的选课记录。
实验6
实验项目名称SQL的视图(2课时,验证)
实验主要内容及方法sql视图建立、修改和删除
实验要求:
(11)掌握sql视图建立、修改和删除;
(12)掌握sql视图查询。
实验目的:
熟练掌握sql的应用。
实验设备:
装有SQL SERVER 2000的电脑
实验步骤:
(1) 启动SQL查询分析器;
(2) 选择SQL SERVER后,按确认;
(11)选择数据库;
一定义视图
1建立视图
61建立数学系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有数学系的学生,视图的属性名为Sno,Sname,Sage,Sdept。
62建立学生的学号(Sno)、姓名(Sname)、选修课程名(Cname)及成绩(Grade)的视图。
本视图由三个基本表的连接操作导出,其SQL语句如下:
63定义一个反映学生出生年份的视图。
2删除视图
64删除视图031B09227Student_CR。
二查询视图
65在数学系的学生视图031B09227C_Student中找出年龄(Sage)小于20岁的学生姓名(Sname)和年龄(Sage)。
66在031B09227Student_CR视图中查询成绩在85分以上的学生学号(Sno)、姓名(Sname)和课程名称(Cname)。
三更新视图
67将数学系学生视图031B09227C_Student中学号为S05的学生姓名改为“黄海”。
68向数学系学生视图031B09227C_Student中插入一个新的学生记录,其中学号为“S09”,姓名为“王海”,年龄为20岁。
69删除数学系学生视图031B09227C_Student中学号为“S09”的记录。
实验7
实验项目名称使用VB查询数据库表单(2课时,验证)
实验主要内容及方法在VB6.0中检索数据
实验要求:
掌握在VB6.0中检索数据的方法。
实验目的:
1、掌握VB6.0的启动与退出。
2、了解VB6.0的集成开发环境,熟悉各主要窗口的作用。
3、了解VB6.0应用程序的开发过程。
4、掌握VB中基本工具的操作。
5、掌握用VB6.0查询数据库的方法。
实验设备:
装有VB6.0的电脑
实验内容:
用Data控件与数据库db2建立连接,并将Course表中的数据显示在窗体的文本框中。
用Data控件移动记录,编程移动记录,增删纪录。
属性设置:
编程实现
实验8
实验项目名称数据库应用设计(4课时,设计)
实验主要内容及方法在VB6.0中操作数据库
实验要求:
掌握在VB6.0中操作数据库的方法。
实验目的:
5、掌握用VB6.0的ADOData与DataGrid查询数据库的方法。
实验设备:
装有VB6.0的电脑
实验内容:
用ADOData与DataGrid做一个具有查询和修改数据库northwind中的customers的程序。
用ADOData控件与数据库db1建立连接,并将customers表中的数据显示在窗体的文本框中。
用ADOData控件移动记录,编程移动记录,增删纪录。
属性设置:
编程实现:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)