数据库实验指导书zaWord格式.docx

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

数据库实验指导书zaWord格式.docx

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

数据库实验指导书zaWord格式.docx

参考源代码:

--创建学生数据库

CREATEDATABASEstudent

ONPRIMARY

(NAME=student1_dat,

FILENAME='

e:

\学习\student1_dat.mdf'

SIZE=10,MAXSIZE=50,FILEGROWTH=15%),

(NAME=student2_dat,

\学习\student2_dat.Ndf'

FILEGROUPstudentGroup1

(NAME=student1Fi1_dat,

\学习\student1Fi1_dat.ndf'

SIZE=10,MAXSIZE=50,FILEGROWTH=5),

(NAME=student1Fi2_dat,

\学习\student1Fi2_dat.ndf'

FILEGROUPstudentGroup2

(NAME=student2Fi1_dat,

\学习\student2Fi1_dat.ndf'

(NAME=student2Fi2_dat,

\学习\student2Fi2_dat.ndf'

SIZE=10,MAXSIZE=50,FILEGROWTH=5)

LOGON

(NAME=student_log,

\学习\student-log.ldf'

SIZE=5,MAXSIZE=25,FILEGROWTH=5)

--查看数据库属性

--主要通过sp_helpdb来完成查看操作,语法如下

sp_helpdb[[@dbname=]’database’]

[,[@optname=]’option_name’]

[,[@optvalue=]’option_value’]

--修改日志文件的最大值为150MB

USEstudent

GO

ALTERDATABASEstudentMODIFY

FILE(NAME=student1_log,MAXSIZE=150MB)

--修改日志文件的初始值为20MB

FILE(NAME=student1_log,SIZE=20MB)

--查看数据库信息(验证数据库是否已经修改成功)

sp_helpdbstudent

--更改数据库(语法)

ALTERDATABASE

{--向指定的文件组里增加新的数据文件

ADDFILE<

filespec>

[1…n][TOFILEGROUPfilegroup_name]

--增加新的日志文件

|ADDLOGFILE<

[1…n]

--删除某一个操作系统文件

|REMOVEFILElogical_file_name

--增加一个文件组

|ADDFILEGROUPfilegroup_name

--删除某一个文件组

|REMOVEFILEGROUPFILEGROUPfilegroup_name

--修改某操作系统文件属性

|MODIFYFILE<

--修改某文件组的属性,其中包括READONLY(只读)、READWRITE(可读,--可写)、DEFAULT(设置该文件组为默认文件组)

|MODIFYFILEGROUPfilegroup_namefilegroup_property

}

<

:

=

(NAME=logical_file_name

[,FILENAME=’os_file_name’]

[,SIZE=size]

[,MAXSIZE={max_size|UNLIMITED}]

[,FILEGROWTH=growth_increment])

--删除数据库

DROPDATABASEstudent

--缩小数据库(语法)

BDCCSHRINKDATABASE

(database_name[,target_percent]

--arget_percent:

当数据库被缩小后还剩下的自由空间。

[,{NOTRUNCATE|TRUNCATEONLY}]

--NOTRUNCATE:

被释放的空间将不被操作系统回收,仍保持在数据库文件内。

--TRUNCATEONLY:

将所有未使用的数据库空间释放并让操作系统回收,将忽--略arget_percent

--缩小某一个操作系统文件的长度(语法)

DBCCSHRINKFILE

(file_name

{[,target_size]--将文件缩小到指定长度

|[,{EMPTYFILE|NOTRUNCATE|TRUNCATEONLY}]

--EMPTYFILE:

将指定文件上的数据全部转移到本文件组内其他文件上,以后--的操作将不会再在该文件上增加数据。

实验一、2.SQL定义、删除、修改表实验

一、实验目的

掌握运用sqlserver中Transact_SQL语句创建、删除、修改表。

二、实验要求

1.创建学生或物资数据库的表。

2.给出相应的程序注释。

三、实验步骤

3.使用Transact_SQL语句创建、修改和删除表

4.编译并执行Transact_SQL语句。

四、参考源代码

1.创建学生表

--创建名为Student的学生表

CREATETABLEStudent

--学号列,类型:

固定长度为5的字符串

(SnoCHAR(5),

--姓名,最大长度为20的可变字符串

SnameVARCHAR(20)unique,

--性别,固定长度为2的字符串

SsexCHAR

(2),

--年龄,整型

SageINT,

--所在系别,最大长度为15的可变字符串

SdeptCHAR(15)

--设置学号列为主码

PRIMARYKEY(Sno));

2.创建课程表

--创建名为Course的课程表

CREATETABLECourse(

--课程号列,类型:

固定长度为3的字符串

CnoCHAR(3),

--课程名,最大长度为20的可变字符串

CnameVARCHAR(20),

--先行课号,类型:

固定长度为3的字符串

CpnoCHAR(3),

--学分,整型

CcreditINT,

--设置课程号列为主码

Primarykey(Cno),

--设置先行课号为外码(参照本表)

Foreignkey(Cpno)REFERENCESCourse);

3.创建选课表

--创建名为SC的选课表

CREATETABLESC(

SnoCHAR(5),

CnoCHAR(3),

--成绩列,整型

Gradeint,

--用户自定义完整性,成绩列必须[0,100]

CHECK(Grade>

=0andGrade<

=100),

--设置(学号、课程号)为主码

Primarykey(Sno,Cno),

--设置学号为外码(参照Student表)

Foreignkey(Sno)REFERENCESStudent,

--设置课程号为外码(参照Course表)

Foreignkey(Cno)REFERENCESCourse);

4.向学生表加“入学时间”列

ALTERTABLEStudentADDScomeDATETIME;

5.删除学生表中的Sage列,然后再增加该列

ALTERTABLEStudentDROPCOLUMNSage;

ALTERTABLEStudentADDSageINT;

6.增加学生表中的唯一约束

ALTERTABLEstudentaddunique(sno);

7.将学生年龄Sage的数据类型改为半字长整数

ALTERTABLEStudentALTERCOLUMNSagesmallint;

8.为学生-课程数据库中的Student,Course,SC三个表建立唯一索引

--在Student表中按Sno升序建立名为Stusno的索引

CREATEUNIQUEINDEXStusnoONStudent(Sno);

--在Course表中按Cno升序建立名为Coucno的索引

CREATEUNIQUEINDEXCoucnoONCourse(Cno);

--在SC表中按Sno升序、Cno降序建立名为SCno的索引

CREATEUNIQUEINDEXSCnoONSC(SnoASC,CnoDESC);

9.删除Course表的Coucno索引

DROPINDEXCourse.Coucno;

实验二、1.单表查询列实验

1.了解单表查询的概念和方法。

2.掌握SELECT语句在单表查询列中的应用。

3.掌握各种查询列的使用方法。

1.编写Transact_SQL语句实现各种列查询方式——单表。

3.编写Transact_SQL语句针对学生或物资数据库中的表进行列查询;

--1查询全体学生的学号与姓名

SELECTSno,Sname

FROMStudent;

--2查询全体学生的姓名、学号、所在系。

SELECTSname,Sno,Sdept

--3查询全体学生的详细记录。

SELECTSno,Sname,Ssex,Sage,Sdept

SELECT*

--4查全体学生的姓名及其出生年份

SELECTSname,2005-Sagebirth

--5查询全体学生的姓名、出生年份和所有系,要求用小写字母表示所有系名。

SELECTSname,'

YearofBirth:

'

2005-Sage,LOWER(Sdept)

--6使用列别名(字符)改变查询结果的列标题

SELECTSnameNAME,'

BIRTH,2005-SageBIRTHDAY,LOWER(Sdept)DEPARTMENT

--7使用列别名(汉字)改变查询结果的列标题

SELECTCno'

课程号'

Cname'

课程名'

Ccredit'

学分'

FROMCourse;

实验二、2.单表查询行实验

2.掌握SELECT语句在单表查询行中的应用。

3.掌握各种查询行的使用方法。

1.编写Transact_SQL语句实现各种行查询方式——单表。

--1查询所有选修了课程的学号

SELECTDISTINCTSno

FROMSC;

--2查询学分在2-4之间的课程信息

FROMCourse

WHERECcredit>

=2ANDCcredit<

=4;

--或

WHERECcreditBETWEEN2AND4;

--3查询课程号为1、4、7的课程信息

WHERECnoIN('

1'

'

4'

7'

);

--4查询姓‘刘’的学生学号和姓名

FROMStudent

WHERESnameLIKE'

刘%'

;

--5查询课程名以‘DB_’开头倒数第2个字为g的课程信息

WHERECnameLIKE'

DB\_%g_'

ESCAPE'

\'

--6查询出学分大于3的课程信息,并按学分升序进行排列

WHERECredit>

3

ORDERBYCcreditASC;

--7查询选修了课程的学生及其对应的平均成绩

SELECTSno,AVG(Grade)

FROMSC

GROUPBYSno;

实验二、3.多表连接查询

1.了解多表连接查询的概念和方法。

2.掌握复杂查询的使用方法。

3.掌握多表连结的方法。

4.掌握SELECT语句在多表连接查询中的应用。

1.编写Transact_SQL语句实现多表连接查询。

3.编写Transact_SQL语句针对学生或物资数据库中的表进行各种连接查询;

--1查询每个学生及其选修课情况

SELECTStudent.*,SC.*

FROMStudent,SC

WHEREStudent.Sno=SC.Sno;

--消除上例结果的重复列

SELECTStudent.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade

--2以Student表为主体列出每个学生的基本情况及其选课情况,如果学生没有选课,只输出

--其基本情况。

WHEREStudent.sno*=SC.Sno;

--3查询每门课的间接先行课

SELECTFirst.Cno,Second.Cpno

FROMCourseFirst,CourseSecond

WHEREFirst.Cpno=Second.Cno;

--4查询选修2号课程且成绩在80分以上的所有学生信息

SELECTStudent.Sno,Sname,Grade

FROMStudent,SC

WHEREStudent.Sno=SC.SnoANDSC.Grade>

80;

--5查询每个学生的学号、姓名、选修的课程名及成绩

SELECTStudent.Sno,Sname,Cname,Grade

FROMStudent,SC,Course

WHEREStudent.Sno=SC.SnoANDSC.Cno=Course.Cno;

--6查询姓陈的,全名为3个字的学生选课信息

SELECTSC.*

FROMSC,Student

WHERESC.Sno=Student.SnoANDSnameLIKE‘陈____’;

实验三、SQL定义、删除、修改视图实验

掌握运用sqlserver中Transact_SQL语句创建、删除、修改视图。

1.按要求创建一些视图,通过视图更新数据。

3.使用Transact_SQL语句创建视图,通过视图更新数据;

--1创建计算机系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有计算机系--的学生

CREATEVIEWCS_Student

AS

SELECTSno,Sname,Sage,Sdept

WHERESdept='

CS'

--在修改和插入操作时,保证该视图只有计算机系的学生

WITHCHECKOPTION

--2建立计算机系选修了2号课程的学生视图

CREATEVIEWCS_SC(Sno,Sname,Grade)

ANDStudent.Sno=SC.SnoANDSC.Cno='

--3建立计算机系选修了2号课程且成绩在80分以上的学生的视图

CREATEVIEWCS_SC1

SELECTSno,Sname,Grade

FROMCS_SC

WHEREGrade>

=80

--4建立一个反映学生出生年份的视图

CREATEVIEWBT_S(Sno,Sname,Sbirth)

SELECTSno,Sname,2005-Sage

--5将选修了课程的学生学号及相应的平均成绩建立成一个视图

CREATEVIEWS_AG(Sno,Gavg)

SELECTSno,AVG(Grade)

GROUPBYSno

--6删除视图CS_SC1

DROPVIEWCS_SC1;

--7在S_AG视图中查询平均成绩在80分以上的学生学号和平均成绩

FROMS_AG

WHEREGavg>

=80;

--8向计算机系学生视图CS_Student中插入一个新的学生记录(03033,'

黄琴,20,'

cs'

INSERT

INTOCS_Student

VALUES('

03033'

黄琴'

20,'

--9将计算机系学生视图CS_Student中学号为03031的学生年龄改为23岁

UPDATECS_Student

SETSage=23

WHERESno='

03031'

--10删除计算机系学生视图CS_Student中学号为03032的记录

DELETE

FROMCS_Student

03032'

实验四数据库备份和恢复

备份和恢复数据库

1.掌握使用企业管理器和Transact-SQL语句备份数据库的方法

2.掌握使用企业管理器和Transact-SQL语句恢复数据库的方法

1.确保安装了SQLServer2000;

2.确保数据库服务器启动;

3.使用SQLServer企业管理器管理备份、恢复数据库

4.使用Transact-SQL命令备份、恢复数据库

a)创建与管理备份设备

在进行备份前首先必须创建备份设备。

备份设备是用来存储数据库事务日志或文件和文件组的存储介质,其可以是硬盘、磁带或管道等。

A.使用企业管理器创建备份设备

(1)展开服务器组及相关的服务器,选择【管理】节点,右击【备份】,如图4.1所示,然后在快捷菜单中单击【新建备份设备】命令,弹出如图4.2所示的【备份设备属性】对话框。

图4.1通过快捷菜单新建备份设备

图4.2创建备份设备属性

(2)在【备份设备属性】对话框的【名称】

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

当前位置:首页 > 高中教育 > 高中教育

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

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