数据库原理实验一数据库和表的创建与管理.docx

上传人:b****4 文档编号:27259425 上传时间:2023-06-28 格式:DOCX 页数:13 大小:451.04KB
下载 相关 举报
数据库原理实验一数据库和表的创建与管理.docx_第1页
第1页 / 共13页
数据库原理实验一数据库和表的创建与管理.docx_第2页
第2页 / 共13页
数据库原理实验一数据库和表的创建与管理.docx_第3页
第3页 / 共13页
数据库原理实验一数据库和表的创建与管理.docx_第4页
第4页 / 共13页
数据库原理实验一数据库和表的创建与管理.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

数据库原理实验一数据库和表的创建与管理.docx

《数据库原理实验一数据库和表的创建与管理.docx》由会员分享,可在线阅读,更多相关《数据库原理实验一数据库和表的创建与管理.docx(13页珍藏版)》请在冰豆网上搜索。

数据库原理实验一数据库和表的创建与管理.docx

数据库原理实验一数据库和表的创建与管理

《数据库原理》实验报告

题目:

实验一

数据库和表的创建与管理

学号

班级

日期

2016.10.15

1.实验容、步骤以及结果

1.利用图形用户界面创建,备份,删除和还原数据库和数据表

(1)创建SPJ数据库,初始大小为10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。

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

(2)在SPJ数据库中创建如图2.1-图2.4的四表

(3)备份数据库SPJ(第一种方法):

备份成一个扩展名为bak的文件。

(提示:

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

(4)备份数据库SPJ(第二种方法):

将SPJ数据库定义时使用的文件(扩展名为mdf,ldf的数据文件、日志文件等)复制到其他文件夹进行备份。

 

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

(6)删除SPJ数据库。

(可以在系统默认的数据存储文件夹下查看此时SPJ数据库对应的mdf,ldf文件是否存在)

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

(还原数据库)

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

(附加)

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

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

2.利用SQL语言创建和删除数据库和数据表

(1)用SQL语句创建如图2.5-图2.7要求的数据库Student,初始大小为20MB,最大为100MB,数据库自动增长,增长方式是按10M兆字节增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。

数据库的逻辑文件名和物理文件名,日志文件名请自定义。

(2)用SQL语句创建上述的三表,各个字段的数据类型请自己确定,每表只要有主键约束即可,不要其他约束。

不用输入数据。

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

(提示:

backupdatabasestudenttodisk)

--备份:

BACKUPDATABASE"student"TODISK='C:

\lzcDB1\mybak1015.bak'

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

droptableS

droptableC

droptableSC

(5)将Student数据库定义时使用的文件(扩展名为mdf,ldf的数据文件、日志文件等)复制到其他文件夹进行备份(复制)后,用SQL语句删除创建的数据库。

(6)用SQL中的sp_attache_db语句完成对数据库Student的附加。

(通过该方式完成数据库的恢复时,使用的备份文件是第5)小题中备份好的数据文件、日志文件等,具体用法:

execsp_attache_db)

--将student中的两个文件附加到当前服务器。

EXECsp_attach_dbdbname=N'student',

filename1=N'C:

\lzcDB1\student.mdf',

filename2=N'C:

\lzcDB1\student_log.ldf'

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

(提示:

restoredatabasestudentfromdisk)

(8)用SQL语言修改数据库Student,给Student数据库添加一个文件组TestFG1,然后将两个5MB的文件添加到该文件组。

(提示:

alterdatabase)

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

ALTERTABLES

ADDsPhoneNochar(10)

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

生成代码:

USE[student]

GO

/******Object:

Table[dbo].[SC]ScriptDate:

10/15/201617:

17:

34******/

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

SETANSI_PADDINGON

GO

CREATETABLE[dbo].[SC](

[sno][char](10)NOTNULL,

[cno][char](10)NOTNULL,

[cgrade][smallint]NULL,

PRIMARYKEYCLUSTERED

[sno]ASC,

[cno]ASC

)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

SETANSI_PADDINGOFF

GO

/******Object:

Table[dbo].[S]ScriptDate:

10/15/201617:

17:

34******/

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

SETANSI_PADDINGON

GO

CREATETABLE[dbo].[S](

[sno][char](10)NOTNULL,

[sname][nvarchar](20)NULL,

[ssex][nchar]

(2)NULL,

[sbirth][date]NULL,

[sdept][nvarchar](20)NULL,

[sPhoneNo][char](10)NULL,

PRIMARYKEYCLUSTERED

[sno]ASC

)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

SETANSI_PADDINGOFF

GO

/******Object:

Table[dbo].[C]ScriptDate:

10/15/201617:

17:

33******/

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

SETANSI_PADDINGON

GO

CREATETABLE[dbo].[C](

[cno][char](10)NOTNULL,

[cname][nvarchar](20)NULL,

[cpno][char](10)NULL,

[ccredit][int]NULL,

PRIMARYKEYCLUSTERED

[cno]ASC

)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]

)ON[PRIMARY]

GO

SETANSI_PADDINGOFF

GO

相同点:

语法基本上是相同的,属性的命名和功能也是一样的。

不同点:

生成的代码中包含一些对字体的设置和一些环境的设置,自己写的语句里没有。

生成的代码有日期等信息。

自己写的语句是分开执行的,生成的脚本是按GO语句分段执行的。

生成的脚本很多名称都用方括号括起来了。

 

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

除了标题容以外,该部分容中还可以写对于实验的一些感受,建议,意见等。

问题1.在备份数据库文件的时候会提示文件正在被使用,无法复制。

解决方案:

复制前将相应数据库分离或选择停止MSSQLSEVERCE,见下图。

 

问题2:

将数据库文件从一台电脑复制到另一台电脑上,想要附加数据库时出错:

解决方案:

打开数据库文件的属性选项卡,将AuthenticalUsers的权限修改成完全控制。

感受:

刚开始做实验时遇到全新的平台时一筹莫展,助教也对平台不熟悉,经过网上查询了相关操作,逐渐摸索才渐渐入门。

课本上只介绍了SQL语言的很小一部分,之前听课时一直对SQL语言掌握的不明不白的,经过此次实验,终于算是掌握了建数据库和修改数据的全部操作,对SQL语言的理解也更深入了。

 

批阅者:

批阅日期:

实验成绩:

批注:

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

当前位置:首页 > 总结汇报 > 学习总结

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

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