另一方面,关系数据库的概念(最简单的形式)并不一定要过于复杂。在您认为这不是您需要了解的东西之前,请考虑一下您几乎每天都在与某种形式的数据库进行交互。当您从自动柜员机中取钱,使用常用的购物卡购买商品或在体育馆内使用胸卡时,实际上是在数据库中填充某些表。
所以,为什么要选择关心?好吧,因为一旦您了解了数据库的工作方式以及如何将看起来完全独立的数据与其他数据相关联,您就会开始真正意识到-并希望当心,更多有关这些互连如何重新困扰您的警告。
在您刚购买西服不到两周的时间里,其他服装公司如何知道向您发送正装目录?在您购买汽车三年后,汽车经销商如何知道保修期即将结束,并向您发送延期保修的报价?这全都涉及查询,数据之间的关联以及对结果的处理。这就是数据库的魔力。
数据库的工作方式
因此,如果您是数据库管理员,或者是可以闭眼编写SQL语句的程序员,帖子可能会让您流泪。但是,如果您不熟悉数据库的概念,或者对数据库可能如何成为您甚至不知道的生活的一部分感到好奇,那么本文就是为您准备的。
解释数据库如何工作,我实际上将使用Excel。 Excel是创建电子表格的出色工具,但是电子表格只是数据库中所谓的“表"的集合。一张桌子听起来确实像是一张桌子,一张充满了按字段组织的数据的桌子。
在我们的示例中,我们将假装这是健身房的数据库。这个虚构的体育馆有会员资格,我们可以假设上面的单个表格是新会员注册健身俱乐部时填充的信息。注册过程中需要进行部分权衡,以便俱乐部可以帮助您找到管理体重和健康的新方法。实际上,健身俱乐部实际上有一个很棒的咖啡馆,菜单上有保健食品,会员可以在锻炼后一口吃些健康的东西,也可以在锻炼前就喝一杯。
因为这是一个非常高科技的俱乐部,他们还向数据库中添加了另一个表格。下表每次成员每次在healthfood cafe购买商品时都会添加新数据。此事务(另一个用于记录增加或减少的数据库术语)直接在寄存器处进行。您会注意到,在两个表之间,有一些类似的数据,例如成员名称。还有唯一的数据,例如交易ID和日期和时间。
唯一的数据有助于保持所有信息的有条理,而所有表之间的通用数据则可以帮助程序员进行连接-点,可以这么说。稍后,我将向您展示一些逻辑,但首先,俱乐部需要将其添加到不断增长的数据库中。显然,当会员进入俱乐部或离开俱乐部时,他们需要使用俱乐部ID来使用数字扫描仪“徽章"进出。该操作将填写另一个表。这个新表格只是跟踪会员何时进入和退出健身俱乐部。
因此,您有了它。健身俱乐部整理的一个非常简单的数据库。三个基本表,具有非常独特的用途。一个是会员注册列表,另一个是健身俱乐部商店购买记录,第三是每个会员的登录和退出时间。这些似乎都是不相关的信息,对吧?
Well, the magic of a relational database is that you can extract information from each of these tables and then correlate them together to come up with some really interesting data. For example, let’s say the club wants to figure out what sorts of food the heaviest members are eating at the cafe. They could easily figure this out by running a “query” against the database, asking the membership sign-up table for the weights of members over a certain weight – let’s say 200 pounds. Then, you would ask the cafe purchasing table for the purchases of those people that are over 200 pounds.
对数据库运行这样的“查询"时,它会在某种“临时"新表中提供结果。这是一张新桌子的样子。这是俱乐部最重的会员在健身俱乐部咖啡馆购买的东西的清单。
对于这种性质的查询语言实际上非常简单。例如,在Microsoft Access中,如果将成员资格表称为“成员资格",而将咖啡馆购买表称为“ purchase",则查询可能如下所示:“ SELECT Purchase.member,purchase.description,purchase.date FROM Purchase WHERE Membership .name == Purchase.name AND Membership.weight> 200"
Now, when you start looking at the information collected throughout the health club, you can see what types of things the club could figure out. Do people who sign in at certain times of the day tend to buy more at the cafe? Do people of certain age groups tend to check in more often at certain times of the day? All of this information will help a business implement things like advertising or marketing campaigns.
其他类型的数据库
现在,您知道数据库的工作原理,可能会遇到哪种数据库在您的日常生活中?嗯,每次您访问大多数博客或网站并发表评论或登录时,您都在与数据库进行交互。对于WordPress,数据库看起来像这样。
如您所见,有一堆表(在这种情况下为15个)用于保存各种信息,例如用户详细信息,发布信息,评论等。这是WordPress博客的骨干,许多其他高级站点也具有类似的数据库后端。
打开其中一个表(例如posts表)时,您会看到所有在实际网页上显示的信息就存储在数据库内部。
如果您完全是游戏玩家,则可能与数据库进行了交互。一些游戏更加依赖于后端数据库,并且可能数据库最密集的游戏是多人在线游戏。例如,如果您熟悉大型在线太空游戏OGame,则这是此类在线游戏的一个示例,该示例在很大程度上取决于运行节目的数据库。就像您在任何数据库表中所期望的那样,只是清楚地列出了世界上的玩家列表。
游戏数据库包含从用户得分和成就到当前游戏项目统计信息或角色之间的相互关系的所有内容,对象等。如果没有后端数据库来运行节目,那么根本不可能有很多游戏。
您肯定会遇到的另一个地方是在网上购物。
是的,看到这些格式化后的商品结果在亚马逊上列出了吗?当然更复杂)。而且,当您继续前进并决定继续进行亚马逊购买时,可以确定您的购买详细信息和历史记录正在填充亚马逊海量数据库中的另一个表。
您可能不会怀疑的另一个地方取决于数据库是您自己的计算机注册表。实际上,这称为“分层"数据库,因为在浏览注册表时可以看到,信息存储的层次结构多于关系格式。但是,前提是相同的。
人们实际上可以编写查询来从系统注册表中提取信息,就像数据库查询一样,只是使用的查找“表"是键名,而“ “ ValueName"是该键在数据库中存储的实际数据。
因此,您实际上不需要知道如何对数据库进行编程甚至是如何使用它,而只需了解卷即可这些数据库可以存储的数据的数量,以及如何轻松地使用它们来关联在现实世界中看起来非常不同的信息,您可以保持警惕,以了解可能希望与企业共享(或不共享)的信息类型。
对数据库设计的解释是否有助于理解它们在您自己的生活中的工作方式?您是否惊讶于每天为您做的事情连接点很容易?在下面的评论部分中分享您对数据库的想法。
标签: