Download Integridad de Las Bases de Datos

Document related concepts

Base de datos relacional wikipedia , lookup

Normalización de bases de datos wikipedia , lookup

Clave foránea wikipedia , lookup

Forma normal de dominio/clave wikipedia , lookup

Modelo de base de datos wikipedia , lookup

Transcript
Integridad de Las
Bases de Datos
Introducción
 Información
La información en nuestras vidas hoy es de una
importancia trascendental, giramos en torno a ella, y
si esta no la tenemos de fuentes reales estamos en
clara desventaja en relación a otro ser humano.
 Base de Datos
Es un conjunto de datos relacionados entre sí y que
tienen un significado implícito.
 Integridad
El área de la informática a través del tiempo se ha
preocupado de esto y cada vez tenemos sistemas de
información más reales y confiables. Esta confiablidad
y realismo se llama integridad de datos, la cual se
encarga de mantener almacenada en forma correcta la
información en lo que conocemos hoy como Bases de
Datos.
Definición
 Integridad Personal
La Integridad, como cualidad personal, se refiere a la
total o amplia gama de aptitudes poseídas.
 Integridad de Base de Datos
Se refiere a la corrección y exactitud de la información
contenida.
DBMS
 Administra la BD
 Integridad de Datos
Restricciones
Estas son las que se ocupan del estado correcto de la
base de datos.
 Tipo (Dominio)
Un dominio no es más que un tipo de dato, entre otras cosas es un conjunto de
valores válidos, todos los valores posibles del dominio en cuestión.
Un dominio determinado puede ser:
• Escalar: son aquellos que no tienen componentes visibles para
el usuario.
• No escalar: es aquél que está definido explícitamente para
tener componentes visibles para el usuario
Restricciones
Estas son las que se ocupan del estado correcto de la
base de datos.
 Tipo (Dominio)
Un dominio no es más que un tipo de dato, entre otras cosas es un conjunto de
valores válidos, todos los valores posibles del dominio en cuestión.
Un dominio determinado puede ser:
• Escalar: son aquellos que no tienen componentes visibles para
el usuario.
• No escalar: es aquél que está definido explícitamente para
tener componentes visibles para el usuario
Restricciones
Dentro de las restricciones de los dominios existen:
 Restricciones de existencia
Es un tipo especial de restricción que se puede aplicar a cualquier dominio.
Esta restricción evita la aparición de valores nulos en las columnas.
 Restricciones de unicidad
Evita la aparición de valores duplicados en las columnas.
Restricciones
 Atributo
Atributo como concepto breve se refiere a la columna o campo de una
relación (tabla).
Una restricción de atributo especifica el valor válido de un atributo
dado.
Las restricciones de atributo son parte de la definición del atributo en
cuestión y pueden ser identificadas por medio del nombre de atributo
correspondiente.
una restricción de atributo sólo pueda ser eliminada mediante la
eliminación del propio atributo.
Restricciones

Integridad Referencial
Permite asegurar que un valor que aparece en una relación para un
conjunto de atributos determinado aparezca también en otra relación
para un cierto conjunto de atributos.
Ejemplo:
Clave Primaria
Clave Primaria
N_Orden
Fecha_Orden
Cantidad
N_ Atículo
22333
40000
35555
75500
Orden
Tabla Padre
Ítem Orden-Artículo
Tabla Dependiente
Clave
Alternativa
Clave
Alternativa
N_Orden
N_ Atículo
Cantidad
22333
40000
2
35555
75500
8
Clave Primaria
Nombre_Artículo
Cantidad_Stock
Artículo
Tabla Padre
Restricciones de Transición
Las Restricciones de Transición se hace referencia a transiciones sobre
transiciones válidas de un estado correcto a otro.
Por ejemplo, en una base de datos que hiciera referencia a personas,
podría haber una serie de restricciones de transición que tuvieran que
ver con cambios en el estado civil.
Restricciones de Transición
Las siguientes transiciones son válidas:
Soltero a casado
Casado a viudo
Casado a divorciado
Viudo a casado
En tanto que las siguientes no lo son:
Soltero a viudo
Soltero a divorciado
Viudo a divorciado
Divorciado a viudo
Claves
Una clave candidata de una relación es un conjunto no vacío de atributos que
identifican una tupla. Por la propia definición de relación, siempre hay a lo menos
una clave candidata, ya que al ser la relación un conjunto no existen tuplas repetidas
y por tanto, el conjunto de todos los atributor identificará únicamente a las tuplas.
Una relación puede tener mas de una clave candidata, entre las cuales se pueden
distinguir:
Claves
Clave primaria: es aquella clave candidata que el usuario escoge para
identificar a las tuplas de modo único de una relación.
Clave Primaria
Ejemplo:
DEPT
EMP
Depto_Num
Nombre
E01
Servicio Soporte
E11
Operación
E21
Soporte Software
Emp_Num
Nombre
2_Nombre
Apellido
Depto_Num
00050
José
B
López
E01
000280
Angela
R
Garrido
E11
…..
Clave Primaria
Una clave primaria define de forma única cada fila de la tabla.
Una clave primaria debe ser única y no nula.
Claves
 Clave alternativa: Son aquellas claves candidatas que no han sido
elegidas.
Ejemplo:
DEPT
Depto_Num
Nombre
E01
Servicio Soporte
E11
Operación
E21
Soporte Software
Clave Alternativa
PK
EMP
Emp_Num
Nombre
Telefono
Apellido
Depto_Num
00050
José
6789543
López
E01
000280
Angela
8765490
Garrido
E11
…..
Restricción Referencial
Una restricción referencial garantiza que todos los valores (no nulos) de una FK también son valores de PK.
FK
Restricción de Integridad de SQL
Estas restricciones son muy diferentes a las expuestas
anteriormente y se clasifican en 3 categorías:
Restricciones de Dominio
Restricciones de Tabla Base
Restricciones Generales (aserciones).
Restricción de Integridad de SQL
Restricciones de Dominio
Las Restricciones de Dominio no son las mismas que
nuestras restricciones de tipo, ya que SQL no soporta en
absoluto a las restricciones de tipo.
Las Restricciones de Dominio de SQL son una forma
generalizada de nuestras restricciones de atributos.
Una Restricción de Dominio al estilo de SQL es una que se aplica
a toda columna definida en el dominio en cuestión.
Restricción de Integridad de SQL
Restricciones de Tablas Base
Las Restricciones de Tablas Base no son las mismas que
nuestras restricciones de varrels de hecho estas
Restricciones de Tablas Base equivalen generalmente a
nuestras restricciones de varrel y de base de datos,
tomadas en conjunto.
Cualquiera de las definiciones de Clave Candidata, Clave
Externa o Restricción de Verificación es una Restricción de
Tabla Base de SQL.
Restricción de Integridad de SQL
Restricciones Generales o Aserciones
Las Aserciones no son las mismas que nuestras restricciones
de base de datos.
De hecho las aserciones de SQL (que en efecto son
intercambiables) equivalen generalmente a nuestras
restricciones de varrel y de base de datos, tomadas en
conjunto.
Un ASSERTION es un predicado que expresa una condición
que se desea que la base de datos satisfaga siempre.
Restricción de Integridad de SQL
Restricciones Generales o Aserciones
Las restricciones de dominio y las de integridad referencial son formas
especiales de los ASSERTION. Sin embargo, hay muchas restricciones que no
se pueden expresar utilizando únicamente estas formas especiales.
Ejemplos de estas restricciones pueden ser:
La suma de todos los importes de los préstamos de cada sucursal debe ser
menor que la suma de todos los saldos de las cuentas de esa sucursal.
Cada préstamo tiene al menos un cliente que tiene una cuenta con un saldo
mínimo de 200.000 Pta.
Restricción de Integridad de SQL
Restricciones Generales o Aserciones
Las restricciones generales se definen mediante CREATE
ASSERTION y su sintaxis es:
CREATE ASSERTION <nombre de restricción>
CHECK ( <expresión condicional> )
Y aquí tenemos la sintaxis de DROP ASSERTION:
DROP ASSERTION <nombre de restricción> ;
Conclusión
En esta presentación hemos abordado el tema de la integridad
de las bases de datos.
Podemos decir entonces que la integridad consiste en
asegurar que los datos contenidos en la BD sean exactos y
correctos.
Son las restricciones de Integridad las que representan el
significado de los datos.