数据库原理实验一-数据库和表的创建与管理
实验一 熟悉SQL Server2008数据库、数据库和表的创建与管理

《数据库原理及应用》
(2013-2014 学年第 2 学期)
实 验 报 告
学号: 姓名: 班级:
实验一 熟悉 SQL Server2008 数据库、数据库和表的创建与管理
一、实验目的:
1. 了解 SQL Server 数据库的基本知识 2. 熟悉 SQL Server 环境和系统结构 3. 掌握数据库及表的创建与管理
女
19
IS
95003
王名
女
18
MA
95004
张立
男
19
IS
95005
李明
男
22
CS
95006
张小梅
女
23
IS
95007
封晓文
女
20
MA
(2) COURSE(课程表)
CNO(课程号)
CNAME(课程名) CPNO(先行课) CCREDIT(学分)
1
数据库
5
4
2
数学
2
3
信息系统
1
4
4
操作系统
6
3
5
数据结构
二.实验内容
(一)练习企业管理器的使用
1.使用企业管理器控制 SQL Server 服务
2.使用企业管理器查看当前数据库实例的配置数据。
(二)练习查询分析器的使用
1.使用查询分析器进行查询语句的编写
2.练习模板的使用
3.熟悉查询分析器的环境
(三)熟悉系统数据库的结构
(四)熟悉样例数据库的内容
(五)数据库的创建与管理
7
4
6
数据处理
2
7
PASCAL 语言
实验1数据库的创建与管理

实验1 数据库的创建与管理1.1 实验目的(1)掌握开发环境的基本功能和使用方法。
(2)掌握数据库的建立方法。
(3)掌握图形界面下的数据表设计方法。
(4)掌握数据表记录的“增删改查”方法。
(5)掌握数据库的导入导出方法。
1.2 实验内容与步骤1.2.1 建立数据库启动MS SQL SERVER 2005,并建立学生管理数据库,文件名为学生自己姓名首字母的缩写,如张大千同学缩写为ZDQ。
设置库的大小50M,日志文件大小25M的新数据库。
1.2.2数据表的设计参照教材P50页的要求逻辑设计表,为自己实现以下3个表:学生表:Student(Sno, Sname, Ssex, Sage, Sdept);课程表:Course(Cno, Cname, Credit, Semester);学生选课表:SC(Sno, Cno, Grade)设计要求:(1) 定义关系模式(包括表名,属性名,属性类型及长度);(2) 定义表的主码及外码。
1.2.3 数据表记录的“增删改查”操作至少输入学生记录10条、系别4个、课程10个,便于后续实验的数据操纵、视图设计和数据控制处理。
数据库还原:数据库备份:实验2 数据操纵 2.1 实验目的(1)掌握SQL语言中数据查询和数据更新的语句(2)掌握SQL语言中数据更新的语句(3)掌握使用SQL语句进行视图的定义的方法2.2 实验步骤2.2.1使用SQL语句完成数据查询完成教材第五章例1到例82的例题题目选出40个进行实验,并把相应的命令语句写入实验报告。
对例45、例51(两种方法(自连接、子查询))以及外连接的操作在实验报告中给出运行结果。
2.2.2 使用SQL语句完成数据更新完成教材第五章5.2节的例题中的40个,并把相应的命令语句写入实验报告并给出运行结果。
1.SELECT Sname,Sage FROM StudentSELECT Sname,Sno,Sdept FROM StudentSELECT * FROM StudentSELECT Sname,2014-Sage FROM StudentSELECT Sname,Sage FROM StudentWHERE Sage<216.SELECTStudent.Sno,Student.Sname,Student.Ssex,Student.Sage,Student.Sdept,SC. Grade FROM Student INNER JOIN SCON Student .Sno=SC.SnoSELECT Sname,Sdept,Sage FROM StudentWHERE Sage BETWEEN 20 AND 23SELECT Sname,Ssex FROM StudentWHERE Sdept IN('xinxi','tongxin','shuxue')SELECT*FROM StudentWHERE Sname LIKE'a%'SELECT*FROM StudentWHERE Sname LIKE'[abc]%'11.SELECT*FROM StudentWHERE Sname LIKE'_[1]%'SELECT*FROM StudentWHERE Sname NOT LIKE'[ab]%'SELECT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.SnoWHERE Student.Sno NOT IN(SELECT Sno FROM SCWHERE Cno ='a001')SELECT DISTINCT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.Sno WHERE Student.Sno IN(SELECT Sno FROM SCWHERE Cno ='100')SELECT Sname,Sdept,Grade AS'tiyu'FROM Student JOIN SC ONStudent.Sno=SC.Sno JOIN Course ON o=oWHERE Cname ='tiyu'AND Grade >(SELECT AVG(Grade)FROM SC JOIN Course ON o=oWHERE Cname='tiyu')16.SELECT Sname,Sdept FROM StudentWHERE Sdept IN(SELECT Sdept FROM StudentWHERE Sname ='a1')AND Sname !='a1'SELECT Sno,AVG(Grade)FROM SCGROUP BY SnoHAVING AVG(Grade)>(SELECT AVG(Grade)FROM SC)SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade FROMStudent JOIN SC ON Student.Sno=SC.SnoSELECT Sname,Sage FROM StudentWHERE Sdept ='shuxue'AND Sage=(SELECT MAX(Sage)FROM Student)SELECT Sno,Grade FROM SCWHERE Cno ='100'AND Grade>(SELECT AVG(Grade)FROM SC)21.SELECT COUNT(*)'选课门数',AVG(Grade)'平均成绩'FROM SCWHERE Sno IN(SELECT Sno FROM SC JOIN Course ON o=oWHERE Cname='shujuku')GROUP BY SnoSELECT Sno,Sname FROM StudentWHERE Sno IN(SELECT Sno FROM SC JOIN Course ON o=oWHERE Cname ='shujuku')SELECT Sname,Ssex FROM StudentWHERE Sdept ='xinxi'AND Sno IN(SELECT Sno FROM SCWHERE Cno ='100')SELECT Student.Sno,Sname FROM Student JOIN SC ON Student.Sno=SC.Sno WHERE Grade >=90SELECT*FROM StudentWHERE Sdept IN(SELECT Sdept FROM StudentWHERE Sname ='a1')AND Sname !='a1'26.SELECT TOP 2 WITH TIES Cno,COUNT(*)'人数'FROM SCGROUP BY CnoORDER BY COUNT(*)ASCSELECT TOP 3 WITH TIES Sname,Sdept,Grade FROM Student JOIN SC ON Student.Sno=SC.Sno JOIN Course ON o=oWHERE Cname ='shujuku'ORDER BY Grade DESCSELECT TOP 3 WITH TIES Sname,Sage,Sdept FROM StudentORDER BY Sage DESCSELECT COUNT(*)FROM Student JOIN SC ON Student.Sno=SC.SnoWHERE Sdept ='xinxi'GROUP BY Student.SnoORDER BY COUNT(*)DESCSELECT Student.Sno,COUNT(o)FROM Student LEFT JOIN SC ON Student.Sno=SC.SnoWHERE Sdept ='xinxi'GROUP BY Student.SnoORDER BY COUNT(o)DESC31. SELECT Sname,Ssex FROM Student LEFT JOIN SC ON Student.Sno=SC.Sno WHERE Sdept ='xinxi'AND Cno IS NULLSELECT Cname FROM SC RIGHT JOIN Course ON o=oWHERE Sno IS NULLSELECT Student.Sno,Sname,o,Grade FROM SC RIGHT JOIN Student ON SC.Sno=Student.SnoSELECT Cname,Credit FROM CourseWHERE Credit =(SELECT Credit From CourseWHERE Cname ='gaoshu')AND Cname !='gaoshu'SELECT Sdept,AVG(Grade)FROM SC JOIN Student ON SC.Sno=Student.Sno GROUP BY Sdept36. SELECT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.Sno JOIN Course ON o=oWHERE Cname='shujuku'SELECT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.Sno JOIN Course ON o=oWHERE Cname='shujuku'AND Sdept ='xinxi'SELECT Sname,Cno,Grade FROM Student JOIN SC ON Student.Sno=SC.Sno WHERE Sdept ='xinxi'SELECT Sdept,COUNT(*)FROM StudentWHERE Sage <=20GROUP BY Sdept40.SELECT Sno,COUNT(*)FROM SCGROUP BY SnoHAVING COUNT(*)>=2。
数据库实验1:数据库的创建与管理

实验1:数据库物理设计----数据库的创建与管理1.实验目的本章的实验是主要学习Microsoft SQL Server 2000数据库的物理设计方法。
通过本实验,了解Microsoft SQL Server 2000数据库的组成,理解数据库的概念及物理存储结构设计方法;掌握Microsoft SQL Server 2000的数据库的建立方法,包括利用“企业管理器”创建数据库的方法和使用Transact—SQL创建数据库的方法;最后能够熟练地在Microsoft SQL Server 2000中,进行数据库的物理设计。
2.实验要求通过对创建数据库方法的学习,掌握创建数据库的基本语法,了解数据库系统文件的存储结构,系统文件可以包含一个数据文件和一个事务日志,也可以包含多个数据文件及多个事务日志或文件组,进而创建“教学管理”数据库,并且对该数据库进行以下操作:更新,添加,删除数据文件等,从而熟练掌握数据库的结构并对数据库进行的各种基本操作。
3.实验环境与实验器材:计算机,网络环境,投影设备。
实验相关软件:Window XP、SQL Server 2000。
4.实验内容及步骤1)使用查询分析器中创建指定单一数据主文件和日志文件的数据库在安装了Microsoft SQL Server 2000之后,从“开始”菜单中打开“查询分析器”,进入“SQL查询分析器”窗口后,在“连接到SQL Server”对话框中,选择“local”,单击“确定”按钮,进入查询窗口,创建指定数据文件和事务日志文件的“教学管理”数据库,输入如下Transact—SQL语句:create database 教学管理onprimary(name=教学管理_dat,filename='D:\数据库应用实验教程\数据\教学管理.mdf',size=5MB,maxsize=50MB,filegrowth=2MB)log on(name=教学管理_log,filename='D:\数据库应用实验教程\数据\教学管理.ldf',size=5MB,maxsize=100MB,filegrowth=2MB)运行,系统在D盘自动为主数据文件和事务日志文件分配要求的磁盘空间,运行结果如下:2)使用查询分析器创建指定多个数据主文件和日志文件的数据库在安装了Microsoft SQL Server 2000之后,从“开始”菜单中打开“查询分析器”,进入“SQL查询分析器”窗口后,在“连接到SQL Server”对话框中,选择“local”,单击“确定”按钮,进入查询窗口,创建指定数据文件和事务日志文件的“教学管理1”数据库,输入如下Transact—SQL语句:create database 教学管理1onprimary(name=教学管理1_1dat,filename='D:\数据库应用实验教程\数据\教学管理11.mdf',size=5MB,maxsize=50MB,filegrowth=2MB),(name=教学管理1_2dat,filename='D:\数据库应用实验教程\数据\教学管理12.mdf',size=2MB,maxsize=50MB,filegrowth=2MB),(name=教学管理1_3dat,filename='D:\数据库应用实验教程\数据\教学管理13.mdf',size=3MB,maxsize=50MB,filegrowth=2MB)log on(name=教学管理1_1log,filename='D:\数据库应用实验教程\数据\教学管理11.ldf',size=5MB,maxsize=100MB,filegrowth=2MB),(name=教学管理1_2log,filename='D:\数据库应用实验教程\数据\教学管理12.ldf',size=3MB,maxsize=100MB,filegrowth=1MB)运行,系统在D盘自动为主数据文件和事务日志文件分配要求的磁盘空间,运行结果如下:3)实用查询分析器文件组创建数据库在安装了Microsoft SQL Server 2000之后,从“开始”菜单中打开“查询分析器”,进入“SQL查询分析器”窗口后,在“连接到SQL Server”对话框中,选择“local”,单击“确定”按钮,进入查询窗口,创建指定数据文件和事务日志文件的“教学管理2”数据库,输入如下Transact—SQL语句:create database 教学管理2 on primary(name=教学管理2_1dat,filename='D:\数据库应用实验教程\数据\教学管理21.mdf',size=5MB,maxsize=50MB,filegrowth=2MB),(name=教学管理2_2dat,filename='D:\数据库应用实验教程\数据\教学管理22.mdf',size=3MB,maxsize=50MB,filegrowth=1MB),filegroup 教学管理2fg_2(name=教学管理2fg_21dat,filename='D:\数据库应用实验教程\数据\教学管理2fg21.ldf',size=5MB,maxsize=50MB,filegrowth=2MB),(name=教学管理2fg_22dat,filename='D:\数据库应用实验教程\数据\教学管理fg_22dat.ldf', size=3MB,maxsize=50MB,filegrowth=2MB),filegroup 教学管理2fg_3(name=教学管理2fg_31dat,filename='D:\数据库应用实验教程\数据\教学管理2fg31.ldf', size=2MB,maxsize=50MB,filegrowth=1MB),(name=教学管理2fg_32dat,filename='D:\数据库应用实验教程\数据\教学管理fg_32dat.ldf', size=2MB,maxsize=50MB,filegrowth=1MB)log on(name=教学管理2_1log,filename='D:\数据库应用实验教程\数据\教学管理21.ldf',size=5MB,maxsize=100MB,filegrowth=2MB),(name=教学管理2_2log,filename='D:\数据库应用实验教程\数据\教学管理22.ldf',size=5MB,maxsize=100MB,filegrowth=2MB)运行,系统在D盘自动为主数据文件和事务日志文件分配要求的磁盘空间,运行结果如下:4)使用查询分析器对数据库的编辑①为已经建立的数据库添加新数据文件在“SQL查询分析器”中,输入如下Transact—SQL语句,修改已建立的“教学管理”数据库,为它添加一个5MB大小的新数据文件“教学管理A”。
实验一 数据库和表的创建_大学计算机基础实践教程(第2版)_[共5页]
![实验一 数据库和表的创建_大学计算机基础实践教程(第2版)_[共5页]](https://img.taocdn.com/s3/m/c0b2c03d998fcc22bdd10d62.png)
第7章
数据库基础
实验一 数据库和表的创建
一、实验学时:2学时
二、实验目的
熟练掌握数据库的创建、打开以及利用窗体查看数据库
数据库记录的排序、数据查询
对数据表进行编辑、修改、创建字段索引
三、相关知识
1.设计一个数据库
在Access中,设计一个合理的数据库,最主要的是设计合理的表以及表间的关系。
作为数据
库基础数据源,它是创建一个能够有效地、准确地、快捷地完成数据库具有的所有功能的基础。
设计一个Access数据库,一般要经过如下步骤。
(1)需求分析
需求分析就是对所要解决的实际应用问题做详细的调查,了解所要解决问题的组织机构、业
务规则,确定创建数据库的目的,确定数据库要完成哪些操作、数据库要建立哪些对象。
(2)建立数据库
创建一个空Access数据库,对数据库命名时,要使名字尽量体现数据库的内容,要做到“见
名知义”。
(3)建立数据库中的表
数据库中的表是数据库的基础数据来源。
确定需要建立的表,是设计数据库的关键,表设计
的好坏直接影响数据库其他对象的设计及使用。
设计能够满足需要的表,要考虑以下内容:
①每一个表只能包含一个主题信息;
②表中不要包含重复信息;
③表拥有的字段个数和数据类型;
89。
数据库原理与设计(MySQL版)实验指导

数据库原理与设计(MySQL版)附录A MySQL实验指导实验一数据库和表的管理一、实验目的1. 了解MySQL数据库的逻辑结构和物理结构的特点。
2. 学会使用SQL语句创建、选择、删除数据库。
3. 学会使用SQL语句创建、修改、删除表。
4. 学会使用SQL语句对表进行插入、修改和删除数据操作。
5. 了解MySQL的常用数据类型。
二、实验内容1. 使用SQL语句创建数据库studentsdb。
2. 使用SQL语句选择studentsdb为当前使用数据库。
3. 使用SQL语句在studentsdb数据库创建数据表student_info、curriculum、grade,三个表的数据结构如表1-表3所示。
表1 student_info表结构表2 curriculum表结构列名数据类型允许NULL值主键课程编号char(4) 否是课程名称varchar(50) 是否学分int 是否表3 grade表结构列名数据类型允许NULL值主键学号char(4) 否是课程编号char(4) 否是分数int 是否4. 使用SQL语句INSERT向studentsdb数据库的student_info、curriculum、grade 表插入数据,各表数据如表4-表6所示。
表4 student_info表的数据表6 grade表的数据学号课程编号分数0001 0001 800001 0002 910001 0003 880001 0004 850001 0005 770002 0001 730002 0002 680002 0003 800002 0004 790002 0005 730003 0001 840003 0002 920003 0003 810003 0004 820003 0005 755.使用SQL语句ALTER TABLE修改curriculum表的“课程名称”列,使之为空。
6. 使用SQL语句ALTER TABLE修改grade表的“分数”列,使其数据类型为decimal(5,2)。
实验1数据库及数据库中表的建立实验

课程:数据库原理及应用实验题目:数据库及数据库中表的建立实验一、实验目的1. 熟悉SQL Server的环境。
2. 掌握企业管理器的基本使用方法,对数据库及其对象有基本了解,了解SQL Server进行配置的方法。
3. 掌握查询分析器的基本使用方法以及在查询分析器中实行T-SQL语气的方法。
4. 了解SQL Server 数据库的逻辑结构和物理结构。
5. 学会在企业管理器中创建数据库及查看数据库属性。
6. 学会使用T-SQL语气创建数据库。
7. 了解SQL Server的基本数据类型、空值的概念,以及表的结构特点。
8. 学会使用T-SQL语气和企业管理器创建表结构和修改表结构。
9. 学会使用SQL Server提供的数据完整性功能,并在创建表时定义表的数据完整性。
通过实验进一步理解数据完整性的概念及分类。
二、实验内容1.学会使用企业管理器和查询分析器管理工具。
2.使用企业管理器创建数据库。
3.在查询分析器中使用T-SQL语句创建数据库。
4.使用T-SQL语句创建一个图书管理数据库,数据库名为TSGL,数据文件和日志文件的初始大小,增长方式,文件的增长上限等均可采用默认值。
5.使用T-SQL语句或企业管理器创建课本第二章习题10的SPJ数据库,可以自行定义文件大小,增长方式等。
6.查看物理磁盘目录,理解并分析SQL Server数据库的存储结构。
7.使用企业管理器查看数据库属性。
8.使用T-SQL语句或企业管理器对于(2)-(5)中建立的数据库进行和删除操作。
9.用企业管理器在教务管理数据库JWGL中创建学生表STUDENT,课程表COURSE,学生选课表SC。
10.用TQL语句在MARKET数据库中创建客户信息基本表CUOSTOMERS,货品信息表GOODS,订单信息表ORDERS。
11.使用T-SQL语句在SPJ数据库中建立第2章习题10中的4张表:S,P,J,SPJ.12.使用T-SQL语句在图书借阅管理数据库TSGL中建立图书,读者和借阅3个表。
表的创建和管理实验报告

信息工程学院实验报告课程名称:《数据库原理》实验项目名称:表的创建和管理一、实 验 目 的:1、了解SQL Server 的基本数据类型。
2、学会在企业管理器中创建数据库及表。
3、学会使用T-SQL 语句创建数据库及表。
4、学会在企业管理器中修改表的定义。
5、学会使用SQL 语句修改表的定义。
二、实 验 设 备 与 器 件Win7 Sql server 2008 电脑的画图软件三、实 验 内 容 与 步 骤1、用企业管理器,建立的名为school 的数据库,在数据库中添加如书本79、80页的student,course,sc三张表,并添加数据。
2、用企业管理器将school 数据库备份到school.bak 文件,自行保存好该文件,以备后期使用。
3、用企业管理器删除所建立的sc 表,在查询分析器中用sql 语句删除表student,course ,使用备份文件school.bak 还原数据库。
4、在查询分析器中用sql 语句创建数据库SPJ ,用SQL 语句创建书本71页的P,S,J,SPJ 四张表,用insert命令分别向四张表里面添加如71页所示的数据。
要求:①供应商表:供应商代码为主码②工程表:工程代码为主码③零件表:零件代码为主码④供应零件表:供应商代码、工程代码、零件代码为联合主码;供应商代码为外码,参照供应商表的供应商代码;工程代码为外码,参照工程表的工程代码;零件代码为外码,参照零件表的零件代码。
5、将以上用到的SQL 命令以 “实验一.SQL ”文件的形式保存。
6、用企业管理器备份数据库SPJ 到备份文件SPJ.bak 。
(自行保存好该文件,以备后期使用)7、在企业管理器中用“附加”功能,添加数据库文件examination_Data.MDF ,生成数据库examination 。
8、将数据库examination 中的student 、dept 两张表,导出到新建的EXCEL 文件school.xls 中。
数据库原理实验一-数据库和表的创建与管理

一.实验内容、步骤以及结果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语句删除创建的表。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库原理》实验报告
题目:实验一
数据库和表的创建与管理学号姓名班级日期
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:\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
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 ******/
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语言的理解也更深入了。
批阅者:
批阅日期:
实验成绩:
批注:。