Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Acid Reglas de Codd Integridad de Datos
Acid Reglas de Codd Integridad de Datos
Nombre: Carnet:
Walter Roberto Herrera Gutiérrez. 2003-12758
Andrea Adriana Grimaldi Santos. 2006-11206
Oscar Eduardo Vásquez Requena. 2009-15252
Guatemala #/08/2012
Bases de Datos (ACID, Reglas de Codd
e Integridad de datos)
ACID:
Por sus siglas en ingles Atomicity Consistency Isolation Durability, que traducido al español
es Atomicidad, Consistencia, Aislamiento y Durabilidad; es un conjunto de características
necesarias para que un conjunto de instrucciones puedan ser consideradas como una transacción1
y por ende está pueda ser fiable. A continuación se da una breve definición de cada una de estas
cuatro propiedades:
1. Atomicidad:
Cualquier cambio de estado que produce una transacción es atómico, es decir, ocurren
todos o no ocurre ninguno. En otras palabras, esta propiedad asegura que todas las
acciones de la transacción se realizan o ninguna de ellas se lleva a cabo; la atomicidad
requiere que si una transacción se interrumpe por una falla, sus resultados parciales deben
ser deshechos.
2. Consistencia:
Esta propiedad establece que solo los valores o datos válidos serán escritos en la base de
datos; si por algún motivo una transacción que es ejecutada viola esta propiedad, se
aplicara un roll back a toda la transacción dejando a la bases de datos en su estado de
consistencia anterior. En caso de que la transacción sea ejecutada con éxito, la base de
datos pasara de su estado de consistencia anterior a un nuevo estado de consistencia.
3. Aislamiento:
Está propiedad asegura que no sean afectadas entre sí las transacciones, en otras palabras
esto asegura que la realización de dos o mas transacciones sobre la misma información
sean independientes y no generen ningún tipo de error.
4. Durabilidad:
Es la propiedad de las transacciones que asegura que una vez finalizada su ejecución, sus
resultados son permanentes a pesar de otras consecuencias, como por ejemplo, si falla el
disco duro el sistema aún será capaz de recordar todas las transacciones que han sido
realizadas en el sistema.
Cumpliendo con estas 4 propiedades o requisitos un sistema gestor de bases de datos puede ser
considerado ACID Compliant.
1
En el contexto de bases de datos, una transacción es una única operación sobre los datos.
REGLAS DE CODD: MODELO RELACIONAL
En los años 80’s comenzaron a surgir numerosos Sistemas de Gestión de Bases de Datos
(en adelante SGBD) que se anunciaban como relacionales. Sin embargo estos sistemas carecían de
muchas características que se consideran importantes en un sistema relacional, perdiendo las
muchas ventajas del modelo relacional. Los sistemas relacionales eran simplemente sistemas que
utilizaban tablas para almacenar la información, no disponiendo de elementos como claves
primarias y foráneas que las definieran como tales.
En 1984 Edgar F. Codd, creador de del Modelo Relacional, publicó las 12 Reglas que un verdadero
Sistema Relacional de Bases de Datos debería cumplir. En la práctica algunas de estas reglas son
difíciles de implementar, así que un sistema podrá considerarse “más relacional” cuanto más siga
estas reglas.
o Regla 0:
Para que un sistema se denomine Sistema de Gestión de Bases de Datos Relacionales,
este sistema debe usar exclusivamente sus capacidades relacionales para gestionar la base
de datos.
• Cualquier dato almacenado en una BDR tiene que poder ser direccionado
unívocamente. Para ello hay que indicar en qué tabla está, cuál es la columna y
cuál es la fila, mediante la clave primaria.
o Hacer que los atributos clave primaria no puedan ser nulos (NOT NULL).
Un inconveniente es que, del lado del usuario, el manejo de los lenguajes relacionales se
complica debido a que es más difícil de entender. Catálogo Dinámico en Línea basado en el
Modelo Relacional
Además de poder tener interfaces más amigables para hacer consultas, entre otras cosas,
siempre debe haber una manera de hacerlo todo de manera textual, que es tanto como
decir que pueda ser incorporada en un programa tradicional. Un lenguaje que cumple esto
en gran medida es SQL.
• El lenguaje de manejo de datos también debe ser de alto nivel (de conjuntos).
Algunas bases de datos inicialmente sólo podían modificar las tuplas de la base de
datos de una en una (un registro de cada vez).
• El objetivo de las bases de datos no es sólo almacenar los datos, sino también sus
relaciones y evitar que estas restricciones se codifiquen en los programas. Por
tanto en una base de datos relacional se deben poder definir restricciones de
integridad.
• Cada vez se van ampliando más los tipos de restricciones de integridad que se
pueden utilizar en los Sistemas de Gestión de Bases de Datos Relacionales, aunque
hasta hace poco eran muy escasos.
Integridad de Datos
La integridad de datos es el conjunto de reglas y restricciones, que garantizan que los
datos sean precisos y coherentes.
Existen dos pasos importantes para el diseño de tablas en una base de datos:
• Integridad de entidad:
La integridad de entidad pretende que todas las filas de una tabla cuenten con un único
identificador, el cual se el conoce como clave principal. Está regla de integridad, resuelve
los problemas de redundancia de datos.
• Integridad de dominio:
La integridad de dominio pretende validar el conjunto de valores posibles permitidos en
una columna específica dentro de una tabla. Está se define mediante los tipos de datos
que se le asignan a los campos, también se define mediante los siguientes constraints:
o NULL
o NOT NULL
o CHECK
o FOREIGN KEY
o DEFAULT
Codigo Nombre Sueldo
123 Oscar 7000.5
321 xxx 5000
Donde:
o Código – Se define con el tipo de dato ENTERO y el constraint NOT NULL.
o Nombre – Se define con el tipo de dato VARCHAR y el constraint NOT NULL.
o Sueldo – Se define con el tipo de dato DECIMAL y el constraint CHECK > 0, NOT
NULL.
• Integridad referencial:
La integridad referencial es aquella que se da específicamente con las llaves extranjeras; La
llave foránea (o extranjera) es como tal, si y solo si, dicha llave en la tabla hija existe como
llave primaria en la tabla padre y si no existe está es null.
La integridad referencial se da entre dos tablas o más; o en la misma tabla como una
referencia circular.
Ejemplo:
Implementación
1. Documentación de objetos SQL
• Problema que resuelve: dada la ilegibilidad de programas, se presenta lentitud y
confusión en el mantenimiento de programas.
• Beneficio: tiempo de mantenimiento reducido.
2. Detalle de atributos en la inserción, consulta o actualización
• Problema que resuelve: contención en disco.
• Beneficio: reducción de acceso a disco, mejor tiempo de respuesta.
3. Uso de cursores como simulación de programación estructurada
• Problema que resuelve: el optimizador realiza búsqueda secuencial a nivel
exponencial, provocando problemas de concurrencia y tiempos de respuesta muy
lentos.
• Beneficio: se aprovecha el manejo de conjuntos en el manejador y por tanto el
optimizador puede proporcionar vías de acceso con menor costo.
4. Uso de constraints para chequeo de integridad referencial
• Problema que resuelve: la programación por triggers envuelve procedimiento
procedural, por tanto es más lenta su respuesta.
• Beneficio: mejora de rendimiento al usar teoría de conjuntos.
5. Manejo de transacciones
• Problema que resuelve: bloqueo de recursos por tiempo prolongado, afectando
los demás procesos que utilizan esos recursos
• Beneficio: mayor concurrencia
6. Centralización de tareas sencillas en el front-end
• Problema que resuelve: poca concurrencia.
• Beneficio: liberación de carga innecesaria al manejador de bases de datos.