数据库实验指导书.docx
- 文档编号:7369605
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:27
- 大小:65.47KB
数据库实验指导书.docx
《数据库实验指导书.docx》由会员分享,可在线阅读,更多相关《数据库实验指导书.docx(27页珍藏版)》请在冰豆网上搜索。
数据库实验指导书
实验一 数据库管理
实验名称
数据库管理(2课时)
实验日期
使用设备
硬件:
电脑一台
软件:
Windows、SQL server2000
实验地点
实验目的
1、主要使用SQL语言建立、修改与删除数据库。
2、会使用企业管理器对数据库进行建立、修改和删除。
实
验
内
容
准备工作:
每个学生首先在D盘建立一个以自己学号为名字的文件夹,今后所有操作均在自己的文件夹中进行。
D:
\211
1、使用CREATE DATABASE创建一个Student数据库,所有参数均取默认值。
CREATEDATABASEstudent
2、创建一个Student1数据库,该数据库的主文件逻辑名称为student1_data,物理文件名为student1.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为student1_log,物理文件名为student1.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为1MB。
CREATEDATABASEstudent1
ON
(NAME=student1_data,
FILENAME=student1.mdf,
SIZE=10MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=10%
)
LOGON
(NAME=student1_log,
FILENAME=student1.ldf,
SIZE=1MB,
MAXSIZE=5MB,
FILEGROWTH=1MB
)
3、创建一个指定多个数据文件和日志文件的数据库。
该数据库的名称为students,有1个10MB和20MB的数据和2个10MB的事务日志文件。
数据文件逻辑名称为students1和students2,物理文件名为students1.mdf和students2.ndf,由primary指定,两个数据文件的最大尺寸分别为无限大和100MB,增长速度分别为10%和1MB。
事务日志文件逻辑名称为studentslog1和studentslog2,物理文件名为studentslog1.ldf和studentslog2.ldf,最大尺寸为50MB,增长速度为1MB。
CREATEDATABASEstudents
ON
(NAME=students1,
FILENAME=students1.mdf,
SIZE=10MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=10%
),
(NAME=students2,
FILENAME=students2.mdf,
SIZE=20MB,
MAXSIZE=100MB,
FILEGROWTH=1MB
)
LOGON
(NAME=studentslog1,
FILENAME=studentslog1.ldf,
SIZE=10MB,
MAXSIZE=50MB,
FILEGROWTH=1MB
),
(NAME=studentslog2,
FILENAME=studentslog2.ldf,
SIZE=10MB,
MAXSIZE=50MB,
FILEGROWTH=1MB
)
4、利用企业管理器向数据库student1可添加一个文件组,其中包括两个数据文件:
它们的逻辑名称为student1_data1和student1_data2,物理文件名为student1_1.ndf和student1_2.ndf,初始大小为5MB,最大尺寸为50MB,增长速度为2MB。
并将其设为默认文件组。
ALTERDATABASEstudent1
Addfilegroupstudent1filegroup
Go
ALTERDATABASEstudent1
Addfile(NAME=student1_data1,
FILENAME=student1_1.ndf,
SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=2MB
),
(NAME=student1_data2,
FILENAME=student1_2.ndf,
SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=2MB
)
Go
EXECUTEsp_helpdbstudent1
5、利用SQL语言对students进行修改。
将事务日志文件的大小增加到15MB,将数据文件students1和students2分别增加到15MB和30MB。
同时增加两个文件组data1和data2,分别包含一个数据文件,逻辑文件名为students3和students4,物理文件名为students3.ndf和students4.ndf,它们的初始大小为20MB,最大尺寸无限大,增长速度15%;增加一个10MB事务日志文件,最大尺寸无限制,增长速度为10%。
ALTERDATABASEstudents
MODIFYFILE(NAME=’students1’,SIZE=15MB,
NAME=’students2’,SIZE=30MB
)
LOGON
(NAME=studentslog1,SIZE=15MB,
NAME=studentslog2,SIZE=15MB
)
Addfilegroupdata1
Go
ALTERDATABASEstudents
Addfile(NAME=students3,
FILENAME=students3.ndf,
SIZE=20MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=15%
)
Addfidata2
Go
ALTERDATABASEstudents
Addfile(NAME=students4,
FILENAME=students4.ndf,
SIZE=20MB,
MAXSIZE=UNLIMITED,
FILEGROWTH=15%
)
Addlogfile
Go
ALTERDATABASEstudents
Addfile(SIZE=10MB,MAXSIZE=UNLIMITED,FILEGROWTH=10%)
Go
EXECUTEsp_helpdbstudent1
6、使用企业管理器查看student1的基本信息;使用SQL语言查看students中所有文件组和文件信息。
EXECsp_helpdbstudent1
USEstudents
GO
Sp_helpfile
[EXECUTE]sp_helpfilegroup[students]
7、使用企业管理器删除student;使用SQL语言同时删除student1和students中所有文件组和文件信息。
展开企业管理器【控制台根目录】的数据库节点,右击student,在弹出的对话框中选择【删除】,再单击【是】即可
DROPDATABASE[student1,students]
教师评语
优
良
中
及格
不及格
批改日期
实验二 表的管理与使用
实验名称
表的管理与使用(2课时)
实验日期
使用设备
硬件:
电脑一台
软件:
Windows、SQL server2000
实验地点
实验目的
1、主要使用SQL语言定义、删除与修改基本表。
2、会使用企业管理器对基本表进行建立、修改和删除。
在自己的文件夹建立student数据库,并在此数据库中建立如下的表和插入数据:
关系Students
关系Courses
关系Reports
Sno
Sname
Ssex
Sage
Sdept
S01
S02
S03
S04
S05
S06
王建平
刘华
范林军
李伟
黄河
长江
男
女
女
男
男
男
21
19
18
19
18
20
自动化
自动化
计算机
数学
数学
数学
Cno
Cname
Pre_
Cno
Cre
dits
C01
C02
C03
C04
C05
C06
C07
英语
数据结构
数据库
DB_设计
C++
网络原理
操作系统
C05
C02
C03
C07
C05
4
2
2
3
3
3
3
Sno
Cno
Grade
S01
S01
S02
S02
S02
S03
S03
S04
C01
C03
C01
C02
C03
C01
C02
C03
92
84
90
94
82
72
90
75
实
验
内
容
1、建立学生表Students,每个属性名的意义为Sno-学号、Sname-姓名、Ssex-性别、Sage-年龄、Sdept-所在系。
并用insert语句插入6条数据。
Usediannaoxs
CEATETABLEStudents
(Snovarchar(20)notnull,
Snamevarchar(30)notnull,
Ssexvarchar
(2)notnull,
Sageintnotnull,
Sdeptvarchar(30)notnull
)
INSERT[INTO]Students(Sno,Sname,Ssex,Sage,Sdep)
VALUSE(‘s01’,’王建平’,’男’,’21’,’自动化’)
INSERT[INTO]Students(Sno,Sname,Ssex,Sage,Sdep)
VALUSE(‘s02’,’刘华’,’女’,’19’,’自动化’)
INSERT[INTO]Students(Sno,Sname,Ssex,Sage,Sdep)
VALUSE(‘s03’,’范军林’,女’,18’,’计算机’)
INSERT[INTO]Students(Sno,Sname,Ssex,Sage,Sdep)
VALUSE(‘s04’,’李伟’,’男’,’19’,’数学’)
INSERT[INTO]Students(Sno,Sname,Ssex,Sage,Sdep)
VALUSE(‘s05’,’黄河’,’男’,’18’,’数学’)
INSERT[INTO]Students(Sno,Sname,Ssex,Sage,Sdep)
VALUSE(‘s06’,’长江’,’男’,’20’,’数学’)
2、建立表3.4所示的课程表Courses,其属性名意义分别为Cno-课程号,Cname-课程名,Pre_Cno-先修课程号,Credits-学分。
并用insert语句插入7条数据。
Usediannaoxs
CEATETABLECourses
(Cnovarchar(20)notnull,
Cnamevarchar(30)notnull,
Pre_Cnovarchar(20)notnull,
Creditsvarchar(30)notnull
)
INSERT[INTO]Students(Cno,Cname,Pre_Cn,Credits)
VALUSE(‘c01’,’英语’,’null’,’4’)
INSERT[INTO]Students(Cno,Cname,Pre_Cn,Credits)
VALUSE(‘c02’,’数据结构’,’c05’,’2’)
INSERT[INTO]Students(Cno,Cname,Pre_Cn,Credits)
VALUSE(‘c03’,’数据库’,’c02’,’2’)
INSERT[INTO]Students(Cno,Cname,Pre_Cn,Credits)
VALUSE(‘c04’,’DB——设计’,’c03’,’3’)
INSERT[INTO]Students(Cno,Cname,Pre_Cn,Credits)
VALUSE(‘c05’,C++’,’null’,’3’)
INSERT[INTO]STUDENTS(Cno,Cname,Pre_Cn,Credits)
VALUSE(‘c06’,’网络原理’,c07,’3’)
INSERT[INTO]Students(Cno,Cname,Pre_Cn,Credits)
VALUSE(‘c07’,’操作系统’,’c05’,’3’)
3、建立成绩表Reports。
其中的属性名意义分别为Sno-学号,Cno-课程号和Grade-考试成绩。
并用insert语句插入8条数据。
CREATETABLEReports
(SnoCHAR(5)NOTNULL,
CnoCHAR(5)NOTNULL,
GradeINT,
CONSTRAINTSno_CnoUNIQUE(Sno,Cno));
INSERT[INTO]Reports(Sno,Cno,Grade)
VALUES(‘S01’,’C01’,’92’)
INSERT[INTO]Reports(Sno,Cno,Grade)
VALUES(‘S01’,’C03’,’84’)
INSERT[INTO]Reports(Sno,Cno,Grade)
VALUES(‘S02’,’C01’,’90’);
INSERT[INTO]Reports(Sno,Cno,Grade)
VALUES(‘S02’,’C02’,’94’)
INSERT[INTO]Reports(Sno,Cno,Grade)
VALUES(‘S02’,’C03’,’82’)
INSERT[INTO]Reports(Sno,Cno,Grade)
VALUES(‘S03’,’C01’,’72’)
INSERT[INTO]Reports(Sno,Cno,Grade)
VALUES(‘S03’,’C02’,’90’)
INSERT[INTO]Reports(Sno,Cno,Grade)
VALUES(‘S04’,’C03’,’75’)
4、向基本表Students中增加“入学时间”属性列,其属性名为Sentrancedate,数据类型为DATETIME型。
usestudent
go
altertablestudents
addSentrancedateDATETIME
5、将Sage(年龄)的数据类型改为SMALLINT型。
usestudent
go
altertablestudents
altercolumnSageSMALLINT
6、删除Students表。
droptableStudents
7、将学习成绩的元组(‘S01’,’C01’)添加到基本表Reports中。
usestudents
go
insertintoReports(Sno,Cno)
values('S01','C01')
教师评语
优
良
中
及格
不及格
批改日期
实验三 数据简单查询
实验名称
数据简单查询(2课时)
实验日期
使用设备
硬件:
电脑一台
软件:
Windows、SQL server2000
实验地点
实验目的
1、掌握查询语句的一般格式。
2、掌握无条件、有条件查询及查询结果排序与分组。
实
验
内
容
1、查询全体学生的姓名(Sname)、学号(Sno)、所在系(Sdept)。
SELECTSname,Sno,Sdept
FROMStudents
2、查询全体学生的姓名(Sname)、出生年份及学号(Sno)。
SELECTSname,2012-SageBirthday,Sno
FROMStudents
3、查询所有年龄在18~22岁(包括18岁和22岁)之间的学生姓名(Sname)及年龄(Sage)。
SELECTSname,Sage
FROMStudents
WhereSagebetween18and22;
4、查询所有不姓刘的学生姓名(Sname)和年龄(Sage)。
SELECTSname,Sage
FROMStudents
WhereSnamenotlike‘刘%’;
5、查询自动化系、数学和计算机系学生的学号(Sno)、姓名(Sname)和性别(Ssex)。
SELECTSno,Sname,Ssex
FROMStudents
WhereSdeptin(‘自动化’,‘数学’,‘计算机’);
6、查询选修了C03号课程的学生的学号(Sno)和成绩(Grade),并按成绩降序排列。
SELECTSno,Grade
FROMstudents
WhereCno=’c03’
OrderbyGradedesc;
7、查询全体学生情况,查询结果按所在系的系名(Sdpet)升序排列,同一系中的学生按年龄(Sage)降序排列。
SELECT*
FROMstudents
OrderbySdpet,Sagedasc;
8、查询选修了课程的学生人数
SELECTcount(*)
FROMstudents;
9、计算选修C01号课程的学生平均成绩,最高分数,最低分数。
SELECTavg(Grade)
FROMStudents
WhereCno=’c01’;
SELECTmax(Grade)
FROMStudents
WhereCno=’c01’;
SELECTmix(Grade)
FROMStudents
WhereCno=’c01’;
10、求各个课程号(Cno)及相应的选课人数。
SELECTCno,count(Sno)
FROMStudents
GroupbyCno;
11、查询选修了3门或3门以上课程的学生学号(Sno)。
SELECTSno
FROMStudents
Havingcount(*)>=3;
教师评语
优
良
中
及格
不及格
批改日期
实验四 数据查询与更新
实验名称
数据简单查询(2课时)
实验日期
使用设备
硬件:
电脑一台
软件:
Windows、SQL server2000
实验地点
实验目的
1、掌握sql连接、嵌套和集合查询语句的一般格式和各种使用方法。
2、掌握sql数据插入、修改和删除语句的一般格式和使用方法。
实
验
内
容
1、查询每个学生及其选修课程的情况。
SELECTStudent.*,SC.*
FROMStudent,SC
WhereStudent.Sno=SC.Sno;
2、查询每个学生的学号(Sno)、姓名(Sname)、选修的课程名(Cname)及成绩(Grade)。
SELECTStudent.Sno,Sname,Cname,Grade
FROMStudent,Course,SC
WhereStudent.Sno=Sc.Sno
AndSC.Cno=Course.Cno
3、查询选修了编号为“C02”的课程的学生姓名(Sname)和所在系(Sdept)。
SELECTSname,Sdept
FROMStudent
WhereSnoin
(SELECTsno
FROMSC
Wherecno=’c02’
)
4、查询与“李伟”在同一个系学习的学生学号(Sno)、姓名(Sname)和系名(Sdept)。
SELECTSno,Sno,Sname,Sdept
FROMStudent
WhereSdeptin
(
SELECTSdept
FROMstudent
WhereSname=’李伟’
)
5、查询选修了课程名为“数据结构”的学生学号(Sno)和姓名(Sname)。
SELECTSno,Sname
FROMStudent
WhereSnoin
(SELECTSno
FROMSC
WhereCnoin
(SELECTSno
FROMCoures
WhereCname=’数据结构’
))
6、查询所有选修了编号为“C01”课程的学生姓名(Sname)和所在系(Sdept)。
SELECTSname,Sdept
FROMStudent
WhereSnoin
(SELECTsno
FROMSC
Wherecno=’c01’
)
7、查询计算机科学系的学生或年龄不大于20岁的学生信息。
SELECT*
FROMStudent
WHERESdept=’计算机’
Union
SELECT*
FROMStudent
WhereSage<=20
8、将学号为“S03”的学生年龄改为22岁。
UPDATEStudents
SETSage=22
WHERESno=’S03’;
9、将所有学生的年龄增加1岁。
UPDATEStudents
SETSage=1+Sage;
10、将数学系所有学生的成绩置零。
UPDATEReports
SETGrade=0
WHERE‘数学’=
(SELECTSdept
FROMStudents
WHEREStudents.Sno=Reports.Sno);
11、删除学号为“S04”的学生选修的课号为“C02”的记录。
DELETE
FROMReports
WHERESno=’S04’ANDCno=’C02’;
12、删除所有学生的选课记录。
DELETE
FROMReports;
13、删除数学系所有学生的选课记录。
DELETE
FROMReports
WHERE‘数学’=
(SELECTSdept
FROMStudents
WHEREStudents.Sno=Reports.Sno);
实验心得
教师评语
优
良
中
及格
不及格
批改日期
实验五 索引与视图
实验名称
索引与视图(2课时)
实验日期
使用设备
硬件:
电脑一台
软件:
Windows、SQL server2000
实验地点
实验目的
1、掌握sql建立索引的二种方法,即在基本表中建立和用命令方式建立;掌握删除索引的方法。
2、掌握sql视图建立、修改和删除。
实
验
内
容
1、为student数据库中的Students,Courses,Reports三个表建立索引。
其中Students表按Sno(学号)升序建立唯一索引,Courses表按Cno(课程号)升序建立唯一索引,Reports表按Sno(学号)升序和Cno(课程号)号降序建立唯一索引。
Greateuniqueindex
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 指导书