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