gpt4 book ai didi

MySql数据库设计

转载 作者:可可西里 更新时间:2023-11-01 08:36:58 25 4
gpt4 key购买 nike

我正在使用 MySQL 作为数据库,我有一些设计问题:

我有一个表“locations”,其中包含某个位置的 locIDlat & long 和名称值。< br/>
我还有一个表 categories,其中包含 IDcategory-name & locID

现在我想确保可以将类别分配给多个位置。我该怎么做才正确?多次存储同一个类别没有太大意义,每个 locID 一次,不是吗?去这里的路是什么?

谢谢!罗恩

最佳答案

您可以使用 join table为多对多关系建模。

location_category
location_id category_id
1 1
1 2
2 1
2 3
3 4

添加外键约束以防止向表中输入无效值:

  • location_category.location_idlocations.locID
  • location_category.category_idcategories.ID

还使 (location_id, category_id) 成为表的主键,以防止多次将类别添加到同一位置。


从表中读取数据时,使用JOIN从主表中获取相关数据:

SELECT ...
FROM location_category
JOIN locations ON location_category.location_id = locations.locID
JOIN categories ON location_category.category_id = categories.ID
WHERE ....

关于MySql数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9299898/

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