Tecnología

Inicio

Técnicas de diseño de base de datos relacional

diseño de base de datos relacional se basa en tres técnicas principales: la relación uno-a-muchos, la tabla de unión, y la relación de muchos a muchos. Para entender el diseño base de datos relacional, es importante conocer estas técnicas, así como los conceptos específicos en relación con el campo de clave.

La relación uno-a-muchos

La técnica de base de datos relacional más común es la relación de uno a muchos. Esto conecta un único registro de la tabla principal (es decir, una base de datos de archivo plano de registros y campos), con cualquier número de registros en una tabla secundaria. relaciones uno-a-muchos se caracterizan por conexiones únicas en la tabla secundaria; cada uno de estos registros no pueden tener más de un registro relacionado en la tabla principal.

Estas conexiones se realizan mediante el uso de "campos clave", que son entradas únicas en la tabla principal; por lo general estos campos son creados y aplicados por la asignación automática de un número de serie secuencial para cada nuevo registro. Cualquier registro de la tabla secundaria que comparte estos datos única estará relacionada con un registro primario.

Ahora, explorar esto con una base de datos de direcciones libro de ejemplo. Digamos que usted quiere un diseño que permite que cada uno en la base de datos que tiene varios números de teléfono. Esta es la forma más común de lograr esto:

Personas tabla:
Registro 1: (PersonaID: 1, nombre: "Franklin Roosevelt")
Ficha 2: (PersonaID: 2, nombre: "Lyndon Johnson")

mesa de teléfonos:
Registro 1: (PersonaID: 1, teléfono: "202-555-1932")
Ficha 2: (PersonaID: 1, teléfono: "202-555-1936")
Registro 3: (PersonaID: 2, Número de teléfono: "202-555-1964")

Cuando estas dos tablas están relacionadas por el campo de clave PersonaID, Franklin tendrá dos números de teléfono, pero Lyndon sólo tendrá una. Del mismo modo, cada número de teléfono está asociado únicamente a una sola persona en la tabla Personas.

unir tablas

Una segunda técnica se denomina una "tabla de unión", que se utiliza para los registros que se extraen de otras dos mesas. Esto es comúnmente utilizado cuando los datos deben ser seleccionados de mesas fijas; unir tablas sólo pueden contener datos relacionales, por lo que todos los datos introducidos en ellos deben ser extraídas de las tablas existentes.

Por ejemplo, suponga que desea añadir un "trabajo" o la etiqueta "casa" a cada uno de los números de teléfono en la base de datos de ejemplo. Para ello, la reescritura de la relación como una tabla de unión:

Personas tabla:
Registro 1: (PersonaID: 1, nombre: "Franklin Roosevelt")
Ficha 2: (PersonaID: 2, nombre: "Lyndon Johnson")

mesa de teléfonos:
Registro 1: (PhoneID: 1, teléfono: "202-555-1932")
Ficha 2: (PhoneID: 2, Número de teléfono: "202-555-1936")
Registro 3: (PhoneID: 3, Número de teléfono: "202-555-1964")

PhoneType tabla:
Registro 1: (PhoneTypeID: 1, tipo: "trabajo")
Ficha 2: (PhoneTypeID: 2, Tipo: "casa")

Tabla de unión:
Registro 1: (PersonaID: 1, PhoneID: 1, PhoneTypeID: 1)
Ficha 2: (PersonaID: 2, PhoneID: 2, PhoneTypeID: 2)
Registro 3: (PersonaID: 3, PhoneID: 3, PhoneTypeID: 1)

En esta base de datos, todas las relaciones se conectan a la tabla de unión, lo que hace todo el trabajo de relacionar un nombre a un número de teléfono, y ambos a un tipo de número telefónico. Una versión más eficiente podría utilizar dos se unen las tablas, ya que el nombre de la persona no tiene por qué estar directamente relacionado con el tipo de teléfono: PersonaID y PhoneID en unirse a la tabla 1, y PhoneID PhoneTypeID en la tabla 2 se unen.

El uso de tablas de unión para crear muchos-a-muchas relaciones

En unir tablas, la relación de uno a muchos ya no se aplica. Si nos gusta, podemos asignar el mismo número de teléfono para muchas personas, o de la "casa" o la etiqueta "trabajo" para todos los teléfonos que nos gusta. Esto nos permite establecimos-muchos-a-muchos relación, donde cualquier registro de una tabla puede conectarse a varios registros en otras tablas. Esta es una técnica poderosa base de datos, pero ya que puede crear relaciones de datos complicados, sólo debe utilizarse cuando no será suficiente una relación uno-a-muchos.