bloque2:diseno
Diferencias
Muestra las diferencias entre dos versiones de la página.
bloque2:diseno [2022/02/15 22:52] – [Transformación de Modelo E/R a Relacional] fernando | bloque2:diseno [2024/09/16 19:34] (actual) – editor externo 127.0.0.1 | ||
---|---|---|---|
Línea 229: | Línea 229: | ||
- | === Claves Secundarias === | + | === Claves |
Se suele llamar de este modo a todos los campos que identifican a cada registro de forma inequívoca, | Se suele llamar de este modo a todos los campos que identifican a cada registro de forma inequívoca, | ||
Línea 244: | Línea 244: | ||
* El **identificador único** de la entidad se convierte en clave primaria. Siempre que pueda, añadiré un campo //id// como clave primaria. | * El **identificador único** de la entidad se convierte en clave primaria. Siempre que pueda, añadiré un campo //id// como clave primaria. | ||
* Los **atributos multivaluados** generan una nueva tabla con tres columnas: un //id//, el //id// de la tabla de la que surgen propagado como //clave ajena// y el valor del campo multivaluado. < | * Los **atributos multivaluados** generan una nueva tabla con tres columnas: un //id//, el //id// de la tabla de la que surgen propagado como //clave ajena// y el valor del campo multivaluado. < | ||
+ | |||
**Relaciones: | **Relaciones: | ||
Línea 280: | Línea 281: | ||
>Tablas empleados y despachos (Ejemplo 1) | >Tablas empleados y despachos (Ejemplo 1) | ||
- | < | + | < |
-- Ejemplo 1: Clave primaria y ajena al mismo tiempo | -- Ejemplo 1: Clave primaria y ajena al mismo tiempo | ||
Línea 294: | Línea 295: | ||
* Las relaciones de **herencia** se transforman como relaciones 1:1 entre tablas padres e hijas. Aplicando las reglas anteriores, se ha de crear una tabla por cada entidad hija con sus propias columnas. | * Las relaciones de **herencia** se transforman como relaciones 1:1 entre tablas padres e hijas. Aplicando las reglas anteriores, se ha de crear una tabla por cada entidad hija con sus propias columnas. | ||
- Para relacionarlas, | - Para relacionarlas, | ||
- | - La otra forma, menos común, es transfomarla como si fueran dos relaciones **1:N**: las tablas hijas tienen su propia clave primaria (id), y añadirán una columna nueva que es la clave primaria de la entidad padre, propagada como clave ajena. En este caso, al crear las tablas hijas en el SGBD, las claves ajenas deben tener ser columnas indexadas sin repeticiones/ | + | - La otra forma, menos común, es transfomarla como si fueran dos relaciones **1:N**: las tablas hijas tienen su propia clave primaria (id), y añadirán una columna nueva que es la clave primaria de la entidad padre, propagada como clave ajena. |
- | |||
Ejemplo: Una pista puede ser una pista_abierta o una pista_cerrada. | Ejemplo: Una pista puede ser una pista_abierta o una pista_cerrada. | ||
{{ : | {{ : | ||
Línea 319: | Línea 319: | ||
* Si la cardinalidad es **N:M**, se crea una tabla nueva como el caso general de relación N:M. La clave primaria se compone de dos columnas que referencian al mismo id de la propia tabla. | * Si la cardinalidad es **N:M**, se crea una tabla nueva como el caso general de relación N:M. La clave primaria se compone de dos columnas que referencian al mismo id de la propia tabla. | ||
* Si la cardinalidad es **1:N**, se transforma como si se tratara de una relación 1:N, se propaga la clave primaria a la misma tabla como clave ajena. | * Si la cardinalidad es **1:N**, se transforma como si se tratara de una relación 1:N, se propaga la clave primaria a la misma tabla como clave ajena. | ||
- | * Si la cardinalidad es **1:1**, al tratarse de la misma tabla, se transforma como si se tratara de una relación 1:N. //Si usamos esta forma al crear la tabla en el SGBD la columna clave ajena no permitirá valores repetidos (indexada sin repeticiones, | + | * Si la cardinalidad es **1:1**, al tratarse de la misma tabla, se transforma como si se tratara de una relación 1:N. //En este caso, al crear la tabla en el SGBD la columna clave ajena no permitirá valores repetidos (indexada sin repeticiones, |
{{ : | {{ : | ||
>Un empleado puede supervisar a varios empleados | >Un empleado puede supervisar a varios empleados | ||
- | < | + | < |
-- Relacion 1:N y 1:1 | -- Relacion 1:N y 1:1 | ||
empleados(# | empleados(# |
bloque2/diseno.1644965555.txt.gz · Última modificación: 2024/09/16 19:34 (editor externo)