Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Integridad
Contenido
El DBA
El SMBD
Manejo de Memoria
Restauracin
Concurrencia
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Claves
Check
Dominios y aserciones
Disparadores
Seguridad
Marzo 2012
Precompilado
r del DML
Manejo de Memoria
Restauracin
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Integridad
M
B
D
Cdigo
objeto de
programas
de
aplicacin
Motor de
evaluacin de
consultas
Gestor de
transaccion
es
Gestor de
archivos
Consultas
DML
Compilado
r del DML
Procesador
de Consultas
Gestor de
autorizaci
n e
integridad
Gestor de
Gestor de
memoria
intermedi
a
almacenamiento
Seguridad
Archivo
s de
Datos
Marzo 2012
ndice
s
Interprete
del DDL
Datos
estadstic
os
Diccionari
o de
datos
3
Almacenamiento
en disco
Integridad
El DBA
Exactitud
El SMBD
Correctitud
Manejo de Memoria
Restauracin
BD
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Integridad
Seguridad
Marzo 2012
Validez
El formato
Los valores posibles
Reglas de integridad
Cmo saber si un dato es correcto, exacto o vlido?
Un peso
Reglas de negocio
Una nota
El saldo de una cuenta
Una fecha
Las unidades de crdito a inscribir
Administracin de Base de Datos
Reglas de integridad
El DBA
El SMBD
Manejo de Memoria
Restauracin
Concurrencia
Diccionario Datos
Proc. Consultas
Permiten
Monitorear los cambios a la BD para verificar
que se cumplen las reglas de negocio
Tomar acciones si no se cumplen las reglas
Se almacenan en el diccionario de
datos
Al crear una nueva regla el SMBD debe
garantizar que los datos la satisfagan, de
lo contrario no ser almacenada.
Integridad
Integridad
Seguridad
Marzo 2012
El SMBD
Manejo de Memoria
Restauracin
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Integridad
Seguridad
Marzo 2012
Reglas de integridad
El DBA
El SMBD
Manejo de Memoria
Restauracin
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Seguridad
Conjunto
de
reglas de integridad
Restauracin
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Integridad
Seguridad
Marzo 2012
Restauracin
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Integridad
Seguridad
Restricciones de relacin
CONSTRAINT <nombre restriccin> <definicin restriccin>
El SMBD
Manejo de Memoria
Restauracin
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Integridad
Seguridad
Marzo 2012
10
Restauracin
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Integridad
Seguridad
Marzo 2012
Restricciones
de
transicin:
se
refieren
a
restricciones sobre el cambio de la base de datos de un
estado correcto a otro. P.e las restricciones sobre un
estado civil
Transiciones
vlidas
Soltero a casado
Casado a viudo
a
Casado
divorciado
Viudo a casado
a
Divorciado
casado
Transiciones
invlidas
Soltero a viudo
a
Soltero
divorciado
Viudo a divorciado
Divorciado a viudo
Viudo a soltero
Casado a soltero
a
Divorciado
soltero
11
Restricciones de transicin:
El SMBD
Manejo de Memoria
Restauracin
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Integridad
Seguridad
Marzo 2012
12
Restauracin
Integridad en SQL
Datos requeridos
Claves
Generales
Clausula CHECK
Dominios
Concurrencia
Diccionario Datos
Aserciones (Assertion)
Disparadores (Triggers)
Proc. Consultas
Integridad
Integridad
Seguridad
Marzo 2012
20
Datos requeridos
Algunas columnas deben tener un valor vlido y no
est permitido que tengan valores nulos
Se debe especificar en la instruccin DDL para crear
o modificar tablas
Restauracin
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Integridad
Seguridad
Marzo 2012
21
Restauracin
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Integridad
Seguridad
Marzo 2012
Claves
Integridad de entidad: cada tupla es nica y se
identifica univocamente con un conjunto de
atributos llamados clave primaria.
Se define en la instruccin DDL para crear o
modificar tablas.
CREATE TABLE Estudiante (
CI integer,
nombre VARCHAR(20),
Sexo SexType NOT NULL,
telfono VARCHAR(20),
PRIMAY KEY (CI);
22
Claves
Integridad de entidad
Para definir una clave compuesta se especifican
todos los nombres de las columnas en la clausuala
PRIMARY KEY
Restauracin
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Integridad
Seguridad
Marzo 2012
23
Restauracin
Concurrencia
Claves
Integridad referencial: Las claves externas son
definidas por la clausula FOREING KEY
Se implementa mediante la clausula
FOREING KEY(<atributo>) REFERENCES
<tabla_padre>[(<atributo_tpadre>)] [accin referencial]
Diccionario Datos
Proc. Consultas
Estudiante
CI
Tabla padre
Integridad
Integridad
Seguridad
Marzo 2012
Tabla hijo
Cursa
CI
24
Integridad referencial
La accin referencial indica que hacer en caso de la
actualizacin o eliminacin de la clave en la tabla
padre con las clausulas ON UPDATE y ON DELETE
CASCADE: borra las filas/actualiza claves externas
de las filas, correspondientes en la tabla hijo.
Restauracin
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Integridad
Seguridad
Marzo 2012
padre
25
Restauracin
Restricciones Generales
Clausula CHECK: define una restriccin sobre los
valores que puede tomar un atributo.
CHECK (VALUE >=1 AND VALUE
<= 20));
Se puede usar directamente en la definicin de una
tabla y puede tener expresiones SQL
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Integridad
Seguridad
Marzo 2012
26
Restauracin
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Integridad
Seguridad
Marzo 2012
Restricciones de dominio
En SQL se pueden definir nuevos dominios (tipos)
con nombre que se podrn usar en la definicion de
tablas
CREATE DOMAIN valnota INTEGER DEFAULT 1
CHECK (VALUE >=1 AND VALUE <= 20));
27
Aserciones (Assertion)
Restricciones que no estn asociadas a una tabla en
particular
Se verifica su cumplimiento para todos los casos
Restauracin
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Integridad
Seguridad
Marzo 2012
28
Restauracin
Concurrencia
Diccionario Datos
Proc. Consultas
Disparadores (Triggers)
Son procedimientos que el SMBD invoca
automticamente cuando un cambio de estado en la
BD cumple con ciertas condiciones. Su descripcin
contiene tres partes.
Evento: Una modificacin de la base de datos que
activa el disparador.
Condicin: Una condicin o consulta (falsa si el
conjunto de respuesta es vacio) que se ejecuta cuando
se activa el disparador.
Accin: Un procedimiento que se ejecuta cuando se
activa el disparador y la condicin es verdadera
Integridad
Integridad
Seguridad
Marzo 2012
29
Restauracin
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Integridad
Seguridad
Marzo 2012
Disparadores (Sintaxis)
CREATE TRIGGER <nombre disparador> <momento> <evento de
activacin> ON <nombre tabla>
[REFERENCING OLD ROW AS O, NEW ROW AS N]
[FOR EACH ROW]
[WHEN <condicin>]
[BEGIN] accin [END]
Donde;
momento: BEFORE (antes) o AFTER (despus), indica que
se
ejecuta antes o despus de la sentencia que lo activa.
Evento de activacin: INSERT, UPDATE, o DELETE.
FOR EACH ROW Indica que el disparador ser por cada fila de la
tabla
BEGIN END se usa para definir un bloque que contiene varias
sentencias SQL
Administracin de Base de Datos
30
El SMBD
Manejo de Memoria
Restauracin
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Integridad
Seguridad
Marzo 2012
31
El SMBD
Manejo de Memoria
Restauracin
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Integridad
Seguridad
Marzo 2012
32
El SMBD
Manejo de Memoria
Restauracin
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Integridad
Seguridad
Marzo 2012
33
Restauracin
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Integridad
Seguridad
Marzo 2012
Disparadores (Ejemplo 2)
CREATE TRIGGER PesoValido BEFORE INSERT OR UPDATE ON PARTES
FOR EACH ROW
BEGIN
CASE
WHEN INSERTING THEN
IF (:new.color=rojo ) THEN
IF (:new.peso<25) THEN
RAISE_APPLICATION_ERROR(-20000, Error en el peso'); END
IF END IF;
WHEN UPDATING(peso') THEN
IF (:old.color=rojo ) THEN
IF (:new.peso<25) THEN
RAISE_APPLICATION_ERROR(-20000, Error en el peso'); END
IF END IF;
WHEN UPDATING(color') THEN
IF (:new.color=rojo ) THEN
IF (:old.peso<25) THEN
RAISE_APPLICATION_ERROR(-20000, Error en el peso'); END
IF END IF; END CASE
END
Administracin de Base de Datos
34
Restauracin
Concurrencia
Disparadores (Ejemplo 3)
CREATE TRIGGER UnidadesInscritas BEFORE INSERT ON INSCRIPCIN
FOR EACH ROW
DECLARE
uninscritas number;
unimateria number;
BEGIN
SELECT sum (M.creditos) INTO uniscritas FROM inscripcion I, materia M
WHERE I.codM = M.codM AND I.CI = :new.CI and I.SEMESTRE =
:new.semestre;
Diccionario Datos
Proc. Consultas
Integridad
Integridad
Seguridad
Marzo 2012
35
Disparadores (Ejemplo 3)
El SMBD
Manejo de Memoria
Restauracin
Concurrencia
Diccionario Datos
Proc. Consultas
Integridad
Integridad
Seguridad
Marzo 2012
36