当前位置:文档之家› DB1-西工大数据库实验一数据库及表的创建和管理

DB1-西工大数据库实验一数据库及表的创建和管理

DB1-西工大数据库实验一数据库及表的创建和管理
DB1-西工大数据库实验一数据库及表的创建和管理

《数据库原理》实验报告

题目:实验一

学号姓名、

日期数据库和表的创建与管理

班级

一.实验内容、步骤以及结果

1.利用图形用户界面创建,备份,删除和还原数据库和数据表(50分,每小题5分)

%

数据库和表的要求(第四版教材第二章习题5要求的数据库)

数据库名:SPJ,其中包含四张表:S表, P表, J表, SPJ表

图S表(供货商表)

图P表(零件表)

^

图SPJ表(供应情况表)

:

图J表(工程项目表)

完成以下具体操作:

(1)创建SPJ数据库,初始大小为10MB,最大为50MB,数据库自动增长,增长方

式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。

数据库的逻辑文件名和物理文件名均采用默认值。

(2)\

(3)在SPJ数据库中创建如图图的四张表(只输入一部分数据示意即可)。

(4)备份数据库SPJ(第一种方法):备份成一个扩展名为bak的文件。(提示:最好

先删除系统默认的备份文件名,然后添加自己指定的备份文件名)

(5)备份数据库SPJ(第二种方法):将SPJ数据库定义时使用的文件(扩展名为mdf,ldf

的数据文件、日志文件等)复制到其他文件夹进行备份。

(6)删除已经创建的工程项目表(J表)。

(7)删除SPJ数据库。(可以在系统默认的数据存储文件夹下查看此时SPJ数据库对

应的mdf,ldf文件是否存在)

(8)…

(9)利用备份过的bak备份文件还原刚才删除的SPJ数据库。(还原数据库)

(10)利用备份过的mdf,ldf的备份文件还原刚才删除的SPJ数据库。(附加)

(11)将SPJ数据库的文件大小修改为100MB。

(12)修改S表,增加一个联系电话的字段sPhoneNo,数据类型为字符串类型。

实验具体步骤:

(1):

(2)创建SPJ数据库:右击数据库-->新建数据库-->填写相应参数-->点击确定。如下图:

(2)在SPJ数据库中创建四张表:单击数据库SPJ-->右击‘表’-->新建表-->填写参数-->确定。如下图:

(3)[

(4)备份数据库SPJ(第一种方法):右击数据库SPJ-->任务-->备份-->填参数-->确定。如下图:

(5)备份数据库SPJ(第二种方法):找到SPJ数据库定义时使用的文件(扩展名为mdf,ldf 的数据文件、日志文件等)-->复制到其他文件夹进行备份,如下图:

(5)删除已经创建的工程项目表(J表):单击数据库SPJ--》单击表--》右击J--》选择删除。如下图

(6)删除SPJ数据库:右击数据库SPJ--》选择删除命令。如下图

(7)利用备份过的bak备份文件还原刚才删除的SPJ数据库:右击数据库--》选择还原数据库命令--》填写参数--》确定。如下图

(8)利用备份过的mdf,ldf的备份文件还原刚才删除的SPJ数据库:找到备份右击数据库--》选择还原数据库命令--》填写参数--》确定。

(9)将SPJ数据库的文件大小修改100M:右击数据库--》右击SPJ--》填写参数--》右击属性--》选择页点击文件--》修改参数,如下图:

|

(10)修改S表,增加一个联系电话的字段sPhoneNo,数据类型为字符串类型:点击SPJ--》点击表--》点击s表--》修改参数,如下图:

2.利用SQL语言创建和删除数据库和数据表(50分,每小题5分)

数据库和表的要求

数据库名:Student,其中包含三个表:S:学生基本信息表;C:课程基本信息表;

SC:学生选课信息表。各表的结构以及数据如下所示:

]

图S表(学生表)

图SC表(选课表)

图C表(课程表)

完成以下具体操作:

(1)用SQL语句创建如图图要求的数据库Student,初始大小为20MB,最大为

100MB,数据库自动增长,增长方式是按10M兆字节增长;日志文件初始为2MB,

最大可增长到5MB,按1MB增长。数据库的逻辑文件名和物理文件名,日志文

件名请自定义。

(2)用SQL语句创建上述的三张表,各个字段的数据类型请自己确定,每张表只要

有主键约束即可,不要其他约束。不用输入数据。

(3)用SQL中的backup 语句将数据库Student备份到一个bak文件。(提示:backup

database student to disk)

(4)、

(5)用SQL语句删除创建的表。

(6)将SPJ数据库定义时使用的文件(扩展名为mdf,ldf的数据文件、日志文件等)复制

到其他文件夹进行备份(复制)后,用SQL语句删除创建的数据库。

(7)用SQL中的sp_attache_db语句完成对数据库Student的附加。(通过该方式完

成数据库的恢复时,使用的备份文件是第5)小题中备份好的数据文件、日志文

件等,具体用法:exec sp_attache_db )

(8)先删除SPJ库,再用SQL中的restore 语句还原刚才备份的数据库Student。(提

示:restore database student from disk)

(9)用SQL语言修改数据库Student,给Student数据库添加一个文件组TestFG1,

然后将两个 5 MB 的文件添加到该文件组。(提示:alter database)

(10)`

(11)修改S表,增加一个表示联系电话的字段sPhoneNo,数据类型为字符串类型。

(12)利用SQL Server Management Studio的生成脚本功能(选中Student库->右键菜单

“任务”-> “生成脚本”),自动生成S表的创建脚本,分析自动生成的脚本和自

己写的SQL语句的异同点。

具体步骤如下:

(1):创建数据库:点击新建查询--》输入SQL命令--》执行。

CREATE DATABASE Student

ON

(

NAME=Student_data,

FILENAME='D:\数据库\',

SIZE=20MB,

[

MAXSIZE=100MB,

FILEGROWTH=10MB

)

LOG ON

(

NAME=Student_log,

FILENAME='D:\数据库\',

SIZE=2MB,

MAXSIZE=5MB,

FILEGROWTH=1MB

)

GO

(2)建表:点击新建查询--》输入SQL命令--》执行。

CREATE TABLE S(sno CHAR(10),

sname CHAR(10),

ssex CHAR(10),

sbirth CHAR(10),

sdept CHAR(10)

)

CREATE TABLE C(cno CHAR(5),

cname CHAR(5),

cpno CHAR(5),

ccredit CHAR(5)

)

CREATE TABLE SC(sno CHAR(5),

cno CHAR(5),

grade char(10)

)

(3)备份:点击新建查询--》输入SQL命令--》执行。USE Student

GO

BACKUP DATABASE Student

TO DISK='D:\数据库\备份数据库\backup_Student'

WITH INIT

GO

(4)@

(5)删除创建的表:

DROP TABLE S

GO

DROP TABLE C

GO

!

DROP TABLE S C

GO

(6)删除数据库:

USE master

GO

]

DROP DATABASE Student

GO

(7)数据库附加:

EXEC sp_attach_db@dbname=N'Student'

,@filename1=N'D:\数据库\备份数据库\',

&

@filename2=N'D:\数据库\备份数据库\'

GO

(8)还原数据库:

用SQL语句删除创建的数据库:

USE master

"

GO

DROP DATABASE SPJ

GO

还原数据库:l

RESTORE DATABASE Student

[

FROM DISK='G:\数据库\DB1\备份数据库\backup_Student' WITH REPLACE

GO

(8)添加文件组:

ALTER DATABASE TestFG1

ADD FILE

(

NAME=TestFG1dat2,

FILENAME='D:\数据库\',

SIZE= 5MB

)

ALTER DATABASE TestFG1

ADD FILE

(

NAME=TestFG1dat2,

FILENAME='D:\数据库\',

SIZE= 5MB

)

(9)修改S表:

ALTER TABLE S ADD NICKNAME CHAR(20)

(10)利用SQL Server Management Studio的生成脚本功能(选中Student库->右键菜单“任务”-> “生成脚本”),自动生成S表的创建脚本,分析自动生成的脚本和自己写的SQL语句的异同点。

二.实验中出现的问题以及解决方案(对于未解决问题请将问题列出来)

这是第一次数据库实验,第一次切身体会编使用SQL sever,第一次写SQL语句,之前一个月对数据库这门课一直没有太大的兴趣,只觉得是无谓的学习,但是在真正接触SQL后便被折服,4小时的时间不足以完成任务,刚接触时还有些不适应但后来便越来越得心印手了。

通过这次实验,使我加深了对数据库的兴趣,锻炼了动手操作能力。希望在以后的实验课上经过努力是自己的数据库知识越来越丰富,能力越来越强。

批阅者:

批阅日期:

实验成绩:

批注:

相关主题
文本预览
相关文档 最新文档