什么是数据库中的父表和子表?

2022-08-30 12:39:25

我只想知道什么是父表,什么是数据库中的子表。你能给我看一个例子,让我了解它是如何工作的。

谢谢


答案 1

子表和父表只是普通的数据库表,但它们以父子关系描述的方式链接。

它通常用于指定一个表的值引用另一个表中的值的位置(通常是另一个表的主键)。

例如,想象一篇新闻文章。这可以用一个名为 的表来表示,并且具有 、 、 和 的字段。但是,您可以改为将用户的 ID 值放在单独的表中(可能称为),而不是在字段中放置名称,该表包含有关作者的信息,例如 、 和 。articlesidheadlinebodypublished_dateauthorauthorauthorsidnameemail

因此,如果您需要更新作者的姓名,则只需在(父)表中执行此操作;因为(子)表仅包含相应记录的 ID。authorsarticlesauthor

希望这有助于您更好地理解。


答案 2

请注意,您可以具有看似父子关系但实际上不是父子关系的关系,例如,在使用查找表时。区别在于,在真正的父子关系中,记录通常不能很好地站立 - 它们是父级的详细记录,如果没有父表信息,它们就没有用处。一个人可以在DMV数据库中拥有多辆汽车,但是您不希望CARS表中的记录没有OWNOS表中的父记录 - 这将是几乎无用的数据。

另一方面,如果我使用查找表将代码扩展到更有意义的内容,或者将数据输入限制为可接受的值,则在删除查找表时,“子”记录仍然有用(可以独立)。我仍然可以将性别信息设置为“M”或“F”,即使我不再有查找表将其扩展到“男性”或“女性”。


推荐