You are on page 1of 12

Fundamentos de Bases de Datos Unidad Didctica 2: 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 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 presentan los conceptos y trminos que se presentan a

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 EntidadRelacin. 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

Matrcula Nombre Apellido Ciudad 45175 46550 Jos Luis Prez

Estado Carrera

Fecha de Nacimiento

Monterrey NL

Martnez Hermosillo SON

Ing. En 21/01/1980 Electrnica Ing. En 12/06/1981 Computacin

47123

Ren

Gonzlez Toluca

MEX

Lic. En Economa

13/09/1992

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.

Que 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 una 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