wake-up-neo.com

Was ist eine übergeordnete Tabelle und eine untergeordnete Tabelle in der Datenbank?

Ich möchte nur wissen, was eine übergeordnete Tabelle ist und welche eine untergeordnete Tabelle in Datenbanken ist. Kannst du mir bitte ein Beispiel zeigen, damit ich weiß, wie es funktioniert.

Danke dir

27
BruceyBandit

Untergeordnete Tabellen und übergeordnete Tabellen sind normale Datenbanktabellen, die jedoch in einer Weise verknüpft sind, die von einer Eltern-Kind-Beziehung beschrieben wird.

Es wird normalerweise verwendet, um anzugeben, wo sich der Wert einer Tabelle auf den Wert in einer anderen Tabelle bezieht (normalerweise ein Primärschlüssel einer anderen Tabelle).

Stellen Sie sich beispielsweise einen Nachrichtenartikel vor. Dies kann durch eine Tabelle mit dem Namen articles dargestellt werden und enthält Felder für id, headline, body, published_date und author. Statt jedoch einen Namen in das Feld author zu setzen, können Sie stattdessen den ID-Wert eines Benutzers in eine separate Tabelle eingeben (möglicherweise als authors bezeichnet), die Informationen zu Autoren wie id, name und email enthält.

Wenn Sie also den Namen eines Autors aktualisieren müssen, müssen Sie dies nur in der Tabelle authors (parent) tun. da die articles (untergeordnete) Tabelle nur die ID des entsprechenden author-Datensatzes enthält.

Hoffe das hilft dir besser zu verstehen.

30
Martin Bean

Beachten Sie, dass Sie Beziehungen haben können, die scheinbar übergeordnet und untergeordnet sind, jedoch nicht, wenn zum Beispiel Nachschlagetabellen verwendet werden. Der Unterschied ist, dass in einer echten Eltern-Kind-Beziehung Datensätze normalerweise nicht gut für sich selbst stehen - sie sind Detaildatensätze für den Elternteil und sind ohne die Informationen der Elterntabelle nicht nützlich. Eine Person kann mehrere Autos in der DMV-Datenbank besitzen, aber Sie möchten keine Datensätze in der Tabelle CARS ohne einen übergeordneten Datensatz in der Tabelle OWNERS - es wären nahezu unbrauchbare Daten.

Wenn ich dagegen eine Nachschlagetabelle verwende, um einen Code auf etwas Sinnvolleres zu erweitern oder die Dateneingabe auf akzeptable Werte zu beschränken, kann der "untergeordnete" Datensatz immer noch nützlich sein (kann allein stehen), wenn die Nachschlagetabelle gelöscht wird . Ich könnte immer noch die Sexualinformation als "M" oder "F" haben, auch wenn ich die Nachschlagetabelle nicht mehr habe, um diese auf "Männlich" oder "Weiblich" zu erweitern.

12

Parent - Die Entität auf der "Eins" (/ 1) einer Beziehung mit einer anderen Tabelle

Child - Die Entität auf der "Vielen" (/ N/*) - Seite einer Beziehung mit einer anderen Tabelle

6
pehur

Eine untergeordnete Tabelle ist in der Regel eine, bei der ein oder mehrere Fremdschlüssel auf andere Tabellen zeigen. Beachten Sie, dass eine untergeordnete Tabelle ihrerseits auch einer anderen Tabelle übergeordnet sein kann.

3
Marc B

Diese Begriffe werden in Datenbankbeziehungen verwendet.

zum Beispiel hast du zwei Tische,

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    |                |
+-------------+------------------+------+-----+---------+----------------+
  1. day_sequence
+-----------------+------------------+------+-----+---------+----------------+
| 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    |                |
+-----------------+------------------+------+-----+---------+----------------+

wenn Sie diese beiden Tabellen verbinden möchten, müssen Sie den Befehl mit folgendem Format verwenden.

> ALTER TABLE child_table_name ADD FOREIGN KEY (P_ID) REFERENCES
> parent_table_name (P_ID)

und so wird es.

> ALTER TABLE day_sequence ADD CONSTRAINT fk_manifast FOREIGN KEY
> (manifast_Id) REFERENCES manifast(manifast_Id);

Zusammenfassend ist die Child-Tabelle eine Tabelle, die einen Fremdschlüssel hat und mit einer anderen Tabelle verbunden ist . Die übergeordnete Tabelle hat keinen Fremdschlüssel und stellt eine Verbindung zu anderen ..__ her tische]

1