我只想知道什么是父表以及数据库中的子表是什么。你能告诉我一个例子,所以我理解它是如何运作的。
谢谢
答案 0 :(得分:31)
子表和父表只是普通的数据库表,但它们以父子关系描述的方式链接。
它通常用于指定一个表的值引用另一个表中的值的位置(通常是另一个表的主键)。
例如,想象一篇新闻文章。这可以由名为articles
的表格表示,并包含id
,headline
,body
,published_date
和author
的字段。但是,不是在author
字段中放置名称,而是可以将用户的ID值放在单独的表中 - 可能称为authors
- 其中包含有关作者的信息,例如id
,name
和email
。
因此,如果您需要更新作者姓名,则只需在authors
(父)表中执行此操作;因为articles
(子)表只包含相应author
记录的ID。
希望这有助于您更好地理解。
答案 1 :(得分:14)
请注意,您可以拥有似乎是父子关系,但不是,例如在使用查找表时。区别在于,在真正的父子关系中,记录通常不能很好地存在 - 它们是父级的详细记录,没有父表信息就没有用。一个人可以在DMV数据库中拥有多辆汽车,但是如果没有OWNERS表中的父记录,你就不会想要CARS表中的记录 - 这几乎是无用的数据。
另一方面,如果我使用查找表将代码扩展为更有意义的代码,或者将数据条目限制为可接受的值,那么“子”记录仍然有用(可以独立)如果查找表已删除。即使我不再使用查找表将其扩展为“男性”或“女性”,我仍然可以将性别信息设为“M”或“F”。
答案 2 :(得分:6)
父母 - " one"上的实体(/ 1)与另一个表的关系的一面
儿童 - "许多"上的实体(/ N / *)与另一个表的关系的一面
答案 3 :(得分:3)
子表往往是一个子表,其中有一个或多个外键指向其他一些表。请注意,子表本身也可以是某些OTHER表的父表。
答案 4 :(得分:2)
这些术语用于数据库关系。
例如,你有两个表,1.Manifast
+-------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+------------------+------+-----+---------+----------------+
| manifast_id | int(11) unsigned | NO | PRI | NULL | auto_increment |
| description | text | NO | | NULL | |
| title | text | NO | | NULL | |
+-------------+------------------+------+-----+---------+----------------+
+-----------------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------------+------------------+------+-----+---------+----------------+ | day_sequence_id | int(11) unsigned | NO | PRI | NULL | auto_increment | | day_number | int(11) | NO | | NULL | | | day_start | int(11) | NO | | NULL | | | manifast_id | int(11) | NO | | NULL | | +-----------------+------------------+------+-----+---------+----------------+
如果你想连接这两个表,你需要使用以下格式的命令。
> ALTER TABLE child_table_name ADD FOREIGN KEY (P_ID) REFERENCES
> parent_table_name (P_ID)
所以它变成了。
> ALTER TABLE day_sequence ADD CONSTRAINT fk_manifast FOREIGN KEY
> (manifast_Id) REFERENCES manifast(manifast_Id);
总之, 子表是具有外键的表,并且从其他表连接。 父表没有外键并连接到其他。 [注意:此ans仅用于连接两个表格]