0% encontró este documento útil (0 votos)
73 vistas7 páginas

Técnicas y Propiedades de Bases de Datos

El documento describe conceptos básicos de bases de datos, incluyendo las formas de definir dominios, los tipos de tablas, las propiedades de las tablas, los tipos de claves y las restricciones semánticas. Explica que los dominios pueden definirse por intensión o extensión, y que las tablas pueden ser persistentes, vistas o temporales. También describe los tipos de claves como claves candidatas, primarias y alternativas, y las restricciones como unicidad, obligatoriedad y referencial.

Cargado por

Michael Mequert
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
73 vistas7 páginas

Técnicas y Propiedades de Bases de Datos

El documento describe conceptos básicos de bases de datos, incluyendo las formas de definir dominios, los tipos de tablas, las propiedades de las tablas, los tipos de claves y las restricciones semánticas. Explica que los dominios pueden definirse por intensión o extensión, y que las tablas pueden ser persistentes, vistas o temporales. También describe los tipos de claves como claves candidatas, primarias y alternativas, y las restricciones como unicidad, obligatoriedad y referencial.

Cargado por

Michael Mequert
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

MATERIAL DE BASES DE DATOS II.

La forma de indicar un dominio se puede hacer utilizando dos


posibles técnicas:
Intensión. Se define el nomino indicando la definición exacta de sus posibles
valores. Por intensión se puede definir el dominio de edades de los
trabajadores como: números enteros entre el 16 y el 65 (un trabajador sólo
podría tener una edad entre 16 y 65 años).

Extensión. Se indican algunos valores y se sobreentiende el resto gracias a


que se autodefinen con los anteriores. Por ejemplo el dominio localidad se
podría definir por extensión así: Palencia, Valladolid, Villamuriel de Cerrato,...

Además pueden ser:


Generales. Los valores están comprendidos entre un máximo y un mínimo y
pueden tomar cualquier valor intermedio.

Restringidos. Solo pueden tomar un conjunto de valores.

Grado
Indica el tamaño de una relación en base al número de columnas (atributos) de
la misma. Lógicamente cuanto mayor es el grado de una relación o tabla,
mayor es su complejidad de manejo.

Cardinalidad
Número de tuplas de una relación, o número de filas de una tabla. Hay tablas
que pueden tener una enorme cardinalidad: cientos, miles e incluso millones de
filas.

Sinónimos
Los términos vistos anteriormente tienen distintos sinónimos según la
nomenclatura utilizada. A ese respecto se utilizan tres nomenclaturas:

Términos 2
Términos 1 Términos 3
(nomenclatura visual o
(nomenclatura relacional) (nomenclatura ficheros)
de tabla)

relación = tabla = fichero

tupla = fila = registro

10 de Agosto e/ Saturio Ríos. - CallCenter(021) 237 7400 o al *8727 de Tigo o Personal


[Link] - email: info@[Link]– San Lorenzo, Paraguay.
Términos 2
Términos 1 Términos 3
(nomenclatura visual o
(nomenclatura relacional) (nomenclatura ficheros)
de tabla)

atributo = columna = campo

grado = nº de columnas = nº de campos

cardinalidad = nº de filas = nº de registros

Se han subrayado en la tabla los términos que se usan más frecuentemente.

Propiedades de las tablas


 Cada tabla debe tener un nombre distinto
 Cada atributo de la tabla solo puede tener un valor en cada tupla
 Cada atributo tiene un nombre distinto en cada tabla (aunque puede
coincidir en tablas distintas)
 Cada tupla es única (no hay tuplas duplicadas)
 El orden de los atributos no importa
 El orden de las tuplas no importa

Tipos de tablas
 Persistentes. Son las tablas que crean los usuarios (normalmente los
administradores). Sólo pueden ser borradas por los usuarios Se dividen
en tres tipos:

 Bases. Son tablas independientes. Se crean indicando su estructura y


después se les añaden los datos. Cuando alguien habla de tablas, se
refiere a este tipo de tablas.

 Las tablas base contienen tanto datos como metadatos. Por ello (debido
a los datos) pueden ocupar mucho espacio en disco. Son el fundamento
del modelo relacional

 Vistas. Contienen una instrucción (normalmente en lenguaje SQL) la


cual provoca una consulta sobre los datos de las tablas base, haciendo
que se muestren los datos que cumplen las condiciones especificadas
en dicha instrucción.

10 de Agosto e/ Saturio Ríos. - CallCenter(021) 237 7400 o al *8727 de Tigo o Personal


[Link] - email: info@[Link]– San Lorenzo, Paraguay.
No ocupan mucho espacio en disco (ya que no almacenan datos). Si los datos
de las tablas base cambian, los de las vistas que utilizan esos datos también
cambian.

Las vistas permiten una visión de los datos más cómoda para
los usuarios.
Instantáneas o vistas materializadas. Son vistas (es decir, consultas) que
además de almacenar la instrucción SQL, almacenan una copia de los datos
que muestra. De modo que la siguiente vez que usemos la instantánea,
utilizará la copia de los datos (no leerá los datos originales). Las instantáneas,
a diferencia de las vistas, no siempre muestran los datos actualizados.

Las instantáneas actualizan los datos, refrescando el resultado cada cierto


tiempo. La ventaja es que son más veloces que las vistas al no tener que
acudir a los datos base; la parte mala, es que los datos que muestran pueden
ser obsoletos (ya que pueden haber variado en las tablas base originales).

Temporales. Son tablas que se eliminan automáticamente por el sistema. Las


utiliza el SGBD como almacén intermedio de datos (resultados de consultas,
por ejemplo) para acelerar la ejecución del sistema o como almacén auxiliar
para instrucciones complejas.

Hay tablas temporales de tipo base, vista o instantáneas; al igual que ocurre
con las persistentes.

Claves

Clave Candidata
Conjunto de atributos que identifican inequívocamente cada tupla de la
relación. Es decir columnas cuyos valores no se repiten en ninguna otra fila de
esa tabla. Toda tabla, en el modelo relacional, debe tener al menos una clave
candidata, pero puede haber muchas más.

Clave Primaria
Clave candidata que se escoge como identificador de la tabla (para identificar
cada fila de la misma). Se elige como primaria la candidata que identifique
mejor a cada tupla en el contexto de la base de datos. Además se debe dar
prioridad a atributos cuyos dominios sean más eficientes de cara al tamaño que
ocupan en disco y a la facilidad de proceso por parte de la máquina.

10 de Agosto e/ Saturio Ríos. - CallCenter(021) 237 7400 o al *8727 de Tigo o Personal


[Link] - email: info@[Link]– San Lorenzo, Paraguay.
Por ejemplo, en una base de datos de una empresa de venta de productos, un
campo con el DNI sería clave candidata de una tabla de clientes; si esa tabla
tiene un campo de código de cliente, éste sería mejor candidato (y por lo tanto
clave principal) porque es mejor identificador para ese contexto.

Las claves primarias son los únicos datos en el modelo relacional que provocan
redundancia ya que se duplican en las claves secundarias para establecer las
relaciones entre las tablas. Por ello hay que intentar que las claves primarias
contengan datos pequeños, nunca textos largos y de tamaño variable (como
nombres, títulos,…).

Buenos tipos de datos para claves primarias son las fechas, números enteros y
textos, si son cortos y de tamaño fijo.

Clave Alternativa
Cualquier clave candidata que no es elegida como primaria. Hay que tenerlas
en cuenta para, al menos, aplicar las restricciones correspondientes (se
explican más adelante).

Semánticas
El modelo relacional permite incorporar restricciones personales a las tablas.
Son las más importantes y son fundamentales para que la información de la
base de datos sea coherente y eficiente. Se comentan a continuación las
principales restricciones semánticas:

Restricción de clave principal (Primary key)


También llamada restricción de clave primaria. Marca uno o más atributos (una
o más columnas) como identificadores de la tabla. En el modelo relacional, toda
tabla requiere de un identificador o clave principal para asegurar que todas las
filas son diferentes en cada tabla.

Esta restricción (además de marcar los datos identificativos de una tabla)


prohíbe que las columnas que forman la clave primaria puedan contener
valores repetidos en distintas filas o que queden vacías (nulos) en alguna fila.
Es decir el contenido de las claves primarias es único y distinto de nulo.

Restricción de unicidad (unique)
Impide que los valores de los atributos marcados de esa forma, puedan
repetirse en distintas filas. Es decir, en esa columna los valores deben ser
distintos para cada fila, o bien quedar vacíos.

10 de Agosto e/ Saturio Ríos. - CallCenter(021) 237 7400 o al *8727 de Tigo o Personal


[Link] - email: info@[Link]– San Lorenzo, Paraguay.
Obligatoriedad (not null)

Prohíbe que el atributo marcado de esta forma quede vacío (es decir impide
que pueda contener el valor nulo, null) en alguna fila. También se debe de
indicar en las columnas que son clave alternativa.

Clave Alternativa (alternate key)

Como ya se ha explicado antes, las claves candidatas que no se eligen para


ser claves principales se marcan como clave alternativa. En casi todos los
sistemas gestores de bases de datos no es posible marcar claves alternativas
de forma explícita.

Sin embargo, si una columna es una clave alternativa, no podrá repetir valores
ni quedar vacía. Es decir, las claves alternativas se marcan con restricciones
de unicidad (unique) y de obligatoriedad (not null). Esto significa que si
detectamos claves alternativas habrá que marcar estas dos restricciones sobre
ellas.

Integridad referencial (foreign key)


Las claves externas o secundarias es el mecanismo del modelo relacional para
poder asociar datos de diferentes tablas.

La restricción de integridad referencial está ligada a las claves secundarias y lo


que implica es que las columnas marcadas como claves secundarias (foreign
keys) no puedan contener valores que no se puedan relacionar con las clave
principal de la tabla que relacionan (llamada tabla principal). Sin embargo, sí se
permite dejar nulas estas columnas.

Políticas de Actualización y Eliminación


La restricción de integridad referencial causa problemas en las operaciones de
borrado y modificación de registros, ya que si se ejecutan esas operaciones
sobre la tabla principal quedarán filas en la tabla secundaria con la clave
externa haciendo referencia a un valor que ya no existe, y eso la propia
restricción no lo permite.

Es decir no podemos cambiar la clave o eliminar clientes que tengan alquileres


relacionados. Es decir si en el ejemplo anterior, borramos la fila en clientes que
hace referencia al cliente que se llama Josu, la base de datos reaccionará
prohibiendo esta operación ya que hay dos alquileres relacionados con ese
cliente. Lo mismo ocurre si intentamos cambiar el código de cliente de Josu.

10 de Agosto e/ Saturio Ríos. - CallCenter(021) 237 7400 o al *8727 de Tigo o Personal


[Link] - email: info@[Link]– San Lorenzo, Paraguay.
Para solventar esta situación se utilizar políticas especiales cuando creemos la
restricción en la clave secundaria.

Prohibir la operación (no action). Esto no permitiría hacer en las claves


principales ninguna operación si hay claves secundarias relacionadas con ellas.
Suele ser la opción por defecto. Es muy rígida.

Transmitir la operación en cascada (cascade). Es decir si se modifica o borra


un cliente, también se modificarán o borrarán los alquileres relacionados con él.

Colocar nulos (set null). Si modificamos o borramos un cliente, sus alquileres


marcarán el antiguo código de ese cliente como nulo. Por ejemplo si borramos
al cliente que se llama Josu los alquileres 1 y 2 indicaran como código de
cliente el valor null.

Usar el valor por defecto (default). Se colocan un valor por defecto en las


claves externas relacionadas cuando se borre o modifique la clave principal
relacionada. Este valor por defecto se indica al crear la tabla (opción default).

No todas las bases de datos admiten todas estas posibles políticas a aplicar en
operaciones de actualizar o eliminar. Además, podemos indicar una política al
actualizar y otra al eliminar. Es decir podremos, por ejemplo, indicar nulos ante
cambios en las claves principales y actuar en cascada ante eliminaciones en
las claves.

Regla de validación (check)


Es una restricción que impone una condición lógica que deberá de cumplir una
o más columnas cuando se la añadan o modifiquen los datos. Por ejemplo,
podríamos restringir la columna llamada sueldo para que siempre acepte
valores mayores de 1000; no se permitiría entonces indicar sueldos menores
de 1000 en dicha columna.

A veces las reglas implican a varias columnas, como por ejemplo que la fecha
de inicio sea mayor que la fecha final.

Disparadores o Triggers
Son restricciones más complejas, presentes en sistemas avanzados de bases
de datos. Se trata de código almacenado en la base de datos, cuyas
instrucciones se ejecutan automáticamente cuando ocurre un determinado
evento (añadir una fila, modificar filas, iniciar sesión por parte del usuario,...).

10 de Agosto e/ Saturio Ríos. - CallCenter(021) 237 7400 o al *8727 de Tigo o Personal


[Link] - email: info@[Link]– San Lorenzo, Paraguay.
Las instrucciones pueden realizar cualquier operación permitida. Por ejemplo,
podemos hacer que ningún usuario pueda añadir datos de 12 de la noche a 5
de la mañana, o que no podamos añadir una cuenta bancaria si sus dígitos de
control no cumplen la compleja regla que se les aplica.

Los triggers permiten realizar restricciones muy potentes, pero son las
restricciones más complejas de definir ya que implican conocimientos de
programación.

10 de Agosto e/ Saturio Ríos. - CallCenter(021) 237 7400 o al *8727 de Tigo o Personal


[Link] - email: info@[Link]– San Lorenzo, Paraguay.

También podría gustarte