Please enable JavaScript.
Coggle requires JavaScript to display documents.
Bases de Datos. Tema 3. Evolución del Amacenamiento de la información: los…
Bases de Datos. Tema 3. Evolución del Amacenamiento de la información: los SGBD
3.1 Sistemas de Ficheros: el origen de las bases de datos
El modelo lógico de el almacenamiento de aplicaciones informáticas eran Ficheros o Archivos. El modelo lógico proporcionaba el acceso al espacio físico del dispositivo de almacenamiento (cinta magnetica, disco flexible...)
Se almacenaban datos de cualquier tipo. El S.O. proporcionaba la interfaz de aplicación. Cada aplicación guardaba los datos con un formato propio, por lo que sólo funcionaban en esa aplicación concreta.
No era un sistema eficiente ya que había redundancia de datos al tener varias aplicaciones con los mismos datos guardados. No era útil a medio-largo plazo.
La información estaba aislada, es decir: si cambiaba en una aplicación, no cambiaba en las demás y no había forma de transferirla, por lo que había que cambiarlos manualmente en cada una. (Poca flexibilidad y dependencia de los datos)
La evolución lógica fué
estandarizar el acceso a los datos
mediante un diseño lógico que diera soporte a todas las aplicaciones de organización de datos.
Este nuevo enfoque se centra en los datos y no en el proceso.
Fué el nacimiento del concepto de Base de datos.
3.2 Definición y elementos de las Bases de datos
Elementos
Los Datos:
Representan el rastro que va registrando la actividad de la empresa en el sistema. Se deben organizar mediante un esquema lógico adecuado a la información que precisa cada componente de la empresa evitando la redundancia. Los datos deben estar protegidos de tal forma que sólo accedan los empleados autorizados.
El Software:
Está constituido por los programas que permiten a los usuarios acceder a la información en la base de datos. Consta de dos categorías:
Software Gestor de Base de Datos (SGBD):
está constituido por una serie de programas que permiten crear, alterar y eliminar bases de datos y proporciona al usuario mecanismos para gestionar y acceder a su información
Programas de aplicación:
articulan sobre la base de datos las necesidades de información de los usuarios de la empresa en base a los requisitos que estos expresan.
El Hardware:
Evidentemente un software gestor de base de datos, y la base de datos en si necesitan de un hardware en el que ejecutarse y almacenarse. Lo normal es la arquitectura cliente/servidor, en la que un SGBD se ejecuta en un servidor y las aplicaciones de los usuarios que se ejecutan en sus dispositivos acceden a la base de datos. Incluso existen ordenadores diseñados exclusivamente para optimizar la ejecución de bases de datos.
Los Usuarios:
El objetivo de las bases de datos es satisfacer las necesidades de información planteadas por los usuarios. En función del uso que hagan podemos distinguir tres categorías:
Terminal (usuario final):
Usuario que usa la base de datos para acometer sus actividades de forma directa a través de programas de aplicación. Por ejemplo, programas de gestión docente universitaria, o historia médica. Los usuarios finales no tienen por que tener conocimiento de como está organizada ni planteada la base de datos.
Programador de aplicaciones:
Desarrollador que se encarga de desarrollar programas sobre la base de datos que proporcione soporte a las funciones desempeñadas por los usuarios finales. Necesita recopilar requisitos de la aplicación para diseñarla a medida del usuario. Interactua con la base de datos a través del esquema lógico.
DBA (Data Base Administrator):
Es el encargado de gestionar todo los componentes del sistema gestor de base de datos para que la base de datos represente adecuadamente todos los elementos que necesita el usuario, ademas debe garantizar la operatividad y seguridad de los datos.
Definiciones
Definición 1.2 Base de datos:
Fondo común de información almacenada en dispositivo informático para que cualquier persona o programa autorizado pueda acceder a ella, independientemente de su procedencia y del uso que se haga.
Definición 1.3 Base de datos:
una base de datos está constituida por una instancia de un esquema lógico junto con las instancias de los datos operativos que dicho esquema organiza.
Definición 1.4 Sistema de Gestión de Bases de datos:
conjunto de elementos software con capacidad para definir, mantener y utilizar una base de datos.
3.3 Los Sistemas Gestores de Bases de Datos
Definición Sistema de Gestión de Bases de datos:
conjunto de elementos software con capacidad para definir, mantener y utilizar una base de datos.
INDEPENDENCIA DE DATOS:
Los datos deben organizarse independientemente de las aplicaciones que los vayan a usar y de los ficheros en los que vayan a almacenarse dichos datos.
Definición 1.5. Independencia Física:
El almacenamiento físico de los datos debe ser independiente del diseño lógico de la Base de datos a todos los niveles.
Definición 1.6. Independencia Lógica:
La percepción que cada programa tiene de la estructura lógica de la Base de datos (vista del usuario) debe permanecer inmutable frente a alteraciones a nivel lógico en dicha estructura.
Dicho de otra manera, el usuario no tiene que ser consciente de ningún cambio realizado a nivel lógico en la base de datos.
OBJETIVOS:
Diseño y utilización orientada al usuario:
los datos y aplicaciones deben ser accesibles a los usuarios de la manera mas amigable posible.
Centralización:
los datos deben gestionarse de forma centralizada e independiente de las aplicaciones. (Da igual la aplicación que uses, que debe poder acceder a los datos)
Evitar redundancia y gestionar concurrencia:
se debe evitar la redundancia de datos, ya que varias aplicaciones pueden acceder a una misma base de datos común no hace falta tener los mismos datos en varios sitios.
Mantenerla integridad semántica de los datos:
la información que almacena una base de datos debe corresponderse en todo momento con la realidad que representa.
Esto no siempre es posible debido a tres principales posibles fallos:
Alteración deliberada de la información por alguien no autorizado (fallo de seguridad)
Fallo del sistema (control y recuperación de fallos)
Error humano.
Mantener la seguridad:
se deben usar mecanismo que evite que puedan entrar usuarios no autorizados a la información. Se usarán mecanismos de identificación.
Fiabilidad del sistema:
realizar copias de seguridad periódicas (RAID) y redundancia de datos para evitar la pérdida y corrupción de la información.
Arquitectura ANSI/SPARC
La arquitectura ANSI/SPARC propone un modelo de SGBD articulado en tres niveles:
Nivel Interno:
Constituye la representación de la Base de datos mas cercana a la estructura de almacenamiento físico. Es la capa donde se establece la forma en la que se implantan las estructuras de datos que organizan los niveles superiores.
Nivel Conceptual:
Supone una abstracción global de la base de datos que integra y aglutina todas las percepciones que los usuarios tienen de ella.
Nivel Externo:
En este nivel se define todo lo que el usuario percibe como base de datos. Cada usuario puede tener su propia visión sobre ella.
Lenguajes SGBD
La arquitectura ANSI/SPARC recomienda que los sistemas gestores de bases de datos deben disponer de un lenguaje específico orientado a los datos que aporte mecanismos necesarios para gestionar las tareas de definición, control y manipulación de datos.
Se denomina DSL (Data SubLanguaje) y debe estar implementado en el propio SGBD. El mas extendido es SQL.
DDL:
(Data Definition Languaje) o sublenguaje de definición de datos.Subconjunto de DSL (leer definición anterior) destinado a la definición de estructuras de datos y esquemas en la Base de datos.
DML:
(Data Manipulation Languaje) o sublenguaje de manipulación de datos. Subconjunto de DSL mediante el que podemos introducir datos en los esquemas, modificaros, eliminarlos y consultarlos. También debe permitir consultar la estructura de los esquemas definidos en la base de datos.
DCL:
(Data Contro Languaje) o sublenguaje de control de datos. Permite gestionar los requisitos de acceso a los datos y otras tareas administrativas sobre la base de datos.
Administrador de la Base de Datos
Elaboración de un esquema conceptual (DER):
consta de varias etapas:
Analisis de las necesidades de información de la empresa o usuario.
Identificación de los datos operativos.
Elaboracióon del esquema lógico e implantación del esquema conceptual mediante el DDL.
Estructura de almacenamiento en el nivel interno:
El DBA debe decidir cómo va a ser representado el esquema conceptual en la base de datos almacenada. Mediante el DDL interno deberá definir esta estructura de almacenamiento, es decir, el esquema interno y la transformación conceptual/interna asociada.
Conexión con usuarios:
Pag. 33
Definir restricciones de integridad:
Las restricciones pueden tener un carácter general independiente de la semántica de la base de datos y otro específico basado en la semántica de la organización que se esté modelando. Es deseable que estas restricciones estén recogidas en el nivel conceptual.
Definir e implantar la política de seguridad:
Se trata de definir a que datos tienen acceso los usuarios según su área o privilegios. Sobre los que tienen acceso es necesario determinar a que porciones de la base de datos pueden acceder y con que nivel de acceso (creación, modificación, eliminación o consulta de datos) Es responsabilidad del DBA.
Definir e implantar la estrategia de recuperación frente a fallos:
Se deben adoptar las precauciones necesarias para que un fallo no provoque una pérdida de datos. Existen combinaciones hardware, software y SGBD redundantes (configuraciones en cluster) que permiten que la carga de un servidor que ha fallado pase a otro automáticamente.
Optimización del rendimiento:
El DBA en la medida de lo posible debe ocuparse de que el SGBD funcione de la manera mas eficiente posible. Para ello debe liberar recursos no utilizados para que las operaciones se ejecuten lo mas rápidamente posible.
Monitorizar el SGBD:
El DBA debe realizar un seguimiento continuo de la actividad del sistema. Esto implica controlar el acceso por parte de los usuarios a los diversos recursos de la base de datos, comprobar los niveles de uso de los sistemas de almacenamiento, evaluar la eficiencia con la que se realizan las operaciones, etc.
Componentes de un SGBD
Está constituido por un paquete de software cuyo cometido es la gestión del acceso a la Base de datos. De forma simplificada, el SGBD atiende las peticiones de los usuarios en los siguientes términos:
El usuario final (o programa de aplicación) solicita una operación sobre la Base de datos. La operación puede involucrar la definición de una estructura en el nivel externo o conceptual sobre la base de datos o la modificación o la consulta de los contenidos de la base de datos.
Cada una de estas peticiones será expresado mediante el sublenguaje correspondiente proporcionado por el SGBD (SQL)
El SGBD analizará la recolección de la operación en términos de la sintaxis del lenguaje proporcionado e interpretará su significado basándose en la definició de los esquemas y en las transformaciones entre niveles que tenga almacenados.
Una vez indentificados todos los objetos que intervienen en la petición y desglosadas las operaciones a realizar sobre cada uno de ellos, determina la forma mas adecuada para acometer las modificaciones o recuperaciones pertinentes desde el nivel mas externo hasta el nivel interno.
Como resultado obtenemos dependiendo del tipo de operación solicitada, una modificación en la estructura en el nivel externo o conceptual, una variación del contenido de la base de datos.
Definición de datos:
El SGBD debe disponer de un intérprete o compilador para cada uno de los DDL disponibles para los diferentes niveles, capaz de procesar las definiciones de datos expresadas en el nivel externo, conceptual e interno, así como las transformaciones entre niveles.
Manipulación de datos:
Debe disponer de un módulo que traduzca las operaciones sobre los datos expresadas mediante los DMLs correspondientes.
Versiones interpretadas y compiladas de los procesadores DDL/DML:
Como resultado del procesamiento de las peticiones DDL y DML,, un conjunto de llamadas a rutinas de bajo nivel.
Optimización en la ejecución de sentencias de datos:
Seguridad:
El SGBD permite registrar e identificar usuarios (mediante usuario/clave), permite asignar permisos de acceso al sistema a los usuarios.
El usuario con mayor nivel de permisos es el DBA.
El SGBD permite definir que objetos de la base de datos son accesibles para un usuario y con qué privilegios (creación, eliminación, modificación, consulta)
Integridad:
El SGBD define las reglas de integridad en el nivel conceptual y externo.
Las reglas de integridad más complejas se suelen definir mediante módulos de programa denominados disparadores, que se vinculan a los archivos conceptuales o externos y que se activan cuando se producen operaciones de eliminación, modificación o insercción de datos sobre esos archivos.
Gestión de la concurrencia y de la consitencia:
El SGBD debe permitir el acceso de multiples usuarios y evitar las modificaciones de los datos entre usuarios. -Un usuario no debe poder ver la información de otro usuario.
Diccionario de datos:
(Página 39)
Herramientas de apoyo a la administración:
El DBA debe monitorizar el rendimiento del sistema gestor de base de datos y controlar el acceso de los usuarios para prevenir sobrecargas y optimizar recursos.