Modelamiento de una Base de Datos

Anuncio
P. UNIVERSIDAD CATÓLICA DE VALPARAÍSO
FACULTAD DE INGENIERÍA
ESCUELA DE ING. INFORMÁTICA
Base de Datos
Usuario A
Programa de
Aplicación
Bodega
Usuario B
•
•
•
Usuario N
•
•
•
Insumo
Proveedor
Profesor:
José Miguel Rubio L.
Í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
2
Í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
3
Índice de Contenidos
Modelamiento de una Base de Datos
Modelo Conceptual: Entidad Relación
Asociaciones entre entidades, Cardinalidad de
Asociaciones
Claves candidatas y claves primarias, Atributos
multivaluados
Reglas del Negocio
Modelo Lógico: Relacional
Modelo Lógico
Transformación de entidades y relaciones
Proceso de Normalización de Relaciones
Análisis de vistas
Base de Datos
4
Í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
5
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
6
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
7
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
8
Alcances del DBMS
Nivel Estratégico
Nivel Táctico
SGBD
Base de Datos
Nivel Operacional
Base de Datos
9
Funciones del DBMS
De Descripción o Definición: DDL
De Manipulación: DML
De Utilización
Base de Datos
10
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
11
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
12
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
13
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
14
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
15
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
16
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
17
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
18
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
19
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
20
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
21
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
22
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
23
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 preimagen (o copia de un registro antes de ser modificado) o postimagen (o copia del registro después que ha sido modificado).
Base de Datos
24
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
Base de Datos
checkpoint
checkpoint
checkpoint
• • • •
rehacer de acá
en adelant e
25
Servicio de Recuperació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 preimagen y post-imagen) y los respaldos periódicos.
Base de Dat os
Dañada
MÉTODO DE
RECUPERACIÓN
Base de Dat os
Recuperada
Respaldo de
algún t ipo
Base de Datos
26
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 la
Base de Dat os
RESTORE /
RERUN
Base de Dat os
Recuperada
Transacciones
Base de Datos
27
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 os
Act ualizada
ROLL BACK
Base de Dat os
Recuperada a un est ado previo a la falla
Pre-Imagen
Base de Datos
28
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 la
Base de Dat os
Base de Dat os
ROLL FORWARD
Recuperada a un est ado post erior a la falla
Post -Imagen
Base de Datos
29
¿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
30
¿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
31
¿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, delete
o 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
32
¿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
33
¿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
34
¿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
35
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
36
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
37
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.
Base de Datos
38
Descargar