Claves candidatas
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 13,47 KB
TUPLA
Cada una de las filas de la relación.
Se corresponde con la idea clásica de registro. Representa por tanto cada elemento individual de esa relación.
Tiene que cumplir que:
Cada tupla se debe corresponder con un elemento del mundo real.
No puede haber dos tuplas iguales (con todos los valores iguales).
DOMINIO
Un dominio contiene todos los posibles valores que puede tomar un determinado atributo. Dos atributos distintos pueden tener el mismo dominio.
Un dominio en realidad es un conjunto finito de valores del mismo tipo. A los dominios se les asigna un nombre y así podemos referirnos a ese nombre en más de un atributo.
Se pueden definir por extensión enumerando uno a uno los valores que toma dentro del rango en que esté definido, o por compresión indicando una propiedad carácterística de los valores del dominio.
Hay dos tipos de dominios:
Generales (ó continuos): contienen todos los valores entre un mínimo y un máximo.
Por ejemplo los DNI enteros 8 dígitos
Restringidos (o discretos): contienen ciertos valores entre un mínimo y un máximo.
Por ejemplo los valores de sexo pueden ser H o M.
Dominio compuesto
En los últimos trabajos de Codd y Date se introduce el concepto de dominio compuesto como una combinación de dominios simples que tiene un nombre y a la que se pueden aplicar ciertas restricciones de integridad. Por ejemplo, el dominio compuesto Fecha que está compuesto por los tres dominios simples Día, Mes y Año, el dominio Nombre que puede estar compuesto por los dominios simples Nombre y Apellido...
GRADO
Indica el tamaño de una relación en base al número de columnas (atributos) de la misma. Cuanto mayor es el grado de una relación, mayor es su complejidad al manejarla.
CARDINALIDAD
Número de tuplas de una relación, o número de filas de una tabla.
ATRIBUTO
Es la columna de una relación que representa una propiedad de la misma y que está
caracterizada por un nombre. Un atributo toma sus valores finitos dentro de un dominio.
Carácterísticas:
Sólo pueden tomar valores en un dominio.
Un mismo dominio puede utilizarse con varios atributos.
Un atributo en una relación ha de ser único.
VALOR NULL o valor nulo, representa la ausencia de información. Se utiliza un operador en todas las bases
relacionales llamado es nulo (is null)
que devuelve verdadero si el valor con el que se compara
es nulo.
PROPIEDADES DE LAS RELACIONES
a) No puede haber 2 relaciones con el mismo nombre en la BD.
b) La tabla sólo puede tener un mismo tipo de tuplas con un número fijo de atributos cada uno de los cuales identificado por un nombre.
c) Dentro de una misma tabla cada atributo ha de ser distinto y no se permiten grupos repetitivos aunque tomen valores en el mismo dominio. Cuando surgen grupos repetitivos en una tabla, habrá que volver a estudiar el sistema y es posible que dé lugar a más tablas.
d) Cada tupla ha ser única, no puede haber duplicidad en los valores de las tuplas.
e) Las tablas son planas, es decir, el valor para un atributo de una tupla ha de ser único. Por tanto en el cruce de una fila y de una columna el valor es único.
f) Las distintas tuplas no tienen porqué seguir un orden. Si la pérdida del orden supone pérdida de información es que la BD no está bien diseñada o que sus tablas (relaciones) están mal creadas.
TIPOS DE RELACIONES
Persistentes: su esquema permanece en la BD borrándose solo mediante una acción explícita del usuario.
Base: existen por sí misma y no en función de otras relaciones :
Se crean especificando explícitamente su esquema de relación (nombre y conjunto de pares atributo/dominio)
Sus ocurrencias, al igual que su definición, también se encuentran almacenadas.
Vistas: son relaciones derivadas que se definen dando un nombre a una expresión de consulta. Son tablas que sólo almacenan una definición de consulta, resultado
CLAVES CANDIDATAS: una clave candidata es, un atributo o incluso un conjunto mínimo de atributos, que permiten el acceso y utilización de las tablas y son elementos de referencia que sirven para identificar, distinguir y acceder a las tuplas. Ninguno de los atributos que forman parte de una clave candidata puede tomar valores nulos.
El valor de la clave candidata ha de ser único para cada tupla, y por tanto podemos decir que una clave posible o candidata es aquella formada por uno o más atributos que hace que cualquier tupla sea distinta de las otras tuplas de la tabla, por tanto la identifica unívocamente.
CLAVE PRIMARIA: es una de las claves candidatas que por diferentes razones se elige entre todas ellas para identificar las tuplas. Estas razones pueden ser: la facilidad para manejar dicha clave debido al tipo de datos que contiene, que el mayor número de accesos se realiza por ese atributo, etc.
CLAVES SECUNDARIAS O ALTERNATIVAS: es una clave candidata que no se ha elegido como clave primaria.
CLAVES AJENAS O EXTERNAS (FK FOREIGN KEY): son el/los atributo/s de una tabla que es clave primaria para otra tabla referenciada. La clave ajena y su correspondiente clave primaria deben tomar valores sobre el mismo dominio.
VALORES NULOS
Se puede definir el valor nulo como una señal para representar información desconocida, inaplicable, inexistente, no válida, no proporcionada, indefinida, etc. Su necesidad en las BD es evidente por diversas razones:
crear tuplas con ciertos atributos desconocidos en ese momento atributos inaplicables a ciertas tuplas (por ejemplo la editorial para un artículo o la profesión de un menor añadir un nuevo atributo a una relación existente; atributo que, en el momento de añadirse, no tendría ningún valor para las tuplas de la relación
RESTRICCIONES DE USUARIO
Son condiciones que se imponen sobre los atributos, ocurrencias o dominios como consecuencia de las carácterísticas del sistema que estamos manejando y que hacen válidos o no los objetos del sistema
Restricción de la clave primaria (PRIMARY KEY): permite al usuario declarar uno o varios atributos como clave primaria en una relación.
Restricción de unicidad (UNIQUE en SQL): permite al usuario definir claves alternativas, pues los atributos marcados como únicos no pueden repetirse.
Restricción de obligatoriedad (NOT NULL): permite al usuario declarar si uno o varios atributos no pueden tomar valores nulos, por tanto, deben tener siempre un valor.
Restricción de clave ajena (FOREIGN KEY) o integridad referencial: El usuario la utiliza para asociar relaciones de una BD mediante claves ajenas. La integridad referencial indica que los valores de la clave ajena de esa relación se corresponden obligatoriamente con los valores de la clave primaria de otra relación o ser nulos.
Borrado y/o modificación en cascada (CASCADE): el borrado o modificación de una tupla en una relación ocasiona un borrado o modificación de las tuplas de otras relaciones asociadas a ésta, cuyas claves ajenas
se correspondan con su clave primaria.
Borrado y/o modificación restringidos (RESTRICT): el borrado o modificación de una tupla en una relación será imposible si existen tuplas de otras relaciones asociadas a ésta, cuyas claves ajenas se correspondan con su clave primaria.
Así, no se podría, por ejemplo, eliminar un departamento si tiene empleados asociados a él, ni tampoco se podría cambiar su código si ya tenía empleados; por tanto, únicamente podrán realizarse esas operaciones en departamentos sin empleados asociados.
Borrado y/o modificación con puesta a nulos (SET NULL ): el borrado o modificación de una tupla en una relación ocasiona la puesta a NULL de la clave ajena de las tuplas de otras relaciones asociadas a ésta, cuyas claves ajenas se correspondían con su clave primaria.
Borrado y/o modificación con puesta a valor por defecto (SET DEFAULT ): el borrado o modificación de una tupla en una relación ocasiona la puesta al valor por defecto especificado de la clave ajena de las tuplas de otras relaciones asociadas a ésta, cuyas claves ajenas se correspondían con su clave primaria.
Restricción de verificación (CHECK): Esta restricción permite al usuario especificar condiciones que deban cumplir los valores de los atributos. Cada vez que se realiza una inserción o una actualización de datos se comprueba si los valores cumplen la condición, rechazando la operación si no la cumplen.
PASO DEL MODELO E/R AL MODELO RELACIONAL
Entidad -- tabla
Atributo -- columna de tabla
Clave primaria de entidad -- clave primaria tabla
Relación N:M
(N,M) tabla
Relación 1:N
(1,1) propagar clave ; (1,N) tabla
Relación 1:1
Ambas (1,1) se unen las entidades en una tabla
(1,1) y (0,1) propagar clave ; ambas (0,1) tabla
Reflexivas
1:1 se agrega dos veces el mismo atributo como clave primaria y como clave ajena
1:N -- (1,N) como en 1:1 ; (0,N) propagar clave
N:M nueva tabla que contiene dos veces la clave primaria más los atributos.
Generalizaciones
Integrar todas las entidades en una única tabla absorbiendo los subtipos
Eliminación del supertipo en jerarquías totales y exclusivas
Insertar una relación 1:1 entre el supertipo y los subtipos
Normalización
Problemas:
Incapacidad para representar ciertos hechos.
Redundancia en la información lo que da lugar a incoherencias en la misma.
Ambigüedades.
Pérdida de dependencias funcionales, es decir, de ciertas restricciones de integridad que dan lugar a interdependencias entre los datos.
Aparición en la BD de estados que no son válidos en la vida real: anomalías de modificación, borrado e inserción.
Dependencia Funcional
La dependencia funcional es la relación que presenta cada atributo respecto al resto dentro de una misma relación.
1ª forma normal -- si los valores que componen los atributos de una tupla son atómicos. En un atributo no pueden aparecer valores repetitivos, tienen que ser elementales y únicos.
2ª forma normal -- Todo atributo secundario (que no pertenece a la clave primaria), tiene una dependencia funcional completa respecto de cada una de las claves candidatas.
3ª forma normal -- Ningún atributo secundario depende transitivamente de ninguna clave de la relación.
FNBC -- Una relación está en forma normal de Boyce-Codd, si y solo si todo determinante es una clave candidata, entendiendo por determinante cualquier conjunto de atributos del que otro atributo depende funcionalmente de forma completa.
Reglas de Codd
1) Regla de la información: Toda la información está representada a nivel lógico mediante valores en tablas.
2) Regla de acceso garantizado: Se puede acceder lógicamente a cada dato mediante la combinación del nombre de la tabla, el nombre de la columna y el valor de la clave primaria.
3) Tratamiento sistemático de valores nulos: ha de soportar valores nulos para representar la ausencia de información
4) Catálogo activo on-line basado en el modelo relacional: La descripción de la base de datos se representa a nivel lógico como datos ordinarios.
5) Regla de sublenguaje completo de datos: tiene que soportar, al menos, un lenguaje cuyas sentencias tengan una sintaxis bien definida
6)
Regla de actualización de vista: Las vistas teóricas actualizables son también actualizables por el sistema.
7) Inserción, modificación y borrado de alto nivel: posibilidad de manejar una relación de la base de datos con un único operando a la recuperación de datos, a la inserción, la modificación y el borrado de estos.
8) Independencia física de los datos: Los cambios en la forma de almacenar los datos o en los métodos de acceso no tienen que afectar a la manipulación de estos.
9) Independencia lógica de los datos: Los cambios sobre los objetos de la base de datos no deben afectar a los programas y a los usuarios que acceden a esos objetos.
10)
Independencia de integridad: Las restricciones de integridad se han de poder definir con el sublenguaje de datos relacional y almacenarse en el catálogo, no en los
programas.
11)
Independencia de distribución: tiene un sublenguaje que permite que los programas no se alteren cuando se introduce la distribución de los datos o cuando se redistribuyen.
12)
Regla de no subversión: Si tiene un lenguaje de bajo nivel (una fila cada vez) este lenguaje no se puede utilizar para destruir o evitar las reglas de integridad o las restricciones expresadas en el lenguaje relacional de alto nivel (varias filas al mismo tiempo).