广西大学数据库SQL实验报告Word格式.docx
《广西大学数据库SQL实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《广西大学数据库SQL实验报告Word格式.docx(52页珍藏版)》请在冰豆网上搜索。
帐户设置中,一般MSSQLSERVER都做为网络服务器存在,可以使用混合身份验证,设置自己的用户密码。
当然,最简单的配置还是使用Windows身份验证模式,然后点击“添加当前用户”
(9)之后的配置无需改动,一路下一步即可,等待安装成功。
请你练习
1.如果在安装时设置身份验证模式为混合模式,那SQLServer默认生成的系统管理员账户名是?
答:
SQLServer默认生成的系统管理员账户名是sa
2.SQLServer2008中有哪几种身份验证模式?
3.什么是实例、默认实例和命名实例?
在一台计算机上是否可以安装多个实例?
(思考)
所谓的“实例”,就是一个SQLServer数据库引擎。
SQLServer支持在同一台计算机上同时运行多个SQLServer数据库引擎实例。
每个SQLServer数据库引擎实例各有一套不为其他实例共享的系统及用户数据库。
应用程序连接同一台计算机上的SQLServer数据库引擎实例的方式与连接其他计算机上运行的SQLServer数据库引擎的方式基本相同。
由于实例各有一套不为其他实例共享的系统及用户数据库,所以各实例的运行是独立的,一个实例的运行不会受其他实例运行的影响,也不会影响其他实例的运行。
在一台计算机上安装多个SQLServer实例,就相当于把这台计算机模拟成多个数据库服务器,而且这些模拟的数据库服务器是独立且同时运行的。
实例包括默认实例和命名实例两种。
一台计算机上最多只有一个默认实例,也可以没有默认实例,默认实例名与计算机名相同,修改计算机名会同步修改默认实例名(SQLServer7.0只能被安装为默认实例,在修改计算机名后,会导致SQLServer服务无法启动,需要执行SQLServer安装程序进行自动修复才能解决启动问题),客户端连接默认实例时,将使用安装SQLServer实例的计算机名。
一台计算机上可以安装多个命名实例,命名实例是通过使用计算机在网络上的名字加上实例名字来进行标识的实例。
就是在有了默认实例后,命名其他的实例,就需要再次给安装的实例命名。
分析与讨论
本实验让我学会了安装SQLServer,同时也知道了什么是默认实例和命名实例。
实验二SQLServer常用管理工具和使用
1.理解服务的概念,掌握SQLServer服务的启动、暂停和停止。
2.熟悉SQLServer配置管理工具的使用,掌握使用管理工具查看数据库信息的方法。
3.掌握帮助文档的使用
实验步骤与结果
(1)打开控制面板,找到管理工具,点开“服务”。
(2)找到一项名为“SQLServer(MSSQLSERVER)”的服务,查看其描述和状态。
(3)停止该服务。
(4)启动该服务。
(5)暂停该服务。
(6)恢复该服务。
(7)在SQLServer配置管理器中尝试重复上述操作。
(8)在SQLServer配置管理器中还可以查看到SQLServer服务占用的端口和本机IP地址。
点击左侧“MSSQLSERVER的协议”选择“TCP/IP”,然后选择IP地址选项卡。
可以看到端口号。
(9)使用命令NET管理MSSQLSERVER服务。
停止服务。
命令:
NETSTOPMSSQLSERVER
(10)启动服务。
NETSTARTMSSQLSERVER
(11)暂停服务。
NETPAUSEMSSQLSERVER
(12)重新开启服务。
NETCONTINUEMSSQLSERVER
(13)联机丛书的使用。
联机丛书中包含所有SQLServer的使用说明。
在本课程的学习中,各位同学应该掌握联机丛书的使用,以便在工作和学习中面对不同的SQLServer版本也能迅速地适应。
练习题
1.上网查找在osql命令的作用和使用方法,并使用该命令登录SQLServer查看版本。
通过这个实验让我知道了关于SQL的一些命令的基本用法。
实验三创建数据库
1.掌握在图形界面下创建数据库的方法。
2.掌握使用SQL语句创建数据库的方法。
3.熟悉SQLServerManagementStudio的环境。
(1)明确需求。
(2)使用向导创建上诉描述的数据库。
(3)单击“连接”按钮,便可以进入【SQLServerManagementStudio】窗口。
(4)在“数据库”节点上右击,弹出如下图所示的快捷菜单,选择“新建数据库”命令。
(5)在“常规”数据页的“数据库名称”文本框中,输入要创建的数据库名称和其他属性信息。
(6)单击“确定”。
数据库建立成功。
(7)使用T-SQL语言创建数据库。
(8)点击“新建查询”,键入SQL语句。
(9)点击“执行”
1.熟悉SQL语言建库的语法。
2.创建一个test数据库,其主数据文件逻辑名test_data,物理文件名test_data.mdf,初始大小10MB,最大尺寸为无限大,增长速度1MB;
数据库日志文件逻辑名称为test_log,物理文件名为test_log.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为10%。
3.自行查找删除数据库T-SQL语句
创建数据库test:
CREATEDATABASEtest
ON
(NAME=test_data,
FILENAME='
C:
\ProgramFiles\MicrosoftSQLServer\MSSQL11.SQLEXPRESS\MSSQL\DATA\test_data.mdf'
SIZE=10)
LOGON
(NAME=test_log,
\ProgramFiles\MicrosoftSQLServer\MSSQL11.SQLEXPRESS\MSSQL\DATA\test_log.ldf'
SIZE=1,
MAXSIZE=5)
删除数据库test:
DROPDATABASEtest
本次实验让我学会了如何分别使用SSMS和T-SQL创建数据库,在创建时不能随意更改路径,想要更改要到“数据库设置”里面更改。
实验四管理数据库
1.进一步熟练企业管理器和查询分析器的使用。
2.掌握附加和分离数据库的方法。
3.熟悉数据库的更名。
4.掌握数据库的删除。
(1)建库需求。
创建一个名为“Test”数据库。
主要数据文件:
逻辑文件名为TestData1,实际文件名为TestData1.mdf;
初始容量为1MB,最大容量为10MB,递增量为1MB。
次要数据文件:
逻辑文件名为TestData2,实际文件名为TestData2.ndf;
事务日志文件:
逻辑文件名为TestLog,实际文件名为TestLog.ldf;
初始容量为1MB,最大容量为5MB,递增量为1MB。
(2)修改需求。
按照下面的要求修改数据库Test。
主要数据文件的容量为2MB,最大容量为20MB,递增量为2MB。
次要数据文件的容量为2MB,最大容量为20MB,递增量为2MB。
事务日志文件的容量为2MB,最大容量为10MB,递增量为2MB。
(3)启动“企业管理器”,在控制面板的“树形目录”中选择“数据库”节点,单击鼠标右键,在弹出菜单中选择“新建数据库”命令,出现“数据库属性”对话框。
(4)设置常规选项卡:
在“名称”文本框中输入数据库名称“Test”;
(5)设置数据文件选项卡:
在文件名字段中输入数据文件逻辑文件名“TestData1”;
设置该文件初始大小为1MB;
标记“文件属性”栏下的“文件自动增长”复选框,并选中“按兆字节”设置文件容量递增值为1。
在“最大文件大小”对话框中选择“将文件增长限制为(MB)”为10。
同样,在第二行输入次要数据文件信息,并进行相应设置。
设置事务日志选项卡:
在文件名字段中输入数据文件逻辑文件名“TestLog”;
设置该文件初始大小为1MB,标记“文件属性”栏下的“文件自动增长”复选框,并选中“按兆字节”设置文件容量递增值为1;
在“最大文件大小”对话框中,选择“将文件增长限制为(MB)”为5。
(6)单击“确定”按钮,完成数据库的创建。
(7)在“树状目录窗格”中,选择新建的数据库“Test”,单击鼠标右键,在弹出菜单中选择“属性”命令,打开数据库属性窗口;
(8)选择数据文件选项卡,在其中将主要数据文件和次要数据文件的容量改为2MB,最大容量改为20MB,递增量改为2MB。
(9)选择事务日志选项卡,在其中将事务日志文件的容量改为2MB,最大容量改为10,递增量改为2。
(10)使用Transact-SQL语句创建和修改数据库。
CREATEDATABASETest
PRIMARY(NAME=TestData1,
FILENAME='
\sql_data\TestData1.MDF'
SIZE=3,MAXSIZE=10,FILEGROWTH=1),
(NAME=TestData2,
\sql_data\TestData2.NDF'
SIZE=1,MAXSIZE=10,FILEGROWTH=1)
LOGON
(NAME=TestLog,
\sql_data\TestLog.LDF'
SIZE=1,MAXSIZE=5,FILEGROWTH=1)
GO
(11)修改数据库。
ALTERDATABASETest
MODIFYFILE
(NAME=TestData1,SIZE=2,MAXSIZE=20,FILEGROWTH=2)
(NAME=TestData2,SIZE=2,MAXSIZE=20,FILEGROWTH=2)
(NAME=TestLog,SIZE=2,MAXSIZE=10,FILEGROWTH=2)
(12)点击“执行”,执行修改。
(13)在“树状目录窗格”中,选择新建的数据库“Test”,单击鼠标右键,在弹出菜单中选择“属性”命令,打开数据库属性窗口,查看更新是否已执行。
(14)重命名数据库。
选择数据库“Test”,单击鼠标右键,在弹出菜单中选择“重命名”命令。
1.认真完成本节数据库管理的相关练习,自己制定需求,然后按“建立-修改-重命名-分离-附加-删除”顺序操作。
2.查询“分离”和“附加”操作的T-SQL命令分别是什么?
建库需求。
创建一个名为“test”数据库。
逻辑文件名为test_data1,实际文件名为test_data1.mdf;
初始容量为5MB,最大容量为20MB,递增量为1MB。
逻辑文件名为test_data2,实际文件名为test_data2.ndf;
初始容量为5MB,最大容量为10MB,递增量为2MB。
逻辑文件名为test_log,实际文件名为test_log.ldf;
初始容量为1MB,最大容量为5MB,递增量为10%。
修改需求。
按照下面的要求修改数据库test。
主要数据文件的容量为10MB,最大容量为50MB,递增量为2MB。
次要数据文件的容量为10MB,最大容量为50MB,递增量为2MB。
事务日志文件的容量为10MB,最大容量为50MB,递增量为2MB。
创建:
(NAME=test_data1,
\ProgramFiles\MicrosoftSQLServer\MSSQL11.SQLEXPRESS\MSSQL\DATA\test_data1.mdf'
SIZE=5,
MAXSIZE=20,
FILEGROWTH=1),
(NAME=test_data2,
\ProgramFiles\MicrosoftSQLServer\MSSQL11.SQLEXPRESS\MSSQL\DATA\test_data2.ndf'
MAXSIZE=10,
FILEGROWTH=2)
修改:
ALTERDATABASEtest--修改
(NAME=test_data1,SIZE=10,MAXSIZE=50,FILEGROWTH=2)
ALTERDATABASEtest
(NAME=test_data2,SIZE=10,MAXSIZE=50,FILEGROWTH=2)
(NAME=test_log,SIZE=10,MAXSIZE=50,FILEGROWTH=2)
重命名:
分离:
EXECsp_detach_dbtest--分离
附加:
CreateDATABASEtest--附加
ONPRIMARY(FILENAME='
)
FORATTACH
分析讨论:
进一步掌握了数据库的简单操作和简单T-SQL语法。
使用分离操作才可以使正在连接的数据库文件进行复制,剪切,删除等操作。
附加操作是使分离的数据库文件重新连接
实验五表的创建
1.熟练掌握用Transact-SQL语句创建基本表的方法。
2.熟练掌握基本表的特性。
3.了解SQLServer的基本数据类型。
4.使用SSMS管理平台创建基本表。
。
(1)打开企业管理器。
(2)选择一个创建好的数据库test,单击数据库中的表对象,然后右击窗口右侧选择新建表,弹出如图所示窗体。
(3)在这个窗体中,列名列表示表的字段名,可以在这个窗体中为字段选择数据类型和长度以及是否可以为空值。
以下为示例数据。
注意:
在查找数据类型时,可以按下要查找数据类型的首字母,更快寻找。
(4)在“id”数据项上设置主键。
右键单击该数据项选择“设置主键”,可以看到“允许Null值”自动变为未勾选。
(5)通常在此处还可以设置主键的自动增长。
在下方的“列属性”中找到“标识规范”,选择“是”,标识增量和标识种子可以自定义,这里按照默认。
设置自动增长后,插入输入时可以不填主键,主键可以自动生成。
(6)填完正在创建表的其他信息,单击工具栏上的保存图标,系统会提示输入表的名称。
尽量选择一个有意义的名字。
(7)输入表的名称后,单击确定系统会创建表。
回到企业管理器界面,在相应数据库中查看表的信息,如下图,Student表已创建。
(8)在查询分析器中利用SQL语句创建表。
点击“新建查询”。
(9)在查询窗体中输入创建表的T-SQL语句。
useTest
go
createtableStudent(
idint,
namevarchar(10),
sexchar
(2),
phonevarchar(20)
(10)单击工具栏上的图标按钮,执行分析查询,以检查输入的SQL语句是否存在语法错误。
(11)下面我们来创建一个更为复杂的学生表,引入SQLServer创建表的更多特性。
需求:
字段名称
数据类型
约束
说明
Sno
int
primarykey
学号
Clno
char(6)
notnull
班级编号
Sname
char(8)
姓名
Ssex
char
(2)
性别
Sbir
detetime
出生日期
增加要求:
为Sno增加唯一性约束,为SSex进行修改,为其增加检查约束,要求性别只能是“男”或“女”,并同时增加字段Sage,要求年龄18≤Sage≤100。
(12)在查询窗体中输入T-SQL语句
ifexists(
selectnamefromsys.tables
wherename='
Student'
)
droptableStudent
createtableStudent
(
Snointidentity(1,1)primarykey,
Clnochar(6)notnull,
Snamechar(8)notnull,
Ssexchar
(2)check(Ssexin('
男'
'
女'
))notnull,
Sbirdatetime,
Sageintcheck(Sage>
=18andSage<
=100)
代码的第3到7行用来检测系统中是否已经有了Student表,如果存在则删去Student表,在这里出现了drop语句的用法,希望大家自行查询该语句用法。
identity(1,1)用来设置标志列,自动增长,步长为1,起始值为1。
primarykey,用于设置主键。
check(Ssexin('
))用来设置check约束。
1.建表练习,按下列要求通过SSMS创建表。
属性列
长度
空值
列约束
st_id
nVarChar
9
NotNull
PK
学生学号
st_nm
8
学生姓名
st_sex
2
Null
学生性别
st_birth
datetime
st_score
入学成绩
st_date
入学日期
st_from
nChar
20
学生来源
st_dpid
所在系编号
st_mnt
tinyint
学生职务
2.建表练习,按下列要求通过T-SQL语句创建表。
cs_id
4
课程编号
cs_nm
课程名称
cs_tm
课程学时
cs_sc
课程学分
usetest
createtablecs
cs_idnvarchar(4)primarykey,
cs_nmnvarchar(20)notnull,
cs_tmintnull,
cs_scintnull,
execsp_addextendedproperty--添加说明
N'
MS_Description'
N'
课程编号'
user'
dbo'
table'
cs'
column'
cs_id'
execsp_addextendedproperty
课程名称'
cs_nm'
课程学时'
cs_tm'
课程学分'
cs_sc'
3.建表练习,按下列要求通过T-SQL语句创建表。
FK
学生编号
score
课程成绩