Herramientas de usuario

Herramientas del sitio


bases_de_datos:diseno:modelo_relacional

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
bases_de_datos:diseno:modelo_relacional [2021/07/01 13:00] – [Restricciones del modelo relacional] albertobases_de_datos:diseno:modelo_relacional [2021/07/01 13:19] (actual) – [Restricciones de usuario] alberto
Línea 14: Línea 14:
  
 ===== Estática del Modelo Relacional ===== ===== Estática del Modelo Relacional =====
- 
 Una relación se compone de un nombre, unos atributos (con sus correspondientes dominios) y un conjunto de tuplas, y se define de la siguiente manera: Una relación se compone de un nombre, unos atributos (con sus correspondientes dominios) y un conjunto de tuplas, y se define de la siguiente manera:
 {{ :bases_de_datos:diseno:definicionrelacion.png?direct |Definición de relación}} {{ :bases_de_datos:diseno:definicionrelacion.png?direct |Definición de relación}}
Línea 32: Línea 31:
   * **Valores de uno o varios atributos que no pueden repetirse**   * **Valores de uno o varios atributos que no pueden repetirse**
   * **Atributos que deben tener siempre valores para todas las tuplas de la relación**: En SQL se define como **NOT NULL**.   * **Atributos que deben tener siempre valores para todas las tuplas de la relación**: En SQL se define como **NOT NULL**.
-  * **Integridad referencial**: Forma en la que los datos de dos o más tablas se deben relacionar para no atentar contra la integridad de la base de datos (que no haya información repetida). Esto se hace a través de la **Clave Ajena** o //**FOREIGN KEY**// en SQL. Esta relación entre tablas se representa del siguiente modo: {{ :bases_de_datos:diseno:relaciontablas.png?direct |Relación entre tablas a través de la clave ajena}}+  * **Integridad referencial**: Forma en la que los datos de dos o más tablas se deben relacionar para no atentar contra la integridad de la base de datos (que no haya información repetida). Esto se hace a través de la **Clave Ajena** o //**FOREIGN KEY**// en SQL. Se representa mediante una flecha que sale de la clave ajena y apunta hacia la clave primaria de la tabla con la que se relaciona. Podemos ver un ejemplo: {{ :bases_de_datos:diseno:relaciontablas.png?direct |Relación entre tablas a través de la clave ajena}}
   * **Operación restringida**: El borrado (DR) o la modificación (UR) de las filas de la relación que contiene la clave ajena no se permite mientras existan tuplas en la relación a la que se referencia. En SQL es conocida como **NO ACTION** o **RESTRICT**.   * **Operación restringida**: El borrado (DR) o la modificación (UR) de las filas de la relación que contiene la clave ajena no se permite mientras existan tuplas en la relación a la que se referencia. En SQL es conocida como **NO ACTION** o **RESTRICT**.
   * **Operación en cascada**: Cuando se elimina (DC) o modifica (UC) una tupla de la relación que es referenciada, los cambios se transmiten en cascada a las tuplas de la relación que contiene la clave ajena cuyos valores se han modificado. Conocida en SQL como **CASCADE**.   * **Operación en cascada**: Cuando se elimina (DC) o modifica (UC) una tupla de la relación que es referenciada, los cambios se transmiten en cascada a las tuplas de la relación que contiene la clave ajena cuyos valores se han modificado. Conocida en SQL como **CASCADE**.
Línea 38: Línea 37:
 Se han expuesto las restricciones básicas que deben tener en cuenta los usuarios en el diseño de bases de datos relacionales, pero existen más (SET NULL, SET DEFAULT, etc). Se han expuesto las restricciones básicas que deben tener en cuenta los usuarios en el diseño de bases de datos relacionales, pero existen más (SET NULL, SET DEFAULT, etc).
  
 +===== Reglas básicas para la transformación del modelo E/R al modelo relacional =====
 +En la segunda fase del diseño tenemos que transformar el esquema realizado en el modelo Entidad/Interrelación a un esquema lógico, ya que no existe ningún Sistema Gestor de Bases de Datos que soporte el modelo E/R.
 +
 +  * **Primera regla de transformación**: Toda entidad se transforma en una relación o tabla, y los atributos o características asociadas a ella pasan a ser atributos de la relación. En general, el nombre de la tabla suele ser el plural del nombre de la entidad.
 +  * **Segunda regla de transformación**: las interrelaciones cuyo tipo de correspondencia es N:M se transforman en una nueva relación cuyo nombre se corresponde con el nombre de la interrelación y donde la clave primaria se compone de los atributos identificadores de las dos entidades que relaciona.
 +  * **Tercera regla de transformación**: La transformación de interrelaciones cuyo tipo de correspondencia es 1:N se traduce en una propagación de clave o en una nueva relación si la interrelación posee atributos.
 +
 +EJEMPLO 1: \\
 +{{:bases_de_datos:diseno:transformacionejemplo11.png?direct|Interrelación de correspondencia N:M}}{{:bases_de_datos:diseno:transformacionejemplo12.png?direct|Transformación de una interrelación N:M}}{{:bases_de_datos:diseno:transformacionejemplo13.png?direct|Transformación de una interrelación N:M con las opciones de borrado (BC) y modificación (MC) en cascada}}\\
  
 +\\
 +EJEMPLO 2: \\
 +{{:bases_de_datos:diseno:transformacionejemplo21.png?direct|Interrelación Trabajar con correspondencia 1:N}}{{:bases_de_datos:diseno:transformacionejemplo22.png?direct|Transformación de la Interrelación Trabajar}}
bases_de_datos/diseno/modelo_relacional.1625137229.txt.gz · Última modificación: por alberto

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki