gpt4 book ai didi

sql - 数据库模型结构

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

我有一列Groups 在 group_types 中存储了不同的类型(买家、卖家、推荐人)。只有当该组是买方类型时,它才会有另一种类型(更专业),如电气和机械。

我对如何将其存储在数据库中感到有点困惑。

有人可以建议我一个数据库结构吗?

谢谢

最佳答案

将您的 group_types 存储为分层表(使用 nested setsparent-child 模型):

父子:

typeid parent name1      0      Buyers2      0      Sellers3      0      Referee4      1      Electrical5      1      Mechanic
SELECT  *
FROM mytable
WHERE group IN
(
SELECT typeid
FROM group_types
START WITH
typeid = 1
CONNECT BY
parent = PRIOR typeid
)

将选择 Oracle 中的所有买家。

嵌套集:

typeid lower  upper  Name1      1      2      Buyers2      3      3      Sellers3      4      4      Referee4      1      1      Electrical5      2      2      Mechanic
SELECT  *
FROM group_types
JOIN mytable
ON group BETWEEN lower AND upper
WHERE typeid = 1

将选择任何数据库中的所有买家。

Nested sets 可以在任何地方实现并且性能更高,如果您不需要分层排序或频繁更新 group_types

Parent-child 可以在 OracleSQL Server 中轻松实现,而在 MySQL 中只需一点努力。它允许轻松更改结构和分层排序。

关于如何在 MySQL 中实现它,请参阅我博客中的这篇文章:

关于sql - 数据库模型结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/916367/

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