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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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

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文件。(提示:backup database student to disk)

--备份:

BACKUP DATABASE "student"TO DISK ='C:\lzcDB1\mybak1015.bak'

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

drop table S

drop table C

drop table SC

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

(6) 用SQL中的sp_attache_db语句完成对数据库Student的附加。(通过该方式完成数据库的恢复时,使用的备份文件是第5)小题中备份好的数据文件、日志文件等,具体用法:exec sp_attache_db )

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

EXEC sp_attach_db @dbname = N'student',

@filename1 = N'C:\lzcDB1\student.mdf',

@filename2 = N'C:\lzcDB1\student_log.ldf'

(7) 先删除Student库,再用SQL中的restore 语句还原刚才备份的数据库Student。(提示:restore database student from disk)

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

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

ADD sPhoneNo char(10)

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

生成代码:

USE[student]

GO

/****** Object: Table [dbo].[SC] Script Date: 10/15/2016 17:17:34 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_PADDING ON

GO

CREATE TABLE[dbo].[SC](

[sno][char](10)NOT NULL,

[cno][char](10)NOT NULL,

[cgrade][smallint]NULL,

PRIMARY KEY CLUSTERED

(

[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

SET ANSI_PADDING OFF

GO

/****** Object: Table [dbo].[S] Script Date: 10/15/2016 17:17:34 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

相关文档
最新文档