TEMA 1: INTRODUCCIÓN A LAS BASES DE DATOS 1. Sistemas orientados a ficheros: DESVENTAJAS • Desperdicio de espacio de almacenamiento al existir duplicado de datos (debido a la redundancia de datos). • Inconsistencia de los datos (datos iguales hacen referencia a distintas cosas). • Tratamiento ineficaz de los datos (no se puede modificar, actualizar todos los datos al mismo tiempo) • Dificultad del tratamiento de los ficheros en su conjunto debido a la incompatibilidad de los lenguajes de programación. • Solo se pueden realizar las consultas que se han tenido en cuanta a la hora de escribir los programas de aplicación, las consultas son limitadas por el nº de programas de aplicación creados (nº consultas = nº programas aplicación). • Descentralización de los datos (por no estar todos integrados en la misma colección). • Las actualizaciones y modificaciones de los ficheros no son compartidas por toda la organización lo cual lleva a grandes confusiones. Se produce una inconsistencia cuando copias de datos de registros lógicos no coinciden. Debido a estas desventajas y algunas otras. A los sistemas de ficheros se accede mediante unos sistemas de programación escritos especialmente para ellos. Como los lenguajes de programación pueden ser distintos e incompatibles hacen que los ficheros sean difíciles de procesar de manera conjunta. 2. Sistemas orientados a datos: ¿Qué es una base de datos? Es una colección de datos interrelacionados entre sí, sobre un soporte informático no volátil y que sirven todos a la misma organización, es decir que los datos se encuentran integrados en una única colección de datos pero con un mínimo de redundancias. ¿Qué son los datos? Los datos procesados dan lugar a la información / la información son los datos procesados. VENTAJAS (debido a la integración de los datos) • Control de redundancias de datos. • Consistencia de datos (eliminando la redundancia de los datos se consigue que las actualizaciones se realicen una sola vez y estén disponibles para todos los usuarios al mismo tiempo) 1 • Obtención de más información sobre la misma cantidad de datos al estar todos integrados en la misma colección. • Compartición de los datos porque la base de datos pertenece a la empresa y puede ser compartida por todos los usuarios que estén autorizados. • Mantenimiento de estándares (los estándares pueden establecerse sobre el formato de datos, procedimientos de actualización, reglas de acceso a los datosFacilitan el intercambio de datos y de la documentación de la base de datos). 3. ¿Qué es un sistema gestor de base de datos? Es una aplicación que permite a los usuarios crear, definir y mantener las bases de datos. A través de un lenguaje de definición de datos podré definir la estructura de la base de datos, los tipos de datos y las restricciones sobre los datos. A través de un lenguaje de manipulación de datos podré insertar, actualizar, consultar, eliminar datos y otras muchas operaciones que nos permite realizar este software. Todo esto se realiza mediante un lenguaje NO procedural, con este lenguaje el usuario sólo especifica que datos quieren obtenerse sin especificar como obtenerlos. Nosotros emplearemos el lenguaje SQL (Structure Query Language/Lenguaje de consultas estructurado) que es un lenguaje no procedural estandarizado que utilizan los sistemas gestores de bases de datos relacionales. Objetivos de un sistema gestor de datos: • Integridad de los datos: se refiere a una serie de medidas y reglas necesarias para mantener la validez de los datos. El sistema gestor de la base de datos se encarga de mantener estas restricciones. • Seguridad: la seguridad de la base de datos es la protección de ésta frente a usuarios no autorizados. Las autorizaciones pueden ser de varios tipos (modificar la base, consultarla) Estas autorizaciones se administran mediante contraseñas. • Tiempo de respuesta: se asegura un tiempo de respuesta pequeño en el tratamiento de los datos. • Control de la concurrencia de datos: si dos o más usuarios quieren acceder a un mismo dato de forma concurrente el primero que acceda a dicho dato bloqueará el acceso a éste al resto de los usuarios para asegurar que si actualiza ese dato el resto de usuarios podrá acceder al dato ya actualizado. • Respaldo y recuperación de los datos: un sistema gestor de bases de datos proporciona las herramientas necesarias para la conservación de copias de seguridad de cada fichero como prevención ante posibles caídas del sistema. Al proceso de copia de los datos se le llama "back−up". Al proceso contrario, obtener los datos de las copias se le llama "recuperación". • Redundancias mínimas: permiten la NO repetición de datos. • Consistencia de los datos: si existen dos datos repetidos en distintos ficheros el sistema gestor de la base de datos garantiza la actualización de los datos en ambos ficheros. • Abstracción de la información: el sistema gestor de la base de datos proporciona una visión abstracta de cómo se almacenan la información en la base de datos. • Independencia de los datos: los datos son independientes de los programas de aplicación. DESVENTAJAS de los sistemas gestores de bases de datos: • Coste 2 • Tamaño que ocupa en el disco • Complejidad 4. Modelos de datos: Es un instrumento para ofrecer abstracción de la información a los usuarios de las bases de datos. La abstracción de la información le hace transparente al usuario las forma en que están organizados los datos y como se almacenan éstos. Formalmente definimos el modelo de datos como un conjunto de reglas y de conceptos que sirven para describir los datos, las relaciones entre los datos y las restricciones que deben cumplirse sobre los datos. Contienen también un conjunto de operaciones para la realización de consultas y actualización de los datos. Generalmente los modelos de datos se clasifican en: Esta clasificación se lleva acabo dependiendo de los conceptos que se utilizan para describir la base de datos. • Modelos conceptuales: se utilizan para su representación entidades, atributos e interrelaciones. Son independientes del SGBD, además son los modelos más cercanos al usuario. Nunca se carga en el ordenador. • Modelos lógicos: representan los datos valiéndose de estructuras de registros, por lo que también se suelen llamar "modelos orientados a los registros". Son los modelos implementados por el SGBD. Los conceptos de los modelos lógicos como por ejemplo relaciones, registros, campos, etc. son conceptos que el usuario final puede entender y maneja habitualmente. Pero los modelos lógicos ocultan detalles de cómo se almacenan los datos. • Modelos físicos: proporcionan conceptos que describen los detalles de como se almacenan los datos en el ordenador. Conceptos: • Esquema de una base de datos: es la representación de una base de datos mediante un modelo de datos. Sea cual sea el modelo de datos utilizado. • Estado de una base de datos: son los datos que una base de datos contiene en un determinado momento. Por ejemplo si una base de datos no contiene ningún dato dicha base de datos estará en un estado vació. El estado de una base de datos cambia constantemente. Clasificación de los SGBD: Generalmente los SGBD se clasifican atendiendo al modelo lógico en el que se basan • Atendiendo a los modelos lógicos: existen 3 tipos de modelo lógicos empleados con mayor frecuencia en los SGBD comerciales. ♦ Modelo jerárquico: fue el primer modelo de datos que apareció hacia los años 50. Se basa en almacenar los datos en una serie de registros en forma de árbol. Para crear enlace entre los distintos registros se utilizan relaciones padre/hijo, no se permiten relaciones entre hijos porque se estructura en forma de árbol (n − m, reflexivas... Solo se permiten relaciones 1 − n). Cada registro proporciona los datos relacionados con él mismo. Este modelo proporcionaba un alto rendimiento frente a las inserciones, modificaciones y borrado de registros. ♦ Modelo en red: se llama así porque representa los datos en forma una red de registros. Ya permite relaciones entre hijos. Tiene algunas desventajas; no posee lenguaje de consultas de 3 alto nivel (había que indicarle al SGBD como obtener los datos), no proporciona independencia físico/lógica, tampoco abstracción de la información y es un modelo de compleja manipulación al tener que conocer las direcciones físicas de los datos. ♦ Modelo relacional: es un modelo que se basa en el concepto de relación que se representa gráficamente con una tabla. La base de datos es percibida por el usuario mediante un conjunto de tablas cargadas con datos y las relaciones entre los datos se manifiestan en forma de asociación. Las relaciones tienen un nombre único y un conjunto de columnas. ◊ Atendiendo al nº de usuarios: existen 2 tipos. ⋅ SGBS monousuarios: atienden a un solo usuario se instala normalmente en los pcs. ⋅ SGBD multiusuario: atienden a varios usuarios simultáneamente. • Atendiendo a la distribución de la base de datos: hay varios tipos de arquitecturas. ⋅ Cliente/servidor: Se trata de un sistema centralizado. Los SGBD centralizados pueden atender a varios usuarios pero el SGBD y la base de datos se almacenan por completo en una sola máquina servidor. En el lado servidor, el motor de la base de datos es el responsable de la admón. de los recursos, de la admón. de la seguridad, de la admón. de los datos, de las consultas y sobre todo de la integridad de los datos. Este SGBD está diseñado para aceptar consultas en SQL desde una aplicación frontal generalmente en forma de llamadas que devuelven un conjunto de resultados al cliente. En el lado cliente se instalarán unas aplicaciones para acceder a los recursos de la base de datos. Para comunicar la base de datos con el SGBD lo haremos mediante el lenguaje SQL. Los clientes realizan generalmente funciones como; captura y validación de los datos de entrada, generación de consultas e informes, gestión de periféricos. El cliente no conoce la lógica del servidor solamente conoce una interfaz para su acceso al servidor. El cliente no depende de la ubicación física del servidor ni del S.O servidor. Los cambios en el servidor implican pocos o ningún cambio en el cliente. Tema 1 Introducción a las bases de datos BASES −4− 4