数据库翻译

数据库中有什么?

值得注意,很多人永远不需要创建自己的数据库。您也许永远不会创建自己的表或其他数据结构。您只需运行备份和恢复并操纵系统上的安全性,并让应用程序为您安装数据库。这是完全可以理解的,完全符合许多企业和许多意外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:数据库中有什么?

地址链接:https://www.scarydba.com/2017/06/20/database-fundamentals-3-whats-database/

时间: 2024-10-11 22:47:07

数据库翻译的相关文章

第三周数据库翻译

1.It's worth noting that a lot of people will never need to create their own database.You may never create your own tables or other data structures either. You may only ever run backups and restores and manipulate the security on the system and let a

redis简介

1. 什么是redis redis是一个nosql(not only sql不仅仅只有sql)数据库.翻译成中文叫做非关系型型数据库. 关系型数据库:以二维表形式存储数据 非关系型数据库: 以键值对形式存储数据(key, value形式) 是一家意大利的创业公司出的,然后后来这家公司被VMware赞助. redis底层用C语句编写. redis是将数据存放到内存中,由于内容存取速度快所以redis被广泛应用在互联网项目中, redis优点:存取速度快,官方称读取速度会达到30万次每秒,写速度在1

redis相关总结

1. 什么是redis redis是一个nosql(not only sql不仅仅只有sql)数据库.翻译成中文叫做非关系型型数据库. 关系型数据库:以二维表形式存储数据 非关系型数据库: 以键值对形式存储数据(key, value形式) 是一家意大利的创业公司出的,然后后来这家公司被VMware赞助. redis底层用C语句编写. redis是将数据存放到内存中,由于内容存取速度快所以redis被广泛应用在互联网项目中, redis有点:存取速度快,官方称读取速度会达到30万次每秒,写速度在1

Redis总结

1. 什么是Redis Redis是一个NoSQL(Not Only SQL不仅仅是SQL)数据库.翻译成中文叫做非关系型型数据库. 关系型数据库:以二维表形式存储数据   非关系型数据库: 以键值对形式存储数据(Key, Value形式) 是一家意大利的创业公司出的,然后后来这家公司被VMware赞助. Redis底层是用C语句编写的. Redis是将数据存放到内存中,由于内容存取速度快所以Redis被广泛应用在互联网项目中, Redis优点:存取速度快,官方称读取速度会达到30万次每秒,写速

Unity3D用户手册

Welcome to Unity. 欢迎使用Unity. Unity is made to empower users to create the best interactive entertainment or multimedia experience that they can. This manual is designed to help you learn how to use Unity, from basic to advanced techniques. It can be

Hibernate的搭建及使用

1.创建普通的java项目. 因为Hibernate是一个轻量级的框架,不像servlet,还必须需要tomcat的支持,Hibernate只要jdk支持即可. 2.引入jar包. 可以在项目中直接引入jar包,在:项目--->属性--->然后如下图: 另一种办法就是引入库,相当于一个文件夹,把所有的jar包放到自己新建的文件夹中.在:窗体-->选项-->然后如下图: 3.提供Hibernate的配置文件.hibernate.cfg.xml文件.完成相应的配置. 1 <hib

终于等到你:CYQ.Data V5系列 (ORM数据层)最新版本开源了

前言: 不要问我框架为什么从收费授权转到免费开源,人生没有那么多为什么,这些年我开源的东西并不少,虽然这个是最核心的,看淡了就也没什么了. 群里的网友:太平说: 记得一年前你开源另一个项目的时候我就说过 这么多年 秋天有两点没变 一是还是单身 另外一个就是cyq.data还没开源 终于等到开源了! 也许吧,只有把cyq.data最终开源了,才能解决单身问题,不然我在这上面花的时间太多,都没时间和妹子聊天了. 几个重要网址: 源码SVN地址:https://github.com/cyq1162/c

Asp.Net Core 混合全球化与本地化支持

前言 最近的新型冠状病毒流行让很多人主动在家隔离,希望疫情能快点消退.武汉加油,中国必胜! Asp.Net Core 提供了内置的网站国际化(全球化与本地化)支持,微软还内置了基于 resx 资源字符串的国际化服务组件.可以在入门教程中找到相关内容. 但是内置实现方式有一个明显缺陷,resx 资源是要静态编译到程序集中的,无法在网站运行中临时编辑,灵活性较差.幸好我找到了一个基于数据库资源存储的组件,这个组件完美解决了 resx 资源不灵活的缺陷,经过适当的设置,可以在第一次查找资源时顺便创建数

《Entity Framework 6 Recipes》翻译系列 (4) -----第二章 实体数据建模基础之从已存在的数据库创建模型 (转)

不知道对EF感兴趣的并不多,还是我翻译有问题(如果是,恳请你指正),通过前几篇的反馈,阅读这个系列的人不多.不要这事到最后成了吃不讨好的事就麻烦了,废话就到这里,直奔主题. 2-2 从已存在的数据库创建模型 问题 有一个存在的数据库,它拥有表.也许还有视图.外键.你想通过它来创建一个模型. 解决方案 让我们设想,你拥有一个描述诗人(Poet)以及他们的诗(Poem),还有他们之间关系的数据库.如图2-7所示. 图2-7 一个关于诗人及他们的诗的简单数据库 从上图可以看出,一个诗人可能是一首或多首