数据库原理实验一-数据库和表的创建与管理.pdf
欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!1 数据库原理实验报告 题目:实验一 数据库和表的创建与管理 学号 姓名 班级 日期 2016。10。15 一.实验内容、步骤以及结果 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:lzcDB1mybak1015。bak(4)用 SQL 语句删除创建的表。drop table S drop table C 欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!2 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=Nstudent,filename1=NC:lzcDB1student.mdf,filename2=NC:lzcDB1student_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,欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!3 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 SET ANSI_PADDING ON GO CREATE TABLE dbo.S(sno char(10)NOT NULL,sname nvarchar(20)NULL,ssex nchar(2)NULL,sbirth date NULL,sdept nvarchar(20)NULL,sPhoneNo char(10)NULL,PRIMARY KEY CLUSTERED (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 SET ANSI_PADDING OFF GO/*Object:Table dbo.C Script Date:10/15/2016 17:17:33*/欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!4 SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE dbo.C(cno char(10)NOT NULL,cname nvarchar(20)NULL,cpno char(10)NULL,ccredit int NULL,PRIMARY KEY CLUSTERED (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 相同点:语法基本上是相同的,属性的命名和功能也是一样的。不同点:生成的代码中包含一些对字体的设置和一些环境的设置,自己写的语句里没有。生成的代码有日期等信息。自己写的语句是分开执行的,生成的脚本是按 GO 语句分段执行的.生成的脚本很多名称都用方括号括起来了。二.实验中出现的问题以及解决方案(对于未解决问题请将问题列出来)除了标题内容以外,该部分内容中还可以写对于实验的一些感受,建议,意见等.问题 1。在备份数据库文件的时候会提示文件正在被使用,无法复制。解决方案:复制前将相应数据库分离或选择停止 MSSQLSEVERCE,见下图。问题 2:将数据库文件从一台电脑复制到另一台电脑上,想要附加数据库时出错:解决方案:打开数据库文件的属性选项卡,将 Authentical Users 的权限修改成完全控制。感受:刚开始做实验时遇到全新的平台时一筹莫展,助教也对平台不熟悉,经过网上查询了相关操作,逐渐摸索才渐渐入门。课本上只介绍了 SQL 语言的很小一部分,之前听课时一直对 SQL 语言掌握的不明不白的,经过此次实验,终于算是掌握了建数据库和修改数据的全部操作,对 SQL 语言的理解也更深入了。批阅者:批阅日期:欢迎您阅读并下载本文档,本文档来源于互联网,如有侵权请联系删除!我们将竭诚为您提供优质的文档!5 实验成绩:批注: