数据库实验指导书.docx

上传人:b****5 文档编号:7369605 上传时间:2023-01-23 格式:DOCX 页数:27 大小:65.47KB
下载 相关 举报
数据库实验指导书.docx_第1页
第1页 / 共27页
数据库实验指导书.docx_第2页
第2页 / 共27页
数据库实验指导书.docx_第3页
第3页 / 共27页
数据库实验指导书.docx_第4页
第4页 / 共27页
数据库实验指导书.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

数据库实验指导书.docx

《数据库实验指导书.docx》由会员分享,可在线阅读,更多相关《数据库实验指导书.docx(27页珍藏版)》请在冰豆网上搜索。

数据库实验指导书.docx

数据库实验指导书

实验一 数据库管理

实验名称

数据库管理(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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1