2011-10-24 14 views

Respuesta

22

Las tablas secundarias y las tablas principales son solo tablas normales de la base de datos, pero están vinculadas de una manera descrita por una relación padre-hijo.

Se usa generalmente para especificar dónde el valor de una tabla se refiere al valor en otra tabla (generalmente una clave principal de otra tabla).

Por ejemplo, imagine un artículo de noticias. Esto podría ser representado por una tabla llamada articles y tiene campos para id, headline, body, published_date y author. Pero en lugar de colocar un nombre en el campo author, podría poner el valor de ID de un usuario en una tabla separada, tal vez llamada authors, que tenga información sobre autores como id, name y email.

Por lo tanto, si necesita actualizar el nombre de un autor, solo necesita hacerlo en la tabla authors (principal); porque la tabla articles (secundaria) solo contiene el ID del registro author correspondiente.

Espero que esto te ayude a comprender mejor.

+3

Si tiene varios artículos apuntando a un autor, ¿la tabla 'authors' no sería la tabla padre? – RoToRa

+1

¿Hay algún buen libro en la base de datos para principiantes, me gustaría saber, es muy confuso cuando se buscan libros para principiantes en amazon. – shining

3

Una tabla secundaria tiende a ser uno en el que tiene una o más claves externas que apuntan en otra tabla (s). Tenga en cuenta que una tabla secundaria también puede ser padre de una tabla OTHER.

9

Tenga en cuenta que puede tener relaciones que parecen ser parentales e hijos, pero que no lo son, por ejemplo, cuando se utilizan tablas de búsqueda. La diferencia es que, en una verdadera relación padre-hijo, los registros que generalmente no se soportan son los suyos muy bien: son registros detallados para el padre y no son útiles sin la información de la tabla padre. Una persona puede tener varios autos en la base de datos del DMV, pero no le gustaría tener registros en la tabla CARS sin un registro principal en la tabla PROPIETARIOS; sería casi inútil.

Por otro lado, si estoy usando una tabla de búsqueda para expandir un código a algo más significativo, o para restringir el ingreso de datos a valores aceptables, el registro "hijo" puede ser útil (puede ser independiente) si el la tabla de búsqueda se elimina. Todavía podría tener la información de sexo como "M" o "F", incluso si ya no tengo la tabla de búsqueda para expandir eso a "Hombre" o "Mujer".

+1

Esta debería ser la respuesta aceptada, ya que es la única que explica la diferencia entre las relaciones 'lookup' y' parent-child'. –

0

Esos términos se utilizan en las relaciones de bases de datos.

por ejemplo, u tiene dos tipos de tabla,

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 |    | 
+-----------------+------------------+------+-----+---------+----------------+ 

si u quiere conectar esas dos tablas, necesita usar t él manda con el siguiente formato.

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

y así sucesivamente.

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

En resumen, Mesa de niño es una tabla que tiene la clave externa, y está conectado a la mesa otros. La tabla padre no tiene una clave externa y se conecta a otra. [Nota: Este American National Standard es sólo para la conexión de dos tablas]

0

Padres - la entidad en el "uno" (/ 1) costado de una relación con otra mesa

Niño - La entidad en el "más" (/ N/*) lado de una relación con otra tabla

Cuestiones relacionadas