martes, 25 de mayo de 2010

Tema 1: Teoría de Sistema de Base de Datos Relacional

Que es un sistema de base de datos?


Un sistema de Base de Datos es básicamente un sistema para archivar en computador; o sea, es un sistema computarizado cuyo propósito general es mantener información y hacer que esté disponible cuando se solicite.
La información en cuestión puede ser cualquier cosa que se considere importante para el individuo o la organización a la cual debe servir el sistema; dicho de otro modo, cualquier cosa necesaria para apoyar el proceso general de atender los asuntos de esa organización.
Pero es fundamental para el éxito de su proyecto limitar el sistema de base de datos, que Ud. quiere diseñar, a un específico y bien definido conjunto de objetos e interacciones; lo que le permitirá definir el alcance del sistema. Como veremos mas adelante no se trata de modelizar "todo" el mundo sino solo la parte "importante" y "pertinente" para alcanzar los objetivos funcionales del sistema. Esa parte del mundo que nos interesa la llamaremos el espacio del problema.
El término modelo de datos se utilizará se utilizará para significar una descripción conceptual del espacio del problema, esto incluye la definición de sus entidades, que son clases de objetos que comparten determinadas características (por ejemplo un "cliente" es una entidad), dichas características se las denomina atributos (por ejemplo el "nombre" del cliente es un atributo de un cliente).
El modelo de datos incluye la descripción de las interrelaciones entre las entidades y las restricciones sobre dichas relaciones (por ej: las "facturas de venta" se emiten a nombre de un "cliente" y esta relación no puede faltar, es decir , no puede haber una factura que no tenga asignada un cliente.
La capa física o esquema físico del diseño, está constituida por las tablas y vistas que serán implementadas, y constituye la traslación del modelo conceptual en una representación física que pueda ser implementada utilizando el Sistema de Gestión de Bases de Datos Relacional (SGBDR) a ser empleado, a los fines del presente Kit, el MS-SQL Server 2000. Este esquema no es mas que la representación del modelo conceptual o lógico expresado en términos que puedan ser usados para describirlo al SGBDR.
A medida que Ud. le vaya explicando al SGBDR como quiere que almacene los datos, el SGBDR creará los objetos necesarios para gestionarlos (tablas, vistas, índices, relaciones, etc). Lo que dará origen a la estructura la base de datos.
Por último, llamaremos base de datos a la combinación de los datos y su estructura. La base de datos incluye, entonces, a los datos mas las tablas, vistas, procedimientos almacenados, consultas, y a las reglas que el motor de base datos utilizará para asegurar el resguardo de los datos.
El término base de datos no incluye a la aplicación la cual consiste de los formularios y los reportes con los que interactuarán los usuarios, ni incluye la piezas de código usadas para unir las partes de la aplicación.
En un modelo de tres capas, la aplicación que accede a los datos almacenados en una base de datos y que a la vez interactúa con el usuario se divide en dos partes: la llamada capa intermedia que contiene todas las validaciones y las reglas del negocio y es la que interactúa con la base de datos y el front end que es la que contiene los formularios y realiza la presentación de los reportes, interactuando con el usuario fina.





El modelo Relacional


El modelo relacional está basado en una colección de principios matemáticos desarrollado inicialmente sobre un conjunto de conceptos teóricos y predicados lógicos. Esto principios fueron aplicados al campo de los modelos de datos a finales de los años ´60 por el Dr. E. F. Codd, investigador de IBM, y publicados por primera vez en 1970.
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 (manipulación de datos).
El MS-SQLServer 2000 implementa un modelo relacional de base de datos.
En términos generales un sistema de base de datos relacional tiene las siguientes características:
· Todos los datos están conceptualmente representados como un arreglo ordenado de datos en filas y columnas, llamado relación.
· Todos los valores son escalares, esto es, que dada cualquier posición fila/columa dentro de la relación hay uno y solo un valor.
· Todas las relaciones son realizadas sobre la relación completa y dan como resultado otra relación, concepto conocido como clausura .
A los fines prácticos una relación puede ser considerada como una tabla, aún cuando al momento de formularse la teoría intencionalmente se excluyó el término tabla por tener connotaciones de ordenamiento que no se deben aplicar al concepto de relación que es mas un conjunto, que una tabla ordenada. De todos modos y a los fines del presente Kit utilizaremos en forma indistinta la denominación de relación o de tabla.
Es importante destacar que el concepto de clausura permite que el resultado de una operación sobre un relación sea el dato para otra operación. Por lo que como veremos mas adelante al resultado de una orden select se le puede aplicar otro select.



Terminología relacional

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

La relación se divide en dos secciones el encabezado y el cuerpo, donde el encabezado contiene la etiquetas de los atributos. Estas etiquetas constan de dos parte separadas por dos puntos ":" la parte izquierda es la denominación 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 relación de la figura tiene como dominio a todas las compañías que existen, mientras que solo algunas son valores efectivamente incorporados a la relación).
El cuerpo consiste en un conjunto desordenado de cero o más tuplas, esto indica que las tuplas no tienen un orden intrínseco, el número 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 inequívocamente identificado, por lo que la relación no permite tuplas duplicadas.
En cuanto a la terminología, en esta parte se utilizó una lenguaje formal para la definición de los elementos abordados, a partir de ahora se utilizarán las siguientes equivalencias de significado:
Una relación 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).
Dichas equivalencias se generan porque al instanciar en la implementación física el modelo conceptual, se utilizan términos que corresponden precisamente al modelo físico de implementación en el SGBDR, en este caso el MS-SQLServer 2000, que utiliza la terminología Microsoft.

No hay comentarios:

Publicar un comentario