数据库结构——轻松走进数据库系列之三
打个比方:数据库就是一幢大楼,我们要先盖楼,然后再招住户(住户当然就是数据库对象,)。我们盖得大楼的基本格局设计师们已经为我们设计好,我们在创建数据库过程中,系统(设计师)就会我们把格局设计好。我们住户住进去后只需根据自己的需要小改就可以了。那么我们现在来盖楼吧。
一、数据库的存储结构
数据库文件:逻辑结构和物理结构
逻辑存储结构:文件的性质:数据文件和日志文件。
数据文件:
首要数据文件:一个数据库必须有一个首要数据文件。(.mdf)
次要数据文件:可以有多个次要数据文件,也可没有。(.ndf)
日志文件:(.ldf)。安装文件、配置文件、错误信息文件。
物理存储结构:以文件的形式存储在磁盘上。
数据库文件组:
也分主文件组,次文件组,
日志文件不属于文件组一部分,文件在文件组中不是共享的,即一个文件只属于一个文件组。文件缺省时被分在主文件组中。
二、创建数据库
创建方式:企业管理器、 T-SQL 语句。
企业管理器:在对象资源管理器窗口,选中数据库右击,选择新建数据库。出现如下界面:
右上红色框中:数据库名称;中间红色框:是数据库文件的一些设置,可以对初始大小,增长率,路径进行设置。
左角的红色框:有选项,文件组,常规可以对数据库的属性进行进一步的设置;最后设置完成点击最下的确定。这时刷新一下你的数据库,你新建的数据库就显示出来了。
点击右下角的“添加”,你也可以在创建的过程中添加数据文件和日志文件。
T-SQL 语句:create
例子:创建一个主文件和一个日志文件的数据库
create database 数据库名 on primary
(name=逻辑名称,filename=物理名称,size=自定义大小,maxsize=自定义最大存储空间,filegrowth=自定义增长率)
Log on(name=逻辑名称,filename=物理名称,size=自定义大小,maxsize=自定义最大存储空间,filegrowth=自定义增长率)
Ps:Primary 说明接下来的数据文件时主数据文件,可以同时创建几个数据文件,但是primary必须写在那个主文件之前,几个数据文件之间用“,”隔开;log 说明接下来创建的是日志文件,日志文件也可以有多个,日志文件之间也用“,”隔开。注意数据文件跟日志文件知之间是没有任何符号的。
物理名称:包含存储文件的路径。
三、修改数据库
1、空间大小修改
企业管理器:从数据库属性——文件中进行修改。
T-SQL语言:1、 alter
alter database 数据库名字
modify file(name=逻辑名称,size=改变后的大小)
2、dbcc shrinkfile(数据库文件名,改变后大小)
优缺点:企业管理器,alter 只可以增大数据库文件。Dbcc 只可以缩小数据库文件。
2、重命名
企业管理器:右击重命名。
利用系统存储过程;在重命名之前必须先将数据库的使用用户改为:single,然后在进行修改。
格式:exec sp_dboption '数据库名',‘single user’,true
exec sp_renamedb '数据库旧名',‘数据库新名’
Exec sp_dboption ‘数据库名’,‘single user’,false
3、数据库结构的更改
企业管理器,属性-文件
T-SQL 语言: alter
添加数据文件组或者数据文件
Alter database 数据库名 add filegroup 文件组名
Alter database 数据库名 add file
(name=逻辑名,filename='物理名称',size=n1 ,maxsize =m1,filegrowth=t1)
To 文件组名
Alter database 数据库名 add log file
(name=逻辑名,filename='物理名称',size=n2 ,maxsize =m2,filegrowth=t2)
Ps:这里添加文件的时候不用加‘on’。
到此,数据库已经建好,里面的东西还有。我们已经建好了一桩大楼,格局有了,但是还没有住户。
四、删除数据库
1、T-SQL 语言;Alert database databasename
2、企业管理器:右键删除
3、键盘 delete
五、备份和恢复数据库
备份设备
企业管理器:添加备份或删除备份设备。
T-SQL 语言:sp_addumpdevice ‘设备类型’,‘设备逻辑名称’,‘设备物理名称’
删除:sp_dropdevice ‘设备逻辑名称’'delfile' delfile 是删除物理文件。
备份
完整备份,差异备份,日志备份
完整备份:backup database 数据库名 to 备份设备的物理或者逻辑名称。(备份可以是新建的也可以已经有的)
差异备份:backup database 数据库名 to 备份设备的物理或者逻辑名称 with different 差异备份必须是有过一完整备份才可以。
日志备份:backup log 数据库名 to 备份设备的物理或者逻辑名称
文件组备份:backup database 数据库名 filegroup=文件组名 to 备份设备的物理或者逻辑名称
恢复
是备份的逆过程。
企业管理器
T-SQL 语言:把关键字 backup ……to 改成restore……from即可。
我们这刚刚建立数据库就备份相当于是备份了一个空数据库,数据库对象还有,数据也没有。我在这里提前说了,是因为,备份和恢复数据库一般是以数据库为单位的。
综上所述:这些所有的操作,T-SQL 语言和企业管理器都可以完成。