gpt4 book ai didi

sql-server-2008 - 任何人都使用 SQl Server 2008 HierarchialID 类型来存储家谱数据

转载 作者:行者123 更新时间:2023-12-04 14:07:59 25 4
gpt4 key购买 nike

我有一个家谱数据库(实际上是关于绵羊的),育种者使用它来研究遗传信息。在每条记录中,我都存储了父亲和母亲。在一个单独的表中,我存储了完整的“汇总”信息,这样我就可以快速了解任何动物的完整家谱,而无需遍历整个数据库......

最近发现了 SQL Server 2008 中内置的 hierarchyID 类型,表面上看起来很有希望,但我想知道是否有人已经使用它足以知道它是否适合我的应用程序类型(即两个 parent ,多个 child )?到目前为止,我发现/阅读的所有示例都涉及经理/员工类型的关系,其中给定的老板可以有多个员工,每个员工可以有一个老板。

我的应用程序的需求是相似的,但并不完全相同。

我相信无论如何我都会深入研究这项新技术,但如果有人已经知道它的设计方式并没有让我可以使用它,那么缩短我的研究会很好。

我也很好奇人们使用这种新数据类型与其他做同样事情的方法相比,看到了什么样的性能。

最佳答案

假设每只羊有一个父本和一个母本,并且没有一只羊可以是它自己的父本(导致 Ovine Temporal Paradox),那么使用两个 HierarchyID 怎么样?

CREATE TABLE dbo.Sheep(
MotherHID hierarchyid NOT NULL,
FatherHID hierarchyid NOT NULL,
Name int NOT NULL
)
GO
ALTER TABLE dbo.Sheep
ADD CONSTRAINT PK_Sheep PRIMARY KEY CLUSTERED (
MotherHID,
FatherHID
)
GO

通过使它们成为联合 PK,您将唯一地将每只羊识别为其母系等级和父系等级的产物。

这里可能潜伏着一些固有的问题,因此请谨慎使用几个简单的原型(prototype)——但最初它似乎对你有用。

关于sql-server-2008 - 任何人都使用 SQl Server 2008 HierarchialID 类型来存储家谱数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/577756/

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