06 Sep
Objetivos de la Unidad 1
- Definir el concepto de Base de Datos.
- Reconocer la importancia de las Bases de Datos.
- Objetivos a conseguir con la organización de las Bases de Datos.
- Distinguir los niveles de arquitectura de una Base de Datos.
- Definir el concepto de Sistema Gestor de Bases de Datos (SGBD).
- Identificar los componentes de un SGBD.
- Diferenciar los modelos de Bases de Datos.
- Entender la arquitectura Cliente – Servidor (C/S).
Índice
- Introducción.
- Bases de Datos.
- Arquitectura de Bases de Datos.
- Sistemas Gestores de Bases de Datos.
- Modelos de Bases de Datos.
- Arquitectura C/S.
Introducción
Las aplicaciones deberán contar con medios hardware y software que permitan acceder a los datos de manera rápida, sencilla y fiable.
Tradicionalmente los datos se almacenaban en ficheros:
- Los ficheros son sistemas orientados a los procesos, ya que en ellos los datos están subordinados a los procesos.
- No guardaban relación entre sí.
- Cada aplicación dispone de sus propios ficheros donde están los datos almacenados.
- La descripción de estos datos y sus interrelaciones aparecen en los programas que hacen uso de ellos.
- Podrían estar organizados de forma diferente (directos, secuenciales…).
- Podrían estar repetidos o ser inconsistentes.
- La modificación de datos acarreaba la modificación de los programas.
Para solventar esta dependencia entre los ficheros que almacenan los datos y las aplicaciones que las utilizan, surgen a finales de los 60, las Bases de Datos (BD).
Ej: Aplicación que gestiona los datos de los alumnos de un instituto.
NomAlum | Dir | Telf |
Problema: Si se necesitaba posteriormente almacenar la edad del alumno, habría que cambiar la estructura del fichero y como consecuencia los programas que lo utilizan. Con lo cual no era útil.
Enfoque mediante BD -> Tablas, en las que cada columna es un dato.
NomAlum | Dir | Telf (Atributos o campo) |
NomAlum | Dir | Telf (Atributos o campo) |
Añadir la edad implica únicamente añadir una columna más en la tabla, modificación que no afectará a las aplicaciones que utilicen los datos de dicha tabla.
NomAlum | Dir | Telf | Edad |
Definición
Una BD es un conjunto de datos interrelacionados y almacenados sin redundancias perjudiciales e innecesarias, que se caracterizan por:
- Servir a una o varias aplicaciones y/o usuarios.
- Existir independencia (física y lógica) entre los datos y los programas que los manejan. Es decir, existe una visión conceptual de los datos que no tiene por qué coincidir con la visión física de estos.
- La BD deberá permitir:
- Consultar los datos almacenados.
- Añadir datos.
- Modificar los ya existentes.
- Eliminar los que no sirven.
Bases de Datos
Tipos de Datos
A diferencia de los ficheros, las BD son sistemas orientados a los datos, estos se almacenan independientemente de las aplicaciones.
En una BD se almacenan la descripción de los datos y sus interrelaciones de acuerdo a un determinado modelo de datos que permita recoger el máximo significado asociado a los mismos.
En cuanto a los datos se distinguen:
- De Usuario -> Aquellos que utilizan las aplicaciones de los usuarios:
- Siguiendo con el ejemplo de instituto:
NomAlum Dir Telf Edad
- De Sistema -> Datos necesarios para la gestión de la propia base de datos:
- Nombre de usuario.
- Contraseñas.
- Privilegios.
Objetivos de la organización de una BD
Independientemente de la organización de las BD, ésta debe cumplir los objetivos:
- Versatilidad para representar la información.
- Los datos pueden utilizarse de múltiples maneras, es decir, los usuarios accederán a unos datos u otros dependiendo de la información que necesiten.
- Un usuario puede acceder solo a los nombres y otros, al nombre y teléfono.
- Los datos pueden utilizarse de múltiples maneras, es decir, los usuarios accederán a unos datos u otros dependiendo de la información que necesiten.
- Capacidad de acceso y desempeño.
- El alto número de consultas realizadas a la BD, por los usuarios, implica que el diseño de la misma, capacidad de acceso, garantiza buenos tiempos de respuesta. Éstos tiempos pueden variar desde varios minutos a unos pocos segundos.
- Ej: La reserva de un avión.
- El alto número de consultas realizadas a la BD, por los usuarios, implica que el diseño de la misma, capacidad de acceso, garantiza buenos tiempos de respuesta. Éstos tiempos pueden variar desde varios minutos a unos pocos segundos.
- Redundancia mínima.
- Redundancia (repetición de datos) mínima con el fin de eliminar inconsistencias (valores diferentes).
- Consiste en que no haya datos repetidos en la BD porque implicaría un mayor coste de almacenamiento, de procesamiento y posibles incongruencias.
- No puede implicar el aumento de la complejidad ni reducción en el rendimiento de la BD.
- Integridad.
- Cumplimiento de restricciones en los datos almacenados y control de fallos del sistema para evitar destrucción de datos.
- Garantía de que todos los datos almacenados son válidos. Recuperación de BD.
- Para ello cualquier inserción, borrado o modificación que se realice, deberá ceñirse a los procedimientos y controles definidos.
- Ante cualquier fallo, siempre se ha de poder recuperar la BD a un estado consistente.
- Seguridad y privacidad.
- Procedimientos para proteger los datos ante fallos del sistema evitando su pérdida o facilitando su recuperación (tanto software como hardware).
- Afinación (tunning -> Compromiso entre volumen, organización física y tiempo de acceso a los datos).
- Cuando hay un volumen de datos almacenados elevado es posible que sea necesario reorganizarlos físicamente para garantizar o mejorar los tiempos de respuesta, sin que afecte a las aplicaciones que los utilizan.
- Interfaz con el pasado y el futuro.
- Es necesario actualizar el software para el procesamiento de los datos. Deberá ser flexible para poder trabajar con los nuevos datos y los antiguos.
- Las modificaciones a nivel lógico (añadir campos a las tablas) o físico (cambiar la ubicación de la BD a otro disco) no deben afectar a las aplicaciones que usen la BD.
Arquitectura de las BD
Los usuarios de las BD deben tener una visión abstracta. No necesitan saber cómo se organizan y almacenan los datos.
Sólo los diseñadores de la BD y el DBA conocen los detalles de organización y almacenamiento y según la visión que se tenga de la BD, se diferencian tres niveles de abstracción y éstos se describen mediante esquemas.
- Nivel interno -> Un único esquema interno.
- Nivel conceptual -> Un único esquema conceptual.
- Nivel externo -> Tantos (sub) esquemas como necesite el usuario.
Nivel interno
- En éste nivel sólo trabaja el DBA.
- Es el más bajo y se relaciona con el Sistema Operativo.
- Se describe cómo se almacenan los datos.
- Tamaño de los bloques.
- Posición relativa de los registros almacenados.
- Métodos de direccionamiento. Qué algoritmo matemático uso.
- Desbordamientos (Overflow: Espacio insuficiente).
- Índices.
- Cambios en el almacenamiento.
- Técnicas de compresión, etc.
- Este nivel se describe mediante el esquema interno.
- Definición del almacenamiento físico de los datos.
- Ejemplo:
TABLAS ATRIBUTOS
Fichero de índices para CONDUCTORES: clave CodC
Fichero de índices para PROYECTOS: clave CodP
Fichero de índices para MÁQUINAS: clave CodM
11-10-11
Nivel conceptual
- Es el nivel en el cual trabaja el DBA.
- Es el siguiente nivel de abstracción.
- Se describen los datos a almacenar en la BD.
- Nombre de los datos.
- Características.
- Relaciones con los otros datos.
- El objetivo es aislar por un lado, la representación de los datos de las particularidades de la máquina (nivel interno), y por otro las exigencias de los usuarios (nivel externo).
- Este nivel se describe mediante el esquema conceptual.
- Definición de las tablas, columnas y restricciones que forman la BD.
- Ejemplo:
Tablas Atributos
PROYECTOS: CodP, Descripción, LocalidadP, Cliente, Teléfono.
CONDUCTORES: CodC, NombreC, LocalidadC, Categoría.
MÁQUINA: CodM, NombreM, PrecioHora.
*Faltan las relaciones.
Nivel externo
- Sólo trabajan los usuarios de la BD.
- Es el nivel de abstracción más alto.
- En él se describe solamente una parte de la BD, la que necesitan los usuarios.
- Dado que la mayoría de los usuarios sólo necesitan una parte de la información almacenada se define para cada usuario lo que necesite una vista externa (o esquema) de la BD.
- Usuarios 1 y 2: Sólo quieren una visión de los Nombres de los conductores.
Usuario 3: Visión de los proyectos de Arganda.
ANSI/X3/SPARC
- Existen en el mercado varios paquetes de SGBD con diferentes arquitecturas.
- La más extendida y considerada estándar hoy en día, es la que cumple los requisitos de la normativa ANSI/X3/SPARC (Standard Planning and Requeriments Committee of the American National Standards Institute of Computers and Information Processing) surgida en 1977; En su división X3 establece que la arquitectura de una BD debe poseer tres niveles de abstracción.
- Es el modelo de referencia, representa un marco común, para la normalización de los SGBD.
- 3 niveles -> 3 funciones de administración:
- Administrador de la empresa -> Diseñar el esquema conceptual.
- Administración de la BD -> Esquema interno.
- Administración de las aplicaciones -> Esquemas externos.
SGBD
Definición
- Para que las BD sean verdaderamente útiles, necesitan un software adicional que sea capaz de facilitar cualquier gestión sobre los datos que almacena.
- SGBD -> Conjunto de programas que permiten administrar y gestionar la información de una BD.
- Realizan tareas como:
- Definición de los datos en los diferentes niveles.
- Manipulación de los datos: Inserción, actualización, borrado y consulta.
- Mantenimiento de la integridad de los datos.
- Control de la privacidad y seguridad de los datos, permitiendo el acceso sólo a los usuarios autorizados.
- Implementar un modelo de datos.
13-10-11
Componentes
- El gestor de la BD.
- El gestor proporciona una interfaz entre los datos almacenados, los programas que manejan dichos datos y los usuarios.
- Cualquier operación que se realice en la BD es procesada por el gestor.
- El Diccionario de la BD (que es una BD más).
- El diccionario de datos, es donde realmente se almacena toda la descripción de los datos, información referente a la estructura de los datos, relaciones entre ellos, gestión e implantación de la BD.
- El diccionario debe contener toda la información que cualquier usuario pueda desear saber acerca de la BD:
- Las descripciones externa, conceptual e interna de la BD.
- Las transformaciones entre los niveles.
- Las restricciones sobre los datos.
- El acceso a los datos.
- Las descripciones de las cuentas de usuario.
- Las autorizaciones de cada usuario.
- Los esquemas externos de cada programa, sus usuarios y autorizaciones.
- El administrador de la BD.
- Se encarga de almacenar en el diccionario de datos la descripción de la BD, los usuarios y autorizaciones pertinentes.
- Los lenguajes.
- Los SGBD.
- Son un conjunto de programas, transparentes al usuario, encargados de garantizar la privacidad, seguridad, integridad y el acceso concurrente a los datos almacenados, así como interaccionar con el Sistema Operativo.
El Administrador (DBA)
Es la persona o el equipo de personas responsable de la seguridad y el control de los datos. Sus tareas son:
- La definición de los subesquemas o vistas de usuario.
- Concesión de acceso mediante privilegios a los usuarios.
- El mantenimiento de la seguridad tiene procedimientos.
- El mantenimiento del esquema físico de las estructuras de almacenamiento de datos y de métodos de acceso.
- Definición de esquema lógico (diseño) de la BD mediante sentencias del DDL.
Los Lenguajes
- Permiten la definición y manipulación de los datos de BD:
- Lenguaje de Definición de Datos (DDL).
- Para definir el esquema conceptual y los esquemas externos de la BD.
- El encargado de realizar esta tarea es el DBA.
- Sentencias: CREATE, DROP, ALTER, COMMENT, LABEL.
- Lenguaje de Manipulación de Datos (DML).
- Permite insertar y modificar los datos ya existentes, así como eliminar o recuperar datos almacenados en la BD.
- Sentencias: INSERT, UPDATE, DELETE, SELECT.
- Lenguaje de Control de Datos (DCL).
- Para controlar el acceso a la información de la BD definiendo privilegios y tipos de acceso, así como para el control de la seguridad de los datos.
- Tarea exclusiva del administrador de la BD.
- Sentencias: GRANT Y REVOQUE.
- Lenguaje de Definición de Datos (DDL).
- Lenguajes de gramática sencilla, fácil de entender por usuarios no expertos.
- Dependiendo de los SGBD, se utilizarán unos lenguajes u otros.
- No hay ningún lenguaje estándar, aunque el más extendido es SQL.
- Los SGBD son capaces de procesar peticiones del lenguaje de DML formuladas desde programas escritos en otros lenguajes.
14-10-11
Modelos de BD
Definiciones
- Modelar consiste en definir un mundo abstracto y teórico tal que, las conclusiones que se puedan sacar de él, coinciden con las manifestaciones del mundo real.
- Modelo es el instrumento que se aplica, a una parcela del mundo real (universo del discurso), para obtener una representación abstracta de éste.
- El modelo estará formado por un conjunto de conceptos, reglas y convenciones que permitan describir los datos del universo del discurso.
- Tipos de SGBD según el modelo utilizado:
- Modelo jerárquico:
- Fue el primer modelo utilizado.
- Modelo en red:
- Amplía el tipo de relaciones que se pueden representar.
- Modelo relacional:
- Más simple y completo, es el más utilizado actualmente.
- Modelo de BD orientados a objetos.
- Gana cada vez más adeptos.
- Modelo jerárquico:
Modelo jerárquico
Características
- Para la representación lógica de los datos utilizan un diagrama de estructura de árbol con posibles distintos tipos de registros.
- Un árbol es una estructura jerárquica de elementos llamados nodos.
- El nivel más alto en la jerarquía es el nodo raíz.
- Cada nodo representa un tipo de registro llamado segmento.
- Cuando se elimina un registro, se deben borrar todos sus registros hijos.
Restricciones SGBD jerárquico
- No se permite más de una relación entre dos segmentos.
- Se admiten relaciones de tipo 1:1, 1:N pero no N:M.
- No se permite que un segmento hijo tenga más de un padre.
- El árbol se recorre en un cierto orden a partir del segmento raíz.
El SGDB jerárquico más conocido: IMS y su lenguaje de consulta DL/I.
17-10-11
Modelo en Red (CODASYL)
Características
- Para la representación lógica de los datos utiliza estructuras de datos en red (estructuras plex).
- El modelo de red más extendido es el de CODASYL (DMS 1100, IDMS e IDS). Conceptos básicos del modelo CODASYL.
- Tipos de registro -> Representa un nodo. (PROVEEDOR, ARTÍCULO).
- Elemento -> Es un campo del nodo (DNI, NOMBRE).
- Conjunto -> Relaciona dos tipos de registros.
- Propietario.
- Miembro.
- Permite la vinculación de cualquier componente con otro.
- Permite que un hijo pueda tener varios padres.
- Permite relaciones 1:1, 1:M, N:M.
*Esquema y ocurrencia de un SGDB Codalsy mostrando una relación muchos-muchos.
Modelo relacional (Codd)
Características
- Fue desarrollado por Codd en IBM y está basado en la teoría matemática de álgebra relacional.
- El elemento principal del modelo relacional es la relación.
- Cada relación se representa mediante una tabla bidimensional.
- La representación lógica de los datos y de sus relaciones, se lleva a cabo mediante tablas bidimensionales.
- Elementos -> Entidad, relación, atributos, tipo de correspondencia, cardinalidad…
Ventajas
- Visión conceptual sencilla del conjunto de datos de la BD.
- No se necesita ser un experto para entenderlo.
- Los usuarios no necesitan saber dónde se ubican los ficheros de la BD.
- Fácil de ampliar sin modificar las aplicaciones.
Ejemplo de modelo ER (paso previo al modelo relacional).
Paso del modelo ER a tablas bidimensionales teniendo unas reglas de transformación.
- Departamento (NºDept, Nombre, Localidad).
- Empleado (NºEmple, Apellido, Salario, Comisión, NºDept, NºEmple(Jefe)).
- El tipo de correspondencia (1, N) propaga la clave principal a la otra tabla.
Modelo orientado a objetos
- Se basa en encapsular código y datos en una única entidad llamada objeto.
- Encapsular = privacidad.
- Un objeto tiene asociado:
- Un conjunto de variables que contienen los datos del objeto.
- Un conjunto de mensajes a los que el objeto responde.
- Un método (código) para implementar cada mensaje.
- El interfaz entre los objetos y el sistema se define mediante mensajes.
- Los objetos similares se agrupan formando clases con jerarquía.
- Los SGBD orientados a objetos permiten:
- Objetos complejos (objetos que contienen otros objetos).
- Datos de comportamiento, distintos () objetos responderán de manera a la misma orden.
- La eliminación de ciertas tuplas (= filas) puede implicar eliminar otras.
- Metaconocimiento, responde a reglas generales difíciles de implementar en sistemas tradicionales.
- Las cuentas con un saldo menor de 10.000€, tiene una comisión de 1€.
Tipos de SGBD según la distribución de sus componentes. Arquitectura C/S
- Con la aparición del PC, se empezaron a utilizar las redes de área local, se popularizó el uso de SGBDR y surgieron los sistemas de explotación C/S, donde se produce una división de trabajo entre ordenadores y personales.
- El mundo C/S abrió un nuevo panorama para los usuarios de BD.
- Los fabricantes de software comenzaron a desarrollar sistemas de desarrollo de aplicaciones orientados a BD, independientes de éstas.
- Surgen herramientas como PowerBuilder o Developer 2000 que permiten crear aplicaciones que usan intensivamente las BD, abstrayéndose del sistema final en que la aplicación va a ejecutarse.
- En un sistema C/S se distinguen dos partes:
- Un servidor, que suele ser un gran ordenador que actúa como depósito de los datos y permite llevar a cabo todas las funciones de un SGBD.
- Clientes, que son estaciones de trabajo o PC’s que solicitan servicios al servidor. Para poder comunicarse, estarán comunicados por red.
- La arquitectura C/S ha ido evolucionando con los avances hardware/software:
- La aparición de nuevas técnicas de almacenamiento.
- La mejora de las comunicaciones por red.
- La mejora de la tecnología de las BD.
- El software adecuado para una arquitectura C/S posee varios componentes, que se pueden asociar bien al S o al C.
- Software de gestión de datos -> Reside en el servidor y lleva a cabo la gestión de datos solicitados por las aplicaciones.
- Software de interacción con el usuario y presentación -> Suele residir en el cliente e implementa las funciones que se asocian a interfaces gráficos, GUI.
- Software de desarrollo -> Suele residir en el cliente y desarrolla aplicaciones.
- Software adicional -> Tanto en el C como en el S hay Sistema Operativo en red (SOR), Programas de comunicaciones, antivirus, programas ofimáticos…
18-10-2011
Configuraciones
- Anfitrión
-> S/C
- La máquina cliente y la servidora son la misma.
- Los usuarios se conectan directamente a la máquina donde se encuentra la BD.
- Es la más sencilla.
- Oracle instalado y accedemos a las BD que gestiona mediante el mismo ordenador a través de diferentes usuarios.
- C/S
-> Servidor, Red de comunicaciones, PC1 y PC-n.
- Reside en una máquina servidora y los usuarios acceden a la BD, desde su máquina cliente, a través de la red que los conecta.
- Requiere que las aplicaciones se instalen en cada puesto de trabajo, lo que ocasiona gastos de instalación y aumento de los costes de administración.
- Impone además grandes restricciones a la red, lo que imposibilita el uso de las aplicaciones en una red amplia (WAN) e Internet.
Para solventar estos inconvenientes surge la configuración basada en servidores de aplicaciones.
- Basada en servidores de aplicaciones
-> Servidor, Servidor, Servidor2, Red de comunicaciones, PC1 y PC-n.
- Permite el uso de aplicaciones en redes amplias de Internet.
- Las aplicaciones se ejecutan en máquinas clientes, que no requieren administración.
- Cualquier PC puede acceder a las aplicaciones mediante un navegador de Internet.
- Se estructura en tres niveles:
- Servidor de BD.
- Servidores de aplicaciones.
- Máquinas clientes.
- Basada en procesamiento distribuido
-> Servidor1, Servidor2, Red de comunicaciones, PC1 y PC-n.
- La BD está repartida en más de una máquina servidora.
- La ubicación física de los datos es transparente para los usuarios.
- Los usuarios pueden acceder simultáneamente, a datos que se encuentran en distintos servidores.
El objetivo básico de un SGBD distribuido es que el usuario lo perciba como si de una BD se tratase, es decir, el usuario no tiene porqué saber dónde se encuentran almacenados los datos físicamente.
- Ventajas
- La capacidad de compartir y acceder a la información de manera eficiente.
- Desventajas
- Mayor complejidad y coste del software, y mayor posibilidad de errores.
Deja un comentario