005数据库结构 分析

2024-09-01 16:32
文章标签 分析 数据库 结构 005

本文主要是介绍005数据库结构 分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

打个比方:数据库就是一幢大楼,我们要先盖楼,然后再招住户(住户当然就是数据库对象,)。我们盖得大楼的基本格局设计师们已经为我们设计好,我们在创建数据库过程中,系统(设计师)就会我们把格局设计好。我们住户住进去后只需根据自己的需要小改就可以了。那么我们现在来盖楼吧。

一、数据库的存储结构

数据库文件:逻辑结构和物理结构

逻辑存储结构:文件的性质:数据文件和日志文件。

数据文件:

首要数据文件:一个数据库必须有一个首要数据文件。(.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 语言和企业管理器都可以完成。

这篇关于005数据库结构 分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1127461

相关文章

详谈redis跟数据库的数据同步问题

《详谈redis跟数据库的数据同步问题》文章讨论了在Redis和数据库数据一致性问题上的解决方案,主要比较了先更新Redis缓存再更新数据库和先更新数据库再更新Redis缓存两种方案,文章指出,删除R... 目录一、Redis 数据库数据一致性的解决方案1.1、更新Redis缓存、删除Redis缓存的区别二

oracle数据库索引失效的问题及解决

《oracle数据库索引失效的问题及解决》本文总结了在Oracle数据库中索引失效的一些常见场景,包括使用isnull、isnotnull、!=、、、函数处理、like前置%查询以及范围索引和等值索引... 目录oracle数据库索引失效问题场景环境索引失效情况及验证结论一结论二结论三结论四结论五总结ora

Java中switch-case结构的使用方法举例详解

《Java中switch-case结构的使用方法举例详解》:本文主要介绍Java中switch-case结构使用的相关资料,switch-case结构是Java中处理多个分支条件的一种有效方式,它... 目录前言一、switch-case结构的基本语法二、使用示例三、注意事项四、总结前言对于Java初学者

C#实现文件读写到SQLite数据库

《C#实现文件读写到SQLite数据库》这篇文章主要为大家详细介绍了使用C#将文件读写到SQLite数据库的几种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录1. 使用 BLOB 存储文件2. 存储文件路径3. 分块存储文件《文件读写到SQLite数据库China编程的方法》博客中,介绍了文

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

锐捷和腾达哪个好? 两个品牌路由器对比分析

《锐捷和腾达哪个好?两个品牌路由器对比分析》在选择路由器时,Tenda和锐捷都是备受关注的品牌,各自有独特的产品特点和市场定位,选择哪个品牌的路由器更合适,实际上取决于你的具体需求和使用场景,我们从... 在选购路由器时,锐捷和腾达都是市场上备受关注的品牌,但它们的定位和特点却有所不同。锐捷更偏向企业级和专

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

结构体和联合体的区别及说明

《结构体和联合体的区别及说明》文章主要介绍了C语言中的结构体和联合体,结构体是一种自定义的复合数据类型,可以包含多个成员,每个成员可以是不同的数据类型,联合体是一种特殊的数据结构,可以在内存中共享同一... 目录结构体和联合体的区别1. 结构体(Struct)2. 联合体(Union)3. 联合体与结构体的

SQL Server数据库磁盘满了的解决办法

《SQLServer数据库磁盘满了的解决办法》系统再正常运行,我还在操作中,突然发现接口报错,后续所有接口都报错了,一查日志发现说是数据库磁盘满了,所以本文记录了SQLServer数据库磁盘满了的解... 目录问题解决方法删除数据库日志设置数据库日志大小问题今http://www.chinasem.cn天发

Spring中Bean有关NullPointerException异常的原因分析

《Spring中Bean有关NullPointerException异常的原因分析》在Spring中使用@Autowired注解注入的bean不能在静态上下文中访问,否则会导致NullPointerE... 目录Spring中Bean有关NullPointerException异常的原因问题描述解决方案总结