miércoles, 9 de diciembre de 2020

Modelo relacional 2

 Restricciones semánticas

  • Son definidas por el usuario
  • Son facilidades que el modelo ofrece a los diseñadores para que puedan reflejar en el esquema, lo mas fielmente posible, la semántica del mundo real.
  • Los tipos de restricciones semánticas permitidos en el MR(modelo relacional)
    • Clave Primaria (primary key)
      • No acepta valores nulos o repetidos
    • Unicidad (unique)
      • No necesita identificar nada pero ha de ser único
    • Obligatoriedad (not null)
    • Integridad Referencial (foreing kay)
      • Cuando un valor esta repetido en dos tablas se cambie en ambas
    • Verificación (check)
      • La comprobación para asegurarse que este entre x valores. Se puede hacer a nivel de columna
    • Aserción (create assertion)
      • Realiza la misma función que la anterior pero afecta a varias tablas
    • Disparador (trigger)

Clave primaria

Permite declarar un atributo o conjunto de atributos como clave primaria de una relación 
se debe distinguir entre restricción inherente de obligatoriedad y la restricción semántica

Unicidad

Los valores de un conjunto de atributos Permiten claves alternativa

Obligatoriedad

El conjunto de atributos no admite valores nulos

Restricciones semánticas: Foreing key

Integridad referencial

Esta compuesta por una relación R2 con un descriptor CA que hace referencia a un CC de  R1
CA y CC han de coincidir o ser nulos.

Condiciones

  • El descriptor CA es, por tanto, una clave ajena de la relación R2
  • No es obligatorio que R1!=R2
  • La clave puede ser la parte o la totalidad de la clave primaria de R2

Claves ajenas(restricciones)CA
  • No action: Rechaza la operación de borrado o modificación.
  • Cascade: Propagar la información de las tuplas de las tablas a la que hace referencia.
  • Set null: Poner un valor nulo en la clave ajena de la tabla a la que hace referencia.
  • Set default: Poner el valor por defecto en la clave ajena de la tabla a la que hace referencia.

Restricciones semánticas: Verificación

Check

Comprueba, en toda operación de actualización, si el predicado es cierto  o falso y en este ultimo caso rechaza la información.

Assertion

Actúa igual que el anterior pero puede afectar a varios elementos

Trigger

Restricción en la que el usuario pueda especificar la respuesta (acción) ante una  determinada acción

Valores nulos

  • Un valor nulo se especifica cuando desconozco un valor en una tabla.
    • Crean tuplas con valores desconocidos en ese momento.
    • Añadir un nuevo atributo a una relación existente.
    • Atributos inaplicables a cierta tuplas.

Las reglas Codd

  1. Representación de la información: Toda la información en la Base  de datos es representada de forma explícita y única a nivel lógico, por  medio de valores en columnas de filas de tablas. 
  2. Acceso garantizado: Todo dato (valor atómico) debe ser accesible  mediante una combinación de tabla, un valor de su clave y el nombre de  una columna.
  3. Tratamiento sistemático de valores nulos: El SGBD debe  soportar la representación y manipulación de información desconocida  y/o no aplicable, independientemente del tipo de dato. 
  4. Catálogo en línea (diccionario de datos) basado en el modelo  relacional. La descripción de la base de datos se debe representar en el  nivel lógico de la misma manera que los datos ordinarios, de forma que  los usuarios autorizados puedan consultarla con el mismo lenguaje con el  que consultan los datos. 
  5. Sublenguaje de datos completo: El SGBD debe soportar al menos  un lenguaje relacional: 
    • a) con sintaxis lineal. 
    • b) que pueda ser usado interactivamente o en programas (embebido).
    • c) con soporte para operaciones de: 
      •  definición de datos (p.e. declaración de vistas). 
      • manipulación de datos (p.e. recuperación y modificación de tuplas). 
      • restricciones de seguridad e integridad. 
      • gestión de transacciones. 
  6. Actualización de vistas: todas las vistas teóricamente actualizables  deben poder serlo en la práctica. 
  7. Inserción, modificación y borrado de tuplas de alto nivel: todas  las operaciones de manipulación de datos deben operar sobre conjuntos  de filas. 
  8. Independencia física de los datos: cambios en los métodos de  acceso físico o la forma de almacenamiento no deben afectar al acceso  lógico a los datos. 
  9. Independencia lógica de los datos: los programas de aplicación no  deben ser afectados por cambios en las tablas que preservan la integridad.
  10. Independencia de la integridad: Las restricciones de integridad  deben estar separadas de los programas, almacenadas en el catálogo de la  BD para ser editadas mediante un sublenguaje de datos. 
  11. Independencia de la distribución: Las aplicaciones no deben  verse afectadas al distribuir (dividir entre varias máquinas), o al cambiar la  distribución ya existente de la Base de Datos. 
  12. Regla de no subversión: Si el sistema posee un interfaz de bajo  nivel (p.e. mediante llamadas en C), éste no puede utilizarse para saltarse  las reglas de integridad y las restricciones expresadas por medio de un  lenguaje de más alto nivel. 


No hay comentarios:

Publicar un comentario