我使用 MySQL 作为数据库,我有一些设计问题:
我有一个表“
locations
”,其中包含 locID
、lat
和 long
以及某个位置的名称值。categories
,上面有 ID
和 category-name
和 locID
。谢谢! 罗恩
您可以使用连接表来建模多对多关系。
location_category
location_id category_id
1 1
1 2
2 1
2 3
3 4
添加外键约束以防止将无效值输入到表中:
location_category.location_id
到locations.locID
location_category.category_id
到categories.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 ....