【问题标题】:Can't decide database structure. Which one should i go for?无法决定数据库结构。我应该去哪一个?
【发布时间】:2011-07-04 13:31:45
【问题描述】:

我正在为一家公司开发小型应用程序。他们希望我做的是某种活动网站,他们可以为每个活动添加参与者。我的问题是,我应该为所有活动的所有参与者准备一个表格,还是应该为每个活动创建一个表格并将参与者存储在其中?

如果有任何语法错误,请原谅我的英语。

【问题讨论】:

    标签: tsql data-structures rdbms


    【解决方案1】:

    你应该有 3 张桌子:

    一个有参与者(participant_id、姓名、地址...)

    一个包含事件(event_id、日期、地点...)

    一个与事件的参与者(id、participant_id、event_id)

    【讨论】:

      【解决方案2】:

      就个人而言,我会使用三个表。第一个存储事件列表,第二个存储参与者列表,第三个包含事件和参与者之间的关系(存储 event_id 和参与者id组合)。

      这使您可以保留与任何给定活动分开的参与者详细信息列表,以便他们可以从预先填充的列表中被邀请/添加为未来活动的参与者,而不是要求重复添加相同的详细信息.

      【讨论】:

        【解决方案3】:

        事件、参与者及其关系的表格。了解数据规范化。

        【讨论】:

          【解决方案4】:

          下表应该可以帮助您映射需求:

          Events - 保存所有事件特定信息 用户 - 持有网站中的所有用户(请记住,一个用户可以参与超过 1 个活动) Participants - 这持有参与事件的用户的关系(多对多)

          所以示例列:

          • 事件 - event_name、event_description、event_date
          • 用户 - 名字、姓氏、电子邮件
          • 参与者 - event_id(fk : Events.id), user_id(fk: Users.id)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-11-12
            • 2013-07-14
            • 1970-01-01
            • 2019-06-09
            • 1970-01-01
            • 2014-04-17
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多