我们在学校的技术顾问建议我在创建连接表之前先创建实体的主表。他还鼓励我对列使用复合主键而不是复合唯一键。
他告诉我们,在编写GUI之前,大多数时间都要花在数据库上,所以我需要确保表的设计不会造成任何问题。
所以说,
一个班级已经或属于多个学年=真
ONE学年有多个类= TRUE
让我觉得有三张桌子,
(设计1):
表1:类
id PK
name
yearlevelId连接表2: SchoolYearClasses
id PK AI
classId -- FK REFERENCES classes(id)
schoolYearId -- FK REFERENCES schoolyear(id)表3: SchoolYear
id PK AI
schoolYearStart
schoolYearEnd比这更好
(设计2):
类
id PK AI
name
yearlevelId -- FK REFERENCES yearLevel(id)
schoolyearId -- FK REFERENCES schoolyear(id)SchoolYear
id PK AI
schoolYearStart
schoolYearEnd我需要一些专业的建议,因为我相信你们处理了很多涉及月经的系统。我知道设计会影响事务插入以及连接。
哪种设计更好?如果大多数列都是数字(id),我如何插入记录?
我很感谢你的帮助。
谢谢。
发布于 2016-07-13 17:27:11
对于“连接”表(实现多到多映射),我强烈反对使用AUTO_INCREMENT。您有一个非常好的复合PK,另外还需要在另一个INDEX中以相反的顺序对in。结束了。
http://mysql.rjweb.org/doc.php/index_cookbook_mysql#many_to_many_mapping_table。这就给出了“理由”。
我同意“Drew”
SELECTs有一种感觉。SELECTs。很明显,有一个模式更好。https://stackoverflow.com/questions/38328433
复制相似问题