数据库中有什么?
值得注意,很多人永远不需要创建自己的数据库。您也许永远不会创建自己的表或其他数据结构。您只需运行备份和恢复并操纵系统上的安全性,并让应用程序为您安装数据库。这是完全可以理解的,完全符合许多企业和许多意外DBA的需求。然而,了解这些东西是什么以及如何作为理解SQL Server的一部分对你来说是很有好处的。
数据库实际上是文件
您需要存储那些以后能够检索的信息。所以,您有必要组织信息。如果您正在使用文字处理程序,则可以将不同的文档存储在不同的文件中。你真的不会将所有的文档放在一个单一的大文件中。SQL Server的功能非常类似。当您有一台服务器时,您不会简单地将所需的各种类型的信息存储在该服务器一大堆运行的业务中。相反,你将组织这些信息。SQL Server的初始组织机制是数据库。数据库允许您在单独的存储区域中保留信息集。此外,它允许您隔离这些不同信息集的安全性,以便您可以控制谁查看或修改数据。
在数据库中有一些称为表的东西。表是定义存储关系的。您将组织的信息存储在数据库后将被添加到这些表中。您能够通过这些表添加或删除数据库中的数据。您还可以从这些表中检索数据库中的信息。
除了数据库中的表之外,还有一些不同的构造将帮助您管理存储在数据库中的信息。这些包括许多不同类型的对象,可帮助您操纵数据,如视图,存储过程和函数。您还可以获得一整套安全对象,例如角色和用户。
数据库实际上是由存储在Windows文件系统的某个位置的文件组成。这些文件是专有的、二进制格式数据,只有通过SQL Server才能直接读取。将数据写入这些文件是SQL Server中最昂贵和耗时最多的操作之一(尽管大多数情况下,所涉及的时间以微秒为单位)。由于这种费用,所以了解您的数据库是由文件定义的,并且清楚它们存储的地方就变得很重要了。
两种类型的文件
您可以将数据简单地存储在文本文件或电子表格中,并被大量人员使用。但是,当您需要多个人同时访问它时,更新某些日期,删除某些日期,插入新信息等,这些其他存储机制变得非常有问题。这就是为什么你需要使用数据库。因为SQL Server必须与存储的数据做很多不同的工作,所以提出了一些不同的机制来执行这些操作。数据库就是围绕存储不同类型信息的两种不同类型的文件构成的。我们通过这个图形来理解这两种类型。
注意:实际上可以添加其他几种文件类型到数据库中,但是我们在这里谈论基本原理,所以现在我们将保持直观和简单。
数据文件
定义数据库所需的第一种文件类型是数据文件。数据文件易于理解和解释。这种类型的文件是要存储您写入数据库信息的地方。任何给定的数据库都可以由多个数据文件组成。数据文件可以放在与您的系统的多个硬盘驱动器上。如果您拥有更高级的存储机制,例如存储区域网络(SAN),您可能还有其他构造,而不是服务器上的简单硬盘驱动器,但它们都将映射到Windows操作系统作为驱动器,并且SQL Server可以使用这些存储数据文件。
日志文件
创建数据库所需的第二种文件类型是日志文件。日志文件比数据文件要复杂一点。日志文件记录数据库中发生的每个事务。当系统中以某种方式操纵数据时,会发生事务。这些操作可以是对现有数据的更新,通过将新数据插入到表中来添加新数据,或从表中删除数据。所有这些操作都会将信息写入日志文件。还有一些其他功能也与日志文件相关联。这些文件通常远小于数据文件,因为日志文件中的条目只需要保留到所有数据都成功写入数据文件。因为写入数据文件有不同种类的故障,因此日志文件被保留以帮助处理这些故障。一旦将信息写入数据文件,可以删除日志条目。清理日志文件的过程将在另一篇文章中详细讨论。
当您最初创建文件时,您可以调整其大小。您也可以在创建文件之后调整其大小。每个文件也可以自动设置,这是非常复杂的,所以值得花更多的时间了解它的意思。
自动增长设置
如果你有很多数据库,管理数据库上的文件可能会有很多工作。您必须检查可用空间,然后在足够空间的时候将文件设置为较大的尺寸。其中一个方法就是使用自动增长的属性设置对数据库。
谨慎一点:使用此设置非常小心。您可以填写驱动器,使您的服务器脱机。
将数据库设置为自动增长是指数据库在开始运行时会自动调整文件大小。许多人使用此设置,并且许多应用程序在安装它们时将其设置为开启。您应该为文件设置一个较高的增长限制,以避免该问题。您可以将文件设置为增长数据库的百分比或固定大小。对于较小的数据库,按百分比增长可以起作用,但随着数据库的大小增加,百分比的增长将变得越来越长。最佳做法是将增长率设定为特定值而不是百分比。所有有关如何设置这些的详细信息将在数据库创建时被覆盖。
放置文件的位置
安装SQL Server时,您可以选择定义数据库文件的放置位置。您还可以通过“服务器属性”窗口进行调整。在创建数据库时,最好知道您要放置文件的位置,以确保该驱动器上有足够的空间。要查看那位置时,请按照“数据库基础知识2”中所述连接您的服务器。一旦连接,在对象资源管理器窗口中,右键单击服务器名称本身。这将显示一个上下文菜单。选择该菜单底部的“属性”菜单选项。这将打开“服务器属性”窗口,您将处于默认的“常规”选项卡。选择“数据库设置”选项卡,您将看到与此类似的内容:
要查看的有趣区域是位于窗口底部的“数据库默认位置”部分。您将看到列出的三个不同的目录,一个用于数据,日志和备份。通过单击条目右侧的省略号,您可以启动默认文件浏览器窗口,以更改日志或数据文件的默认位置。您还可以通过使用上述物理路径直接键入文本框来修改它们或使用通用命名约定(UNC)路径。
除了物理位置之外,两个文件类型中的每一个都具有几个属性,这些属性在创建数据库时将会很重要。物理位置的一部分将是文件名和扩展名。这些可以是任何有效的Windows操作系统名称和扩展名。默认情况下,扩展名通常是数据文件的.mdf,日志文件的.ldf。如果愿意,你可以改变这些,但这样可能导致混乱,因为大多数人都使用默认值作为最佳做法。其中逻辑文件名,允许您引用文件中的数据库中的操作,而不必参考包括驱动器在内的完整文件位置。逻辑名称根本不必与物理名称相匹配,但通常它们相同。
结论
这帖子介绍了数据库的文件存储的内容。下一篇文章我们将在服务器上实际创建一个数据库,感觉那比这个帖子更容易理解。
(本帖转译于GRANT FRITCHEY2017年6月20日发布于Intimidating Databases and Code上的帖子:数据库基础知识#3:数据库中有什么?
地址链接:)