Mar*_*ean 35
子表和父表只是普通的数据库表,但它们以父子关系描述的方式链接.
它通常用于指定一个表的值引用另一个表中的值的位置(通常是另一个表的主键).
例如,想象一篇新闻文章.这可以通过一个名为表来表示articles
,并具有字段id
,headline
,body
,published_date
和author
.但不是在放置一个名称author
字段,可以代替把用户的ID值在一个单独的表,也可以叫做authors
-即对作家如信息id
,name
和email
.
因此,如果您需要更新作者的姓名,您只需要在authors
(父)表中执行此操作; 因为articles
(子)表只包含相应author
记录的ID .
希望这有助于您更好地理解.
小智 15
请注意,您可以拥有看似父子关系,但不是,例如在使用查找表时.区别在于,在真正的父子关系中,记录通常不是很好 - 它们是父级的详细记录,没有父表信息就没有用.一个人可以在DMV数据库中拥有多辆汽车,但是如果没有OWNERS表中的父记录,你就不会想要CARS表中的记录 - 这几乎是无用的数据.
另一方面,如果我使用查找表将代码扩展为更有意义的代码,或者将数据条目限制为可接受的值,那么如果删除查找表,"子"记录仍然有用(可以独立) .即使我不再有查找表将其扩展为"男性"或"女性",我仍然可以将性别信息设为"M"或"F".
小智 7
父 - 与另一个表的关系的"一"(/ 1)侧的实体
Child - 与另一个表的关系的"many"(/ N/*)侧的实体