Your SlideShare is downloading. ×
•
t

ESQUEMA
CONCEPTUAL
•••••••••••••••••••••• ••••••••••••••••••••••••

,

INDICE

PRÓIJOGO
PRRFACJO

oo •••••• •••••••••••••••••••••••••••••••••...
VIII

DISeÑO DE BASES DE DATOS: PROBI.EMAS RESUELTOS

PROBLEMA 13: PARQUES NATURALES
PROBLEMA 14: GESTIÓN DE HOSPlTALES
PR...
• •••••••••••••••••••••

••••••••••••••••••••••••

'"

PROLOG()

/)isc'lio de Bases di' Datos: Problentas Resucttos se pre...
XIJ

DISEÑO DE BASES IJE DA'I OS: I'ROBI.Et-.'lAS RESUfil,TOS

1) RA

Mil

con las nuevas responsabilidades del área de Le...
•••••••••••••••••••••••

t •••••••••••••••••••••
XIV

DISEÑO DE liASES I>F: ()ATOS: PROBI.EMAS RESUELTOS

f)

HA MA

Algun...
XVI

DISEÑO DE BASES DI.!DATOS: PROBLEMAS RESUELTOS

ORA MA

teoría de la normalizacián y herramientas CASE para el desarr...
•••••••••••••••••••••••••••••••••••••••••••••••
2

o RA·M"

DISEÑO DE BASES DE DATOS: PROBLEMAS RESUELTOS

identificación,...
() RA·MA

~

CAP!TULO l : DISEÑO CONCEPTUAL: MODELO EIR

OkAMA

DISENO I>E LIASES DE DATOS: PROULEMAS RESUEI.TOS

(1.1). (...
•••••••••••••••••••••• ••••••••••••••••••••••••
h

o RA·MII

DISEÑO DE BASES DE DITOS: PKOBLEMAS RESUeLTOS

B. ALGUNAS HEU...
~

CAPíTULO 1: DISEÑO CONCEI'TUAL: MODELO ElR 9

ORAMA
ORA MA

¡¡ DISEÑO DE BASES I)E DATOS: PROBLeMAS RESUELTOS

•

Inter...
••••••••••••••••••••••• •••••••••••••••••••••••
10 DISEÑO DE BISES DE I)I1'OS: PROBLEMAS RESUELTOS

•

•

Jerarquía exclus...
12 DISEÑO DE BASES Oc DATOS: PROBLEMAS RESUE1.TQS

o RA.M/

semánticamente equivalentes. Existe redundancia en un esquema ...
•••••••••••••••••••••••
o RII·Mi

14 DISEÑO DE !JASES DE DATOS: PROBLEMAS RESUELTOS

• Interrelación Está_En: Una VIVIENDA...
~

1(>

ORA·MA

DISEÑO I)I! BASE.'; DE DA'I OS: PROBLEMAS RESUEI.TOS

~C'!.!/~l'j:.:.1
!.:lI:..::1.0~1
: DISEÑO CONCEPTUAL...
~

•••••••••••••••••••••
ORA-MA

IR

DISEÑO Oc RASES DE DATOS: PKOBLEMAS RESUELTOS

"Un curso puede tener co/no prerreqlll...
~

ORA M.o.

20

4)

CAPíTULO 1: OISIiÑO CONCEPTUAL: MODELO EIR

RA-MA

21

DISr:ÑO OE BASES OH DATOS: PROBLHMAS RESUELTOS...
••••••••••••••••••••••• •••••••••••••••••••••••
22

CAPITULO 1: DISEÑO CONCEPTUAL: MODELO I'/R

ORA·MA

DISEÑO DE BASES 1>...
24

e RA·MA

DISFÑO DI,. IIASFS DE DATOS: PROFll.EMAS RESUhLTOS

Cada partida se celebra en una de las salas de las que pu...
~

••••••••••••••••••••••••••••••••••••••••••••••

ISEÑO DI· 13/';l:.'; 1>1'nATO"' PROOLLIIAS RESllJ

-

lOS

• K  '"

rnr...
It 1

cxraría compuesto pilr tres atributos. "Arlo", "Mes" y "Día". que recogerá sólo in
nación acerca oc los ola, en que ...
••••••••••••••••••••••• ••••••••••••••••••••••••

CAPrTUI.O 1: DISEÑO CONCEPTUAL: MODELO EIR 31

JO

DISEÑO DE BASES DE DA...
32

Una subestación es abastecida sólo por una línea y distribuye a una o varias zonas
de servicio. a tales efectos, las p...
~

•••••••••••••••••••••• •••••••••••••••••••••••
.
34

-

CAPITULO 1: DISENO CONCUPTUAL: MODELO ElR

ORA,"'.

() MII·MII
...
...:(.:.;'''I'I ULO 1: DISEÑO rONCIiI'TlJAL: ]1101>1'1.0 EIR
r

~O:..::R::.:/I..;;M:.:;A~

1(,

I>ISI 0:01>1' II,'<;I'S 1)...
••••••••••••••••••••••• •••••••••••••••••••••••
311 D IS E ÑU 01; 11AS 1;S DI: 1> A'I~'(!:;lS,,-: B:!.!L~E~·"'::.:l U:!.!E...
~('~;I'ITIILO 1: DISEÑO CON('hP1'lJAL: MODEl.O FJR -1 I

~O~MA:;:.;:.!M.::..A

-lO

nlSLNO 1>11I/"ES DE I)¡ lOS' "ROIII.EM...
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Diseño de Bases de Datos - Problemas Resueltos
Upcoming SlideShare
Loading in...5
×

Diseño de Bases de Datos - Problemas Resueltos

68,733

Published on

En el libro mediante una colección de 50 problemas se ponen en práctica los conceptos teóricos sobre metodologías de desarrollo de Bases de Datos, análisis conceptual utilizando el modelo
E/R, diseño lógico empleando el modelo relacional, teoría de normalización de relaciones y Bases de Datos distribuidas. Cada capítulo incluye una introducción con una panorámica de los aspectos teóricos requeridos para poder resolver los problemas propuestos.

Published in: Education
6 Comments
16 Likes
Statistics
Notes
No Downloads
Views
Total Views
68,733
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
46,353
Comments
6
Likes
16
Embeds 0
No embeds

No notes for slide

Transcript of "Diseño de Bases de Datos - Problemas Resueltos"

  1. 1. • t ESQUEMA CONCEPTUAL
  2. 2. •••••••••••••••••••••• •••••••••••••••••••••••• , INDICE PRÓIJOGO PRRFACJO oo •••••• ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••• , CAPfTUI..O 1: DISEÑO CONCEPTUAl,: MODELO E1R XI , ••••• •••••• . XIII . INTRODUCCIÓN .................................................................................... PROBLEMA 1: HABITANTES y MUNICIPIOS . PROBLEMA 2: CURSOS DE FORMACiÓN . PROBLEMA 3: CAMPEONATO DE AJEDREZ . PROBLEMA 4: ENERGíA ELÉCTRICA .. PROOLI!MA 5: CONFLICTOS BÉLICOS .. PROBLEMA 6: GESTlé)N I)E NÓMINAS .. PROBLEMA 7: ENTORNO DE EJRe'UClóN . PROBLEMA 8: ORGANIZACIONES NO GUBERNAMENTALES .. PROBLEMA 9: ADMINISTRACiÓN I)E FINCAS .. PROBLEMA 10: VENTA DE COCINAS PROBLEMA JI: ALQUILER DE VEH íCULOS . PROB).EMA 12: EMPRESA NUMISMÁTICA .. I 12 17 -_ ?~ 31 40 49 59 66 72 . ~~ 90 96
  3. 3. VIII DISeÑO DE BASES DE DATOS: PROBI.EMAS RESUELTOS PROBLEMA 13: PARQUES NATURALES PROBLEMA 14: GESTIÓN DE HOSPlTALES PROBLEMA 15:OLIMPIADAS DE INVIERNO INTROOUCCIÓN 2.1. MODELADO REI.ACIONAL PROBLEMA PROBLEMA PROBLEMA PROBLEMA PROBLEMA PROBLEMA PROBLEMA PROBLEMA PROBLEMA PROBLEMA 1: ALOJAMIENTOS . RURALES 3: PINACOTECAS 4: CASOS DE,CORRUPCIÓN 5: COMISARIA 6: CAMINO DE SANTIAGO 7: PROYEC1'OS DE INVES1'IGACIÓN 8: NA VES ESPACIALES RELACJONAL 9: EMPRESA DE l'RABAJO TEMPORAL 1 (): F()ND()S BIBLIOGRÁFICOS DISTRJBULDAS 429 .. . .. .. .. 429 CAPÍTUI.() 5: DISEÑO CON HERRAMIENTAS CASE .. 459 INTRODUCCiÓN CASO PRÁCTICO 1: BASURA ESPACIAL CASO PRÁCTlCO 2: SEGUROS DE AU'rOMÓVIL 143 . .. .. . BASES DE DATOS DISTRIBUIDAS PROBLEMA 1: BDD SOCIEDADES MÉDICAS PROBLEMA 2: BDD UNIVERSIDAD CARLOS 111. PROBLEMA 3: BDO SERVICIOS INFORMÁTICOS PROBLEMA 4: BOD OFICINAS DEL INEM 143 151 159 168 179 190 .. . . CAPÍTULO 4: DISEÑO .)E BASES I)E 125 .. . . .. .. .. 201 212 223 . nvros REI.ACIONALES APÉNDI(:E: I.ISTA DE ACRÓNIMOS Y Ar~REvIAl'URAS 232 llllliIO(;RAFIA DI<:f!:SQUEMAS FJR A ESQUEMAS REI ,ACIONAI"ES IX 405 418 PROBLEMA 9 PROBLEMA 0 I 125 . 2: AVES 2.2. TRANSFORMACI()N PROBLEMA PROBLEMA PROBLEMA PROBLEMA PROBLEMA PROBLEMA PROBLEMA PROBLEMA PROBLEMA PROBLEMA 103 111 1 17 .. . . . CAPÍTULO 2: OISEÑO I.ÓGICO: MODELO RELACIONAL fNDICE (lRA MA , .._ 440 443 447 452 459 .. 460 . 469 . 483 . 485 . 487 247 , 1: ('URSOS DE FORMACION 1: CAMPEONA'r() DE AJEDREZ 3: ENERGíA ELÉCTRICA 4: CONFLIC'rOS BÉLICOS 5: GES"rIÓN DE NÓMINAS 6: ENTORNO DE EJECUCIÓN 7: ORGANIZACIONES NO GUBERNAMENTALES 8: ADMINISTRACIÓN DE FINCAS 9: GESTIÓN DE HOSPITALES 10: OLIMPIADAS DE INV1ERNO CAPÍTUI.O 3: NORMALIZACiÓN . .. . .. . .. . .. .. .. fNDJCE AI,FABÉTIC() 247 252 258 266 274 281 287 292 298 305 DE REI.ACIONES........................... 313 INl'RODUCCIÓN PROBLEMA t PROBLEMA 2.......................................................................................... I')R()BLBMA 3 PR()OLEM¡4.......................................................................................... PROBLEM/ 5.......................................................................................... PROl3LEMA 6.......................................................................................... PROBLEMA 7 PROBl ... MA H.......................................................................................... H 313 325 338 345 351 3(..,7 373 83 391 1 ••• ,... ................................................................ 3 • •••••••••••••••••••••••••••••••••••••••••••••••
  4. 4. • ••••••••••••••••••••• •••••••••••••••••••••••• '" PROLOG() /)isc'lio de Bases di' Datos: Problentas Resucttos se presenta en el panorama editorial corno un instrumento de valiosa ayuda tanto para los estudiantes de Informática como para los profesionales del desarrollo de software que pretendan dominar las diversas técnicas requeridas para el Diseño de Bases de Datos. Sus más de 50 problemas con su respectiva solución comentada lo convierten en un auténtico manual de auto-aprendizaje de esta disciplina y que complementan a otras obras dedicadas a los aspectos más teóricos del diseño de Bases de Datos en mayor medida. En definitiva, es éste un libro para trabajar con él en el que se esclarece la praxis. de modo que el lector puede ir adquiriendo un mayor grado de dominio en cada una de sus técnicas de una forma amena y sencilla. Por otra parte, e!' muy grato para mí tener la oportunidad de prologar este libro realizado por un grupo de discípulos de mi gran amiga, In profesora doña Adoración de Miguel, que tan inesperadamente nos dejó. Con esta obra queda patente que su equipo sigue vivo, continuando su dedicación y esfuerzo y en la dirección que ella les • marco. de lnlonnáticu de la Universidad Politécnica de Madrid y uhnra compañera. Paloma Manfncz, por '11 capacidad para abordar la coordinación de esta obra cumpagimimlola Asimismo, me siento orgulloso de mi antigua ulumnu tic la I'acultad
  5. 5. XIJ DISEÑO DE BASES IJE DA'I OS: I'ROBI.Et-.'lAS RESUfil,TOS 1) RA Mil con las nuevas responsabilidades del área de Lenguajes y Sistemas Infonnáticos del Departamento de Informática de la Universidad Carlos IU de Madrid, así corno otro tipo de responsabilidades recientemente adquiridas que se desprenden de su nueva condición de madre, Enhorabuena. Por último. no quisiera finalizar estas líneas sin hacer una pequeña rnenci6n al profesor don Isidro Ramos, quien desde el Mediterráneo siempre ha tendido la mano generosa, confiando y apoyando a este grupo que se siente en deuda con él. Antonio de Amesrua Madrid. 20 de septiembre de 2000 PREFACIO La obra se centra en el diseño de bases de datos desde un punto de vista eminentemente práctico. Nuestra experiencia docente en la universidad. ha puesto de manifiesto la dificultad a la que se enfrentan los alumnos cuando realizan tareas de análisis y diseño de bases de datos. Por ello, los objetivos que nos hemos propuesto al escribir este libro son: _ Proporcionar una colección de problernas que sirva al lector para poner en práctica los conceptos teóricos de análisis. diseño e implementación de bases de datos. - Abordar la resolución de los problemas de una justificando en todo memento las decisiones de diseño. forma comprensible _ Emplear unos principios metodológicos que ayuden a los analis:a~ y diseñadores de bases de datos a elaborar esquemas conceptuales y lógicos intentando perder la mínimn semántica. Dar a conocer el soporte que pueden ofrecer las herramientas CASE en el desarrollo de bases de datos . •••••••••••••••••••••••••••••••••••••••••••••••
  6. 6. ••••••••••••••••••••••• t ••••••••••••••••••••• XIV DISEÑO DE liASES I>F: ()ATOS: PROBI.EMAS RESUELTOS f) HA MA Algunos de los ejercicios propuestos provienen de p rácticas y exámenes propuestos en nuestras asignaturas de Bases de Datos de las titulaciones de Ingeniería Técnica en Informática de Gestión e Ingeniería Informática de la Universidad Carlos 111 de Madrid. en la que los autores son profesores. La idea fue elaborar un texto que fuera el complemento práctico a los libros Diseño de Bases de Datos Relacionales de Adoración de Miguel. Mario Piattini y Esperanza Marcos y Fundamentos y Modelas de Bases de [Jatos de Adoración de Miguel y Mario Piauini. ambos publicados en esta misma editorial. CONTENIDOS El libro está estructurado cn cinco grandes bloques: Diseño conceptual. Diseño Lógico, Teoría de la Normalización, Bases de Datos distribuidas y Casos Prácticos cornpletos desarrollados con herramientas CASE. La razón de esta división viene dada porque creernos que esta estructura es la que mejor se ajusta a las fases rnetodológicas y aspectos cruciales (Iel Diseño de Bases de Datos. El capítulo de Discñ« Conceptual contiene una parte introductoria en la que se recuerdan brevemente los conceptos teóricos y notación del modelo E/R, así corno algunas guías metodológicus para la elaboración de las soluciones él los casos propuestos. El resto de este capítulo lo forman 15 ejercicios desglosados cn varios pasos; en cada uno ele los cuales se estudiará un conjunto de supuestos scnuinricos que darán lugar él un suhcsqucma ElR ti [orm a que se irán añadiendo elementos ul c subes.qucrna obtenido cn el paso anterior y así sucesivamente hasta completar el estudio de todos los supuestos semánticos contemplados en el enunciado del problema. Supondremos ~ue el enunciado constituye una descripción correcta (y casi siempre completa) del Universo del Discurso. Dos de los ejercicios de este capítulo. exactamente los problemas 2 y 14, ya fueron propuestos en los apéndices del libro Diseño de Bases de Datos Relacionales, pero no se desarrollaron las soluciones. El capítulo de Diseño Lógico contiene una introducción a modo de recordatorio del modelo relacional y su notación, reglas de transformación de un esquema E/R a un esquerna relacional y álgebra relacional. A continuación. existen dos bloques de problemas. El primero engloba 10 ejercicios prácticos de modelado relacional en los que se obtiene el esquema lógico estándar de la BD (grafo relacional) él partir de un conju.l~to de supuestos semánticos que describen el problema junto con el script de creacion de la BI) en SQL-92. Aderruix. se muestran varias consultas CII S(~L-1.)2 y álgebra relacional. El segundo bloque lo forman 10 problemas (cuyos enunciados se resolvieron en el capítulo de Diseño Conceptual) en los que se obtiene un esquema relacional a partir de un esquema E/R. El capítulo dedicado a la Nonnalizución de relaciones se estructura en una introduccióu tcóricn en la que se mucxtran muy brevemente aspectos del cálculo de las e RA PREFACtO MA XV dependencias, cálculo de formas normales y algoritmos de análisis y síntesis, y en un conjunto de 10 ejercicios. Los ejercicios 3, 4, 5 y 6 también fueron propuestos en el libro Diseño de Bases de Datos Relacionales y aunque se indicaban el resultado final de la solución no se desarrollaron por completo. Por ello, aprovechamos aquí para presentar las soluciones completas. El capítulo dedicado a las Bases de Datos distribuidas contiene una introducción en la que se describen las características y arquitecturas de las Bases de Datos distribuidas así como los algoritmos de diseño de este tipo de Bases de Datos. Se muestran 4 ejercicios de d iseño en los que se construyen los esquemas de fragmentación y asignación a partir de la especificaciones del problema s Finalmente, el último capítulo incluye dos casos prácticos completos resueltos con dos herramientas CASE comerciales. Para el primero de ellos se ha utilizado la herramienta CASE ERwin y para el segundo la herramienta Designer 2000 de Oracle. En ambos casos se realiza el desarrollo completo de una base de datos desde la fase de análisis hasta la implementación en un Sistema de Gestión de Bases de Datos comercial. El objetivo d estos casos prácticos es mostrar la potencialidad de las e herramientas CASE para ayudar en el desarrollo de Bases de Datos. ORIENTACIÓN A LOS LECTORES La audiencia a la que va diri gida el libro es muy amplia: alumnos de las asignaturas de Diseño de Bases de Datos en facultades, escuelas universitarias y escuelas de formación profesional, así como profesionales informáticos que trabajen en el área de bases de datos (analistas, programadores, etc.). OTRAS OBRAS RELACIONADAS De Miguel, A. y Piattini, M. (1999). Fundamentos y modelos de bases de datos. 2' ed. Ed. Ra-Ma, Madrid. Este libro constituye el complemento teórico al capítulo 2 de La presente obra. ya que presenta los conceptos fundamentales de la tecnología de bases de datos, analizando en profundidad el modelo relacional y el lenguaje SQL De Miguel. A., Piauini, M. y Marcos. E. (1999). Diseño de bases de datos relacionales. Ed. Ra-Ma, Madrid. Es/e libro constituye el complemento teárico a los canüulos 1, 3, 4.v 5 ele la presente obra, ya que presenta COII detalle el concepto de modelo de da/os, una metodologia de desarrollo de bases de datos. el modelado conceptual utilizando el modelo E/R, las reglas de trunsfonnacián de esquemas conceptuales (1 esquemas relacionales. la ,
  7. 7. XVI DISEÑO DE BASES DI.!DATOS: PROBLEMAS RESUELTOS ORA MA teoría de la normalizacián y herramientas CASE para el desarrollo de bases de datos. TESTIMONIO DE RECONOCIMIENTO Este libro se comenzó unos meses antes de que falleciera Adoración de Miguel. catedrática y responsable del grupo de Bases de Datos Avanzadas del Departamento de Informática de la Universidad Carlos 111de Madrid. Durante todos los años que hemos trabajado juntos, Adoración no sólo nos ha transmitido conocimientos teóricos, inquietudes científicas e interés por la enseñanza, sino también unos valores humanos de gran significación para nosotros. Su gran perseverancia tant en la labor docente o como en la investigadora y la coherencia dernostrada a 10 largo de su actividad profesional han sido para todos nosotros un estímulo que esperarnos no desaparezca nunca de nuestras vidas. También deseamos agradecer a Antonio de Arnescua el apoyo r cibido para e llevar a término este trabajo así corno a nuestros compañeros del Departamento de Informática de la Universidad Carlos Ill, y a Juan de Dios García y Carmen Sánchcz por su colaboración en la preparación inicial del libro. Parte del material de esta obra se ha desarrollado en el marco del proyecto 'rlc 1999-0215 (PANDORA: Plataforma CASE para el Aprendizaje y Desarrollo de Bases de Datos y su Enseñanza vía Internet) subvencionado por la CICYT. Por ello. desearnos mostrar nuestro agradecimiento a la CICYT por la subvención concedida. Deseamos expresar nuestro agradecimiento a nuestras familias y amigos que han soportado pacientemente nuestras horas extras de trabajo y que nos han ofrecido en todo momento su apoyo incondicional. Por último, nos resta agradecer Ramírez, su inestimable ayuda. a la editorial Ra-Ma, en especial a José Luis Los autores Madrid. septiembre de 2000 CAPÍTULO - CONCEP"rUAL: DISENO 1 MODELO E/R INTRODUCCIÓN Guías metodológicas para abordar la resolución de los problemas La elaboración de un esquema ElR que recoja la semántica de un determinado Universo del Discurso es un proceso creativo para el que no existe un procedimiento definido. Sin embargo, sí es posible seguir una serie de recomendaciones o heurísticas que nos ayuden en el diseño. Estas recomendaciones no son reglas que siempre funcionen sino que en algunos casos son adecuadas y en otros no. A. ALGUNAS HEURÍSTICAS PARA LA IDENTIFICACIÓN OIS'I'JNrros CONSTRUC1'()RRS DE LOS En la primera propuesta del Modelo E/R, Chcn (1976), se distinguen tan sólo tres clases de objetos: entidades, atributos e interrelaciones. El modelo que se utilizará en la fase de modelado conceptual en los ejercicios de este libro es el modelo ElR extendido que añade al modelo básico un conjunto de constructores que ayudan a recoger mayor semántica del universo del discurso (cardinalidades mínimas y máximas en las interrelaciones, generalizaciones. dependencia en existencia y en ~ ••••••••••••••••••••••••••••••••••••••••••••••
  8. 8. ••••••••••••••••••••••••••••••••••••••••••••••• 2 o RA·M" DISEÑO DE BASES DE DATOS: PROBLEMAS RESUELTOS identificación, etc.). ReaJmente no se trata de un único mod~lo. sino dc una familia de d los dado que cada autor lo especializa y le añade distintos constructores. La descripción completa de este modelo se encuentra en De Miguel el al. (1999). En este apartado se expondrán brevemente cuáles son los cons~ructores de los que consta el rnodclo ElR extendido con el fin de facilitar la comprensión de los problemas. Las entidades son los objetos principales sobre los que dehc. recogerse ínformacién y gcneralmente denotan person.as, lugar~s, cosas o eventos de Interés. La: entidades aparecerán reflejadas en el enunciado habitualmente como nombres. A cad, una de las posibles ocurrencias (cada persona, lugar, cosa o evento concreto) de la o R...·MA CAPfTUlO 1: DISb~O CONCEIYfUAl: MODELO EJR J También es posible recoger otras restricciones semánticas sobre los atributos aparte de las ya mencionadas de atributos Identificadores Principales y Alternativos. Asl, hablamos de atributos obligatorios/opcionales (si un atributo debe tornar o no un valor), atributos univaluadoslmultivaluadas (si un atributo torna un único valor o varios). atributos derivados (si su valor se obtiene a partir de otros elementos del esquema ~JR). atributos compuestoslsimples (dependiendo de si un atributo es o no un agregado de otros atributos). / su vez, estas restricciones se pueden combinar entre sí (p~eden existir en un esquema EfR atributos multivaluados simples opcionales, univaluados compuestos opcionales, rnultivaluados obligatorios. multivaluados compuestos. etc.) entidad se le denomina ejemplar. Los atributos se utilizan para detallar las entidades asignándoles propi~dades descriptivas tales como nombre, color y peso. ~~isten dos .ti~os ~e atributos: identificadores Y descriptores. Los primeros se utlJ¡z~n para ~I~tlng~l~rde. manera única cada una de las ocurrencias de una entidad (dlstln~ulendose entre Identificadores Principales e l~J~nt(fic(/dores A.lternativ~S), nllen.t~as que .I{~~ descriptores se utilizan para describir. una ocu~encla de .entldad. ~o s~)I~ pos~b es especificar atributos en la entidades sino también en las Interrel~clon~s (en este caso sólo tiene sentido hablar de atributos descriptores y no de Identificadores). Los atributos también aparecerán reflejados en el enunciado. generalmente, como nombres. En relación con los atributos también existe el concepto de dominio (conjunto de valores sobre los que se define el atributo). Aunque ~e .pueden representar expHcitalnente en los esquemas ElR (como se mues~ra en el slg.ulentc apartado do.n~e se reflejan las notaciones) en los problemas de este libro se co~slder~rá que el dominio toma el mismo nombre que el del atributo. Por ejemplo, la enl1.d~d~;vtPLEADO.p~ed; tener el atributo "Est.ado Civil" definido sobre el dominio Estados Clv~les (compuesto por los valores Soltero. Casado, Viudo, Divorciado) y cuyas dos posibles representaciones en el esquema EIR se muestran en la figura 1.1. o Estado Civil ESlado Civil Notación adoptada en este libro Figura 1.1. Representación de dominios Finalmcnre. las interrelaciones representan asociaciones del mundo real entre una () más entidades, Las interrelaciones se caracterizan por su nombre, el grado (número de entidades que participan en la interrelación), el tipo de correspondencia (número máx imo de ejemplares de una entidad asociados él una combinación de ejemplares de las otras entidades en la interrelación, que puede ser IóN). Así. en el ejemplo de la figura 1.2 se observa que el tipo de correspondencia de la interrelación Participar es l:~,. es decir. un :n~plead{) participa como máximo en un proyecto y en un proyecto participan corno maximo N empleados. Al igual que en las entidades se de~omina . ejemplar: de la interrelación a cada combinación de ejemplares de' las entidades Interrelacionadas que constituyen una ocurrencia en la interrelación. Estados Civiles D Las entidades pueden clasificarse por la fuerza de sus atributos identificadores. es decir, por su dependencia o no dependencia respecto a otras entidades. Las entidades fuertes. tienen existencia propia, es decir, poseen identificadores internos que determinan de manera única la existencia de sus ocurrencias. Las entidades débiles pueden serlo por dos motivos: bien porque su existencia en la SD depende de una entidad fuerte. bien porque requieran para su identificación de los atributos i~enlificadores (algunas veces llamados atributos externos) de otra entidad, por ejemplo, no poseen atributos identificadores internos que permitan la identificación de cada una de sus ocurrencias y requieren la presencia de atributos externos. En el primero de los casos se habla de Dependencia en Existencia y en el segundo de Dependencia en ldentificocián', cMPL~Al)O Un constructor que amplia la semántica recogida en una interrelación es la restricción de cardinalidad. Se definen las cardinalidades máximas y mínimas de las e~ltidadcs que particip.an en una interrelación como el número máximo y mínimo de ejemplares de una entidad que puede relacionarse con un único ejemplar de la otra. u otras entidades que participan en la interrelación. De Miguel el al. (1999). Gráficamcruc. las restricciones de cardinalidad se representan por una etiqueta, (0, I ).
  9. 9. () RA·MA ~ CAP!TULO l : DISEÑO CONCEPTUAL: MODELO EIR OkAMA DISENO I>E LIASES DE DATOS: PROULEMAS RESUEI.TOS (1.1). (D.N) o (I.N)!. situada en la línea que conecta representa el tipo de interrelación (ver figura 1.2). la entidad con el rombo que I:N Et.11'1.EAI)() I'ROy El-IX) (I.Nl en b,II'/.I:II/)() lIluic .. que .111 ~jCllllllllr de la 1.'lIlulllJ I 'OY/;(TO c,I(1 rc1aCIII1HUlu UII<I CI moí, cjcmpl~rc' de la l."" cllud:..1J:f>II'/J0/)() en 1.IIIIII'II~hll'"m /'"!110/N". tll.l) en PRUYecrO IIIJlca 4UI' un ~JCnlplar de I~I éllliJ:oJ / ,II'L&II)() c.,lá rd.I<"'",t<~1 <1111l'en' () un ejelllpl:u de 1 .. cnud ..J I'RO)'f'C-1V la IIlll',rd:",i.in /'"rlw'/",r. <,, s (c~n idenficador "N°-Elnp" )' descriptores "Nombre-Emp", "Fecha-Nacimiento", " Salario", "Pulsaciones"), TECNICO (con identificador "N°-Et11P" y descriptores "Nornbre-Emp' . "Experiencia", ..Años-de-Experiencia "). ldcntificarnos que EMPLEADO es una generalización de INGENIERO S/~'(.'RETAI(/() y T6CNIC(), Entonces redistribuimos los atributos entre las entidades: Situamos el identificador "N'l-Erup" y los descriptores genérico); "Nombrc-Emp" "D~recci6n-Fa~iliar", "Fecha-Nacimiento", "Descripción-Puesto" y "Salario" en I~ ent~da<.lsupertipo EMPLEAD(), ponemos el descriptor específico "Especialidad" en la entidad INGENIERO; ponernos el descriptor específico "Pulsaciones" en la entidad :E'~RETARIC: Y,. último, ponemos los descriptores específicos "Experiencia" y Años-Experiencia en la entidad TÉCNICO, La figura 1,3 muestra el esquema E/R resultante, ~?r Figura 1,2, Ejemplo de CClrdÍl,,/lidodes niinimas y máximas N··En<p NI)nhrr·EnIJ' I)j r~C'1:IÓ n-Farn ¡llar En los enunciados, la aparición de verbos podrá indicarnos, en algunos casos. la existencia de una interrelación en el e squema E/R. De ..cripcién-Puesto EMI'I.F.AI)( I En cuanto n las generalizaciones, nos proporcionan un mecanismo de ab,stracción que permite especializar una entidad (que se denonlin,ará supenipo) ~n subtipos. o lo que es igual. generalizar los subtipos en el superupo. ,Oc esta lorma. vernos un conjunto de ocurrencias de una entidad como ocurrencias de otra entidad (COl110 sucede también en las jerarquías "es_un" de la~ redes semánticas). Por ejemplo, una . "Persona" es un "Animal" y un "Reptil" es un "Animal"; en este caso, HA'ru 111a 1" pue d e considerarse el supertipo y "Persona" y "Reptil" son subtipos de "Animal", Las ocurrencias o ejemplares de "Persona" lo son también de "Animal" e igual sucede con las de "Reptil". f_" pecia I¡«(:'ú Podren1os identificar generalizaciones s encontramos una serie ~e ~tributo~ i comunes a un conjunto de entidades, Esta situación se da con frecuencia SI se esta realizando un proceso de integración de vistas, De Miguel el al. (1999), Est~s atributos comunes describirán al supcrtipo y los atributos particulares permanecerán en los subtipos, Puede ocurrir que los subtipos no ten~an atribulOS, propios: en ese caso, sólo existirán subtipos (aun cuando por recoger mejor la senlán~lca, esto~ puedan reflejarse) ~i éstos van a participar en interrelaciones (aparte de las InterrelaCiones en las que participe el supcrtipo). Por cjcmplu, supongamos las siguientes entidad~s id~I~,lificuda:~ eon IIn ~nivers() del discurso ele una empresa: I:;MPI.J~AI)V (con idenuñcedor N -Emp y los dcscri ptOI es "Nombrc-Emp". "Di rccción-Fam iliar", "Fecha- N uci miento". "Dcscri pción-Puesto", "Salario", ..l~)(periencia ..l. INGI{NIERO (con iclentilicador "N°-Emp" y dco;criptorc" "Nombre- EI11p", "Di rccción-Faml liar", "Espcciul idud" l, S/:'( 'RE7/ RIO - --------- .It- t:<lIIhnahdad ,,'11 , 011:" llt"¡ht,,, 1<',llIl:<:llIn.:' INGENIJo.RO ((1, N"III,I. (l. Nunn), (N"III" NI. (N",,,,. N/IIII!) Sh('KFrARIO Tf!.C'NI(,() f:.:xpl'l'icnc.:ia Ailt,s- f.J(l"lcrh:nciu Figura 1.3. Ejemplo de generalización Existen otras restricciones semánticas relacionadas con las generalizaciones como son la totalidad/parcialidad Y la exclusividudlsolapamiento, Si las ocurrencia s de los subliP?s de una generalización cubren al supertipo (es decir, no hay ocurrencias en el superupo que no pertenezcan a ninguno de los subtipos) entonces se trata de una generali~aci<Ín total y en caso contrario parcial, Por otro lado, si puede haber ocurrcn:"ls, que pertenezcan a más de uno de los subtipos entonces se trata de gencrahza~lones con solapamiento; en caso de que los subtipos sean disjuntos se habla de generalizaciones exclusivas, En el ejemplo de la figura 1,3 se muestra una generalización total. es decir no ex!~ten EMf'Lt'AD()S que no sean ni INGENIEROS, ni SI!CRE7í/?/OS' ni 7'ECNI('?S; además. es una generalización exclusiva. es decir, un EMPLEA/JO o es INGENIER() o SECRETARIO (l TÉC'NIC'(), pero no puede ser varias cosas a la vez. •••••••••••••••••••••••••••••••••••••••••••••••
  10. 10. •••••••••••••••••••••• •••••••••••••••••••••••• h o RA·MII DISEÑO DE BASES DE DITOS: PKOBLEMAS RESUeLTOS B. ALGUNAS HEURÍSTICAS CONSTRUCTORES PARA LA EL ECCIÓN EN'fRE ORA·MA Entidades vs. atributos Los atributos no tienen existencia por sí mismos sino que tienen sentido en cuanto a que pertenecen a una determinada entidad o inlerrelac~ón. Una e~tida~ ~ebe e~t~r caracterizada por algo más que su Identificador Pn_nclpal.. SI existe Intormaclo~ descriptiva sobre un concepto u objeto, entonces deb:na claslfi:arse ~orno entidad. SI sólo se necesita un identificador para un objeto, el objeto deben a clasificarse como un atributo. Así, las entidades pOSl'1'1linjonnacián descriptiva y los atributos /la Por ejemplo, en el supuesto "los Almacenes se localizan e~ Ciudades". ~i existe alguna información descriptiva sobre el Estado y la Población de .Ias Clud~des. entonces Ciudad debería clasificarse corno entidad. Si sólo se. necesl,,~ el atributo "Nombre Ciudad" para identificar una ciudad, entonces deberla claSIficarse corno 7 e~tida~ EMPLEADO. En el ejemplo "Un profesor se caracteriza por su nombre, DN1, dirección y los campus en los que imparte docencia"; en este caso el atributo "~ampus" también podría. s~r un atributo multivaluado de la entidad PROFESOR pero ~I cXIste~ sup~e.stos adicionales en el universo del discurso que nos indican información adicional para describir un campus y además se relaciona con otras entidades (por ejemplo, DEPARTAMENTO, AVLARIO, etc.) entonces debe reflejarse como una entidad. VARIOS Aunque es sencillo definir los constructores de entidad. atributo e interrelación, no es tan sencillo distinguir su papel en el modelado de 81). ¿Qué es lo qu_c~ace que un concepto sea un atributo. una entidad o una interrelación?; en este cas~ ~Inlcalnente se podrá recurrir también a una serie d~ heurísticas q~e nos ayuden a d.ccldlr :ntre uno de los constructores que pueden reflejar la semántica de un d etcrlTllnado concepto. Algunas de ellas se describen a continuación. CAPíTULO 1: DISEÑO CONCEPTUAL: MODELO EIR • Entidades vs. interrelaciones Lo habitual es no tener problemas en la diferenciación entre entidades e int~rrelaciones .. Las interrelaciones asocian una o varias e ntidades, mientras que las entl~ade.s n~., Sin enlb~rgo, en cuaJ~uier interrelación puede realizarse un proceso de nominalización. Por ejemplo, mediante una nominalización puede convertirse "los hombres se casan con mujeres" en "los hombres y mujeres forman matrimonios". Así, se ha sustantivado una interrelación y al introducir un nuevo concepto, se ha convertido en una entidad. Al~n cuando la. nominalización puede resultar útil en un proceso de diseño conlple~o, en especial para tratar de reducir el grado de una in terrelación muy compleja ~ para encontrar elementos de interés para el sistema que inicialmente no se habían tenido en cuenta, en nuestro caso. evitaremos las nominalizaciones que no se e~cuentran presentes en los enunciados o que no resultan evidentes en el Universo del Discurso. Notaciones "tributo. Por otro lado, podría ocurrir que aún teniendo un concepto para el que sólo existe un Identificador Principal. éste se relacione con más de una en~ldad. En es~ cas~ podría aparecer corno una entidad en el. esquema E/R. En .el cJ.elnplo ~nlenor, SI existiera 011'0 supuesto "los proveedores llenen asignados vanas ~Iudades , ento~ces podría dejarse Ciudad como entidad relacionada .con las entidades Almacén y Proveedor o bien dejarse corno atributos en ambas entidades. Entidades vs. atributos mullivaluudos En este aspecto existen discrepancias. Ilay propuestas que .prclicrcn incorporar en los esquclllas H/R un atributo multivaluado cOlnn. una enllda~ y otras pre~eren representarlo corno un atributo. En nuestro caso, COI~ IIH.ler~lld.cncla tic que el alr,lbuto sea simple 1) compuesto. si se sabe que tendrá un numero IlIn.llado. y no muy elevado de ocurrencias. entonces formará parte de la entidad que descri he (siempre y cuando el concepto que representa no esté relaci~nado con otras entidadc« del e~qu:IlIa. EIR~: n U ejemplo puede ..el' "De un ernpl~ado I~tere~~ al~acenar su ,~Nl. nOlnb.r~, d~recclon y teléfono ... : en e...e ceso el atributo Teléfono es un atributo rnultlaluado de la " t ~ con~i~uaci~n se mues~a~ las convenciones seguidas en los problemas para la representación grafica de los distintos constructores de un diagrama E/R. • Entidad (fuerte) I ENTIOAD • Entidad débil - I • RNTII)AD _] Identificador Principal (IP)' I F.n el MndL'lo Relacionaí, Clave 1'(1mari a
  11. 11. ~ CAPíTULO 1: DISEÑO CONCEI'TUAL: MODELO ElR 9 ORAMA ORA MA ¡¡ DISEÑO DE BASES I)E DATOS: PROBLeMAS RESUELTOS • Interrelación • Interrelación con Dependencia en Existencia • Interrelación con dependencia en Identificación • Dominio i ldcnti ficador Altemat ivo (1A) I • r • Atributo I Atributo Multivaluado • t • Atributo Compuesto N.. IlIhrc 1)(l"liJlll' • Atributo Multivaluado • COlnpucsto Atributo Opcional • • Q , , , • Jerarquía solapada y parcial (sin ninguna restricción) Jerarquía solapada y total Atributo Dcrivado I Etiquetn •• ••••••••••••••••• 11'".,1 t-hllkl" RclallCIl1al. Clave All~.'n~liva 'ti" :,'n' 01,'" "iv""lún • ••••••••••••••••••••••••••••
  12. 12. ••••••••••••••••••••••• ••••••••••••••••••••••• 10 DISEÑO DE BISES DE I)I1'OS: PROBLEMAS RESUELTOS • • Jerarquía exclusiva y parcial Jerarquía exclusiva y total o R....M¡ CIPITULO 1: DISeÑO CONCEPTUAL: MODELO fJR II metodología de realización de un esquema conceptual que tiene en cuenta estos aspectos constaría de los siguientes pasos": l. Estudiar el enunciado que describe el Universo del Discurso y elaborar dos listas; una con los candidatos a ser entidades y otra con las posibles interrelaciones junio con su tipo de correspondencia (1: l. I:N, N:M). Además, se especificarán aquellos conceptos dudosos que no se sabe cómo representar (si corno entidad o como interrelación). 2. Construir una Matriz de Entidades en la que las lilas y las columnas son nombres de entidades y cada celda puede contener o no nombres de interrelaciones. Esta matriz tiene el siguiente aspecto: El Cómo se estructuran los problemas A fin de faci litar la comprensión de las soluciones propuestas a los problemas de modelado, cada problema se desglosará arbitrariamente en varios pasos. En cada paso se estudiará un conjunto de supuestos semánticos que darán lugar a un subesqucma E/R. En cada paso se irán añadiendo elementos al subesquema obtenido en el paso anterior y así sucesivamente hasta completar el estudio de todos los supuestos semámicos contemplados en el enunciado del problema. Supondremos que el enunciado constituye una descripción correcta (y casi siempre completa) del Universo del Discurso. Una aproximación utilizada habitualmente en la construcción de esquemas EIR es identificar primero las entidades, luego las interrelaciones y por último los atributos de las entidades e interrelaciones. En nuestro caso se identificarán todos los elementos (entidades, atributos, interrelaciones, cardinalidades, etc.) por cada conjunto de supuestos semánticos analizados. Ello puede irnplicar que algunos conceptos se representen en los primeros pasos con determinados constructores y que posteriormente, en sucesivos pasos, los nuevos supuestos semánticos analizados nos proporcionen información adicional que modifique alguno de los constructores seleccionados. Por ejemplo, podría ocurrir que un deterrninado concepto se representara en una primera aprox imación corno un atributo y que según se avanza en el análisis de los supuestos del enunciado se descubra que debe representarse corno una entidad. A veces también se suele recurrir a otro tipo de herramientas que nos ayudan a detectar infonnación que no aparece explícitamente representada en el enunciado y que resultan tic gran utilidad a los diseñadores inexpertos. Así, una propuesta de E2 E3 EN El E2 ... EN Las entidades son EJ. E2, ..., lEN Y las interrelaciones son 1l. 12..... IN. Corno la matriz es simétrica. las celdas que aparecen con una cruz se corresponden con interrelaciones que ya están especificadas en la otra mitad de la matriz. El sfrnbolo -- en una celda indica que no existe interrelación entre las dos entidades referenciadas. Además. habría que indicar los tipos de correspondencia de cada interrelación. Por ejemplo, 11 podría ser una interrelación 1:N. Es importante destacar que esta matriz no recoge las interrelaciones de grado superior a dos. En la elaboración de esta matriz es posible detectar interrelaciones que no aparecen explícitamente representadas en el enunciado y que, sin ernbargo, podría resultar interesante que se recogieran en el esquema EIR. Este tipo de interrelaciones se detectan, generalmente, por sentido común, aunque sería necesario siempre validarlas con el usuario. 3. Utilizando la matriz de entidades se construye un primer esquema ElR con las entidades, atributos, interrelaciones y sus tipos de correspondencia. A este esquema se le añaden las cardinalidades mínimas y máximas. 4. En este último paso se refina el esquema JlIR del paso anterior estudiando las posibles redundancias siempre y cuando existan ciclos con interrelaciones .. E~1aaproximacién se urili71lr:Íen el PIirner ejercicio de este terna.
  13. 13. 12 DISEÑO DE BASES Oc DATOS: PROBLEMAS RESUE1.TQS o RA.M/ semánticamente equivalentes. Existe redundancia en un esquema E/R cuando la misma semántica se recoge de manera duplicada. por lo que ese esquema podría representarse manteniendo la misma semántica con menos elementos. En general, puede haber redundancia cuando existen ciclos en un esquema FJR (varias entidades unidas por varias interrelaciones relacionadas semánticamente formando un ciclo). En este caso. habría que comprobar si eliminando una interrelación, la semántica representada en ella puede obtenerse mediante las interrelaciones restantes. Para ello. hay que estudiar detalladamente las cardinalidades de las interrelaciones y hacer la comprobación tanto en un sentido como en el otro. Este proceso se describe en De Miguel et al. (1999). Se mostrará algún ejemplo en los ejercicios de este capítulo. PROBI~EMA 1: HABll'ANTES y MUNICIPIOS CAPíTULO 1: I)ISEÑO CONCEPTUAL: MODELO FJR e RA·MA 13 Familia, pues en realidad es también una Persona. Dejaremos la clasificación de este concepto para el siguiente paso. • 20 paso: Construir una matriz Entidades/Entidades para representar todas las interrelaciones junto con su tipo de correspondencia. Para ello. iremos analizando los supuestos semánticos explícitamente representados en el enunciado, así como los que están implícitos o son de sentido común. A) Supuestos dados en el enunciado: • Cada PERSONA sólo puede HABrrAR en una VIVIENDA (interrelación Habita (1 :?) entre PI~'RSONA y VrVIENf)A) • Cada PERSONA puede ser PROPIE'fARIA de más de una VIVIENDA (interrelación Propiedad (?:N) entre PERSONA y VIVIENDA) Enunciado Supongamos el siguiente universo del discurso sobre municipios. viviendas y personas. Cada persona sólo puede habitar en una vivienda y estar empadronada en un • Las PERSONAS dependen del cabeza de familia (interrelación C.F. (?:'?) entre PERSONA y PERSONA) municipio. pero puede ser propietaria de varias viviendas. Nos interesa también conocer las personas que dependen del Cabeza de Familia (C.F.). Se indicarán los supuestos semánticos que se consideren oportunos para justificar todas las decisiones de diseño. • Una PERSONA está empadronada en un único MUNICIPro. Discusión del enunciado B) Supuestos no dados en el enunciado: Para la resolución de este ejercicio se seguirán los pasos indicados al final de la sección 3 de la introducción. en la que se exponía una guía metodológica para diseñadores inexpertos. • En una VIVIENDA pueden HABI1'AR muchas PERSONAS (supuesto lógico del Inundo real) • I '" paso: • Una VIVIENDA puede ser PROPIEDAD de muchas PERSONAS (supuesto legal) Elaborar las listas de conceptos candidatos a ser entidades e interrelaciones e indicar también los conceptos que no se sabe cómo catalogar. Las listas obtenidas son: interrelación Empadronada (1 :N) entre PERSONA y MUNICIPIO interrelación Habita (1:N) entre P/~RSONA y VIVIENDA interrelación Propiedad (M:N) entre PERSONA y VIVIENDA Entidades: Interrelaciones: MUNICIPIO Habita entre PERSONA y VIVIENDA VIVIENI)/ Empadronada PERS()NA Propiedad entre PERSONA y VIVIENf)A entre PERSONA y MlJNICII"/O ¿CABEZA DE FAMILIA? Las entidades e inrcrrelaciones anteriores están explícitamente representadas en el enunciado. En principio. no sabemos cómo representar el concepto Cabeza de • Una PERSONA sólo puede tener un cabeza de familia y un cabeza de familia puede serlo de varias PERSONAS interrelación C.F. (1:N) entre PERSONA y PERSONA • Un MUNICIPIO puede tener muchas VIVIENDAS pertenece a un solo MUNICIPIO. y una VIViENDA • interrelación Está_En (N: 1) entre MLINICIPIO y VIVIENDA ••••••••••••••••••••••••••••••••••••••••• ••••••
  14. 14. ••••••••••••••••••••••• o RII·Mi 14 DISEÑO DE !JASES DE DATOS: PROBLEMAS RESUELTOS • Interrelación Está_En: Una VIVIENDA está en un único MUNICIPIO yen un MUNICrPIO hay, como mfnimo, una VIVIENDA La matriz obtenida se muestra en la figura 1.4. I'rH.WJNA I'IVII:N/)A MUNICIPIO PERSONA e.•.(I NI Rmpad ro ....d. . IoIUNICIPIO VIVIf.NOA (1: N) lI.bllo (1 NI I'nlpiedad(N MI t:'la E.., (N 11 La figura 1.6 muestra el diagrama FlR con las cardinalidades máximas y mínimas. IN Figura / .4. Mutri; de entidades/entidades • ( 1.1) PERSONA 3" paso: Obtener una versión preliminar del esquema E/R. En la figura 1.5 se muestra una primera versión del Esquema fJR correspondiente a los supuestos I:N (0.0) (0,0) (1.0) (1).0) mencionados. MUNICIPIO I :N I :N ( 1.1) ( 1.1) ( 1,1) (O.n) I:N PERSONA N: I Figura 1.6. Esquema E/R con restricciones de cardinalidad I :N • VIVIENDA 5° paso: Análisis de redundancias. Cumo existen dos ciclos en el esquema ElR hay que estudiar si existe alguna interrelación redundante, es decir, si hay alguna interrelación cuya sernántiea pueda obtenerse a partir de las otras interrelaciones. N'I Figura /.5. Yersián preliminar del esquema ElR • 4" paso: Análisis de las cardinalidades mínimas. Hasta ahora se han estudiado sólo las cardinalidades máximas de las interrelaciones. A continuación, se estudiarán las cardinalidades mínirnas. El prirner ciclo lo constituyen las interrelaciones Propiedad, Está_En y Empadronada. La primera condición para saber si tenemos un ciclo en el que haya alguna interrelación susceptible de ser redundante es que las tres interrelaciones estén semánticamente relacionas. En este caso la interrelación Propiedad no es semánticamente equivalente a Está_En y Empadronada, puesto que el poseer o no una vivienda no influye en si la persona reside en el municipio en el que se encuentra la vivienda. • Interrelación C.F.: Una PERSONA tiene obligatoriarnente como mínimo una PERSONA que es Cabeza de Familia y una PERSONA que es Cabeza de Familia puede que no tenga ninguna persona a su cargo. El segundo ciclo lo constituyen las interrelaciones Habita, Está_En y Empadronada. En este caso las tres interrelaciones están semánticamente relacionadas", Veamos si alguna de estas interrelaciones es redundante: • Interrelación Habita: Una PERSONA habita como mínimo en una VrVIENDA yen una VIVIENf)A puede que no habite ninguna PERSONA. Interrelación Habita: Si intentamos eliminar la interrelación Habita debe ser posible obtener su semántica a partir de Está_En y Empadronada; así, si queremos obtener las personas que habitan en una determinada vivienda, a partir de Está_En se obtiene el municipio en el que se encuentra la vivienda y con la interrelación Empadronada se obtienen las personas que habitan en ese municipio. pero no sabernos las personas que habitan en la vivienda sino las que habitan en todas las viviendas del municipio, Por ello, la interrelación Habita no se puede eli minar, • Interrelación Propiedad: Una PERSONA puede que no sea propietaria de ninguna VIVIENIJA y una VIVIENDA puede que no sea propiedad de ninguna I'ERS()NA (una vivienda podría ser propiedad de una empresa, por ejemplo). • Interrelación Empadronada: Una PERSONA está empadronada COrno mínimo en un MUNICIPIO (y corno máximo también) yen un MUNICIPIO como mínimo está empadronada una PERSONA. 1 SUpOllCIll0S que las personas , habitan en l0' IIIUIlICiplOS en los que están empadronadas.
  15. 15. ~ 1(> ORA·MA DISEÑO I)I! BASE.'; DE DA'I OS: PROBLEMAS RESUEI.TOS ~C'!.!/~l'j:.:.1 !.:lI:..::1.0~1 : DISEÑO CONCEPTUAL: ~O:.::R~A .!:!MA::._ MODEI_O EIR 17 Interrelación Está_En: Si intentamos suprimir la interrelación Está_En debe ser posible obtener su semántica a partir de las interrelaciones Habita y Empadronada. Para conocer las viviendas que se encuentran en un determinado rnunieipio. a partir de Empadronada obtenemos todas las personas empadronadas en ese municipio y mediante la interrelación Habita obtenemos las viviendas en las que habitan esas personas (pues una persona obligatoriamente debe habitar en una vivienda); de esta terma. sabremos las viviendas de ese municipio. En el otro sentido de la interrelación Está_En, para conocer en qué municipio está una determinada vivienda. a partir de Habita obtenemos las personas que habitan en ella: sin embargo, puede ocurrir que en una determinada vivienda no habite nadie (cardinalidad mínima O). por lo que no podemos alcanzar la interrelación Empadronada entre persona y municipio. Así. la interrelación Está_En no es redundante. SUPUESTOS SEMÁNTICOS COMPLEJlfENTARIOS y SEMÁNTICA NO REFLEJADA Interrelaciún Empadronada: Si eliminamos la interrelación Empadronada. debería ser posible obtener su semántica a partir de Habita y Está_En. Para conoccr el municipio en que está empadronada una persona, mediante Habita obtenemos la vivienda en la que habita esa persona y con la interrelación Está_En obtenernos el municipio en que se encuentra la vivienda: Por ello. conocemos el municipio en que está empadronada esa persona. En el otro sentido de la interrelación l<:tnpHdronada, debe ser posible conocer las personas empadronadas en un determinado municipio: mediante la interrelación Está_En conocemos las viviendas de ese municipio y 11 partir de Habita sabernos todas las personas que viven en esas viviendas. conociendo así todas las personas empadronadas en el municipio. Consecuentemente. la interrelación Empadronada se puede clirninur del esquema ElR sin perder semántica. La empresa organiza cursos internos de formación de los que se desea conocer el código de curso, el nombre, una descripción, el número de horas de duración y el coste del curso. Enunciado El departamento de formación de una empresa desea construir una base de datos para planificar y gestionar la formación de sus empleados. Un curso puede tener corno prerrequisiro haber realizado otrots) previamente, y, a su vez la realización de un curso puede ser prcrrequisito de otros. Un curso que es un prerrcquisito de otro puede serlo de forma obllgatoria o sólo recomendable. Un mismo curso tiene diferentes ediciones. es decir. se imparte en diferentes lugares. fechas y con diferentes horarios (intensivo. de mañana o de tarde). En una misma fecha de Inicio sólo puede impartirse una edición de un curso. De los empleados se desea almacenar su código de empicado, nombre y apellidos. dirección. teléfono, Nlr (Número de Identificación Fiscal), fecha de nacimiento, nacionalidad, sexo, firma y salario. así corno si está o no capacitado para impartir cursos. 1:N (0.11) PERSONA (0.11) ( 1.1) Un mismo empleado puede ser docente en una edición de un curso y alumno en otra edición. pero nunca puede ser ambas cosas a la vez (en una misma edición de curso o lo imparte o lo recihe). (0.11 ) (O.n) 1:N VIVIENDA PROBLEMA 2: CURSOS DE FORMACIÓN Los cursos se imparten por personal de la propia empresa. El esquema ~jR definitivo se muestra en la figura 1.7. (1.1) Toda la semántica del problema ha sido reflejada. y no ha sido necesario realizar supuestos adicionales. Discusión del enunciado ( I.n) N: 1 ¡:igura /.7. Esquema ElR sin redundancias ..La empresa organiz« cursos internos de /01'1I/(I("i611 de los que se desea COIlO('er el códigQ de Curso. el nombre, 111/0 descripríán, el IIlílllero de horas de duracián y el coste del curso ... ••••••••••••••••••••••••••••••••••••••••••••••
  16. 16. ~ ••••••••••••••••••••• ORA-MA IR DISEÑO Oc RASES DE DATOS: PKOBLEMAS RESUELTOS "Un curso puede tener co/no prerreqlllsllo hab er realizado .o~r()(s) prev;'"l1enle, y. a Sil vez/a realizacíén de un curso puede ser prerreqlllsllo de otros. Un curso que es IIn prerreqll;s;lo de otro puede serlo de [orma obligatono o sólo reco/llel/dable. " Parece evidente a partir de los primeros párrafos que. cad,~ :urso de formación será una entidad: un CURSO tiene un "Código" que I~ Iden~lf~(;a, y lend~á corno trib t S el "Nombre" (el cual consideralnos que además es úmco, es decir, es un a n u o. "O .Ó " identificador alternativo), una "Descripción", el número de horas de uraci n y su "Coste". Para modelar que un curso puede ser prerreq~i.sito de o~ros no pode.mos utilizar un atributo, ya que un curso puede ser prerrequisuo de v~nos. La forma de rcprcsentarlo es Inediante una interrelación refl~xiva en ~a en ttda~ CURSO. Las cardinalidades mínimas y máximas en ambos sentidos de la Interrelación son (ü.n), lo cual signi fica que: • • ~ '. ••••••••••••••••••••••• CAPíTULO 1: DISEÑO CONCEPTUAL: MODELO EfR ORA MA Puesto que en un misma fecha sólo puede comenzar una ú a nica edición del mismo curso, será suficiente con la fecha (junto con el código del Curso) para poder identificarla. Por lo tanto, una eDICIÓN será una entidad débil que tendrá una dependencia en identificación con respecto a CURSO. Las cardinalidades con respecto a CURSO serán (1,1), ya que toda edición lo es de uno y sólo un curso (además, toda dependencia en identificación ha de tener, evidentemente, cardinalidades (1,1) con respecto a la entidad regular). La cardinalidad máxima de una edición con respecto a un curso será 11 (puesto que puede haber distintas ediciones de un mismo curso). En cuanto a la mínima, será O si pueden existir cursos de los que no se hayan impartido ediciones, y I si todo curso ha de tener al menos una edición. Hemos elegido la cardinalidad menos restrictiva, esto es, 0, para permitir que la empresa pueda tener planificados distintos cursos de los que todavía no se haya celebrado ninguna edición. La semántica anterior se refleja en el esquema de la figura 1.9. o z Un curso puede ser prerrequisito de ninguno o de varios otros cursos. ... o Un curso puede tener corno prcrrequisito haber cursado previanlente ninguno o oI <U ... tlJ . .o ~ =8 varios cursos. c: e Z U Por otra parte, el atributo que indica la obligatoriedad ha de tigu.rar el~ la interrelación. Y no en la entidad, ya que no es propio del curso el ser oblt.g?tono o recomendable, sino de un curso con respecto a otro del que es prcrrequisno. Las consideraciones anteriores aparecen en el esquema de la figura 1.8. N:M " .o. 'o Cl 5 -o ::J (O,n) U .. '" 'C u c .- ... e u o'" U (O.n) N:M CURSO Fecha Obligatorio ....._~I CURSO td_Edición Figura 1.9 Figur« 1.8 PAR1'E 3 "Los cursos SI' ;/l1/1t1rl(!1I personu! de la propia empresa .. , flor "(111 /lIi~/I'11 ('lIr.1I tiene dirl!/I'IlI(!.~ edic;olll!s, es decir. .H' unparte 1'11 dl/I'/I'lIlt ~ lugures, fechas v con dift're/lll's horarios (;IIII'/I.;VO, d.' ",(~ii~,!,ao tic tarde J. EII /I/UI 111;.111(1[ech« de inicio sélo {JI/(!I/e muiarurs« I/I,a edlcián de '111 ,'/lt (1 " 1<) "/)1' los cmpleadav .1' deseo alnmccnur Sil ('(ídigo de empleado, nombre )' apellidas, direccián. 'eléf(/I,o. NI1- (Número de klentificacián Fiscal). fecha de nacimiento. nacumalidad .. er>,firma y salario. así C(//I10 si está o no (;ul'(/C;la(/(/para imparnr curso» ."
  17. 17. ~ ORA M.o. 20 4) CAPíTULO 1: OISIiÑO CONCEPTUAL: MODELO EIR RA-MA 21 DISr:ÑO OE BASES OH DATOS: PROBLHMAS RESUELTOS ..UII /ni,~III(1 empleado puede ser docente en U/la edicián de 1111 curso y alll/l1lto 1'11 otra edicián. pero 1IIIIIca puede ser ambas cosas a la III'Z (ell IIlIa misma I,¡/ici/ÍII de rursu o lo importe () lo recibe), .. • Que en una edición deba haber al menos un alumno y un docente (la solución sólo exige que haya un participante) NM El esquema modelado hasta ahora ha sido bastante sencillo, Sin embargo. ~ara modelar toda la scuuintica asociada al hecho de que los empleados participen (impartan o reciban) cn la ediciones de los cursos, tenemos va~ia<;posibili~ades. En cualquier caso. tendremos una entidad EMPLEAlJO. con un conjunto de atributos, de los cuales "Código de Empleado" será identificador principal, y "NIF' identificador alternativo, Además de otros atributos, como el "Teléfono", "Fecha de Nacimiento", "Nacionalidad", eic., existirá un atributo que especificará si un empleado está o no "Capacitado" para impartir cursos". 111,11 1 EMPLEADO ( I.n) N:M A continuación ofrecemos distintas posibilidades para modelar la participación de los empleados en las ediciones de los cursos, y veremos ~as ventajas y desventajas de cada una de ellas (por claridad, en estas figuras no se Incluyen los atributos de las entidades): HMI'LEADO I'I>ICION Figura I.JO La solución más sencilla (figura 1.10) sería modelar la participación de los empleados en las ediciones de los cursos mediante una intcrrel.ación .~art~c~pa ~?t~~ EM PLEADO y EI)ICIÓN. Dicha interrelación tendría un atributo Parttcipacron. cuyos posibles valores serían "Docente" y "Alumno", Esta solución recoge que en un curso un ernpleado sólo puede participar como docente o corno alumno, pero ~o ~omo ambas cosas a la vez. Sin embargo esta solución no recoge las SIguientes Podernos ampliar la solución anterior, dividiendo la interrelación Participa en dos interrelaciones, Imparte y Recibe. corno muestra la figura 1,11. De esta manera resolvernos que en una edición deba haber un docente y, al menos, un alumno, La cardinalidad máxima de Imparte sería I si un curso lo imparte una única persona O N si suponemos que lo pueden impartir más. Sin embargo, seguirnos sin resolver el hecho de impedir que empleados no capacitados puedan impartir cursos, y además hemos añadido un problema que con la sol ución de la figura J.IO teníamos resuelto: que en una misma edición un mismo empleado participe como docente y como alumno. Esto no se resolvcría mediante una restricción de excl sividad (en u EMPLEADO), ya que significaría que un empleado o siempre es alumno, o siempre es profesor, pero no que pueda ser unas veces alumno y otras profesor, pero siempre en distintas ediciones de cursos. N:M (l,n) ....-------, EMPLEADO I {exdl,¡,in } características: • Figura /.// (0.1) (1),1) Que un empleado no capacitado para impartir cursos no pueda participar en una edición COIIlO CAPACITADO docente NO CAPACITADO NI • ESIIl es ¡"i porque ~tl los requisitos se nos indica que la cap~cílac~ón depende úl~ic;lI1lenledel empleado p"t.lría pl;rnlcar~c una ,ampliación del problema ~rmitiendll que dicha cap~cl~a~~o~~_ependl~r:1 nu ",1(1 t.lt'I"lIlpkmlu "1141 lalllhlén de cada CUfl;1 CC~ decir. que un empleado eSIUVlcr.1 capacitado par,l. Figura 1./2 •••••••.•••••••••••••••••••••••••••
  18. 18. ••••••••••••••••••••••• ••••••••••••••••••••••• 22 CAPITULO 1: DISEÑO CONCEPTUAL: MODELO I'/R ORA·MA DISEÑO DE BASES 1>1'. DATOS PROBLEMAS RESUELTOS Una mejora a la solución de la figura 1.1J sería añadir una jerarquía de empleados (CAPAC'ITADOS y NO_CAPAC/7'ADOS. o únicamente CAPACITADOS) en la que el atributo discriminante fuera "Capacitado", y dos interrelaciones. Imparte y Recibe. Con esta solución. que se muestra en la figura 1.12, resolveríamos los dos aspectos que no se recogían con la solución de I~ .figura 1.10'. pero se.g~~lnos sin resolver el impedir que un mismo empleado participe en la rmsrna edición corno alumno y como docente. ya que en la interrelación Recibe particip~n tanto .I~s empleados capacitados como los no capacitados. Para resol:erlo deben.alnos eXI.glr que una ocurrencia de la interrelación Recibe no apareciera en la interrelación Imparte y viceversa. es decir, una restricción de exclusión. Esta notación procede de los modelos de objetos. y puede consultarse en De Miguel el al. (1999). Propuesta de solución Hemos elegido la opción de la figura 1.12 porque, COI no hemos visto. es la que más semántica recoge. La figura 1.13 muestra el esquema definitivo. 23 PROBLEMA 3: CAMPEONATO DE AJEDREZ Enunciado El club de Ajedrez de Villatortas de Arriba, ha sido encargado por la Federación Internacional de Ajedrez de la organización de los próximos campeonatos mundiales que se celebrarán en la mencionada localidad. Por este motivo. desea llevar a una base de datos toda la gestión relativa a participantes. alojamientos y partidas. Teniendo en cuenta que: En el carnpeonato participan jugadores y árbitros; de ambos se requiere conocer el número de asociado, nombre, dirección, teléfono de contacto y campeonatos en los que han participado (como jugador o como árbitro). De los jugadores se precisa además el nivel de juego en una escala de I a LO. Ningún árbitro puede participar corno jugador. Los países envían al campeonato un conjunto de jugadores y árbitros, aunque no todos los países envían participantes. Todo jugador y árbitro es enviado por un único país. Un país puede ser representado por otro país. (n.lI) !'1M Cada país se identifica por un número correlativo según su orden alfabético e interesa conocer además de su nombre, el número de clubes de ajedrez existentes en el CUKSO mismo. (1 1, Cada partida se identifica por un número correlativo (Cód_P), la juegan dos jugadores y la arbitra un árbitro. Interesa registrar las partidas que juega cada jugador y el color (blancas o negras) con el que juega. Ha de tenerse en cuenta que un árbitro no puede arbitrar a jugadores enviados por el mismo país que le ha enviado a él. u.") Todo participante participa en al menos una partida. (exclulión} 1 ji). 1 ) tt',n) I·C'.:II., ()j...--.41 NO EDICIÓN eAPAcrr AOO Figura Ll l SUI'UES'r()S SEMÁN,.,IC()S COMI'LEMEN1'ARIOS y SEMÁN1'ICA NO REFI,EJ"ll" • Tanto jugadores corno árbitros se alojan en uno de los hoteles en los que se desarrollan Laspartidas, se desea conocer en qué hotel y en qué fechas se ha alojado cada uno de los participantes. Los participantes pueden no permanecer en Villatortas durante todo el campeonato. sino acudir cuando tienen que jugar alguna partida alojándose en el mismo o distinto hotel. De cada hotel, se desea conocer el nombre. la dirección y el número de teléfono. El campeonato se desarrolla a lo largo de una serie de jornadas (año. ITIes.día) y cada partida tiene lugar en una de las jornadas aunque no tengan lugar partidas todas las jornadas. Se ha considcrudu el nombre dcl curso corno un identificador alternativo . •
  19. 19. 24 e RA·MA DISFÑO DI,. IIASFS DE DATOS: PROFll.EMAS RESUhLTOS Cada partida se celebra en una de las salas de las que pueden disponer los hoteles, se desea conocer el número de entradas vendidas en la sala para cada partida. De cada sala, se desea conocer la capacidad y medios de que dispone (radio, televisión, vídeo ...) para facilitar la retransmisión de los encuentros. Una sala puede disponer de varios medios distintos. De cada partida se pretende registrar todos los movimientos que la componen, la identificación dc movimiento se establece en base a un número de orden dentro de cada partida: para cada movimiento se guardan la jugada (5 posiciones) y un breve comentario realizado por un experto. Discusión del Enunciado PARTE I ..ElI el campeonato purticipan jllf.(ador('s y árbitros; de ambas se requiere conocer el IllÍ/nero de asociado, nombre, direccián, teufono di' (OIlIIlCIO y ca/I/peollatos en los que /1(111 participado ((;(I/nojugador (i ('0//111 árbitro]. De los jugadores se precisa adenuis el nlvel di'juego ('1/ Hila cscalu de I el 10, .. En este primer supuesto aparecen dos entidades: A/?BITRO y J(JCADO/(: que comparten muchos de . us atributos, por lo que puede pensarse en abstraer ambas entidades a un supertipo PIRTICIPAN1'E del cual éstas serían subtipos, Loe¡ atributos comunes son: número de asociado ("N_Sucio"), que actúa corno ideruificador principal, "Nombre", "Dirección' y "Teléfono". que se consideran atributos obligatorios y, por ultimo, para recoger los distintos campeonatos en los que han participado tanto jugadores corno árbitros, se crea un atribulo "Campeonato". que será multivaluado, opcional y compuesto por "Nombre' del campeonato y "Tipo" (árbitro o jugador). Se podría haber considerado "Campeonato" como un tipo d entidad. de esta forma se e podría guardar mas información acerca de éstos pero al leer todo el enunciado nos damos cuenta de que no precisamos mayor detalle. El subtipo JUGAI)OR tendrá un atributo propio denominado "Nivel" de juego. ('APITULO t: DISEÑO CONCEPTUAL: MODEl.O ElR ORAMA 25 "Cada país se identifica por 11/1 lIú/flero correlativo según su orden alfabético e interesa conocer además de Sil nombre, el IItí/llero de clubes de ajedrez existentes en el mismo. " Se crea un lluevo tipo de entidad PAís cuyo identificador principal es un número correlativo según un orden alfabético que no podernos representar en el esquema pero que debernos tener en cuenta a efectos de implementación. PA!S tiene otros dos atributos más, "Nombre". que además de obligatorio se considera identi ficador alternativo y "N_Club". .La entid~d PAís se relaciona con la entidad PARTICIPANT/::, por lo que se creará una interrelación .E~vía que tiene corno cardinalidades asociadas a PAÍS (O.n), ya que en ~l t~xto se Ind.tca que puede haber países que no envíen participantes. Las cardlnalt.dades asociadas a PARTICIPANTE son (1,1) porque todos los participantes ~on envl~~os .por un y sólo un país. Habría sido más complejo representar esta Int~rrelaclon SI no se hubiera introducido la jerarquía de participantes, pues se habría tenido que establecer al nivel de los subtipos, duplicándose esta interrelación. Como un país puede ser representando por otro país se creará una interrelación re~cxiva Representa cuyas cardinalidades son (0,1) para reflejar el hecho de que un pal~ puede o no ser representado por otro. y (O.n) pues un país podría representar a vanos países, La figura 1.14 refleja las consideraciones anteriores. NI 1'/1 RTI('II'/lNTI: 1'... 1" l' ,t '1uf',r.. tU ti I I" "Ningún árbitro puede participar COIIIO jugador ." Jl:GADOR ARBITRO El haber reflejado el anterior supuesto como una generalización 110S permite reflejar esta nueva especificación en la cual se aclaran cuáles son las propiedades de la Jerarquía anterior. Las personas que participan dentro del mismo campeonato son o jugadores o árbitros y sólo pueden actuar corno tal, por lo que la generalización es exclusiva. puede suponerse además que es total por conocimiento del universo de .n.,. PAIS fU n, discurso, 1)lIIe~ envian al cumpemuuo 1111 conjunto de jll~(ld()rt'.1 v árbttros. IIII/U/'It' 110todos 101 paises t'/lI';11I1 particip(/II/es. Todo jugador y árbitro I!~ l'III'U/t!O 1'01' 1111 1;"iclIl'l" (111 ptlfl 1'lIetll' ser rf'pre.'f'lItculn 1/lIr otro paú •.. NI "/..11 t ••••••••••••••••••••••••••••••••••••••••• • Figura 1.14 •••••
  20. 20. ~ •••••••••••••••••••••••••••••••••••••••••••••• ISEÑO DI· 13/';l:.'; 1>1'nATO"' PROOLLIIAS RESllJ - lOS • K '" rnrrclativo (('"d_P), la jl/"!.!I'" dO,1 Jllgado/'es v 1(/ arlntra 11/1 arbitro. /JIII'fl'l(I n'glllfar la» I',,,,,t/II.I qi«: lul!grt «uda jugadl/r el color (/)IUII('''.I 01/",11,.(/.1) ('111/ 1'/(/11(' jll('gll. 1(" d(' "Cada parud« tenerse el ,'1/ "';,1'/1/1/ t' ldentific« flor 1'111'''/(/ (11('un « II/íllll'r" árbitro "11 //II"t/(' arburur fI(/r.~'I'{(' 1,' hu /'11";(1(10 "T'III" /)(/rl;(';/II//1I1' 11/1 partiripa 1/ a ¡IIgf/(IIIr(,'1 ,'/II';"¡/,/ P"! l'." t 1'111 1() 1 DISI,NO CO:-1CI ITII' 1.: IIOI>I·LO I'¡R R' 1 contemplará que en un momcmo dado puede que no exi stan participante .. ulojndos en el mismo. Adcmus, la... cstanciuv de un parucipantc pueden ser intcnuitcntcx, con lo ruul la imcrrclucion PO!CC UO), arributus muhivaluados, "F_Enlrada" y "F Salida", que rccogcnin csrc supuesto. Para reflejar las mstancias ac uralcs, e las cuales, n cvidcmcmcmc 110 hahn¡ una fecha de sulidu. el atributo "(,),aliua", será opcional. en all/II'I/IIS 111/<1 purtid«. " adicional deducida de la irucrprctución del Universo de Di'l'urso se iícbcrfu aseg urar que la lecha de salida sea mayor que la de cntruda y que I)~ periodo, de tiempo no se solapen entre sí. ('111110 Se añade la entidad PAR1'JDA con identificador principal "C6d_P··. numero -lativo. propiedad que no se puede reflejar en el esquema E/R pero que se debe - en cuenta cuando se implemente la RD. rcvtricciún La <cuuimicu anterior aparece reflejada Una partida de ajedrez la juegan dos jugadores)' la arbitra un árbitro, hecho que .presenta mediante dos interrelaciones binarias. ya que existen dos asociaciones ntas, Juega y Arbitra. La interrelación Juega tendrá como cardinalidades asolS a PII/?1·II)A (2,2) Y las asociadas a .I(fCAD()R serán (I.n). Además. para saber qué color ha participado cada jugador en las distinta» partidas disputadas, tenlOS un atributo obligatorio "Color" en la interrelación, cuyo dominio estará comto de dos valores, blanco y negro, La interrelación Arbitra , tendrá corno curdinali-s (1, 1) para la entidad I'ARTII)A y (Ln) para la entidad ARHITR(). IIJ~" '''JI :>. ... I..~ J ! IIO!'!'I. I "1""" 4D , '. Una posibilidad alternativa para recoger el anterior supuesto habría sitio tratar de .iderar una interrelación ternaria, pero la semántica, en especial la referente a inalidades, se refleja con mayor precisión, en este caso mediante interrelaciones nas. "Tanto jugadores ('01110 árbitros se alojan el/ 11110ele los hoteles en los que le desarrollun 1(/,1 partidas, .I! desea conocer el/ qué hotel _I' en qué [echav ,11' ha alojado cada 1111(1 de 10,1' participantes. /.. /~ participantes pueden /111 ( Iler/lUIIII'C,'r e n Yillatortas durante lodo el ('(/1/11'(,0111"11, :';1111 acudir cuando tienen que jugar alguna partido alojándose en el /IIi,IIIIO o distinto hotel. D« cada "01('(, .1'" '/",11'11 conocer 1'1 IIIIII/hre, la dlrrccián v el número dI' h'h:jlIlIO. " participantes se alojan en uno () varios hoteles durante el campeonato, -lue no es obligatorio que permanezcan en él durante lodo cl campeonato. se creará entidad HOTEl. cuyo identificador pnncipal será "Nombre" y corno atributos manvox se presentarán "Dirección" y "Teléfono". y 0;1.' relacionarán II(rr/~'L y ~77('IPIN7'/~' mediante una interrelación Aloja cuya" cardinalidades al>ociada .. n IO,n) y (1.11), rl"peclivalllt!llle. ('011 la cardinalidad lllínillla O pala I/()'I}I '1.' e-quema 'I 1II,."l, , ~I I 1.'11el de la figura 1.15, ,,,...., 1 . j¡,¡ , Q i 11. f'AkTICIPANTlé Se ha de tener en cuenta que el modelo FJR no controla la re-u icciun de que un .ro no puede arbitrar a jugadores de su mismo paí-; y tampoco que I(), vulorc-, del lULO "Color" sean distiruo« para jugadores que devarrollen la misma panilla, pero -or este hecho debernos de ignorarlo sino que la guardaremos para contemplarlo en nplementación, pues se trata de supuestos semánticos que el modelo E/R no c' IZ de recoger. C0I11~)los ~7 Jl'(jAI)( 11< ÁI<BII RO I' • ,I I I " 1 ,1 el'" I " I I 111 PAR IIDA Figun¡ 1.15 ..(~'I( (//11111'111/(//(1JI' tlrxrtrrnllu (( /0 IU/',litl 11,' 1/1//1."'I'It' tll' jornoda» ((//70, dtu¡ ,tilia partit!« //1'1/(' /lIglIl "/1 unu d,' /II.I!II/lltlllt'/t/1 mdav las jnrnadu-; .. /1" 111.1jIJ/'II/II/tI.I' 111(///(/11' ///1',1, It'lIg(//I . Dependiendo de la mlonnucion qu se quicru recoger acerca de la~ jo e rnada .. del l"nlpl'OIl,llo 1l'lldr~'llI(I' un lluevo upo de entidad }(JRNAI)¡S que reflejara 111' .'~lInll'lllllll'llhl' dl'll¡lIl1)1t'llIlaIO ha)a (1 110 p:ulida" ) un llUl'VO alrioU(I) "Jornada"
  21. 21. It 1 cxraría compuesto pilr tres atributos. "Arlo", "Mes" y "Día". que recogerá sólo in nación acerca oc los ola, en que se han celebrado pan idas, Se iomani e-tu última ión, ya que en el enunciado no ve refe rencia a las jornadas en que no hay punulas 1 que el 'l'IClna de inlonuación contempla s610 lux jornada, donde éslas CI'11.'11 ~, ,, ~ .:..( ':.:.,~I'.'.!.IT,lIl I>ISI,NO ('0( () 1. '1'I'rt'i1 , ~1()1>"1.() f'JI~ 2') El esquema de la figura 1,16 refleja los comcnturios anteriores. 1111 11 1 "Cud« partula '/' / clrln, /'/1 1/11" d.. /", ,1"1t,, tlt' /1/' /III{' puedcII .1"/11111.-1 /,,' Ito/C//',I, '1' dcw« cono« ,'/ {'/ nutncn» tic l'II/r"t!II ICII.lI//tI' 1'11 /" (111/ 1''''/' C/II/" p(IIIir/lI. /)(' «ntlu sulu, t1iSI'IIIII' t nuho, /e//''I;oll. I'IIC'I<'/IIHII. .11' .11'1'" « vulco...) Una suln pur.h: Aparece en este púnufo una anocor lu 1''''I(II'idod /'1/1'(/ (/,,'/'""1''' el,' Y mvdio» d, ,/1/1' k« ilitur la r..transtnisurn d« ',"'1",1 IIU'.I;o" I1 II /" , disunto» " a entidad S,[j. cuya existencia depende ¡k'l el al que pcrtcncvca, por lo que sl'rá una entidad débil y que '1' rcluciouuni COII )'1'1·:1. mediante una interrelación en existencia. (II11() en la" e~pcl'it'it:aci()I1l'~ del lo no aparece ninguna caructcrísticu de .:ada :-ala que pueda ejerce: las luhurcs de ruificador principal. se uñadc a los atributos de ésur, que 'ion "Capacidad" y lcdiux". un "C'úd_Sala", EllIlrihllhl "Medios" es multivuluado y opcionnl. ya que en a sala pueden existir. 1) 1l1lC 110,tli:-lintos 11Iedi)~uudiovisualcx. I l. 1• ('".1 l' 111111,1,1.1 La iutcrrclacion I)ispulu' tille a~(lcia H()T/~·1. y SA/.A. C0I111'lllad" unrcnnnnentc ser una iruerrclackin CI1 cxistcncra. Il'ndní corno cardinulidudcv (ü.n) y (1,1 l. .pcctivameruc. Recogiendo con la curdinulidud miniuia () <.¡L1C puede haber 1t(1~'k'~ e no drspongan dé ,ala y ,tilo tengan lu función de alojar participantes. I 1.111 r 1'¡¡!lI), ( 1.1 • 1 La otra intcrrclacrón que upurccc en este párrafo asocia la entidad SIl 1J con R'fll)A y posee un atributo ..Entrada .... que indica el número de cntradus que se han · ndido para una determinada '1 punida. Una restricción que se deberá tener en cucnu t -stcriormentc pura I¡¡ implementación de este esquema cs que el valor tic e,te atributo 1,1 1 .., , puede exceder al del aforo () capacidad de la sala. Las cardinalidadc- asociada-, von .1) para la entidad PAlrrl/)A y ( l.n) pura SAI..A. E~ta ulrimu cardinalidad mínima .liga a que s610 tengamos información de aquellas salas que se utilizan en el mpeonato aunque el hotel pudiera tener más, "De cada partldu ,1' fll'I'I('''¡(t' /(',~i,III'III uulo« /(1, 1110 "lIlli('1I1I1,1 II.n I 1( >VI:'l II:NTO ','¡gllra /,1 () 11'11' /11 de movimicntn ~I' ('.11,,1>/1'('(' ('11 /111·(' (' 1111IIlí",,'/,1/ de onlrn drntr» tll' ,'(11/(1 purtida: /'III'U rtul« 11/(/1';111;('11111 ,l' guurilnn /1/ IIIMIU/U (.'i¡/(/,j¡'!tJIII'I) v 1111 /t1'("'I' {"I//lt'II/U/'I(I 1'C' II/i:!I(/1J //1/,. 1111 ('XIJI'I'IIJ." ('(I/II/UJlI 1.'11 /0 , 11111.·llft~ it/elllll;('(/";Iill Propuesta de solución lus distinta:; soluciones parciulc« ubtcnidns en la liguru 1.17. /glupalllo, Por ultimo. se rcprcscnumi la entidad M()VIMII:N1'() dependiente de cada PAN rl)A que detallará el dcxurrollo de la mismu. Según se muestra en el enunciado, para identificación de cada movimiento xcrá necesario el identificador principal de PAN fI)A. por lo que tendremos una iruerrclucióu en iucnlificaciún dt:lllllninada ('unsta. • • •••••••••••••••••••••••••••••••••••••••••••••••
  22. 22. ••••••••••••••••••••••• •••••••••••••••••••••••• CAPrTUI.O 1: DISEÑO CONCEPTUAL: MODELO EIR 31 JO DISEÑO DE BASES DE DATOS: PROIlLEMAS RESUELTOS , , PROBLEMA 4: ENERGIA ELECTRICA "1 Eounciado j Se pretende llevar a cabo un control sobre la energía eléctrica que se produce y consume en un determinado país. Se parte de las siguientes hipótesis. I ,. 11' t I 11'.11 ¡.RBrntt) (.11.1 'ii 1" t 1.11 "'.1 I'g 11."1 (Inl :.. ~_~ ,L-_--'C--__'_'< l'Akll1M In..n..JJ. l.", • --' ~ Existen productores básicos de electricidad que se identifican por un nombre. de los cuales interesa su producción media, producción máxima y fecba de entrada en funcionamiento. Estos productores básicos lo son de una de las siguientes categorías: Hidroeléctrica, Solar, Nuclear o Térmica. Dc una central hidroeléctrica o presa n os interesa saber su ocupación, capacidad máxima y número de turbinas. De una central solar nos interesa saber la superficie total de paneles solares, la media anual de horas de sol y tipo (fotovoltaica o termodinámica). De una central nuclear, nos interesa saber el número de reactores que posee, el volumen de plutonio consumido y el de residuos nucleares que produce. De una central térmica, nos interesa saber el número de hornos que posee, el volumen de carbón consumido y el volumen de su emisión de gases. 1N Por motivos de seguridad nacional interesa controlar el plutonio de que se provee una central nuclear, este control se refiere a la cantidad de plutonio que compra a cada uno de sus posibles suministradores, (nombre y país), y que porta un determinado transportista (nombre y matrícula), ha de tenerse en cuenta que el mismo suministrador puede vender plutonio a distintas centrales nucleares y que cada porte, (un único porte por compra), puede realizarlo un transportista diferente. Figura 1.17 En la solución obtenida, hay ciclos. pero no son sClnánticaJuentc equivalentes. SUPUES'fOS SEMÁNTICOS COMPLEMENTARIOS y SEMÁNTICA NO REFLEJADA • Se ha supuesto quc no hay más participantes que árbitros y jugadores. No se ha podido reflejar: • • • • • Un árbitro no puede arbitrar partidas en las que participen jugadores de su mismo • pais. En cuda partidu uno de los jugadores juega con blancas y el otro con negras. Secucncialiuad del código de país. Secuencialidau del número de movimiento dentro de cada partida. Una red de distribución se identifica por un número de red y sólo puede tener una estación primaria como cabecera. La propiedad de una red puede ser compartida por varias compañías eléctricas, a cada compañía eléctrica se le identifica por su nombre, La energía sobrante en una de las redes puede enviarse a otra red. Se registra el volumen total de energía intercambiada entre dos redes . Una red está compuesta por una serie de líneas, cada línea se identifica por un número secuencial dentro del número de red y tiene una determinada longitud. La menor de las líneas posibles abastecerá al menos a dos subestaciones. del código de partida. Sccucncialidad Cada día, los productores entregan la energía producida a una o varias estaciones primarias, las cuales pueden recibir diariamente una cantidad distinta de energía de cada uno de estos productores. Los productores entregan siempre el total de su producción. Las estaciones primarias se identifican por su nombre y tienen un número de transformadores de baja a alta t nsión y son cabecera de una o varias redes de e distribución •
  23. 23. 32 Una subestación es abastecida sólo por una línea y distribuye a una o varias zonas de servicio. a tales efectos, las provincias (código y nombre). se e ncuentran divididas cn tales zonas de servicio, aunque no puede haber zonas de servicio que pertenezcan a más de una provincia. Cada zona de servicio puede ser atendida por más de una subestucién. En cada zona de servicio se desea registrar el consumo medio y el número de consumidores finales de cada una de las siguientes categorías: particulares, empresas e insti luciones, Discusión del enunciado PARTE I .. ¡';_ti,I'I('/I prnductorcs lnisicos ell' electricidad qlle St' identifican p ar 11/1 d« IIIS cuales ;'111'1'1'.1'0 Sil produccián Inedia. produccián nuixima v [echa dI' entnuia 1'11 [uncioncnniento. I::.'S(OS productoreshdsiros /0 .1'(//1 de una , dI' /II.V slguicntrs rategorias: l lldroelcctricn, Solar. Nuctcar o Térmica. Ve 1111/11/11'1'. . uuu central lüdroeíéctrica (1 presa l/OS interesa saber Sil ocupacián, capnrulad nui cim« .1' número de turbinas. /)1' I/IIU central solar 1(lIS interesa ,1(/111'1' ,I/II/I'/jich' /II/a/ de 11(1111'/1'.1' soiares. la media (//111111 hnras de ,1'(11 la de Y tipo ((0/(1'11/11111'(/ 11 tennmthuimira}. De 11110 central IIII(,/I.'ar, IltI,V i/l/{'rI'SII saher el número de reactores que posee, el I'o/IIII/ell de pluunuo ('IIIl.'IIIlIido v e/ lit' rrsiduos nucleares qu« produce. De IlIla central térmica, nos interesa saber el IIlílllero de hornos que posee. e/ 1'011l1l1ell carbán CIIIISII/nitl(/ )' de 1'0/11/11('" ".1'11 ('I/';I'IIÍ" de 811('.1', CAPíTULO 1: DISEÑO CONCEPTUAL: MODELO EJR ()1lA,MA DISEÑO I>E IlASI,S DE DA rOS, PROBL.RMAS RESUELTOS 1~ La lectura de este párrafo nos obliga a introducir dos nuevas entidades SUMINISTRADOR y TRANSPORT1S1'A, De los atributos de cualquiera de Las dos entidades se puede considerar el "Nombre" como identificador principal, pues como DO se nos dice nada en contra podemos suponer que éste es único, Las centrales nucleares compran plutonio a s ministradores, u el cual es transportado por distintos transportistas, Esta frase nos induce a pensar en la posibilidad de introducir una interrelación t rnaria Compra entre las entidades e NUCLEAR, SUMINISTRADOR Y TRANSPORTIS7'A, Pasemos a analizar la s cardinalidades de los tipos de entidad que intervienen: El plutonio que una determinada central nuclear compra a un suministrador es • obvio que puede ser transportado C0l110 mínimo por un transportista y corno máxirno por n, Un suministrador y un mismo transportista pueden suministrar plutonio a varias centrales nucleares (cardinalidad máxima 1/) y como mínimo a una, pues si no suministraran a ninguna esa ocurrencia no int rvendría en la interrelación. Por último, e una central nuclear que, recibe el plutonio transportado por un transportista, puede , habérselo comprado (en la misma o en diferentes ocasiones) a uno o a vari s o suministradores, por lo que las cardinalidades rnínima y máxima respectivamente de esta interrelación en el extremo de la entidad SUMINIS7'RADOR son 1 y 11. N:M 11,11) ,..--------, NIICI I:AR el .. PIUllll"" En este primer párrafo se ide ntifica inicialmente el tipo de entidad PR()IJUC7'OR, cuyos atributos son "NOI11brc·'. "Producción Media", "Producción Máxima" y "Fecha Inicio", El atributo "Nombre' identifica a cada productor según el enunciado, por lo que lo consideramos corno identificador principal. Los productores pueden ser de distintas categorías. esto sugiere introducir una jerarqu ía donde el supertipo será PROI)UCTO/? y los subtipos PRESA. SOLAR, NUCLEAR y 7'ÉRMICA, De todos los atributos de cada uno de los subtipos es de interés mencionar el atributo "Tipo" del subtipo S()LAR. este atributo estará definido sobre un dominio compuesto por los valores -cfotovoltaica, termodinámica>, de manera que no podrá tornar ningún otro valor. no tiene la suficiente entidad para considerarle corno atributo discriminante de una jerarquía. "1'111' niotivos de .1/fgllJ'iclllellllll'illllllll/llert.iSII qu« pou« 1'11 ,'l/t'I/(1I (1 ('(11/(( L'/ 11';.1'/11(/ suministrador [nombre (1 111cantidad .v matricula}, Ita di' puede vender plutonio v que cada porte. (1In único porte 1111 relll vportlstu di/ere lile, .. / 1'1'1111'1111',1 ,/,'are.l' IIII, n« di, 1111" 1',1(1' ('(111/1'111 refiere Si' 1111 dc!I('r"';IIII1/11II'II/I.I'(/I/I'/i,w(/ 1/"1' el /111110/1;0 ele que .1'1' de 1'/111011;1/ 11110 de ,~II, posihles suministradores, (/111111/)/,1' y (/111.1'), Y 1//111'('(' 111111/'I'II/I'IIIIII/('/('(/r, "111' ('II/I//,/'a controlar 1('111'1'.1'(' distintos ()or compra), puede ti ( 1.11) TRANSPORTISTA 11.11) SIJMINIS'I'KADOR FiRU/,(/ /,/8 El enunciado nos dice que d ebernos controlar la cantidad de plutonio comprada por una central nuclear, por tanto esta cantidad debe ser un atributo propio de la interrelación ternaria, Además parece" claro, aunque no lo diga explícitamente e l enunciado, que ca central nuclear puede comprar cantidades distintas o ig da uales en ••••••••••••••••••••••• •••••••••••••••••••••••
  24. 24. ~ •••••••••••••••••••••• ••••••••••••••••••••••• . 34 - CAPITULO 1: DISENO CONCUPTUAL: MODELO ElR ORA,"'. () MII·MII .15 DIS¡¿ÑO Dh fiASES DE DATOS: PROBLEMAS RESUELTOS distintas fechas, luego se debe introducir un atributo multivaluado "Fecha" en la misma interrelación, Corno siempre que nos enfrentamos ante in~errelacio~l,CS ternar,i,a~:de?en;~~ hacer un análisis para ver si podemos descolnponer la interrelación tcrnuna en ~Inallas como se muestra en la figura 1,18 (ver figura en lu página anterior). pero es evidente que, no ~e recoge' la misma semántica (no podría por ejemplo deternlinarse, qu~ Ira,n~P?rtlsta ha realizado el porte de una determinada compra), No obstante las curdln,lltdades n:áxirna~ de los tipos de entidad i~vol~cr~dos en la interrelació~ ternaria~sa~<;í corno los atributos presentes en la interrelación, indican que no puede dcscOlnponc, , El resultado de todas las consideraciones hechas en esta primera parte queda reflejado en la figura 1.19. , En es le párrafo se introduce una nueva entidad ESTACI6N PRIMARIA que se relaciona con PRODUCTOR a través de la interrelación Entrega. puesto que los productores deben entregar la energía producida a las estaciones primarias. Además las cantidades se entregan diariamente y pueden ser distintas. por lo que la interrelación Entrega debe tener dos atributos "Cantidad" y "Fecha". este último multivaluado. pues cada productor puede entregar cantidades distintas o iguales a una misma estación primaria en distintas fechas. En cuanto a las cardinalidades mínima y máxima de esta interrelación en el extremo de la entidad ES7'ACI()N PRIMARIA el enunciado nos dice que deben ser I y 11 respectivamente. Cada estación puede recibir energía de varios productores. lo cual nos indica que la cardinalidad máxima en el extremo de PRODUCTOR es 11, en cambio, en cuanto a la cardinalidad mínima, si suponemos que toda estación debe recibir la producción de al menos un productor. la cardinalidad mínima será l, si por el contrario suponemos que puede darse el caso de que en una estación primaria no reciba energía de ningún productor en una fecha determinada, la cardinalidad mínima sería O. Nosotros hemos optado por esta última suposición en el intento de reflejar el caso más genera 1. , 111.1 I En cuanto a los atributos del tipo de entidad FSTACION P/?IMARIA. "Nombre" y "Transformadores", el primero es el identificador principal de la entidad, pues se supone único, el segundo debe almacenar ,,1 número de transformadores en el rango de baja a alta tensión, ll·RMI( t ..UII(I red de distrtbuciún ire' RC.K,:'tuOi Rl"iUUi flullllll" (',11 ""O I".tn,.~c.;a...c'" 1,,, I ·1RANSI'ORTISTA • Nt)nlhrc lI.nl SlIMINI!>' RAIX)R Figura 1.19 I)AR1'1~ 2 ..Cndu tifo, los proclllC'/ort',1 C'lI/l'e1!tllI /a ('lIerRftJ , ('SIClCIIIIII!. rima rias ICI~ (,1I1I/¡'~ IJII(·tll'lI recibir p ' , ,o" , IlflJ/~II(,;clCI (1 111111(1 V(I!íClS diariamente 1"'(' ,. ",""1"" ,"1'114" tlt' ti; vu ihucián. r' Cada estación primaria es cabecera de una o varias redes de distribución, por lo que debernos introducir un nuevo tipo de entidad RED que se interrelaciona con , ESTAC/ON PRIMARIA mediante la interrelación Cabecera. Cada estación primaria es cabecera de una o varias redes de distribución, por lo que es claro que las cardinalidades mínima y máxima de la interrelación en el extremo del tipo de entidad RED serán 1 y n respectivamente, Por otro lado cada red sólo puede tener una estación primaria como cabecera, lo que nos indica que la cardinalidad máxima de la interrelación en el extremo de este tipo de entidad es l. y por tanto la correspondencia sera I :N. Si suponemos que una red puede no tener ninguna cabecera. considcrarfamos la cardinalidad mínima del tipo de entidad ES7'A.C/6N PRIMARIA O. si por el contrario suponemos que toda red debe tener corno cabecera a al menos una estación prirnuria, la cardinalidad mínima sería 1, Nosotros hemos optado por esto último. 1/110 1'(IIIt/dad • disnnta de cado UII() ele e,IO~ productores. Los ~r(IlI~I('IOft'S('/lIr~'R~"1siempre el /11//11 ele Sil flrodllcciólI, La» e~/(/('i(lIlI'S¡lrt/IUlflll :~e Idell/ifi( lI~l,por su nmnbrr v tienen 1111 IlIíllll'fO de Ifllll.'ifoflllodores de I1l1JCI (//1(/ tension v SOIl el , " ,f,- CO/110 puede cabecera. Lo propiedad de 11/1(1 red puede ser compartida pOI' varias compañias eléctricas, o cada rompañta eléctrica. se le identifica por SlIlIo/II1Jre, .. N.M:I' .t. tener una cstacián primaria se identlfir« por 1111 III¡/I/ero de red y ,lCi/o último. debernos introducir UII nuevo tipo de entidad C'()MPAÑIA ELÉC7 RIC'A. para reflejar que toda red debe ser propiedad de al menos una compañía eléctrica y lo reflejaremos a través de la interrelación Pertenece. cuyo tipo de Por
  25. 25. ...:(.:.;'''I'I ULO 1: DISEÑO rONCIiI'TlJAL: ]1101>1'1.0 EIR r ~O:..::R::.:/I..;;M:.:;A~ 1(, I>ISI 0:01>1' II,'<;I'S 1)1' II¡TOS: I'ROIIII:M¡<; 31 RI'SlIFI.TOS ,Ollas de servicio que pertenezcan {/ mds de una provincia, Cada "Olla de correspondencia es N:M, pues una compañía eléctrica puede compartir la propiedad de varias redes. Además suponernos que al menos cualquier compañía es propietaria de al menos una red. "1'// 1"Ierglit sohrante en /11111e las redes /IIII'tll' d registra ('/1'01111/1('/1 /(//01 ¡f(, cncrgu: interccnnbind« cuviurse 1.'/1/1"1' servicio puede ser atendida por más de I/lla suhestacián. .. ..EII rada :'0/111 de de consumidores [inules 11 otru rrt] SI' panicuiares. dos rnlc», .. Este párrulu 110S indica la necesidad de in troducir una int rrelación reflexiva e Envía en el tipo de entidad I<El), En principio, si una red dispone de excedente de energía ~e la puede enviar a otra red (cardinalidad mínima O) 1) a otra u otras redes (cardinalidad máxima /1). En el sentido contrario las cardinalidades son también (O.n), ya que una red puede no recibir energía (1 bien recibirla de cualquier número de redes, Además se debe registrar la cantidad de energía intercambiada entre dos redes, por 10 que debernos introducir un atributo "Volumen" en la interrelación Envía. 1 diferencia de lo que sucedía en la interrelación l~ntrl'g;1en la que era preciso iutroducir el a tributo multivaluado "Fecha" para diferenc iar entre diferentes entregas, en este caso, el atributo "Volumen" tiene carácter acumulativo, por lo que no es preciso diferenciar 10:-' <.1 ilc rentes envíos de energía entre redes, servicio desea 1('Mi~/,or el ('OIISIIIIIO medio v I'III/;I/f(!/'o de ctulu 11110 de las .fiJ(IIIt'II/es categorias: ,1(' I'/ll{)/'("'CI' I! ;11.1'///1/('/(1//('1, .. En estu última parle se pueden distinguir claramente cuatro tipos de entidades rmis tiuu«. SUBESTAC.'I()N, ZONA y IJI<OVINCIA, LINl::;A será un tipo de entidad débil con respecto a RElJ, pues una línea existe en función de que exista la red que la incluye, l.a interrelación Compone entre estos dos tipos de entidades será de de.pendencia en identificación, p ues parece claro que el identificador p rincipal de LINEA está constituido por un número Il1ás el número de red en el que se incluye la línca: el tipo de co rrespondencia será I:N pues una red se compone de varias líneas (cardinalidad máxima 11) y corno mínimo podernos suponer que de una (cardinalidad mínima 1). L._,,;;;.:;:. __ .t...... MI " W«I Todo lo expuesto en esta parte queda reflejado en la figura 1,20, ... " "UI JI N t 1,111 r,.!::=::::!= =i1.--.J-o II,n. , .. N 11I'~' Ii! 1""-11 NI ~ f I.n. .,----- ....,1 11.' r L.r'~Ji!'''''''''R'''''e=-'' CII1PANIA .. - '''''''''' Figura 1.20 PAR'rE 3 I 'III"~ ~::·~·:~~'"iC1J,I ... " "/11111 red (',lItÍ ('IIIII{I/('S/(/ 1111 ¡";"/I'¡O IIII/gi/I/d, ('411.' ...... · '[ " serie de lineus. rudu ltnea le iC/('/I/ifll'l/ por ,('/'//('/u'ial dentro del 11/;1111'1'0 de red v /11.'/1(' 1111(/ dotermintula {.(/ 11/('''0), IJI'" de 10.1 /1111/ I(,,('OS posihles IIhIlS/('C'I'I'/; al 1111'/111, (/ e 1.. 11.'1 I I ,111 dos /flN II/h/'I/IU /I/III'S. " hncu .1' II/I/IIIII/'(' a /1/1(/ (/ di' .11''''/1';0, (/ /0/(' t~/¡'(/()I,/11,1 provinclav (cfÍdigll" nomhre), se dividula» 1'/1 talr» ;(JII(/~ de sorvicio. 111/111/'"' /11/ {I/'I'de hube .. {/IIO I//lI'I'/IU 1'1/111" ;(/11(/' "111111'/1/1'111/ >11.11" ián C' 1/"111/('( 11111 .ltÍlo 1"" l' 11 /11111 • 1,¡,,'lIlI 1,21 ••••••••••••••••••••••••••••••••••••••••••• ••••
  26. 26. ••••••••••••••••••••••• ••••••••••••••••••••••• 311 D IS E ÑU 01; 11AS 1;S DI: 1> A'I~'(!:;lS,,-: B:!.!L~E~·"'::.:l U:!.!E;!;L:..:T.:..:():::.S ~rl{~(~) A~S::...R~¡.;~:S.!!·· , CAPITULO ORA·MA 1: DISEÑO CONcevruAL: MODELO EIR 39 __.;.':..:;K::.!II~~~'A , Existe otra interrelación Abastece entre LINEA Y SUlJESTACION. Cada línea al menos abastece a dos subestaciones, carecerían dc sentido líneas que no tuvieran al menos dos subcstacioncs (principio y fin). por tanto las cardinalidades mínima y máxima de esta üucrrctación en el extremo de la entidad SUBESTACI6N serán 2 y 11 respectivanlcntc. Además cada subestación es abastecida por una única línea, lo que indica que las cardinalidades de la interrelación en el sentido contrario son siempre 1, y por lo tanto el tipo de correspondencia será I:N. '.N 11.1 O. ., NIl' ... ", '" , " l'•. ~ ....... , Aunque no se nos dice nada al respecto. debemos suponer un atributo "Número , de Suhestación" corno identificador principal de la entidad SUBESTACION. rMJtr-50PURT' I t l''''f A ) 1I---jQ N Las subcstacioncs distribuyen a una o varias zonas de servicio. lo que nos indica , que debernos crear una interrelación Distribuye entre SUBESTACION Y ZONA. con tipo de correspondencia N:M, pues cada zona de servicio puede ser atendida por más de una subcstación. Las cardinalidades mínimas y máximas de esta interrelación en cada uno de sus senridos ~0f1 respectivamente I Y 11. ,." +' 1::.:'·::..' ---< ,,'1ft ljftCa .IJl1 Id UrIC'''' ~lJML'III.sTRAIX)K tu.! ) '·N (],nl Ilntl~Url(~llJ" 1,1111"'11 1';III.."III(r, (',111,)1'''1 I ,.1. De las zonas se dese" almacenar el consumo medio y el número de cnnslllnidores ñnalcs, que pueden ser particulares. empresas e instituciones. por tantO este atributo tornará varios valores (17 instituciones. 400.000 particulares y 35 empresas. por ejemplo). por lo qué lo se podría definir como multivaluado. sin embargo, dado que siempre tomani tres valores, una alternativa más simple es considerarlo corno un atributo cornpuesto. Además se debe introducir un nuevo atributo "Cód Zona" C0l110 identificador principal de la entidad ZONA. I ~l ." • Il)N,I r'igurcl 1.22 SUPUESTOS REFLEJADA SEMÁNTICOS COMl>t.RMENT ARIOS y SEMÁNTICA NO Cerno último punto. el enunciado nos dice que las provincias están divididas en zonas de servicio. esto significa que debemos introducir una nueva interrelación Se Divide entre las entidades ZONA Y PROVINCIA. Cada zona de servicio corresponde a una única provincia. pero cada provincia será dividida en varias zonas. por lo que el tipo de correspondencia será I:N. • Se ha supuesto que una estación primaria puede no recibir energía de ningún productor. • Se ha supuesto que el atributo "Transformadores" del tipo de entidad ESTACIÓN PRIMARIA es un atributo multivaluado que recoge todos los posibles tipos de transformadores de cada estación. Todo lo analizado en esta parte aparece representado en la figura 1.21 (ver figura • Se ha supuesto que toda red debe tener como cabecera al menos a una estación primaria. • Se ha supuesto que toda compañía eléctrica debe ser propietaria de al menos una red. • Se ha supuesto que cada red debe estar compuesta de al menos una línea. en la página anterior). Propuesta de solución La rigura 1.22 agrupa las soluciones parciales anteriores. No se puede recoger el siguiente supuesto seruántico: • Que la energía sobrante de una red no se envíe a sí misma. , •
  27. 27. ~('~;I'ITIILO 1: DISEÑO CON('hP1'lJAL: MODEl.O FJR -1 I ~O~MA:;:.;:.!M.::..A -lO nlSLNO 1>11I/"ES DE I)¡ lOS' "ROIII.EMflS RI·.SlIl:I.TOS , PROBLEMA 5: CONFLICTOS BELICOS Enunciado Una organizaci6n internacional pretende realizar un segnill/icntCl de los conflictos bélicos que se ploduccn en todo el mundo. Para ello creará una SD que responderá al siguiente análisis: Se entiende por conflicto cualquier lucha afinada que afecte a uno o varios países y en cl cual se produzcan muertos y/o heridos. Todo conflicto se identilicará po~ un nombre que habituahnente hará referencia a la zona o causa que provoca el conflicto. aunque dado que este nombre puede cambiar con el paso del tiempo, dentro de la B D cada conflicto s , identificará mediante un código numérico sin significado alguno. Para cada conflicto se desea recoger los países a que afecta, así corno el número de muertos y heridos contabi 1 izados hasta elll10lncnto. Los clIlllictos pueden ser de distintos tipos según la causa que lo ha originado, clasifieíllldosc. a lo sumo, en cuatro grupos: territoriales, religiosos, ccon<Ílnicos o raciales, en cada uno de estos grupos se recogerán diversos dau». En los conflicto!' territoriale~ se recogerán las regiones afectadas. en los religiosos las religiones afectadas. en l()~ econótnicos las materias primas disputadas y en los raciales las etnias suministrar. Se mantiene el número total de armas de cada uno de los diferentes tipos de armas suministrado por cada traficante a cada grupo armado. Los líderes políticos se identifican por su nombre y por el código de grupo armado que lideran. Además se recoge una descripción textual de los apoyos que éste posee. Cada división la pueden dirigir conjuntamente un máximo de tres jefes militares, aunque cada jefe militar no dirige más de una división. A cada jefe militar se le identifica por un código, además se recoge el rango que éste posee, y dado que un jefe militar no actúa por iniciativa propia sino que siempre obedece las órdenes de un único líder político de entre aquellos que lideran aJ grupo armado al que el jefe pertenece. se registrará el líder político al que obedece. De las organizaciones mediadoras se recogerá su código, su nombre, su tipo (gubernalnental, no gubernamental O internacional), la organización de que depende (una como máximo), el número de personas que mantiene desplegadas en cada conflicto y el tipo de ayuda que presta en cada conflicto que será de uno y sólo uno de los tres tipos siguientes, médica. diplomática o presencial. Con diversos fines, los líderes polfticos dialogan con las organizaciones: se desea recoger explícitamente esta información. As! para cada líder se recogerán aquellas organizaciones con que dialoga y viceversa. enfrentada .., En los conflictos intervienen diversos grupos armados (al menos dos) y diversas organizaciones mediadoras (podría no haber ninguna). Los mismos grupos armados y organizaciones Inediadoras pueden intervenir en diferentes conflictos. 'ratito los gr~pos annados COI no las organizaciones mediadoras podrán entrar y salir del conflicto. en ambos casos se recogerá tanto la fecha de incorporación como la fecha de salida. l'enlporalmente, tanto un grupo armado corno una organización mediadora podrían no intervenir en conflicto alguno. De cada grupo armado se recoge el código que se le asigna y un nombre. Cada grupo armado dispone de al menos una división y es liderado por al menos un líder político. Las divisiones de que dispone un grupo arn~ado se numeran cOllseclllÍvéllnente Y se registra el número de barcos. tanques, aviones y hombres de que dispone. asitnislno se recoge el número de bajas que ~léltenido., Para los grupos armados se recoge el número de bujus corno suma de las haJas producidas en todas sus di visil )lles. I.()~uaficantcs de urmas sutninistrun diferentes tipos de afina a los grupos unnudos. De cada tipo de armas se recoge un nombre y un indicador tic su capacidad de~trucliv¡¡. De cada lruficantC se recoge un nombre. los diferentes tipos de arma que puede suministrar y cantidad de armas de cada uno de lo" tipos de arma que podría Discusién del enunciado PARTE I "Se entiende por co/~/lit't(Jcualquier lucha armada que afec:« (1 UI/O () "lirios paises y en el cual se produzcan muertos y/o heridos. Todo conflicto se identificará por UII IU/II/hreque habitualmente hará referencia a la zona o C{!II.~a provoca el conflicto. aunque dado que este nombre puede cambiar que con el paso del tiempo, dentro tic la BD cada conflicto se identificará mediante 1111 código numérico sin significado alguno. Para cada conflicto se desea recoger los países a que afecta. así como el luÍ/nero de muertos v heridos contubilitiulos has/a el JlIO/Ilt'I/lO. .. _ En el primer párrafo se define qué es un conflicto bélico, cómo se identifica y qué información se necesita guardar. Es bustunte claro que CON,FL/G'1'O es una entidad que se identifica por un código numérico que üamaremos "Código", aunque en un principio podríamos pensar en el atributo "Nombre" corno AIP. En el enunciado se nos aclara que se prefiere un código numérico para identificar cada conflicto, ya que asr se asegura su invariabilidad, por lo que el "Nombre" sería íderuificador alternativo. • •••••••••••••••••••••••••••••••• •••••••••••••••

×