38
Base de Datos P. UNIVERSIDAD CATÓLICA DE VALPARAÍSO FACULTAD DE INGENIERÍA ESCUELA 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 - zeus.inf.ucv.clzeus.inf.ucv.cl/~jrubio/docs/ICI 344/Capitulo II.pdf · Componentes de un ambiente de Base de Datos Beneficios & Riesgos del uso de Base de Datos Sistema

Embed Size (px)

Citation preview

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.