最新的数据库原理实验参考1019Word文件下载.docx
《最新的数据库原理实验参考1019Word文件下载.docx》由会员分享,可在线阅读,更多相关《最新的数据库原理实验参考1019Word文件下载.docx(41页珍藏版)》请在冰豆网上搜索。
每当在磁盘上创建一个数据库时,会在磁盘上产生3种类型的文件,用来存储数据:
(1)主要数据文件:
*.mdf
包含数据库初始信息,记录数据库还包括哪些文件,并存储相关数据。
每个数据库有且只有一个*.mdf文件。
(2)次要数据文件:
*.ndf
作为主要数据库文件的补充,可以存储多种数据。
所存储的数据可以横跨多个物理磁盘,或者存储大于windows单一文件极限的文件。
根据需要确定是否建立次要文件。
(3)日志文件:
*.ldf
保存数据库所有相关信息用于数据库的恢复,每个数据库至少有一个日志文件。
逻辑文件名:
使用sql语句访问数据库时使用的数据库名,需要符合sql的命名规则,且不同数据库名称相异。
物理文件名:
数据库存储在磁盘上使用的文件名,需要符合windows文件命名规则。
注:
*.sql文件:
是用户使用查询分析器建立的语句文档。
在查询分析器中创建数据库的基本语句:
CREATEDATABASEdatabase-name
例:
createdatabasestu
onprimary(name=stu_data,primary:
表示此数据库文件为最主要文件,属于primary文件组,扩展名为.mdf,每个数据库中唯一
filename='
d:
\sqlex\stu_data.mdf'
‘’:
此处符号均为半角输入符号
size=10,filename:
用以指明数据库文件的具体物理位置及名称
maxsize=50,size:
文件的初始大小
filegrowth=5),maxsize:
文件的最大长度,如果此处为unlimited,表示文件可以无大小限制,直到增长至整个磁盘大小
filegrowth:
文件的增长量
(name=stu1_data,
\sqlex\stu_data.ndf'
size=20)
logon(name=stu_log,log:
日志文件,其建立方式同数据库文件,扩展名为.ldf
\sqlex\stu_log.ldf'
size=10,
maxsize=50,
filegrowth=5),
(name=stu1_log,
\sqlex\stu1_log.ldf'
size=5,
maxsize=20,
filegrowth=2)
3.、使用查询分析器修改数据库
alterdatabasestualter:
用于修改数据库或表文件
modifyname=studmodifyname:
修改数据库名
alterdatabasestud
addfile(name=stud_data,addfile:
增加数据库中的次要文件,扩展名为.ndf
\sqlex\stud_data.ndf'
建立方式同建立主要文件
maxsize=20),
(name=stud1_data,
\sqlex\stud1_data.ndf'
maxsize=20)
alterdatabasestud
addlogfile(name=stud_log,addlogfile:
增加日志文件
\sqlex\stud_log.ldf'
(name=stud1_log,
\sqlex\stud1_log.ldf'
modifyfile(name=stud_data,modifyfile:
修改数据库文件的基本属性
size=30,
maxsize=50)
4、显示或修改数据库文件的结构及各项属性
数据库的快速察看:
Sp_helpdb[数据库名]:
如果后面不接具体数据库名称,会给出当前所有服务器所管理的系统及用户数据库;
给出具体名称则显示具体数据库的文件组成。
ExecSp_helpdbstud
数据库属性的设置:
execsp_dboption'
stud'
'
readonly'
false'
设置数据库是否为只读属性
dbouseonly'
true'
设置数据库管理员访问权限
ExecSp_dboption[数据库名][数据库选项][值]:
可以修改数据库的具体属性,属性可从企业管理器设置或查询
数据库个别属性说明
配置项
设置值
说明
Dobuseonly
True/false
默认值false,表示任何有权限访问次数据库的人都能够使用此数据库。
Singleuser
默认值false,设为true表示同一时间只能允许一位用户连接此数据库
Readonly
默认值false,表示数据库可读写,否则只读
Autoclose
True表示最后一位用户离开且所有数据处理完成时,数据库自动关闭释放所有资源
数据库改名:
sp_renamedboldname,newname
Sp_renamedb旧数据库名,新数据库名:
当需要修改数据库名称时,数据库不可为只读属性,并且改名时数据库不可访问
Usemasteruse[数据库名]:
激活数据库
Go
5、删除数据库
基本语句;
dropdatabasedbname数据库名
Dropdatabasestud
Dropdatabase[数据库名]:
当数据库使用时不可以删除,因此使用use命令使当前激活数据库转移到master数据库之后删除。
一次删除多个数据库:
DROPDATABASEdatabase1,database2,……
Master、model、msdb、tempdb4个系统数据库不允许删除。
6、备份数据库:
当我们需要在其他位置保存数据库时,可以利用sql语句保存备份文件:
---创建备份数据的device
USEmaster
EXECsp_addumpdevice'
disk'
'
testBack'
c:
\mssql7backup\MyNwind_1.dat'
//添加数据库到磁盘,命名为testBack,位置在c盘\…\…的MyNwind-1.dat文件中
---开始备份
BACKUPDATABASEpubsTOtestBack
在企业管理器中进行备份:
打开控制台根目录,在数据库文件夹点选右键-〉所有任务-〉备份数据库,在弹出窗口中常规选项卡中选择需要备份的数据库-〉目的-〉添加-〉弹出对话框中选择其他位置并命名。
7、数据库的还原:
需要在另外计算机的sqlserver中还原备份好的数据库,在企业管理器中右键点选数据库-〉所有任务-〉还原,根据需要完全或部分还原数据库。
8、附加和分离数据库
该操作的主要目的,就是移动数据库的位置,如从A计算机的sqlserver中创建的数据库,移动到B计算机中的sqlserver环境下。
也可以利用此操作建立移动设备上的数据库。
(1)数据库的分离:
企业管理器中右键选择待分离数据库-〉所有任务-〉分离数据库,如果使用本数据库联机的数量非空,则不能执行分离操作,必要时可以使用右侧清除按钮强制清除连接。
如果需要在分离前更新信息,则钩选更新统计信息按钮。
(2)附加数据库:
企业管理器中右键选择数据库-〉所有任务-〉附加数据库,在弹出对话框中选择要附加的数据库主要文件*.mdf,将其载入即可。
附:
SQLserver系统自带数据库介绍
Master数据库:
sqlserver中的master数据库,是系统数据库,用来保存用户建立的所有数据库信息。
因此在创建或删除自己的数据库后,一定要及时备份master数据库,以免日后发生错误。
Model:
所有新建数据库的模版,新建数据库从此库继承一系列的属性和操作。
Tempdb:
保存所有临时表和存储过程,以及所有临时性操作所产生的数据。
Msdb:
SQLSERVER代理服务使用,用于sqlserver代理调度
同时,sqlserver为了用户尽快掌握数据库操作,因此系统提供了2个示例数据库。
Pubs:
保存一个虚拟图书出版公司的数据信息;
Northwind:
保存一个虚拟贸易公司的数据信息。
以上2个数据库可以被用户使用和删除。
实验二创建并管理表
1、创建数据库中的表
(1)在企业管理器中创建:
展开数据库,右键点击表-〉新建表,弹出对话框中输入表属性列,完成后关闭对话框同时对表起名。
之后在窗口中右键选择新建的表-〉打开表,输入表中的数据。
一些特殊字段说明:
Image:
字段需要存放超过8kb且为可变长度的二进制数据。
包括:
word文件,excel表格,位图,gif、jpeg、tiff等图片,声音,或ole对象等。
Sqlserver对所存储数据不作解释,若想正确解析数据,需要通过各种客户端应用程序。
Unicode数据类型(nchar、varnchar、ntext):
采用unicode编码存储字符,每个字符占2个字节。
整型数据:
bigint(8字节,范围-2^63-1~2^63-1);
int(4字节,范围:
-2^31-1~2^31-1);
smallint(2字节,范围:
-2^15-1~2^15-1);
tinyint(1字节,范围0-255)
精确数字:
numeric\decimal,可以指定精度,和小数位数。
Decimal(精度[,小数位数])
timestamp:
时间戳,该类型数据为一组二进制数据,表示数据库发生修改的先后顺序与次数,与日期类型date毫无关连。
每个表只能有一个该类型字段,并且该字段不能定义为主键(PrimaryKey)。
Table:
该类型不能在表的字段中定义,只能用户定义变量或函数时使用该类型,用来返回一个临时结果集。
自动增长(自动编号)字段:
为表的每一条记录进行流水编号,并随记录的递增而自动增长。
Sqlserver没有额外提供自动增长字段,需要自行定义。
能够成为自动增长字段的数据类型必须是整型数据,并指定其基本值与递增量。
在企业管理器中,对欲将其设为自动增长字段的属性卡中-〉标识-〉是,然后指定标识