Sunteți pe pagina 1din 61

Gestin de la Informacin

Patricio Martnez Barco


Departamento de Lenguajes y Sistemas Informticos

patricio@dlsi.ua.es

Gestin de la Informacin

TEMA 2 (PARTE I)
METODOLOGA DE DISEO DE BASES DE
DATOS
2

Tema 2. Metodologa de diseo de bases de datos

Objetivos

Introduccin

Ciclo de vida del sistema de base de datos

Proceso de diseo de BDs

Diseo conceptual

Diseo lgico

Diseo fsico

Tema 2. Metodologa de diseo de BDs

OBJETIVOS

Objetivos

Enmarcar el contexto de la asignatura en el marco del


desarrollo de un sistema de informacin
Presentar una metodologa de diseo

Estandarizar los proyectos de diseo

Separar y distinguir las tres fases

Conceptual

Lgico

Fsico

Saber hacer

validar el esquema conceptual contra los requisitos de la


organizacin

documentar el diseo conceptual

integrar a los usuarios finales en el proceso

Tema 2. Metodologa de diseo de BDs

INTRODUCCIN

Introduccin

Qu es una metodologa de diseo?

Mtodo planificado/estructurado

Procedimientos

Tcnicas

Herramientas

Documentacin

Ayuda al diseador en el desarrollo del proyecto

Seleccionar

Planificar

Gestionar

Controlar

Evaluar

Introduccin

Factores crticos de xito para una


metodologa

Trabajar mucho con los


usuarios finales

Usar representaciones
grficas (al mximo)

Usar lenguajes de diseo


de BDs para representar
toda semntica
adicional

Seguir una metodologa


durante todo el proceso
de modelado

Incorporar tcnicas de
validacin de la
normalizacin,
transaccin y
conceptualizacin

Construir un diccionario
de datos para
complementar los
diagramas de los
modelos de datos

Usar una aproximacin


centrada en los datos

Incorporar
consideraciones
estructurales y de
integridad en los
modelos

Estar abiertos a repetir


pasos ya realizados

Mantenimiento

Instalacin / Despliegue

Pruebas

Implementacin

Diseo

Anlisis

Planificacin

Introduccin

Ciclo de vida desarrollo sistemas de informacin

Introduccin

Ciclo de vida desarrollo sistemas de informacin

Asignacin de
recursos

Pruebas

Mantenimiento

Planificacin
temporal

Instalacin / Despliegue

Estimacin

Implementacin

Anlisis de
riesgos

Diseo

Estudio de
viabilidad

Anlisis

mbito del
proyecto

Planificacin

10

Introduccin

Ciclo de vida desarrollo sistemas de informacin

Mantenimiento

Instalacin / Despliegue

Pruebas

Implementacin

Requisitos de
procesos

Diseo

Anlisis

Requisitos de
informacin
Planificacin

11

Introduccin

Ciclo de vida desarrollo sistemas de informacin

Fsico
Desarrollo BD
Desarrollo procesos
y transacciones

Mantenimiento

Esquema BD
Esquemas procesos
y transacciones

Instalacin / Despliegue

Lgico

Pruebas

Parte esttica: datos


Parte dinmica:
procesos

Implementacin

Diseo

Anlisis

Conceptual

Planificacin

12

Introduccin

Ciclo de vida desarrollo sistemas de informacin

Mantenimiento

Carga de la BD
Creacin procesos
Creacin
transacciones

Instalacin / Despliegue

Creacin e
integracin de
recursos

Pruebas

Implementacin

Diseo

Anlisis

Adquisicin de
componentes
Planificacin

13

Introduccin

Ciclo de vida desarrollo sistemas de informacin

Pruebas alfa
Por el cliente
Lugar de desarrollo

Pruebas beta
Por el cliente
Lugar del cliente

Test de aceptacin
Verificacin final

Mantenimiento

Pruebas de
integracin

Instalacin / Despliegue

Pruebas

Implementacin

Diseo

Anlisis

Pruebas
individuales

Planificacin

14

Mantenimiento

Instalacin / Despliegue

Pruebas

Implementacin

Diseo

Anlisis

Planificacin

Introduccin

Ciclo de vida desarrollo sistemas de informacin


Paso a
explotacin

15

Introduccin

Ciclo de vida desarrollo sistemas de informacin


Adaptativo
Ante cambios

Mantenimiento

Instalacin / Despliegue

Pruebas

Implementacin

Diseo

Anlisis

Correctivo
Planificacin

De defectos

Perfectivo
Mejoras

16

Introduccin

Alternativas metodolgicas del ciclo de vida

Definen la forma de abordar cada una de las fases

Modelo en cascada o clsico

termina por completo cada fase antes de empezar la siguiente


Planificacin

Anlisis
Diseo

Implementacin
Pruebas

Instalacin
Mantenimiento

17

Introduccin

Alternativas metodolgicas del ciclo de vida

Modelo en cascada o clsico

Modelo en V

Modelo en espiral

Como anterior, y crea versiones entregables en cada iteracin

Modelos giles

Flujo se reinicia n veces para mejorar hasta dar por vlido

Modelo iterativo

Flujo desarrollo + flujo validacin

Basados en prototipos

Conclusin

Muchas alternativas pero todas basadas en el ciclo de vida expuesto


18

Introduccin

Mantenimiento

Instalacin / Despliegue

MBITO:
Bases de datos
Transacciones

Pruebas

Implementacin

Diseo

Anlisis

Asignatura Gestin de la Informacin

Planificacin

19

Tema 2. Metodologa de diseo de BDs

CICLO DE VIDA DE UNA BASE DE DATOS

20

Ciclo de vida de una base de datos


Anlisis
Requisitos de datos + transacciones

Diseo
Conceptual + Lgico + Fsico

Implementacin
Base de datos + transacciones

Carga y/o conversin de datos

Pruebas

21

Tema 2. Metodologa de diseo de BDs

PROCESO DE DISEO DE BDS


(UNA ALTERNATIVA METODOLGICA)
22

Proceso de diseo de una BD

Objetivo

Mtodo

Atender las necesidades de informacin de la


organizacin
Basado en la arquitectura por niveles del modelo
ANSI/SPARC

Hitos

Diseo de estructura y contenido de la BD

Diseo de las transacciones que atacan a la BD


23

Proceso de diseo de una BD

Arquitectura de diseo: modelo


ANSI/SPARC

Diseo conceptual
Modelo de la
informacin de una
organizacin
independiente de
consideraciones fsicas

Diseo lgico

Modelo de la
informacin de una
organizacin basado en
un modelo de datos
concreto, pero
independiente de un
SGBD concreto ni de
consideraciones fsicas

Diseo fsico
Modelo de descripcin
de la implementacin de
una BD en memoria
secundaria
Organizacin de ficheros.
ndices. Integridad.
Seguridad
Descripcin de la
implementacin de las
transacciones

24

Proceso de diseo de una BD

Alternativa metodolgica del ciclo de vida de la BDs

En cascada: versin particular para las BDs


Orden

Fases

Anlisis de requisitos

Diseo conceptual

Eleccin del SGBD

Diseo lgico

Diseo fsico

Diseo de la carga

Implantacin

25

Proceso de diseo de una BD

Alternativa metodolgica del ciclo de vida de la BDs


Orden

Fases

Anlisis de requisitos

Diseo conceptual

Eleccin del SGBD

Diseo lgico

Diseo fsico

Diseo de la carga

Implantacin

26

Fase 1: Anlisis de requisitos

Objetivos

Recopilacin todos los requisitos de datos y transacciones

Completa: todos los servicios de usuario estn especificados

Consistente: no hay definiciones ambiguas

Racionalizar su utilidad (y priorizarlos)

Factores clave

Dimensionar correctamente

Funcionalidad insuficiente >> Inutiliza el resultado

Funcionalidad excesiva >> Igualmente hace inviable su uso

Todos los agentes del sistema son clave

Directivos, operarios, administradores,

27

Fase 1: Anlisis de requisitos

Tipos de requisitos a abordar

Segn su funcin

Funcionales

Servicios que ha de proveer la BD

Lo que debe y no debe hacer

No funcionales

Asociados a las propiedades emergentes del sistema

Fiabilidad

Tiempo de respuesta

Seguridad

Capacidad de almacenamiento

28

Fase 1: Anlisis de requisitos

Tipos de requisitos a abordar

Segn su naturaleza

Estticos

Requisitos de informacin que se debe almacenar

DATOS

Dinmicos

Requisitos de procesos que hacen evolucionar la informacin

TRANSACCIONES

29

Fase 1: Anlisis de requisitos

Algunas pistas

Cul es el proceso bsico de la organizacin?

Qu datos utiliza o produce este proceso?

Cules son los lmites impuestos por el tiempo y la carga de trabajo?

Qu controles de calidad utiliza?

Cul es la finalidad de la actividad?

Qu pasos se siguen para realizarla?

Dnde y quin realiza estos pasos?

Cunto tiempo tardan en efectuarlos?

Con cunta frecuencia lo hacen?

Quines emplean la informacin resultante?

30

Fase 1: Anlisis de requisitos

Ejemplo: requisitos de la ferretera FERRITER


(http://jezzsystemzone.blogspot.com.es Antonio Med Bar@blogger)

La ferretera FERRITER tiene la necesidad de contar con


un sistema que permita llevar un mejor control, que a su
vez sea fcil de manejar; el control consiste en llevar a
cabo un registro de todos los productos con los que se
cuenta, los clientes frecuentes y los distintos proveedores
de dicha ferretera.

El sistema registrar cualquier operacin, tanto de cliente


como de productos. Es decir, operaciones de altas, bajas,
modificaciones, descuentos a clientes frecuentes, clientes
con crdito, etc.). Tambin contara con un sistema de
impresin de facturas.

31

Fase 1: Anlisis de requisitos

Ejemplo: requisitos de la ferretera FERRITER

PRODUCTOS. Para poder dar de alta cada producto se


tendrn en cuenta: una clave o cdigo del producto (esta
se asignara tomando en cuenta el tipo del producto), el
nombre, la cantidad, el precio.
El tipo o clasificacin de los productos se da de la
siguiente manera: cemento, pisos y azulejos, yeso, de
ferretera, herramientas Truper y acero.
CLIENTES CON CRDITO. En este inventario solo se
enlistaran los clientes que cuenten con el servicio de pago
a crdito. Para este catalogo se asignaran datos como: el
nombre, la direccin, el telfono y la clave de la venta.

32

Fase 1: Anlisis de requisitos

Ejemplo: requisitos de la ferretera FERRITER

PROVEEDORES. Dentro del registro de los proveedores se


ocupara la siguiente informacin: una clave de proveedor,
clave del producto, la cantidad y el nombre o la empresa.
Asimismo es fundamental mencionar que no se cuenta
con un solo proveedor, pues ste es segn el tipo de
productos faltantes y es cuando se hace el pedido, ya que
estos no tienen visitas peridicas, sino que surten cuando
la ferretera lo solicita.

33

Fase 1: Anlisis de requisitos

Ejemplo: requisitos de la ferretera FERRITER

VENTAS. Adems, se llevar un registro de las ventas


para facilitar el control de los productos, en este apartado
se producir una nota de remisin para luego imprimirla
despus de haber terminado la venta para entregrsela al
cliente. Las ventas se dividirn en:
Ventas a crdito. Registrar datos como: una clave de la
venta, el nombre del cliente, la clave del producto,
cantidad, el total a pagar, el enganche dado, la fecha y
hora.
Ventas al contado. En estas solo se registrar la venta, sin
tomar en cuenta al cliente; registrar datos como: la clave
del producto, cantidad, el total a pagar, el descuento (si
es que se hace) la fecha y hora.

34

Fase 1: Anlisis de requisitos

Ejemplo: requisitos de la ferretera FERRITER

Es importante aclarar que adems de los datos


mencionados la nota de remisin contendr el nombre del
cliente y su domicilio, nombre de los productos y sus
cantidades y precios correspondientes, as como el total a
pagar.
COMPRAS. Conjuntamente se realizan surtidos dentro de
la ferretera; es por ello que se controlaran las
adquisiciones hechas, registrando: clave del proveedor,
clave del producto, cantidad, precio de compra, precio de
venta, la fecha y la hora.

35

Fase 1: Anlisis de requisitos

Ejemplo: requisitos de la ferretera FERRITER

Requisitos de datos

Productos: id producto, nombre, precio, cantidad disponible

Clientes con crdito: id cliente, nombre, direccin, telfono

Ventas a crdito: id venta, id cliente, id producto, cantidad,


importe total, fecha, importe seal (anticipo)

Ventas al contado: id producto, cantidad, total, fecha, hora

Pagos: id venta, importe pagado, fecha

Proveedores: id proveedor, nombre, id producto

Compras: id producto, id proveedor, cantidad, precio


compra, precio venta, fecha, hora

36

Fase 1: Anlisis de requisitos

Ejemplo: requisitos de la ferretera FERRITER

Requisitos de transacciones

Cliente solicita producto a ferretera

Cliente realiza pago a ferretera

Cliente solicita crdito a ferretera

Administrador solicita producto a proveedor

Administrador realiza cobro a cliente

Administrador realiza pago a proveedor

Administrador presta crdito a cliente

Proveedor entrega producto a ferretera

Proveedor realiza cobro a ferretera

Operario entrega producto a cliente

37

Fase 1: Anlisis de requisitos

Ejemplo: requisitos de la ferretera FERRITER

Requisitos no funcionales

Todas las operaciones se efectan en tiempo real

Hay una media de

500 operaciones de venta al da

100 operaciones de venta a crdito al da

150 operaciones de pago al da

Hay un total de

25 proveedores

1000 clientes

1500 artculos

La BD debe estar activa 24h/365 das

38

Fase 1: Anlisis de requisitos

Anlisis de requisitos

Estrategias de recopilacin

Centralizada

Integrada

Hbrido

39

Fase 1: Anlisis de requisitos

Tcnicas de recopilacin

Centralizada

Cada usuario expresa sus


requisitos y se fusionan para
arrancar una fase nica de
diseo

Req.
Usu 1

Req.
Usu 2

Req.
Usu 3

til en sistemas con alto


solapamiento de requisitos
entre usuarios
En sistemas simples

Diseo global

40

Fase 1: Anlisis de requisitos

Tcnicas de recopilacin

Integrada

Cada usuario expresa sus


requisitos y se mantienen
independientes arrancando
fases de diseo
independientes
til en sistemas con bajo
solapamiento de requisitos
entre usuarios

Req.
Usu 1

Req.
Usu 2

Req.
Usu 3

Diseo
local 1

Diseo
local 2

Diseo
local 3

En sistemas complejos

41

Fase 1: Anlisis de requisitos

Tcnicas de recopilacin

Hbrida

Algunos requisitos se funden


en una fase inicial para iniciar
diseos nicos.
En una segunda fase
mantienen algunos diseos
locales, otros se han fundido
Solucin de compromiso para
la mayora de los casos

Req.
Usu 1

Req.
Usu 2

Diseo global 1

Req.
Usu 3

Diseo
local 2

42

Proceso de diseo de una BD

Alternativa metodolgica del ciclo de vida de la BDs


Orden

Fases

Anlisis de requisitos

Diseo conceptual

Eleccin del SGBD

Diseo lgico

Diseo fsico

Diseo de la carga

Implantacin

43

Fase 2: Diseo conceptual

Objetivos

Construccin del esquema conceptual

Factores clave

Capacidad de abstraccin

Mundo real mundo conceptual

Modelar nicamente requisitos (lo dems no es relevante)

No pensar en

Gestores de BDs, estructuras de datos, S.O., implementaciones,


ordenadores

Incluir parte esttica + parte dinmica

El esquema conceptual no separa

44

Fase 2: Diseo conceptual


Ya hablaremos ms en detalle en este tema pero bsicamente
Construccin esquema conceptual
2.1. Identificar tipos de entidades
2.2. Identificar tipos de relaciones
2.3. Identificar y asociar atributos con entidades o relaciones
2.4. Determinar los dominios de atributos
2.5. Determinar identificadores primarios y alternativos
2.6. Considerar el uso de otros mecanismos de abstraccin

2.7. Comprobar redundancias


2.8. Identificar transacciones de usuario
2.8. Validar el esquema contra las transacciones
2.9. Revisar el esquema conceptual con el usuario
45

Proceso de diseo de una BD

Alternativa metodolgica del ciclo de vida de la BDs


Orden

Fases

Anlisis de requisitos

Diseo conceptual

Eleccin del SGBD

Diseo lgico

Diseo fsico

Diseo de la carga

Implantacin

46

Fase 3: Eleccin del SGBD

Objetivo

Determinar el software que albergar nuestra BD

Factores de xito

Elegir el modelo de datos lgico que nos interesa: relacional,


OO, XML, de propsito especfico

Elegir el sistema de acuerdo a criterios objetivos (tabla de


pros/contras):

Coste

Funcionalidades implementadas

Limitaciones de almacenamiento y/o usuarios

Tiempos de respuesta

Facilidad/coste de mantenimiento

47

Fase 3: Eleccin del SGBD

Ejemplo (tiempos / tolerancia / integridad)

Rojas, W. & Gonzlez, M.A. Proyecto Metodologa y resultados


de comparacin entre MYSQL Server 4.1.11 y SQL Server 2000
http://www.monografias.com/trabajos29/comparacionD: Velocidad
sistemas/comparacion-sistemas2.shtml

ejecucin normal

P: Prueba en
condiciones
idnticas

I: Integridad de
datos (invariante)
CS: Velocidad
sistema cargado
con otros
procesos
TF: Tolerancia a
fallos. Tiempo de
recuperacin
ante corte
elctrico)

48

Fase 3: Eleccin del SGBD

Ejemplo (funcionalidades) (Rojas&Gonzlez)

Caracterstica
Tipos de datos

Mysql 4.1
Completo

Vistas
Disparadores
Procedimientos
Almacenados
Definicin de Funciones
Cursores
Select, Update, delete, Join,
Insert, Union, Select anidado
XML
Funciones Estndares Sql
Integridad Referencial
Soporte Texto Largo
Indexacin

No Soporta
No Soporta
No Soporta

Sql Server 2000


Observaciones
Incompleto
Mysql Soporta Emun, Set, Date, Time y
Ao. Sql Server no los soporta
Completo
a partir de la versin 5.0
Completo
a partir de la versin 5.0
Completo
a partir de la versin 5.0

No Soporta
No Soporta
Completo

Completo
Completo
Completo

No Soporta
Completo
Completo
Completo
Completo

Completo
Completo
Completo
Completo
Completo

a partir de la versin 5.0


a partir de la versin 5.0

Mysql con el tipo de tabla Innodb

Proceso de diseo de una BD

Alternativa metodolgica del ciclo de vida de la BDs


Orden

Fases

Anlisis de requisitos

Diseo conceptual

Eleccin del SGBD

Diseo lgico

Diseo fsico

Diseo de la carga

Implantacin

50

Fase 4: Diseo lgico

Objetivos

Construccin del esquema lgico

Disear la lgica de las transacciones

Factores clave

Abordar lgica de datos + transacciones


Mantener la independencia del SGBD concreto
elegido
Contemplar todo lo reflejado en el conceptual

Transformar en transacciones las restricciones integridad


no asumibles por el modelo lgico de datos

51

Fase 4: Diseo lgico


Tambin hablaremos ms en detalle en el siguiente tema pero
bsicamente
Construccin esquema lgico
4.1. Derivar relaciones

Diseo transacciones
4.7. Especificar pseudocdigo de operaciones
lgicas sobre las relaciones

4.2. Validar normalizacin de relaciones


4.3. Validar relaciones contra
transacciones de usuario
4.4. Definir restricciones de integridad
4.5. Revisar esquema lgico con usuario
4.6. Combinar esq. lgicos en uno global
52

Proceso de diseo de una BD

Alternativa metodolgica del ciclo de vida de la BDs


Orden

Fases

Anlisis de requisitos

Diseo conceptual

Eleccin del SGBD

Diseo lgico

Diseo fsico

Diseo de la carga

Implantacin

53

Fase 5: Diseo fsico

Objetivos

Implementacin y puesta en marcha de la base de


datos

Factores clave

Analizar todas las posibilidades del SGBD destino

Qu implementa? Qu lmites tiene?...

Pensar en las necesidades de la organizacin

Qu requisitos no funcionales?

Tiempos de respuesta? Capacidad de almacenamiento?


Fiabilidad? Seguridad?

54

Fase 5: Diseo fsico


Tambin en siguientes temas pero bsicamente
Traduccin esquema
lgico al SGBD destino

Diseo organizaciones
de fichero e ndices

Diseo del entorno

5.1 Disear las relaciones base

5.4. Analizar transacciones (y sus


frecuencias de uso)

5.8. Disear vistas de usuario

5.2 Disear la representacin de


los datos derivados

5.5. Elegir organizacin del fichero

5.9. Disear mecanismos de


seguridad: al sistema y a los datos

5.3. Disear las restricciones


generales

5.6. Seleccionar ndices

5.10. Considerar redundancia


controlada (denormalizacin)

5.7. Estimar necesidades de


espacio en disco

5.11. Desarrollar transacciones

5.12. Puesta en marcha,


monitorizar y ajustar
55

Proceso de diseo de una BD

Alternativa metodolgica del ciclo de vida de la BDs


Orden

Fases

Anlisis de requisitos

Diseo conceptual

Eleccin del SGBD

Diseo lgico

Diseo fsico

Diseo de la carga

Implantacin

56

Fase 6: Diseo de la carga y transformacin BD

Objetivos

Disear cmo se poblar la BD con datos iniciales

Factores clave

Considerar todas las fuentes posibles

BDs antiguas de la organizacin

Documentacin no estructurada: textos, internet

Opendata y otras BDs compartidas

Disear todos los flujos de transformacin

Tipos de datos. Ej: texto decimal(10,2)

Atributos. Ej: <entidad type=customer > cliente.nombre

Estructuras. Ej: Fichero clientes relacin clientes

Disear un proceso que sea reutilizable.

Ej. Almacenando el procedimiento SQL

57

Fase 6: Diseo de la carga y transformacin BD

Formatos tpicos estructurados y semi-estructurados en origen

Comma-separated values (CSV).

eXtensible Markup Language (XML).

Ficheros de grficos e imgenes (DXF, DWG, IFF, JPG, LAS...).

Ficheros geogrficos (GDE, Shapefile SHP-, ECW, GEOTIFF, XYZ).

Hyper Text Markup Language (HTML).

JavaScript Object Notation (JSON).

Microsoft Office (DOC, DOCX, XLS, XLSX).

Open Office (ODT).

Really Simple Syndication (RSS).

Resource Description Framework (RDF).

58

Proceso de diseo de una BD

Alternativa metodolgica del ciclo de vida de la BDs


Orden

Fases

Anlisis de requisitos

Diseo conceptual

Eleccin del SGBD

Diseo lgico

Diseo fsico

Diseo de la carga

Implantacin

59

Fase 7: Implantacin

60

Herramientas

Herramientas CASE de ayuda al diseo de bases de datos

Microsoft Visio

Diseo conceptual: UML y ER simple + diccionario de datos

Conexin con Excel, Access, SQL Server, ODBC

MySQL Workbench

Diseo conceptual (ms lgico que conceptual): ER Crows Foot

Directamente entidad = tabla + relacin = clave ajena

Conexin con MySQL: opcin de sincronizacin del modelo con la BD

RISE Editor

Diseo conceptual (con limitaciones): ER Crows Foot

Generacin de script SQL para creacin BD.

61

S-ar putea să vă placă și