gpt4 book ai didi

Mysql期间列和连接表

转载 作者:行者123 更新时间:2023-11-29 20:47:43 25 4
gpt4 key购买 nike

我们在学校的技术顾问建议我在创建连接表之前开始创建实体主表。他还鼓励我对列使用复合主键而不是复合唯一键。

他告诉我们在编写 GUI 之前要花大部分时间在数据库上,所以我需要确保表设计不会造成任何问题。

所以我们可以说,

一个类(class)具有或属于许多学年 = TRUE

一个学年有许多个类(class) = TRUE

让我觉得有 3 张 table ,

(设计 1):

表 1:类别

id PK
name
yearlevelId

连接表 2:学年类(class)

id PK AI
classId -- FK REFERENCES classes(id)
schoolYearId -- FK REFERENCES schoolyear(id)

表 3:学年

id PK AI
schoolYearStart
schoolYearEnd

比这个更好

(设计 2):

类(class)

id PK AI
name
yearlevelId -- FK REFERENCES yearLevel(id)
schoolyearId -- FK REFERENCES schoolyear(id)

学年

id PK AI
schoolYearStart
schoolYearEnd

我在这里需要一些专业建议,因为我确信你们处理过许多涉及句点的系统。我知道设计会影响要创建的事务插入以及连接。

哪种设计更好?如果大多数列都是数字(id),我该如何插入记录?

如果有任何帮助,我将不胜感激。

谢谢。

最佳答案

对于“连接”表(用于实现多对多映射),我强烈不同意使用AUTO_INCRMENT。您有一个完美的复合 PK,此外您还需要另一个 INDEX 中以相反顺序排列的 id 对。结束。

More on a good schema for M:N 。这给出了“原因”。

我同意@Drew --

  1. 在 GUI 上工作一段时间。
  2. 然后您就会感觉到需要什么 SELECT
  3. 根据您的两种设计绘制选择。很明显,一种模式更好。
  4. 然后完成架构设计。
  5. 六个月后改进架构。 (是的,你会发现“最终”的设计并不是那么好。)

关于Mysql期间列和连接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38328433/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com