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

数据库和表的创建实验报告《数据库和表的创建实验报告》摘要:本实验报告旨在介绍数据库和表的创建过程,以及相关的实验步骤和结果。
通过实验,我们深入了解了数据库和表的概念,以及如何使用SQL语句创建和管理数据库和表。
实验结果表明,我们成功创建了数据库和表,并能够对其进行基本的操作和管理。
1. 实验背景数据库是一个存储和管理数据的系统,它可以帮助我们有效地组织和管理大量的数据。
在数据库中,数据以表的形式存储,每个表包含多个字段和记录。
在本次实验中,我们将学习如何使用SQL语句创建数据库和表,并进行相关的实验操作。
2. 实验目的本次实验的主要目的是让我们掌握数据库和表的创建方法,以及相关的SQL语句和操作。
通过实验,我们将学习如何创建数据库、创建表,以及对表进行基本的操作和管理。
3. 实验步骤首先,我们需要使用SQL语句创建一个新的数据库。
我们可以使用CREATE DATABASE语句来创建数据库,语法如下:CREATE DATABASE database_name;接下来,我们需要在创建的数据库中创建一个新的表。
我们可以使用CREATE TABLE语句来创建表,语法如下:CREATE TABLE table_name (column1 datatype,column2 datatype,...);在创建表之后,我们可以使用INSERT语句向表中插入数据,使用SELECT语句查询表中的数据,使用UPDATE语句更新表中的数据,以及使用DELETE语句删除表中的数据。
4. 实验结果经过实验操作,我们成功创建了一个新的数据库,并在其中创建了一个新的表。
我们使用INSERT语句向表中插入了一些数据,使用SELECT语句查询了表中的数据,使用UPDATE语句更新了表中的数据,以及使用DELETE语句删除了表中的数据。
实验结果表明,我们能够熟练地使用SQL语句对数据库和表进行操作和管理。
5. 实验结论通过本次实验,我们深入了解了数据库和表的创建方法,以及相关的SQL语句和操作。
数据库原理及应用实验一【SQL语句创建数据库和表】

数据库原理及应⽤实验⼀【SQL语句创建数据库和表】⼀、实验⽬的1.熟悉SQL Server2012操作界⾯,了解数据库系统的逻辑组件;2.熟悉SQL Server的管理控制台操作环境;3.掌握使⽤SQL Server Management Studio 及SQL语句创建数据库和表的⽅法;4.掌握数据库及表结构的修改⽅法;5.掌握数据库管理的基本操作。
⼆、实验步骤1.启动SSMS(SQL Server Management Studio)2.通过向导创建数据库3.通过T-SQL语句创建数据库4.通过向导创建数据库表5.通过T-SQL语句创建数据库表三、实验内容1.启动SSMS(SQL Server Management Studio)(1)打开 SQL Server Management Studio,将弹出如下图所⽰的登录窗⼝。
这⾥有两种⾝份验证⽅式:第⼀种⽅式选择Windows⾝份验证登录,服务器名称为本机⽤户名(如:WIN-E1G5CJSSRP5)或(local)登录;第⼆种⽅式选择 SQL Server ⾝份验证登录,⽤户名为 sa,密码为安装数据库时设置的密码。
点击连接按钮,进⾏连接(注:若服务器连接不上,打开控制⾯板中管理⼯具下的服务,检查 SQL Server 的服务是否启动)。
(2)右击 SQL Server 服务器,弹出如下图所⽰菜单菜命令,点击【断开连接】,则将断开当前数据库管理⼯具这个应⽤和 SQL Server 服务器之间的连接通信。
(3)点击菜单命令中的【暂停】,可以暂停当前的 SQL Server 服务。
点击菜单命令中的【停⽌】,可以停⽌当前正在运⾏着的 SQL Server 服务。
点击菜单命令中的【重新启动】,可以重新启动当前已经停⽌的 SQL Server 服务。
(4)点击菜单命令中的【属性】,则将弹出如下图所⽰的对话框。
该对话框定义了许多SQL Server 实例级别的配置参数。
实验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。
《数据库原理及应用》实验报告 创建数据库和表

《数据库原理及应用》实验报告创建数据库和表题目:创建数据库和表学生姓名:XXXX1(《数据库原理及应用》实验报告一、实验目的在了解SQL Server 数据库的逻辑结构,物理结构,基本数据类型,以及表的结构特点的基础上,学会在“对象资源管理器”中创建数据库和表,重点学会使用T-SQL语句创建数据库和表。
二、实验内容按照题目要求创建一数据库,并按要求在该数据库内创建相应数据表。
在创建过程中需分别使用界面方式创建和命令方式创建。
实验题目创建用于企业管理的员工管理数据库YGGL,其逻辑文件初始大小10MB,最大50MB,自动增长,按5%比例增长,日志文件初始大小2MB,最大5MB,按1MB增长,数据库和事务日志的逻辑文件名和物理文件名采用缺省值,另在该数据库内创建3个数据表,Employees表,Departments表,Salary表,具体表结构见课本P-283页所给出三个表格。
实验准备首先明确创建数据库的用户必须是系统管理员或者是被授予使用CREATEDATABASE语句的用户;其次创建过程中必须确定数据库名,所用者,数据库大小和存储其文件;最后根据表的结构按要求创建表;三、实验程序使用T-SQL语句创建数据库YGGL:CREATE DATABASE YGGL ON (NAME='YGGL_Data',FILENAME='C:\\Program Files\\Microsoft SQLServer\\MSSQL.1\\MSSQL\\Data\\YGGL.mdf', SIZE=10MB, MAXSIZE=50MB, FILEGROWTH=10% ) LOG ON (NAME='YGGL_Log',FILENAME='C:\\Program Files\\Microsoft SQLServer\\MSSQL.1\\MSSQL\\Data\\YGGL_Log.ldf', SIZE=2MB, MAXSIZE=5MB, FILEGROWTH=1MB ) GO使用T-SQL语句创建Employees表:USE YGGL GOCREATE TABLE Employees( EmployeeID char(6)NOT NULL PRIMARY KEY, Name char(10)NOT NULL, Education char(4)NOT NULL, Birthday datetime NOT NULL, Sex bit NOT NULL DEFAULT 1,2WorkYear tinyint NULL, Address varchar(40)NULL, PhoneNumberchar(12)NULL, DepartmentID char(3)NOT NULL, ) GO使用T-SQL语句创建Departments表:USE YGGL GOCREATE TABLE Departments( DepartmentID char(3)NOT NULL PRIMARY KEY, DepartmentName char(20)NOT NULL, Note char(100)NULL ) GO使用T-SQL语句创建Salary表:USE YGGL GOCREATE TABLE Salary( EmployeeID char(6)NOT NULL PRIMARY KEY, InCome float NOT NULL, OutCome float NOT NULL ) GO四、实验结果实验通过编写程序最终获得一新的数据库以及在该库内的三个空表如下图:Employees表Departments表Salary表3五、实验总结这学期是第一次接触SQL Server,在最初的学习过程中对SQL Server环境不是很熟悉,在课堂上学习了有关它的基本的数据类型,空值的概念,数据库的基本概念以及和数据表的相关知识,在未进行上机实验之前主要对理论知识进行掌握,但感觉不是很明白,当开始进行上机实验后,按照老师课上讲的基本操作在结合课本的相关知识,能在老师和同学的帮助下完成实验内容,我感觉很充实。
数据库原理与设计(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)。
数据库和表的创建实验报告

数据库和表的创建实验报告数据库和表的创建实验报告引言:数据库是现代信息系统中的重要组成部分,它可以存储、管理和检索大量的数据。
在数据库中,表是数据的基本单位,它由列和行组成,用于存储具有相同结构的数据。
本实验旨在通过使用SQL语言创建数据库和表,掌握数据库的基本操作。
实验步骤:1. 创建数据库:首先,我们需要使用SQL语句创建一个新的数据库。
在MySQL中,可以使用以下语句创建一个名为"mydb"的数据库:```sqlCREATE DATABASE mydb;```创建数据库后,可以使用以下语句选择要使用的数据库:```sqlUSE mydb;```2. 创建表:接下来,我们需要使用SQL语句创建一个新的表。
表的创建需要指定表的名称和各列的名称、数据类型和约束条件。
以下是一个示例创建名为"students"的表的语句:CREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(50),age INT,gender VARCHAR(10));```上述语句创建了一个包含id、name、age和gender列的表。
其中,id列被定义为主键,保证了每个记录的唯一性。
name列和gender列被定义为VARCHAR类型,可以存储最大长度为50和10的字符串。
age列被定义为INT 类型,用于存储整数值。
3. 插入数据:创建表后,我们可以使用INSERT语句向表中插入数据。
以下是一个示例插入数据的语句:```sqlINSERT INTO students (id, name, age, gender)VALUES (1, 'Alice', 20, 'Female'),(2, 'Bob', 21, 'Male'),(3, 'Charlie', 19, 'Male');```上述语句将三条记录插入到students表中。
数据库和表的创建与管理实验报告

南京信息工程大学实验(实习)报告实验(实习)名称数据库和表的创建与管理实验(实习)日期得分指导教师系计算机专业计算机科学与技术年级班次姓名学号一、实验目的1.熟悉S QL Server 2005 中S QL Server Management Studio 的环境。
2.了解S QL Server 2005 数据库的逻辑结构和物理结构。
3.掌握使用向导创建和删除数据库的方法。
4.掌握使用S QL 语句创建和删除数据库。
5.了解表的结构特点,了解SQL Server 的基本数据类型,管理器创建表,会用T-SQL语句创建表。
6.管理器中修改表的定义,使用SQL语句修改表的定义。
二、实验内容内容一:使用向导创建和删除数据库。
内容二:使用SQL 语句创建和删除数据库。
内容三:用向导和SQL 语句创建和删除表。
‘内容四:修改数据库基本表的定义。
三、实验步骤内容一:设有一学籍管理系统,其数据库名为“EDUC”,初始大小为10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB 增长。
数据库的逻辑文件名为“student_data”, 物理文件名为“student_data.mdf,存放路径为“E:\sql_data”。
日志文件的逻辑文件名为“student_log”, 物理文件名为“student_log.ldf”,存放路径为“E:\sql_data”。
(1)使用向导创建上诉描述的数据库。
1.建立数据库2.修改数据库名,数据库逻辑名,初始大小,增长方式等(2)使用向导删除上面建立的数据库。
1.删除数据库:内容二:1.以下是创建数据库userdb1 的SQL 语句,Create database userdb1On((name='userdb4_data',/*数据文件的逻辑名称,注意不能与日志逻辑同名*/filename='d:\sql_data\userdb4.mdf' ,/*物理名称,注意路径必须存在*/size=5,/*数据初始长度为M*/maxsize=10,/*最大长度为M*/filegrowth=1)/*数据文件每次增长M*/log on(( name=userdb4_log,filename='d:\sql_data\userdb4.ldf ' ,size=2,maxsize=5,filegrowth=1)Goa.选“视图”-“模板资源管理器”-Database-create database,双击databaseb.编写上述代码:2.根据步骤1 的sql 语句,写出创建实验二中数据库EDUC 的sql 语句,并建立数据库EDUC.3.用SQL 语句删除步骤一建立的数据库userdb1。
《数据库原理》实验报告 创建数据库

《数据库原理》实验报告(一){Jno char(4) primary key,Jname char(20) unique,City char(20)};Create table SPJ{Sno char(4) ,Pno char(4) ,Jno char(4),Qty int(4),Primary key(Sno,Pno,Jno),Foreign key(Sno)references S(Sno), Foreign key(Pno)references P(Pno), Foreign key(Jno)references J(Jno) }实验内容四、用INSERT语句插入四个表中的全部数据。
S表的插入命令:Insert into S(Sno,Sname,Status,City) values(‘S1’,’精益’,’20’,’天津’);Insert into S(Sno,Sname,Status,City) values(‘S2’,’盛锡’,’10’,’北京’);Insert into S(Sno,Sname,Status,City) values(‘S3’,’东方红’,’30’,’北京’);Insert into S(Sno,Sname,Status,City) values(‘S4’,’丰泰盛’,’20’,’天津’);Insert into S(Sno,Sname,Status,City) values(‘S5’,’为民’,’30’,’上海’);P表的插入命令:Insert into P(Pno,Pname,Color,Weight) values(‘P1’,’螺母’,’红’,’12’);Insert into P(Pno,Pname,Color,Weight) values(‘P2’,’螺栓’,’绿’,’17’);Insert into P(Pno,Pname,Color,Weight) values(‘P3’,’螺丝刀’,’蓝’,’14’);Insert into P(Pno,Pname,Color,Weight) values(‘P4’,’螺丝刀’,’红’,’14’);Insert into P(Pno,Pname,Color,Weight) values(‘P5’,’凸轮’,’蓝’,’40’);Insert into P(Pno,Pname,Color,Weight) values(‘P6’,’齿轮’,’红’,’30’);J表的插入命令:Insert into J(Jno,Jname,City) values(‘J1’,’三建’,’北京’);Insert into J(Jno,Jname,City) values(‘J2’,’一汽’,’长春’);Insert into J(Jno,Jname,City) values(‘J3’,’弹簧厂’,’天津’);Insert into J(Jno,Jname,City) values(‘J4’,’造船厂’,’天津’);实验内容Insert into J(Jno,Jname,City) values(‘J5’,’机车厂’,’唐山’);Insert into J(Jno,Jname,City) values(‘J6’,’无线电厂’,’常州’);Insert into J(Jno,Jname,City) values(‘J7’,’半导体厂’,’南京’);SPJ表的插入命令:Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S1’,’P1’,’J1’,’200’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S1’,’P1’,’J3’,’100’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S1’,’P1’,’J4’,’700’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S1’,’P2’,’J2’,’100’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S2’,’P3’,’J1’,’400’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S2’,’P3’,’J2’,’200’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S2’,’P3’,’J4’,’500’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S2’,’P3’,’J5’,’400’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S2’,’P5’,’J1’,’400’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S2’,’P5’,’J2’,’100’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S3’,’P1’,’J1’,’200’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S3’,’P3’,’J1’,’200’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S4’,’P5’,’J1’,’100’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S4’,’P6’,’J3’,’300’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S4’,’P6’,’J4’,’200’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S5’,’P2’,’J4’,’100’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S5’,’P3’,’J1’,’200’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S5’,’P6’,’J2’,’200’);Insert into SPJ(Sno,Pno,Jno,Qty)values(‘S5’,’P6’,’J4’,’500’);五、用命令完成下列的数据更新操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
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语言的理解也更深入了。
批阅者:
批阅日期:
实验成绩:
批注:。