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
3

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


5

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
7

Introduccin

Factores crticos de xito para una


metodologa

Introduccin

Ciclo de vida desarrollo sistemas de


informacin

Introduccin

Ciclo de vida desarrollo sistemas de


informacin

10

Introduccin

Ciclo de vida desarrollo sistemas de


informacin

11

Introduccin

Ciclo de vida desarrollo sistemas de


informacin

12

Introduccin

Ciclo de vida desarrollo sistemas de


informacin

13

Introduccin

Ciclo de vida desarrollo sistemas de


informacin

14

Introduccin

Ciclo de vida desarrollo sistemas de


informacin

15

Introduccin

Ciclo de vida desarrollo sistemas de


informacin

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


Planificacin
la siguiente
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

Asignatura Gestin de la Informacin

MBITO:
Bases de datos
Transacciones
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

E
D
S E
A
C
D
I
N
T
N
4

C
I

1
TI
C 20
R
A
P ES M 3G O R 01
F
2
N
I SO
R
U
C

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

24

Proceso de diseo de una BD

Alternativa metodolgica del ciclo de vida


de la BDs

En cascada: versin particular para las BDs

25

Proceso de diseo de una BD

Alternativa metodolgica del ciclo de vida


de la
BDs
Orde
Fases

n
1

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

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
til en sistemas con alto
solapamiento de
requisitos entre usuarios
En sistemas simples

Req.
Usu 1

Req.
Usu 2

Req.
Usu 3

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.

Req.
Usu 1

Req.
Usu 2

Req.
Usu 3

En una segunda fase


mantienen algunos
diseos locales, otros se
han fundido

Diseo global 1

Diseo
local 2

Solucin de compromiso
para la mayora de los
casos
42

Proceso de diseo de una BD

Alternativa metodolgica del ciclo de vida


de la
BDs
Orde
Fases

n
1

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

45

Proceso de diseo de una BD

Alternativa metodolgica del ciclo de vida


de la
BDs
Orde
Fases

n
1

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)

P: Prueba
en
condicione
s idnticas

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


resultados de comparacin entre MYSQL Server
4.1.11 y SQL Server 2000
D: Velocidad
http://www.monografias.com/trabajos29/comparaci
ejecucin
normal
on-sistemas/comparacion-sistemas2.shtml

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)
Caracterstica

Tipos de datos

Mysql 4.1

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

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

(Rojas&Gonzlez)

Completo

Completo
Completo
Completo

a partir de la versin 5.0


a partir de la versin 5.0

Completo
Completo

Completo

Mysql con el tipo de tabla


Innodb

Completo

Proceso de diseo de una BD

Alternativa metodolgica del ciclo de vida


de la
BDs
Orde
Fases

n
1

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

52

Proceso de diseo de una BD

Alternativa metodolgica del ciclo de vida


de la
BDs
Orde
Fases

n
1

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

55

Proceso de diseo de una BD

Alternativa metodolgica del ciclo de vida


de la
BDs
Orde
Fases

n
1

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
Orde
Fases

n
1

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