28.12.2014 Views

campo - Grupo Alarcos - Universidad de Castilla-La Mancha

campo - Grupo Alarcos - Universidad de Castilla-La Mancha

campo - Grupo Alarcos - Universidad de Castilla-La Mancha

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Diseño y Creación <strong>de</strong> BD<br />

<strong>Universidad</strong> <strong>de</strong> <strong>Castilla</strong>-<strong>La</strong> <strong>Mancha</strong><br />

3<br />

Etapas propuestas<br />

Francisco Ruiz<br />

octubre-noviembre 2002<br />

UCLM - F.Ruiz 1


! Métodos <strong>de</strong> diseño.<br />

– Concepto.<br />

– Tipos.<br />

– Método propuesto.<br />

» Características.<br />

» Etapas.<br />

! Conceptos utilizados.<br />

Contenidos (i)<br />

– Tablas.<br />

– Campos y Tipos <strong>de</strong> Datos.<br />

– Claves e índices.<br />

– Relaciones.<br />

UCLM - F.Ruiz 2


Contenidos (ii)<br />

! I<strong>de</strong>ntificar necesida<strong>de</strong>s.<br />

! Diseño inicial.<br />

! Diseño <strong>de</strong>tallado.<br />

UCLM - F.Ruiz 3


Métodos <strong>de</strong> Diseño<br />

! Conjunto <strong>de</strong> prácticas y conceptos para<br />

diseñar una clase <strong>de</strong> sistema.<br />

! También llamados metodologías.<br />

! Tipos <strong>de</strong> métodos:<br />

– Formales: Técnicas precisas y <strong>de</strong>finidas,<br />

lenguajes elaborados (no lenguaje natural).<br />

– Informales: Prácticas no precisas y lenguajes no<br />

precisos.<br />

– El lenguaje es un factor <strong>de</strong>terminante en la<br />

dificultad <strong>de</strong>l diseño.<br />

UCLM - F.Ruiz 4


Componentes básicos <strong>de</strong> una metodología<br />

MODELOS O TEORÍAS<br />

LENGUAJES<br />

ABCD<br />

DOCUMENTACION<br />

WWWW<br />

WWWW<br />

WWWW<br />

REGLAS<br />

OTRAS HERRAMIENTAS<br />

A U B → C<br />

Ent. → Rel.<br />

Int N:M → R<br />

UCLM - F.Ruiz 5


Características <strong>de</strong>l método propuesto (i)<br />

! Para BD/SGBD relacionales.<br />

! Informal => Ágil.<br />

– No requiere conocimientos técnicos.<br />

– No utiliza ningún lenguaje formal (matemático<br />

o informático).<br />

– Pero ... => No garantías <strong>de</strong> buenos resultados<br />

en casos <strong>de</strong> complejidad alta.<br />

UCLM - F.Ruiz 6


Características <strong>de</strong>l método propuesto (ii)<br />

! Iterativo:<br />

– Se repiten las tres etapas tantas veces como sea<br />

necesario.<br />

! Incremental:<br />

– En cada ciclo se aña<strong>de</strong>n nuevos datos a la BD,<br />

se incorporan al diseño inicial y se<br />

implementan en el diseño <strong>de</strong>tallado.<br />

! Ventaja principal:<br />

– <strong>La</strong> mayoría <strong>de</strong> las veces no se conocen todas las<br />

necesida<strong>de</strong>s <strong>de</strong> los usuarios <strong>de</strong>s<strong>de</strong> el principio.<br />

UCLM - F.Ruiz 7


Características <strong>de</strong>l método propuesto (iii)<br />

! Etapas:<br />

– I<strong>de</strong>ntificar necesida<strong>de</strong>s.<br />

» Conseguir información sobre la BD.<br />

! P.e.: estudiar los documentos escritos disponibles.<br />

– Diseño inicial.<br />

» Definir la estructura general <strong>de</strong> la BD.<br />

– Diseño <strong>de</strong>tallado.<br />

» Definir los <strong>de</strong>talles necesarios para su<br />

implementación en un or<strong>de</strong>nador.<br />

» Se crea la BD en el or<strong>de</strong>nador.<br />

UCLM - F.Ruiz 8


Características <strong>de</strong>l método propuesto (iii)<br />

! Etapas:<br />

– I<strong>de</strong>ntificar necesida<strong>de</strong>s.<br />

» Conseguir información sobre la BD.<br />

! P.e.: estudiar los documentos escritos disponibles.<br />

– Diseño inicial.<br />

(papel y lápiz)<br />

– Definir la estructura general <strong>de</strong> la BD.<br />

– Diseño <strong>de</strong>tallado.<br />

(or<strong>de</strong>nador y SGBD)<br />

» Definir los <strong>de</strong>talles necesarios para su<br />

implementación en un or<strong>de</strong>nador.<br />

» Se crea la BD en el or<strong>de</strong>nador.<br />

UCLM - F.Ruiz 9


Conceptos (i)<br />

! Tabla:<br />

Contenedor <strong>de</strong> los datos <strong>de</strong> una<br />

<strong>de</strong>terminada clase <strong>de</strong> objetos.<br />

AUTOR<br />

» Nombre.<br />

» Columnas: atributos / propieda<strong>de</strong>s / <strong>campo</strong>s.<br />

» Filas: datos <strong>de</strong> un objeto individual.<br />

Nombre Nacionalidad Institución<br />

Date, C.J.<br />

Codd, E.F.<br />

Norteamericana Relational Institute<br />

Norteamericana Relational Institute<br />

Ceri, S. Italiana Politécnico <strong>de</strong> Milan<br />

Campos o atributos<br />

F<br />

I<br />

L<br />

A<br />

S<br />

De Miguel, A.<br />

Española<br />

UC3M<br />

UCLM - F.Ruiz 10


Conceptos (ii)<br />

! Cada <strong>campo</strong> tiene una serie <strong>de</strong> propieda<strong>de</strong>s:<br />

– Nombre.<br />

– Tipo <strong>de</strong> Dato: : tipo <strong>de</strong> valores que pue<strong>de</strong> tener.<br />

» Entero, Fecha, Texto, ...<br />

– Valor por <strong>de</strong>fecto (pre<strong>de</strong>terminado).<br />

– Requerido (SI=> no admite valores nulos).<br />

– In<strong>de</strong>xado (SI => forma un índice <strong>de</strong><br />

or<strong>de</strong>nación-búsqueda).<br />

UCLM - F.Ruiz 11


! Claves:<br />

Conceptos (iii)<br />

– Uno o más <strong>campo</strong>s <strong>de</strong> una tabla que permiten<br />

distinguir a cada objeto individual (fila) <strong>de</strong> los<br />

<strong>de</strong>más.<br />

» => No pue<strong>de</strong> haber dos filas con igual valor.<br />

– Clave primaria: : <strong>La</strong> principal utilizada en una<br />

tabla (cuando existen varias).<br />

» Ejemplos: dni <strong>de</strong> Persona, código <strong>de</strong> asignatura.<br />

– Índice: : otras claves que no son primarias que<br />

interesa po<strong>de</strong>r buscar rápidamente por ellas.<br />

UCLM - F.Ruiz 12


4.2 Ajeas<br />

Conceptos (iv)<br />

! Una BD relacional es una colección <strong>de</strong> tablas ...<br />

! Pero ... entonces, ¿Representa la figura una BD<br />

relacional<br />

UCLM - F.Ruiz 13


Conceptos (v)<br />

! Respuesta: NO, porqué una BD (relacional o <strong>de</strong> otro tipo)<br />

es una colección <strong>de</strong> datos interrelacionados.<br />

=> Necesitamos asociar unas tablas con otras.<br />

Se llama clave ajena <strong>de</strong> una tabla<br />

R2 a un conjunto <strong>de</strong> <strong>campo</strong>s cuyos<br />

valores han <strong>de</strong> coincidir con los<br />

valores <strong>de</strong> la clave primaria <strong>de</strong> una<br />

tabla R1.<br />

- R1 y R2 pue<strong>de</strong>n ser la misma<br />

tabla.<br />

- <strong>La</strong> clave ajena y la<br />

correspondiente clave primaria<br />

<strong>de</strong>ben tener el mismo tipo <strong>de</strong> dato.<br />

- 1 R1 se asocia con muchos<br />

R2.<br />

UCLM - F.Ruiz 14


4.2 Ajenas<br />

Conceptos (vi)<br />

Ejemplo <strong>de</strong> claves primarias y ajenas<br />

AUTOR (Nombre, Nacionalidad, Institución, …)<br />

LIBRO (Código, Título, Idioma, Editorial, …)<br />

ESCRIBE (Nombre, Cod_Libro)<br />

clave ajena clave ajena<br />

Los atributos que forman la clave primaria se muestran subrayados<br />

UCLM - F.Ruiz 15


Conceptos (vii)<br />

! Propieda<strong>de</strong>s <strong>de</strong> las claves ajenas:<br />

– Tablas origen y <strong>de</strong>stino.<br />

– Campos <strong>de</strong> la tabla origen.<br />

– Campos <strong>de</strong> la tabla <strong>de</strong>stino (los <strong>de</strong> la clave<br />

primaria).<br />

– Exigir integridad referencial.<br />

– Actualizar / Eliminar en cascada.<br />

UCLM - F.Ruiz 16


I<strong>de</strong>ntificar necesida<strong>de</strong>s<br />

! El resultado es un documento en lenguaje<br />

natural (Castellano) incluyendo la lista <strong>de</strong><br />

necesida<strong>de</strong>s.<br />

! Pasos:<br />

– Estudiar los documentos existentes.<br />

– Decidir los datos que <strong>de</strong>ben almacenarse en la<br />

BD.<br />

UCLM - F.Ruiz 17


I<strong>de</strong>ntificar necesida<strong>de</strong>s: Ejemplo (i)<br />

! Base <strong>de</strong> Datos <strong>de</strong> CD’s <strong>de</strong> una tienda <strong>de</strong> música:<br />

– a) Existen dos tipos <strong>de</strong> obras: los CD’s individuales y las<br />

colecciones. <strong>La</strong>s obras se i<strong>de</strong>ntifican por su clave (parecida al<br />

ISBN <strong>de</strong> los libros) que es general para todo el mundo. También<br />

tienen un nombre.<br />

– b) Cada CD se pue<strong>de</strong> i<strong>de</strong>ntificar también por un número asignado<br />

por la propia tienda (#cd<br />

cd). Tiene un precio venta al público (PVP).<br />

– c) Cada CD incluye varias pistas, que están numeradas (1,2,3, …).<br />

De cada pista nos interesa el título <strong>de</strong> la canción que contiene y su<br />

duración. Dos o mas canciones <strong>de</strong> distintos CD’s pue<strong>de</strong>n tener el<br />

mismo título.<br />

– d) A cada colección pertenecen varios CD’s. Una colección tiene<br />

un promotor y un PVP (que se cobra al adquirirla entera), que<br />

suele ser mas bajo que la suma <strong>de</strong> los PVP’s <strong>de</strong> los CD’s que la<br />

forman.<br />

UCLM - F.Ruiz 18


I<strong>de</strong>ntificar necesida<strong>de</strong>s: Ejemplo (ii)<br />

! Base <strong>de</strong> Datos <strong>de</strong> CD’s <strong>de</strong> una tienda <strong>de</strong> música:<br />

– e) Cada CD ha sido realizado por uno o varios artistas. Los artistas<br />

se i<strong>de</strong>ntifican por su nombre. También interesa conocer <strong>de</strong> ellos el<br />

país y el estilo musical (rock(<br />

rock, , country, flamenco, música española,<br />

etc).<br />

– f) Los artistas pue<strong>de</strong>n ser personas individuales o grupos. Para los<br />

grupos interesa conocer también el número <strong>de</strong> componentes y sus<br />

nombres.<br />

– g) Se quiere tener otro fichero con datos <strong>de</strong> las compañías<br />

discográficas: su nombre (que las i<strong>de</strong>ntifica), su dirección en<br />

España (calle, número y código postal-cp<br />

cp-) ) y el país don<strong>de</strong> tienen<br />

la se<strong>de</strong> central.<br />

UCLM - F.Ruiz 19


I<strong>de</strong>ntificar necesida<strong>de</strong>s: Ejemplo (iii)<br />

! Base <strong>de</strong> Datos <strong>de</strong> CD’s <strong>de</strong> una tienda <strong>de</strong> música:<br />

– h) Cada compañía ha editado una o varias obras. Cada obra sólo la l<br />

pue<strong>de</strong> editar la compañía propietaria <strong>de</strong> sus <strong>de</strong>rechos, pero estos<br />

<strong>de</strong>rechos pue<strong>de</strong>n cambiar a otra compañía con el tiempo (por<br />

compra, cesión, etc). De cada obra pue<strong>de</strong> haber varias ediciones<br />

realizadas por la misma compañía (o por varias distintas si los<br />

<strong>de</strong>rechos han cambiado). Por tanto, <strong>de</strong> cada edición <strong>de</strong> cada obra<br />

interesa conocer la compañía que la ha realizado, así como su<br />

fecha.<br />

– i) Por último, se quiere saber para cada obra cual es la compañía<br />

propietaria actualmente <strong>de</strong> los <strong>de</strong>rechos (se necesita para saber a<br />

quién pedir mas ejemplares <strong>de</strong> la obra en caso <strong>de</strong> necesidad).<br />

UCLM - F.Ruiz 20


Diseño inicial (i)<br />

! El resultado son 2 documentos:<br />

– 1. Diagrama con la arquitectura <strong>de</strong> la BD.<br />

– 2. Lista <strong>de</strong> tablas y sus propieda<strong>de</strong>s.<br />

Tabla 2 (clave)<br />

<strong>campo</strong>s<br />

<strong>campo</strong>s<br />

Tabla 1 (clave)<br />

Tabla 3 (clave)<br />

<strong>campo</strong>s<br />

Tabla n (clave)<br />

UCLM - F.Ruiz 21


Diseño inicial (ii)<br />

! El resultado son 2 documentos:<br />

– 1. Diagrama con la arquitectura <strong>de</strong> la BD.<br />

– 2. Lista <strong>de</strong> tablas y sus propieda<strong>de</strong>s.<br />

Tabla1 Tabla3<br />

Campo 1 (clave) Campo 1 (clave)<br />

Campo 2 Campo 2<br />

Campo 3 → Tabla 2 Campo n<br />

Campo n<br />

Tabla n<br />

Tabla 2 Campo 1 (clave)<br />

Campo 1 (clave) Campo 2 → Tabla 3<br />

Campo 2 → Tabla 3 Campo 3<br />

Campo n<br />

Campo n<br />

Nombre <strong>de</strong> la tabla<br />

Nombres <strong>de</strong> los <strong>campo</strong>s<br />

Cuales forman la clave<br />

Cuales apuntan a otra tabla<br />

UCLM - F.Ruiz 22


Diseño <strong>de</strong>tallado (i)<br />

! El resultado es la base <strong>de</strong> datos creada y<br />

preparada en un or<strong>de</strong>nador para contener<br />

datos.<br />

! Pasos:<br />

– Crear cada tabla:<br />

» Añadir sus <strong>campo</strong>s con sus propieda<strong>de</strong>s.<br />

» I<strong>de</strong>ntificar la clave primaria.<br />

– Crear cada relación.<br />

UCLM - F.Ruiz 23

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!