Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 什么是数据库中的父表和子表?_Php_Mysql_Database - Fatal编程技术网

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

Php 什么是数据库中的父表和子表?,php,mysql,database,Php,Mysql,Database,我只想知道什么是数据库中的父表,什么是子表。你能给我举个例子让我明白它是怎么工作的吗 谢谢子表往往是一个有一个或多个外键指向其他表的表。请注意,子表本身也可以是其他表的父表。子表和父表只是普通的数据库表,但它们的链接方式由父子关系描述 它通常用于指定一个表的值引用另一个表中的值的位置(通常是另一个表的主键) 例如,想象一篇新闻文章。这可以由一个名为articles的表表示,表中有id、headline、body、published\u date和author字段。但是,您可以将用户的ID值放在一

我只想知道什么是数据库中的父表,什么是子表。你能给我举个例子让我明白它是怎么工作的吗


谢谢

子表往往是一个有一个或多个外键指向其他表的表。请注意,子表本身也可以是其他表的父表。

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

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

例如,想象一篇新闻文章。这可以由一个名为
articles
的表表示,表中有
id
headline
body
published\u date
author
字段。但是,您可以将用户的ID值放在一个单独的表中,该表可以称为
authors
,其中包含有关作者的信息,例如
ID
name
email

因此,如果需要更新作者姓名,只需在
作者
(父)表中更新即可;因为
文章
(子)表只包含相应的
作者
记录的ID


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

请注意,您可以拥有看似父子关系但并非父子关系的关系,例如在使用查找表时。区别在于,在真正的父子关系中,记录通常不是它们自己的——它们是父级的详细记录,没有父表信息就没有用处。一个人可以在DMV数据库中拥有多辆车,但是如果车主表中没有父记录,您就不希望cars表中有记录——这几乎是无用的数据


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

这些术语在数据库关系中使用

比如你有两张桌子

1.马尼法斯特

+-------------+------------------+------+-----+---------+----------------+
| Field       | Type             | Null | Key | Default | Extra          |
+-------------+------------------+------+-----+---------+----------------+
| manifast_id | int(11) unsigned | NO   | PRI | NULL    | auto_increment |
| description | text             | NO   |     | NULL    |                |
| title       | text             | 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仅用于连接两个表]

    父级-与另一个表的关系的“一”(/1)侧的实体


    Child-在与另一个表的关系的“多”(/N/*)端的实体一直在用谷歌搜索,没有很好地解释它。如果你有多篇文章指向一个作者,那么
    authors
    表不是父表吗?我想知道,有没有关于数据库初学者的好书,在amazon上为初学者搜索书籍时会感到非常困惑。这应该是公认的答案,因为它是解释
    查找
    关系和
    父子关系之间区别的唯一答案。
    父表
    父表没有外键并且连接到其他连接到其他什么?。我是说桌子还是田地?
    > ALTER TABLE day_sequence ADD CONSTRAINT fk_manifast FOREIGN KEY
    > (manifast_Id) REFERENCES manifast(manifast_Id);