lunes, 4 de julio de 2011

Restricciones de la base de datos

RESTRICCIONES DE LA BASE DE DATOS


Conceptos:
¿Qué es una restricción?
Una restricción es una condición que obliga el cumplimiento de ciertas condiciones en la base de datos. Algunas no son determinadas por los usuarios, sino que son inherentemente definidas por el simple hecho de que la base de datos sea relacional. Algunas otras restricciones las puede definir el usuario, por ejemplo, usar un campo con valores enteros entre 1 y 10.
Las restricciones proveen un método de implementar reglas en la base de datos. Las restricciones restringen los datos que pueden ser almacenados en las tablas. Usualmente se definen usando expresiones que dan como resultado un valor booleano, indicando si los datos satisfacen la restricción o no.
Las restricciones no son parte formal del modelo relacional, pero son incluidas porque juegan el rol de organizar mejor los datos. Las restricciones son muy discutidas junto con los conceptos relacionales.

¿Qué es un Dominio?
Un dominio describe un conjunto de posibles valores para cierto atributo. Como un dominio restringe los valores del atributo, puede ser considerado como una restricción. Matemáticamente, atribuir un dominio a un atributo significa "todos los valores de este atributo deben de ser elementos del conjunto especificado".
Distintos tipos de dominios son: enteros, cadenas de texto, fecha,no procedurales etc.

¿Qué es una Clave única?
Cada tabla puede tener uno o más campos cuyos valores identifican de forma única cada registro de dicha tabla, es decir, no pueden existir dos o más registros diferentes cuyos valores en dichos campos sean idénticos. Este conjunto de campos se llama clave única.
Pueden existir varias claves únicas en una determinada tabla, y a cada una de éstas suele llamársele candidata a clave primaria.

¿Qué es una Clave primaria?
Una clave primaria es una clave única elegida entre todas las candidatas que define unívocamente a todos los demás atributos de la tabla, para especificar los datos que serán relacionados con las demás tablas. La forma de hacer esto es por medio de claves foráneas.
Sólo puede existir una clave primaria por tabla y ningún campo de dicha clave puede contener valores NULL.

¿Qué es una Clave foránea?
Una clave foránea es una referencia a una clave en otra tabla. Las claves foráneas no necesitan ser claves únicas en la tabla donde están y sí a donde están referenciadas.
Por ejemplo, el código de departamento puede ser una clave foránea en la tabla de empleados, obviamente se permite que haya varios empleados en un mismo departamento, pero existirá sólo un departamento.
Restricciones:
Se trata de unas condiciones de obligado cumplimiento por los datos de la base de datos. Las hay de varios tipos:
Inherentes: Son aquellas que no son determinadas por los usuarios, sino que son definidas por el hecho de que la base de datos sea relacional. Las más importantes son:
No puede haber dos tablas iguales.
El orden de las tablas no es significativo.
El orden de los atributos no es significativo.
Cada atributo sólo puede tomar un valor en el dominio en el que está inscrito.
Normalización de una base de datos:
El proceso de normalización de una base de datos consiste en aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo E-R (entidad-relación) al modelo relacional.
Las bases de datos relacionales se normalizan para:
Evitar la redundancia de los datos.
Evitar problemas de actualización de los datos en las tablas.
Proteger la integridad de los datos.
En el modelo relacional es frecuente llamar tabla a una relación, aunque para que una tabla bidimensional sea considerada como una relación tiene que cumplir con algunas restricciones:
Cada columna debe tener su nombre único.
No puede haber dos filas iguales. No se permiten los duplicados.
Todos los datos en una columna deben ser del mismo tipo.

Integridad referencial


A menudo se desea 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. Esta condición se denomina integridad referencial.
El caso más normal es cuando queremos garantizar que el valor almacenado en una clave externa está también como clave primaria en la relación referenciada. En caso contrario, se dice que la tupla de la relación referenciante esté colgante. Las tuplas colgantes pueden ser aceptables o no, dependiendo del modelo de datos. En el caso de que no sean aceptables, hay que imponer una integridad referencial o dependencia de subconjunto.
Integridad referencial en el modelo E-R Si se obtiene el esquema de la base de datos relacional creando tablas a partir de los diagramas E-R, cada relación que proceda de un conjunto de relaciones tendrá restricciones de integridad referencial.
Otra fuente de restricciones de integridad referencial son los conjuntos de entidades débiles; el esquema de la relación de cada conjunto de entidades débiles incluye una clave externa, lo que lleva a una restricción de integridad referencial.
Modificacion de la base de datos
La modificacion de la base de datos puede ocasionar violaciones de la integridad referencial. Las comprobaciones a realizar son sencilla al insertar un dato, simplemente se exige la existencia de las claves primaria relacionadas.
Integridad referencial en SQL
Las claves externas pueden especiarse como parte de la instrucción create table de SQL usando la cláusula foreign key.
De manera predeterminada, una clave externa referencia los atributos que forman la clave primaria de la tabla referenciada (SQL también soporta una versión de la cláusula references, donde se puede especificar explícitamente una lista de atributos de la relación referenciada).
Se usa la siguiente sintaxis para declarar que un atributo forma una Clave externa:
Foreign key (A1 [, A2. An])
References R
Cuando se viola una restricción de integridad referencial, el procedimiento normal es rechazar la acción que provoco la violación. Sin embargo, la cláusula foreign key puede especificar las acciones a tomar para restaurar
La integridad referencial.
La cláusula on delete cascade asociada con la declaración de la clave externa, provoca que el borrado se realice en cascada. La cláusula on up- date cascade, de forma similar realiza una actualización en cascada, si se modifica la clave primaria. SQL también permite una acción diferente: establecer a nulo o darle un valor predeterminado a los atributos de la clave externa, de forma que se mantenga la integridad referencial, con la cláusula set default.
Si hay una cadena de dependencias de claves externas entre varias relaciones, un borrado o una actualización en uno de sus extremos puede propagarse por toda la cadena, de la denominación de actualizaciones o borrados en cascada.
Las transacciones pueden consistir en varios pasos, y las restricciones de integridad se pueden violar temporalmente dentro de una transacción. Las restricciones de integridad se comprueban solo al final de la transacción, no en los pasos intermedios.

Fuentes: Peter rob, Carlos Coronel(2003)"Sistemas de bases de datos: diseño,implementación y administración"

http://www.xuletas.es/ficha/bases-de-datos-restricciones-normalizacion-y-gestion/
http://docs.google.com/viewer?a=v&q=cache:0Cs0uCWIuScJ:s3.amazonaws.com/UNED/apuntes/Tema6.pdf+restricciones+de+la+base+de+datos&hl=es&gl=mx&pid=bl&srcid=ADGEESjJ5cjvQHFqXVlrg8shIuOP6Gj5xTUSmvGjgG8cMjymNQ9ANJsHCk_j_77ddSxi78UMjOfqae2oHJ22FHmVsNy5HeRvuLosH7DlEZ-oUorVYu7c9QF2ucZ-4ozEpZe-AzRWYL5k&sig=AHIEtbRq3hFuM-SmGTKQXQoAOc26OYnCkA


1 comentario:

  1. Baccarat - The Beginner's Guide to Playing at the Online
    Baccarat is septcasino one of the most popular casino games around and the worrione most popular kadangpintar is baccarat. Baccarat is one of the most popular casino games around and the most

    ResponderEliminar