我有一个专栏小组。group_types中有不同类型的组(买方、卖方、裁判员)。只有当集团是类型的买方,它有另一种类型(更专业),如电气和机械。
我对如何将其存储在数据库中感到有点困惑。
有人能给我建议一个数据库结构吗?
谢谢
发布于 2009-05-27 15:24:45
您可以存储其他类型,如buyer_mechanical或buyer_electrical。
发布于 2009-05-27 15:27:40
你可以试试:
Group
group_id
group_name
group_parent_id
with entries (1, buyers, 0), (2, sellers, 0), (3, referee, 0), (4, electrical, 1), (5, mechanical, 1)这具有无限可伸缩性的优点,因此每个子组可以有任意多个子组。
发布于 2009-05-27 15:28:27
通常,您有扩展表。这些只是模式中的附加表,这些表包含通过某种类型的键链接到主表的附加信息。
例如,假设您的主表是:
People
PersonId int, PK
GroupTypeId int, FK to GroupTypes
Name varchar(100)
GroupTypes
GroupTypeId int, PK
GroupTypeName varchar(20)
BuyerTypes
BuyerTypeId int, PK
BuyerTypeName varchar(20)
BuyerData
PersonId int, FK
BuyerTypeId int FK此外,==== BuyerData将在PersonId和BuyerTypeId上有一个复合主键(PK)
提取买方数据时,可以使用以下查询
SELECT *
FROM People P
INNER JOIN BuyerData BD on (P.PersonId = BD.PersonId)
INNER JOIN BuyerTypes BT on (BD.BuyerTypeId = BT.BuyerTypeId)https://stackoverflow.com/questions/916367
复制相似问题