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

相关文章

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

mysql数据库重置表主键id的实现

《mysql数据库重置表主键id的实现》在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,本文主要介绍了mysql数据库重置表主键id的实现,具有一定的参考价值,感兴趣的可以了... 目录关键语法演示案例在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,当我们

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

Spring Boot 整合 MyBatis 连接数据库及常见问题

《SpringBoot整合MyBatis连接数据库及常见问题》MyBatis是一个优秀的持久层框架,支持定制化SQL、存储过程以及高级映射,下面详细介绍如何在SpringBoot项目中整合My... 目录一、基本配置1. 添加依赖2. 配置数据库连接二、项目结构三、核心组件实现(示例)1. 实体类2. Ma