TEORIA DE BASES DE DATOS - s5b9fbc142f81741f.jimcontent.com

11
A continuación se presentan una serie de conceptos, términos y teorías asociados con el tema conceptual de las Bases de Datos. Para ejemplificar la información que a continuación se presenta, éste papel de trabajo se valdrá del ejemplo CASO BIBLIOTECA que se esta estudiado paralelamente con este curso, esto para poder hacer referencias a ejemplos que dan mejores luces y entendimiento de los contenidos que se pretenden transmitir y explicar. COORDINACIÓN DE BASES DE DATOS TEORIA DE BASES DE DATOS

Transcript of TEORIA DE BASES DE DATOS - s5b9fbc142f81741f.jimcontent.com

Page 1: TEORIA DE BASES DE DATOS - s5b9fbc142f81741f.jimcontent.com

A continuación se presentan una serie de conceptos, términos y teorías asociados con el tema conceptual de las Bases de Datos. Para ejemplificar la información que a continuación se presenta, éste papel de trabajo se valdrá del ejemplo CASO BIBLIOTECA que se esta estudiado paralelamente con este curso, esto para poder hacer referencias a ejemplos que dan mejores luces y entendimiento de los contenidos que se pretenden transmitir y explicar.

COORDINACIÓN DE BASES DE

DATOS

TEORIA DE BASES DE DATOS

Page 2: TEORIA DE BASES DE DATOS - s5b9fbc142f81741f.jimcontent.com

08/04/2011 2

COORDINACION DE BASES DE DATOS

BASE DE DATOS Colección de datos interrelacionados y almacenados en conjuntos que son representados en base a registros debidamente estructurados y organizados de manera lógica y predeterminada, y que mantienen una mínima redundancia de datos, independencia de los programas que los manejan, una integridad y validez de los datos a través del tiempo, facilidad de uso y acceso a los datos, y que a su vez pueden servir a más de una aplicación informática. OBJETIVOS Y VENTAJAS DE LAS BASE DE DATOS A continuación se presentan los objetivos primordiales de las Bases de datos que a su vez dan a entender las ventajas de la utilización y empleo de estas:

Mínima Redundancia: La debida utilización de las Bases de Datos permite mantener una mínima redundancia de datos dentro de una Base de Datos específica, esto quiere decir que se eliminarían al máximo las repeticiones y duplicados de datos indeseados, por ejemplo, no tiene sentido el mantener en varios registros una misma cédula de identidad ya que es un dato único e inequívoco que se encarga de identificar a cada usuario dentro de la biblioteca. Esto no quiere decir que es estrictamente reglamentario que la cédula de identidad de un estudiante aparezca una sola vez en la Base de Datos, llegar a eso es casi imposible, pero el norte debe ser que esa cédula de identidad de un alumno cualquiera se repita los menos posible en las diferentes estructuras existentes en la Base de Datos, lo lógico es que los datos se repitan lo mínimo y mas controladamente posible, y con conocimiento aceptado y asimilado de ese nivel de redundancia. La mínima redundancia se consigue a través del empleo de la NORMALIZACIÓN, el cual es un proceso que permite la depuración de la estructura de las Entidades de una Base de Datos, ahora bien, muchas veces y en algunas ocasiones hay que seguir al sentido común cuando se diseñan a las Tablas de una Base de Datos, lo cual muchas veces no amerita un apego radical de las normas, todo

Page 3: TEORIA DE BASES DE DATOS - s5b9fbc142f81741f.jimcontent.com

08/04/2011 3

COORDINACION DE BASES DE DATOS

dependerá de las circunstancias y de las situaciones, pero la regla general existe y es del rigor de un buen diseñador aplicarlas, al final de cuentas es la experiencia la que hará del diseñador al experto, el cual podrá decidir cuando debe apegarse estrictamente a la norma y cuando no.

Independencia de Datos: Las Bases de Datos deben ser

independientes de los programas que la manejan, esto quiere decir que si por alguna razón deben modificarse las pantallas o las rutinas de procesamiento y cálculo del programa que utiliza a la Base de Datos, entonces de ninguna manera se tendría que modificar a la estructura o a los tipos de datos dentro de la Base de Datos.

Lo que si pudiese ocurrir es que en algún momento se requiera adicionar un nuevo item de dato dentro de la estructura de la Base de Datos, si esto es necesario, entonces se debe modificar la estructura de la Base de Datos adicionando este nuevo campo, claro esta, que la adición de este nuevo campo viene dada a los requerimientos de los usuarios del sistema y que por ende, luego, después de haber adicionado este campo, se debe proceder entonces es a cambiar los programas y pantallas para que estos sean los que se adapten a los nuevos requerimientos de los usuarios que tiene que ver directamente con el nuevo campo adicionado.

Rapidez de Procesamiento: Al existir mínima redundancia y a su vez al mantener debidamente afinada a la Base de Datos se mejora de manera importante la velocidad de acceso y almacenaje de los datos, claro esta que esto también dependerá de la capacidad del hardware y del debido mantenimiento que se le hagan a los discos duros, a las redes y a los sistemas operativos que sirven de soporte a la Base de Datos.

Integridad y Consistencia de Datos: Los manejadores de Bases de Datos modernos permiten configurar la estructura de la Base de Datos que manera tal que se mantenga una debida integridad y consistencia de los datos.

El problema de integridad radica en asegurar que la información de la Base de Datos sea correcta. La inconsistencia entre 2 entradas que supuestamente representan el mismo hecho es un ejemplo de falta

Page 4: TEORIA DE BASES DE DATOS - s5b9fbc142f81741f.jimcontent.com

08/04/2011 4

COORDINACION DE BASES DE DATOS

de integridad; por supuesto, que ese problema en particular solo puede ocurrir si la Base de Datos permite redundancia indebida. Sin embargo, aun cuando no exista redundancia es posible que la base de datos pueda mantener información errónea. Por ejemplo, una consulta podría revelar que un usuario de la biblioteca tiene más de 10 libros en calidad de préstamo circulante, lo cual no debe ser y no debe ocurrir. El error descrito anteriormente se puede resolver configurando la estructura del campo asociado con los préstamos circulantes asignándole un máximo de 3 préstamos, lo cual puede ser utilizado después para generar una alarma o simplemente para no permitir que se pueda hacer otro prestamos, esto se podría hacer bloqueando esta opción en las opciones de pantalla de la aplicación cuando el usuario pretenda solicitar un cuarto préstamo. La integridad de la información es todavía mucho más importante en un sistema multiusuario de Bases de Datos o de Red, en donde diferentes usuarios pueden tener acceso a la misma Base de Datos y desde diferentes puntos de conexión. Hoy en día la mayoría de los productos que manejan Bases de Datos integran controles internos que no permiten que un registro sea actualizado al mismo tiempo por dos usuarios, por lo general, existe una especie de cola de acceso al registro que permite que primero ocurra un acceso y milésimas de segundos después el segundo acceso, pero siempre y cuando el primer acceso ya se halla actualizado y asentado satisfactoriamente. Sin embargo, aunque pareciese que los 2 accesos se hicieron simultáneamente, en realidad ocurrió uno primero y el otro inmediatamente después, se debe recordar que los computadores trabajan a velocidades vertiginosamente rápidas, nanosegundos y hasta terasegundos, por lo cual para estas es muy fácil determinar quien ingreso primero y quien después al momento de ocurrir la actualización, y en el caso en que los dos usuarios en realidad hayan podido ingresar exactamente en el mismo momento, entonces el procesador decidirá por su cuenta quien va primero y quien va después

Facilidad de Uso y Acceso a los Datos: Las actuales tecnologías

para el manejo y manipulación de Bases de Datos permiten un fácil acceso a los datos que se encuentran contenidos dentro de éstas.

Page 5: TEORIA DE BASES DE DATOS - s5b9fbc142f81741f.jimcontent.com

08/04/2011 5

COORDINACION DE BASES DE DATOS

El SQL mantiene instrucciones muy sencillas para el acceso y el mantenimiento de los datos dentro de las Bases de Datos. Los comandos son cortos y con sintaxis muy sencillas de recordar y ejecutar.

Afinación de Datos: Los manejadores de Bases de Datos actuales

también mantienen herramientas que permiten afinar y entonar a las Bases de Datos. A lo largo del desempeño de las Bases de Datos a través del tiempo estas se pueden ir desentonando, las Bases de Datos pueden ser indexadas o depuradas a través de tareas creadas dentro de los mismos manejadores para este fin.

Otra forma de afinación y entonación se podría realizar a través de la creación de algoritmos que barriesen la Base de Datos analizándola y generando posibles reportes de error y sugerencias de correcciones. Esto podría ser aplicado en Auditorias de datos tales como, por ejemplo, a la Base de Datos del Consejo Nacional Electoral, la cual según muchos expertos goza de algunas inconsistencias.

Facilidad de Migración de Datos: La tecnología computacional de hoy en día permite la compatibilidad y migración de datos entre distintos formatos existentes de bases de datos y entre otras aplicaciones informáticas, por ejemplo, una tabla construida en formato de Hoja de Cálculo puede ser convertida a formato de Bases de Datos y viceversa, o Bases de Datos convertidas o otros productos de Bases de Datos o entre sistemas operativos distintos.

Otro ejemplo; el MySQL y el POSTGRESQL son productos informáticos para el desarrollo de Bases de Datos que es compatible con diferentes sistemas operativos. Entre algunos manejadores de Bases de Datos se pueden convertir tablas directamente para facilitar el proceso de migración de datos. En algunos casos, cuando la migración y conversión no se puede hacer de manera directa, entonces se hace necesario el tener que desarrollar rutinas que permitan transferir, convertir o migrar los datos de un sistema a otro.

Seguridad de Datos: Las Bases de Datos deben ofrecer la pertinente seguridad de acceso a los datos. Es muy frecuente en

Page 6: TEORIA DE BASES DE DATOS - s5b9fbc142f81741f.jimcontent.com

08/04/2011 6

COORDINACION DE BASES DE DATOS

algunos sistemas el encriptar y empaquetar los datos para que aunque éstos sean copiados, no puedan ser entendidos ni descifrados, eso por un lado, y por otro lado, los manejadores de Bases de Datos deben permitir asignar niveles de acceso a las tablas y a las Bases de Datos ya sea para ser leídos, modificados o eliminados.

Dentro de una aplicación informática ya terminada, es recomendable, que los niveles de acceso, navegación y actualización de la información contenida en la Base de Datos sea realizada a través de la misma programación de la aplicación en cuestión. En una instalación de envergadura por lo general se utilizan los servicios del DBA (Data Base Administrator – Administrador de la Base de Datos), el cual es un empleado, o conjunto de esmpleados, que actúan como Administrador de la Base de Datos, y es éste quien otorga permisos y genera cuentas de usuarios, claro esta, bajo los lineamientos y políticas de la organización en cuestión. Existen instalaciones y organizaciones, tales como las universidades y los centros de investigación científica que permiten a ciertos usuarios el utilizar directamente al Manejador de la Base de Datos (DBMS) para tener acceso directo ya sea en modo consola o en modo gráfico a ciertas Bases de Datos (DBS), en esos casos es el DBA quien se encarga de dar acceso y permisología a estos usuarios especiales. Por lo general, los usuarios comunes, usuarios finales, de una DBS se conectan con esta es a través de una aplicación informática en modo programado (MMI) , y en ese caso el acceso y la permisología la otorga la misma aplicación programada. No se debe confundir el concepto del DBA con el del Administrador del Sistema en General o con el del Administrador de la Red, aunque en algunas organizaciones ocurre que el mismo personal asume todas estas responsabilidades, y por lo general esto ocurre, por supuesto, para ahorrar gastos.

Page 7: TEORIA DE BASES DE DATOS - s5b9fbc142f81741f.jimcontent.com

08/04/2011 7

COORDINACION DE BASES DE DATOS

EL DBMS El DBMS (Data Base Management System – Sistema Manejador de Bases de Datos) es un software informático que entre otros cumple con:

Crear y manipular Bases de Datos y sus componentes (Tablas, relaciones, consultas, índices, etc.)

Servir de enlace entre una Base de Datos y las aplicaciones

informáticas que requieren de los servicios de la Base de Datos. Servir al control de concurrencia que hacen diferentes aplicaciones

informáticas y diferentes usuarios a una misma Base de Datos. Dar la facilidad y herramientas para cumplir con todos los objetivos

planteados por la Base de Datos que fueron presentados en los puntos anteriores.

El DBMS es un producto informático (software) que debe ser instalado en el disco duro del computador en el cual se pretenden alojar a las diferentes Bases de Datos de una organización (Nómina, Administración, Producción, etc.). Con este paquete se crean a las diferentes Bases de Datos que serán soportadas dentro de ese disco duro, y a su vez éste sirve como interface entre los usuarios del entorno y las Bases de Datos en un primer nivel, y en un segundo nivel como mediador entre las aplicaciones informáticas y las Bases de Datos existentes. El producto de crear una Base de Datos con un DBMS se llama DBS (Data Base System – Sistema de Bases de Datos), el cual no es más que la base de datos misma, pero con rigor de sistema ya que dentro de ésta existe una complejidad tal que debe ser vista y analizada como un sistema complejo. Cuando se crea un DBS se debe tomar en cuenta entre otros a toda su estructura, a los campos, a los tipos de datos, a si el dato es requerido o no dentro del campo, al tipo de ocurrencia del dato dentro del registro, a si el campo es clave o no, a las tablas, a las relaciones entre tablas, a los posibles índices a ser declarados, etc, todo esto le da complejidad al diseño y creación de un DBS.

Page 8: TEORIA DE BASES DE DATOS - s5b9fbc142f81741f.jimcontent.com

08/04/2011 8

COORDINACION DE BASES DE DATOS

El DBMS permitirá el debido acceso a las distintas DBS a su cargo de manera directa por los diferentes usuarios que así lo requieran y que a su vez tengan el permiso para poder hacerlo, y en otro nivel, permitirá el acceso a las diferentes Bases de Datos de manera indirecta por los usuarios que se encuentren ejecutando otras aplicaciones programadas que en algún momento hagan enlace con la Base de Datos. ARQUITECTURA DE UN DBS Todo Sistema de Bases de Datos (DBS) se rige desde el punto de vista estructural bajo una arquitectura que permite mostrarlo esquemáticamente en toda su extensión. En el siguiente diagrama se presenta la Arquitectura de un DBS.

DBSDBMS

APLICACIÓN

Page 9: TEORIA DE BASES DE DATOS - s5b9fbc142f81741f.jimcontent.com

08/04/2011 9

COORDINACION DE BASES DE DATOS

Nivel Físico: Es el nivel más bajo de abstracción, también llamado Nivel de Máquina y Nivel Interno, en este nivel se describen en detalle las estructuras de datos complejas de bajo nivel.

Este nivel se refiere a como se almacenan físicamente los datos en el disco duro, materia ésta que aunque es bien compleja, cada día cobra menos importancia para los diseñadores y desarrolladores, esto dado a la transparencia de esta información la cual se encuentra muy bien soportada por la alta confiabilidad y seguridad que cada día va adoptando la tecnología de almacenamiento masivo en discos duros. La tendencia hoy en día es preocuparse mas en el diseño y las vistas de la Base de Datos y no en el como se encuentran almacenadas estas en el disco duro, esa es tarea interna del DBMS y de los desarrolladores de los DBMS. Los DBMS cada día se hacen más confiables y seguros para realizar esta tarea.

Page 10: TEORIA DE BASES DE DATOS - s5b9fbc142f81741f.jimcontent.com

08/04/2011 10

COORDINACION DE BASES DE DATOS

Nivel Conceptual: Es el nivel intermedio, también llamado Nivel Lógico y Nivel de Diseño, en este nivel se define el Esquema Lógico de la Base de Datos con todas sus Tablas y Relaciones.

En este nivel los diseñadores se encargan de generar el Esquema Lógico a partir de las Entidades y de las Relaciones entre estas. Aquí Se genera una especie de mapa general y completo de toda la Base de Datos. Las técnicas y métodos empelados para llegar a construir el Esquema Lógico tienen que ver con el proceso de modelar, en una primera instancia, al DBS a través del diagrama Entidad - Relación (ER) y a posterior con el empleo de los teoremas de Normalización sobre ese diagrama E-R. El nivel conceptual es netamente un nivel intelectual, después de que el diseñador en papel termina de diseñar la Base de Datos, entonces seguidamente es cuando se procede a crear la Base de Datos dentro del DBMS con sus debidas tablas y demás características.

Nivel Externo: Es el nivel mas alto, también llamado Nivel del

Usuario Final y Nivel de Vistas, en este nivel se definen los Sub-Esquemas que serán vistos por cada uno de los diferentes usuarios del sistema.

Un Sub-Esquema es una porción de datos del Esquema Lógico que son presentados a los usuarios en diferentes pantallas de la aplicación informática. Cada Sub-Esquema es definido en función de las necesidades de información de cada usuario o grupo de usuarios, esto traduce a que existirán tantos Sub-Esquemas o Vistas como pantallas de información necesite cada usuario. En ningún sistema bien diseñado se le presentará a un usuario una pantalla con toda la información del Esquema Lógico, es algo que no tiene sentido y que es hasta imposible de lograr, por eso es que dado a sus necesidades e intereses es que se diseñan las Vistas, para que cada usuario solo tenga acceso y competencia sobre la información que en realidad le corresponde.

Page 11: TEORIA DE BASES DE DATOS - s5b9fbc142f81741f.jimcontent.com

08/04/2011 11

COORDINACION DE BASES DE DATOS

Es aquí en donde entra el trabajo de los desarrolladores para complacer los requerimientos de información de cada grupo de usuarios, por ejemplo, que le interesa conocer al Gerente General de una organización acerca de su sistema administrativo?, la lógica dice que deberían ser los balances generales, los estados de ganancias y perdidas, los movimientos bancarios y algún que otro índice de gestión, pero lo más seguro es que nunca va a consultar los movimientos contables en detalle de la contabilidad general, para eso existen otros grupos de usuarios que se encargan de trabajar y analizar esa información. El nivel externo tiene que ver con la interacción existente entre el lenguaje anfitrión (JAVA, PHP, GAMBAS BASIC, etc) y el DBMS (MYSQL, POSTGRESQL, etc). Es en este nivel en donde los programadores se encargan de hacer el MMI (Interfaz Hombre Maquina) que se encargará de presentar las diferentes pantallas a los distintos usuarios del sistema, las cuales por cierto se derivan de un estudio profundo de Requerimientos y Necesidades de información por parte de los usuarios finales.