You are on page 1of 10

Fundamentos de Bases de Datos

Fundamentos de Bases de Datos

Bases de Datos Relacionales

2.1 Qu es una Base de Datos Relacional?

Introduccin

Un sistema de Administracin de Bases de Datos permite que los datos permanezcan


independientes de los programas de aplicacin que los manipulan. Esta es una caracterstica
muy importante, por todos los beneficios que le ofrece a quien desarrolla programas para
accederlos. Esta caracterstica recibe diferentes nombres, tales como independencia de datos,
o independencia lgica. Esta independencia se logra a travs de un proceso de abstraccin de
datos, que permite definir a los mismos de manera abstracta, independiente de la tecnologa
en la cual la base de datos llegara a implantarse.

Para lograr lo anterior, un concepto fundamental de la abstraccin de datos en bases de datos


es el concepto de un modelo de datos, el cual permite definir los requerimientos de datos de
un rea de la empresa, mucho antes de pensar en cmo representarlos en tecnologa.

El modelo de datos entonces define a los datos de tal forma que se organizan para ser
manipulados en la base de datos. Este mdulo permite introducir el concepto de Bases de
Datos Relacionales, y la forma en la cual los datos se pueden definir para ser representados en
base a relaciones matemticas, o relaciones, esencia del modelo relacional. La forma natural
de representar una relacin es en base a una tabla, o representacin tabular de las relaciones.

Qu es una Base de Datos Relacional?

El modelo relacional es el modelo de datos que soporta a la mayora de los productos de bases
de datos en el mercado actual. Es un modelo formal, basado en las matemticas, en su
concepto de relacin matemtica y en la teora de conjuntos. El contenido de este mdulo y el
siguiente presentan los conceptos y trminos que se presentan a continuacin:

Relaciones matemticas o tablas relacionales


Llaves, primaria, alterna, fornea
Diseo de bases de datos relacionales
Normalizacin
Qu es un Modelo de Datos?

Un concepto muy importante y fundamental para hablar de abstraccin de datos en el rea de


bases de datos es el modelo de datos. Un modelo de datos permite representar los
requerimientos de datos de un rea bajo anlisis en una forma organizada, para facilitar su
representacin en un producto de bases de datos, y posteriormente su manipulacin.

Un modelo de datos se forma de:

Elementos de modelacin, que permiten definir la estructura de los datos, tales como
tipos de datos, dominios, y reglas de integridad. (DDL)
Operaciones para poder actualizar y consultar la base de datos. (DML)

Qu es un Lenguaje de Definicin de Datos (DDL)?

Son los elementos de modelacin que permiten definir el metadata de la base de datos, es
decir, los datos acerca de los datos, que se almacenan en el DBMS, en el catlogo del sistema.

Qu es un Lenguaje de Manipulacin de Datos (DML)?

Son las operaciones que permiten el acceso a la base de datos para actualizacin y consulta a
los datos de la base de datos, y poder resolver cualquier consulta que los usuarios requieran
de la misma.

El uso de un Modelo de Datos en la creacin de una Base de Datos

Para la creacin de una base de datos es necesario contar primero con el modelo de datos que
permita crearla. El modelo de datos, como abstraccin de la realidad, es la herramienta
utilizada para la representacin de las entidades y los atributos que las describen, as como las
relaciones entre ellas. Este modelo sirve como base para poder crear una base de datos. El
enfoque de modelacin ms usado es el modelo Entidad-Relacin.

El modelo entidad-relacin (E-R) se basa en percibir y modelar el mundo real en base a


elementos bsicos de construccin: entidades y relaciones entre ellas, as como atributos que
permiten describir a ambos elementos. De todo lo anterior se deduce que el punto clave en la
construccin de la base de datos ser el modelo de datos.

Con la modelacin de los datos requeridos por una base de datos se logra:

1. Formalizacin: definir formalmente las estructuras permitidas y las restricciones, a fin


de representar los datos que requiere una aplicacin, y la base de datos requerida.
2. Diseo: el modelo resultante es la materia prima esencial para el diseo de la base de
datos.
Qu es el Modelo Relacional?

El modelo relacional fue propuesto por E.W. Codd en 1970. Es actualmente el modelo que
soporta a la gran mayora de los sistemas de bases de datos de la actualidad. El modelo
provee caractersticas nicas de modelacin, que permiten crear modelos de datos
relacionales, con relativa facilidad.

El Modelo Relacional ofrece las siguientes ventajas:

Los datos se representan en relaciones, cuya manera natural de representacin es en


forma de tabla bidimensional. Esta representacin es muy simple de entender y
visualizar, adems de que es conocida y utilizada en muchas formas de trabajo de la
vida diaria, tanto en la escuela como en el trabajo.
Un ejemplo de una tabla relacional se presenta a continuacin:

Alumno Fecha de
Matrcula Nombre Apellido Ciudad Estado Carrera
Nacimiento
Ing. En
45175 Jos Prez Monterrey NL 21/01/1980
Electrnica
Ing. En
46550 Luis Martnez Hermosillo SON 12/06/1981
Computacin
Lic. En
47123 Ren Gonzlez Toluca MEX 13/09/1992
Economa

Es un modelo formal de datos, caracterstica que lo diferencia de los otros modelos.


Es un modelo basado en las matemticas, en el concepto de relacin matemtica y en
teora de conjuntos.
La manera natural de representar una relacin es en forma de tabla, que permite una
conceptualizacin y explicacin sencilla de este concepto.
Adems, por ser un concepto matemtico, las tablas que forman una base de datos
relacional son manipuladas con muchas ventajas por operadores matemticos muy
sencillos y poderosos, el lgebra y el clculo relacional. A partir de estos operadores, es
muy sencillo resolver cualquier consulta que un usuario requiera. Estos lenguajes,
conjuntos de operadores, estn presentes en el SQL, lenguaje estndar para la
manipulacin de Bases de Datos relacionales comerciales.

2.2 Conceptos Fundamentales de una Base de Datos Relacional

La teora que soporta a las bases de datos relacionales es muy formal, matemtica. Por esta
razn, es importante conocerla para tener un entendimiento que permita obtener el mximo
aprovechamiento de sta. Los conceptos que se presentan en este apartado deben permitir
que se aproveche al mximo la tecnologa, por lo que su entendimiento es indispensable. Se
presentan esos conceptos a continuacin.
Qu es una Relacin Matemtica/Tabla relacional?

Un elemento fundamental en el modelo relacional es el concepto de relacin matemtica, o


tabla relacional.

Una relacin o tabla relacional, en su forma ms simple, es un conjunto de renglones (tambin


conocidos como tuplas, registros, ocurrencias, o instancias).

De una manera ms formal, es el conjunto de tuplas, o renglones, formados por un conjunto


de valores tomados a partir de n diferentes dominios. Se puede expresar de la siguiente
manera:

Relacin R:

Dado un conjunto de n dominios, D1 a Dn, una relacin R se define como el conjunto


de tuplas ordenadas, denotadas como <d1, d2, , dn> donde cada tupla es formada
tomando un valor de cada uno de los dominios

Se denota asi: R = {<d11, d21, , dn1>1, <d12, d22, , dn2>2, , <d1m, d2m, .,
dnm>m }

Por ejemplo, en la tabla relacional ALUMNO, cada rengln corresponde a los datos de un
alumno en particular. La tabla o relacin contiene entonces los renglones que representan los
datos de los alumnos en una escuela.

Cada uno de los datos almacenados en un rengln representa el valor de un atributo, para
cada atributo que forma una tabla relacional. En la tabla de alumno, los atributos que
describen a la tabla o relacin son: Matrcula, Nombre, Apellido, Ciudad, Carrera y Fecha de
Nacimiento.

Finalmente, cada columna de la tabla relacional, cada atributo, contiene los valores del atributo
para cada uno de los renglones u ocurrencias de la tabla. Los valores que un atributo puede
tomar se conocen como el dominio del atributo, y es muy importante su definicin, ya que
permite cuidar las reglas de los valores vlidos en un atributo.

Cada tabla debe tener entonces la siguiente definicin:

Nombre de la tabla
Nombre para cada columna o atributo que forma la tabla
El dominio sobre el cual est definido cada uno de los atributos que forman la tabla.
Caractersticas de una tabla relacional

Una tabla relacional es una tabla bidimensional que posee la siguientes caractersticas:

Los renglones poseen datos acerca de una entidad, entendiendo como entidad a algo
acerca de lo cual se desea almacenar datos.

Las columnas contienen datos acerca de los atributos de la entidad.

Cada posicin en la tabla almacena un valor simple, atmico, de un atributo.

Todos los valores almacenados en una columna son del mismo tipo, es decir, estn
definidos sobre el mismo dominio.

Cada columna o atributo debe poseer un nombre nico.

El orden de las columnas no es relevante.

El orden de los renglones no es relevante.

No pueden existir dos renglones idnticos en la tabla.

Se utiliza el nombre de tabla relacional, en lugar de relacin, para evitar confundir con
el nombre que se le da a una relacin en el sentido natural del Espaol, es decir, la
asociacin entre elementos, aunque es importante aclarar que no todas las tablas son
relaciones.

Los siguientes trminos se utilizan de manera equivalente, para referirse a trminos


comunes en el rea de Bases de Datos: Tabla/rengln/columna =
archivo/registro/campo = relacin/tupla/atributo.

El grado de una relacin es el nmero de columnas o atributos de la misma y no puede


ser cero, una tabla no puede existir sin columnas.

La cardinalidad de una tabla es el nmero de renglones o tuplas en la tabla.


Qu es una Llave

Una llave est formada por uno o ms atributos que permiten identificar de forma nica a
cada tupla o rengln en una tabla relacional. Una llave compuesta es una llave que est
formada por dos o ms atributos.

Adems:

Una tabla relacional puede tener slo una llave primaria, pero pueden tener llaves
adicionales, que son llamadas llaves candidatas o alternas
Una llave primaria se usa para
Establecer relaciones entre diferentes tablas
Permiten organizar la forma en que las tablas se almacenan
Son usadas para generar ndices, mecanismos usados para el acceso eficiente a
los datos

Llave primaria

En tablas en las cuales existe ms de una llave, se selecciona a una de ellas, como la llave con
la cual se realizan bsquedas o con la cual se establecen relaciones entre las tablas. Este es el
caso de la llave primaria. Las llaves restantes son llamadas llaves alternas o secundarias.

La seleccin de la llave primaria se considera normalmente sobre la base de ser la llave ms


pequea, aunque no es una condicin absoluta. El caso de una llave compuesta, que consiste
de varios atributos, es mucho ms compleja de manejar como llave primaria, por ejemplo.
Qu es un Esquema de Base de Datos Relacional?

Un esquema de base de datos relacional es un conjunto de definiciones de tablas


relacionales, y un conjunto de reglas o restricciones de integridad.

La definicin de tablas relacionales procede de definir los requerimientos de un rea de


aplicacin. Las reglas de integridad definen todas aquellas condiciones, o restricciones, que los
datos deben cumplir, para mantener la integridad de los datos, y su valor.

Las reglas de integridad se agrupan en:

Estructurales, que son especficas al modelo de datos relacional.

Semnticas, que son especficas a la aplicacin, impuestas por las reglas de negocio
que la aplicacin misma pide cumplir. Un ejemplo puede ser las condiciones que una
empresa puede requerir para la contratacin de un empleado, y que el sistema debe
cumplir, lo que impone reglas que los datos de la base de datos debe cumplir.

2.3 Qu son las reglas de Integridad en una Base de Datos Relacional?

Las reglas de integridad en una base de datos permiten que la informacin almacenada en la
misma, posea la consistencia e integridad requerida por sus usuarios. Estas reglas provienen
de la definicin misma del modelo relacional, pero estn dirigidas a que su cumplimiento
garantice que los datos sean correctos, o consistentes.

Por su importancia es indispensable que se conozca sobre las mismas, que se definan en la
creacin de la base de datos, y que el acceso a la base de datos cumpla con ellas. A
continuacin se presentan las bases del manejo de reglas de integridad, para que se busque su
cumplimiento.

Reglas de Integridad Estructurales del Modelo Relacional:

1. Regla de Integridad de Dominio. Hace referencia a que los valores de los datos deben
ser atmicos. El dominio de cada atributo debe estar compuesto de valores atmicos,
por lo tanto no puede ser un valor compuesto de otros valores ms simples, como un
arreglo, o un registro de valores. Si se requiere almacenar una direccin por ejemplo,
ser necesario separar en diferentes atributos, como Calle, nmero, colonia, ciudad.

2. Regla de Integridad de Llave. Establece que la llave de una entidad debe ser nica.
3. Regla de Integridad de entidad: Establece que no se permite un valor nulo como parte
de una llave primaria. El valor nulo es permitido para todos los dominios, y se utiliza
para cuando el valor del atributo no est definido, o no aplica, y el dominio definido
para el atributo lo permite. Por ejemplo, el dominio de NumeroDeEmpleadoDelJefe en la
tabla de Empleados, cuando se trabaja en el registro del director de la empresa, y el
valor de este nmero no aplica para el director. Se almacena entonces un NULO.

4. Regla de Integridad referencial: Las referencia de una tabla a otra tabla debe ser con
valores de llaves consistentes.

Qu significa la regla de Integridad referencial?

La regla de integridad referencial sirve para forzar que las relaciones entre tablas, que se
establecen mediante llaves, mantengan siempre datos consistentes entre las mismas.
Las relaciones entre las tablas se establecen entre renglones de una tabla con renglones en la
segunda tabla. Estas relaciones se establecen mediante las llaves, donde la llave primaria de
una tabla se replica en otra tabla, para establecer la relacin. La rplica de la llave primaria en
otra tabla, recibe el nombre de llave fornea (foreign key).

Qu es una llave fornea?

Una llave fornea (FK) es uno o ms atributos en una tabla, que son la llave primaria en otra
tabla, inclusive la misma. La llave fornea debe cumplir con:

1. Los atributos que forma la FK deben estar definidos en los mismos dominios que los
atributos que forman la PK relacionada a la FK. La condicin hace referencia a que los
valores deben coincidir entre la FK y la PK, no sobre los nombres de los atributos, por lo
cual los nombres en ambas llaves pueden ser diferentes.
2. El valor de la FK en un rengln de la tabla, debe coincidir con un valor de la PK en la
otra tabla, o ser un valor NULO. Esto garantiza que la informacin es consistente entre
las tablas que mantienen una relacin entre ellas.
Para mostrar estas relaciones en un diagrama, se dibuja una flecha que va de la FK a la PK,
mostrando la relacin entre ambas tablas. En el siguiente ejemplo se muestra la relacin
existente entre un Cliente, que tiene una OrdenDeCompra colocada en la empresa.

En general, las reglas de integridad referencial pueden ser definidas entre dos tablas, en
cualquier direccin, e inclusive pueden ser definidas entre ocurrencias o renglones de la misma
tabla.

Ejemplo: qu relaciones se pueden definir entre un departamento acadmico y los


profesores que trabajan en l?

Un departamento acadmico se asocia con los diferentes profesores que trabajan en l. Por
otro lado un profesor es jefe o director de un departamento acadmico.

DISEO DE UN SISTEMA QUE UTILIZA UNA BASE DE DATOS

El diseo de una base de datos relacional puede seguir diferentes caminos.

La primera opcin toma como base la observacin del mundo real bajo estudio, generando un
conjunto de tablas, que contengan los atributos y las restricciones de integridad sobre las
mismas.

Otra opcin es dividir el diseo en dos fases:

Definir el modelo conceptual y su esquema


Transformar el esquema conceptual en un esquema relacional mediante un conjunto de
reglas de transformacin

Aunque la normalizacin (tema que se cubre posteriormente) es una base muy importante
para el diseo de una base de datos, este diseo no puede limitarse a la aplicacin exclusiva
de la teora de la normalizacin.

El diseo de una base de datos, por otro lado, tiene mltiples puntos de vista, y formas de
desarrollarse, de acuerdo a esos puntos de vista. Para este curso, la idea del diseo es que se
convierta en una proceso prctico, que facilite el proceso de diseo.

En base a esos puntos de vista, un proceso de diseo prctico, incluye las siguientes fases:

Fase 0: Anlisis de requerimientos. (No forma parte del proceso de diseo)

Aunque esta fase realmente corresponde a la fase de anlisis de un proyecto, se presenta con
el fin de establecer que de sta fase se obtiene la materia prima para el diseo de la base de
datos. De esta fase se requiere obtener los requerimientos de datos que el sistema bajo
anlisis ha formalizado. El documento de anlisis, en la parte de requerimientos de datos, es
entonces la entrada al proceso de diseo.

Fase 1: Diseo conceptual de la base de datos

Esta fase puede ser considerada tanto parte de la fase de anlisis de requerimientos, como
parte de la fase de Diseo. Es decir, para algunos puede formar parte del anlisis de
requerimientos, donde el producto de esta fase es el modelo de datos construido en base a
una herramienta especfica. Para otros, esta actividad corresponde a la fase de diseo de
software, especficamente, del diseo de la base de datos. Para este caso se considera parte
del diseo de la base de datos.

Esta fase corresponde a la definicin del esquema conceptual, que es el esquema que define el
modelo de datos a alto nivel, independiente de cualquier sistema de administracin de bases
de datos. Por ser un modelo abstracto, no puede utilizarse para definir la estructura de la base
de datos.

Fase 2: fase de diseo lgico (Transformacin del modelo de datos o esquema conceptual, al
SMBD a utilizar).

En esta fase se transforma la salida del diseo conceptual, o esquema conceptual, al esquema
de la base de datos en el modelo de datos del DBMS a utilizar.

Fase 3: Diseo de la base de datos fsica

Consiste en definir las estructuras de almacenamiento y de acceso para alcanzar un


rendimiento ptimo de las aplicaciones que se ejecutarn sobre la base de datos. Se tienen
diferentes criterios para la definicin de la base de datos fsica: el tiempo de respuesta de
ejecucin de las aplicaciones y consultas a la base de datos, la utilizacin del espacio de
almacenamiento disponible o el volumen de transacciones por minuto, que se ejecutan sobre la
base de datos

Estas fases son genricas, por lo que deben revisarse para el caso particular de cada empresa.

You might also like