2016-02-15 91 views
0

我有一个关于MySQL中的两个或多个表的问题与关系。对于大学,我需要建立一个形式,人们可以在他们填写:是否有可能创建两个表之间的关系

Firstname 
Lastname 
Street and Housenumber 
ZIPcode and City 
State 
Phonenumber 
E-mail 
Experience 
Resume 
(sendbutton) 

现在,我将创建一个管理员面板,管理员可以通过国家或城市搜索的人。我如何在表单和mysql之间建立关系?我确实知道一些关系是如何工作的。我有一个其他网站有人可以选择一个音乐艺术家(tabel1),选择艺术家后,会出现更多关于此人的信息(tabel2)我如何对我创建的表单执行相同的操作?

对不起,我的英语不好,我希望这是清楚的足以理解我的意思。

+1

是的,你可以做到。首先让我们知道你做了什么。 – PHPExpert

+0

现在什么都没有,我必须用至少两个关系来进行数据库设计(在开始编程之前)。所以我必须告诉我将用什么语言和数字(varchar-int)那些东西。我已经做到了。但现在我必须做一个设计,让我的老师看看这个人/城市/国家之间的关系。所以当选择州时,州内所有城市的人都会出现......如果选择了城市,那么这些人就会出现。我知道如何做到这一点与一个表中的一切都在,但不是当不同的标签和关系 – GLRotterdam

+0

好吧,先从编码开始,然后问如果卡住任何一点的帮助。现在,没有任何代码或你的工作完成,无法帮助更多。 – PHPExpert

回答

1

尝试将您的数据库拆分为实体。这里吸引眼球的唯一实体是 “人” 和 “地址”

使用您的属性,将它们分为:

人:

Firstname 
Lastname 
E-mail 
Phonenumber 
Experience 
Resume 

地址:

Street 
Housenumber 
ZIPcode 
City 
State 

这个想法是要说明不同的数据和分组类似的数据。现在要添加关系,您需要在每个表中添加一个id列以使其成为3nf。然后将另一个id添加到其中一个表中以用作外键。

我会将一个名为“AddressId”的属性添加到person表中,然后在person.addressId = address.id上的联接中使用此属性。这将给你一个一对多的关系,每个人有一个地址,但地址可以有一个多人与之相关联。

您可以通过多种不同的方式来做到这一点,因为除了强制表格之间的关系外,没有其他任何要求。这将是最常见的最佳做法,将表格分解为逻辑分区,但理论上可以采用这些属性中的任何一个,并将它们制作成单独的表格。

+0

哇!好主意没有想到这一点。但我想我会非常感谢你使用这个! – GLRotterdam

+1

没问题,很高兴帮助:) – Anton

相关问题