Base de Datos
P. UNIVERSIDAD CATÓLICA DE VALPARAÍSOFACULTAD DE INGENIERÍAESCUELA DE ING. INFORMÁTICA
Programa de Aplicación
Usuario A
Usuario B
Usuario N
Bodega
Insumo
Proveedor
•••
•••
Profesor:José Miguel Rubio L.
Base de Datos 2
Índice de Contenidos
Introducción a las Bases de Datos
El Recurso Dato
Dato v/s Información
Historia de las Bases de Datos
Componentes de un ambiente de Base de Datos
Beneficios & Riesgos del uso de Base de Datos
Sistema de archivos v/s Bases de Datos
Bases de Datos y Desarrollo de Sistemas de
Información
Base de Datos 3
Índice de Contenidos
Sistemas de Gestión de Base de Datos
Conceptos
Principales funciones
Ventajas de utilizar SGBD
Consideraciones del uso de un SGB
Base de Datos 4
Índice de Contenidos
Modelamiento de una Base de DatosModelo Conceptual: Entidad Relación
Asociaciones entre entidades, Cardinalidad de Asociaciones
Claves candidatas y claves primarias, Atributos multivaluados
Reglas del Negocio
Modelo Lógico: RelacionalModelo Lógico
Transformación de entidades y relaciones
Proceso de Normalización de Relaciones
Análisis de vistas
Base de Datos 5
Índice de Contenidos
Metodología para el desarrollo de una BD
Identificación y Formulación de Requerimientos
Diseño Conceptual
Diseño Lógico
Diseño Físico
Base de Datos 6
Definición de DBMS
Un Sistema de Gestión de Base de Datos (SGBD, o Database Management System o DBMS) es una colección de programas que permiten a los usuarios crear y mantener una base de datos.
El DBMS es por tanto un sistema (software) de propósito general que facilita los proceso de:
Definición,
Construcción y
Manipulación de bases de datos para distintas aplicaciones.
Base de Datos 7
Una Definición de DBMS
El SGBD es un conjunto coordinado de programas, procedimientos, lenguajes, etc. que suministra, tanto a usuarios no informáticos como a los analistas, programadores o al administrador, los medios necesarios para describir, recuperar y manipular los datos almacenados en la base, manteniendo su integridad, confidencialidad y seguridad.
Base de Datos 8
Objetivos del DBMS
Objetivo principal de un DBMS:
Proporcionar un entorno que sea a la vez conveniente y eficiente para ser utilizado al extraer y almacenar información en la base de datos.
El DBMS suministra la interfaz entre el conjunto de los datos y dichos usuarios.
El DBMS también debe proporcionar a los otros usuarios (analistas, programadores, administradores) las correspondientes herramientas que les permitan un adecuado desarrollo de sus funciones.
Base de Datos 9
Alcances del DBMS
Nivel Estratégico
Nivel Táctico
Nivel Operacional
SGBD
Base de Datos
Base de Datos 10
Funciones del DBMS
De Descripción o Definición: DDL
De Manipulación: DML
De Utilización
Base de Datos 11
Funciones del DBMS
De Descripción o Definición:
Debe permitir al administrador de la BD especificar los datos que la integran, su estructura y las relaciones que existen entre ellos, las reglas de integridad semántica, los controles a efectuar antes de autorizar el acceso a la base, etc., así como las características de tipo físico y las vistas lógicas de los usuarios.
Esta función la realiza el Lenguaje de Definición de Datos (DDL), propio del DBMS, y debe ser capaz de definir las estructuras de datos a los tres niveles (nivel externo, nivel lógico global o conceptual y nivel interno).
Base de Datos 12
Funciones del DBMS
De Descripción o Definición:
A nivel interno se define:
Espacio reservado para la base (volúmenes, cilindros y pistas).
Longitud de los campos.
Modo de representación de los datos (binario, decimal, alfanumérico, etc.).
Caminos de acceso como punteros e índice.
Base de Datos 13
Funciones del DBMS
De Descripción o Definición:
A nivel externo y conceptual:
La función de descripción proporciona los instrumentos para la definición de entidades, su identificación, atributos, interrelaciones entre ellas, autorizaciones de acceso, restricciones de integridad, etc.
Base de Datos 14
Funciones del DBMS
De Manipulación:
Permite a los usuarios de la base (todos) buscar, eliminar o modificar los datos de la base, de acuerdo a las especificaciones y normas de seguridad dadas por el administrador.
Esto se realiza mediante el Lenguaje de Manipulación de Datos (DML), mediante un conjunto de instrucciones (lenguaje huésped) que son admitidas por un lenguaje de programación (lenguaje anfitrión), o bien, mediante un lenguaje auto contenido, que posee todas las instrucciones necesarias para llevar a cabo estas tareas.
Base de Datos 15
Funciones del DBMS
De Utilización:Reúne todas las interfaces que necesitan los diferentes tipos de usuarios para comunicarse con la base y proporciona un conjunto de procedimientos para el administrador.
Algunas de estas funciones de servicio son: Cambiar capacidades de los archivos
Obtener estadísticas de utilización
Respaldos
Cargar y descarga de la base
Seguridad, etc.
Base de Datos 16
Ventajas de Utilizar un DBMS
Control de la redundancia.
Restricción de los accesos no autorizados.
Capacidad de realizar inferencias y acciones usando reglas.
Suministro de múltiples interfaces de usuario.
Representación de vínculos complejos entre los datos.
Garantizar el cumplimiento de las restricciones de integridad.
Suministro de copias de seguridad y recuperación.
Base de Datos 17
Ventajas de Utilizar un DBMS
Control de la redundancia:La redundancia, el almacenamiento de los mismos datos varias veces, provoca varios problemas.
Es necesario realizar una misma actualización lógica (como introducir los datos de un nuevo alumno) varias veces: una vez por cada fichero en el que se registren los datos de alumnos. Esto implica una duplicación del trabajo.
Se desperdicia espacio de almacenamiento al guardar los mismos datos en varios sitios, y este problema puede ser grave si las bases de datos son grandes.
Es posibles que los ficheros que representan los mismos datos, se vuelvan inconsistentes.
Base de Datos 18
Ventajas de Utilizar un DBMS
Restricción de los accesos no autorizados:
Es preciso controlar el tipo de operaciones de acceso (recuperación o actualización).
Normalmente, a los usuarios o grupos de usuarios se les asignan números de cuenta protegidos con contraseñas, que sirven para tener acceso a la base de datos.
El DBMS debe controlar un subsistema de seguridad y autorización que permita la DBA crear cuentas y especificar restricciones para ellas.
El DBMS deberá entonces garantizar automáticamente el cumplimiento de dichas restricciones.
Base de Datos 19
Ventajas de Utilizar un DBMS
Capacidad de realizar inferencias y acciones usando reglas:
Algunos sistemas de base de datos proporcionan la capacidad de definir reglas de deducción para inferir nueva información a partir de los hechos almacenados en la base de datos.
A estos sistemas se les conoce como sistemas de bases de datos deductivas.
Base de Datos 20
Ventajas de Utilizar un DBMS
Suministro de múltiples interfaces de usuarios:
En vista de que muchos tipos de usuario con diversos niveles de conocimientos técnicos utilizan BD, el DBMS debe ofrecer diferentes interfaces.
Entre éstas podemos mencionar los lenguajes de consulta para usuarios ocasionales, las interfaces de lenguaje de programación para programadores de aplicaciones, los formularios y códigos de órdenes para los usuarios paramétricos y las interfaces controladas por menús y de lenguaje natural para los usuarios autónomos.
Base de Datos 21
Ventajas de Utilizar un DBMS
Representación de vínculos complejos entre los datos:
Una BD puede contener numerosos conjuntos de datos que estén relacionados entre sí de muchas maneras.
Es preciso que el DBMS pueda representar diversas relaciones complejas entre los datos y también obtener y actualizar con rapidez y eficiencia datos que estén mutuamente relacionados.
Base de Datos 22
Ventajas de Utilizar un DBMS
Garantizar el cumplimiento de las restricciones de integridad: La mayoría de las aplicaciones de la BD tienen ciertas restricciones de integridad que deben cumplir los datos.
El DBMS debe ofrecer recursos para definir tales restricciones y garantizar que se cumplan.
La restricción de integridad más simple consiste en especificar el tipo de datos para cada elemento de datos.
Base de Datos 23
Ventajas de Utilizar un DBMS
Suministro de copias de seguridad y recuperación:
Todo DBMS debe contar con recursos para recuperarse de fallos de hardware o de software.
El subsistema de copias de seguridad (backup) y de recuperación del DBMS es el responsable de llevar a cabo dicha recuperación.
Por ejemplo, si el sistema falla mientras se estáejecutando un complejo programa de actualización, el subsistema de recuperación se encargará de asegurarse de que la BD se restaure al estado en el que estaba antes de que comenzara la ejecución de dicho programa.
Base de Datos 24
Características del Servicio de Respaldo
Respaldos Periódicos de la base de datos entera, en forma automática.
Facilidades de “journal” o “audit-trail”, son registros donde se graba información sobre las transacciones que se ejecutan a la base de datos. Se manejan básicamente dos tipos de journal, uno que guarda información sobre la transacción (como el código y/o nombre de la transacción, fecha, número del terminal, registros accesados, registros modificados, etc.) y otro que registra los cambios en la base de datos, a través de pre-imagen (o copia de un registro antes de ser modificado) o post-imagen (o copia del registro después que ha sido modificado).
Base de Datos 25
Características del Servicio de Respaldo
Facilidades de “checkpoint” (o puntos de control), es decir, el RDBMS escribe un registro especial en el archivo que estáaccesando, con información para reinicializar el sistema en caso de fallas. o hace automáticamente o en respuesta a comandos
checkpoint
rehacer de acáen adelant e
checkpoint
checkpoint
• • • •
Base de Datos 26
Servicio de Recuperación
Base de Dat osDañada
Respaldo dealgún t ipo
Base de Dat osRecuperada
MÉTODO DERECUPERACIÓN
Es un módulo del RDBMS que se preocupa de reinicializar la base de datos a un estado procesable, luego de ocurrida una falla. Para ello, se utilizan las facilidades de journal (archivos pre-imagen y post-imagen) y los respaldos periódicos.
Base de Datos 27
Métodos de Recuperación
RESTORE/RERUN: consiste en reprocesar las transacciones del día en conjunto con el respaldo periódico de la base de datos, hasta llegar al punto de la falla (es decir, los datos del proceso o período previo a la falla). .
Full-backup de laBase de Dat os
Transacciones
Base de Dat osRecuperada
RESTORE /RERUN
Base de Datos 28
Métodos de Recuperación
ROLLBACK (o BACKWARD RECOVERY): consiste en recuperar la base de datos a un estado anterior a un proceso fallido, es decir, los cambios hechos por las transacciones antes de una falla, son eliminados. Es un “undo” que toma el archivo pre-imagen y la base de datos con los cambios (es decir, la base de datos obtenida después de un proceso fallido), y genera una base de datos sin los cambios
Base de Dat osAct ualizada
Pre-Imagen
Base de Dat osRecuperada a un est a-
do previo a la fallaROLL BACK
Base de Datos 29
Métodos de Recuperación
ROLLFORWARD (o FORWARD RECOVERY): consiste en recuperar la base de datos a un estado posterior a una falla del sistema, es decir, toma un respaldo de la base de datos y carga el archivo post-imagen sobre ella, generándose una base de datos en un estado posterior al momento de detectada la falla
Full-backup de laBase de Dat os
Post -Imagen
ROLL FORWARD
Base de Dat os
Recuperada a un est a-
do post erior a la falla
Base de Datos 30
¿Cuándo un DBMS es Relacional?
REGLA 0: Cualquier DBMS que sea anunciado o que afirme ser un RDBMS, debe ser capaz de administrar completamente la Base de Datos a través de sus características relacionales. Esto es cumplir con:
REGLA 1: Representación de la información
Toda información en una base de datos es representada por valores en tablas.
REGLA 2: Acceso garantizado
Cada dato o valor atómico en una base de datos relacional debe poder ser accesado por una combinación del nombre de la tabla, nombre de la columna y valor de la clave primaria.
Base de Datos 31
¿Cuándo un DBMS es Relacional?
REGLA 3: Tratamiento de valores nulos
Los valores nulos (distintos de blancos o cero) son utilizados para representar el hecho que sería erróneo o inapropiado que una columna no tuviera valor. Por ello, el RDBMS debe permitir definir columnas como “nulls not allowed”.
REGLA 4: Diccionario de Datos en línea y basado en el modelo relacional
La descripción de la base de datos (metadatos) es representada de la misma forma que los datos de la base de datos, con lo cual los usuarios autorizados (en especial los DBA)
Base de Datos 32
¿Cuándo un DBMS es Relacional?
REGLA 5: Lenguaje de Definición de Datos Comprensivo
Un RDBMS puede soportar trabajar con varios lenguajes, sin embargo, al menos debe tener un lenguaje que permita expresar definiciones de datos, definiciones de vistas, manipulación de datos (interactiva y por programa), restricciones de integridad (triggers, procedimientos almacenados), autorizaciones de acceso y control de transacciones (begin, commit y rollback). A este lenguaje se le denomina en forma genérica DDL (Data Definition Language).
REGLA 6: Actualización vistas
Todas las vistas (views) deben ser actualizadas (insert, deleteo modify) automáticamente cuando exista una actualización a la(s) tabla(s) de la base de datos de la cual fue derivada. Por otra parte, si la vista es actualizada, debe alterarse la(s) tabla(s) de la base de datos sin ambigüedad.
Base de Datos 33
¿Cuándo un DBMS es Relacional?
REGLA 7: Lenguaje de alto nivel para consultar, insertar, borrar y modificar
Debe contarse con la capacidad de manejar una tabla base o una tabla derivada (view) con una operación simple, no sólo para recuperar sus datos, sino que también para insertar, borrar y modificar los datos. A este lenguaje se le conoce en forma genérica DML (Data Manipulation Language).
REGLA 8: Independencia física de los datos
Los programas de aplicación o los comandos interactivos, son independientes de la implementación física de los datos, es decir, deben ser escritos sin importar que exista un índice o un determinado método de acceso. Eso también implica que una recuperación óptima en cuanto a la secuencia de accesos a seguir, es de responsabilidad del RDBMS y no del usuario.
Base de Datos 34
¿Cuándo un DBMS es Relacional?
REGLA 9: Independencia lógica de los datos
Los programas de aplicación o los comandos interactivos, son independientes de la definición de la base de datos, es decir, cambios para ampliar o corregir una definición de la base de datos no deben significar redefinir o volver a poblar completamente la base de datos.
REGLA 10: Independencia de la Integridad
Las restricciones de integridad (que permiten controlar posibles pérdidas de datos que se producen por ejemplo, al añadir datos no válidos en la base de datos, al modificar datos existentes con un valor incorrecto, errores del sistema, al aplicarse los cambios parcialmente y no en todas las tablas involucradas, etc.), deben ser definidas a través del DDL y almacenadas en el diccionario de datos, no en los programas de aplicación.
Base de Datos 35
¿Cuándo un DBMS es Relacional?
REGLA 11: Independencia en la Distribución
El DML del RDBMS debe permitir que los programas de aplicación o los comandos interactivos, tengan la misma lógica cuando se trata de datos que están físicamente centralizados o están distribuidos. Es decir, cada programa debe considerar a la base de datos como si fuera local, es el RDBMS quien debe enrutar los accesos hacia los distintos nodos en que los datos estén (información que está en el diccionario de datos).
REGLA 12: No subversión
Si un RDBMS tiene un lenguaje de bajo nivel, éste no puede ser usado para sobrepasar las reglas de integridad y restricciones expresadas a través del lenguaje de alto nivel del RDBMS, por el contrario debe respetarlas.
Base de Datos 36
Lenguajes de los DBMS
Las distintas funciones que cumple un DBMS, hace necesario contar con diferentes lenguajes y procedimientos que permitan la comunicación con la BD.
Para cumplir los objetivos asignados a la función de manipulación, se ha de contar con lenguajes que den a los usuarios la posibilidad de referirse a determinados conjuntos de datos que cumplan ciertas condiciones (criterio de selección).
Se conoce SQL como lenguaje de manipulación de datos.
Base de Datos 37
Cuando No Utilizar un DBMS
A pesar de las ventajas que supone utilizar un DBMS, hay algunas situaciones en las que el empleo de un DBMS puede generar costos adicionales innecesarios, que se evitarían con el procesamiento de ficheros tradicionales. Estos costos adicionales son debido a lo siguiente:
Una fuerte inversión inicial en equipo, software y capacitación.
La generalidad que ofrece el DBMS para definir y procesar los datos.
Los costos que implica ofrecer las funciones de seguridad, control de concurrencia, recuperación e integridad.
Base de Datos 38
Cuando No Utilizar un DBMS
Por tanto, puede ser más conveniente utilizar ficheros ordinarios en las siguiente circunstancias:
La BD y las aplicaciones son simples, están bien definidas, y no se espera que cambien.
Algunos programas tienen requerimientos estrictos de tiempo real que no podrían cumplirse por el costo extra del SGBD.
No se requiere acceso multiusuario a los datos.