码迷,mamicode.com
首页 > 数据库 > 详细

数据库基本原理# 3:一个数据库中有什么?

时间:2017-09-24 00:34:29      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:mdf   创建文件   之一   www.   安全   企业   http   idf   二进制   

数据库基本原理# 3:一个数据库中有什么?

值得一提的是很多人将不需要去创建他们自己的数据库。你可能从不会去创建你自己的表格或者是其他的一些数据结构。你可能是安装应用系统为你创建数据库,你也只是做一些备份修复工作以及处理系统安全问题。当然这也是完全能够理解的,毕竟这与很多企业和许多不太重要的数据库应用系统的需求十分的一致。但是,最好能去了解一部分SQL服务器 ,比如它是什么和它是怎么运行的。

数据库其实就是文件

你需要去保存你之后想要能帮你找到的信息。有条理的储存信息是非常必要的。如果你进行一项文字处理程序,你会将不同的文档存储在不同的文件中。你不会将你所有的文档都放进同一个大的文件里。这种做法与SQL服务器功能十分类似。当你有一台服务器,你不能简单的把各种类型的并且对于你企业十分必要的信息全部储存在一个大文件并放进服务器里。相反的,你要去组织好那些信息。SQL服务器起初的组织机制是数据库。数据库允许在不同存储区域保存信息集。此外,它允许你隔离这些不同的信息集以此保证安全性,同时也方便你控制谁可以来查看或修改数据.

在数据库中有称为表的东西。表定义储存关系。你在往数据库中存储的信息将被添加到这些表中。你也能够通过这些表将数据添加到数据库或者从中删除。你还可以从这些表中检索数据库中的信息。 

除了数据库中的表外,还有许多将帮你管理存储在数据库中的信息的不同结构。这包括一些不同类型的对象,这些对象可以帮你处理数据,如视图、存储过程和函数。你还可以得到一组完整的安全对象,如角色和用户。

数据库实际上是由存储在Windows文件系统某处的文件组成。这些文件的格式都是专们的二进制形式,除了通过SQL服务器外,其他软件不能直接读取。向这些文件写入数据是SQL 服务器中最宝贵且耗时的操作之一(尽管在大多数情况下,服务器所涉及的时间是以微秒计算的)。因为这一贡献,对于数据库是由文件定义的和文件被储存在数据库的问题的理解是非常重要的

两种类型的文件

你可以和很多人一样把数据存储在文本文件或者电子表格中。但当你需要多人同时访问,都在同一时间更新一些数据,删除,插入新的信息,其他的存储贮存机制变得很有问题。这就是你为什么要使用数据库。由于SQL Server必须对存储的数据进行大量不同的工作,所以它会产生一些不同的机制来执行这些操作。数据库的结构是以两种不同类型的文件来存储不同类型的信息,当你检查这些类型时你可以参考这些数据。

注:实际上还有几个其他的文件类型可以添加到数据库中,但现在我们在这里讨论的是基本原理,所以现在我们将保持它的简单。

数据文件

定义数据库所需的第一类文件是数据文件。数据文件易理解和解释。你写入数据库的信息就被存储在这种文件中。任何给定的数据库都可以由多个数据文件组成。数据文件可以放在多个硬盘上。如果您有更高级的存储机制,如存储区域网络(SAN),您可能有其他结构,而不是服务器上简单的硬盘驱动器,但它们将作为驱动器映射到Windows操作系统,SQLServer也可以使用这些存储数据文件。

日志文件

创建数据库需要的第二种类型文件是日志文件。日志文件稍微复杂一些,比数据文件难理解。日志文件记录数据库中的每一条事务。当数据在系统中以某种方式被操纵时,就会发生事务。这些操作可以对现有数据进行更新,通过将数据插入表中来添加新数据或删除数据。这些操作导致信息被写入日志文件中,还有许多其他的函数也与日志文件相关。这些文件通常比数据文件小得多,因为日志中的条目只需要被保存,直到数据被成功的写到数据文件中。因为写入数据文件会受到不同类型的故障的限制,一旦数据被写入数据文件,日志就会被删除。清理日志文件的过程将会在另一个帖子中详细讨论。当你最初创建文件时,你可以调整它们的大小。在创建文件之后,你可以调整大小,包括上下调整。每个文件也可以被设置为自动增长,但这很复杂,所以值得花更多时间来理解它的含义。

自动增长设置

如果你有大量的数据库,那么管理数据库中的文件会有很大的工作量。你需要检查可用空间,当空间足够时将文件的大小增大。所有这些手动工作的一种方法是使用数据库的自动增长设置。

警告:要小心使用这个设置,你可以填满一个驱动器,让你的服务器离线。将数据库设置为自动增长,这意味着数据库将在开始耗尽空间是自动调整文件大小。许多人在使用这种设置,还有许多应用程序在安装是将其设置为on。为了避免这个问题,你应该在文件中设置一个较高的增长限制。你可以将这些文件设置为数据库或固定大小的百分比。对于规模较小的数据库,按百分比增长是可以工作的,但随着数据规模的不断扩大,按百分比增长的过程就会变的越来越长。最好的做法就是将增长设置为一个特定的值,而不是一个百分比。当数据库被创建,关于如何设置这些的详细信息将被覆盖。

放置文件的位置

当你安装SQL Server 时,你有选择来定义你的数据库文件放置的位置。你也可以通过服务器属性窗口来调整。当你在创建一个数据库时,为了确保在运行是有足够的空间,最后有知道你放置文件的位置 。为了看到文件放置的位置,连接到你的服务器上,在数据库基础2上有相关的要点概述。一旦连接,在“对象资源管理器”窗口中,右键单击服务器名称本身。这将产生一个上下文菜单。在菜单底部选择“属性”菜单选项。这将打开服务器属性窗口,您将处于默认的“常规”,tab。选择“数据库设置”选项卡,您将看到与此非常类似的内容:

查看这里的有趣区域是标题为“数据库默认位置”部分的窗口底部。你将看到三个不同的目录,其中一个用于数据、日志和备份。通过单击条目右侧的省略号,可以调出默认的“文件浏览器”窗口,以更改日志或数据文件的默认位置。你也可以修改输入直接在文本框中任何一个物理路径如上图所示,使用通用命名约定(UNC)路径。

放置文件的目标应该是尽可能地分离功能。如果你有能力,最好将操作系统文件与数据和日志文件分离。这意味着,如果可能的话,进一步,至少应该考虑将数据和日志文件存储在完全独立的驱动器上。这允许对驱动器上的文件进行数据的最大吞吐量。

一旦你决定了储存的位置是恰当的,如果你已经做了改变,就单机确定按钮保存这些改变,如果你没有做任何的改变,或是你不希望保存所做的修改,就单击取消按钮。这些点击中的任何一个都将关闭服务器属性窗口。

这两种文件的类型都有几个属性,除了当你创建数据库时的重要物理位置,物理位置的一部分将是文件名和扩展名。这些都能是有效的窗口操作系统名和扩展名,默认情况下,扩展名通常是mdf的数据文件和idf的日志文件,你可以改变这些,如果你想。但是它可能会导致一系列的困惑,因为大多数人用默认作为最佳的练习。有一个逻辑文件名,允许您在数据库中引用该文件进行操作,而无需返回完整的文件位置,包括驱动器。逻辑名一点也没有必要匹配物理名称,但是他们通常会这样做。

结论

以上介绍了数据库文件存储的本质,下一章我们将在服务器上实际创建一个数据库,那将会比这章要简单。        

*文章来自:

https://www.scarydba.com/2017/06/20/database-fundamentals-3-whats-database/

*原文引用: Inside SQL Server T-SQL Querying – Itzik Ben Gan

SQL Server 2008 Transact-SQL Recipes – Joseph Sack

数据库基本原理# 3:一个数据库中有什么?

标签:mdf   创建文件   之一   www.   安全   企业   http   idf   二进制   

原文地址:http://www.cnblogs.com/nicestlala/p/7583504.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!