gpt4 book ai didi

sql - 实现具有替代名称的人员数据库并将所有名称链接在一起

转载 作者:行者123 更新时间:2023-11-30 23:49:51 29 4
gpt4 key购买 nike

我正在为一个小型纪念作品博物馆创建一个数据库。这主要是为皇室事件制作的,但也有其他领域。因此,大多数片段都与一个人有关,并且应该可以搜索关于某个特定人的所有片段。

我遇到的问题是,在皇室中,一个人的名字会在一生中多次更改是很常见的。应该可以以任何名称搜索它们,但以任何名称调出所有片段。这些作品仍应列在所写的名称下。

因此,我需要某种方式来存储所有名称,同时在相关的地方将它们链接在一起。然后能够轻松搜索任何名称。

我想到的 2 种方法是拥有一个备用名称表,该表有一个返回 Person 表的外键,然后问题是搜索必须在两个表中搜索并在必要时引用回 Person。我想不出容易做到这一点。

另一种方法是在一个表中列出所有名称,并使用另一个表使用 2 个外键链接它们。

有没有什么简单的方法可以使用这些方法中的任何一种进行搜索,或者有没有更好的方法来首先创建数据库?

谢谢

最佳答案

由于 Person 和 Name 之间存在一对多关系,因此我将其结构如下:

  • 件:PieceID、PersonID、Foo、...
  • 人:PersonID,酒吧,...
  • 姓名:NameID、PersonID、姓名、...

  • 您的查询将是:
    SELECT Foo, Bar, Name
    FROM Names
    JOIN Person USING(PersonID)
    JOIN Piece USING(PersonID)
    WHERE Names.Name LIKE '$query'

    关于sql - 实现具有替代名称的人员数据库并将所有名称链接在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6075400/

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