You are on page 1of 9

Taller de Base de Datos

4:

BASES DE DATOS RELACIONALES

17

Desarrollo de Software y Gestin de Base de Datos

Taller de Base de Datos

1.

MODELO RELACIONAL DE BASES DE DATOS

El modelo relacional est basado en una coleccin de principios matemticos desarrollados inicialmente sobre un conjunto de conceptos tericos y predicados lgicos. Estos principios fueron aplicados al campo de los modelos de datos a finales de los aos 60 por el Dr. E. F. Codd, investigador de IBM, y publicados por primera vez en 1970. 18 El modelo relacional define el modo en que los datos van a ser representados (estructura de datos), la forma en que van ser protegidos (integridad de los datos) y las operaciones que pueden ser aplicadas sobre ellos (manipulacin de datos).

En trminos generales un sistema de base de datos relacional tiene las siguientes caractersticas: Todos los datos estn conceptualmente representados como un arreglo ordenado de datos en filas y columnas, llamado relacin. Todos los valores son escalares, esto es, que dada cualquier posicin fila/columna dentro de la relacin hay uno y solo un valor. Todas las relaciones son realizadas sobre la relacin completa y dan como resultado otra relacin, concepto conocido como clausura.

A los fines prcticos una relacin puede ser considerada como una tabla, aun cuando al momento de formularse la teora intencionalmente se excluy el trmino tabla por tener connotaciones de ordenamiento que no se deben aplicar al concepto de relacin que es ms un conjunto, que una tabla ordenada. De todos modos utilizaremos en forma indistinta la denominacin de relacin o de tabla.

2. TERMINOLOGA RELACIONAL La Figura 1.2 muestra una relacin con los nombres formales de sus componentes principales.

Desarrollo de Software y Gestin de Base de Datos

Taller de Base de Datos

Tupla Fila Registro

Campo Atributo

EJEMPLO DE RELACION DE MULTIPLICIDAD (RELACION CARDINAL) ALUMNO CARRERA 19 H 1

La estructura de la figura constituye una relacin, donde cada fila constituye una tupla. La cantidad de tuplas en una relacin indica la cardinalidad de la relacin. Cada columna en la relacin es un atributo, y la cantidad de atributos indica el grado de la relacin.

La relacin se divide en dos secciones el encabezado y el cuerpo, donde el encabezado contiene las etiquetas de los atributos. Estas etiquetas constan de dos parte separadas por dos puntos ":" la parte izquierda es la denominacin propiamente dicha del atributo, mientras que la parte derecha configura el dominio del atributo, que es el conjunto de todos los valores posibles y legales que puede tomar el atributo en las tuplas (por ej: el primer atributo de la relacin de la figura tiene como dominio a todas las compaas que existen, mientras que solo algunas son valores efectivamente incorporados a la relacin).

El cuerpo consiste en un conjunto desordenado de cero o ms tuplas, esto indica que las tuplas no tienen un orden intrnseco, el nmero de registro no es tenido en cuenta en el modelo relacional. Por otro lado las relaciones sin tuplas siguen siendo relaciones. Por ltimo las relaciones son conjuntos donde cualquier elemento puede ser inequvocamente identificado, por lo que la relacin no permite tuplas duplicadas. En cuanto a la terminologa, en esta parte se utiliz un lenguaje formal para la definicin de los elementos abordados, a partir de ahora se utilizarn las siguientes equivalencias de significado:

Desarrollo de Software y Gestin de Base de Datos

Taller de Base de Datos

Una relacin puede ser una tabla, o un recordset o un result set. Una tupla puede ser una fila (row) o un registro (record) Un atributo puede ser una columna (column) o un campo (field).

3. BASE DE DATOS RELACIONAL Una base de datos relacional es una base de datos que cumple con el modelo relacional, el cual es el modelo ms utilizado en la actualidad para implementar bases de datos ya planificadas. Permiten establecer interconexiones (relaciones) entre los datos (que estn guardados en tablas), y a travs de dichas conexiones relacionar los datos de ambas tablas. 20

3.1.

Caractersticas. Se compone de varias tablas o relaciones. No pueden existir dos tablas con el mismo nombre. Cada tabla es a su vez un conjunto de registros (filas y columnas). La relacin entre una tabla padre y un hijo se lleva a cabo por medio de las claves primarias y ajenas (o forneas).

Las claves primarias son la clave principal de un registro dentro de una tabla y stas deben cumplir con la integridad de datos.

Las claves ajenas se colocan en la tabla hija, contienen el mismo valor que la clave primaria del registro padre; por medio de stas se hacen las relaciones.

3.2.

Elementos.

Relaciones base y derivadas. En una base de datos relacional, todos los datos se almacenan y se accede a ellos por medio de relaciones. Las relaciones que almacenan datos son llamadas "relaciones base" y su implementacin es llamada "tabla". Otras relaciones no almacenan datos, pero son calculadas al aplicar operaciones relacionales. Estas relaciones son llamadas "relaciones derivadas" y su implementacin es llamada "vista" o "consulta". Las relaciones derivadas son convenientes ya que expresan informacin de varias relaciones actuando como si fuera una sola.

Desarrollo de Software y Gestin de Base de Datos

Taller de Base de Datos

Restricciones Una restriccin es una condicin 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 mtodo 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 restriccin o no.

21

Dominios Un dominio describe un conjunto de posibles valores para cierto atributo. Como un dominio restringe los valores del atributo, puede ser considerado como una restriccin. Matemticamente, 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.

Clave nica Cada tabla puede tener uno o ms campos cuyos valores identifican de forma nica cada registro de dicha tabla, es decir, no pueden existir dos o ms registros diferentes cuyos valores en dichos campos sean idnticos. Este conjunto de campos se llama clave nica. Pueden existir varias claves nicas en una determinada tabla, y a cada una de stas suele llamrsele candidata a clave primaria.

Clave primaria Una clave primaria es una clave nica elegida entre todas las candidatas que define unvocamente a todos los dems atributos de la tabla, para especificar los datos que sern relacionados con las dems tablas. La forma de hacer esto es por medio de claves forneas.

Desarrollo de Software y Gestin de Base de Datos

Taller de Base de Datos

Slo puede existir una clave primaria por tabla y ningn campo de dicha clave puede contener valores NULL.

Clave fornea Una clave fornea es una referencia a una clave en otra tabla. Las claves forneas no necesitan ser claves nicas en la tabla donde estn y s a donde estn referenciadas. 22 Por ejemplo, el cdigo de departamento puede ser una clave fornea en la tabla de empleados, obviamente se permite que haya varios empleados en un mismo departamento, pero existir slo un departamento.

Clave ndice Las claves ndices surgen con la necesidad de tener un acceso ms rpido a los datos. Los ndices pueden ser creados con cualquier combinacin de campos de una tabla. Las consultas que filtran registros por medio de estos campos, pueden encontrar los registros de forma no secuencial usando la clave ndice.

Las bases de datos relacionales incluyen mltiples tcnicas de ordenamiento, cada una de ellas es ptima para cierta distribucin de datos y tamao de la relacin.

Los ndices generalmente no se consideran parte de la base de datos, pues son un detalle agregado. Sin embargo, las claves ndices son desarrolladas por el mismo grupo de programadores que las otras partes de la base de datos.

Procedimientos almacenados Un procedimiento almacenado es cdigo ejecutable que se asocia y se almacena con la base de datos. Los procedimientos almacenados usualmente recogen y personalizan operaciones comunes, como insertar un registro dentro de una tabla, recopilar informacin estadstica, o encapsular clculos complejos. Son

frecuentemente usados por un API por seguridad o simplicidad.

Los procedimientos almacenados no son parte del modelo relacional, pero todas las implementaciones comerciales los incluyen.
Desarrollo de Software y Gestin de Base de Datos

Taller de Base de Datos

3.3.

Estructura.

La base de datos se organiza en dos marcadas secciones; el esquema y los datos (o instancia).

El esquema es la definicin de la estructura de la base de datos y principalmente almacena los siguientes datos:

El nombre de cada tabla. El nombre de cada columna. El tipo de dato de cada columna. La tabla a la que pertenece cada columna.

23

Las bases de datos relacionales pasan por un proceso al que se le conoce como normalizacin, el resultado de dicho proceso es un esquema que permite que la base de datos sea usada de manera ptima.

Los datos o instancia es el contenido de la base de datos en un momento dado. Es en s, el contenido de todos los registros.

Manipulacin de la informacin. Para manipular la informacin utilizamos un lenguaje relacional, actualmente se cuenta con dos lenguajes formales el lgebra relacional y el clculo relacional. El lgebra relacional permite describir la forma de realizar una consulta, en cambio, el clculo relacional slo indica lo que se desea devolver.

El lenguaje ms comn para construir las consultas a bases de datos relacionales es SQL (Structured Query Language), un estndar implementado por los principales motores o sistemas de gestin de bases de datos relacionales.

En el modelo relacional los atributos deben estar explcitamente relacionados a un nombre en todas las operaciones, en cambio, el estndar SQL permite usar columnas sin nombre en conjuntos de resultados, como el asterisco taquigrfico ( *) como notacin de consultas.

Desarrollo de Software y Gestin de Base de Datos

Taller de Base de Datos

Al contrario del modelo relacional, el estndar SQL requiere que las columnas tengan un orden definido, lo cual es fcil de implementar en una computadora, ya que la memoria es lineal.

Es de notar, sin embargo, que en SQL el orden de las columnas y los registros devueltos en cierto conjunto de resultado nunca est garantizado, a no ser que explcitamente sea especificado por el usuario. 24 Manejadores de base de datos relacionales.

Existe software exclusivamente dedicado a tratar con bases de datos relacionales. Este software se conoce como SGBD (Sistema de Gestin de Base de Datos relacional) o RDBMS (del ingls Relational Database Management System). Entre los gestores o manejadores actuales ms populares encontramos: MySQL, PostgreSQL, Oracle, DB2,INFORMIX, Interbase, FireBird, Sybase y Microsoft SQL Server.

Ventajas y desventajas

Ventajas

Provee herramientas que garantizan evitar la duplicidad de registros. Garantiza la integridad referencial, as, al eliminar un registro elimina todos los registros relacionados dependientes.

Favorece la normalizacin por ser ms comprensible y aplicable.

Desventajas

Presentan deficiencias con datos grficos, multimedia, CAD y sistemas de informacin geogrfica.

No se manipulan de forma manejable los bloques de texto como tipo de dato.

Las bases de datos orientadas a objetos (BDOO) se propusieron con el objetivo de satisfacer las necesidades de las aplicaciones anteriores y as, complementar pero no sustituir a las bases de datos relacionales.

Desarrollo de Software y Gestin de Base de Datos

Taller de Base de Datos

Diseo de las bases de datos relacionales. El primer paso para crear una base de datos, es planificar el tipo de informacin que se quiere almacenar en la misma, teniendo en cuenta dos aspectos: la informacin disponible y la informacin que necesitamos.

La planificacin de la estructura de la base de datos, en particular de las tablas, es vital para la gestin efectiva de la misma. El diseo de la estructura de una tabla consiste en una descripcin de cada uno de los campos que componen el registro y los valores o datos que contendr cada uno de esos campos. 25

Los campos son los distintos tipos de datos que componen la tabla, por ejemplo: nombre, apellido, domicilio. La definicin de un campo requiere: el nombre del campo, el tipo de campo, el ancho del campo, etc.

Los registros constituyen la informacin que va contenida en los campos de la tabla, por ejemplo: el nombre del paciente, el apellido del paciente y la direccin de este. Generalmente los diferentes tipos de campos que su pueden almacenar son los siguientes: Texto (caracteres), Numrico (nmeros), Fecha / Hora, Lgico (informaciones lgicas si/no, verdadero/falso, etc.), imgenes.

En resumen, el principal aspecto a tener en cuenta durante el diseo de una tabla es determinar claramente los campos necesarios, definirlos en forma adecuada con un nombre especificando su tipo y su longitud.

DISEO DE BASE DE DATOS.

1 MODELO CONCEPTUAL.- Representa la realidad en esquemas de BD (modelo entidad relacin) -> diagrama entidad relacin -> entidades/relaciones 2 MODELO LGICO.- Implementar objetos a nivel de clases (instancia de objetos) (Modelo de clase) ->representar las vinculaciones entre objetos 3 MODELO FSICO.- Es la implementacin de la BD en un DBMS (SQL server, My SQL) implementar objetos de BD (tablas-vistas-procedimientosdisparadores-diagramas). Manipula datos de objetos.

Desarrollo de Software y Gestin de Base de Datos

You might also like