Download DISEÑO DE ARCHIVOS Y BASES DE DATOS.

Document related concepts
no text concepts found
Transcript
Tema 5: Conceptos de Diseño en Archivos y
Bases de Datos
Ing. Elizabeth Guerrero







Introducción
Conceptos: Diseño en Archivos, Bases de Datos
(Campos, Registros, archivos y Bases de Batos)
Diseño de interacciones con la base de datos
Metodología de diseño de bases de datos
Diseño de una Base de Datos
Las fases o etapas involucradas en el diseño de la
base
Errores que se pueden encontrar en el diseño de
una base de datos
En un sistema de información es primordial el
almacenamiento de datos porque:
1. Los datos deben estar disponibles para su
uso
2. Los datos deben ser exactos y consistentes
3. La información obtenida de los datos
almacenados debe estar en una forma que
sirva para administrar, planear, controlar y
tomar decisiones


Enfoques para el almacenamiento de datos:
◦ Almacenar datos en archivos individuales
◦ Bases de Datos



Archivo: Es un grupo de registros que contienen
datos sobre un registro en específico. Ejemplo: el
archivo de clientes, el archivo de productos, o de
empleados.
Registro: Es una colección o grupo de campos
que describen un miembro de una entidad.
Ejemplo, el record de un cliente, o de un
producto.
Campo: es un conjunto de caracteres capaz de
suministrar una determinada característica
referida a un concepto. Cada campo tiene
nombre, tipo de dato y tamaño. Ejemplo: en la
entidad Cliente, algunos campos pueden ser
Nombre, Apellido, Dirección.



Bases de Datos: Una base de datos es una colección integrada
de datos almacenados en distintos tipos de entidades, de
forma que sean accesibles para múltiples aplicaciones.
Entidad: Es cualquier objeto o evento sobre el cual alguien
escoge recopilar datos, podría ser una persona, lugar, objeto
u evento. Ejemplo: Cliente, Orden, Producto, distribuidor.
Atributo: son las propiedades específicas que describen una
entidad. Por ejemplo, una entidad empleado puede
describirse por:
◦ Nombre,
◦ Edad,
◦ Dirección
◦ Salario
◦ Cargo
Un tipo de entidad: define un conjunto de entidades
que poseen los mismos atributos.
Ejemplo: El tipo de entidad ESTUDIANTE cuyos atributos
son:
nombre,apellido, cédula, fecha de nacimiento, telefono,
dirección…
Una entidad del Tipo de entidad ESTUDIANTE puede ser:
María, Peréz, 21098120, 02/04/2000, 0414-9999999,
Casa no2 vereda 3, sector campo alegre….
Cada dato corresponde al atributo del tipo de entidad
ESTUDIANTE
 Clave o "Key“: Es un campo que se usa para localizar,
acceder o identificar un record en específico.

Consiste en la evaluación que realiza el analista de
sistema en conjunto con el administrador de la base de
datos, con el objetivo de determinar cuales datos son
necesarios para el sistema y las acciones del sistema
sobre la base de datos.
El administrador de la base de datos debe tener en
cuenta las siguientes responsabilidades:
 Evaluar la conveniencia de la solicitud del analista.
 Describir los métodos para interactuar con la base de
datos.
 Asegurar que la aplicación no dañe la base de datos o
que la afecte de manera adversa a las necesidades de
otras aplicaciones.
El
diseño de una base de datos es un proceso
complejo que abarca decisiones a muy distintos
niveles.
La
complejidad se controla mejor si se
descompone el problema en subproblemas y se
resuelve cada uno de estos subproblemas
independientemente,
utilizando
técnicas
específicas.
Así, el diseño de una base de datos se
descompone en diseño conceptual, diseño
lógico y diseño físico.
Realidad
Recolección y
Análisis de
Requerimientos
Requerimientos
de la BD
Diseño
Conceptual
Esquema
Conceptual
Diseño Lógico
Esquema Lógico
Diseño Físico
Esquema
Interno (para el
mismo DBMS)
Este
parte de las especificaciones de requisitos de usuario
y su resultado es el esquema conceptual de la base de
datos.
Un esquema conceptual es una descripción de alto nivel
de la estructura de la base de datos, independientemente
del sistema de gestión de base de datos que se vaya a
utilizar para manipularla.
Un modelo conceptual es un lenguaje que se utiliza para
describir esquemas conceptuales.
El objetivo del diseño conceptual es describir el contenido
de información de la base de datos y no las estructuras de
almacenamiento que se necesitarán para manejar esta
información.
Éste
parte del esquema conceptual y da como
resultado un esquema lógico.
Un esquema lógico es una descripción de la
estructura de la base de datos en términos de las
estructuras de datos que puede procesar un tipo de
sistema manejador de base de datos.
Un modelo lógico es un lenguaje usado para
especificar esquemas lógicos (modelo relacional,
modelo de red, etc.).
El diseño lógico depende del tipo de sistema de
gestión de base de datos que se vaya a utilizar, no
depende del producto concreto.
Este
parte del esquema lógico y da como
resultado un esquema físico.
Un esquema físico es una descripción de la
implementación de una base de datos en
memoria secundaria: las estructuras de
almacenamiento y los métodos utilizados para
tener un acceso eficiente a los datos.
Por ello, el diseño físico depende del sistema
de gestión de base de datos concreto y el
esquema físico se expresa mediante su
lenguaje de definición de datos.
Ejemplo de Diseño de base de datos
Las fases o etapas involucradas en el diseño de
la base de datos son:
1. Análisis de requisitos
2. Diseño conceptual
3. Elección del sistema gestor de bases de
datos
4. Diseño lógico
5. Diseño físico
6. Instalación y mantenimiento
Se utiliza para recabar información sobre el uso
que se piensa dar a la base de datos. Para ello se
debe realizar las siguientes actividades:
Tareas:
 Determinación de los requisitos del sistema
 Identificación de las principales áreas de la
aplicación y grupos de usuarios.
 Estudio y análisis de la documentación existente
relativa a las aplicaciones.
 Estudio del entorno de operación actual.
 Estudio
del
uso
de
la
información
(transacciones, frecuencias y flujos de datos)
Entregable o resultados
Se debe generar un documento con la
especificación de requerimientos. En el se
incluye:
Descripción del sistema en lenguaje natural
 Lista de requerimientos organizados de
forma jerárquica
 Diagramas de flujo de datos (DFD)
 Diagrama de Casos de uso

Producir un esquema conceptual de la base de
datos independiente del SGBD
OBJETIVOS DEL DISEÑO CONCEPTUAL
 Comprensión de la estructura, semántica,
relaciones y restricciones de la Base de Datos.
 Descripción estable del contenido de la base
de datos.
 Comunicación
entre usuarios, analistas y
diseñadores.
Características Deseables del Modelo:





Expresividad
(diferentes
tipos
de
datos,
relaciones y restricciones).
Sencillez (lo bastante simple para que los
usuarios lo comprendan).
Minimalidad (número pequeño de conceptos
básicos).
Representación gráfica (notación gráfica fácil de
interpretar).
Formalidad
(especificación
formal
y
sin
ambigüedad de los datos).
Enfoques para el Diseño del Esquema Conceptual
Enfoque centralizado: Los requisitos de distintas
aplicaciones y grupos de usuarios se combinan en un
único conjunto de requisitos antes de comenzar el
diseño del esquema.
Enfoque de integración de vistas: Se diseña un esquema
(o vista) para cada tipo de usuarios o aplicaciones
basado únicamente en sus requisitos.
Durante la etapa de integración de vistas, dichos
esquemas se combinan o integran para formar un
esquema conceptual global (del cual cada vista
individual puede considerarse un esquema externo).
Tareas
‐ Modelado de los datos del sistema
Entregable o Resultados
‐ Diagrama Entidad/Relación, diagrama CASE o
diagrama de clases UML
‐ Diccionario de datos
Sistema Gestor de Bases de Datos (DBMS):
Es un software con capacidad para definir,
mantener y utilizar una base de datos.
Un sistema de gestión de bases de datos debe
permitir definir estructuras de almacenamiento,
acceder a los datos de forma eficiente y segura,
etc.
1. Elección del modelo de datos (tipo de
Sistema Gestor de Bases de Datos DBMS). Por
ejemplo: DBMS relacional, objeto-relacional,
orientado a objetos, multidimensional…
2. Elección del sistema gestor de bases de
datos. Por ejemplo: Oracle 9i2, IBM DB2 UDB,
Microsoft SQL Server, Interbase, Postgres,
mysql, etc
3.
Considerar los factores técnicos y no
técnicos para realizar la elección del DBMS
Factores técnicos
1.
2.
3.
4.
5.
Organización de los datos independientemente de las
aplicaciones que los vayan a usar (independencia lógica) y de
los archivos en los que vayan a almacenarse (independencia
física).
Datos y aplicaciones accesibles a los usuarios y a otras
aplicaciones de la manera más amigable posible (lenguajes
de consulta: SQL, Query-by-example…)
Datos gestionados de forma centralizada e independiente de
las aplicaciones.
No redundancia (los datos no deben estar duplicados),
consistencia e integridad.
Fiabilidad (protección frente a fallos).
Factores técnicos
6.
7.
8.
9.
Seguridad (no todos los datos deben ser accesibles a todos
los usuarios).
Capacidad de replicación y distribución
Disponibilidad de herramientas de desarrollo de software
Portabilidad
Factores no técnicos
1.
2.
3.
4.
Coste de la adquisición del software, del
hardware y coste de mantenimiento.
Coste de creación y conversión de la base de
datos
Coste de personal (formación y operación).
Disponibilidad de servicios del proveedor.
El diseño lógico de la base de datos consiste en crear un
esquema conceptual y los esquemas externos en el modelo de
datos del SGBD elegido.
Tareas
Transformar los esquemas obtenidos en el diseño conceptual en
un conjunto de estructuras propias del modelo abstracto de
datos elegido.
En el caso de bases de datos relacionales:
 Conversión del diagrama E/R al modelo relacional
 Normalización de las tablas
Resultado
Conjunto de estructuras propias del modelo abstracto de datos
(Por ejemplo: conjunto de tablas cuando se trabaja con bases de
datos relacionales).
El diseño físico de la base de datos consiste en elegir estructuras de
almacenamiento (Por ejemplo: tablas, partición de tablas, creación
de índices…) para que el rendimiento de la base de datos sea
adecuado para las distintas aplicaciones a las que ha de dar servicio
(tiempo de respuesta, aprovechamiento del espacio de
almacenamiento, productividad de las transacciones).
Tareas
Estimar adecuadamente los diferentes parámetros físicos de
nuestra base de datos, mediante técnicas analíticas (modelos
matemáticos de rendimiento) y/o técnicas experimentales
(prototipos, simulación o pruebas de carga).
Preparar las sentencias DDL (Lenguaje de Definición de Datos)
correspondientes a las estructuras identificadas durante la etapa de
diseño lógico de la base de datos.
Resultado
Conjunto de sentencias DDL escritas en el lenguaje del SGBD
elegido (incluyendo la creación de índices, selección de parámetros
físicos, etc.).
Casi siempre es necesario modificar el diseño de la base
de datos tras su puesta en funcionamiento, por lo que se
incluye explícitamente esta fase en el proceso de diseño
de bases de datos.
Instalación y puesta en marcha
- Suele ser responsabilidad del DBA (Adminsitrador de las
Bases de Datos), que se encarga de recopilar todas las
sentencias DDL (lenguaje de definición de datos)
necesarias para crear los esquemas de la base de datos.
- A continuación, pueden cargarse los datos en la base de
datos, para lo cual puede ser necesaria la implementación
de rutinas de conversión.
Mantenimiento
Los cambios en el diseño de la base de datos son
necesarios:
-Para adaptarla a cambios en los requerimientos del
sistema.
-Para
mejorar el rendimiento del sistema:
 Ajuste de los parámetros de configuración del DBMS.
Casi todos los DBMSs incluyen utilidades de
monitorización para supervisar el funcionamiento del
sistema
• Reorganización de las estructuras internas de la base
de datos (por ejemplo: creación de índices)
• Creación de tablas redundantes(vistas materializadas)


Redundancia: Esta se presenta cuando se
repiten innecesariamente datos en los
archivos que conforman la base de datos.
Inconsistencia: Ocurre cuando existe
información contradictoria o incongruente en
la base de datos.


Dificultad en el Acceso a los Datos: ocurre cuando los
sistemas de procesamiento de archivos generalmente
se conforman en distintas épocas y por distintos
programadores, el formato de la información no es
uniforme y se requiere de establecer métodos de
enlace y conversión para combinar datos contenidos
en distintos archivos.
Aislamiento de los Datos: Se refiere a la dificultad de
extender las aplicaciones que permitan controlar a la
base de datos, como pueden ser, nuevos reportes,
utilerías y demás debido a la diferencia de formatos
en los archivos almacenados.



Anomalías en el Acceso Concurrente: Ocurre cuando
el sistema es multiusuario y no se establecen los
controles adecuados para sincronizar los procesos
que afectan a la base de datos.
Problemas de Seguridad: Se presentan cuando no es
posible establecer claves de acceso y resguardo en
forma uniforme para todo el sistema, facilitando así
el acceso a intrusos.
Problemas de Integridad: Ocurre cuando no existe a
través de todo el sistema procedimientos uniformes
de validación para los datos.