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 12:31] 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 23: Línea 22:
  
  
-==== Restricciones del modelo relacional ==== +==== Restricciones inherentes del modelo relacional ==== 
-  * **Ningún atributo puede tomar más de un valor para cada tupla**: +  * **Ningún atributo puede tomar más de un valor para cada tupla**: Es lo mismo que decir que en cada una de las celdas de una tabla que represente una relación no puede haber más de un valor. 
 +  * **No importa el orden ni de las tuplas ni de los atributos** 
 +  * **Todas las tuplas de una relación deben ser distintas**: Si no, se duplicaría información. Al menos debe haber un atributo que identifique inequívocamente esa tupla: **Clave primaria** o //**PRIMARY KEY**// en lenguaje SQL. 
 +  * **Regla de integridad de la entidad**: Ningún atributo que forme parte de la clave primaria puede tomar un valor nulo. 
 + 
 +==== Restricciones de usuario ==== 
 +  * **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**. 
 +  * **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 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**. 
 + 
 +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.1625135511.txt.gz · Última modificación: por alberto

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki