轻松走进数据库系列之一
打个比方:数据库就是一幢大楼,我们要先盖楼,然后再招住户(住户当然就是数据库对象,)。我们盖得大楼的基本格局设计师们已经为我们设计好,我们在创建数据库过程中,系统(设计师)就会我们把格局设计好。我们住户住进去后只需根据自己的需要小改就可以了。那么我们现在来盖楼吧。
一、数据库的存储结构
数据库文件:逻辑结构和物理结构
逻辑存储结构:文件的性质:数据文件和日志文件。
数据文件:
首要数据文件:一个数据库必须有一个首要数据文件。(.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 语言和企业管理器都可以完成。
- 23楼lfmilaoshi前天 11:36
- 还要比较之间的关系呀。。。米老师
- Re: wangyongxia921前天 11:55
- 回复lfmilaoshin嗯,谢谢老师指导!
- 22楼liushuijinger前天 07:55
- 加油
- Re: wangyongxia921前天 07:55
- 回复liushuijingern多谢打气! 哈哈
- 21楼hejingyuan63天前 19:57
- 很全呢,加油
- Re: wangyongxia9213天前 21:21
- 回复hejingyuan6n一起加油!
- 20楼yuanqiaolin3天前 19:45
- 呵呵,学习了
- Re: wangyongxia9213天前 19:46
- 回复yuanqiaolinn互相学习
- 19楼dandanzmc3天前 18:34
- (*^__^*) 嘻嘻……美女
- Re: wangyongxia9213天前 18:57
- 回复dandanzmcn小妹妹常来哦
- 18楼honey_jaejoong3天前 16:15
- 我也要好好学习数据库~
- Re: wangyongxia9213天前 16:35
- 回复honey_jaejoongn那就开始学吧!
- 17楼wlccomeon3天前 16:14
- 学习啦!我得赶紧看完VB视频,开始数据库!
- Re: wangyongxia9213天前 16:15
- 回复wlccomeonn我在前面等你啊,哈哈
- 16楼wang136675393253天前 15:18
- 呵呵,这么快呀,都进行数据库了。
- Re: wangyongxia9213天前 16:01
- 回复wang13667539325n红皮书没有整理好,所以就先看这个了,接下来看红皮书
- 15楼jiuqiyuliang3天前 14:26
- 不断总结。
- Re: wangyongxia9213天前 14:26
- 回复jiuqiyuliangn恩,颗粒归仓!
- 14楼zuozuo12453天前 08:32
- 顶一个
- Re: wangyongxia9213天前 08:33
- 回复zuozuo1245n嘻嘻!
- 13楼xhf555553天前 08:31
- 基础知识多总结,知道就好,嘻嘻加油哈
- Re: wangyongxia9213天前 08:32
- 回复xhf55555n嗯,多谢,鼓励,哈哈
- 12楼lantingxv_jing3天前 08:30
- 给美女 “顶” 一个。n 加油哦。。O(∩_∩)O~
- Re: wangyongxia9213天前 08:31
- 回复lantingxv_jingn多谢鼓励!加油!
- 11楼han_yankun20093天前 08:28
- 支持
- 10楼cumtcs20133天前 00:45
- 额,我是菜鸟一枚。
- Re: wangyongxia9213天前 08:17
- 回复cumtcs2013n大家都是相互学习,开始学就会!
- 9楼zhangcanneng4天前 20:33
- 很基础的总结,学校出来都忘光光了 呵呵
- Re: wangyongxia9214天前 23:01
- 回复zhangcannengn没事!再看一遍就又回来了!
- 8楼xiaoduishenghuogo4天前 15:29
- 加油,基础很重要!
- Re: wangyongxia9214天前 16:38
- 回复xiaoduishenghuogon好的,加油!
- 7楼liu7650230514天前 15:11
- 不坏不坏,学的真快
- Re: wangyongxia9214天前 15:14
- 回复liu765023051n专业课有学,就提前看了一点,嘿嘿
- 6楼zhang_ying1124天前 15:10
- 我也来顶一个喽~
- Re: wangyongxia9214天前 15:10
- 回复zhang_ying112n多谢多谢
- 5楼xqf3094天前 13:47
- [e01]
- Re: wangyongxia9214天前 14:16
- 回复xqf309n多谢师兄,哈哈
- 4楼han_yankun20094天前 11:41
- 我也要加紧了呀
- Re: dandanzmc4天前 11:41
- 你才小妹妹呢
- Re: wangyongxia9214天前 13:00
- 回复han_yankun2009n好啊,一起学!
- 3楼gxq7417186184天前 11:40
- 加油哦!
- Re: wangyongxia9214天前 11:40
- 回复gxq741718618n一起加油!
- 2楼zhangye9008314天前 10:36
- hehe很棒!
- Re: wangyongxia9214天前 11:40
- 回复zhangye900831n好的,有你加油!继续努力!
- 1楼Wentasy4天前 08:40
- 顶,支持下。想请教楼主一个问题,您用的什么截图工具?
- Re: wangyongxia9214天前 08:56
- 回复Wentasyn谢谢您的支持,是qq截图
- Re: Wentasy4天前 09:24
- 回复wangyongxia921n呵呵。多谢了。楼主可以用用这个截图工具:SnagIt,可以说是目前为止我见过的最强大的截图工具。
- Re: wangyongxia9214天前 09:47
- 回复Wentasyn好的,我尝试一下,谢谢