gpt4 book ai didi

数据库结构,主键和外键

转载 作者:搜寻专家 更新时间:2023-10-30 23:43:02 24 4
gpt4 key购买 nike

整个想法是做一个网站,对全国所有城市和学校的教师进行评分。当用户进入网站时,他将有一个选择城市的选项。选择城市后,用户有机会选择该城市可用的学校。选择学校后,教师名单就会出现。

我想制作城市、学校和教师的表格。城市将以城市名称和 CID 作为主键。学校应将学校名称 SID 作为主键,将 CID 作为外键。最后,Teachers 表将以教师姓名、教师 ID CID 和 SID 作为外键。

所以我的问题是:学校是否可以拥有一个从 1 到所选城市中的某物的 ID?还是像我在图片中绘制的那样,它引用了所有学校的 id 列表,以及许多彼此独立的 id 城市?

enter image description here

这是对我的适当思考吗?我是否按照我的描述正确设计了它?

最佳答案

最好的选择是让每所学校都有一个唯一的 ID。有几个优点:

  • id 字段可以由系统生成。如果您为每个城市复制学校 ID 值,则必须手动搜索用于特定城市的最后一个值,以便在该城市创建新学校。
  • 一所学校的外键只需要一个字段,即学校 ID。否则,他们将需要学校 ID 和城市 ID 来指代特定学校。
  • 学校搬迁很少见,但并非未知。要么学校搬迁,要么城市重新划定边界。这就增加了发生冲突的可能性——比如说,如果 101 学校搬到一个已经有 101 学校的城市。

所以所有的学校都应该有一个唯一的 ID,并带有一个 FK 到城市。每个城市还应该有一个唯一的 ID,带有 FK 到州。或者您可以将县放在城市和州之间。

它不会影响您“向下钻取”以查找用户想要查看的学校的方法。您询问州并使用答案找到所有城市。您询问城市并使用答案找到所有学校。

关于数据库结构,主键和外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32747038/

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