|
|
一个数据库,是一个单纯的组织收集的信息。 它允许许多不同类型的数据存储和检索,在一个高效率的方式进行。 信息数据库是有组织成表格。 一张桌子根本是一个集各个领域,它可以各有其特殊的数据类型。 举例说,你可以有一个单一的表,在你的数据库中包含一个球员的名字,年龄,以及电子邮件地址。 一旦你表定义你的数据库,然后你可以添加记录到桌子上。 创纪录的是一个单一入口,在一个表中包含的数据,为每一个领域的指定于下表。
有许多不同类型的数据库,但其中我们最感兴趣的是关联式资料库。 关系数据库是一个数据库,其中包含表的信息,相互的关系,在一些这样或那样的方式,信息在表中可获取和组织在许多方面。 这通常是透过独特的识别号码,虽然这项鉴定可以做任何数据类型,但最有效的办法是做与号码类型。 因此,每一个记录,即是增加了一个表,在关系数据库将自动分配一个独一无二的号码,如果是外地的数值,如果一个序列和一个触发是指到谈判桌上来,以做到这一点。 有数据库的软件包,可以做到这一点几乎是自动通过界定说,外地的是一个身份。 这一独特的领域,将区别于其它所有参赛作品在同一表(但不包括作品中,其他表) 。 这使得我们能够优化数据与数据库中,我们可以简单地作实地在一张桌子一个整数(或任何数据类型,其实,有时也有这种情况, varchar (字符串)字段是较好的参考领域比整数) 。
一个很好的例子,如关系型数据库,可以用的是一个简单的聊天程序。 用户的信息可以存储在一张桌子所谓userinfo ,其中将载有登录名,密码和电子邮箱地址。 而且,每一种记录(用户信息)会被分配一个独特的识别号码,自动由数据库,因此,将永远会在某一领域,在userinfo表(独一无二的号码,在外地)可以找出一条记录从所有的休息。 现在,我们的数据库将包含一个单一的表上举行了用户的信息。 什么我们做什么,不过,如果我们希望用户能够有一个通讯录名单到它们可以放入及其同伙到聊天系统? 我们可以有一个单独的表将命名为使用用户的登录名(例如,如果用户被称为"鲍比" ,该表将被命名为" bobby_contacts " ) ,为每一个用户。 上述各表,为用户将包含重复记录的,他们接触的信息,为所有用户,他们都增加了他们的通讯录名单。
你可以看到,这是一个非常低效的方法贮存的联络资料,因为同一资料,将予以仿效多次和数据库,可以有数以百计的统计表中,它(即,一,为每个用户) ,这将是效率不高从数据获取和存储的角度来看。
理想的方式来处理这个问题将是使用功能的关联式资料库。 这就是,使用独一无二的号码,现场已被分配给每个用户自动由数据库。 而不是建立一个单独的表,为每个用户,我们所需要做的是建立一个单一的表使用的所有用户,其中"配对"了用户与其他用户已添加到他们的联系人名单。 我们将号召这个新的表relate_contacts_to_users 。 这种表是经常被称为一个链接表 。 该表将包含两个整数领域存储两个用户的独特数字,也出于其自身的独特分配人数,以符合作为一个关系型数据库。 因此,当一个用户增加了一个朋友,以他或她的联系人名单中, Applet的,将增加一个进入这个新的表加入用户的独一无二的号码,进入了第一场,然后在朋友的独一无二的号码,在第二场。 这就构成了一个完整的纪录,在新表。 因此,我们可以添加很多朋友,以单一使用者与牺牲的只有3个整数,价值观,而不是重复许多弦乐团及整数代表了用户的细节。
因此,使用这种有更好的办法,那么,如果想补充Bobby和约翰作为联系,为詹妮,所有我们需要做的是添加两个额外的记录进入relate_contacts_to_users上来,让出唯一的ID号码Bobby和约翰詹妮的唯一的ID 。
这种技术有许多应用在存储数据的一个最佳途径,也能导致存取数据的速度。 此外,它消除了限制预定各个领域,玩家可以有很多朋友,因为他们不想因为每一个新的朋友,只是补充说:作为一个记录向关联表。
Online: 627 users browsing the articles directory
|
|