如何组织MySQL数据库

时间:2015-04-07 07:18:41

标签: mysql

我想创建一个Wedding应用程序,我有一个MySQL数据库。 每个用户都可以添加很多客人。如何组织我的数据库?我有两个选择:
1.使用列:电子邮件和密码创建名为Users的表,然后创建名为Guests的表,其中包含列电子邮件和来宾。在表Guest中,我可以存储每个用户的所有guest虚拟机的XML节点。但这似乎杂乱无章。
2。为每个用户创建新模式,并创建一个名为Guests的表,其中包含表示guest虚拟机的列(名称,姓氏,电话等)。每条记录都是嘉宾。

你能帮我选择正确的方法吗?并解释我为什么。

谢谢

1 个答案:

答案 0 :(得分:0)

创建一个名为'来宾'保存所有访客数据的地方。请务必为每位客人提供一个唯一的密钥,让我们说guest_id。

创建第二个名为' Users'包含所有用户数据和名为user_id的列。

创建将连接前两个表的第三个表。称之为邀请。在这里,您将至少有两列:user_idguest_id。此表中的主键应该由这两列组成。

因此,您的私有表中的每个来宾/用户都有唯一的数据。您使用第三个表invitations连接第一个表:

第三表内容示例(invitations):

user_id   |  guest_id
----------------------
user_id_1 | guest_id_1
user_id_1 | guest_id_2
.....
user_id_2 | guest_id_1 (this guest is invited on both weddings :) )
user_id_2 | guest_id_999 (this one is only here)