需要一个建议

时间:2014-01-05 16:54:23

标签: sql

我想为学校制作网站,因此我需要一个建议。我正在尝试为每位教师制作一份时间表,如果将它们设置在一个表中或每个教师的不同表中是很好的(注意:教师可以从站点更改时间表。)?计划表看起来像这样但是为了包括我想要添加ID列的所有教师的计划。enter image description here

关于聊天的第二个问题。为了将聊天功能添加到我的网站,我打开了一个名为Chats的新表。所以问题是为聊天打开不同的表会不会很好,或者如果每次新聊天时我都修改Chats表会好吗?

1 个答案:

答案 0 :(得分:3)

根据经验,如果您拥有相同类型的数据,它几乎总是(*)存储在同一个表中。

所以更直接地回答你的问题:你想把所有老师的日程安排在一张桌子里。然后在该表中有一列,将每行标识为特定教师日程表的一部分。

同样,答案适用于第二个问题。所有聊天都应该放在一个Chats表中。您可以使用列来识别聊天(消息)作为对话的一部分以及参与者。

(*)进一步扩展上面的几乎总是。我之所以说的几乎总是而且不仅仅是因为在某些情况下,当有两个或更多的表包含相同类型的数据时,这可能是一个好主意。例如,在schedule表示例中。您可能希望将所有教师的计划数据保留在Schedules表中,但会定期将该表中超过一年的数据移动到ArchivedSchedules表中。第二个表可能与Schedules表具有几乎相同的结构,但以这种方式分离数据是有意义的,因为它可以提高访问性能。