DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

576

Click here to load reader

Transcript of DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

Page 1: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)
Page 2: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

CONTENIDO

P r d o p ............................................................................................ XV

.............................................................. P r d u g o a la cdici6n e n espaiiol YIX

1 Los sistelnas d e bases d e datos y la evoluci6n d e la tccnologia d e bases ................................................................................ dv datos

La evoluci6n dr la trcnologia dr bases dr datos ............................ Un caw: La wmpaiiia International Product Distribution ..............

............................................ Sistrn~as orientaclos a 10s archivos ....................... Necrsidad del procarso d e accrso direc:to a tlatos

.......................................... La i n f o r m a c i h romo un rccurso Otras limitaciones de los sistrmas dr archivo tradirionales ..........

................................................. Los sistrmas dr hasrs d e datos Sistrmas d r 10s modrlos jerircpicw y en red ............................

.................................. Sisten~as d r bases tlc datos relacioualrs ......................... Dirkcionrs actualrs-platai'ormas clirntelsrrvidor

Los sistrmas tle base de datos: el hardware. el software. 10s datos. las personas ......................................................................... El hardware ............................. .. .................................... El software ..................................................................... Los datos ....................................................................... Las personas ................................................................... Interrelacii, 11 (rrlacibn) rntre los t w ~ t r o componentrs drl sistrma .

............................................................................ Rrsumen .................................................... Preguntas tie comprobacihn

Problemas y ejrrcicios ................................ .. ....................... ......................................... Prnyrctos y curstiours profrsionalrs

2 Servicios d e celebraciones: u n ejemplo d e u t i l i z a c i h d e base d e ..................................................................................... datos

El raso clr Servicios p a r a Celebraciones (Catering) ....................... ................................................................... Antecrtlrntes

Page 3: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

CONTENIDO

Operaci6n tlr los ~ ~ t ~ g o c i o s ................................................... ...................................................... Srrvicios d r rnll)lt.atlos

.................................................................... Atlt~uisicicin Planific.~c.ihn d r tarras ......................................................

...................................................................... Promotion ............................................................ Estado financirro

r Diseiio e irnplrrnentatihn de la hast. dl . datos ............................... Descripc:ibn del rit.10 dt: ret:el)tiOn vt.nta/efreti\c~ ...................... De las entidades a las tahlas ................................................ Creacibn tle urla tallla ....................................................... Diagrarna rc~visatlo del rnotlrlo tle tlatos .................................. Estah l r tw las cornpro1)aciones tlr validacihn ...........................

Caracteristit*as atlicionale.~ tlc 10s SGBD .................................... 1ntroduc:cihn tlr tlatos ;I tr;rvbs d e forinularios siinples ............... Un forn~ular io nlnlti-tahla: r l forn~ular io solicitud ....................

. ...... Ohtener inforinaci6n para la grstiOn a part i r d e la h a w dt tlatos ............................................................................ Rrsulnrn

Preguntas de coml)rol)aci6n .................................................... ........................................................... Prohlernas y rjtwicios

Pro!.rt.tos y cuestionrs 1)rofrsionales .........................................

3 Sisterr~as d e 1)ases cle tlatos e n las o rgan izac io~~es ......................... C o n ~ ~ a r t i r datos y hases tlr d;rtos .............................................

Compartir datos tmtre unid;rdt:s fiinrionales ............................ Co~npar t i r datos en t r r difwentes nivrlrs de usuarios ................. Con~par t i r datos tmtre difrrentt-s lot~alidadrs ...........................

4 El papel dt. la hasr d r datos ................................................ Planific:at:i6n estratbgica tlr haws tlr datos .................................

La necesitlatl tlr l~lanificai- la base de tlatos ............................. El proyrcto de planifit:ati6n tlr la h s r d r datos .......................

........ El c ido d e vida dr l drsarrollo d r la hase d e datos (CVDBU) ........................................... Bases tle datos y gesti6n tlr control

r Diseiicr de la hasr de tlatos ................................................. Fornlacibn drl usuario ....................................................... Srguridad e intrgridatl d r 10s tlatos ....................................... Rendirniento dr l sistrma tlr h a w de datos ...............................

Riesgos y costos tie las hases de tlatos ........................................ Conflietos en las organizacionrs .......................................... Fracasos en el desarrollo de proyrctos ................................... Malfuncionarnirnto d r l sisterna ............................................

............................................................ Costrs imprevistos Nrcesitlatl de personal cualifit:atlo ........................................

Srparar la reprrsrntacibn Ihgica y fisiva tlr 10s tlatos ..................... Arquitrctura tlr tres-nivelrs tle una base d r tlatos ..................... Uso tlr la arquitrctura tres-nivrlrs cn este libro .......................

Drsarrollo d r la base lie tlatos ................................................. Disriio (le 1)ase (Ie datos y el CVDS tratlicional ......................... El ciclo de vitla del desarrollo de la hasr tic tlatos (CVDBD) ........ El caso tle la Corporacibn Zeus ............................................ Planific-aribn prrlirninar ................................................... Estutlio tlr viabilitlatl ........................................................ Definicibn de requisites ..................................................... Diseiio conceptual ............................................................

............................................................... In~plrn~entacibn ..... Evaluacihn y perfrt:t:ionarniento tlrl r q u e r n a tle hasr tlr datos

Page 4: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

CONTENIDO

Construir c*al~acitlatles en el tlesarrollo tlt . haws tlr tlatos ................ 70 . . K e s ~ n e n ............................................................................ 1 1

I'reguntas tlr repaso .............................................................. 78 Prohlemas ! ejercicios ........................................................... 79 Proyectos y cnestiones prof'c.sionales .......................................... 82

11 DISENO DE BASE DE DATOS

4 Prirrcipios del diseiio cor~ceptual d e base d e clatos ......................... Realidatl. tlefinitihn cle rrquisitos y modelado cwnccyt~~al tle tlatos ...

Realitlad y moclelos ........................................................... Moclelos conceptnalrs tle datos .............................................

Fnntlamentos ...................................................................... Objetos .......................................................................... Esp~ia1izat:iSn y generalixacibn ........................................... 1nterrelac:iones ................................................................. Carclinalitlad ................................................................... Atrihntos ........................................................................

Ejemplos ........................................................................... Ejemplo 1: El motlelo de datos clc un 1)anc:o ............................. Ejemplo 2: Hnerto f'ruticola de Stratton .................................

......................................... Ejemplo 3: IJn problema de 1hgit.a Constr i~ir modelos conceptuales cle clatos a part i r clc . 10s informes exis-

tentes ............................................................................ Cam: Servicios dr Consultoria Manwaring .............................. [In motlrlo de tlatos para las compras .................................... l l n motlelo de datos para la facturacihn d r proyectos ................. . .

Agrepac~on ......................................................................... Ejemplo 4: Compaiiia Constructora Prrmicr ........................... Eje~nplo 5: Huerto fruticola de Stratton (twntinuaciirn) .............. Ejeniplo 6: Srrvicios de Consultoria Manwaring (ctrntinnacihn) ....

Moclelaclo concy)t i~al de objetos contra ohjetos fisic-os ................... El pro1)lema tlc ilna 1)il)lioteca .............................................. C r r a r el modelo tlr datos de la hihliotcca ................................

........................................................ FabricaciOn tle piezas Ohjetos conrepti~ales para 10s servicios de consulta Manwaring ....

Intcgracibn tle vistas: Un ejemplo ............................................. ............................................................................ Resumen

.................................................... Prtbguntas cie t:omprol)acibn ........................................................... Pro1)lernas y ejercicios

......................................... Proyectos y cuestiones profesionales

5 El ~noclelo d e datos relacional ................................................... El motlelo de datos relational y el desarrollo tlr sisttm~as ................ El moclt.lo d r datos rrlacional: Conceptos funtlarnentales ................

Relaciones ...................................................................... Valores Nillos .................................................................. Clavrs ............................................................................ Clavrs t-strrnas (ajenas. foreing) ........................................... Restric:t:ionrs de integridad .................................................

El prowso de normalizacibn ................................................... Primera forrna normal ....................................................... Dtpentlencias func:ionales ...................................................

Page 5: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

....................................................... Seguntla forrna normal ........................................................ Tert*era forn~a normal

Cuarta forma normal ......................................................... ....................................................... Otras formas normales

......... Trausformando (4 moclelo ronceptnal en un motlrlo relacioual .......................... ~ r a ~ l ~ f o r i i i a r twnj~~ii tos de ot!jetos y a t r i h t o s

Transfornlar mo(lrIoi sin (,laves e\tcbrnas ................................ Transforii~ar Id c~sl~ec~ializat~iOi~ y la generalizacihn de conjunto- tlr

....................................................................... ohjetos Transformer intt~rrelaciones ................................................

........................... Transformar conjuntos de o1)jetos agregedos Transforniar intcrrelaciones recursivas .................................. Ejeniplos de transformac.iones: Servicios tlc Consultoria Maiiwaring .

........... Coinparacibn del morlrlatlo d r datos c~oncrptnal y relational ............................................................................ Resullieu

............................................................. Prt.guntaude repaso l'rohlemas y ejercicioa ...........................................................

......................................... Proyect~bs y corstiont.~ proft~siouales

6 El i lgehra y el c i lculo relac.io11a1 ............................................... Una ventaja rrvolurionaria en la manipulacihn de clatos ................

................................................................ Algrlwa relacional ............................................................................ Unibn

IntrrsecciOn .................................................................... ...................................................................... Difermtia

......................................................................... Reunicin

......................................................................... Divisi6n Asignacih ......................................................................

........................................................ Un Ejemplo Adicional Chlculo relacional ................................................................

............................ La lista resultado y sentencia de califit*acibn ................................................. El cuantificador existencial

................................................... El cuantificador universal . . . . La dificultad relativa del ilgebra relacional y cl c i lmlo relational

............................................................................ Resumen Preguntas de repaso .............................................................. Problemas y ejercicios ...........................................................

......................................... Proyectos y cuestiones prof~sionales

........................................... Implen1entaci6n relacional con SQL ................................... Implementacihn relacional: introduccihn

............................................... Drfinicihn de tablas y esquemas ...................................................... Definicicin de esquemas

................................................... T i p s de clatos y dominios ............................................................. Drfiniendo tablas ........................................................... Manipulacihn de datos

Consultas simples ...................... .. .................................... ...................................................... Consultas multi-tablas

................................................................... Subconsultas

Page 6: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

CONTENIDO

EXISTS y NOT EXISTS .................................................... Funciones intty-adas (Built-in functions) ................................ CROUP BY ! I1.4VING ...................................................... Funciones integradas cwn sul~consultas .................................. Olwraciones del iilgth-a relational ........................................ Operwiones de modificaribn de la 1)ase tle datos ....................... Usar SOL con lenguajcs de procesaulitmto de datos ...................

Tlefinicihn de vistas ............................................................... Rrs t t iw ion~s so l~ re consultas y actualizacionrs sol)re vistas ........

El t w p w a de inforlnaci6n ..................................................... Rtwirne~t ............................................................................ Pwguntas tlr rt:l)ascr .............................................................. Pro1)lemas y ejrrticios ........................................................... Proyectos y c.nt.stiones profesionalcs .........................................

8 1111ple1ne11taci611 relaeiollal con lengtiajes tle consulta grbficos ......... ....................................................................... Introduc.tsii,n

Manipulaci6n de tlatos .......................................................... Consultas simples ............................................................. Consultas de m6ltiples taldas ............................................... Yunciones integradas (Built-111 Functions) ............................... GKOUP BY .................................................................... Operacicrnes clue modifican la hast: de datos ............................

Paradox para Windows ......................................................... Definicihn y entratla de datos ..................................................

Manipulaciih de datcrs ....................................................... Srlercionar atributos y filas ................................................ Consultas conjuntivas y disyuntivas ...................................... 1, enguaje tle aplic-aci6n .......................................................

............................................................................ Rvsumen Preguntas de repaso .............................................................. Problemas y ejercicios ........................................................... Proyectos y cnestiones profesionales ........................................

.................................. 9 Sisten~as d e bases d e datos rlientelserviclor ............ Introtlwci6n: un resumm tle 10s conceptos clientelsel~vidor

DefiniciOn de las tablas de la base de datos en el sistema de base tle tlatos servidor ................................................................. C r e a c i h de t i p s de datos definidos por el usuario ................... Definiendo tablas individuales ............................................. Lenguaje de definicih tle datos: Sumario y ejemplo final ...........

...................... ManipulaciOn y programati6n del servidor de datos Lenguaje flujo-de-control ................................................... Procedimientos almacenados ............................................... Una in t roducc ih a 10s disparadores ......................................

Desarrollando aplieaciones cliente ............................................ El enfoque de PowerBuilder ................................................ Usando PowerBuilder ........................................................ Construir una ap l icac ih .................................................... Crear Data Windows ......................................................... Crear Windows ...............................................................

Algunos comentarios finales .................................................... Resumen ............................................................................ Preguntas de repaso ..............................................................

Page 7: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

CONTENIDO

.......................................................... Prol~lemas y ejercicios ......................................... Proyertos y cuestiones profesionalcs

10 Organization fisica d e 10s sistenlas de base dr clatos ...................... Intrc1tlucei6n ....................................................................... Acceso fisico a la 1)ase de datos ................................................ Formas de ulmacwmmiento Gsicw ............................................

,Ilmac.enamientt, set.nndario ............................................... Blotp 's dc n l~~~nt~enurn ien to fisico .........................................

Fartorcs dv rt.ntlin~iento tlel tliscw ............................................. Ticwq)o dt . lwsicionamiento ................................................. Ticmpo dti at-tivac-ihn tlr la c.al)rza .........................................

........................................................... Rctraso tlc rotacihn Vrloc~iclacl tle translerencia tle datos ....................................... 'Tiernpo tle transl'erencia tle datos .........................................

Formatos de almaceuamiellto de clatos cn disro ............................ ............................................................ Formatos dc pistas

........................................................ Formatos de rrgistros Gestibn de entradalsalida ..................................................

Organizaci6n de archivos y mltodos de dirc.cc.ioniln~iento ............... ................................... OrganizaciOn secuencial de un arehiuo

...................... Organizaci6n secuencial-inrlexacla de un archive ....................................... Organizacibn directa de nn arvhivo

..................................................... Funciones Hash esthtica .................................................. Fnnciones Hash clinhnliras

.................................. In~~)lrmrnt:rc*ihn tle interrelaciones Ihpicas Listas enlazatlns .............................................................. Listas invertidas ...............................................................

.................................. Arlbol-etltlilil)ra(Io indexado (B+ -irl)ol) Implementac.i6n clientelservidor tie la inclexaci6n hrl)ol-I)alanc-ea(10

(irhcrl-ecf~lilik)ra(io) ........................................................... ( h r r e s p ~ u k n ( i a entre estrurtuvas de datos 1bgic.a~ \ c.strnt-turas tle

clatos fisicas .................................................................... ................... Correspontlenc.ia en las h e s tle datos relacionales

Correspondencia en las bases de datos cn red .......................... Corresponclencia en las hases dc datos jerhrcluicas ....................

................................................ lZeceso por la clavc-scc.nnd:rrie Optirnizaribn de las consnltas .................................................

Comhinar las operaciones de seleeei6n y rcnni6n ........ : ............. .......... Comhinar las operaciones proyc.c.ci6n. selecxihn y reunibn

............................................................................ Resumm .................................................... Preguntas de comprol~acibn

Ejercicios y prohlemas .......................................................... ......................................... Proyectos y cuestiones profesionales

IV ADMINISTRACION DEL ENTORNO DE BASES DE DATOS

11 La atllninistraci6n y el control d e l a base d e datos ......................... 362 ...................... Gest16n cle la base de datos: Una v i s i h panor in~lcn 363

............................................................... F~tnciones del ABD 364 ............................................. Conntnicacibn con 10s usnarios 364

........................... Establecimiento de normas y procedirnientos 366 Ohjetivos rlel 4BD ................................................................ 367

Page 8: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

CONTENIDO

Integridad de la hasr d r datos ................................................. Rrstriccioiies de integridad en SQl, ....................................... R(:stricc*ioncs de intrgridad en Query-IyExample .................... Procesamiento d r transaeciones ........................................... Control de la c:onrurrrnc*ia ..................................................

Seguriclad de la h e de datos .................................................. Autrntificaci6n (Autenticaci6n) ............................................ Autorizaci6n y vistas ......................................................... Encriptacihn ...................................................................

KrcuperaciOn de la h e d r datos ............................................. Puentes d r lallos ............................................................... Procedimirntos d r reci11wraci6n ...........................................

Resumen ............................................................................ Preguntas de comprohaci6n .................................................... Prohlrmas y rjrrcicios ........................................................... Proyrctos y c*i~estiones profrsionales .........................................

12 Sistenias de bases de datos distrihuidas ....................................... 2. Por qu i. sistema d r l m r s de datos distr i lndas? .......................... Un modelo general de SBDD (DDS) .......................................... Diseiio de sistemas de 1)ases de datos distrilmida ..........................

Estrategias y objetivos ...................................................... Distribuci6n de archivos no fragmentados .................................. Procrsamiento distrilmido de las consultas .................................

Se~nirreuniones (semijoins) ................................................. Intvgridad de 10s datos en 10s sistemas de hases de datos distribuidas .

P r o t o d o de cierre de dos-fases ........................................... Bloqueo distrihuido .......................................................... Bloqueo distr i lndo de dos-fases .......................................... Marcas de tiempo .............................................................

Recuperac:i6n de la base de datos ............................................. Sistemas cliente/servidor .......................................................

Conceptos genrrales .......................................................... Aplicacionrs de l m e s d r datos ............................................. SOL Server para Windows NT ...........................................

............................................................................ Rrsumen Preguntas de comprohaci6n .................................................... Ejercicios y proble~nas .......................................................... Proyectos y cuestiones profrsionalrs ......................................

.................................... 13 Selecci6n e implementacih d e un SGBD .............. Anlilisis de las necesidades de informaci6n para la gestibn

............................... Determinar los requisitos de la aplicacihn Mantener la consistencia de los datos .....................................

.................................. Requisites de 10s tiempos de respuesta Funciones v cauacidades de 10s SGBD ....................................... . x

El diccionarioldirectorio de datos ......................................... Seguridad e integridad de 10s datos ....................................... Capacidades de consults, de manipulaci6n de datos y de informes .

.............. Soporte a 10s requisitos de progra1naci6n especializada ............................ Opciones de organizaci6n fisica de los datos

......... Clasificaci6n de los requisitos de las propiedades de un SGBD Reunir datos sobre la disponibilidad de propiedades y sohre el rendi-

.......................................... Adquirir datos de 10s vendedores 425

Page 9: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

CONTENIDO

Prut:l)as de rvaluati6n (Bc?rtchrnc~rh-) ..................................... Modelos de cvalnacihn ...........................................................

........................................................ Modelo de puntnaci6n .i nilisis de la envoltnra de datos ..............................................

................................................. Cucstionrs de implernt:ntac.ibn _lclrninistracibn de la l w w de datos ........................................

...................................................... Probar la hase tle tlatos .................................. Prrpara r a 10s nsuarios para 1:1 can11)io

...................................................... Carpar la base de datos \.lantenimiento de la I m e tlr clntos ........................................

........................................................................... R w n n e n Prrguntas d r t.o~nprohaciOn .................................................... Prol)lcn~as y rjert.ic.ios ........................................................... I'royc~tos y ruestionc.s profrsionales ........................................

14 Sistelnas avanzados: sistrmas d e has(-s cie datos oritxntaclos a o l ~ j e t o s y ......................................... sis te~nas basados e n el c o r ~ o c i n i i e ~ ~ t o s

ITna rvoluciim hacia 10s sistemas tltb I m e s de datos orientados a 01)- ................................................................................ (?to

Intentos de proporc.ionar m a representatiim dr los datos nliis po- derosa ...........................................................................

....... La contrihnci6n tle la 1)rogramacicin orientad; a o1)jrtos (OOP) .-\I, s t r a t ~ i 6 n d e clast. ..........................................................

........................................ Clases derivadas y herencia simple . . Agregaclon ......................................................................

.......... IJn ejemplo rxttwlich que den~uestra la hrrencia multiple ...... Desi~rrollos de 10s sistemas de Ijases ile tlatos orientaclos a o h j t ~

Gemstone ....................................................................... \;l)ast ............................................................................. Orion ............................................................................ PDM ............................................................................. IRIS .............................................................................. 0, .................................................................................

.......................... Un lenguaje gen6ric.o de hase dr tlatos d r o1)jetos .................................... El modelo de tlatos del Lernrr College

Formnlar consultas con TextQurry ........................................... ...... El formato Irhsico tie las solnciones de consnlta e n TextQuery

............................ Definir las direcciones tle las interrclationes Navegar sohre atrihutos e interrelationes ............................... Asignar nornhres a 10s ronjuntos d e r i v d o s ............................. Ex1)resiones calificadas de cornpararihn de conjuntos ................ Conrctores lwoleanos .......................................................

Introclucci6n a 10s sistemas hasados en el conocimierito .................. Conocirniento y bases de datos ................................................. Representacih del conocimiento can reglas ...............................

Formacicin de reglas .......................................................... Keglas en PROLOG .........................................................

Una aplicaci6n simple d e base d e datos en PROLOG ..................... Aspectos fundamentales de PROLOG .................................... La estructura de una a p l i r a c i h en PROLOG ......................... Aplicaci6n de base d e tlatos .................................................

Datalog ..............................................................................

Page 10: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

CONTENIDO

............................................... L t w p ~ a j r de datos lhgicos ( I . DL) 481 Rcsunwn ............................................................................ 481 Prrgnntah tlr repaso .............................................................. 482 Prohlenlas y cjercicios ........................................................... 482 Proyrctos y wrst ionrs profcsionales ......................................... 485

15 El ~ n o t l d o d e datos e n red ........................................................

Estrwtnras trrs-nivelrs ..................................................... Rrgistroz y cwnjlintos .........................................................

Intwrelacibn drl motlrloen red con la srmLntica drl modrladcr con-

Transformacibn de c.onjnntos de ohjrtos r interrelacioneb nno- n~nchos .......................................................................... Transforinacihn dt. intrrrrlacionrs IL-arias .............................. Transformacihn tlr intrrrrlacionrs muchos-muchos ..................

Ltmgnajr de cirfinirihn dr lob datos (DDT. ) de DHTG ..................... Drl nlotlrlo tle ciatos a1 esqurma ........................................... Drl rsqutma a1 subesqurnu ................................................

1. rnguajr tlr manipulacibn d r 10s tlatos (DML) tlrl DBTG ............... Facilidadrs d r recuperacibn y actualizacibn dr l DBTC; .............. Pacilidatlrs tlt.1 DBTG para r l procrsamirnto d r conjuntob .......... Oprracionrs d r conjuntos ...................................................

Clasificacibn de la asoc-iaci6n tlr conjuntos ................................. IDMSIR . 1Jn SGRD ciel DBTG ................................................ E\aluacihn tlr CODASYT. dr l DBTG .........................................

Revresentacihn d r 10s datos ................................................ Lrngnaje de manipnlacihn tlr 10s datos ................................... Rrstricciones de intrgridad ................................................. 1mplrmc:ntacibn ...............................................................

Hesunirn ............................................................................ Preguntas dr rrpaso ..............................................................

........................................................... Problemas \ rjrrcicios Proyrctos y curstionrs profesionales .........................................

16 El modelo d e datos jcrarquico ................................................... ...................................................................... Introcluccibn

Concrptos hisicos y drfinicionrs .............................................. Las interrrlac+mrs dr l modelo jrrhrcjuico para la scmantica tlrl mode-

lado conceptual ................................................................ Tramformar interrelacionrs uno-muchos ............................... Transfor~nar interrelaciones muchos-muchos ...........................

La arquitectnra IMS ' .............................................................. Drfinir la hasr d r tlatos fisica . El DBD .................................. Drfinir la base d r datos Ihgica . El B E P ..................................

MCtodos tlr acceso de 1MS ...................................................... HSAM ........................................................................... HISAM .........................................................................

Page 11: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

XIV CONTENIDO

HDAM ........................................................................... HIDAM ..........................................................................

El lenguaje de la manipulac.i6ii de datos del I MS .......................... El rirea d r trabajo del progrania ........................................... DL11 : Una panorhmica ...................................................... Get Unique (GU) ..............................................................

.................................................................. Get Next (GN) ............................................ Get Next Within Parent (GNP)

........................................................................ Get Hold ............................................................... Replacc: (REPL)

Delrtr (DLET) ................................................................. Insert (INSRT) ..............................................................

La rvaluacihn del modelo de datos jrrhrqi1ic:o .............................. La representaci6n tie 10s datos ............................................. El lenguaje de manipulaci6n de datos ....................................

............................................. .......................... Resumrn .. Preguntas de rrpaso .............................................................. Ejercicios y prohlemas .......................................................... Proyrctos y cuestiones profesionales .......................................

..................................................... ........................... Glosario ..

Bibliografia .................................................................................

Page 12: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

E ate lihro eith (.oncehido para 5er ntilizado como texto en curioi inicialcs tllri- gidos a estndiantes d r blbtemas de informaciAn, tanto de nitel cle pregrado como de posgratio. Como tal pnede intrgrarsr ficilmente dentro tie n n amplio

c n r r i t . ~ d ~ n n tle 5istemas cle informacibn qne incluye l)rogranlacli~n, analisis de sistema. diseiin tle sistenia5. comnnicaci6n de tlatos. ctc.

El l i l ~ r o I~rinda una comprensiva cwhertura cle 10s bistemas tle 1)ases de datos en 10s negocios. E s t i organizddo ;~lretletltrr tiel ciclo cle ticla del tlesarrollo de la has(, clc, datos. lo que nos ofrrre nn marco ddet-uado para la discusihn del diseiio conceptnal. ld implcmrwta- ciirn tle la h a w dc. datos ! la gestihn dr l entorno. A lo largo del l i l ~ r o se usara el n~odelaclo cwt~ceptnal d r tlatos. prilnero como I ~ a s r para el diseiio c o n c q t u a l \. lnego. p t t ~ r i o ~ men- tcb. como medio para la ilnplementacihn, usantlo 10s motlelos relational. jerirquico \. en red. T a n h b n se cl i l~ren 10s lenguajes cle totlos 10s ~nodeloa. asi como las implemmtaclones de ]lases tlr tlatof c.l1rntr/5erviclor y 105 iistemas I)asados en el conocimiento. Todos estos tcmas se enmarcan clentro tle caracteristiras tacticas y estrat6glcas cle gesti6n q u r incluyen la pla- nificaci6n tle la I~ase de clatos. la srlerciibn del SGHD. la administreedl1 de la hase de datos. la sepliridi~tl y la mtrgritlad v l a i Ijases clc datos clistrib~lidas.

El lihro tiene una organizaci6n simple ! dirrr ta cle 10s temas basacla en el clrlo cie tu la clel drsarrollo d r la h a w de clatos. Esto facilita que 10s estndiantes puedan t c r c0mo loi conc.eptos se relacionan entrt, si y dhnde el material cpe esta siendo estndiado encaja dentro de las actitidadrs generales dcl drsarrollo t k l sistema de nna organizirc16n. I,w capitnlos inicialrs presentan 10s cwnt-eptos tle planificaci6n estrat6girir de rlatos, cirmo conq~ar t i r 10s datos y la arquitectr~ra de tre5 niteles, haciendo h f a s i s en el conrepto tlr que 10s aspectos tkcnicos de 10s sistrmas de hases de datos se determinan por lrlh necesidades de informacibn genuinas de los negocios. En el Capitulo 4 se proporciona una amplia c>obertura del diseiio conceptual. Esta inclu!e la cobertura tradicional basica de ohjetos, interrelaciones y atrihu-

Page 13: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

XVI DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

tos, asi t:omo tam1)iC.n nn estudio en profundidad d r trnlas m i s avanzados. tales wnlo la agregaci6n. El disrfio c.onceptnal d r datos twXa las I ~ a s r s d e nnrbstro rnfoque para el diseiio tIt1

base d e datos en los motlrlos relacional (Capitnlos 5 ! 0). tw red (Capitulo 15) y jer i rquico (Cal~itulo 16). Debido a la t.strucatnra modular de 10s rapitnlos. el diseiio d e estos model(~s p ~ e d r ensriiarsr sin hacer rt.ferrnc.ias a1 modrlatlt~ orientado a ok)jetos. A lo largo del l i l ~ r o se estudian cuatro taasos dc negotios qne tw-acterizan a una rompaiiia d i s t r ih idora , una manufavturrra. nna t.om1)aiiia ronstrwtora \- una firma tle consultoria. Se incluyrn diilogos clue st: relacionan direc*tainente ron pro1)lrmas reales d e 1)ast:s d e datos en 10s nrgorios. Se proporciona flexihilidad para los difrre1itt.s enfoques cpe puedan w a r difr- rentes profrsores o instructorrs. Los capitulos son mtorontrnidos. lo clue pwmi- te que pnrdan seleccionarse s e g h st. h e r . El libro incluye un tratamirnto completo tlr 10s lenguajes rrlarionales: SOL (Capi- tulo 71, Query-l~y-Exatnplr (Capitulo 8) y el ilgehra y el c&nlo relacional (Capi- tulo 6), asi romo 10s lenguajcs estindares para las 1)ases de datos jerirqoicas >. r n red. Tam1)ii.n se incluym nuevos aspertos. conio los relativos a los SGBDs c1it:n- telservidor (Capitulo 9). El rapitulo de SOL int.luye m a extensa cohcrtnra tlel SQL-92 ANSI esthndar y el capitulo sobre OBR disrute 10s aspertos genrralrs tlrl lenguaje, asi romo su implenlentariOn m un sisteina comerrial en particnlar. A lo largo de estos taapitulos sobre 10s lenguajes. sr presentan de forma tutorial inuchos qjrnlplos y s r dan rxpliraciones detalladas de twla asperto tlel Icnguaje.

Nuevo material en esta edicih Esta edicihn inclnye un tratamiento sutant:ial de los sisternas clientelsrrvidor, con un capitulo completo dedicado a SGBDs c~lientelservidor y a entornos d r tltbsa- rrollo de ap1it:aeionrs. Especifit:amrnte se examinan 10s sistemas de gestihn dr bases de datos Oracle y SQI, Server y el entorno d e desarrollo d r aplicaciones PowerBuilder. Sr exploran 10s principios clue introducen rstos sistrmas, lo q n r 1)rinda un complrmrnto podrroso a las bases tebriras que s r rncuentran a lo lar- go del l i l~ro. Sr ha mrjorado el capitulo sohre SQL, clue ahora incluyr una twbertura signifi- cativa del est indar SOL-92. Los aspectos relativos a1 lenguaje de definirihll de datos, claves forineas y otras definiciones d r restricciones, nuevos t i p s de datos y las operacionrs del i lgrbra relacional s r exploran con algGn detallr. El Capitulo 2 ofrece tl caso tle Servicios para ~ e l r h r a c i o n r s , que fur prrviamrn- t r inrluido como un suplrmento. Esto prrmite a1 rstudiante de fornia innlrdiata ponrr "las manos encima" de un sistema de hase d e tlatos. a la vez qnr rerihe una visihn dr l proceso d e desarrollo del sistrma. Los capitulos existrntes s r han reelahorado y rnejorado. Esto ha dado romo rrsul- tado, por ejemplo, clue se haya inc:orporatlo nuevo lnaterial s o h la implrmenta- ci6n fisira (hashing tlinimico), sistemas de bases d e datos distrihuidas (asignari6n ciptima d r archivos) y una nueva s r c c i h twrnplrta dedicada a 10s sistrmas d e bases tle datos orirntadas a objeto.

Enseiiar y aprender con el texto Cada capitulo comienza con un escenario clue proviene de uno de 10s cuatro casos a 10s clue se les va dando continuidad. Catla escenario presrnta una situacihn rea- lista que tiene que ver con el tema del capitulo y destaca 10s temas claves del capi- tulo. Este rscenario es seguido inmediatamente por nna lista de 10s objetivos del

Page 14: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

cap i tdo . q11r esta1)lrt.t. 10s ronoriniirntos qur d t h alt.anzar t.1 cbstudiantr. El llalanre d r ratla t.q)itulo inrluye otros numrrosos e6enil)los 1)asatlos en la t<cmti- nuidad d r 10s cwatro rasos. asi c ~ ~ n i o otros varios t w o s . Sr incluyr un gran ninnrro tlr fignras para ilustrar rl niotlrlado dt, las I m e s tltb datos. solnt~iones tlr las p ~ y y n t a s \ otros thpitws. El r a p i t d o sol)rtx t~liente/srr\i- (lor inrlu)e ilustrac.ionrs tomatlas dirrt*tanic.ntr clr las pmtal las tlr los twnq)ut:r- dorrs clue s r nsaron para drsarrol1;u 10s rjvr111)los. El l i h o tielit. una aml)lia 1)il)liografia artnalizatla d e artit.1110~ d e in\ rstilri~ciOii. tlv

C: modo tpr 10s estutliantt~s intt~resados purtlrn r rp lora r 10s temas r n ~nwfnndidatl. Los materialrs. ill f i n d tlrl capitulo. s r han c:standarizatlo. Catla nno incluj-r nn resnmen d r lo trataclo en el mismo. Atleniis i n r l u y Prrguntas tle r rprso. tpw w pueden rrspondrr tlirectamentv a part i r del texto; 1)rol)ltwas y e6ertitios t p t x vsti- mulan y desarrollan una ronil)rtwsitin r n profuntlitlad. y pro>rcatos y r11t4o11e> profrsionalrs para un trahajo mas avanzatlo. 1711 glosario tlr 10s t h n i n o s c laws s r va disponirndo en los niLrgent.s tlrl trxto. tlr niodo qnr rstb disponihle 11aranna fhtil rt.ftwritia. I 1 final d r l tttxto s r I)rintla tanihibn un rxtenso glosario general.

Aclaraciones sobre la notaci6n I lo largo ttrl lihro s r presentan inuc*hos rjernplos para ilustrar twnt7rptos r n el niotlelatlo de datos. 10s Irnguajes. etc*. A4 nirnudo en estos rjeniplos st. usan no~nl ) r r s tlc datos c o w puestos. Alguiias v r t w ;ipiirrwii ronectados con guionrs y otras \rt*es roil sn1)rayatlos. Ekta selrwihn esta contlicionada por la industria. P o r rjrmplo. los nonihres tlr datos r n r l capitulo del modelo en rrtl nsan guiones porqur eso es lo que emplea el modrlo CO1)ISI~L rsthndai-, mientras qur 10s capitulos sohre SQL y QBE w a n su1)rayatlo.

El estndiante que desarrollr un proyecto o el teaso pal-ticnlar tlr un sistcnia real tlrbe- r i detrrminar quC convrnio r r t p i e r r el sistema. Una iniplcmentacih con 6xitc1 tle algnno de nurstros t~jcrnplos pudirra rrquwii- convrrtir guiones a suhrayados, o a1 rontriuio. Kn cualquirr t w o esta conversihn no r s dificil y c i d q u i r r c~1mparaci6n d r nurstros rrsulta- dos con 10s dr l estndiante no tle1)irra causar confnsihn.

A1 instructor Nnrstro ohjrtivo a lo largo tlrl libro r s ofrerer nn material que sirva lo mismo a1 estudian- t r q u r s r inicia cotno a1 rstudiaiitt: avanzatlo, prrsrnthntlolo en una forma c lam. Tarn1)iPn se han drstarado difrrrntrs p n t o s de vista. P o r tanto, si tlesea presrntar cl trma desdr el punto tlr vista de la grstihn o clrsde el punto d r vista tknictr, pneclr srlecxionar 10s capitu- 10s s r g h l r convrnga para su rnfoque. Si su intrrks r s rnfatizar el disriio (lr hases dr datos o 10s lrngilajrs d r nianipulatihn tlc tlatos, el l i l m 1r 1)rintla nn fuertr soportc en a m l ~ a s i reas . Finalmrntr se pnedrn tam1)ii.n seleccionar los capitulos para seguir un rnfocpr ti-a- dicional a1 t rma, o pnetlr tomar trmas m i s avanzatlos, hat:icntlo Cnfasis rn las linras actua- les d r invrstigaci6n. Puedr usarsr la siguirnte lista de capitulos por areas tlifrrrntrs para orientar el curso st@n sus rrquisitos.

Cupitulos TCcnicos 2.4.5 ,6 ,7 ,8 ,9 .10,14,15.16

Copitulos dp Dispio de Bows de Dotos Copitulos de Lenguaj~s 4,6 , 10, 15,16 6, 7 .8 ,9 , 14. 13. 16

Copitulos Avunzcidos.. . 4. 7 ,9 , 14

Page 15: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Suplementos

Agradecimientos LIn g r u p de revisores nos ha 1)rindatlo ideas p sugercmias I~IUJ . iltiles clue han ayu-

tlatlo a p r e p - a r 1:) vrrsiOu final de (.st(: 1il)ro. Ellos son: Kirk f? :lr.llett. Mississipi Statt. I!ni\crsit?; U a ~ i t l J. Auw. Western %ashii~gtou U~iiversitj; Elin B. Cohen, Wichita State Uni~crs i t? ; Orlirnclo E. ka t t r r . Jr. . P inga te Collage; l{ajrt:v Iiaula, Sol~thwt*st Missoori State I !n i~r rs i ty ; Kichard Iir,rns, East Carolilia U n i v c ~ s i t ~ ; Constar~c-e 5. I<napp. pat^

University; Paul F:. Laski, Nothern 17irgiriia Community College: Ihnaltl Mac.stas? New Mexico Highlands [Tniversity: Scott McIntyrv, University of Coloratlo: Virtor hle!c.rs. Hawaii Pacific tiniversity: Stevaii Mrdalj? Eas t r r t~ Michigan University: %'illiani 1'. Wag- urr. Villanopa Ul~iversi~y y ;ihnwtl Zalti, College of Williai~i and Mary.

Page 16: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

A LA EDICION ESPANOLA

El estado del arte de 10s SGBD Enero de 1997, la prestigiosa revista americ-ana clc. haws d r datos RMS pul)lic.al)a un rciitorial recordando sn dbcimo aniver5ario y el odo en qur el a(-tual clirrrtor acredi6 a1 ejemplai- niunero uno (1e "De modo cnsunl", romo s~ i r l r su(-r(ler con 10s grandes aconteci-

niientos relacionados (.on r l mundo cle la rultura inform5tic.a. En ese primcr niimero cie otoiio de 1988 el rciitorial vuaminal~a 10s servidores de basrs cie ciatos y su rol en (11 modelo emei-gente c-lir~~tr/srrviclor. La majoria de 10s restantes arti- ci~los sr w n t r a l ~ a n en el desarrollo d r ap1ic.aciont.s nudtiusuario Xhase.

En r l n i~mr ro citacio cie 1997. que inic.ial,a r l 10." aiio cie su puhlicaribn, avcntural~a su dirrrtor clue r ra difivil predecir cpb ha l~r ia m el editorial clrl2007. Clirntc/5crvidor fue una nneva itlea cic hacr diez aiios. Hov existen numerosas \ores clue wiialan o preronizan "su muerte" y la sustitucii~n por el nuevo Clien- te/Servitlor Univrrsal constituido por las rrdes pii1)liras Intrrnrt y privaclas ((.or- porativas) Intranrt.

Durantr el afio 1997 la ritacia revista DBMS r s t i rxaminando las tendencias actualrs mis inno\ acioras, tales como drsarrollo cir aplicac+mc.s (11, haws cie clatoi para Intrrnr t r Intranet, DBMS5 (SGBD) relacionalrs/objrtc,s, sistemas distrilbui- c h . com~)onentes. etc.

En rsrncia, se podr i decir clue 10s navegaciorrs dc la VCeh y las demis trcno- logias VCrl) para u5o en Internet e Intranet r s t in ram1)iancIo raciicalmente cl modo de desarrollo clr aplicav~ones de bases de datos cie 10s prhximos aiios y ciel t e rwr milenio. Si a ello i r unr 10s niwvos proverdores y tam1)iCn r l advrnimiento de las nut\ as computadoras NetPC y NC, s c ~ i prrciso trner presrntr que cada dia s e r i urcesario power 10s conocimientos tr6riros y prhcticos de tliseiio y construcci6n clr 1)ases cie datos. Si dichos conocimientos siempre han siclo necesarios para el desarrollo profesional cic software, hoy rlia es unn nec*esiciad vital, ya clue si I~ien el inipacto de la Wrl) r n servidores DBMS es mu, ncusndo, las haws cle selrrcihn

grstibn de un SGBD no han ram1)iado c1r5sticamente.

Page 17: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

El iiltinio numrro d(: Junio tlr 199: anuncia la implantaci6n tlr los srrvitlo- r rs n11ivr1-salrs, p r ro a travi'x d r un procrso d r n~igracii'm lrnto. Acalja (I(: a n u w ciarsr Oracle 8. (jut su fabric-ante prrsrnta w m o la hasr tlr tlatos para la infor- nihtica t k retl (Nrtworli Cor i i~~ut r r ) (IW prrn~itirl i yrrstionar grantlrs cantitlacks (1r clatos sol)rr redrs de cwmpntadoras con srguriclacl, fia1)ilitlacl y cconornia. Adr- miis clr las c:arac'tt:risticas anteriorcs; y siguirndo las nrlrvas trndrncias, st, incor- pora el rnodrlo ol~jvto, tlr nloclo ( ~ n v sr p~i(:(lr c.onsitlrrar qn(. Oraclca 8 rs un

. , ORDUXlS (Sistrma tlv grstton -;~(l~i~inistrac:iOn- clc I)nsrs cle tlatos rrlacio- nilllol)jctos), conio ha confirmatlo rrc:irntc:mrntr la 1)ropia revista oficial clr Ora- d v . Es t h i r . se cwnstruj-en tccmologias tlr objrtos s o h un f'lmtlamrnto rrlacio- nal. Otra tic. las calxrtrristicas sohrrsalirntrs di: Oracle 8 (:s incluir la capacidad para ciw 10s programadores tlc Java puctlan acwcler a 1)asc:s d r datos. El rstatlo ac-tllal (lr las trcnologias t k 1)asrs tlr datos (.st5 soportado por sisten~as y o l~jr tos tlistrilwitlos, ORRs, trc.nologia \Y'rh2 CIS, etr. Esto implira qu(: 10s nut:vos usua- rios tle t)ascs tlr tlatos tlehrrlin cwntrniplar una f o r ~ n a c i h i ~ en cstus tc:c.nologias clchiclo esrnciahnrnte a cIrlr totlas las \ersiones dcl futr1r.o soportarAn rstas carat:-

trristic-as. P o r d l o sr newsitan li1)ros innovatlorcs r n t w r i a t l ( . h s r s tlr datos cwmo es el qtte trncmos en nu(-stras manos.

Fundamentos tebricos del libro

IJa inateria R a s ~ s de datos rs una asigniltura contt:mpIa(la tm totlos 10s (:tirriclilum cle las carrtsras d r Ingrnicria Inforniitica y tle Sistemas Coml~utacional(:s o Cirn- rias tlr la Computacihn: rso req~1ier.r tlrl rstudiantr o 1rc.tor avanzado disponrr clr 1)urnos lihros clue proporeionen fnndanientos trhricos rignrosos y m ~)rofnndi- dad, contrmplantlo toclas las tc.c*nologias mhs rrcientrs.

Asi nn Imen libro tlv hase tlr datos delwrii c:onttmplar como rninin~o: FILIZ- dumentos teciricos, el moddo de datos. diserio cle las brrses de tlutos, 10s sisterncls de c~dministrc~cicin, sistemas clientel.servidor,lor, sisternas orientudos u o ~ j e t o s , s i s t e tnus distribuidos y sistenms bnsados en el cwtocimiento.

P o r otra par t r , 11110 clr los grandes problemas q u r existrn e n la ac*t~ialitlatl son los sistrmas hcrrtlaclos (leg-clcy dutabuse systenrs); rs tlecir, acjuc:llos qrw 1-eprcwmta11 a 10s primrros sistenlas tle I~as rs dc. datos (motlelo dc tlatos r n red, mocklo tle datos jrriirquico y los 1)rimrros modrlos rrlacionales). A u r q r ~ e estos sistrmas no son tan drgantrs conlo los actuales sistrrnas rrlacionalrs dc o1)jrtos y hasados r n el conocimiento, sigr~cn sirndo de gran uso y t icnm toclavia una larga vitla. Es mu? importantr t[ur un profesional dr l software, ingrnirro, analista o progr;imador, st: acostuni1)rr a convivir con ellos mirntras s r protluw la transi- ci6n u 10s moclrrnos sistrmas tlc hasrs clr ciatos. P o r rsta circunstancia cs muy intrrcsante que un lihro universitario tle haws tle datos contrnga una partca tlrdi- catla a esos sistrmas antiguos o Iirrrdados, soportes todavia de la informlitica tle gran rantidat1 tlr cmprrsas.

Arlministrucicin y diserio rle bases de datos d r G.W. Hansen y J.V. Hansrn (.ontempla con rigor y profuntliclad totlos 10s temas funtlamrntalvs de hases tlr clatos citatlos antrriormrntr: fundamrntos trGricos y organizacicin tlr la base cie datos; tlisriio c k bases tlr tlatos (modrlo tlr clato conceptual, moilrlo d r (lato rrla- cional); iniplrmentac-i6n d r la hase tlr datos rrlacionalrs (Algebra rclacional. SQL, sistrmas cie base d r datos clientrlservidor); adrni1iistraci611 y grstion drl rntorno de bases d r datos y sistrmas tlr bases de datos tlistribuidos y hasados en el conocimirnto. P o r ultimo, contempla los sistemas heredados tlr hasrs de tlatos (modrlo de datos en red y jrrarquico), considerando 10s mktodos y arquitecturas tradicionalrs IDMS, IMS, etc.

Page 18: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PROLOG0 A LA EDICION ESPANOLA

El libro como elemento de universitario y profesional

XXI

ayuda a1 estudiante

Epilogo

T,a ol)l-a tle Gary W. Hansrn y J a ~ n r s V. Hailsen virnr a inc~orporarst a la alnplia 1~il)liografia t.n in$& rxistcmtt: tlr 1,nsc:s tle datos y a la no m ~ i y nwnrrosil. p r o excrlrntt: -en rs1)aiiol- pn1)lic:ada por clifrrcntes rditoriales rspaiiolas o latino- amrriranas, 1)or 10 qiir s r compleinrntari pc-rfectarnetite con las ya rxistentt*~ y atlt:niis ocupai-i (4 rspacio significative notable clue supone t ra ta r 10s temas inno- vadores ya c-itatlos.

Crctmos (111~ SII t rn~ar io avtualizado p r n i i t i r a la d i f i ~ i h tle la teoria, (list*- iio y t:onstr~iccihn d r las haws t l r datos tanto en Espaiia como en Latinoamtrica )I.

constitiiirLi m a niagnifica noticia en el iinbito editorial hispano, siernpre nwesi- tatlo dc I)~ietias ohras de nivel nniversitario y profesional.

Luis Joyanes Aguilar Director del Departamento de Ler~guajes

v Sistcvnas Znformaticos e Ingenieria de Software Fncultnd d e lrtformcitica. Escuela Universitarin d e Informciticn

Uiliversidad Pontificia de Salamanca. Cnncpis Madrid

Page 19: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

P A R T E

UNO LAS BASES DE DATOS

Y SUS CONTEXTOS

i,Qui. 1,s una base tlatos y (1116 es o n sistema d r I)ast. dc datos? i,Chrno sc: originaron 10s sistrmas de 1)asc.s de datos? chino se tlvsarrollan los sistcinas tle bases dc datos? i,(:hinc~ las orfanizaciones ntilizan y controlan las bases tle clatos?

El capitulo 1 sc: rcfiere a las dos primeras p r t y ~ n t a s antrriores. En estc capitulo se re\ isa r l tlt.sarrollo histhricw de los sistcinas d e bases de datos. Sr profnndiza r11 la manr ra en clue las necwitlatlc~s d r los negocios han conlorniado cl dcsarrollo clr la trc.- nologia y c4mo la informatihn iinplirita en 10s datos ha Ilrgado a convertirse en un rrc-uiw corporative valioso. El estntlio c o n t h i r i con nna tlrscriptihn de 10s cwatro com- ponrn t r .~ principalrs cle un sistema d r Imr de clatos: c.1 hardware, el software, los datos y las personas.

Kl r a p i t d o 2 se refiere a l a tei-wra pregunta. Atlui s r examina una aplicaci6n t i p - tna ! sc presenta rl procseso tlr tlesarrollo tle nn sistc~ina de base d e tlatos paso a paso. Se p ~ l r i i o1)servar chi110 puede tlesarrollarse nn sistema tle 11ase de datos real sobre un sis- trma tipiro. Si el lector entra r n un sistema cle gesti6n tlr hasrs tle tlatos, p o d r i desa- rrollar pantallas p definicionrs tlr taldas para desarrollar este ejrmplo cle hase de datos.

El rapitnlo 3 responcle a la illtima pregunta, analizando 10s sistrmas d e bases tle clatos en sn c ~ t i t r x t o org;iniro e introducienclo y rstudiando el ciclo dr vida dr l drsarro- Ilo de nna hase de datos. Se tliscute sohre la necesidacl d e compartir 10s datos a todos los ni\eles dc una organizacihn. se desc.ril)c el proceso d r planificaci6n de los datos rstratb- gicos ! s r eslwza el paprl t p L jnega el personal que administra la hase de datos en el con- trol y la protecci6n de la niisma. Tanhibn s r muestra que el diseiio de una hase d e datos, aunque ejec*ntado a1 inismo tiempo que r l diseiio del sistrma, drberia ser considerado cwn un alcance sqwr ior a1 del clisriio cle cualquier otro sistema. Una base d r clatos bien conc.el)ida se ronvrr t i r i entonces en el fundamento para rnwhos sistemas dr ap l icac ih .

Page 20: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LOS SISTEMAS DE BASES DE DATOS

DE BASES DE DATOS

Evolucion de la tecnologia de las bases de datos Un caso: La compatiia International Product Dis-

tribution Sistemas orientados a archivos

Descubrimiento de la necesidad del procesa- miento con acceso direct0

La informacion como un recurso Otras limitaciones de 10s sistemas de archivos

tradicionales Redundancia de 10s datos Pobre control de 10s datos Capacidades inadecuadas de manipulacion

de 10s datos Esfuerzo excesivo de programacion

Sistemas de bases de datos Sistemas sobre el modelo jerarquico y sobre el

modelo en red Sistemas de bases de datos relacionales

Direcciones actuales-plataformas clientelservidor Sistemas de bases de datos: el hardware, el soft-

ware, 10s datos, las personas

El hardware El software

Diccionario/directorio de datos Mecanismos de seguridad e integridad de

10s datos Acceso concurrente a 10s datos para mul-

tiples usuarios Consultas e informes de 10s datos orienta-

dos al usuario Facilidades para el desarrollo de las aplica-

ciones Los datos Las personas Interrelacion entre 10s cuatro componentes

del sistema Resumen Preguntas de comprobacion Problemas y ejercicios Proyectos y cuestiones profesionales

Page 21: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

4 DISENO Y ADMINISTRACION DE BASES DE DATOS

"*am-

SILSU~L Broadbent, CEO. y Sarfird Ilnllon, CIO (director tle aisteii~us rle infbrinttcicin), tlr lu compccliirc litteritcctiorral Prot1lit.t Distributioir, tliarliteil rcitimttdtcineittr sobrr lu t~c i io- logiu d r 10s sistemus. Suaurl. vieirdo lo oport~mitlud dr hacer u i ~ u broi im le prouocb: '.iStcndy, ~ I I ~ P ~ P S que pas~iiros (I r ~ i r sihtemu (lr buw de (11ctos t~lieritr/servitlo~'~~" " ~ E s &t(c uitu i ihs ( 1 ~ tu.s idrus ( ~ t o l o ~ ~ d r u d ~ ~ ~ : ' " SuiLJord le respoizdib: "~Ato lo r~d rud (~? 24lguitu re: he hecho yo u i ~ u p r o p e s t u clue no h u b i ~ r u sitlo con rebid(^ roil hrilluirtc~ y qjecutudu con ubsolutu precisibn?"

-'Bim. cecrinos. Cuuicdo tti l l egus t~ uqui. ~coh / IPC(IS~P de nuestro \istem(i inu1111u1 (I un sist~rilcc orieiltudo (1 ( ~ r c k i ~ m . l m y o ~ i i t o el aisteinu de buses de dutos en red, y despuGs lus relucionctl(~s. Ahoru p i e r r s ir hucicc IIJI(I plutujorina clieirte/serr.idor. Si estos esquemas fiieron concebidos hrillaictemrirte, i p o r quG hay que mmbiurlos (11 cubo r l ~ pocos ciiios:~"

Suiford se rib. La sonrisu de Susun le decin que ellu e rn comciente de las razones t l ~ cu+c cunrbio y de 10s benejiciou \ignijie(iticos coserhudo~ por 1u compuiiiu en cudu o c w sibir. El contestb: "Ha sido uit largo cc~nliiro irluiLtenerse (tvciitzccilclo (1 la p u r qur la teciro- logicr. icierto o julso?"

'6 7 , 51. Pero tli hus szdo excq)cioi~(ilul perrnui~ecer (11 t u i~ to de 105 destcrrollos y mover- nos huciu ~110s rr~ccr~tlo inus contribr~iriori (I iruestro iwgocio. Y peizsur ( ~ I P todo einprzb tlr rm ntodo tu 11 .\irnple. . . "

nsan Broatllwnt ! Sanford Wirllon reflejan su satisfactihn sohrc. varias dCca- das de twtimiento d d negocio hasado tm la twnologia tle accrso a 10s tiatos. En estr capitulo se analizan: ( I ) el desarrollo dta tAsta tet*iiologia en su inipat*to

so11rc It13 ncgotios \. rhmo ha cstatlo akc tada ella miiina 11or lai net~i i t lades twnerciales. ) (2) lo, cuatro roml~onentcs principalcs de un i i i t cn~a tic h i e tlr datob n~od r rno -el hurd- mutre. el soj'tuwre. 10s datos la, perionas-. 1)eipuC.~ dc leer este t*apitnlo. el uiuario c1el)eria ser t-apaz tit.:

Conocer los puntos fiwrtes y t1Pl)iles tlr los sisttm~as tlc archivo tle accrso sccum- rial y tie accrso diret.to. Expl i tw chmo la infi)rmaci6u ha llrgatlo a considerarsc conio un recurso valioso en las organizationes niodernas. Descrihir la evoluci6n histbrica d r 10s sisten~as de haws tlr datos jeriryuicos. en red y relacionalrs y las nec,esidatlrs de 10s negocios cpe condujeron a su desarrollo. Explicar chmo 10s cnatro componentes -el hardware. rl software, 10s datos y las prrsonab- se integran para ronstitnir 10s sistemas de hascs tle datos at-tuales.

La evoluci6n de la tecnologia de bases de datos La sofisticacihn de la tecnologia modrrna de las Imcs tie tlatos es el resultado de la evolu- ci6n (4um lo largo de varias t1Gcatlas ha tenitlo Ingar en el procrsamiento d r 10s datos y en la gestihn d r la informaciOn. La trcnologia tie aeceso a 10s datos se ha desarrollatlo desde 10s niGtodos primitives tle 10s afios cint*uenta hasta 10s potentes e integrados sistemas d r hoy en dia: arrastratlos de un lado por la5 n t w d a t l e s y las denlandas de la administracihn y. de otro, restringids por las limitaciones de la tecncrlogia.

Las expectativas de la administraci6n han crecido paralrlamente a la evoluci6n de la tecnologia. Los primeros sistemas de prorcsamieiito tle datos ejecutaron las tareas admi- nistrati\as para reducir el paprleo. Mis rrcientementr, 10s sistemas se han expandido hacia la product:ihn y la gesti6n de la informat:i6n, la clue se ha twnr r t i do en un recurso vital para las compaiiias. Actualmente, la fnnt:i6n mi s importantc de 10s sistemas de l m e s de datos consiste en proporcionar el funtlamento a los sistelnas de in formacih para la ges- tihn corporativa.

Page 22: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LOS SISTEMAS DE BASES DE DATOS Y LA EVOLUCION DE LA TECNOLOG~A ... 5

Un caso: La compaiiia International Product Distribution

Susccn Broutlbc~rit es lcc j~n t ludoru . propietciriu y l)r(~.sidenttc de Interncctionrrl Pro(luel Distribution (IPI)), clue ~ w c l e por er~ciinrr cle 3.500 producto.\ de rricis de 300 Jirbricuntc~s en puises (1e todo el ntnntlo. Lu IPD tieno su sedt~ en C:Itit~rgo, con ($rillus interncccionnle~ en Bruselus, BUPILO.~ rlires, Lupos, Sirevci Delhi, Tokio y Sydney. 4lrerletlor de 2.700 represeiituntes de i.ent(cs trubuju~t loccrlinente P I L ~ncis d~ 100 pcrisc~s, cccdu uno rle 10,s cua- les i i ~ o r i m u una ojicincc rg ionul . La compaiiiu t ime unus ventas uriuules rlc~ ulredeclor de 500 millones cle di,lures y uno.s benejicios eri torno (1 50 inillones de di,lures.

Despnhs de ventler ropn rle nilios rlurunte un cierto nhnero rle uiios prodticirln por un inismo fnbrictcnte (1 los grartdes ulrncrcenes de Chicugo, Susrcn tlecitlii, clue poclrici uiirnentar signijicutii~ument~ sus ingreso.~ si r ( y re sen t t i h u vurios fhbric~intes. 4si. J i u - rli, Interi~ationcil Product l ) i s t r ibut io~~. Su concepto eru sencillo. ( I ) Ideritijicwr 10s ,fubriccrntes en dii~c~rsos pirises cuyos protluctos rno.\trrrrun coitstarrterrleilte u i ~ a culidutl rc~conociclu. ( 2 ) Identijcur rr los rninoristus qiicl upoyururr la ventu (le tules prod~cc- tos. (3) Estublecer .fuertes reluciones c.ornerciules. tunto con 10s Jibriccintes como con 10s minoristus, proporcionundo (L ehtos ultimos 10s protluctos de 10s ,fubricuntes crpro- l)iutlo.s.

lnicinlinentc~, conttrbu con rnuy poco personu1 y se relucionubu hicornente colt ininoristus de Cl~icugo v Ji~bricuiztes del inedio oeste. Sin ernburgo. en poco tieinpo estrrvo ctbustecienclo productos u 10s comercinntes desde St. Louis Irastu C1e~elund. Sus primerus wiltus ~ n t ( ~ r n u c i o n u l ~ ~ 11,s hizo ( I U I I O S ulnlucene~ en Toronto. Desprds de tres uiios, lct contpcliiiu IPD tuvo re1)resentuntes en Europu y (10s uiios incis turde en Tokio. Segltidu- rnente se abrieron oficirms el1 Buenos Aires, Syrlrre~ Lupos y Vuevu Delhi. Cudn ojicinu en~plenbu coniprudores y representclntes de ventus. Los productos comprudos se I . P I L ( ~ ~ ( I ~

en el I)& de fcibricarii,n o se exportrrban para su veiltn en otro p i s . Lu Figurn 1.1 ilns- trtr la intcmdacicin existente entre lu conrpufiiu IPD y sus clientes, trmto 10s ininoristrrb ( ~ 1 m 0 10s suministrcdores. Conlo se puetle ver, 10s productos circulun desde el fubricaute ct

10s aliriucenes (le IPI) y tlesde u l ~ i ul minoristu. &!principio, 10s registros de lus t.entus, tle las cornpras de 10s prorluctos y el incen-

turio de lu compur?iu se qfectr~uban u inano. Yo obstunte, aljincrlizar el segundo ulio, el vo l~~nien ( 1 ~ 1 negorio S P htchir~ extendido tunto que file necesurio comprtrr zin rninicompzi- tndor puru ulnm-enur estu i1forrnuci6n y r o ~ f e c c i o n ~ r informes, fucturas y p g o s , trrl y corr~o se mziestra en la Figuru 1.2. Sunford Mallon fue contrutaclo pura desurrollur este sisteincc orientado a urchivos y para dirigir un gru110,formado por progrurnuclor~s. ope- rudores prcc /ti entrudu de dutos y personu1 cle operuciorres.

Page 23: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACI~N DE BASES DE DATOS

International Product Distribution I I

EL MINORISTA

International Product Distribution

I CONTROL DE I

Sistemas or entados a 10s archivos Los sisteinas con~piitacionalrs sr utilizaron inicialmente en 10s nrgocios para funciones dr contahilitlad: las curntas a cohrar, las cuentas a pagar, la nbmina 4 otras. Estas funciones rran impresrindihles para clue el negocio funcionara. Por collsig~iientr, (4 costo de 10s con- putadores cjur podian ejecutar estas funciones era f a d tle justific.ar. Pcrr rjmlplo, rl

Page 24: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LOS SISTEMAS DE BASES DE DATOS Y LA EVOLUCION DE LA TECNOLOG~A ... 7

siste~na d r procesamiento d e datos. Un sistema automatizatlo p r ; r 1woc(wr 10s tlatos tle los rcgistros tic una orpnizaci6n.

e,sfuerzo nlanual rrquerido para la nhiiiina o las rurntas a c o h a r era tan grantle t p b . si uu sistema ;ruttrmati~ado putlitbra reemplazar a1 sistema manual. pagaria l)or si solo la i m e r - sihn en corto tirnil)o.

Estos sistemas s r Ilamaron sistemas d e procesa~nien to d e clatos de1)ido a qae t.jecw t a h n las funciones 11al)itualrs de tr;rtainiento de 10s registros. Sin qnr chsto 1)urtla sor- p r r t d e r a los programadorrs !. a 10s analistas clue diseiiaron estos sistemas. s r dejaron influir durante sn programaciih por la inclinaci6n riat~iral de iinitar 10s procetlimientos manuales rwistentes. Asi. los archivos en el computatlor se corrcspontlian con 10s archi\ os de papel y 10s rrgistros en 10s tircllivos del coinputador contenian la infomiacihn clue podia alniatwmr una carlwta individiial de un archivo en tin sistrma manual.

La Figura 1.3 muestra algunos arc:hivos y datos tlr prueba del sisten~a original or ie~i- tado a archivos dr la cwnpafiia International Prodiwt Distribution. Cada tabla relwesen- ta nn archivo del sistcma. Es decir. se tienc: tin archive CLIEhTE. un archi to REPKE- SENTLSNTE-DE-VENTrlS. un archivo PRODUCT0 y asi sncrsi\anwnte. Catla fila represriita 1111 registro en el archivo. De esta manera, el art-hivo PR0I)UCTO contienr tres registros. Cada uno (It. estos rc:gistros iwntienr los datos s o h e un ~ ) r o d ~ ~ c . t o tlifereutc. I N S c*onceptos o twnpos tlr 10s tlatos individuales en t.1 archivo I'KODUCTO son ID-PKO-

- - ---

PAGOS C L I E N T E BALANCE HASTA E L ID-CLIENTE NOMB-CLIENTE DIRECCION PAIS INICIAL MES

100 Hnos. Watabe Apdo. 241, T o k i o Japon 45.551 40.113 101 M a t l z l S a l z b u r g A u s t r i a 75.314 65.200 105 J e f f e r s o n B 918, Chicago EUA 49.333 49.811 110 Gomez S a n t i a g o C h i l e 27.400 28.414

REPRESENTANTE DE VENTAS

ID-REP NOMB-REP 10 Rodney Jones 14 M a s a j i Matsu 23 F r a n q o i s M o i r e 3 7 Elena Hermana 39 Goro Azuma

PRODUCT0

ID-PRODUCT0 DESC-PRODUCT0 1035 S u e t e r 2241 Lampara de Mesa 251 8 E s c u l t u r a de Bronce

VENTA

FECHA ID-CLIENTE ID-REP 02 I08 100 14 02/12 101 23 02/12 101 2 3 02/19 I00 39 02 122 101 23 02/25 105 10 02/25 110 3 7

FABRICANTE

ID-DIRECTOR O F I C I N A 27 Chicago 44 T o k i o 35 B r u s e l a s 12 B.A. 44 T o k i o

ID-FABRICANTE COST0 21 0 11.25 31 7 22.25 253 13.60

CANTIDAD 200 300 150 200 200 100 150

PRECIO 22.00 33.25 21.20

ID-FABRICANTE WOMB-FABRICANTE DIRECCION 21 0 Confecc iones K i w i Auk land Nueva Ze landa 253 Obras de Bronce Lagos N i g e r i a 31 7 Lamparas L l a n a L ima Per12

' Para rrsprlar rl srntido drl hul~l t~r tlrl autor. los i~oml~rrr dr pwsonas. or;aniaacionrs. luparrh ! dirrc:c:ionr>, u~ilizador rn 10s tjrn~plos a lo largo (lr todo cl 1iI~r.o. sc. han n~antmido igual quc rn rl oripinal ( R . dcl T.).

Page 25: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINIsTRACION DE BASES DE DATOS

P o r el rnomento. supongarnos qne se t ime accrso a totlos estos art'hivos secwntial- mvnte. Es decir. quc. ratla registro puetle leerse y prowsarse i lnicauw~~tc t1espui.s qnt, totloa 10s registros q11t' lo precetlen en t.1 art-hivo huhieran sido Ieitlos. Kso t.ra lo tjue otxrr ia (111

la t ~ ~ n ~ p a i i i a IPD en 10s alios scbstbnta, cuando el allniirenanknto c.11 t1irt.o e ra totlavia rela- tiva~uente c a m . La ~nayoria tit* 10s art.hivos se a h a t - e n a h a n t.11 tintil ~nagni.tit.a y se tenia accrso y s r proresaban 10s registros rn s t ~ t w w i a . Por lo gcnrral. estos archivos s r p r o c ~ - sa1)an en lotrs. lo tjnts signifit-al)a quth 111dos 10s registros tle un a r t ~ l l i t t ~ st' prot*esal)an a1 mislno t i e m l ~ o ~ nornlalnlrnte cada noclw tlespuGs tlel rierre tlel negot.io.

Los arel~ivos sc. utilizalran para varias aplicacionrs diferrntt+. E'or ejrnlplo. el pro- grama de las cuelitas a w h r a r general~a 10s estados d r t.uentas para 10s t*lientes. Utiliza- ha 10s art*hivtrs CLIENTE !. \iENTA. Aml)os art-hivos se ordetlal)an sc.giln el c a m p ID-C:LIE&TE 1. se fusionahan para c w a r un ektatlo impreso. twmo se murstra en la Fi- p r a 1.4. El r a m p SL\LDO-Ih'TCIAL en r l archivo CLIENTE se at-tualizal~a para rcfle- j a r 10s nuevtrs cargos. Los pagos. qntB se rerihian y proc.t:sal~an previalnente 1)trr otro pro- grams, teniendo en cnenta el arvhivo CLIENTE. se registral)an en el tbaln1w P.i(;OS-H:\STL4-MES-.4CTUA4L tlel arcllivo CLIENTE y s r mostral)an en el cstatlo tle tauelitas.

Un p r o p i n l a conlo Gste clue realiza una tarea espec3it:a tle valor p i t ~ t i t w en ulia programs dc aplicah'm e11i1)~csa es un programa tit: aplicaci6n ( I un elemento tlc un sqftwr~re de crplicctribr~. El

conjunto tle programas clue trahajan t:olet*tisamente para rt~alizrir un grupo d e tareas r d a - tionatlas entrr si tLs un sisterno de aplicucibrl.

Necesidad del proceso de acceso directo a datos

acceso clirerto a 10s datos

archivo VENTA ) I,

Las li~nitaciones de 10s sistemas orientados a arcl~ivos 1)uramrnte secucnt.i;~les no 10s p i - varon tle s~ l~erramientas t ~ f i t w r s para protiucir p a p s , facturas y otros infor~nes ulia o tlos vwes a1 mes. Sin cwd~argo, p a r a e j w u t a r lnurhas tarcas rutinarias r n 10s negocios st. ne twi ta el a r r e s o directo a 10s datos -la capacidad d e tenr r accwo y prtrcrsar tlirrr- tamente un rrgistro dado sin ordenar primero el archivo o leer 10s registros en seeuencia. Para comprentler algunos d e 10s prol~lemas tjue ocurren twando rlo existr el arrest) (lire(,- to a ltrs datos. se v r r i n (10s ejemplos tlel pasado en IPD.

(ordenado por

ORDENAR (por CLIEN-ID)

CLINE-ID) Ir

.) archivo VENTA

Programa de Cuentas por Cobrar

I CLIENTE 1 actualizado u (ordenado por

CLINE-ID)

(no ordenado) (ordenado por CLINE-ID)

Page 26: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LOS SISTEMAS DE BASES DE DATOS Y LA EVOLUCION DE LA TECNOLOG~A ... 9

Snndq; no comprendo por quG nuestros operccdorrs cle entrtctlu de clutos tienen cpe introducir- tanto la cuntidud rorno el precio totcil siempre que introduc~en U I M ~ ti.~nse~ccicin @ rle b b vrntcl. .Yosotro,s teneinos el precio drl producto err el archico PRODI C7'0. i P o r qnC

nuestr(I gentc' no puode in trod~cir so l~mente lu ~(int idi id y el 11) (/el produeto. qzw en rlccclquier cwso introdurerr siempre, ) quc el s i s t ~ n w culcule el precio totell?"

Estclmoa en la +ocu iniciul t ld proc(~nurniento de dutos rn 1tc roinl)ul'iit~ IPD y SZZS( I I I Hroudbent estci preocrrpado por lu cuntidud tle trubujo innecesnrio clue hc~c~en 10s opertc- dorc~s. Cuantos mcis daton tienen que introclucir, rnbs curo resultit. Su preguntu es iwt~c- ral, trniendo en cuentic pie la conq)ul'ii(~ IPD ha iiwertido yu unii c o i i ~ i d e r ~ ~ b l ~ s11111(1 de dineropnru cornprclr tznu coinputrlclora, desurroll(~r un puquete d e l ) r ~ g r ( ~ i n ~ s ypcig(cr (11 persoizal qzw lo renliza.

"Snsun, nosotros tenelnos t ~ n sist(~ina de (irchi~ws secnei~(~iu l~s . Esto sipnijiru que el acceso a todos 10s rc$stros en [zit (irchico se tieiw ~ I I P realiz(ir en orden. C u ~ n d o ejecnt(e- mos el progruinu cle cnentus u cobrclr, trc~b(ijumos con 10s archiros C L I K i T E j. l/E\Tl. por tunto, 11o tei~einos ( I C C ( ~ S O a1 rc~gistro delprodtzcto."

"Me tento q~ze no coinprwdo lo clue estics diciendo. " '.Bien, q n i 11r1y a l g u ~ ~ o s dutos de prueba de 10s (1rchico.s. ( I ltrse F i p r o 1.3.)

Observa cciino el tirchiuo CLIE,YTE estti ordenrrclo sepiln el ID de1 Cliente. Antes (21' eje- cutr~r el propru~nr~ de lus cucJntus cc cobrur, tc~mbiin ordenainos el nrchiro 1 E; \TI segiln el ID del Cliei~te. Entonces, cuando ejecutuinos 1us cuent(is u twbr(cr, leen~oh clrnbos arckiuos. Czrrmdo 10s 11)s del Cliente coinriden en nmbos arc.hiros. cictncclizciinos c.1 sill- do iniciul en ('1 arrhirio CLIEL\ T E e imprinliinos nn(~,factur(c. En 1r1 fucttzru list(einos 10s papos hastn el ines uctuu1 y detalluinos todos 10s encargos de escJ clientc~, clue s f J nlues- trrin r n el urchirw VE,\TA. Haceinos eso inantenierzdo el nlisino repistro rlc~ ( ;LIE1 TE rnientrr~s leernos, sucesicarnrnte, cudu uno cle 10s registros de 1 E\T4 que le corrcJs- ponden. Obaerua cciino, en este ejelnplo, el urchiro VEYTA inuestra (10s cw-clrpos del cliente 100, tres encargos del clientr 101 y u n encargo de ccldu uno de 10s rlientes 105 y 110. Conlo resultado. heinos n ~ i n i m i z ~ ~ d o lu cantidud de t ien~po einpleadu en lu lecturc~ de los datos de la cintu inapnitica, que es la purte incis lenta de lu ejeclrcicin d d pro- grunlu.

"Ahorn mira qu i sucederia si el progrunlci tuuiern que culcular el precio totul. Lu prinzera venta en el arcltivo tieize el ID de Producto 2211. Fijate que is te se encuentru en la n~i tad del urchivo PRODC'CTO. Por tc~nto, paru obtener el precio rle ese prorluc- to, tendriarnos que leer husta lu n~i tad del archiro PRODC'CTO. El registro tlr ventcr siguiente corresponde a1 producto 2518. qlte es el pr6xirno registro en el urchivo PRO- DllCTO. Pero despuis. el registro rle VElITA que sigue corresponde ul pr-odurto que estic ol comirnzo del urchiro PRODCCTO. Para obtenc~r rl precio de ese producto. esta- riornos obligndos a regresur a1 con~ienzo del urchivo PRODC'CTO. 2 Ies cciino tendria- mos que estar saltando rontinuurnente u trauik del ~ r c h i u o PRODC'CTO, leyendo haciu c~delr~nte u n gran n imrro de registros, rebobinundo la cinta despuls y m i S U C ~ S ~ U N -

mente?" "Si. Un pun , consuino de tieinpo," contestci Susan. "Correcto. .4 largo p lum es mas baruto trner a nuestros operadores introduciendo

10s dutos del precio totcil. '' "Yo no estoy tan seguru de que seu mris baruto, Sandy. Los representantes de tien-

tus,frecuentemente ccrlculan mu1 el precio. entonces tenenlos importes incorrertos cJn /us ,facturas, cl i~ntes descontentos y una disminucicin de 10s beneficios. .KO podemos viuir coil este problems. n'ecesitamos m a solucicin."

"La rnejor solucion seriu cumbiar 10s archiuos CLIE Y T E , PRODUCT0 y otros mhs, n archiuos de acceso directo (secuencinl indexado). Por ejemplo, utilizc~riumos el ID del Producto conzo la r lci~~e del urchivo de 10s productos. Entonces, podriunlos curnbiar nues- tro progrurnn de cumtits a cobrar, de mod0 qlie tenga ucceso a cualquier registro de ese archivo en el nlornento yue queramos. Lo inico que necesitamos suber es el ID del Pro- rlucto rorrespondiente d registro que deseurnos."

Page 27: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

" iks to rios dtrriu d g ~ i r i u otru centuju?" "Por s u p u ~ s t o . P o r ejeriiplo. pliedes obter~er el strltlo nctualizado dr los clientes

sirrnprc. rjue lo rwcesites. Tun~bibri podernos utilizur 10s u rch ivo~ tie acceso directo par(1 rul idar los ID tle 10s Productos. 10s I D de 10s F'abricantes, 10s 11) tit. los Re l~reser~ tan t t~s d e Pentcis y otros. Eso nos uyuduru (1 ~ l i rn inur 10s errortjs en l t ~ ~ , f u c t u r u s d e los clientes. cpe estun prorocur~do sus cpre,jci~. "

"Eso suenu fubuloso. ;Citurdo lo podrernos logrtxr?^'

h l v i r n d o 1i;rt.ia a t r i s por nn nio~nt:nto sr p r t l r n v r r miis d r w r r a 10s prol) l rn~as con ltw sistrmas tlr art.hivos srrnentialrs. Pare c p r s r p r w r w n las vrntas contra rl archivo CLIENTE en r l progralna d r t w r n t a ~ a t d ) r a r , las vrntas d c l ~ r ~ i rs tar ordrnadirs por el ID tlrl Clirntr. Como rs muy pro1)al)lr tlur las vtmtas se introdnzcan aleatoriamtwtt.. el archi- vo VENTA4 drlw ordrnarse antes dt. qnr purda ntilizarse tao~no entratla a rste prograina Esto s r innt~stra en la Figura 1.4. l u n cuantlo (31 archivo VENTA4 esti. ordenatlo por el ID tlcl Clirntr, 1~rohal)lrmentr r s ta r i tlrsordrnado por t:on~plrto con rrsprt.to a1 ID tlrl P rodwto . Por rsta raz6n no se pnrtlr t*alcnlar r l 11rrtio total d r una vrnta a partir del prrcio r n el a rch iw PRODUCTO. Esto w n d n c r a tlnr 10s oprradorrs introtlnzt.an datos redundantrs. lo clue rtxtlniere un rsfnc~rzo manna1 irdirional r introdncr una 1)rol)crl)ilidad mayor de rrror .

El rctluisito tlr (pit1 tododos archives s r proersen srcnent:ialn~rntr conduw tam1)iSn. tle otra fornma. a rralizar t r a l ~ a j o aditional. P o r rjemplo: otra d r las ap l i t~wiont .~ d e la roml~aiiia I P D ca1t:nla las coniisionrs por vrntas y genera nn informe d r comisionrs. P a r a calcular la c o n ~ i s i h d r un rrprrsrntante de ventas: hay que ordenar el archivo VENT.4 nuevainrntr. vsta vex para ponerlo en ort1t.n wgnn ID-REP. Ahora s r purtle procesar c1 archivo VENT.\ contra el arrhivo REPRESENTANTE-DE-VERirl'AS para c r r a r 10s infor- mrs de comisionrs correspontlientcs a 10s r rp r r smtan tes d r vrntas (Fignra 1.5).

Estr ejemplo ilnstra algnnas d r las limitacionrs m i s serias d r 10s sistemas d r archivos puranirnte srcnencialrs. Estos lrrohlernas se resolvieron parcialmrntr con la introdut:cibn d r 10s archivos d r at-ceso tlirecto y. particularmrntr, de 10s arrhivos securnt:ialrs indexa- dos ( I S _ 4 M ) ? clue s r utilizaron aml,liainmtr r n 10s aiios sesenta. Los archivos tlr at:t:cx) tlirecto permitrn la recuprratihn d e los rrgistros aleatoriamrntr, a difrrrncia d e los d r accrso sccuencial. El rcgistro tlrsrado r n un archivn de acceso dirrcto pnedr r rcupr ra rs r inmrdiatamente. Los archivos lSAM son 10s archivos de accrso directo m i s ntilizatlos r n

archivo REPRESENTANTE ( DEMNTAS )h7

(ordenado I

archivo VENTA

Programa de Cdlculo

de Comision

REPRESENTANTE DE VENTAS actualizado

I

Estado de Comisiones

v (no ordenado) (ordenado

por el REP-ID)

Page 28: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LOS SISTEMAS DE BASES DE DATOS Y LA EVOLUCION DE LA TECNOLOGIA ... I I

sistema tle informaci6n. Sistrina automatizado (111r organiza los datw 1)ara p ro t l~~c i r infor~naribn.

sisleina tlc infi)rmacicin para la gcsiion. Sistrlna qutx pro\ re iuformaciOn para la grstihn o la atln~inistrac~ihn.

daios. IIrc hok aislados.

iiiforinacion. Uatos organizaclos o rvsulnidos.

p r o c ~ ~ s o s clr t i p t~ou~t~rc ia l . Estos arrhivos prruiitcw ( f u r uno o m i s taanq)os d r datos -Ila- mados co~~junitarnrntt. cxlarv- s r u t i l i w ~ ~ para iclrntificar prrcisanlrnte club rtyistro st* rccupr ra r i . 1,os arcliivos lS_\M proporc.ionaron un rnrdio potrntr y prict i ro 1m-a tlotar d r p a n f1exil)ilitlatl a las al)licac.io~~t-s colilri-cialrs. (En r l Capitulo 10 s r disc.utcli m i s tlrta- llatlan~riitc los aspcctos fisiros d r 10s sistrmas d r 1)asrs cle datos.)

Sin rn~l )a rgo , los archives d r ae two clirrcto solamcnte proporcional.on una solucihn partial. Para lograr una soluei61i mas co~nplr ta a rstos pro1)lemas fur nrcrsario iutroducir 10s sistrrnas dr grstihn dr 1)asrs (It: datos.

La informacih como un recurso

En c.1 dihlogo anterior. Sanford sugirih la pcrsihilidad de bus(-ar el saldo d r un cliriitr s i r u - p r r que s r nrrrsitasr. La p~-rgunta "1Cuhl es el halancr actual d r 10s hrriiianos Watal~r?". rs una prrgunta a1 sistcma de infurmaci6n. Tales prrguntas ilustran la transivibn tan sig- ~iifieati\a clue tavo lugar a finales d r 10s aiios scsenta y principios d r 10s setrnta en rl srn- tido tle qur 10s sistrnias c*olii~)utac~ionalcs comrrcialrs p s a r o n tiel procesurnien,to tle 10s dutos a1 pr-ocesnmicvtto d e lcr ir~J'ormu,cibn. Estr ranibio reflejh m a cwnciencia cwcientr I-on resprrto a q u r la inforrnacibn era rnucho inis que simples registros relacionados con el iicgocio. Cradualnlc.iite. en las enipresas coiiirnzaron a darse cuenta clrl valor de la infor- rnaci6n y del rnolme potrncial clue 10s sistrnias ccrrnputacionalrs rrpreseiita1)an para orga- nizar y adrninistrar rstv rrcwrso. rrcikn rrcouocido como tal. A finales d r los aiios srstwta, esto wndujo a uiia tlemanda rnuy fuertr de s is ten~as de informaciou p a r a l a pestion. Estos sistrmas utilizarian 10s datos ya disponibles en el cornputador para brindar respurs- ta a un aniplio esprr t ro d r prrguntas d r gestibn o adrninistrac:ibn.

En t:ste contcxto s r hace una tlistincibn rntre datos r inform,ncicin. Cornilnrnente, 10s datos sr wns idr ran corno hechos aislados. P o r ejernplo:

rs uii hrcho. Estr hrcho es t i vontenido en un unico registro en el archivo CLIENTE. Los archivos d r un sisterna contienen rnillares de tales hechos. Los archivos. por lo tauto. con- tirnen datos. Por otra parte, la inforu1aci6n corrrsponde a los dntos procesados. E n estr scntido, s r quierr decir q u r la in formacih se puede ver como 10s datos organizados o resu- rnidos. Por vjernplo, s r podria querer conocer el saldo actual total d r la compaiiia Hnos. Watabe o, qiiizis, se podria prdir el saldo actual prcrrnedio de todos los clientes r n Euro- pa. Las rrspuestas a tales prrguntas srrian informaciones.

Por snpuesto, cada hecho o elemento de los datos puede recibir el nornhre tlr infor- rnaci6n. P r r o se hace referencia, en primer lugar, a la inforrnaci6n cIue seria valiosa para 10s distintos niveles d r tlireccihn tle una ernpresa, inc.luso a nivrl ejecutivo -especialrtiente para la torna de decisiones-. Esta inforrnaci6n es norn~alrnentr de alto nivrl, resitrnida a part i r d e un conjunto mucho m i s grande de hechos. Por eonsiguirnte, la inforniacihn rs difrrrnte d r loa datos.

En 10s aiios niis recirntrs, el impact0 signifirativo clue ha trnido la inforniaci6n sohrr la planificacihn y la tcrrna de decisiones en las organizaciones h a contlucido a un rrcbo- nocimiento sirmpre crrciente dr clue la informacihn es un recurso que t i m e valor y, por lo tanto. nccesita rstar organizada y adrninistrada. Aun cuando m las ernpresas se acosturn- bre a t rabajar con artivos tangihles, tales corno el dinero, las instalaciones y el personal, cuyo valor purde evaluarse con cierta prrrisibn, h a sido rnuy dificil de medir el valor d e la inforniacibn. Sin embargo, es t i claro clue si 10s directivos tienen buena informacibn, rs rnis probable que puedan tornar drcisiones prrtinentrs y crrteras con un mayor inq~acto positivo en su negocio. Y vicrversa, si su inforrnacibn es pobre, ellos deben t rabajar con rnis incertidumbre y r s menos probable que tornen decisiones ccrnvenientes. El drsarrollo tle 10s sistemas de bases de datos se convirtib en crucial para proporcionar informaci0n correcta y oportuna a 10s directivos.

Page 29: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

I 2 DISENO Y ADMINISTRACION DE BASES DE DATOS

basr de datos. Una rolec.ribn th. tlatos ir~terrelarionatlos t p e se puetlr utilizar por nno o mi, programas de ap l ica r ih .

sisteina de base d e tlatos. Una haw de ilatos, L L ~ sistema de ges t ih tle haws de datot. ron el hardware y cl prrsonal apropiailos.

sisteina d e gesticin d e bases d e datos (SGBD). UII tistenla coniputarional quc facilita la gestihn tle las bases d r datos.

Una base d e datos es una coleccihn de elemtmtos tlr tlatos interrelacionatlos qur put'- den prowsarsr por uno o mis sistemas dr apliraci6n. Un sistema d e base d e datos rsta for- mado por una 1)ase de datos, por un sistema t:omputat:ional de propbsito general -llamado sistenia d e gestibn d e bases d e datos (SGBD)- que manipula la hasr cle datos, asi conlo por el hardware y el personal apropiatlos. Un SGBD normalmente se compra a un vrnde- (lor de sistemas computacionalrs y es el medio con el cual un proprama d r aplicacihn o un usuario final examina p manipula 10s datos a1mac:rnaclos en la basr tle clatos. Al finalizar rste capitulo sr estucfaran 10s componentes t k un sistema dr h e de datos con m i s detalle.

Un sistema de 11ast. tle datos. adrc:uatlamente diseiiatlo. integra 10s datos comunt.s a varias uniclaclrs fnncionales cle la compaiiia y facilita su manipulatihn. ItlrniLs de simpli- f i rar la insrrcibn, la rliminacihn y la motlificat~i6n cotidianas d e 10s registros. 10s sistcmas clr h e d r tlatos facilitan la it1entificat:ibn y la c.uantific:acibn cle las relaciones drrivadas rntre 10s elrmentos tle 10s datos, la rrt:opilacibn de la informacihn en resumenes estadisti- cos, la inferencia sohrt. las posihlrs trndencias del nrgocio y otras operaciones. Metliante tales facilidatles. el sistcma de base de clatos transforma los datos p r o s en informacihn.

Otras limitaciones de los sisteinas de archivo tradicionales

A p t w r d r la introclut~i6n de 10s archivos d e acceso directo. pronto se hizo ohvio qne a 10s sistnnas de archivo cle rualquier tipo era inhrrente un conjunto de deficiencias: (1) redun- clancia de 10s datos; (2) pohre control de lob tlatos; (3) capacidades inadrwadas clr mani- pnlatibn d e 10s datos. y (4) esfuerzo rucesivo de programacibn.

Redundancia d e 10s Datos. Una dificultatl importante era que mnchas aplicaciones nti- lizahan sus propios archivos especiales de datos. Asi, algunos rlementos d e 10s datos e ran comunes a varias aplicaciones. E n un banco, por ejemplo, el mismo nonibre de cliente podria aparecer en un archivo de cuentas corrientes, en un archivo de cuentas d e ahorros y en u n archivo d e pri.stamos a plazos (Figura 1.6). Atlemis, si bien el nomhre tlel clientc. e r a siempre el mismo, el c a m p relacionado con 61 frecuentemente tenia un nomhre dife- rente cn 10s diversos archivos de cuentas. Asi, CNOMBRE en el archivo d r cuentas co- rrientes e ra SNOMBRE en el archivo de curntas de ahorros e INOMBRE Pn el archivo dt. prGstamos a plazos. El mismo c a m p podria tam11ii.n tener una longitud tliferentr en 10s diversos archivos. P o r ~ jemplo , CNOMBRE podria llegar a tener hasta 20 caracteres. pero SNOMBRE e INOMBRE podrian limitarse a 15 raracteres. Esta redunclancia aumen-

I CNOMBRE \

Carol T. Jones

20 caracteres

Registro de cuentas corrientes

I SNOMBRE \

Carol T. Jones I - 15 caracteres

Registro de cuentas de ahorro

archivo de prhtamo

I INOMBRE \

Carol T. Jones

Registro de prestamo a plazos

Page 30: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LOS SISTEMAS DE BASES DE DATOS Y LA EVOLUCION DE LA TECNOLOG~A ... 13

homonimo. Un tirmino que time diferentri significados en difrrentes contrxtos.

si116ninio. T6riniiio clue significa lo misnio.

ti, 10s gastos tic. administracih para el mantrniiniento y el ah~iac*enan~iento, asi como el riesgo tle inronsistencia entre las diversas versiones cle 10s datos cwmunes.

Suphngase qu r el nom1)re tle un cliente se motlifici, d r Carol T. Jones a Caro l T. Smith. El ranlpo dt.1 uornbrr del clientc podria actualizarsr innwdiatamente en el archivo tle cuentas corrieutes, actualizarse la semana siguiente en el archive de cuentas tle ahorros y actualizarse inc*orrectaint~ntv en el archivo tie pr6stamos a plazos (Carole T. Smith) (Fignra 1.7). Con el tiempo. tales difvrencias puedrn ocasionar una clcgradaciOn seria en la t*alidad de la inf'ormacii'nl contrnida en 10s archivos d r 10s datos. Estos t i p s tle incon- sistrncia tle 10s datos ~)uct len afectar t amlGn la exactitud de 10s infornies. Suponga clue sc tlesea protlucir tin informe para la grrencia mostrando todos 10s clientes que tienen una cuenta para chequeso tuna clienta d r ahorros y nn prirstarno a plazos. Carol T. Smith sr omitiria errhncamente r n el informe porcpe su nomhrr aparece como Carole T. Smith en el archivo de prbstainos a plazos. Como s r mostrara, 10s sistemas de base d r datos puetlcn c4iminal- la retluntltu~cia de 10s datos, ya qne totlas las aplicaciones comparten tin fontlo coniiln clc datos. La informaci6n esencial conio el nomhre o la direcci6n del cliente apare- c r r i solamente una vez en la hase de datos. De este modo, se pnrde introducir el cambio de 1111 nonh -e o tle una dirrwi6n nna sola vez y sahcr clue las aplicacionrs tendran accrso a datos c.onsistrntes.

Pobre coritrol d c 10s datos. En 10s sisternas de archivos, como se seiiali, antrriormen- t r , no ha1,ia control crntralizado a1 nivrl de 10s elementos de 10s datos. El niisrno rlemento de 10s datos s o h tener varios noml)res, dependirndo del arcliivo en que estuviera conttB- nido.

En un nivel mas hiisico, siempre existr la posibilidad de que 10s diversos clrparta- mentos tle una compaiiia wan inconsistentrs en su terminologia. Un banco, por ejemplo, puede utilizar el tkrmino cuenta para significar una cosa cuando se aplica a 10s ahorros y algo bastante difrrente cuando se aplica a 10s prkstamos. El tkrmino que tienr significatlos diferentrs en contrxtos difrrentes se llama un hom6nimo. Por el contrario, las palahras difermtes pueden significar la misma cosa. Una compaiiia de segnros puede refrrirse a una pdizu y a un caso y puede querer significar lo niisrno con amhas palabras. Dos tkrminos que significan la misma cosa se llaman sinbnimos. Un sistema de base de datos soporta el control centralizado de 10s datos y contrihuye a eliminar la confusicin ocasionada por 10s hom6nimos y por 10s sinbnimos.

archivo de cuentas corrientes

I \ I \

I \ I \

I \ I \

I CNOMBRE \

Carol T. Smith - 20 caracteres

Registro de cuentas corrientes

archivo de cuentas de ahorro

I I

I I

I I

6 I SNOMBRE \

] I Carol T. Smith I 1 I I I I -

15 caracteres

Registro de cuentas de ahorro

I INOMBRE \

I I Carole T. Smith ( 1 15 caracteres

Registro de prestamo a plazos

Page 31: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Capacidades inadecuadas de 1nanipulaci6n de 10s datos. Los archivos scc~~rnciales intle- xados permitieron que las aplicaciones tuvieran aweso a un rvgistro particular rnetliaute una claw. como el ID drl Prodncto. Por rjcmplo, si sc conoeia el ID (k l Prodl~rto para las linlparas de rnrsa, se podia tener accrso directamentr a1 registro qne le c.orrespontlr tlrntro del archivo PRODUCTO. Esto fue suficiente mirntras solaniente sc cpiso un rc.gisti-o iuiitw.

Sin embargo, supongarnos que sr quiso un conjunto c1r registros interrclarionatlos. Por ejemplo, se podia estar interesado en identificar toclas las ventas tle la conipaiiia 1PD a1 cliente Maltzl. Quizis se necesitaha conocrr el niinlero total de vcbnta.;. o el prrcio pro- nirdio, o 10s prcrductos que estahan sientlo c*omprados y clc cuiles fahrirantes. Dicha inforrnaci6n srria dificil. si no iniposil~le, tle obtrner con un +isterna tle archivos 1)orcjnc. estos sisteiuas son incapacrs de provrer conrxionrs furrtes entrr 10s datos t~oiiteuidos en archivos difrrrntes. Los sistemas ( 1 ~ base de datos se desarrollaron es~~ecifit*aiurntr para facilitar la interrelacih de 10s datos en archivos clifcrentes.

Esfuerzo de programaci6n excesivu. U11 nuwo programa (1c al~licacii~n con frewcncia requcria un conjunto c.onipletamcnte nuevo cle drfiniciones de los archivos. bmiqur un archi- vo rxistrntr podia eontener algnrlos tlt, los datos necesarios, la aplitwi6n frecuentemente requeria otros elemeritos de 10s tlatos. Como rcsultado, el programador trnia qnt. recwtlifirw todas las tlefinicioncls de los elenientos de los detos nccrsarios ya existentes en el archivo, asi como toclos los elenientos tle los tlatos nilevos. De esta manera, en 10s sistemas orientados a archivos liahia una interdrpendmcia nluy fuerte entre 10s programas y los tlatos.

Aiui inis importante, la inanipulaci6n de 10s datos en 10s lrnguajrs orientados a archivos. como el COBOL. era difitil para las aplicaciones colnplejas. Esto sigl1ific.0 clue amhos esfnrrzos en la programac*iirn de aplicaciones cle gestiiln. tanto inicial conio de nian- tenimirnto, fueran significativos.

Las h s e s de datos brindan una srparacibn entre el Ilrograma y 10s clatos. cle motlo qur 10s programas puedm srr, en cierta metlida, independirntes de 10s detalles de defini- ciim de 10s datos. .51 garantizar el acceso a un fondo c:omrin de tlatos compartidos y a1 soportar lenguajrs podrrosos para la manipulaciirn de 10s datos. 10s sistemas de base tle datos eliminan una gran cantidad tie programaciirn inicial y de mantenimiento.

Los sistemas de bases de datos

Los sistemas de bases de datos superan estas limitaciones dc 10s sistemas nrientados a 10s archivos. .A1 tolerar una estructura de datos centralizada, inteprada, 10s sistemas de 11ase de datos eliminan los problemas de recliindancia y de control tle 10s datos. Si una 11ase dr datos centralizada esta disponihle para toda la compaiiia y, por ejemplo, t w o clue cam- Ibiarsr el nombre de un cliente, dicho ramhio est i disponihlr para todos 10s usuarios. Los datos se controlan por mrdio tle tm diccionario de datoslt1irec:torio (DDID) dr 10s tlatos. que en si mismo est i ccrntrolado por un grupo de elnpleadoa tlr la wmpafiia. t:onot+ dos como 10s administradores d r la haw dc datos (ABDs):'. Los nuevos mktodos de at-reso a 10s datos simplifican mucho el proceso d r relacionar 10s ele~nentos de 10s datos, e la vrz qur mejcrran la manipulaci6n de los tlatos. Todas estas caracteristicas de 10s sistcinas d r base de datos simplifican el esfuerzo d r programaciirn y mantenirniento de los programas.

En la actualidad. estan~os inmersos en varias dkcadas de largo esfurrzo por tlesarro- llar sistemas de grsti6n tle bases d r datos catla vez mis poderosos. Este proreso ha d o trs-

modelo de datos. Un tigo drl desarrollo evolutivo d r los sistemas basados en trrs modelos d e datos fundamen- mktodo conceptual para tales, y que no son mis que mbtodos concrptuales para estructurar 10s datos. Estos trrs estructurar 10s datos. modelos tle datos son el jerirquico, en red y el rrlacional. En las tlos secciones siguientes

se eshozari el desarrollo histirrit:~ de 10s sistemas de l m e de datos, apoyado en rstos tres modelos.

' En in+ DRAY - Dntntlnse Arlrninistrators ( N . drl T.).

Page 32: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LOS SISTEMAS DE BASES DE DATOS Y LA EVOLUCION DE LA TECNOLOGIA ... I 5

Sistemas de 10s modelos jera'rquico y en red

Los arrhivos sewent.iales intlrxatlos r e d v i e r o n rl prol11t:nla tlel :it2t~t~so tlirwto a 1111 regis- t ro h i t w tlentro de un nrrhivo. P o r ejrmplo. al revisar m a vez m&s la Figura 1.3. Si tu\iC.- ranlos el registro tle la prinlera vtmta mostrado en t:1 arrllivo VENI'A. p r o stL cpisirra t w w w r r l n o m l m y la dirrwihn del clientc invo1nt:raeltr en la vmta . se podria utilizar sim- plemente t:1 ID dr l (:lientr (100) para 1)usc.ar el registro tlel 1.1ientr en el art-hivo CI,IESTE. Esto informa cjne el clirnte tlur emitih la orden fnt: Wata l~e Bros.

Ahora suptrngamos q u r se qniere invertir rl prowso. En lugar tit. querer twnoew el t*litwte involiic~rado en una venta, se quieren ronoc-er todas las ventas realizatlas a IIII clie~l- tea tleterrninado. Sc: cornienza a part i r tie1 registro tie rlirnte corres!)onclie~~tt- a & a t a h Rros, y ahora se quierrn todos sus rcgistros tle venta. Esto no se purde h a t w e~irec~tamt~r~- te en 1111 sistelna de arcbhivo. Prrt.isamente, para tales aL,licacionrs se tltwrrollaron ori+ nalmente los sistemas ti(, base d r tlatos

lies primeros sistemas tlr h e de ilatos, introd~~c:iclux a mediatios de los sesenta, esta- 1)an hasados on el modelo jertirquico, clue Ibresumt. qut: todas las i n t t w d i r i o n e s cmtre los datos pnet1t.n estructnrarsr cotno jerarqnias. Para ilustrar esto. stb modifira ligeramente la base d e datos ele la Fignra 1.3. Ahora. en lngar cle vtSntas clue shlo (:ontienen un produrto hnicw. se titmen las fa(-turas clue a su vrz cwntienen las lineas d e f'ac*tnra. Catla cliente tie- nch varias facturas !- rada factura tienr variax lineas. Cada liura rrgistra la venta dt, un pro- durto i~nitw. La Figura 1.8 murstra algunos ejemplos. 1,os art.hivos F'ACTURA y L1AE.i I)E FAC'I'UKA ~ w r n p l a z a n el archivo VENTA en la Figura 1.3.

La Figura I .9 ilnstra c6mo se lruetle construir una jrrarquia qut: nnlestra las in- terrelaciones cntre 10s I-lientes, las facturas y las lineas tie far tura. Se considera quc un clicnte es el "propietario" de las facturas, las que a su vez son "propietarias" d r las linras tle f'actura. En un sistenla j e r i r q u i t : ~ de base d e datos. rstos tres archivos se ronwtan cmtrr si mediante punteros f'isicos o campos de datos afiadieios a 10s registros intlividuales. L n punter0 (apuntador) es una direc:cicin fisica clue identifica tiGnde puede enrontrarse un registro sohre el disco. ( M a registro d r clientr vcrntendria un apuntador a1 primer rrgis- t ro de factura twrrespondirnte a rse rcgistro de c:licnte. Los registros tle factura contrn- tlrian a la vez puntt:ros a otros regiatros de factura y a 10s registros d r linea dr factura. De esta manera, el sistema seria cauaz d r recuuerar ficilmente todas las facturas v las lineas dr f a r t u r ; ~ que se aplivan a1 clientt determinado.

C L I E N T E

PAGOS BALANCE HASTA E L

ID-CLIENTE NOMB-CLIENTE DIRECCION PAIS INICIAL MES ACTUAL 100 Hnos. Watabe Box 241, Tokio Japon 45.551 40.113 101 Matlzl Salzburg Austr ia 75.314 65.200 105 Jefferson B 918, Chicago USA 49.333 49.811 110 Gomez Santiago Chile 27.400 28.414

FACTURA FACTURA-# FECHA ID-CLIENTE ID-REP

101 2 02/10 100 39 101 5 02/14 110 3 7 1020 02 / 20 100 14

LINEA DE FACTURA FACTURA-# LINEA-# ID-PRODUCTO CANTIDAD PRECIO TOTAL

101 2 01 1035 100 2200,00 1012 02 2241 200 6650,00 101 2 03 251 8 300 6360,00 101 5 01 1035 150 3300,00 101 5 02 251 8 200 4240,00 1020 0 1 2241 100 3325,00 1020 02 2518 150 3180,00

Page 33: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

CLIENTE a FACTURA 0 L~NEA DE FACTURA

Suponga que estamos interrsados en agregar informaci6u sohre 10s clientrs a la base de datos jerirqi1ic.a. Por e jm~p ln , como 10s clientrs son compaiiias de tiendas por departa- mentos, podriamos querer tenrr un listado de las tiendas para cada cliente. En ese caso. expandiriamos el cliagrama de la Figiira 1.9 para que se bra cwmo el de la Figyra 1.10. CLIENTE todavia est i rrlacionado con FL4CTIJRA, la que es t i relacionada con LINE.4 DE FACTURA. Sin embargo, CLIENTE tamhiin se relaciona con TIENDA y TIENDA estL relacionacla con CONTACTO. Se llama CONTACTO a un comprador a quien vrndemos la mereancia para una tienda en particular. Como se ve en este diagrams, CLIENTE es t i en la raiz de una jerarquia de la ciial puede derivarse una gran canticlad de informacihn.

Estas figuras muestran el tipo de intrrrtlaciones entre archivos qiie pueden reali- zarse ficilmmte iitilizando el n~odelo jerirquico. Sin embargo, se comprol i~ miiy r ipida- mente que este modelo tenia algunas limitaciones importantes, ya que no todas las interre- laciones podrian expresarse ficilmente en una estructura jerirquica. Por ejemplo, para tomar el caso actual un paso m i s alli . es obvio clue nos interesamos no solamentr por la relacihn entre 10s clientes v las facturas, sino aue tamhikn nos intrresa la relacihn entre las facturas y 10s representantes de ventas. Es decir. queremos conorer todas las facturas que ha producido iin represmtante de ventas determinado, de modo clue se puedan emitir las instruccionrs para su comisihn. Esta nueva interrelaci~jn se muestra en la Figura 1.11.

FACTURA TIENDA 7, FACTURA Fl

Page 34: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LOS SISTEMAS DE BASES DE DATOS Y LA EVOLUCION DE LA TECNOLOGIA ...

hijo. Un re,' W I ~ tro --wl)ortlinado" en una interrrlaeih jerirqnica.

red. Ui~a interrelacihn de datos en la cual un rrgistro puede estar subordinado a registros tlc mis ( 1 ~ iin arcliivo.

Sin embargo. este diagrama no es una jerarquia. En una jerarquia, un hijo puede tener solamente un padre. En la Figura 1.10, FACTURA -1s un hijo y CLIENTE es su p d r e . No ohstante, en la Figura 1.11 FACTURA tiene clos padres -REPVENTAS y CLIENTE-. Estas redes sr denominan diagramas. A causa de la newsidad ohvia dc ma- nipular talrs interrelacionrs, a finales de 10s aiios srsenta se desarrollaron 10s sistemas ilc hase de datos en red. A1 igual que 10s sistemas de base d r datos jerirquicos, 10s sisten~as de base de tlatos en red emplearon punteros fisicos para rnlazar entre si 10s registros de diferrntes arehivos.

El SGBD jer8rquieo domiriarite es el IMS de IBM, desarrollado a mediados de 10s sesenta. Entre mediados de 10s sesenta y principios d r 10s setenta se ilesarrollaron y se comercializaron exitosamente varios SGBD en redes y este modelo de datos se normaliz6, eventualmente. cortio el modelo CODASYL. En capitulos posteriores se estutliarin exten- samente ambos rtiodelos tle datos y las facilidades que hrindan para la definicihn y la mani- pulaci6n de 10s datos.

REPVENTAS

Sistemas de bases de datos relacionales

CLIENTE

El i ~ s o dc puntcros fisicos era simultiineamrnte una fortaleza y una debilidad tle 10s siste- mas d r bases de datos jerirquicos y en red. Los punteros eran una fortaleza porque per- mitieron la recuperaci6n r ipida de 10s datos que tuvieran interrelaciones predetermina- das. La dehilidad estaba en el hecho de que estas interrelaciones teriian que definirse antes de que el sistema fuera puesto en explotaci6n. Era dificil, si no imposihle, recuperar datos basados en otras interrelaciones. En la meclida en our 10s usuarios se familiarizaron con

FACTURA

10s sistertias de base de datos y con su potencia para manipular 10s datos, ripidamente encontraron estas limitaciones inaceptahles, como lo muestra esta poltmica en la compa- iiia IPD.

TIENDA

6 6 Cordelia, estamos cuda oez mas Jiustrados con la cantidad de preguntas que nuestro s i s t~ma de base de datos no puede responder Jacilmente. Cnarzdo Sandy y t i nos conven- cist~is d~ qne debiamos canzbiar hacia un sistema de base de datos en red, argumentast~ que t~ndriamos la posibilidad de obtener respuestas a la nzayoria de las preguntas que fiLdrurnos capaces de Jormular. "

Susan Broadbent, presidenta ~ j ~ c n t i v a de la compaiiia IPD, y Dick Greenberg, gerente de ventas de IPD, estan hablando con la administradora de la base de datos de

Page 35: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

IPD (ARD), Cordrlicr Vlolini, sobrr 10s drfrctos de su tcc.tiral nistwntc clr goatiti~i de hnsr\ tlt~ dvtos en red. Esto no es uncr quejtt I L U P I ~ Q .

Con cud(i nueuo siste~na. 10s directivos de 1PD se porccrtciba~r de qite c~omc~nzu0ur1 ( 1

h w r r pregulztns qur el sistemcr no rrnponditr como les huhiertt gu\tcrdo. 11111q11t1 ('1 hl.stem(~ en red les sirti5 durante vurios crGos. crhoru esttibu Ileg(rndo (11 mornrnto r r ~ c ~ l cprr c d n vez es rrtcis y mics dijicil obterwr lu inforrnacicin qtre sr newsitti. (hrdelio conocitr birn e.sicrs jj.ustrnciones.

"Rueno, tnl 1:ez nosotros drbirnos tlrcir mwhas pregunttis clue 11.s ptrstcrr-it~ htrcer. La experiencicr nos ha dernostrtido cpe exicte I L I W uirirdad muy extrns(r de pregunt(~s que 10s tisuario.s quisiernn forrnultrr. " Cordeliu con tin^;(^: "El problern(r tJ\ ( p r el .\istrm(r en red dependr dr punteros fisitws clue c o n ~ c t ( ~ n rntrtJ si 10s datos en cliferrntec crrchi- vos. Si huces unu pregunt(i que no e~rrespondc~ n(rtl~r(rlmente t.011 rsos pun t r ro~ . no podemos responder ( I ellu sin untr ccrntidrrd t.onsidercrbLe tle progrctmcrcion. Ihorcr tlimr. i l ~ i r d e s d(rrrne I I I M L i&w rn(~jor de 10s tipos de preglintn~ prro 1u.s e z~ t i l~s nec(~sit(rs rcJs- pue.\tns?"

Dick respondi6 inrnedic~tcrrnrntr: "Corclelia. queremos responder a todo tipo clc prP- grintas. Realmente no podrmos ctmictrrizurlas por tipo, pues esto serin nrcry restringido. ldecilrnrnte. nos gustaritl t rnw la postbilirlntl rlr formulnr cualrpier preguntcr clue quisii- rnrnos y, si la respwsta e.st(i en 10s tlutos. que el sisterna seer errpa: de tlarlu."

"Lo que t i dices indiccr que necesitnn~os considerur seriamrntr rl cumbio hucicr lil t

sistema relrtciorral de bnsrs rle drrtos. Los purrtwos fisicos no S P usun en un sisternu rrlu- cionul. Los dntos se pueden rrlncionur si~rnpre que existcc, unn corwxibn l6pica, luego no trnemos que preocul)urno.s por drjinir curiles interrelnciones son 10s qur el sistemn utilizn con mayor probnbilidud. "

Susanprepuntn: " ~ S i ~ ~ ~ i j k a esto. por ~jemplo, que Dickp~iede pregurztrir s i 10s pro- ductos hechos en G h m n .se ~lrndrn birn t>n C,'orecr? 0 icon qu4 6xito un represerrtante (lr vrntas en Xio estil uendienrlo 10s rquipos rlectrbnicos de Amsterdam?"

"Si. Ambas prrguntas son~fhcil~s de respondw r n un sisternu rdacional. Adcmcis, t~ prrcntcrrcis dr qur no tendrris que trclbajar cercn de un programndor tan n rn~nudo. Los directivos que estcin deseosos de nprentler un lengutlje de mc~nipulacicin de datos relativa- rnentr simple pueden responder a muchas de sus propias preguntns haci6ndolas directn- mente nl sistema. Susan, i t i qub pienst1s?"

" h t o surncr como trlgo p e rnrrece una investigncibn adicionr~l. Si la tecnologia es tentadorn, drberinmos pensur seriamente en movernos hncia ellu. iPor quC no pro j i~nd- zas en esto y simultilnenmrntr kuces una prop~rrsta?"

En 1'970, E. F. Cotld public6 un articulo revolucionario (Cotld, 1970) qnr desafih fuertrmmte el juicio convencional de la "condiei6n" de las hases tle datos. Cod11 argumrn- t6 clue 10s datos tlehcrian relacionarsr mediante interrt.lacionrs naturales, 16b+as, inhe- rentes a 10s datos, mas que mrtliante punteros fisicos. Es drcir, las personas tlehian ser capaces de comhinar 10s datos de fuentes diferentes, si la informacicin 16gira newsaria para hacrr la comhinacihn estaba presente en los datos. Esto ahri6 una nurva prrsprctiva para 10s sistemas de gesti6n de informaci6n, ya que l a s interrogaciones a las haws de tlatos no necesitarian, en adelante, limitarse a las interrelacionrs indicatlas por 10s punteros fi- siros.

Para ilustrar las deficiencias de 10s sistemas tle bases de datos que se fundamentan en punter05 fisicos, consid6rese la Figura 1.11. En ella se muestra qur CLIENTE, FAC- TURA y LINEA DE FACTURA esthn conectados por punteros fisicos. FABRICANTE y PRODUCT0 tambiCn esthn conectados. La linea punteada entre PRODUCT0 y LINEA DE FACTUKA indica que estiin rrlacionatlos lbgicarnente, ya que cada linea tle factura se refiere a un producto esyerifico.

Sin embargo, suponga que PRODUCT0 no ha sido conectado con L ~ N E A DE FAC- . -

TURA mediante un puntero fisico. ;,C6mo se puede ohtener el informe siguiente!

Page 36: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LOS SISTEMAS DE BASES DE DATOS Y LA EVOLUCION DE LA TECNOLOG(A ...

Ksto r r tp ic rc navepar tlrstle CLIENTE a trai-6s d r F.4CTlK4 y LINEA UK FA(:- TURA, h a s t a , ~ ~ O ~ ) U ( : ~ o y. tlr ahi, subir liasta F.4HKIChNTE. Pursto qnc la t w n r x i h fisica rn t re I,INE:I UE FACTUKd y PROUUCTO no rxistr en la base de tlatos. vsta n;t\r- gaciOn no se pltrtlr hacrr mrdiante las facilidatlrs norinalrs tlr la l m r s tlr datoc. E n ~ I I

Iugar. pa ra 01jtrwr la inforrnacicin prditla, tlrben utilizarsr las tkcnicas a n t i p a s y engo- rrosas tlrl prot:rsamimto dc archives. Ello nrcrsitaria una rantidatl t:onsidrrat~ltl de tsoni- plcja programacihn. En contrastt. t.on rsto. 10s sisttmas d r h a w tit, datos t j w soportan la rc.c*tqwrac:ihn dr 10s datos. tornando en consi(11:racihn las intrrrtdationrs lbgicns, podrian rcsolvrr fAt:ilmrntr tales problcmas.

En su articnlo, (:odtl Ijropuso un moddo si1n1)le d r datos r n rl q u r todos rlloh s r reprrwntar ian r n t a l h t:onstitnidas por filas y t.olumnas. h rstas tahlas s r les dio r l nom- hrt. matrmititw d r relacioiws, por eso el iticrtlrlo stx tlrnomin0 inodrlo rrlacional. Cotltl tam1)ii.n p r o p s o dos Irngnajcs 1)nra n~anipu la r 10s datos en las tahlas: r l Algrlra relatio- nal y cl t*&lt:~~lo rrlacional (st: vstutliarin en el Capitnlo 6). Ani1)os 1t.nguajrs soportan la n~anipnlatii ,n de 10s clatos s o l m la 11:isr rle ope1w1ort.s lhgitw r n lngar d r los puntcros fisi- tws ntilizados rn los nicrtlrlos jcrirtjuico y en red.

d l inanipular los tlatos sohi-e una h a w conceptual rn vez dc una h e fisiva. (:odd introdujo otra innovwi6n rrvolut.ionaria. En 10s sistrmas d e 1)ast. tlr datos rrlwionalrs. 10s ;~rc.lii\ os cornplrtos de datos s r pnrtlrn p rowsar (.on instrnccionrs sencillas. Sin emtlar- go. 10s sistrmas tradicionalrs r rqu i r r rn quc 10s tlatos s r pi-occ:seii dr rrgistro cn rewistro. El

C, t.i~fotlue tlr Cotld mcjorh rnormrmentr la t:fit:ient:ia conceptual de la Iropraniatwm tlr la h e tlr tlatos.

La n~anipulat ihn 10git.a tle 10s datos tamhi6n h a w fat.til)le la crracihn de lenguajes tlv i n t r r r o p t i h n nihs iwtwihles al nsuario no rspetialista tbn t.omp11taci611. Aunqur es hastarl- tta dificil crtbar 1111 Itmgnajr qne purtla scr ntilizado pcrr todos las personas sin twnsiderar ~ L I

t:xprrirnt.ia prvvia tm t~onq)iitat:i6n. 10s Iriiguajrs relacicrnalcs d r t-onsulta h a w n posi1)lr rl a t w s o a las hases dtb tlatos para un prupo tits nsnarios cada vvz mayor.

1,a puhlicaci6n (It. 10s articulw tle Codtl, a pripcipios tit. 10s aiios srtenta, provoci, nna t~on1noc:ihn r n la a c t i d a t 1 d r las coniunidades d r desarrtrllo tlr sisternas d c investiga- ti011 y d e sistrmas coinwcialrs. en la medida en q n r trabaja1)an para protlucir uu sirtenla dt. gcsti6n d r haws d r datos rrlacional. El rraultado fue la apariti6n d e sistrinas rrlnt.io- nalcs tlar;inte la illtinla niitad d r 10s srtenta (l11c s o ~ ~ o r t a b a n l c n p a j r s como el Strnt~tnrr t l Qnery Language (SQL), el Query 1,angnagc. (Qnel) y el Qucry-I))--Exan~plc (QBE). 4

Page 37: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

mrdida clue las computadoras personales s r hicirron popularrs durantt. los aiioa ochrnta. 10s sistrmas relat*ionales para ellas tai111)ii.n estnvieron disponil)l(.s. En 1086, el SQL sc adopt6 conlo la norma ANSI para 10s lenguajes relarimales de 1)asrs tlr tlatos. Esta nor- ma sr actualizb en 1989 y en 1992. En r l Capitulo 7 se discutrn clifrrrntrs aspetstos del SOL-'$2.

Todos estos tlesarrollos hi t~irron avanzar tmoriutbinrnte el estado tlrl arte en 10s sis- temas tle grstibn tlr bases tlr datos > aumrntaron la tlisponihilitlatl d r inforniaci6n tw las hases tlr datos rolectivas. El r n f o t p relational ha resultatlo hastantr ventajoso. Ademis. han rontinuado las promesas en ruanto a 10s resultados d r las investigat:ionrs con vistas a wrant izar cal)aritladrs cada vrz m i s potlrrosas a mrtlida que se alcanza una rompren- D. , slon mhs completa d r las nrcesitladrs tlrl nsllario con rrsperto a 10s sistemas d r hases tlr datos.

Actualmtmte. 10s sistemas rrlutionalrs son nn rstinclar cv1 el iurrcntlo, rsl)rcialmrn- te en opcraciones comrrcialrs. Naturaln~entr, tanto 10s sistrmas orirntados a archives. romo tamhiin 10s sistemas tlr base tie tlatos j rr i rquiros p en retlrs, son totlavia ahnntian- trs p, para cirrtas ap1icariont:s. t:onstituyrn la solncii~n mi s cfiriente t.11 funrihn d r 10s cos- tos. Sin emhargo. durante a l g h tirmlm. la tendencia d a r a tlt: las rompaliias ha sido rnigrar a 10s sisternas rrlacionales siempre clue fuvra posi1)lr.

Aun asi, srria un error asnmir clue los sistrmas tle bases de datos rrlationalcs. aho- r a disporlihlcs, rrprrsentan la ultima pa la l~ra m el desarrollo tie 10s SGRD. Los sistrinas rr1ac:ionalrs de hoy aun rsthn rvolurionando y, r n algnnos aspectos significativos. cain- hiando su natliralrza suhpat.entr para permitir a 10s nsuarios plantear pro1)lemas nlis complejos. Drsde nuestro punto tle vista, uno tle 10s cnirihios mis importantt.~ es t i ocu- rriendo en el Area de las bases de datos orirntadas a ohjetos. Eu t.1 Capitulo .I se estudiiiri un modelo conctytual de datos qu r contienr asprctos caracteristicos utilizados rn las h r s d r datos orirntadas a ohjrtos. Un drsarrollo aclicional de gran importancia rs la apariribn de la plataforma clirntelsrrvidor como la hase para 10s calcwlos y el accrso a las haws de datos en una organizat:i6n. En la srccibn siguientr se prrsenta una p a ~ r ~ r i m i c a tlr rste w n - cept"

La Figura 1.13 muestra la cronologia tlrl drsarrallo histbriw d r 10s mitotlos de awe- so a 10s datos, qu r ya sr ha discutido. La l'ahla 1.1 muestra una comparacihn entre algu- nas caracteristicas tle 10s divrrsos mCtodos de accrsrr a 10s datos.

Arrhivoi srruencia1t.s Todos 10s rrgistros cn un archiko d c h proresarw cn srrucnc*ia

Arrhivos cwn aweso direrto Soportan rl acreso direvto a un rrgi5tro rsperifiw. E5 difiril el aweso a varios registros relarionados con un registro s~mplr

Raws dr datos jerirquicas Soportan el acceso a v;~rios registros rrlarionados (.on un registro simple Sr restringen a las interrelacioncs jrrirtyuiras entre los datos Drprndientrs dr punteros fisicos prrdefinitios

Bases de datos m red Soportan las interrelacione5 jrrirquicas y no-jerircyuiras en rrdes mtre 10s datos Ueprnilientes dr pnnteros fisicws pretlefinidos

Bases ile datos relarionalez Soportan todas las interrrlaciones Ibgiras entre 10s rlatos El acrrso a 10s datos es 16gico. indeprndiente dr las tCrnicas dr 1nstrumentari6n fisira

Page 38: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LOS SISTEMAS DE BASES DE DATOS Y LA EVOLUCION DE LA TECNOLOG~A ...

Publicaciones del modelo relational

de Codd

I

Sistemas de Sistemas de ; Archivos bases de bases de Sisternas de bases de Sistemas de

Archivos con acceso dams datos ; datos relacionales Plataformas bases de datos secuenciales dil-ecto jerarquicos en red I modelos orientados a objetos clientelservidor orientados a objetos

Direcciones actuales-plataformas clientelservidor

6 6 De ucuerdo, Sarldq; explicume por qu6 piensas que nos ayudariu hacer la conversibn a una plataforma cli~ntelseruidor. De cualquier modo, ~ q u k es cl ientelser~idor?~

Susun y Sanford corltiniarz la discusibn tecnolbgicu en p e 10s encontramos comen- zundo a t e capitulo. La compaiiia IPD ha progresado mediante s i s t~mas de archivos y de bases de datos y ahoru esta considerando el siguiente paso. Naturalnaente, antes de hacer un movimierzto ellos quieren saber hacia dbnde van y si esto sera eficiente en funcibn de 10s costos.

" I nu plataforn~a clientelser~idor normalrnente es una red local de area -LAN4- a la qrie se enluzu un conjunto de computadores personales y que contiene un computador especial que llamamos urt servidor. Los computadores personales son 10s clientes, que soli- citon a1 servidor difererates servicios."

''k Por ejemplo?" "El servidor les puerle enciar programas tales conao procesadores de textos LL hojas

de calculo o pziede e j ~ c u t u r las corzsultas a la base de datos y enviarles 10s resultados. La idea bhsica es que cada mtiquina ejecute lo que hugu mejor. El servidor recupera y actua- liza 10s dritos, el cliente realiza 10s calculos especiales ypresenta 10s datos a1 usuario.

''2 Esto serci barato?" "NO raecesariamente." " ~ E ~ ~ ~ I L c P s . qu i uentajas ofrece.7" "Nuestros sistemas serara rnucho mas potentes y faciks de utilizar. Cada usuurw

Jinal tendra para trubajar urza lnterfaz grufica de usuario5. Asimismo, como hay un computudor sobre cada escritorio, 10s sistemus tendran muchas funciones adicionales. Seremos capaces de aumentar tambi6n las capacidades con mayor facilidud y a menor costo, simplementr, incrementartdo el numero de mhquinas. Y estaremos en m a posicibn rncisJlexible para sacar ventaja del hardware y del software nuevos."

"Hasta aqui suena bien. Conforma un grupo para estudiar las ventajus y 10s ries- gos. Si t u informe es favorable, podemos seguir adelante."

La i n t rod~c~ ic in del PC IBM en 1981 establecih la estacihn de trabajo personal colno una norma en la oficina. El tratamiento de textos, las hojas de cilculo y otros software jus- tificaron por si solos el uso de estas miquinas. Ademis, para ellos era natural estar enla-

' LAN, Loral Area Network ( N . del T . ) . ' In~rrfaz Grhfirn de Usuario, Graphical User Interface (GUIJ ( N . dcl T . )

Page 39: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

iuterfnz Grjfira de Usnnrio (GI'I). Pantallai y fuut.ionrs clue pruporc*io~lan a1 ~ ~ s u a r i o final un ~ncdio grkl'ieo para t rnrr acrrso at sistclna dc vonq)i~tacihn.

&ten~as ahierios. El twnrrpto d r vonrctar m a raricdad d r t,o~nputadorrs cwn dil'crrutrs htrrdware y snftwnr~ para trahajar coordinadamrnte ron rl fin dr lograr los o1)jc.tivcrs drl usnario.

interoperahilidad. El rstado qnr c*arat*trriza a nihltiplrs sistemas hrtvrogheoi qur sr romuniran y vontrihuyrn a la trrn~inaciOn de una tarra cwlnun

zados rntre si 11ai-a pcwuitirle ;I 10s usnarios roniiinicarse por rnedio drl rorreo c.let.trhr~ieo y te11er ac*crso a 10s recwrsos comunes, tales cwmo iml)rrsoras y tlisros. 1nicialrnc.ntr 10s s r n i - dores st: inhtalaron para wntrolar la irnpresiOn y el artbeso a 10s arrhivos. Ellos c.onstituyrro11 los serciilores ile irrtpr~si611 y 10s servidores de arch,iws. F'or rjrniplo, rl swvidor tlt* arrhi\ os. a1 rrsporldt:~ a la soliritud tlt- un clirnte sohrr un irrt.1iivo rspxifico. enviaria el archivo rom- p l c ~ a travbs de la red a1 r o m p t a d o r t*lientv (Figura 1.14). IIoy. sin rmhargo. la nuyoria tlr 10s srrvitlorrs son servidores de hases d e datos -propamas clue sr rjrvutan (.II r l hurdwrr- re srrvidor y proprcionan los srrvitios dr las I m r s de datos a 10s rc)mputatlorc~~ ttlirntrs (Figura 1.15)-. Isi. nn clirntr c p . vsti rjrcwtando Iin prowso d r una aplieat~i0n !- ntwsita una intrrrogacihti (twi~sulta) a m a hast: tlr datos, envia la 11ctiti6n a1 servitlor d r la haw tlc datos y kstr l r drvolvrra 10s datos so1ic:itatlos. El 1)rogrania d r aplicacibn 1)urdr enviar tani- 1)ii.n datos a1 srrvidor roll la solicitud d r artualizar la h s r dc. clatos. El srrvidor r f t~ tua r i a vsta artuahzarii~n.

La potencia d r la plutaforn~a c*lirntr/srrviclt,r drsransa en rl cwnetbpto de tlivisihn tlt* funciones. El dientc. es rl csomjmtador frontal qile tienr intrrfaz dircctarnentt~ con el usua- rio. Manil~ula la Iuterfaz Grifica d e I!suario (GUI) y realixa 10s t:ilrillos y otrc~s progra- mas d r intrr is para r l ~lsuario final. El srrvidor rs el qu r gestiona f t~r~dan~c~nta ln i rn te t.1 arrrso a los datos atenclirntlo las diferrntrs prtirionrs de 10s rlirntrb., tau11)ih rraliza fun- riones cle twntrol y seguridad de acreso a los datos.

(:onceptualrnente. las plataformas c:lientelst.rvidor son parta dr l concrl)to d r siste- mas abiertos, en rl cwal todo t i p de cwnputadorrs, sisternas operatives. protocolos tlr redes y otros softwore y h,nrdware 1)urclrn interc:onrt:tarsc y t rahajar coordinadarnrutr para lograr 10s ohjctivos drl usnario. Sin embargo. r n la 1)rictit.a. 10s prohlrnias de alcan- xar tal varietlad de sistemas oper;~tivos, protocdos d r retles, sistrmas de 11;1sr tlc tlatos y otros, qur trahajen con~untarnentr puedcn ser m extrerno peligrosos. El ot~jr t ivo de 10s sis- trrnas ahiertos consistr en lograr la interoperabilidad, que es t.1 estailo tlr dos o m i s .;istc.-

Cliente

Cliente Cliente

Servldor DISCO

Cliente Cllente

Page 40: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LOS SISTEMAS DE BASES DE DATOS Y LA EVOLUCION DE LA TECNOLOG~A ... 23

mas h e t v r ~ g ~ n c o i comunicindose y contrihujendo cada nno a algnna parte del tral)ajo clue c~orrespoiich~ a una tarea coiniln.

E n cierto sentitlo. el enfoqne c.lientciscrvidor c.5 la c~ulminaci6ii dc una percepcihn teiii- pi-ana de la potencia del c i l d o c1istril)nicla cwnjnntamente con el cwntrol de y el acceso a los datos inherente5 a uii cmnputador centralizado. Los visionaries annnciaroii la inminencia de la conipntaci6n distrilmida hace m i s de doh cli.c.aclas, p r o 5610 rec.ienteiiiente esto se comir- ti6 en iina realidad. iunqiie mnchos prohlemas dificiles de la intero~)eral)ilitlatl es t in por i~solvc~sc. . las perspectivas de aumentar continuamente la potencia de cilcnlo y el ac*cc.so a las haws de datos a1 nivel del usuario final n m c a han sido mas estimulantes.

Los sistemas de base de datos: el hardware, el software, 10s datos, las personas

Hasta aqui, sc: hail discutido, e n tkrininos generales, los sistenias de hase de tlatos y sus ca1)aciidaclt.s. I h o r a vs cl moinento de acercarse a 10s componentes qiie constituyen tal t i p de sistenia. Un sistema dc: base (it: clatos es algo m i s qnr simples clatos o qiie 10s datos en coinhinacih con un software de gestihn dt: 1)ases cle datos. E n nna organizaci6n. u n siste- ma de hase de datos completo esth compnesto por cnatro c:omponrntes: el hardware, cl software, 10s datos y las personas.

El hardware El hardware css (:1 conjunto de dispositivos fisicos sobre 10s que reside una I~ase de datos. Consiste en iina o niis compntadoras. unidades de disco, video-terniinales. iinpresoras. unidatles tle cinta magnbtira, cd)les cle c.onvxi6n y otros eqiiipos auxiliarcs y d c conexibn ({el ecpipaniiento.

Las coinputadoras. iitilizados para procesar 10s datos en la hase de tlatos, pueden ser uii muinfrume, minicwinputadoras o compiitadoras pcrsonales. E n el ejemplo dado con anterioridad. la compaiiia I P D inic:ialinente coinenzh el prowsaniiento (*on nna minicom- pntadora y luego escal6 a un mainfrararnr. El muinframe y las miniconiputadoras sr han uti- lizado tradicionalniente de forma authnoma para soportar el acceso de varios usiiarios a una h e de datos coinun. 1,as coniputadoras personales se utilizan frecuentementr con 1)ases (it: datos antbnomas controladas y inanipiilatlas por un iisuario unico. No ohstante. tam1)ii.n pueden cwnt:ctarstb a nna rcd clienteiservidor, garantizanclo el acceso de varios usuarios a una hasr cle clatos comun almacenada sobre uniclades d r disco y cwntrolada por un coinputador servidor. El servidor en si mismo puede ser una conq)utadora personal m i s potente, una ininicomputadora, un mainframe o una computadora m i s potente con multiproc*rsaclor. La Figura 1.16 iliistra iina variedad de confignraciones de hardware.

Las unidades tle disco constituyen el inecanismo de almac*enamiento principal para las hases de datos y son esenciales. pues ellas prrmiten el acceso directo, sin el cual el pro- c*rsainic:nto de las haws de datos seria iniposi1)le. Las computadoras personales, los video- terminales y las iinpresoras se utilizan para introtlucir y recnprrar informacihn (lc las hases de datos. Las unidades d r cinta magnbtica garantizan nn respaldo l ~ a r a t o y r ip ido de 10s datos que es t in aln~acenados en las unidades de disco.

El &xito de 10s sistenias de base de datos ha dependido fiiertemente de los adelantos rn la tecnologia del hardware. P a r a mantener y controlar la cantidad enorme de datos almacrnados en una base de datos se requierr iina niemoria principal y un espacio de almacenamiento en disco miiy grandes. Adicionalmente, s r newsitan compiitadoras r ip i - das, redes y perif6ric:os para ejecutar el alto nilmrro de accesos requerido para recnprrar la iiiformaci6n en un tiempo aceptablr en nn ambiente que tenga iina cantidad g r a d e de usiiarios. Afortiinadamente, el hardware ha sido cada vez m i s potente y m i s barato du- rante 10s aiios de desarrollo de la tecnologia de las bases de datos. Esto ha hecho posiblr el iiso difundido de 10s sisteinas de bases de datos.

Page 41: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Mainframe

minicomputadora I lmpresora

, 1 , Disco - Cinta magnetics

(a) Mainframe o minicomputadora que permite el acceso desde varias terminales

Cliente

(b) Computadora personal que usa una base de datos almacenada

Cliente

Cliente Cliente

(c) Computadoras personales conectadas en una red clientelservidor, todas las cuales tienen acceso a la base de datos almacenada en un servidor

El software

Un sistema de base de datos incluye dos tipos de software:

El software de prop6sito general para la gesti6n de bases d r datos, comunmente llamado sistrma tle grstiim de hases de datos (SGBD) (en inglks, DBMS). El software dr aplicac:ii,n, que usa las facilidades ilel SGBD para manipular la bases de datos con el fin de llevar a caho una funciirn esl)ecific:a tle la compallia, tal como la emisiirn de 10s estailos o el anilisis de las tendencias de las ventas.

El software de aplicaciirn generalrnente se escribe por 10s empleados de una rompa- iiia para resoher un problerna especifico. Puede estar escrito en un lenguaje de progra- macibn estindar, tal como COBOL o C, o puede escrihirse en un lenguaje (usualmente lla- mado lenguaje d r cuarta generacibn) buministrado con el sistema de gestiirn de bases de

Page 42: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LOS SISTEMAS DE BASES DE DATOS Y LA EVOLUCION DE LA TECNOLOG~A ... 25

datos. El software de aplicacicin iisa las facilidades del SGBD para r1 acceso a y la m a n - pulaci6n (it. los datos en la bast. tlr tlatos, proporcionando 10s informrs o los tlot~nmentos nccesarios para 10s rrqnisitos tle infortnacicin y de ~)rocesamirnto tle la cwmpaiiia.

El sistenln de gesticin de bases tle dntos (SGBD) es nn softwcrre, 1)arecitlo a tin sistr- ma operative o a 1111 twmpilador, que hrintla un conjunto dr srrvicios a 10s usuarios fina- les. 10s prograniatlores y otros (Figura 1.1;). Como su 11oml)re indica, el SGBD existt. pa ra facilitar la gtastihn tlr una 1)ase dv datos. Con rste fin, un SGBI) tipicamente hrinda la inayoria de 10s srrvicios siguientcs:

Herramienta para 1ci definicicin 4 el control centralizados tle 10s tlatos, conocida como diccionario d r datosldirectolit,itoldirectorio (DDl D) o catalogo Mecanismos de segiiritlatl e integridad de 10s datos 4cceso concwrrente a 10s datos para 1 arios usuarios Utilidadrs para la consnlta. la mani1)ulatii)n y la elahoracihn de informrs orien- tados a1 n s w r i o ITtilitlatles para el desarrollo tit, iiitrmas de aplicacihn orirntados a1 progr amador

Diccionario de t la toJDirectorio (DDID). El subsistrma tlrl tlit~t~ionario/dire(~torio tle datos almawna lai definiciones de todoi los elementos de loi tlatos r n la hasr de datoi . Ei to i n ( h q c el nivel prilnario d r lo9 elementoi tle 10s datoi (campoi), las estructuras tle 10s

tlatoi a nilel tie g r u p 4 a n k r l de registro 4 10s archivos o t a h h relwionalei. El DD/1) no s61o mantiene rsta informacihn, sino clue, ademhs. cilmacena las intcrrelaciones que ruii- ten entre las ( h e r s a s estructuras de datos. Adit~ionelnientr, manticnc loi indices clue se utilizan para garantizar el acceso a los datos rhpitlarnentr. Asimiimo, almacrna las defini- ciones d r los formatoi cle las pantallas y dc loi informes. clue pucden ntilizarsr por 1 arios progra~nab de aplic.ac.i6n.

Utiiitarios de ~nterrogacion y

Subsistema del D~rectorio/Diccionario

elaboracion de de datos reportes para

el usuario Subsistema

de seguridad e integridad

Utilitarios para el desarrollo de programas de DATOS

aplicacion a la base de datos

Page 43: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DEBASES DE DATOS

Meranisnlos d e sepwidad (. intepridad de lo* datoa. Ida 11aw t l v tlatos rs 1111 Iwwril) villiow tpie ntwsita protet~i611. El SGHD garantiza la scyritlatl d t ~ la I~ast. t l t t tlatoa l in~i- tando el acww) a la inisma a1 j~rrsonal at~torixatlo. 1,os usn;uios a~ctorixados. ; t . ~ ~ r ~ . i i l ~ n e ~ ~ - t r . estar in restringitlos en manto a1 aweso a csiertos datos I W 11articwl:u. ! a a tpd los c1nr J ~ N ~ ~ I I actllalizar. Tal ;~ t~ t : so se twntrola f r r c * ~ ~ c ~ ~ ~ t t . ~ n c ~ ~ ~ t t ~ rnrcliantt~ twntri~wlias ! rntv1ia11- t r las vistas di. lor; daios. q w w n s t i t ~ ~ ? r n tIt4'initior1es (I(' portiont~s rt~strin~it1a.s t1tl la 11aw d r tlatos. caornt~ sth i111stra 1:i Figura 1 .18. l,a integridad y la c~ t~r~s is t r~ i t ia (11, la I m e tle datos se protegen 1"". n d i o tie restricciorw~ sol)rt~ 10s valort~s t l ~ w 1111rt1en toinar los el(,- i~irritos rlr 10s tlatc~s y por. la?; c.al~at,itlades de rrt11perari6n > tlr rcyal t lo snrui~~istratlas ])or el SGBD. Las tlrfinicionc.~ de las rest~i t~ciones dc los datos scb a1111ac.enan vn cl tlictionario dt- tlatos. La rrtqc.rac.ihn y el rrspaltlo st, soportarl 11or (-1 software. (,I tjue anton~it i t ,a- rnrntr alrnawoa 10s t ~ ~ r n h i o s de la Imse de datos t.11 t.1 c-atilogo y hrintl:~ I t ~ s nwdios pal-a rth+ tal)lrwr 1:1 rstado actual tle la l)ase dr tlatos t.11 t.1 teaso de nn fallo (114 sisttwa.

Elemento de dato

- -

Vista del usuario I

Vma del usuario 2

V~sta del usuarlo 3

Page 44: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LOS SISTEMAS DE BASES DE DATOS Y LA EVOLUCION DE LA TECNOLOGIA ... 27

C o ~ ~ s u l t a s e inforn~c-s dirigiclos a1 ~lsnario. 1 no tlc los aspcbc.tok mhs 1 ;~liosos (Ie 1111 SGLII) t.s ([ut' 1)riiida Ilerran~ic.otas d r ~ n a n i p ~ ~ l a c i i ~ n de 10s datos tlirigidas al I I S I I ~ I ~ ~ . E:stos I rw ~ n a j e s tle intc~i-rtyac.i6n f'ic-ilvs de usar 1)t~rmitvii a 11)s 11s11arios t'orinular sus c.ons~tltns ! l ) td i r ini'ormw ~ ~ n i w s ~ I i r t ~ ( ~ t a ~ i i c ~ ~ ~ t t ~ (It, la h s t , tI;~tos. Esto ~ 1 ~ 1 - a ;I\ 1)erson;iI I I V 1)rogr;t- 111aci0n (10 la c*otnl)al"lia tlv la carpi (It. fi)rinnI;~r rstas C O I L S I ~ / ~ ( ~ S o (It' ( w r i l ~ i r l ~ ( 1 1 1 t ~ t t ~ s tits twoyam" (l'le aplic~i~c.ihn tle ~) r (~ l ) i ) s i to esj~wial .

1 ~ 1 s ge i i (~ra t Io i~~s (11, i~il'orn~eb t~s t i i i a s o ( * i ~ ~ ~ I o s a 10s l t ~ n g u a j t ~ ~ t l ( ~ c o ~ ~ , s ~ i l t ( ~ . F~-rtwtwtt*- mcbiite c.1 leng~ialt. cor~s~iltct wntendrh f'ac.ilitlatlrs para t.strurlurar los rcsultatlos (I(. la. coi1szi1trr.s c.orno inlormes. 1,a c.o~~stilt(t lorm111atla l)n(vle a l ina( -enar~ t para s u 11so ~ l l t ( ~ i o r \. sms wsnltatlos l)~~c.tlen ~ ) r o t l ~ w i r s r r n I 'o~ma ( I t . uii inlorme ortlinario. C n a ~ ~ t l o cste cbs el vase, r l l ( w p a j c (It, tw~istiIt(~ piw(le ~ ~ o i i s i ( I w ; i ~ w ( ~ ) i n o nn y n e r a ( l o r dv inlormes. Atlr~nhs. los generutlows de int'ormt~s 1)ucvlen t a m l ) i h I)i.intlar i'aci1itlatlt.s ~ i i w h o inh* p o ( l r ~ n i ; ~ s ([lie las tlisponil)lt.s en 1.1 l r n p a j e tlr ( Y ) I L S I I ~ ~ ( L .

Los datos

Las personas

U s u a l h : 1,os t.jtv.ilti\os. Ills yrrnttLk. 10s i~tli~ii~~ihtratlorrs. ( * I p r r so~~al (((1 ol'il.ina Profesiondt-s dc. la c~on~l~~~~ac. iciu: 1,os ;~~In~i~ti.;tratlo~'rs tlr la I)aw (11% tlntoe. 10s anulistw. lo.;

l n . ~ g ~ ~ ~ ~ ~ a t l ~ ~ r , * h . 10s tlisc~iiatlort~s tld *is l rn~;~ y (It. la haw tlr tlato.;. 10s :~tl~~linihtraclorrs tlv loi sistr- mas 111. infi1r111ari011

Page 45: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

automatiza 11or corupleto una tawa tlrl 11s11ario. Es nccrsario drsarrollar protwlimientos n i an~~a l e s para t)rindar una interfaz suaw elitre 10s usuarios del sistema y el sistenia en si n~isino. CTn cjrrnl)lo de procrdi~nirnto s r r h el control tie auditoria por parte tle 10s ~ ~ s u a r i o s con respecto a qn r la t*antidad total tle tlincro drpositada en rl I)ancw cwrrrspondic.ntr a un dia deterininado concuertk con la cantidad total tle ctfet.tivo rrcil)ido ii~ostrada por el sii- tcma ese n ~ i s n ~ o tlia. Normalmelito, esistt.11 i n u t h s proc.ccliniirntos r n un sistenla J 1.1 bsi- to drl sistrrna. con frecurnvia. deprndc m w h o tle la I~abilidad con qur tales protwlimiru- tos sr clrsarrollen para artit~u1;rr (.on las funcionrs tlel sistrma, asi romo d r la r s t rur t~ i ra tlrl aistrnia cn si ~liisnio.

Interrelaci6n (relacicin) entre 10s cuatro componentes del sistema

La figura 1.19 rrsulne la i11trrrelaci611 rntre 10s cwatro roniponrntrs clr 1111 sisten~a d r I ~ a s r cle datos. Los prqfisior~crles tic? lcr cornp~rtctcicir~ (10s disriiadorrs tit, I)aw tlc tlatos j a i l a l k tas) rli cwnsulta con los usicc~rios i t l rnt i fka~i laa ~~et.esitiades dc dcctos y diseiian las e s t r ~ ~ c - turas tle la basr de datos para respo~~t le r a rstaa nrt*rsid;rdrs. Entontsrs. las rstruc.tliras tlr la haw tle datos se especificai~ al SGSD rnrtliantr el dic.cion;lrio tlr tlatos. 1,os usliurios introducer1 10s datos c.n r l sistema siguientlo proc~diir i i~ri tos t.sprc4'itws. I m s thtos il1~1.o- tlncidos se almacenan rn los medios de hartlwart,, tales t-omo cliscos y cintas. Los progrcr- rnrrs cfe aplicucicin qur ticncn avceso a la 1)aw dr datos sr rscrilwn por los profrsionalrs tlc la coniputacii~n y por 10s usuarios para rjrcutarlos soln-r 10s compctctdor~s. Estos progra- mas utilizan el Irngilajt. d r hrdmes tlrl SGHD y liacrn uso de la i n f o ~ ~ i n a c i h contenitla el1 el diccionario tie datos. Estos programas grnrran informacihn, quc purtle i~tilizarsr por 10s rjrcutivos y 10s gri-entcbs para tomar decisiones en el negocio. Los jwogranlas tle aplicat~iGn tmubibn p u r d m grncrar las notificaeiorirs d r factwas y ntros docuninitos ntilizatlos por 10s climtes del nrgocio. Dr rste motlo. pueclr verse clue en nn sistcrna adec~~atlanwnte tlisr- iiatlo y en funcionamimto. sus cuatro con~ponentes -el hardware, el softwarr. lox tlatos y las personas- conforman un sistrma hnico con el fin tlr alcanzar las mrtah tlr la trrga- nizaciOn.

Page 46: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LOS SISTEMAS DE BASES DE DATOS Y LA EVOLUCION DE LA TECNOLOGIA ...

En este capitnlo se ha revisado t.1 d ~ s a r r o l l o de la trcnologia tle las 1)asc:s tle tlatos. romen- zando tson ltrs m6todos ~)rirnarios cle accwo a archilos y rontinuando (.on los enfocjurh p i n - c*ipales en P I procesarniento (I(. las haws de datos. 'l'irm1)iin se hail identifirado y tlisrntido 10s cnatro componentc~s principalrs de un sistema d r I)ascb tle clatos: rl h a r t h a r e . el soft- ware. 10s datos y 1;is personas.

A1 cornienzo del prweso (I(: tlatos, dnrantr los cinci~enta y- ~1 roinienzo de 10s sesen- ta. la regla era el tratamiento tle arrhivos sernencialrs. Todos los datoh se almac.enal~an (*ii

arrhivos secuencialcs, cine esigian el tratarniento tle archivos cornpletos pol- 10s prograrnas de apliraci6n. Durante 10s sesenta, dcl)itlo a c[ur rl a11iiac:eilaniirntoit cn disro ~ltilizaiicl~) el acwso direrto llegi, a estar arnpliarnrnte disponil)le. el procesarnirnto de arc>hivos de a c v - so aleatolio Ilegh a ser factihle y popular. Este rnitoclo perrnitii, el aweso clirccto a datos especifircrs en un archivo.

E n la ~ ~ w t l i d a ell (pie 10s sistemas cwrnputacionales de procesaniiento dc datos se hi&- roil m i s importantes, 10s negorios commzaron a reronocer clue la infor~naciOn era un recur- so corporative de valor considera1)le. Estos perelbieron mis y miis ( 1 1 ~ los tlatos necesarios para rontestar niimwosas prrgt~ntas tlel n t y ~ c i o estahan disponil)lvs tSn hlls archi\os tle pro- cesarnirnto d r datos. Como ronsecwm~ia. cornenzaron a presional- a 10s sistemas tlr infornia- ci6n para la gestibu en cuanto a la 11tilizaci6n de la potencia del r o m p t a d o r para protlucir informaci6n a partir de 10s datos rorporativos. Esto inicii, la demands de los sisternas d r I)ases d r datos. 10s qtw garantizarian mas efectivarnmte el acceso a 10s datos y su rnaniplar ihn.

A mediados de 10s srsenta se introdujeron los primeros sisternas de 1)ases de datos. 1.11yo fundantento vra rina estructura jeriirquira d r 10s datos. Estos sistenias permitieron la recuperac:ii,n de ini~ltiples registros asociados con uri registro unico d r otro arrhilcr. Inme- diatarnmte despuCs. se tlesarrollaron 10s sisternas de 1)asr d r datos en retles quc soporta- ron interrelaciont~s e i ~ t r e registros de arrhivos diferentrs rnurho mas roniplejas. Aml)os rnodelos de base d r datos. el jer i rquiro y el en red. requirieron el uso d r p n t r r o s fisiros predefinidos para enlazar 10s registros relacionados.

E n 1970, r l articulo de E. F. Codd sohre el modelo d r datos relarional revolucioni, el pensarniento en la industria de las hases de datos. El enfoqne de Codd proponia el a c w w y la manipulacihn de 10s datos hnic:arnrnte desde el punto de vista de sus caractrristicas l6giras. D~l ran te 10s a h setrnta y ochenta se desarrollaron nurnerosos sisternas de hase de datos rrlarionalrs y. en la actualidad, Cstos dorninan el rnerratlo comerrial.

En aiios recirntes han prolifrrado 10s computadores I)ersonales en 10s puestos d r t ra- hajo, por lo clue s e h a n ~lrsarrol lado las redes cornyutacionales, perrnitientlo a ltrs osna- rios de estos cornputadorrs cornpartir recursos. Un cornputador, que funriona c:omo servi- (lor de una red, garantiza el acceso a la base cle tlatos desde las estacionrs dc trahajo en estos purstos. permitiendo uua d i v i s i h potlerosa y eficientt. de la tarea: El servidor recu- pera 10s datos, 10s cjue la miquina cliente solicitante procesa y presenta ru pantalla para su rnanipulaci6n por parte del usuario final. Las redes cornyutarionalrs en arnhiente rlirn- telservidor han tlesarrollado un grado alto de sofisticacihn y se encuentran cada vrz con rnis frecuenria en las empresas cornerc:iales.

Desde el punto tie vista conceptual; un sisterna de base c1r dutos en rma organizacihn grande es t i formatlo por el hardware, el software, 10s datos y las personas. I,a ronfiguracibn ciel hardware cornprmde uno o niis c-omputadores, unidades de disco, terminales. impreso- ras, unidades de cinta rna&tira. c-onexiones de red y otros dispositivos fisiros. El software

9 , inchye un sisterna cie gestlon de bases de datos (SGBD) y 10s prograrnas de aplicavihn que utilizan el SGBD para tener arceso y rnanipular la base de datos. Los datos, qur reyresen- tan 10s Iie(4ios importantes para la organizaci6n; radican fisicarnente en el disco, p r o se estrrirturan lO@-arnente d r forrna que se logre un arceso fiicil y eficiente. Las personas, tan- to 10s usnarios corno 10s profesionales del sisterna de base de datos, trahajan juntas para definir las caracteristicas y la estructura del sisterna c1e hase de datos y para carear 10s pro- gramas de aplicaci61i clue garautizarin la inforrnacihn rsencial para el Cxito de la wmpaiiia.

Page 47: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~~N DE BASES DE DATOS

1. 1)t~fiua t-atla uno de 10s tbrniinos siguientes curl sus 1)ropias palal~ras: a. sistcwa tlc p~.ot.cso de tlatos 1). 1)roreso roll a t w w tlirerto r . sistrma de infonnat*ihn para la ge s t i h cl. hasr (it* datos c. sistema de hase (I t* tlatos f. ~iiotlelo de datos g. niotlrlo j r r i r qu iw h. 1~11tt : ro i. retl j. p1;ttaforma rlientelservitlor li. sistt.mas al~iertos 1. intcropel-al)ilitl;~d 111. sistcma dn gestibn de 1)asrs tle datos 11. vista d r 10s datos o. prwxlinl i rnto p. ~netadato

2. lC11ri1es son las carac.tcristit.as mis iml)ortautes de 10s sistemas de archivos con acceso setwencia1 y (.on acreso direrto? ;(:uLles son las limitacicrnes dr 10s arcliivos con arre- so seruencial c p r se reniedian con 10s mi.totlos d r a rwso dirccto?

3. D i s r ~ ~ t a la importancia de la informatihri romo un recurso orgiinico. 1COmo ha11 roll- t r i h~~ i t l o 10s sistemas tle hasrs d r datos a aulnentar el valor tle la inforu~ac-ihu en las organizaciones?

5. Compar(~ y rontraite las raracteriiticas d r los iibtemas d r hasei dc datoi jerlil-quiwi. en red y relacionalei. i.Cu&les neresidades tle 10s negocios wnth jc ron a1 tlesarrollo de catla uno de ellos?

5 . Enuliiere y dewrib;~ brrvernrnte los twatro t-ornponentes printipalri dt. un histerna dl. 1)ase 11c datos moderno.

6. Descriha cada uno de estos corrrponmtes de un sistema d r gestibn tlr 1)ases dc datos (SGBD): a. Diccionario11lirec.torio tle datos (DDID) h. Seg~~r i t lad e integridad de 10s datos c. .k.ceso t.onc11rrente a 10s tlatos Ijara varios usuarios d. Consults, maniplacibn r itit'ormes dr los datos . Fat:ilidatles para td desarrollo de sistemas ile aplic*acihn

7. Enurnere t r r s ejemplos para catla uno de 10s t i p s de personas biguitmtes: a. Usuarios 1). Proksionales tlr la computat-ihn

8. Defina catla nno de 10s elemrntoa siguientrs: a. ISAM h. IMS c. ABD (DBA) d. SQL e. Quel f. QBE

Page 48: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LOS SISTEMAS DE BASES DE DATOS Y LA EVOLUCION DE LA TECNOLOG~A ...

-dates

-clo l Y J

-sistcww tle irformtr~.icirt -sirr6rlimo,s

- p d r ~

-~r.sll~lrLo.s

-progrumu de t q ~ l i ~ ~ ~ ~ i c i r ~ -horr~cirrirno

-h ijo

-irformucicin

-p r c f~~ io r t c~ l~s tle ltr cornputut-icin

-srrl:idor d~ buscl d~ drjtos

a. El Mariscal Do111.y rc.td,ih liltis comisibn ~ I I W rualquirr otro rq~r rsen tan te tlr F e w

4. Para la has(. de clatos d r un 11anc.o. organire Ios archivw sipuientt~s en una jerarquia: PAGO, CUENTA 1)E IHORROS. 1)EPOSITO. CLIENTE. CUEKT1 I)E PREST4- MOS. RETlRO DE U E P ~ S I T O S .

5. Para una I ~ a s r de datos tle una cwn~paiiia de rmharque, organic? los arc-hivos signkntrs r n lina red: EMBARQUE. TR4NSPORTE, REMITENTE, PL4QUETE. RECEPTOR.

6. Para 10s prohlemab 4 y 5, identificIue lob canlpos que pudirran encontrarse en catla archivo. Identifique 10s c a m p s clavcb para cada archivo.

7. Explicpr chmo el proceso concurrrnte no controlado en un sistema de base de datos podria provocar daiios en 10s datos en las situacionrs siguientrs: a. La reserva de vurlos en un sistrma d r rrservacibn de una arrolinea. 1 . La avtualizacihn de las cantidades de un producto en nn sistema dt control d r

inventario. c . La actualizacibn del halance de las curntas para cheques en un 1)anco.

Page 49: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

1. Ksitr un crntro de pro two dt: tlatos en su zona y hablr con 10s ad~ninistradort.h, 10s arialistas y 10s programatlores. Prt.gnntr sobre su exprrirneia (*on sisten~as de art,hivos traditionales y t-on 10s sistcnias d r 1)aw d r tlatos. Si rllos r s t in ~itilizando nu sistt.nia (11. h s e de datos ahora. iutiliza h e alguno dtl 10s t r r s tlr motlrlos diseutidos t.11 rl p r r - smte t*apituloP i.Cuilrs son l a vrritajas y las drsventajas prrt-illidas por ellos en cnan- to a 10s divrrsos enfoqurs qntl ptmiiitrn PI arct:so a 10s dates? ;,Con t[116 twnfigurati0n. drsdr rl pnnto tle vista drl hartlwarr. rurntan rllos? <.Nct~t~sitaron rst-alar 1.1 hardwai-r en 1.1 pasado y prrvbn rllos algnna nrt:tlsitlad r n rstr srntido en rl futuro prhxiino? ,Guiles son las principalrs necrsidades tlr infortnacihn para la grstihn cjur garantiza r l sistoma?

2. Eshocr la lhgica tlt~ ( a ) un p ropama qur utilicr sistrmas tlr arvhivos srcnentialrz \. (1,) un programs q w nti1it.t. 10s arcliivtrs IS 4M para r r s o h t ~ la drinanda siguitmtr:

Pa r a rada clientr, idrritifivar 10s fa1)ricantrs t'nyob protlnctos ha ortltmado rl cliente.

Considere la rstrut.tura d r archivos presrntatla r n la Figura 1 .3 .

3. Estudir rl articnlo de Codtl d r 1970 qu r proponr cl niotlelo de dattrs relacional. Inves- tigut. los artitwlos sulrsiguirntes que arguinmtaron 10s mbritos relatives a1 modrlo t3n rrtl CODASYL con respecto a los del motlelo relational. Escriha un :~rticulo clue ana- lice 10s mbritos de aml)os enfotp.s l ,a-a 10s sistrmas de bast-s cle tlatos.

Page 50: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SERVICIOS PARA CELEBRACIONES:

DE BASE DE DATOS

El caso de Servicios para Celebraciones

Antecedentes

Operaciones de 10s negocios

Servicios de empleados

Adquisicion

Planificacion de tareas

Promocion

Estado financier0

DiseAo e implementacion de la base de datos

Descripcion del ciclo de recepcion

VentaIEfectivo

D e las entidades a las tablas

Creacion de una tabla

Diagrama revisado del modelo de datos

Establecer las comprobaciones de validacion

Caracteristicas adicionales de 10s SGBD

lntroduccion de datos a traves de formularios

simples

U n formulario multi-tabla: el formulario soli-

citud

Obtener inforrnacion para la gestion a part ir de la

base de datos

Resumen

Preguntas de comprobacion

Problemas y ejercicios

Proyectos y cuestiones profesionales

Page 51: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

El easo de Servicios para Celebraeiones (Catering)

Antecedentes

Page 52: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SERVlClOS PARA CELEBRACIONES: UN EJEMPLO ... 3 5

OperaciGn de 10s negocios

Servicios de ernpleados

El vrinte por rirnto dr las gananc.ias de caatla t r a l ~ j o s r tlrstina para roni1)rnsar a lo.; rn~plcwlos. Si mis d r un rmplratto participa c.11 nn trahajo, este vrintc, [lor c-icwto sr clivi- tle rn t re rllos. 4 10s emplt.ados se Ies p g a cads tlos stmanas. Diane \- Iiaren son las ITS-

po1isal)lrs tlc: las twmpras de suministros y eqltipos. Diane Ileva la ruenta de tpibn 1)artic.i- pa en rada trahajo y tletrrmina la cxntidad a pagar a rada eml)lrado. 1iarc.n tient* la rrsponsabilicl;~tl d r pagar totlos 10s otros gastos.

Totlas lab roml~i-as son rralizadas (.on c.wntas w n varioi vrntlrdores clr 1i1 zona. k a r r n paga los rrcihoi ;I los trrinta dias. a menos clue haya a l g h clrsrnento por pronto 11ugo

Planificacih de tareas

Los rmplraclos stx asignan a cada tarea dc: a cwrdo a sns hahilidadrs y disponihilitlatl. 0c.a- sionalmrntr st- r rquicw alguna ayutla adirional tlurante partr dr l tiempo: p r o rsas n e u - sidatles por lo genrral sr sati4ac:rn ron miemhros d r la f'amiliu tle Karen y Dianr. Dianc, normalnientt. h a w las asipariones d r tareas tw11 una scnlana dc. an t i r i pa r i h . Cnando sc. termina nn t ra l~a jo , el supervisor (que ~ ~ u t l i e r a ser Karen, Diane o algiln rtnpleaclo) tlrfi- n i r i y rellenarii un modelo run el listado tlr 10s e q u i p s utilizados, quiknes t ra l~a ja ron y vnintas h a s .

Page 53: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Diane y d a r c n han sitlo ekctivas vtmdientlo estos servicios cle celehraciones a travhs de sits contactos I~tmonales . Tamhi6n innt~hos tle los t ra l~a jos han aparetido por recomrntlacio- n t ~ de clientes satihfrchos. No tlrjanclo nada a1 azar. Diane y Karen prcNparan ot:asional- mente ~~ropagancla tjue s<tlistril)nye en las tiendas hca l r s , tjne son frecut.ntatlas por (:lien- tes 1)otenciales. Ellas tanil)i4n han pursto anuntios en el prrihdico loral de Bainl~riclge island.

Estado financier0

Puesto cjue Dianr )- K a r m operan los Servicios para Celebraciones drstle sns propias casas, ellas tienen pocos sohrccostos. Inieialnimte se compraron algunos ecjiiipos. y ticnen lo que necesitari p a r a el iiivel actnal ({el negocio. La mayoria tlr 10s costos provirne tle las cornidas y del personal. 1,as ganancias se dcterminan restantlo 10s salarios y los eostos tle las comitlas de los ingresos rrci1)idos por ratla trabajo.

Diseiio e implementacibn de la base de datos El l~ropbsito tle esta secciim cs b r i n t h r algunas ideas cont~ernirntes a 10s paws netwarios p a r a diseliar m a hasr d e datos sencilla de Servicios para Cele1)racionrs. Se usara el SGBD PARADOX P.4K.4 WINDOWS para ilnstrar algunas tlt- las t*aractt4sticas d c a implemrnta- cibn tjne son comunes a machos SGBDs. Pucsto cjue no st. va r en t ra r m 10s tlctallrs clel sis- tema PARADOX . la prcsentacihn s e r i de tierto motlo gen6rit:a p fricil de entrnder.

Descripci6n del ciclo de recepci6n ventalefectivo

El prinier paso para desarrollar m a h a w de tlatos para los Ser\icios para Celeln-ariones es crear un motlelo de datos t ~ ) n e e p t i i a ~ de sub at'tiones (le ncgocios. Se necesitan las si!pientes entidades para ilustrar el ciclo de recepcibn ventalefec.tivo: CLIENTE. PRO- YECTO, EMPLE4DO. TIPO-COMIDA y P4GO. E n nnestro motlelo de datos se repre- s r n t a r i n estas mtidadeh (.on rectingnlos. P o r rjemplo. la cmtidatl PROYECTO es:

I PROYECTO I La Figlira 2.1 rs 1111 cliagrama tlrl moclelo de datos qur: muestra chmo se rrlacionan

en t r r si laa entidades. iQuG rs lo cjue dice la Figura 2.1 sohre el r i c h de rrcepciones ventaslefectivo? Vea-

mos la interrelacii~n rn t re la entiilad PROYECTO y la entidad EMPLEADO.

I * EMPLEA

Page 54: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SERVlClOS PARA CELEBRACIONES: UN EJEMPLO ...

TIP0 COMIDA u

I * EMPLEA

HECHO-POR TlENE

La linea entre las entidatlrs signifira quc k t a i e s t h relacionadas. El "y'' > c1 "1" dicen chmo r s t i n relacionadas. La interrelaci6n entre PROYECTO j EMPLEADO se lee:

PAGO * I

1. Cada PKOYECTO puede emplrar a r ~ n o o niis ( ::: ) EMPLEADOs. 2. Cada EMPLEADO puedc t rahajar en uno o mas ( " ) PROYECTOs.

CLIENTE PROYECTO I

En otras j)alahras, cada empleatlo puedr t rabajar r n barios proyectos > cn catla pro- >rcbto pueden t rahajar varios emplr, 'I( 1 0s.

Examinrmos otra interrclaci6ii. Vbase la interrelaci6n r n t r r la rutitlad CLIENTE > la rntidad PROYECTO.

TlENE

CLIENTE PROYECTO I

D r nurvo la linea rntre las dos entidadrs dirr c6mo es t in rrlacionadas. El "1"- > t.1

"*" dicrn r6mo es t in rrlacionadas. Esta intrrrrlari6n se lee:

1. Cada CLIENTE pnrde tener uno o mas ( * ) PROYECTOs 2. Cada PROYECTO purcir t m e r s6lo un CLIENTE.

E n otras palalwas. cada proyrcto de celebrarihn puedr ser solicitado por un solo vlimte, p r ro cada clirnte puedr solicitar varios proyrrtos.

En la Figura 2.1 s r purcic.n v r r dos clasrs cir intrrrelaciones. Estas son:

1. buo-a-n~uchos (1 a * ), clue r s la que se murstra entre CLIENTE y PROYECTO. y eutre CLIENTE y PAGO.

2. Murhos-a-murhos (* a * ) clue es la que se murstra entre PROYECTO y EM- PLEADO, y entrr PROYECTO y T I P 0 COMIDA.

Page 55: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

De las entidades a las tahlas

Chuck Brown 321 Sc.hultz\illr Srattlr. 505-9980 E 4 0?800

Dr ld~ i ! l lc~~ 152.50 Hivrrsitlr L,aw S(-attle. 055-2322 W 4 08432

Lrro? Browri 52000 Basltrthall St. S~a t t l e . 683-4.526 \F \ 91130

41 Franltrn 5230 Wrslry i t r n u r Srattlv. 084-2388 a 4 93401

TE cv)ntirnr cwatro rrgistros. oilo para c d a clicwtc., 4 t r rs c.aml)os. Jombrr , Dirc.cririrt J

Telt?folto. Los ( , a m p s drwrihen propirdades importantes de las rntitladrs. 411ora sr dc4inr mta tabla en un SGBJ). Se nwesita c w a r cinro tabla. para Ins Srr-

vicioh para Celrljracionrr. Estas son CLIENTE, PKOYECTO, EMPLE4DO. TIP0 COMIDL2) PL4G0. S r cwnirnzari con la t a l h CLIEN'I'E.

Creacih de una tabla

Sapongatnos q ~ ~ c sc tlrsra tlivitlir la inf'ormacihu so l r e una direc*cii,n r n w a t r o rampos: - - -

Xalle.Xi~clatl. E s t i l d ~ (lwovinc'ia)~ ~ O c t i g c s t a t . Sr ti~iir~c.ntorkrs~untutal cle wis cwu- pos: Nombre, C&, Ciutlad, Estudo, C P ). Tekfono.

Una vrz c p r w 11an rscogido 10s c a m p s , sr clisrkr la t a l h corrrspondirntr en el SGBD. Vbasr la Figura 2.2. Aqui sr pucdrn o b s c ~ v a r 10s rrcpisitos tipic-os para tlisriiar m a t a l h de una haw de datos. Sc pneden ver 10s nom1)rc.s d r los cattipos (por ejrinplo. Nombre, Cullp, rtc:.), una indic-acihn solbrr el tipo de clatos de cads c a m p iaqni la ''.Aq' sig- nifica alfanuniiricw), el t a m a h d r rada c a m p , y una intlic*;icii,n so l r e (:nil c a m p va a hacw las vwrs dc. clavr (an c:ampo c:uyo valor rs i~n ico para catla rrgistro. no hay dos rrgis- tros con r l n~isrilo valor para rscl rarnpo).

Ha sido c v a d a la rstrnctnra d r la tabla CLIENTE, qu r rsth ahora lista para recihir datos.

Dr forma similar sr ( w a n 121s otras cauatro tal~las que scj ~ ~ ~ u r s t r i l n r n 1;i Figura 2.3.

Diagrama revisado del modelo de datos

Con vistas a potlrr represrntar nurstro modelo d r datos en sli totalidad. s r tlrlw asrgnrar que las tahlas se relacionan rntre si r n la forma qu r drhrn . i,Rec.urrda las trvh (:lases de interrrlacionrs entre tahlas? Por conveniencia las volveremos a rrprt i r aqni:

Page 56: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

1 SERVlClOS PARA CELEBRACIONES: UN EJEMPLO ...

Field Roster: -

Fleld Name- Table Properties.

2. Minimum -

7

I I

4. Default -

I I I

5. Picture Enter a field name up to 25 characters long I [ * ~ ~ l l

Nombre de campo

Proyec#

Fecha

#Invitados

Tipo

N

D

N I I I

I Nombre de campo 1 Tipo I Tamaiio I =lave (

Costo Est

Cant. cargada

1 Nombre / A 1 2 5 1 I

Tamaiio

$

$

I Nombrede tampo I Tipo ( Tamaiio ( Clave I

Clave

Nombre-Comida / A 1 2 1 1 * I

Page 57: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACI~N DE BASES DE DATOS

Nombre de campo

1. Uno-a-uno (1 a 1) no cxiste en rl modelo de Scrbicios para Cele1)raciones. 2. Uno-a-murhos (1 a ') se muestra en lab interrelaciones HECHO-POR ? TIENE. 3. Muchos-a-muchos (* a +) se murstra eu las interrelaciones US4DO-POR

EMPLE -1.

Proyec#

Cant. recibida

Para rstar wgnros quc cstas interrelacioncs estan representadas rorrec.tammtc cn la tabla, se dclren seguir ciertas reglas, hasadas en la intcrrelaribn en particular. para vada tabla. Ech6mosle un segundo vistazo a1 (liagrama.

I I I

Tipo

N

$

EMPLEADO rl

Tarnaiio

* HECHO-POR I I TlENE * I

Hay trcs reglas de tahlas clue gobiernan las interrclaciones entre cllas.

Clave

PAG 0

Regla de Tabla 1 :

Si dos tablas tienen una interrelacibn uno-a-uno ( 1 a l ) , entonccs el carnpo elale de una de las tahlas deb? aparecer en la otra tabla.

I CLIENTE

Ninguna de las interrelaciones de nuestro ejemplo se avienrn a rsta regla 1.

PROYECTO

Reglu rle Tublu 2:

Si dos tablas tienen una intrrrelacibn uno-a-muchos (1 a *), entoncrs rl r a m p claw de la tabla del(1) dehe aparecrr en la tabla del (*).

En el diagrams. dos interrelac-iones adniiten esta regla 2 , la interrelac-iones TIENE y HECHO-POR.

Para curnplir con la Regla de Tabla 2 para las tablas CLIENTE y PAGO. se pondra Nonibre, el campo clavr d r CLIENTE. en la tabla PAGO despuks del campo Proyec#. Pnesto que A'onibre es la claw de la tabla CLIENTE J se usa para conectarla a otras tablas. sr le conoce corno clave foranra.

Page 58: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SERVlClOS PARA CELEBRACIONES: UN EJEMPLO ...

Si dos tahlas tienvn uua interrelari611 nluchos-a-murhos (* a "1. r n t o i i t ~ ~ tlrl~v crvarse nna n i~eva ta1)la t j n ~ ~ tenga 10s rauipos claws tle 1as (10s t a l h s .

E n el tliagrama. tloi interrclariones cwmplen la Rtagla tle Tabla 3. IrS4DO-POR \ EMPLEA. P a r a satisfacer la r q l a se tlt+en r r r a r do i nuelas taljlas. Priniero i r tliseiia co11 la clue se rn lazar in PROLECTO y TIPO-COMIDl. Ebta tahla se l l a ~ n a r i ITS \1)O_POK. Tvndri t r rs c a m l m : Pro je r# (primera (*lave). Woinbre-Cornida (segnnda cla\e) Curtti- rid. Note cjue cntont*ei la tallla ITS -1DO-POR tvntiene 10s ranilws r1alt.s de P R O 1 ECTO v TIPO-COMID 4.

1 Nombre-Comida 1 A 1 25 1 * 1 I Cantidad I I I I

Nornbre de carnpo

Proyec#

Ahora diseiiarcmos la tahla cjue enlaza PROYECTO y EMPLEA1)O. Esta tabla se llalnari EMPLEA. T r n d r i tres r a m p s : Proye& (primera claw). SS# (segunda rlave) Horns. Usando 10s n ~ i s ~ u o s p a w s q u e e n el cam anterior, s r construye rsta tahla EMP1,E.l.

Tipo

N

Tarnat'io

I Nornbre de carnpo ( Tipo ( Tarnaiio ( Clave I

Clave

*

I Horas I N / I 1

Note rbmo lure ahora el diagrama del motlelo de datoi en su versihn motlifirada (Figura 2.4) y c6mo lab nuevas tahlas rumplen con la Regla de Tahla 2.

Ya e d n diseiiadas todas las tahlas y se refieren entre si rorrertamente. P o r "se rrfieren entre si rorrectamrnte" se entiende que las tahlas se relacionan tit. fornia tjne representan con prerisi6n la estrurtura de los Serbirios para Celel~rationes.

Establecer las comprobaciones de validaci6n

La mejor manera tle garantizar que 10s datos que s r almacrnen sean vilidos es en primer lugar prevenir yue no se puedan introducir datos incorrertos. Por esta raz6n r s tipico q u r los SGRDs permitan imponer restricciones (tests de valitlaci6n) para rada campo en las tahlas dr una hasr d e datos.

Los tipos de tests de validaciim rnis comunes son:

Carnpo obligatorio: Se dehe introducir un dato en este campo antes de poder guar- d a r r l registro.

Minimo: El menor valor que este campo puede aceptar.

Page 59: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON D E BASES D E DATOS

EMPLEOS EMPLEADO

I I

C o ~ i vstos c h r q u t w podrmos ?star seguros clue el c4tligo postal. los ni~meros de telb- fono y 10s n imrros (it, segi~riclad socid sc i r~trot lncw~ en la forma c~u-r erta; qur los valows dr t ~ p o dinero ($) es t in dentro d r 1111 rango razonable. ) quc. lob camlws clue w a n c.l;i\e\ siemprv contendran ~ I I I dato. La Figura 2.5 ejemplific-a cbmo aliatlir 10s c.h(yieos d e \ d i - dacihn ;I nuestras taljlas.

PAGO CLIENTE PROYECTO

Costo Est. 1

I

Nombre de campo

Proyec#

I I

Cant. cargada J

Campo obligatorio

4

Nombre de campo Campo obligatorio

Nornbre-Cornida t - =

Minimo

Nombre de campo

SS#

I Nombre de campo 1 Campo obligatorio 1 Minimo I

Campo obligatorio

d

Formato

###_##~####

Proyec#

Cant. recibida

d

0.00

Page 60: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SERVlClOS PARA CELEBRACIONES: UN EJEMPLO ...

I I Nornbre de carnpo / Carnpo obligatorio / Minirno ( Mtuirno I

I Horas

Proyec#

Nombre de campo

Proyec#

Caracteristicas adicionales de 10s SGBD

0

Nombre-Comida

Cantidad

Introducci6n de datos a trav6s de formularios simples

999

/

Carnpo obligatorio

/

Un f;)rrn~~lario (form) rs una nianrra de ver o dr entrar 10s datos m una tallla -nn regis- tro tle catla vrz-. Los forrnularios pertrnrcvm a las tablas: rs decir, no se piic.tle tlisefiar un forrnulario a nienos qne ya se haya creatlo la tahla para la que se va a definir Cste. Los forniularios contienen todos o algunos de 10s c a m p d r la tabla rrspectiva.

La raz6n por la clue sr drsea ilisriiar forrnularios es para f a d t a r la introducci6n tle tlatos. Cuantlo sc rrnpirza a ponrr inforrnacicin en las tahlas rs convrnirnte trner formula- rios clue nosfacilitrn el proceso d r entrada de datos. Aunque se puedrn introducir 10s datos direc.tarnentr en las tahlas, usando forrnularios es un modo a menudo mis r ipido, rnis rfwtivo y mas prrciso de hacerlo.

Sr han rrrado las tahlas para representar el ciclo de recrpci6n d r ventaslefectivo tlc 10s Servicios para Crlehraciones. Los forrnularios que se consitlerarin serin para regis- trar una wnta. registrar la recepcihn de un pago y registrar otras informaciones clue a h - can las ventas.

El ejernplo rnis simple es un formulario qur permite jmtarnente entrar iina tahla. Ln proyrcto de servicio irnplica la lahor de rmplrados. Cuando el proyecto terminr, el Servi- cio para Crlr1)racionc.s necesita conowr q u i h trabajh m el proyecto y por cuinto tirrnpo. Para cntrar rstos datos se purde crear el Formulario Trabajo. Note que estr forrnulario introduw informacihn rn la tahla EMPLEA, la cual contienr tres carnpos: Pi-oyec# (pri- nwra claw), SS# (segunda clave) y Horas.

En la Figura 3.6 sr muestra tin ejemplo.

Minirno Forrnato

Page 61: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

Un formulario multi-tabla: ei formulario solicitud

V11 fornnilario innlti-tabla rs un modo elrgante d r introdncir 10s datos d r I arlai t a l~ las a la v w . Sr harii una tlenlostraci6n con iina multi-tahla Forniulario Soliritud. El Forinnlario Solic*itud nos ayudarii a poi1c.r en \ar ias tablas i n f o r n ~ a c i h sobre las tentas . Cnantlo 1111 clientr solirita nn scr\icio para m a crlrl)raci6n, la informaci6n q n r Gqte (la afwta a t w s clt* n w s t r a s taldas.

Cuando se recilw una soliritutl, sr reg+tra cicrta inforrnacibn (a) y se pone Gsta r n las tahlas rspec*ific.as (1)):

1. (a) El niirnrro (It* proyrcto de srrvicio (1)) PROYECTO. IJSADO-POR

2. (a) El nomhrr dt.1 rlientt. (I)) PROYECTO, CLIENTE

3. (a) La frcha de la celel~racibn, rl nilmero de invitados esprrados, rl costo esti- mado del servirio y el total cjne sr le ca rgar i a1 clirnte

(1)) PROYECTO

4. (a) La d r , cindad, Estado. c6tligo postal y nurnrro tc4rfOnicw del d ien t r (1)) CLIENTE

5. (a) Los t i p de comida clue el clirntr tlrsra y la cantitlad clue drsra de cada nna (b) USADO-POR

Conlo se puedr ohservar, la informaci6n va a p a r a r a tres tahlas. Crearitlo un for- mulario multi-tabla. se puede enviar la informaci6n correcta a1 c a m p y tabla deseatla en un solo paso. Sin rnticho rnis detalle, en la Figura 2 .7 se ve un ejernplo del Formulario Soliritud final. La Figura 2.8 nos rnurstra ejrrnplos de datos que sr in t roducw~ usantlo forrnularios.

Page 62: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SERVlClOS PARA CELEBRACIONES: U N EJEMPLO ... 4 5

1 Baskerville, Eugene

Nombre

1 120 Fir Lane Redmond 1 W A 1 98204 1 123-4560 1 Calle

I Smith. Carrie

I 1 I I I

1 25 Alpine Dr. I Everett. I wA

Ciudad

14 Elm

I ~royec# I Nombre 1 Fecha I #Invitados I Costo Est I Cant. Cargada I I I I lordan. Harry / 2 1/3/93 1 100 1 $600.00 1 $850.00 1

Estado

I 2 1 Smith. Carrie / 15/4/93 1 50 1 $325,00 1 $425.00 1

Winslow

1 3 1 Baskerville, Eugene

C P

98223 W A

I 4 / Smith. Carrie

Telefono

245-9366

I Proyed Nombre-Comida 1 Cantidad 1

I I I ponche I 150 1

I

I

I I I bistec

I 2 1 hamburguesa 1 75 I

mousse de chocolate

cerveza

125

75

I 3 1 croquetas de carne I 60 I

2

2

I 3 1 c6ctel de frutas I 50 I I 3 1 ensalada verde I 50 I

gelatina

pastel

I 3 1 Sprite I 60 I

50

50

I 4 ( jugo de arandanos I 50 I

4

4

I 4 1 costillas barbacoa 1 40 I

esparragos

patatas fritas

45

60

Page 63: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Obtener informacidn para la gestidn a partir de la base de datos

Ahora qur ya ( I ) sr han drfiniclo las talrlas qnr s r nrcrsitan cn la base d r datos. ( 2 ) s r han definido las intcwdacionrs r n t r r las t a l h (diagrams d r ta l~las y modrlo d r datos), (3) s r han crrado 1as talllas, y (4) sc han introdwido los datos en las tahlas. r s tan~os listos para nsar la base dr datos para ob t rnr r in formacih qne nos ayutlr a grstionar 10s Srrvicios para Crlrtrracionrs.

IJna consulta r s m a sinqrlr prrgunta qnr s r p w d r rrspondcr con la informaci6n tlr la 1)asr tlr datos. Sr i lustrar i un lrngnajr cpw p r r n ~ i t r a1 nsuario hacrr l r prrgnutas a un;r l w c d r datos nsando plantillas visualrs r n l r~gar d r hrdrnes en trxto. Tanto 10s l r n p a j e s visnalrs como 10s lrnguajrs tcxtualrs han vmanado dr la teoria dc 10s Irngnajrs rrlaciona- 1rs. Dr todos modos, rstos trnlas s r r i n adarados r n los capitnlos postrriores.

Caminemos a travGs tle nna ( w n s ~ ~ l t ; ~ simlde.

Consulta 1. Esta consulta nos cla una lista clr 10s nomhrrs d r todos 10s clientes jun- to con la* ciudadrs r n las c~uv vivrn. Ha! que h a c ~ r lo siguientr:

Srlrctionar File I IVrw I Qucry dr l mrnil principal ' . En r l cwadro d r dihlogo srleccionar archivo (Selrct File) que aparrcwh. d r l m n o ~ escoprr la tahla cjne es ta r i impliracla r n la cwnsnlta. Se srlrrriona CLIENTE.I)B2 y se pulsa OK. -\parec*eri rntoncbcs una plantilla d r consnlta en blanco qrlr contir- nc. todos 10s can11)os d r la tabla CLIENTE. St. p l s a r n las eajas de rhrqrwo (ch~ch- box) qnr. aparrcrn a1 lado d r 10s ( . a m p s Aorrrbrv y Ciudad. Esto significa tIue hemos srleccionado estob c a m p s j c1ur s r r i n por tanto 10s iinicos que aparecwin en la salida. La vrntana de consnlta luc i r i como la d r la Fignra 2.9(a).

S r p l b a en el hothn, . tle la lrarra r ip ida (Spetdbar) o se p d s a la tecla F8.

r a 2.9(b)).

I Q Esto prokoca que s r Z u t e la ronsulta y nos d a la tahla de respuesta (E'ipu-

I ak en Place Everett

-

l Archivo I Nurvo I Consl~lta (N. drl T.) Por uniformidad con lo c p = suponc rl SGBI) PARADOX. la rxtensiirn tlr loa archives, (lor son tabla.

de la base de datos, se ha drjatlo rn in$& ('DB' provivnr dr Data Base) (N. drl T.)

Page 64: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SERVICIOS PARA CELEBRACIONES: U N EJEMPLO ... 4 7

Sr ~ u w l e h a w r m a gran nuinero tlr consultas htileh.

Co~lsul ta 2. Suponpmos qur qurrrmos una list;^ de t o h 10s trahajos 1 1 1 s i r n i t i o qlle esthn 1)lanificaclos para el uirs de ahril tle 1093. 10s n o m l ~ r t ~ s tle 10s c.1irutc.s ! cuinto. in\ i t a h .sr eslwran en rada evento. SP t l e h prowtler dc la sigoirnte manrra:

1. Selrt*cionar File I IVew I @wry dr l mrnh principal. 2. Pursto clue la c o h m n a comprendr infornlacihn tlr la tallla I'ROYECTO. sel(v-

cionainos PROYECTO.DB del cwatlro d r diilogo tle selrccionar a r r h i ~ o ( S e l t ~ t Filr) ! pulsainos en OK. Dr nurvo s r v c r i m a plantilla tlr cwns~~lta cm I)lanc*o. p r o I W estc vaso s e r i para la tallla PRO) ECTO.

3. Sr p l s a en las cajas tle chequro cjne e s t i l ~ a1 laclo de 10s c a m p s \orrrbre. Fcchu e #111dndos .

4. Pulsanios dr nuta\o r n (*I cwnpo Fwhu J trc4ramos "../4/93". Los dos 11untos intlic.an cualquier fwha hlitla en ahril tlel 93. par lo clue cualquier pro!erto (*on f w h a cn a h i l a l ~ a r t v r h en la tabla tle rcbq~ursta . La cw~sul te se \ e t ~ ~ u i o r n la

6. Ciclrre ambas ventanas y drcida si sc. tluirrt, salvar la ronsulta o no. Si tloeremos salvarla clel)rmos pnlsar en Yes r introt lwir nn nomhrt. para la cwnsulta. T,urgo stb p ~ d s a (w OK. Si no qnrrrmos salvav la consults. l~ulsarrmos cn No.

Hasta ahora Ias consultas sblo han involucrado a una talda. V(wmos clue es c h w n - tal rnlazar 10s datos clr vilrias tablas clifwentes usando elrmcntos rjtmplo. Esto se clcmll~rs- t ra en la pr0xinii1 (wnsulta.

Page 65: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINIsTRACION DE BASES DE DATOS

Srlerrionar Filc I New I Query 111.1 r n r n i ~ l~rincipal . Stslerrionar PIIOyEC7'0.DB y pulsar en OK. No se prcwtwpe tpt , la tabla ISA4- DO POR i r srlec*cionari tit. otra manrra. Dr nurvo st. \ r r i la ~) lant i l la tlr con- snlta en hlanro para la tallla PIIOYECTO. --_a

y p l s a r t.11 OK. Se \erh a h t m nna plantilla r n 1)lanc.o para wniu l ta r anihai tahlas. Martsar las rajas cle rhetluro l)r6xiniai a lo5 c a m p . # l r~~~i tor los , 1orrlbr~-Cotni- rlu y Cart tidad.. . Pnlsar en rl twupo #Ilrritndos ) tcv.lrar -'>%5"'.

Sr drlw hacer ahora el enlaw w t r e l a i dos taldas. El enlace o l n w para cbsto r i t.1 ranqw P r o y d t . Para h a r r r cb\tr rn law s r 11ulia el 1 1 0 t h ile rrunicin de tahlai (Join Ta-

1)lr. ) , qnr tarn1)iPn al)arrcr en la 1)arr.a r i p i d a . Despubs d r pul iar rste 1 ) o t h i r dr lw pulsar r n r l rampo P r o p - # tle lab plantillas (trmplntes) tlr a ~ n l ~ a i tahlai PRO- YECTO 1 lJS4DO-POR. P4RADOX t w a n n irnico rlemcnto rjrmplo (rncrinpl~ e l r m ~ i i t ) j 1)onr Gstc en amhas plantilldi. La roniulta niulti-tahla i r pnrtle ahora coniplrtai con Gxito.

6. Pulsar en el 1)otOn y luego harerlo en rl tSarnpo Pro? PC# en cada una tle lab plantillaa d r l a i tahlai. A p a r r r e r i en rojo un E ( X I en a m l m rampos clut' intlira qne el enlace fue rxitoio. Esta twnsulta lucr ahora cwno la t p c w rnucstra r n la Figura Z. l l (a) .

7. Pulsar r n c1 b o t h d r ejrcutar coninlta (Kun Qnery), - , o prrsionar F8. La tahla tle respnesta i e mnrstra r n la Fignra 2.11(1)).

I Q

Page 66: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SERVlClOS PARA CELEBRACIONES: UN EJEMPLO ...

50,00 hamburger 50,00 ]ello 50,00 shortcak

100,00 cl-locolate mousse 100,OU root beer 1 0 0 ~ ~ s p a r i l i n g punch 100,00 steak

1. 1)c~criha (.on sus propias palahras la difertwvia entre una tallla y un camlw. 2. ,Chmo se represents nna tallla en ~1 diagrama tle un sistrrna Oe informac.iiru?

1. ITsando un rjemplo sent~illo de un sistrma tle negocios, hosqurjr un diagrama similar al tjnr s r ha utilizatlo en este capitnlo. Idrntifiqur las interrelaciones entre las tahlas c~~111o uno-a-uno, uno-a-ttinchos y mnchos-a-machos.

2. Usando 10s r t d t a d o s tle ( I)? crear las t a t h s corrrspondientrs. 3. Usantlo 10s resnltntlos de (%), wear fbrmdarios para la entrada tle datos y entre

a l g ~ ~ n o s tlatos co~no rjritlplo.

1. Si el usnario rstli familiarizatlo con, o tiene acceso a otro SGBI), use el ejemplo d r estr rapitulo para t-olnparar y contrastar 10s mbtodos tle creaci6n de tahlas, entrada tlr tlatos y formulaci6n dr consultas.

2. Encuentre algin nrgocio local ( o alterriativamente invkntese algnno) qne pro- porcione las lrasrs para desarrollar una pequeiia aplicaci6n d r I m e tlr datos. Ilisriie y realice d k h a aplicacibn.

Page 67: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS EN LAS ORGANIZACIONES

Compar t i r datos y bases de datos Compar t i r datos entre unidades funcionales Compar t i r datos entre diferentes niveles de

usuarios C o m ~ a r t i r datos entre diferentes localidades El papel de la base de datos

Planificacion estrategica de bases de datos La necesidad de ~ lan i f i car la base de datos El proyecto de planificacion de la base de

datos El ciclo de vida del desarrollo de la base de

datos (CVDBD) Bases de datos y gestion de contro l

Diseho de la base de datos Forrnacion del usuario Seguridad de la base de datos e integridad ~ e n d i m i e n t o del sistema de base dedatos

Riesgos y costos de las bases de datos Conflictos en las organizaciones Fracasos en el desakol lo de proyectos Mal funcionamiento del sistema Costes imprevistos Necesidad de un personal cualificado

Separar la representacion Iogica y fisica de 10s datos Arquitectura de tres-niveles de una base de

datos Uso de la arquitectura tres-niveles en este

l ibro Desarrol lo de la base de datos

Disetio de base de datos y el CVDS ' tradicional El ciclo de vida del desarrollo de la base de

datos (CVDBD) El caso de la Corporacion Zeus Planificacion preliminar Estudio de viabilidad Definicion de requisitos Disetio conceptual Implementacion Evaluacion y perfeccionamiento del Esquema

de base de datos Constru i r capacidades en el desarrollo de bases de

datos Resumen Preguntas de repaso Problemas y ejercicios Proyectos y cuestiones profesionales

Page 68: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS EN LAS ORGANIZACIONES 5 I

hase de datos. Una colecci6n dc tlatos intcrrelacio~latlos, co~n])artitlos ! eontrolados.

n tbytc capitulo ye w n t r a r i la atri~clhti en el eutoruo organizatiro, en el cual exlstrri las haws de datos en c h n o estas bases de datos se intcrrclacionan con 511 entorno. Ildemis se examinari el proceso tlr tlrsarrollo dt. un sistcma

eslwificw tle has? de datos. P a r a f'acilitar la c l i srusi6n daremoi una s iu~ple definiri6n tlt. lo clue ei u11a l ) a w (It, clatos. Una base d e clatos es una organizae1611 tle utia coleccihn de datos (pb se irlterrelacionan, 5e rcmparten ]v ye controlan. Despubs tlv 1tv.r t,zte capi tdo. el usua- rio d e l ~ r r i ser capaz de:

Eytodiar r6mo en una organ izac ih se cwmparten 10s datos entre diferrnte5 ii.ec~y futicionalcs, niveles cle clirecri6n y localizaciones geogrificas. Expl~car por qu6 j chmo se hare la pla11ificac.16n eytratigka de una l m e de ctatos cn una orpanizacii~n. Comprender la func16n de cwntrol de la administracihn de base tle clatos. Hacr r 10s tliapr-anias rxplirar los filndarntmtoi estcinderrs tlr 1'1 rs t ructr~ra d r m a base de datos, la arquitectura tres-niveles de ANSIISPARC. 1)esrrihir 10s pas05 en el &lo de bids del de5arrollo de la h a w de datos y sus in- terrelaciones.

Las 1~11neras ruatro sec.cioncs de este cap i tdo tratan aspertos relativos a la gvstlhn clr compartir lo3 datos en una organizaci6n, la plailifieanhn es t ra t ip ra tie 10s (lato,. la ges- ti6n drl control de 10s datos j lo5 riesgos y 10s costos tlr la5 11asrs tle datos. La segunda mitad dr l cap i tdo tient. clue ver esl)ecifiramente con 10s temas tle gestihn relatiros a1 dise- iio ! la realizaci6n de una h a w de tlatos. De modo clue se estucliarin la* preguntas de r6mo separar la estructura fisiva J 16glca de 10s datos y de rhmo desarrollar una base de datos a trariks de una metodologia tlel ciclo de drsdrrollo.

Dii1ri1)rridora Ir~ternncional dr Protlr~rlos (N. del 'l:).

Page 69: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Compartir datos y bases de datos

Quizis la tliferrncia nias significxtiva entre nn sistema Imat lo en archi\os !- un siste- ma de hasr de datos es que 10s datos sr t80int~arten. Esto requierr un cunl)io iniportantt~ ( ~ 1

la mentalitlad cle 10s usuarios. clue rstrin arostumbratlos a sentirsr "clneiios" cle lo5 clatos resultantes d e sus activitlatles coticf anas. Compartir 10s datos tam1)iin rrquiere 1111 ra111l)io importante en la f o r n ~ a en clue s r manejan y administr;~n 10s datos dentro tle la orpanizarii'm Esto st: clelw en p r t e a1 vohumrn tle clatos clue es necwsario organizar r integrar. Para a!~u- d a r a c~omprentlrr estc reto de ilsar una base cir datos para twnq~art i r tlatos. ec*hi.moslr 1111

vistazo m i s de wrca a la naturalrza dc 10s datos quc la organizacihn neresita cwmpartir. St' considerarin tres formas cle compartir 10s datos: (1) entre las ~~nitlaclcs funcionalrs: ( 2 ) rntre los nivelrs de dirrt:t:ihn; (3) entre localidadrs qur est in geogrifiramrnte dispersas.

i

Compartir datos entre unidades funcionales

El tPrniino corr~purtir dutos sugierr que personas r n Arras funcionalrs tlifrrrntes compar- tan u n grupo ro in in de datos. cacla (:rial para sus propias aplicacionrs. Si no se compar- tiesen 10s datos, la gente de Marketing putliera teller sus archivos de datos. 10s grupos tle adquisic:ihn 10s suyos, los grupos de t-ontaduria 10s suyos y asi sucesivamentr ( F i g - ra 3.l(a)). (:?(la grnpo se hrneficia s d o rlr sus propios datos.

Page 70: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS EN LAS ORGANIZACIONES 5 3

En wnt ras t r . r l rftlrto d r twml)inilr 10s datos r n nna 1)asr d r datos ~)rotlnt,r sint*rgiil: r s tlrrir. los tlatos coinl)inatlt~s t i rnrn m i s valor q u r la snina d e 10s datos en los art.liivos 111w s r l ) a r a ( l ( ~ Esto no shlo p t ' ~ x ~ i t e tjue cadi] grnpo contiuirt~ t t~nirndo at8t.t.so a sns tlatos. sino t ~ n r . 1)ujo liinitrs razonal)lt,s tle wnt ro l , tamhibn l ~ n t d a tenrr acst*cw) a 105 otros clatos (Fig11r;r 3. I(]))) . En rln entorno a 4 . el clcpartamento tlr Marl te t i~~g. 1101- t.jt.nq)lo. s r I)t~nt.fi- cia 1)twque t iwv aweso :I los tlatos tlr Atlquisicihn, r sprc ia ln~r~i te a la t*vnluati'~n 11r los t ~ r o t l n t ~ o s . lo qntS 10s pro\tvb tle informac:ihn invaluahlr para l;w t~arnpafias tlt. Markrting. E n conrl~ensaci~')n, Evaluatihn tle Prot lwtos gana el acwso a Marlteting y tluetle r e ~ ~ l i n i t ~ n - tarse s o l ~ r r la satisf'accihn t l t - los consnmidolw. A estr t b o n c q ~ t o tlr cwml)inilr los tlatos 1):u.a 1111 uso t.omiln se 1r llama inlegracicin d e dalos (dattr iuteprotiori).

Compartir datos entre diferentes niveles de usuarios

Dif'twntes nivt:les tle usuarios necesitan cwmpartir datos. Normalmente stx tlistingurn t r t ~ i ~ i v t h tlr usuarios: personal. ~nantlos intrrmeilios y rjrcwtivob. Estos n i \ ~ e l t ~ ~ twrrrsl)oii- tlen cw11 10s t r rs tl if(~rrntes t i l~os tle automatizacion d e 10s sistt-mas d r nrgocios clnr I ~ a n e\o- Iwionndo tlurantts las t r rs kltimns tlbcatlas: procesamicnto t h t r o n i c o do datos (PKI)) ". sistcmas d e informaricin cle gcstibn (MIS) ' y sistenias d c apoyo a la toma d c clecisiones (S'I'I))". E n Sl~l-agur (Sprague y Watson. 1989. p11-12) se ila una cltwripcibn tle bstos:

Los PED s r aplitmwn por pr imrra vez a 10s nivrles oprracionalrs mas 1)ajos tle la organizatihn para antomntizar rl tratlajo en papt.1. Sms cararteristiras 1)isiea.; i~~t*lu!.en:

f'oc.o d r atentibn r n r l ni\ 1.1 operative clel almat.enamlrnto. c1 p r o w i a n ~ ~ t ~ n t o ) el flujo tlr lo5 datoi: prowiamirnto rf'it*~rnte de lab transarcionri. . . informes rrshrnenvs para loi clirigentes.. .

F:l rnlotlut. tle 10s MIS c l r ~ a n r l lot^^ clr atencihn a l a i actividadei d r loi siitemas tlth inlormatihn. con 1111 Gnfasis adicional r n la integraci6n y planifitwiGn tle la lunci6n tle 10, i i s t en~a i (11. informarihu. En la p r i i r t l t ~ ~ , rsta, t*aravtvristicas de 10s MIS int*lu\e~l :

ARCHIVOS DE MARKETING

ARCHIVOS DE COMPRAS

ARCHIVOS DE CONTABILIDAD

Page 71: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

ARCHIVOS DE MARKETING

ARCHIVOS DE COMPRAS

ARCHIVOS DE CONTABILIDAD

fore en la informavihn orimtacla a 10s inandoi iiite~.~iic-clioi ... nna integracihn d r la i tartlai tle P E D por sus finirionc*i r n 10s negocioi. ti111.- (YIIIIO

MIS de protlnccihn, MIS cle marketing. MIS tle pcrional, rtr . : generacihn de encueita5 e inforin(.-, usualmente con nna 1)ase ele ( I ~ t o s . ..

t1ii STI) se eentra 4.11 un nitel aim m i i alto clentro (lea la organizaci611, con 6nfaiii en hi raracteristicas siguientc.s:

intrrbs wnt rado en la tlecisiOn, orientado a dirigentvs cir alto nivel y ejevutivos cpie toman deeisiones; bnfasis en la flexihiliciaci. la i~elal~tal)ilitlad p la r c y u e s t a rLpida .... a11oq.o a lor; estilos l)ersonales d r tonla de tlwisibn cle 10s c l i rigcmte~.

Las intrrrelaciones (iv rstos sistenlak a 10s dif'(~c:ntes nivrlrs tle tlirc.c.eibn pr ilustra en la Figrtra 3.2. Estos niveles de usrcarios y sistc~nas rrqriieren naturalmente ile tres t i p s tlif(~rc~n- tcs clr datos. El usuario en ( a 1 nivrl oprraeional nrcesita datos para 10s procesos tie t ransac~io- nes. Esto l~ridiera inrluir tlatos para las nuevas rucmtas o canibios en las cuentas existentcs. coinpras, pagos y otros. Estos clatos tlrtallados ~)otlrian luego rrsrimirsr para la inforinacibn qnr sr ncc.rsita en otros nivelrs mis altos. Por ejenlplo, el nivel de MIS podria ntilizar resii- menrs para intlicar cuLles reprrsmtantes de vrntas fueron 10s mas prodnc:tivos. o ru i lm fnc- ron 10s menos. Los ejecutivos en el nivel mis alto usan 10s sistrmas de apoyo a la drcisi6n para tlescubrir las tmclrncias a largo plaza clue se pueden aplicar a su propia corl)oracihn, asi romo para identificar el rntorno econhmico, social y politico m el qilr deben oprrar. Los STD le ayutlan a tornar decisiones, comer la tle construir una nuevil fal)rira, comenzar o clausurar una linra de produwibn y por el estilo. De rnodo qur un STD usa 10s resirnenrs de datos d r su propia compaiiia, asi como datos dernogrLfic:os, de mercado y otros de fnrntes externas.

Page 72: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS EN LAS ORGANIZACIONES

Ejecutivo 4 w lnforrnes Estrategicos

Consultas Analisis

lnformes de direccion por areas funcionales

Operativos - Transaciones Mantenimiento de archivos

Procesamiento de informes de control

Compartir datos entre diferentes localidades

I n a t*oml~a"a t20n d i k r m t r s srlcursales distri1)uidas sol)rt. una p n i r e a geogr&fit-a titw. datos inlportantes. Compartir vstos datos rs un 11rol)lenia signifirativo. E n la nlrtlitla qne la5 ramas tle ofirinas de 11)P I-rrt-en. el intercanhio d r tlatos entre las oficinas locales ! w t r e las ramas se \ a haticndo eada \ez lnis inadecuado. Rsto se ilustra ell la twnversaci611 siguiente.

"D6jume uer si entirndo bien lo que tu p i r i~sns , D i ~ l i . Con oficiilus regeldus por todo el glo- bo se 11(1 hnciendo c c ~ d a ucJz mcis y mcis d$cil obtriwr los irrj'ormes u tieinpo. "

"Exc~cto. Por c~horci d o s estiin enuiunclo S I L ~ d ( ~ t o s u Chicugo y imestru geilte 10s introdzire en el sisternu. p r o yn entonces es turde puru q u ~ potlornos toiirar ~ u t u bueila decisii)n PII 10s negocios. F:s mcis, lus oficinas internucionciles dese(111 u.wr 10s h t o s cllli iizisirro cloitcle c~stcjir y no teller qzie estrrr hnciendo copias extrus de 6stos."

"Creo ~ I L P es hora de que cor~siderernos un s i s t e i n ~ de bclse ( 1 ~ ( l ~ t o s distribziid(~. ES p o ~ i b l ~ , con las tecnologias cictucrles. conserrclr 10s dntos en lus ojicinus donde Qstos se ori- g inan y luego poder accederlos clesde cucllquier pur te dc.1 murztlo cia lineus de dutos. Podrinmos hucer consultas en Sidney ~ L P riseiz datos que estcirl en Hrziselus y Ruerros Aires. Esto seric~ sofisticuclo, pero p imso cpe podri(r~nos h u c ~ r l o (1 u i ~ costo efectivo."

Ijase tle tlatos [Jna hnse d e clatos c-entralizada (ceiltrulized dntcrbuse) es una base tlr tlatos quc3 ('stti centralizada. Una I~ase fisicanie~ite situada en un h i c w Ingar, t ~ m t r o l a d o por m a sola twmputadol a (k i p r a 3.3 1. dl. tlatos t p e esti La mayoria de las funvionrs 1)ara las clue se crean las bases de datos se lie\ a n a caho n ~ i s f iw dlllclltt' situada en ficilmente si la base de tldtos est i vmtralizada. Es tlecir, es m i s ficil a c t l ~ a l i ~ a r . h a t w ~nnd i ~ n ~ t * a loc.~l17ari611. twpias tle seguridad, t ~ m s u l t a r y controlar rl at-t.rso a una base de datos. si sa1)emoi exac-

tamentc tl6nde e s t i y t.uil es el software clue la controls. El tanlano de la base de datos y el cornputador s o l ~ r e el cual reside no tlenen relatihi1

con la base de tlatos donde e s t i c~nt ra l inen t r localizada. Una compafiia petluefia con 5u lrase de datos sol~rc. una computadora personal (PC) tiene una I~ase tle tlatob centralizada. de la r m m a forma clue una gran compafiia con muchos romputadorei, pero cuya base tie datos est i eomplet~mente cwntrolada por m a gran computadora (rrwinfrarne).

Page 73: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Usuario local

Usuario local

Usuario rernoto

Usuario local

Usuario local

Usuario rernoto

Sin twl)argo. c.n la rneditla en clue la t-oinpaiiia cret8r. tivnde a ahrir nueras ramas tle o h i n a s con sus propias nrresitladrs tl~s tlatos. lrtternntior~cil Product lhtr ibut ior t es un Imen ejt.nil)ltr. Una vez tjnc 1111' t~iiipezb a a l ~ r i r ofitinas por todo t.1 innndo. 10s dirwti \ os t.ntpexai-on a d;lrst% curnta qur uo podian c.ontar (*on todos 10s iiiforiiies a tirnipo e1al)ora- 110s por el sisterna (I(. h a w de datos t.tmtral dt. las ofirinas de Chicago. Adriiihs. 10s dirwti- vos locales tlrsealran twnservar los datos tle sn inter& tm sus propias Itases de tlatos tb i i

Illgar dt. en un sistema de h a w de datos u1)it:atlo a rniles dt. liilbnietros de distancia. 1-na \ ez t p e las ttm~ologias tle las t*oniunitwioties han ~nejoratlo. I D P ha twinenxatlo uii serio es tw tlio para iinplantar un sisteina de I ~ a s e de datos tlistril)rtitla.

*istt-u~a de base cle IJn sistema d e base dr clatos distribuitla (distribtrttd rlutcr buse systc~rrt) es t i tson- datos distri1)uirla. Cn pursto de varios sistrnias tle I~ases tle dates oprrantlo en 10s sitios lot8alt.s y tmwt-ta(los 1101. sistc~ma tle t)aw de linras dt: roniunicacihn (Figura 3.4). Ijna consulta o m a artualizac~i61i tleja tlr s r r un 1'1-0-

datos twnq) l~r~ to d r t w o simple twntrolado por 1111 iiniro 1u0dnlo de software, sino (jut: pasa a t*onvertirsr en \ ;i~.ios sistrmas t>n sitios varios t)l.ot:esos t:ooprrando rn t r r si y ejecutantlo en sitios tlikrentcs y cwntrolado por loc.;~les. twnrctatlw por ~nhdulos tle software iiitlt.l)ri~tlientt.s. Claro r s t i , para qut. un sistema tlr I m c s de datos tlis- 1inc.a.; d r c.o111~111i('at'ii)l1. trihuida fumcione con rCet:tivitlad. d r l ~ e n estar dispoiii1)lrs ttwiologias atlrtmadas tlr t.olnu-

iiiri~(ii)n y 10s SGBDs drl sistcma c l e h i ser rapaces dt. twlnuni ra~w en t r r si con atlecnadas interfacrs con las fac:ilidadrs dt. romnnit~acii~n.

Los sistrrnas d r hasrs de tlatos distril)~litlas son atractivos portjur hacen posihle la nt)i- cacihn local cle los tlatos: Los datos rrsitlirhn en 10s lugares tlonde st. necrsitan con inis frr- ruencia. Con la tlisptrnit~ilidad de potrntes software dc 1)ase d~ clatos t*lirnte/srrvitlor para r d r s 1oralt.s (L4N)" e incluso s o h e PCs, es razonahle crrar sisternas distrihuitlos r p e per- niitan a 10s usuarios locales manipular los clatos locales, mirntras qnr a1 mismo tiempo s r dim 10s iiiedios para clue usuarios no locales y clirigentrs lot~alizatlos wntralrnente puetlan arcae- tlrr a 10s rnisrnos datos srgiln lo recjniei-an sns newsitlades. Este enfoque rnejora la rclacihn

" 1)rl i i#\ 1,ocrrl Arcw \etrrork (N. drl 'I.).

Page 74: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS EN LAS ORGANIZACIONES 5 7

LINEA DE COMUNICACION I---

------'

BASE DE DATOS

BASEDE DATOS

El papel de la base de datos

LINEA DE COMUNICACION

COMPUTADOR

(:omo 11i1 tlrnlostratlo este anhlisis. lograr rl trl)jrtivo t k t.on111artir los clatos 1,s c*onq)lej~). (:on rsto ('11 ~nente. tlrdiqnbnloslr una s tyn lda rrvisi6n a la tlrfiniciiln cle una Ilasv de tlat~w I-fwtira . ( h n o !-a sr ha t l i c h ) . lula 1)aw tle clatos es uria c.olrc*cii~n tlr datos i n t c ~ r e l a c % ~ n i ~ - tlos. cwnl~;~i-tidos y cwntrolados. Tanto el t*t~nipartir como el controlirr 10s datos se fwilita nicdiantr lo intrgrcici611. I)r rsttL moclo. esta clrfinici6n cwntirne tres vritt.rios lbara tlecir t - ~ ~ i n c l o nna 11asr de tlatos P S efwtiva.

Primero. los tlatos tlrllen (.star cotnpartidos. Como sr ha visto. 10s tlatos 111reden rs tar cwmpa~-titlos r n t r r ~ ~ n i t l a t l t . ~ funcionalrs. cmtw ni \ r l rs de dir twiim ! entre (lifrrcntc~h

, .. ~tnidi~t l rh gvc1graf1c.a~.

Scytntlo. rl nso tle los datos c l c h estar controlatlo. El rontrol sc 11rol)orriona 1)or 1111

sistc~n~a tle grstihn d r I)ascx (lc clatos (SGHI)) cn!.as fatilitladrs son aclniinistradas 1101. 1111

1~rrsm1;d tple sr le conow (.onlo atlministradortxs de I m e s tle clatos. En el Ca1)itnlo 1 s r hun drstacatlo las facilidatles de los SGRl) y sv volverin a t ra ta r mlis rxtet~sainrntc~ 1.n el Calli- tulo 13. Las fnnciones tlr los administrat lo~w d r l m e s tle datos serL11 diseutitlas n ~ i s tartle en rs t r capitnlo y dc nnc.vo en el Capi tdo 11.

Trrrrro. Iok tli~tos sc integi-an cle una forma lhgica. de modo clue se eliininrn rcvIi111- daiwias. cine se resnelvan las am1)igiiedarles r n la definici6n y qnts sr mantenga la c*onsis- tmcia interna rntre 10s inismos. La estructnra l6gica de la in tegra i '~n rs lo q u r hare qnv 1.1 cw~npai-tir j twnttwlar los datos pueda ser prhrtieo w a n d o se t r a h j a a gran escala. Sin la intc,grac*ihn, srria e~trematlanwntc dificil administrar y mantrnrr la c*onsistenria rntrts grandcs rantidades d r archivos difrrentrs. Las t6cnic.a~ para lograr la intrgrac.iOn metlian- te la estructurari6n l6gira d r 10s datos sr presentar in m las Partes I1 y 111.

- \ COMPUTADOR COMPUTADOR - BASEDE DATOS

Page 75: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Planificaci6n estrattgica de bases de datos

La necesidad de planificar la base de datos

I,a ~~lanific~acii'm tlr Lina l ~ s r dv tlatos rstii cwn(1icionacIa 1)or las nrcrs~tladvs tlr informa- cihn tlr la organizacihn, qnr a $11 vrz r s t in tlrtt~rn~irlad;ls 1""' r1 1)laii d r nrgorios (It, la c o n - paliia. tal ! wrno s r ilustra rn la Fignra 3.5. Por rjrinl)lo, la c.orl~oraciOn for~nula SII 1)lan rstratbgico tlr nrgocios para lo- prhximos r i n w aiios. C ~ n i p l ~ r cwn 10s ohjr t i \oi d r rctr plan clq)rndt, tlv la disponi1)ilidad tlr cic,rto tilw (It. inl'ormaci6n clur ha sitlo itlrntific.;~tla. La i n f o r m a c ~ h 410 sr p r d r o1)trnrr si lob tlatos. tal ) como scb idrntiliraron rn la 11l;rnifi- cacihn tlv la base tlr datos. rstiin disponi1)lw. Fkto detrrmina la nrcrsidatl d r pro!rc8tos tlr drsarrollo q u r c r r rn n u r t a s 11asc.s d r datos. o rnrjorc.11 o intrgrrn haws d r clatos r\istrntt.s.

La planificacihn tle las I m r s d r datos titmr trnt;ljas signil'iratixas. Jamrs ( ~ 1 1 I mt)aug11. 198.5.1). 6) cita \aria5 vmtajai d r un plan iormal d r rrcbuiws d r inforniacih: bstas inclii)rn:

E x t ~ r r s a la romprrnsiihn qiir t i rnrn lus tlirigcntrs d r los rrcwrsos informati\ 0s. . . 1dc.ntifica y jnstifica los rcyuisitos d r rrc2ursos ... ayutla a asrgnrar q u r 103

rrcursos vstin disponil) l r~. . . Idcntifira las oportunidades para una rfrrtiva gt:stihn d r los rrcursos. inrluyrntlo la c:olal)oraciim r n t r r los d rpar tan~rn tos y divisionrs tlr la organizaciG11.. . Esprcifica los planrs d r acrihn para alcanzar 10s o1,jrtivos ... Purtlt- ... srnsillilizar y srrvir tle gran rstimulo d r cbnlo dirigir a 10s rl~iplratlos r n todos 10s nivrlrs. pa ra q u r r rn t r rn sus rsinrrzos r n aunlc,ntar sn produrtividatl !- hawrlos srntir q n r son parttl grnuina tlr la r l n p r t w .

El proyeeto de planifieaei6n de la base de datos

La planifiraeicin estratbgica de la I m r d r datos rn~pi rza por la dirrrtiva d r mayor raligo. Ellos asignan los rrcursos r identifican el personal q u r l)articil~arL r n r l pro!-rrto. Con las cwnisionrs tlr la d i r e c r i h , los mirnlhros d r lo$ rquipos t i rnrn los rcrursos nrwsarios para llevar a ( : a h con bxito u n proyrc:to.

El e q u i p dr l proyecto dehr t rn r r una amplia rxprrienria en s is t r~nas tlr inlorma- ci6n y r n otras Arras funcionalcs d r la conq)aiiia. Martin (1983) rcvwmirnda un grnpo d r cnatro mienlhros a tirmpo conipl(:to, (10s de sistrmas de inforn~ac.iOn y dos q u r rstti.n fan~i - liarizados con la mayoria de las i rcas d r la cwmpaiiia. Totlos los mirml~ros del r c p i l ~ o drlwn ser eml~lrados cualificados y r a p e r s , pursto q u r $11 trabajo t r n d r i 1111 gran i m p ( . -

NECESIDADES DE INFORMACION

PLAN DE LA BASE DE DATOS t

PROYECTOS DE DESARROLLO

DE BASES DE

Page 76: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS EN LAS ORGANIZACIONES 5 9

Ntv.t.sitlatlrs tlr inforn~at ihn d r las h r t m funtionalrs. I%rt*rsitlatlt~s tlr infol-lnatibn d r 10s difrrrlltrs nivrlrs tlr t l irtwibn. hrt*rsitlatlrs tlc inforlnat*ihn tlr las 1ot.alitlatlrs gtwgrif'it.as. Un modrlo (11. (.stas nrwsitladrs d r informacibn. Vol13mrnrs antiripados tlr tlatos por 1ot.alidad gtvyrAfiva. l)ro!rrtatlo para cl pr- riodo hajo rstutlio. 1-11 rstin~atlo I~rtxliminar tlr 1 0 h costos aso(*iatlt,s a las actualixationrh t1t.l histrnla. R(.con~rndac.ionrs 11ai-a un tlcsarrollo tlrtallatl(~ tlr las nucvas o ~nrjoratlah I~asos tlt: datos junto con sns plants.

Los usuarlos f~nales rnb expermentados ~dent~fican 10s procesos, las activ~dades

/ El equlpo del proyecto sintetna el rnodelo del negocio y la estructura de ~nforrnacion

Fuente: James Martin, MANAGING THE DATA BASE ENVIRONMENT, @ 1983, p. 658. Adaptado con permiso de Prentice Hall. Englewood Cliffs, NJ.

Page 77: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

El c.cliiil)o tlrl p r o y ~ t o no ( l r h liacw un modclo tlr i i~forniat ihr~ tlrtallado r n rstc. idan. Los niotlrlos tl(-tdlados s r d t h i tlrsarrollar c>n 10s proyrctos snl~sigr~irntrs (1v disciio tlr la h s r d r tlatos. En Ingar d r rsto. tal ! conlo Janira rlrnota. r l cqnil)o d r l 1)royrt-to d ( h - ria itlcntifirar los rlrnirntos t.stahlr.; tlr la t~strnt.tnra d r informacihn d r la orgarl izat ih . c h w n t o s ( 1 1 ~ no se a l t r r rn (-on t.an111ios organizacionalrs.. Dr atwrrdo (*on Martin. a1 final d r los sris nirsrs. rl modvlo d r informarihn tlrllr rs tar a1 mrnos ril nn 90 por 100 finaliza- (lo. Esto implira tint' la nlayoria (11' 10s rIr111rntos ~)r inr i l )alrs t rndrian ([llr h a h i - sitlo idell- tific*ntlos. por lo q w ('1 n ~ t ~ t l r l o t r n d r i un pran valor para una ~)lanific.acihn rstratbgira.

El ciclo de vida del desarrollo de la base de datos (CVDBD)

Proyecto de

base de datos

Sisterna de base de datos

base de datos

Plan de la base de datos

desarrollo de una

Sisterna de Sisterna de base de datos base de datos

Page 78: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)
Page 79: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

6 1 DISENO Y ADMINISTRACION DE BASES DE DATOS

ida. l'na tlrl'i~~itihn tlr Iina 11o1.cihn rr-tringida clr la hast* tit, tlatoi: AREA DE USUARIO I AREA DE USUARIO 2 AREA DE USUARIO 3

t a ~ i ~ l ) i j ~ i Ila~~intla \ii ta tlr tlato-. I I I e q u e n l a , I na tl~.l'inic.ihn ill* I21 t~.trllt~tllrii I O p a

DISENO

tlc la ])a-r tlr clatos DE VISTAS 1 1

conlplcta.

t DISENADOR

A DISENADOR

ESQUEMA DE INTEGRACION

DISENADOR

Vista 3 de la base de datos

BASE DE DATOS

naldrs 1)ar'l tlrfinir (1116 g r q w 1)ur(le1i ,~t.cwlrr a quC tlatos. El 4K1) drtw \ I T t,al)az tlr nrp)ci,ir 111s wnflic~tos clue purtlan s u i y r .

Iln t~p111o de mienil)ros tb(micwntwtr orwntados ths r1 (pie drlw Ilr~ a r c*al)o r l diitl- iio fisitw: 1)tm lo tanto. tlelwn ronocw twn preciiibn h n o (4 SGBD m a w l a rl a c w w a 10s datos \ cxi11.s mbttitlos de acceio s r r i ~ n mas eficientei. Su oI)jrti\o rs o l ~ t i m ~ ~ a r 1,1 c w m l i nacihn total ( 1 ~ h a r t l ~ a r r . softwar(* rosto de loi recurios hnmanos. Itlralmrntr tlrlwn Iniscar c4mo minimizar el tiernl~o d r rcipuesta del siitema d r n t i o d r l a i rrhtr~t.cionrs tlr lo+ cwstoi d r hardwarr > software.

El diirfio y la nnplementac~ihn inirial tle la I ~ a s r de datoi drlw rs tar seguitltr cle un continno mantrnimic~nto de la estruc*tnrd 16gica y fisica de la ha i r d r datos. (:a~nl)ios en lo- r t ~ p i s i t o s de 10s nrgocios. 1.n las rapac~tliidrs tlr softuare y hardware ? r n 10s \ o l i n n r n ~ s (I(, procrsanntmto protluren cam1)ioi tanto tan el di5rr7o fisico como lbgiro de la h a i r ilr dato5.

El \RD o c y a un lngar estratbgicw r n la dt~fini t~~irn y esta1)lecirniento d r loi r i t i n d a - re i d r 1,i wmpaiiia. Pnesto clue el disrfio dt. la h a w de datos se controla c.rntralmrntr. r l 2KD p ~ i r d r tlrfinir e5tandares sol)re chmo sr d d w n poner los non11)rrs: iohre los formatos de los datos; s o h r 10s formatos tle las pantallas, d c lo5 informrs y de los archivoi. Esto simpl~fira la doc.nmrntaci6n y los rrquisitos de rntrenamiento > facilita la in teprac ih de loi sistrmas drn t ro de la compaiiia.

Las derisiones tle disrfio sr tloc.umrntan en 10s diccionarios d r tlatos. El ABD (.on- trola el rontenido de este dwcionario de datos y registra en Ctstr twmo mrtadatos 10s nom- hrrs de 10s elementos de drrtos, 10s arrhivos, las pantallas, las formas de lob informes y otroi. Como se sefiali, en el Cal~itnlo 1.10s metadatos en el diccionario de datos purden ser ronsultados y manipulados. Sin emlm-go, su maniputacicin la controla con mucho (widado el U D , puesto que 10s datos de este diccionar~o son vitates para el funrionamirnto adc- cnado del sisterna de hase de datos como un todo.

Page 80: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS EN LAS ORGANIZACIONES

Formacih del usuario

Seguridad e integridad de 10s datos

El c80nc.el)to tlv c.onil~inar 10s datos de u n ; ~ organizaiicin en 1111 lngar t.onli~n at*resil)le a totlt~s tiene sns vmtajas ! sns desventajas. La vtwtaja ohvia tlr cwnil~artir 10s tlatos ~)ncvle tlrsl~lazarst. 1)or la tlrs\entaja tle ([tte 10s tlatos se ~ ~ ~ t r t l r n trastocar o tlaiiar 1)or wnarios t p e 110 t v ~ ~ y n u ~ ~ w e s l ~ ) ~ ~ ~ l ~ i l i t l a t l ( I autoridad s o l ~ r e 10s mismos.

El 1BI) asigna la 1)ropietlatl tlr 111s tlatos en nna \ista 1 1 t b la [lase tle tlatos a1 g r u l ~ o t111e lo originh. El gr1111o propir.tario p~letle entoncw o t o r p r el a t w s o a los tlatos cn la vista a otros mienil)i,~)s tlentro (11. la organizacihn. Estr aweso se I I I I I ~ ~ . restringir a lwrviones tlr los tlatos. ptmnitir atbtwm st510 para r r rupera r i im ( r r t r i w e only arress). o lwrnlitir awe- so y at*tualizacihn. I,a inf t~r~nacibn clue tirut. quth ver con los dert~t~lios tle aweso a los tl;rtos I+ mantrnitla por el AKI) en el tl ic.t~io~~ario tle ~ la tos .

El a(-ceso a la hasr 11e tlatos es finalmente twntrolatlo pnr un metm~ismo de etrntrasr- iias ( p m s ~ c o r d ) . nn nsnario clue inttmtv tener a t w s o a1 sistt~ma tlelw dar una wiltraseha clue """i valitlatla 1""' 1.1 "stenla. El sistc~ni:~ Ie ~ ~ e r n ~ i t e a1 11~11ario valitlado shlo los tlere- cahos tle a t w s o tlllr e s t h rvgistratlos en el tlic*tionario tle tlatos. El SGLII) controls el awe- so. a la \ez t111t~ ~nantietie infor~nat ihn estatlistira s o l ~ r e los datos at~t~t~tlitlos e introtlutitlo.: 1"" el usuario. El AH11 es el i - ~ ~ s ~ ~ t ~ ~ i s a l ) l e tle la asigii;~t.ih~~ tle contrast~iias y tlel control t l t t

los ~~rivi legios dv aweso. I)r rsta n ianera~ el ABU r c d n t ~ grandeniente ('1 riwgo (Ie clue 1111

grnpo tlaiie 10s tlatos (It. otro. La iiitegritiad de 10s clatos titwc qlle ver taon el pro1)lt:nia tlr mantrner la precisibn !

cwnsistenci;l tlr los \ a1ort.s tlr los datos. Los ni twnis~nos tlr s r p r i d a d . tales conlo las twn- traseiias y las vistas tlr los tlatos, ~ ~ r o t e g e n la inttyridad d r los datos. .-idicional~nrnte se putx- tltw tnantener en (4 diwionario dt: tlatos rrstrit*tiones sohrr los valores. Desgrac.iatlamente. la tlef'inicibn tle las restric*t:ionrs de 10s valores y garcrntizar las nlismas es m a tle las &was tlr inayor de1)ilitlad de los sistc.inas avtuales d r grstihn d r I m e s d r datos. St, pnetlen identi- l'irar nlwhas 111is rcstricciones. tlllr stb pnetlen drfinir s o h los SGBD. Por lo tanto. p ~ ~ r t l r ser nc~:es;~rio h a w r Inwgramas t111t' wrifiq11t:n las restricciones para los nnevos datos t[ntL st. introdnzc.an. Tal t i p de progranias se Ir pnrtlt~ encargar razonablenirntt~ a1 equipo tlr ABD.

Los ~net~anismos d r t-opias de seguriclatl y restanraci6n soportatlos por r l SGBD t l r l~en preservar 10s tlatos tlt. t.naltpier fallo tlrl sistt~tna. Sin emhargo, el ABD tlelw clel'inir prtrt~rtlimientos para re rupr ra r datos perdidos. Los usuarios t l e h n saber quk hacer ante una caitla del sistema, para tener qne reintroducir sblo 10s tlatos necesarios.

Rendimiento del sistema de base de datos

Un sistema de I m e d r datos a1 clue accedan simultaneamente muchos usuarios puctle res- ponder a veces muy lentaintmte tlebido a clue Ins problemas fisicos asociatlos a 10s i~suarios

Page 81: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Riesgos y eostos de las bases de datos

Conflictos en las organizaciones

Fracasos en el desarrollo de proyectos Los ~ m n t ~ t o i a ~Irsarrol lar r n tin sistnna tlr 11asv (It. tlatos purtlr frac;l.ar por v,lrii~s razo- nrs. E n oc~isiont~s son los tlu-iprntrs 10s ttur no r s t i n r n p r i m t ~ lngar cwn\ rncidos drl kdlor tlrl sistrma tlr h a w tlc tlatos. I n proyrrto (It ' ha i r d r tlatos q n r partbzt-a mu! largo putliera scr t.anc*rlado.

lrn l~roywto 1nuy grantlr rii nlrancr purdr s r r imposihlc tit. twinplrtarse en un tiempo rwzonaldt~. Eli rste caso, loi dirigrntt~s 1 lo5 ~isnarios comirnzan a tltwnt.antarse y el proyecto fravdsd. En rstr txso nna riirjor rstratrgia potlria w r t l i v d ~ r rl pro)rcato d r h t x t k datos t.11 \nrio5 p r o ~ w t o s para drsarrollar varias hairs d r datos o una I)aar tlr datos m varias rtapas.

F i n a l n l t ~ ~ t r . t lwant r rl transtwrso tlrl tlesarrotlo dr l IIr o!t.cato, t.1 11vrsonal c l a w pne- d r ahantlonar inc.sl~t.r:~tlamrntr la rompi i ia . Si no purtlr r n c o n t r , ~ ~ v prrsonal para rwnl- plazarlo, rntonvrs rl 11ro~t.cto l d i r r a no t r rminarir roil Lxito.

Malfuncionamiento del sistema 1

Cuantlo cl sistrina d r c O n q ~ ~ t o no (.st6 ~ q ~ r r a t i v t ~ . todos 10s usnarios t l i r r t~ ;~n i rn te irnplica- 1 dos r n t.1 i ~ t ~ ~ s o a la haw tlr datos dt.1)c.n r spr ra r a q u r rl sistrrna vurlva a rs tar tle nnrvo I en funcionamirnto. Esto p u r d r implirar 1111i1 larga espera. Ademis. si el sistema o rl soft- I

warp de aplicacihn falla, ~ s t o pndiera ot-nsionar nn daiio permanrnte en la base d r datos. I I

P o r lo tanto, es muy importantt. w a h i a r cuidadosamrntr totlo (-1 softwarr (pie tenga nn I

rfecto dirrr to s o h r la h a w d r datos para rs tar srguros que rstG totlo lo lihrr d r r r ro r r s q n r 1

Page 82: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS EN LAS ORGANIZACIONES 65

Costes imprevistos

Necesidad de personal cualificado ],a funrihn dtt atln~i~ii$trac-iO~i 111s la Ins r d r ddtos retpiei-e dt' ~ )c rsona l cualificado clue sea cal1.17 tlr t*oordinar las nrc.rsitladvs t l t a lo$ d ~ f r r r n t e s grupos, tit. diicbliar las vistas, integrar las \ lstai r n nn h i t w ostlnrma. esta1)lcct.r 10s p ro( - r th i rn t t , s (pie rcstaurcn 10s d a t m j afi- liar la vstructura fisira tlc la hasr tle datos para c11)tene~ criterios d r rrndimirnto accpta- I)les. Esta cwml~inat.ihn tle 1ial)ilitlatlrs reprrsrnta 1111 sol)rccosto hlnnano r n la atlop-ihn ! uso tlr nna h a w tic* tlatos. Es dwir , una vez que las func-iones tie athnin1~traci6n tle la base tit. tlatos h a j a n sitlo c.st,~l~lrt~itlas. el t m t o tlrl grnpo d r 4BD rs un gasto Iwrrnnr.

Ha! un rrrsgo atlitwmal involnt~at lo en la itlentificacicin drl I~ersonal para la \HI). ) a (pie si no ir nlcuentra gcnte con las tlestrezas rcqnrridas, la fl~nc*iOn tle la 1BD pwt l r no rralizarsc atlecnatlamentc. Esto l~otlria provot-ar problenias i~gnif icatnos j ~cutlwra ~nc.luso implit.ar el fracaso tle la iniplen~ent~~citin tle una h e d r tlatos. Drhitlo al v alor cri- tic.() de un sisten~a d r base tle tlatob. se delje tener muvho t*uid,~do en escogrr. para la atlnii- n1straci6n de 1)esc.s tlr datos, shlo a lwrional cualificatlo.

Separar la representacitin 16gica y fisica de 10s datos E n la prinirra mitad dv w t r cq)it111o hrmos tenido que ver con los asprctos tlr p t i h de alto nivel relarionados con t.oni11artir 10s tlatos, I)lanifiraci6n estratkgica j t-ontrol tle 10s datos.

Page 83: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

arquitectura d r trcs-ni\eles. Estr1wt11r.a t 4 n t l a r d r lmsc tit. t l i ~ t c ~ s twnsistentc. cbu lo* nit(-lrs cwncrptual. ~.\tt.rno intrrno.

~ i i \ el interno. h i \ el rstrnc.tnral tlc la I~as r d r datos c1llr clrfine la kista fisicn t i t s la 11ase d r datos.

Arquitectura de tres-niveles de una base de datos

La tlistinti'm e n t w la r rp r r s rn ta t i i~n 1bgit.a ! fisit.a tlc 10s datos f'ut. ~ w w ~ ~ o c * i t l a ol'icial111v11- t r en 1978. tmantlo el twuiti. _iSSI/SJ'iKC I I ~ ~ ~ I I I S O nn rsql~rlr.to gc.neralixatlo 1)al.a sistr- rims d r 1)asc.s tlr tlatos (Tsi thi tz is I(lng. 1978). Estr esquc.lt~tt~ Ilrinda una a rqu i t r r tu ra d e tres-niveles; 10s t ~ w nivtbles tlr al)strat.cibn 1)alo 10s ~ I I V pwlria \ - r rsr una 1 ~ s ~ d r tlatos. Los t r r s nirr l rs son t.1 twnt.t.pt~~al. el t.stcSrno !- r l iutrrno.

El nivel eonccptual t,s r l nivrl t.11 t.1 qn(> s r hat*v el tlisc%o t.t~nt'el~tual (It, la 1)asr de clatos. El diwiio twlt.q~l,tual d p 111 h s e cle dutos in1p1it.a (.I anilisis d r I;IS nrcwidatles dt. inf'orrnati'm tlr los usuarios y la dt4'inic%n de las t.1asc.s de tlatos t j ~ ( ~ se nrrrsitan para satisfacw estas nrcwidat1t.s. El rrsultado dcl disriio twncq)tnal PS el espei i tu ~ o i ~ c ~ p i d , una sinq)lt~ y I0gic.a dest*ril)tiOn de totlos 10s c:lcmentt~s tlr 10s tlatos y sns intrrrc.lacionrs.

El nivel ex te rno t-ousistt, dv las vistas qutb titwr r l ~lsnario sol)w la hast. dv clatos. Catla gr111)o t k nsuarios tcwtlrh SLI prol)ia vista d r la hasr dl: datos. Catla m a de estas \-i,i- tas nos tla nna tlesc~il)c-itin tlv 11,s t,lrnwntos (11, 10s tlatos sns intc~rrrlat~ionrs orirntatlas al 11s11ario !- dt. las cualrs s r caompont~ la ~ i r t a . Esta sc p ~ i e d e d r r i l a r dirwtamrntr dr l rsque- ma concq) t~ la l . La t*olrc.cibn dt. todas las \ h a s clr usuario f o r n ~ a t.1 nivel esterno.

El n i v d i n t e r t ~ o nos da la vista fisicba tlr la base tle datos -10s tlispositi\os tlr cliscw. las direc:c*ionw fisi13as. 10s intlicw, 10s pnntrros p demis-. Estr nivc.1 es responsa1)ilidad de 10s tlisrfiatlort~s tle la h e tlr tlatos fisit-a, cjuic.ncs clrvidrn t.ui11.s tlispositivos fisicws run- t e n d r i n 10s tlatos? c.uiles ~ n ~ t o t l o s tlr a t w s o st, m a r i n para r t v q , c r a r y actualizar 11)s datos t - ~ ~ i l e s n~editlas sr tomarin para m a n t m r r o mrjorar ( a 1 r ~ w l i n ~ i e n t o clr la base de dato.. Ningi~n usnario tirnv tjne ver c80n rsta vista en caliclad dc usuario.

Coma seiialan Eln~asr i y Na\athr (1985)). la irnplemmtac~ihn de estos ires nivelrs reqnirrr quc' (4 SGLII) haga t*orrt.sl)ontler I - a ~ l a nivrl con el otro (Figura 3.9). Para e n t r n t l t ~ esto. rrt*ortlt.~nos tpr la I w e dtx tlatos evistr r n rt:alit\atl s61o 21 nivel interno. Para rrprr- sentar 10s tlatos en lo$ nivrlrs cwntq)t l~al y extrrno t ld usnario. r l sisterna tlrbe s r r capaz tlr trasladar las dircwit~nrs fisicas y apuntadorrs c:n sus rorrrspondientes nornhres l6gicos r i n t r r r e l a c h ~ r s . Esta traduc:ciOn talnl,iPn delw t r n r r lugar en el sentido invcrso -del 10gic:o al fisico-. El prccio tle este protwl) tlr traduwihn es un sohrecosto mayor. El heneficio es la independencia tle la reprrsentacibn 10gic.a tlr los tlatos d e su represrntacibn fisica.

Uso de la arquitectura tres-niveles en este libro

En rs t t lihro nos dedicarcmos con alguna an~pli tud a la arquitrctura d e tres nivelrs ANSIISP.4RC. E n este capitulo y en las Pirrtcs I1 v IJI (Capitulos t l r l4 a1 9) se estutliarin 10s ni\elrs wnreptual y externo y r h o se pueclm tlesarrollar 6stos conlo rsquemas que satisfa-

Page 84: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS EN LAS ORGANIZACIONES

USUARIOS FINALES LA BASE DE DATOS

VISTA 1 DEL 1 USUARIO

VlSTA

USUARIO

0 0 0

VISTA

USUARIO

NlVEL EXTERNO

ciclo d e vida tlel

CORRESPONDENCIA

NlVEL CONCEPTUAL

CORRESPONDENCIA

NlVEL INTERNO

gall las nrwsidatles tlr los nsuarios. E n la ineditla clue r n rstc rapitulo se revisr r l rirlo tle vitla drl tlesarrollo d r la hasr clr datos. sta w r i r0n1o las tistas clr usuario dr l nirel rxtrrno p r t l e n tlrsarrollarsr r intcgrarse en nn h i r o nivrl c*onrcptual para la b;lse tle tlatos romplrta.

A1 estudiar 10s niveles cwnrcp t~~a l !. rxtrrno en la Part? I1 sr e x a ~ r ~ i r ~ a r i la rnrtotlolo- gia tlr disriio ronc:rptual y s r mostrar i r6ni1) 1111 c l i sriio creado ron rsta ~nrtodologia purtlr realizarw cwn 10s sistrmas de gestiim romrrcialrs de haws de datos (Figura 3.10). Estos sis- t r ~ ~ ~ a s comrrciales (1,as;rtlos en 10s moddos relarional. jrrhrqiiico y en rtxl) son en si mis- n ~ o s parte d r l ramino entrr ~1 nivel p r a m r n t e fisico y el nivrl pnranlente 1hgic.o. Ellos rqwrsrn tan r l rstaclo actual d r l artt: con resprcto a las implrmrntacionrs de 10s SGBD.

E n r l C;~pitulo 10 s r estudiar i rl nivel intrrno. Nurstro examen clr rs t r nivrl incluye la clcscriprihn dl: las estrurturas fisiras c p r sc. requieren para manipiilar 10s datos (it. un 1noc1o rfirientt.. Tamhiin s r vrrh r0m0 estas rs t rur turas fisiras l)urclt:n reflrjar Ins rstliir- mas tlrfinidos en los nivclrs roncrptiial y externo.

Desarrollo de la base de datos desarrollo d e la hase cie datos (CVDBD). I!n Esta sewihn s r rriitl.ari en el procwlimiento de tlrsarrollo del esqnema c*oncrptual d e la ~ m ~ t : r s o para el tlis&o. h a w de tlatos, identificantlo 10s tlatos clue se incluirin rri la hase de tlatos y drsarrollando la im~~lrmrntaricin y rl 10s programas para artnalizar p prowsar 10s datos. Estr prorrso se denomina ciclo cle mantr~iiii~irrito d r un vida del clesarrollo d e la base d e datos (CVDBD). Comenzarrmos analizando 10s cit*los sistm~;i d r I ~ a w ck tlatos. tle vicla tratlirionales para el drsarrollo clr sistrnlas (CVDS).

Page 85: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

ciclo tle vitla del tlrsarrollo d e sistrnlaa (CVDS). Un prcweso p a r a t ~ l deiarrollo tle sistemas.

enfoque orientado a funcionra. Fer a un ziitrma clcsde la ~ w r s p c c t i ~ a cle las fnnc.iones cjue t1el)c. rrali7ar.

enfoque orientado a datos. Centra la atcncibu en el anklisi5 tle los datos utilizados p r lab lunciones.

I MODEL0

REIACIONAL REIACIONAL

I r

Diseiio de la base de datos y el CVDS traditional

Nnrmalmente, los teatos tle anilisis cle sistemas c1escril)cm un procedimiento para el elesa- rrollo clr sistema dmominatlo ciclo d e vida dcl desarrollo tlc sistcmas (CVDS). Estr pro- cetliniic*nto consistc, til~ic*a~nente de pasos tales cwlno el c.stnclio de vial~ilidatl, tlefinici6n cle recpisitos. tliseiio (id sistema, programaciim y llrueha, asi como revisihn y niantenimiento.

Snrge nna pregunta ~ i a t n r a l : ~ C h n ~ o encajar el clisriio tle base tlr clatos con todo esto? Meyrr (1988) argumenta qnc para inerementar sn efectividatl. 10s tlesarrolladorrs de sis- temas necrsitan e rhar una rniracla tle cerca a los 1)resupuestos clel CVDS traclic.ional. El CVDS h a w iinfasis en la iilrntificacih de las funciones tle negocios y en el tlrsarrollo tlr 10s sistemas tlr al1liraci6n para llevar a cabo wtas fi1nc.ioties. Corno M q e r tlrstara, 10s &to- tlos tlel CVDS est in hasaclas en n n enfoqoe orientado a f i~ncioncs. P:s tlccir, estos m6to- dos r e n a los sistemas clesdc r l punto cle vista d r las funciones clue ellos llcvahan a calm 4.n lugar cle 10s datos clue realizan a las funciones. P o r esta razbn, el anilisis estructuratlo enfatiza en 10s d iagamas tle flujos, siguienclo cl rastro del1)rogrwo de 10s datos a travks d r nna seruencia tle transformaciones y refinando a Gstas a travSs unn serie dc niveles. Lo mismo es c-ierto para el tliseiio cstruc*turado, clue ve a un sisterna cbonlo nua filnc:iOn que se clescoml~onr sucesivamente en nivrlrs o sul~funcionrs.

( :on~entr indosr en las funcionrs, estos rnStoclos infravaloran 10s tlatos y ~ 1 1 especial la estructura d e 10s clatos clue son manipulados por las funciones. El resultado. dire Meyer? rs clue estos sistemas tienen valor tlurante poro tiempo r n relac*iOn con las nrcesidades a largo plazo de 10s usuarios. Esto sucetle dehitlo a qne, a1 p r o tiernpo tle haher instalado un sistema, las funciones se convierten en un su1w)njunto de las funciones clue 10s usuarios realmente clesean. Casi inmcdiatarnente 10s usuarios ven una gran variedatl d r servicios aclicionales que qnisieran en r l sistema. Estas nrt:rsidadr.s causan prohlrmas a los sistrmas orirntatlos a funciones, puesto clue su tlisefio purde r rqur r i r d r una revisi6n importante para poder acomoelar a las funciones adicionales.

En contrastc, el cnfoque orientado a datos crntra el foco cle atencicin en el anilisis tle 10s datos utilizados por las funciones. Esto time dos ventajas: (1) Los datos son una par t r con- siderahlemente m i s rstahlr de 10s sistemas clue las funciones. Esto es clehido a qne un conjun- to tleterminaclo de elemrntos tlatos se p e c k comhinar en m a gran varirclatl de fhrmas para olltener las respurstas a varias posihlrs preguntas. Si vikramos cada posible p r e p n t a conlo una funcibn del sistrma, es ficil drmostrar clue el conjunto de posi1)les funciones srria siem-

MODEL0 I MODEL0 EN RED

CONCEPTUAL DE DATOS

I I

- I

SGBD EN RED

Page 86: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS EN LAS ORGANIZACIONES 69

Plan de la base de datos

Sistema funcional

Sistema de base de datos

1 F] funcional

Sistema de base de datos

Sistema funcional

desarrollo del desarrollo del desarrollo del desarrollo del

Sistema funcional

El ciclo de vida del desarrollo de la base de datos (CVDBD) La Fignra 3.12 mueitra el ciclo de vida tiel desarrollo de nna haw tie datob (CkDBD). qnt. ronsiste en sei- ?tapas:

1. Planifitwihn preliminar 2. Estndio tle via1)ilidad 3. DefiniGn de requisites 4. Disefio ronrq~tual -5. Imlhmentac ih 6. Evaluaci6n y mantenirniento tle la l m e de datos

Page 87: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADM~NISTRAC~ON DE BASES DE DATOS

El caso de la Corporaci6n Zeus --- em.

Lu Corporucibi~ Zeus be oripii16 coin0 un proyecto qzcc.fue terininnrlo mi~rttrus 10s hermrc- nos Blue estr~hun pusando un curso d~ gc~stibn d~ adininistraci6r1 de negocios ' ell unu 11e las escuc~lus cle negocios del mediooc~ste. El proyecto cerltro la atencibrl en la crmcibn cle unu cor~epaiiiu para fi~bricwr y comerciulizar calzodo t l ~ curreras. T h t o Rill coino S t ew Blue fueroil corredorc.s cle fondo y hait continuuclo rorriendo cle.spu6s dc. haber terminado el bachillerato. Como purte del curso de estrategici de riegocios, c~llos desurrollurorl u i ~ plan parn Jicbricar y clistribuir culzcido dr carreras. A meditla que empezaron 11 cvttrur en eletalles, sus deseos iniciales de simplemerite cumplir con 10s requisito.s t ld clirso fi~eroil creciendo. En ese tiempo, mu) pocccs compuiiius c.on~ercirrlizrcbai~ gmuinos zuprctos de currera y ellos sentiur~ qur el mercado serirr receptivo. Cuuilrlo sir instructor 10s incitb, decidieroil probar bus ideas creundo la Corporacibn Zeus.

Los herinunos ulyliilaron un locul, comprarorl el eq~eipcirniento b6sico y unu reserva initial de muterias primus. Su primer gran reto -11mcer p c J las zapaterius accJpturan un p r o d ~ ~ c t o rluevo y no probarlo-fie vencido urnplicrrnente porque 1e rc.gc~luron zuputillus grutis n una serie cle corredores de elite, yue dierorl su testimonio gratuitamentr. DespuCs de (10s niios pobres, la calidarl ( 1 ~ su product0 comenzb u pugarse y 10s ingresos se rlupli- rurorl ell 10s dos uiios aiguientes y siguieron creciendo en 10s urios subsigliientes hastu alcanzar un nivel de alrededor rle 10s $50 millones.

Los sistcmus cle Zeus hurl ec~olucionado b6sicainente en lu mrdirlu que la propiu corn- paiiia fue creciendo, desarrollundose nuevas aplicaciones en tanto se iban identijicurrdo nuevus necesidadrs. Dos uiios utrhs, un consultor ayurlb a In compuiiiu a estublecer l i r l

p lu i~ de negocios (1 largo pluzo y un plan eorrespondiente puree le gestibn cle 10s sistemus de informaciorr (111s). Cnu parte central d ~ l WIS fue el desarrollo de un sistema de buse dr dntos colectivo.

Page 88: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS EN LAS ORGANIZACIONES

preliminar

es~uclio cle l'actibilitlad. I'artr drl C\ 1)HD qnt, tlrtrrn~ina In vial)ilitlatl t~wn6111ica. trcnolhgica ! ol)rr;lti\a dc la 1)asr tlr tlato,s.

vialdidad tecnolbgica. Drtrrn~inacibn d r la di+ponihilitlatI tle h a r t l ~ a w ! rl software para 1.1 sisterna tle })air tie tlatos.

viabilidad operaciollal. Deternrinacibn dr la disponibilidad de expcrticidatl j tlel personal clue sr nrwbita para el sistema dc haw de datos.

viabilidad econ61nica. Estuclio tle wsto beneficio tlel sistrrna tlr hase tle tlatos propncsto.

La planifiraribn p r e l i n ~ i ~ ~ a r tlr un histrm;] (I t - hast. tle (lato+ tw rsprcifiro t i rnr l q a r t l w a ~ i - t r el proyreto clr planificat%n rstrat6gic.n tlr In 1)ast. thb dates. 1) r spPs cjur r n ~ p i r z a r l pro- !reto clr implrn~rntacihn tlr la 1)asr d r dntos. 1 x 1 modclo g t w t d d r informacihn protlwitlo dnrantr la planifitwihn tlr la 1)asc tit, dutos 1.3 l-cvisaclo 4 mrjorado si rs nrwsario. D u r a ~ l - t r rstr protSrso. la firma rct80gr in formacih 1ja1-a ~ q w n ~ l r r a las prrgnntas siguicntcs:

1. ;Cuintos p r o p m a s de aplicar16n r s t i n r n 11so ) qnb funrionrs r t d ~ z a n ! 2. kQ116 arclnros est in asociados con cada una dr rstas aplic.;rcionvs:' 3. iQu6 n w v a s aplicaeionrs v arrhivos r s t i n lbajo dtwrrollo:'

Estudio de viabilidad

Un estudio d e viabilidad implica la prrparati611 tlr iln inforn~t- t - o ~ ~ las caractrristira- si- gnitw t(+:

1. \ial)ilitlatl trc1lol6~ic.a. i I I a j t twdogi;] ; ~ d t w d a t l~s~roni ldr para tlar sopoi-tt. a1 drsarrollo d r la hasr tlr tlatos:'

2. Ciabilidatl oprracional. i,Tic.nc. la cwmpaiiia prr5onal. prrsupursto ! rqwr t ic i dad intrrna 1m-a haecr clue un sistrma rlr h a w d r datoi trnga Cute!

3. \ iabiliclad rcwn61nit-a. 1Sr purdrn identifir;~r 105 lwnrfie1o5l i,l,os 1)rnrfit.ios cws- t rar ian rl sistrma q n r sr drsra? i S r purdrn medir lob eostos y 10s I)rnefirios?

El rstndio d r viahilitlatl tlr Zrns fn r rralizado por u ~ i c tpipo in t r r t l rpar tan~r~l ta l for- n ~ a d o por un anahsta tlr sistrma, un ingrnirro, un rs1wcialista dc Marlwting (Mercudottv- nia), un suprrvisor d r l ) r ~ d i ~ ~ ~ i 6 n , un analista financirro j un rsprtialista d r hasr d r datoi. Ellos estuvieron condnr~dos por un c o n i d asesor corporative de MIS formado por 10s diri- gentes d r alto nivel d r cads iina d r las i reas fnneionalrs. El (*omit6 asrsor ap-ohal)a cada

wi rn te . fase antes de qnr i r wmrnzasr m a n w \ a fasr. El f o t ~ ) en cads fast fnr el bin

1. La yrimrra file un estudio de viabilidad te r~~olc ig ica para tlcternlinar si el hartl- wart- y (4 software r s t a h n r n tlispositi6n tlr tlar rl senicio clue r rquwian las nrcrsidadvs d r infornlaci6n. Esto inrluyh rl anilisis tlr si las capacidatlei ? rcbcnrsos esta1)an ya presentes en la rompaiiia o si hahria tlnr co~nprarlo. ? de si beria nrrrsar io un mtrcnamiento. Esto 1lr\ 6 a la cwnclnsii,n d r qne todo r1 hard- b a r e ya estaha presente tan Zeus. pero qiie habia qne comprar r l SGBD.

2. Viabilidad operacional. Esta incluyr r l analisis de las hal,il~dadrs y 10s rrquisi- tos laborales nrcesarios para drsarrollar (4 sistrma. IJn anal~sis prrliminar snpi- ri6 cjue aunque Zens tenia analistas j programatlorrs rxperimentados y compe- tentes, se rrqueriria una buena c h i , de entrrnanliento. Las neerklatles tle entrenarniento alcanzaba a los usuarios y a algim personal de sistenias. El per- sonal de la ABD fur idrntificado y entrenado previamente del prrsonal d r s ~ i -

ternas. 3. El estiidio dr la viabilidad econ6mica se convirti6 en un reto. Los brnrfirios

esperados d r instalar una hasr de datos fueron dificiles de cuantificar. Esta rs

justamente lina rx~wr~rnc . ia t ip~ca . El equip0 del proyecto ahord6 este r r to bus- cando las respurstah a ]as preguntas siguirntes:

Page 89: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

En lo rvfwentr a1 tsosto, los favtorrs mtis simplrs tle nictlir son el tlirlero que titwt. tlnr salir tlrl I~olsillo para 1)api- el hardware. el softwarr y la prograniati01i. . \unque t1stos cos- tos no es t in r n su totalitlad sujetos a la grstihu tlr twntrol. la firiiia pudirra disfrutar tle aliorrar p s t o s si se rsta1)lrcen est int laws aiitcLs de q ~ i r c1 softwarr (Ir Lase tle datos sr ins- talasr. p . r o ~ i o instalando un lt.llgnaje tle twnsulta hi aritrs no se t i ~ n r n clatos suficirntrs q u r garanticen $11 11so rfectivo.

El e q u i p dr l proyec.to taid)iCn 1ntmtion0 costos ocultos asociatlos (*on la iuiplrn~rn- taeihn tlr la hasr d r datos. Estr c1s 1111 rrsnltatlo ti11ic:o d r 10s twnl)ios impt:rt:rptil)lrs tlr la foruia t:n tlnr fnntionan los sistr~nas. P o r rjrmplo. r s ficil snl)rstimw~ c.1 tienipo 11nt' s(' rlecesita para i n t r p r sistemas d r aplic*atiOn intleprndieutrs. ddicionalmrnte. c*anhios r n (4 softwarc* purden r t y u r r i r nivjoras no prwistas r n el hartlwarr para podcr asegurar el rrntlimicwto adrt*natlo. Talrs t.arn1)ios tuiinrntan r ipidamrnte lo.< eostos dc dr~ai-rol lo .

El resultatlo d r catla rxanien d r via1)ilidatl fuc favora1)lr y rl comiti. asesor a p r o h i ~ s rg i~ i r adrlantr rou la tlefinici6n d r 10s twpisitos.

Definici6n de requisitos

definicio~i d r La definici6n d e 10s requisitm involucra a la dcfinicibn dcl a1ranc.r dc la 1)ase tlr datos, la ~~equisitos. idrntificacii~n 10s rrquisitos (I(, informatibn tlr las i r e a s funcionalrs y admiriistrativas y la l)rtr1111i11aci611 dt. 1,)s drtrrininacihn dc 10s requisites d r software y r l hardware. Los requisites de informatibn ret~uisitos tlr se dr trrminan por las rrspurstas a eurstionarios, entret~irtas con los dirwtivos y usuarios infornlat+m tlr la.; i reas tle ofitina y 10s informtxs y formularies clue es t in r n uso actualniente. El niodelo cle infor- atlministrativns y niacicin gt:neral qiw sa crea durante la planificaciirn d r la base dc datos s r rxpandr a motle- f~~ncionales. 10s para cads una tle las i r e a r funcionalrs. Estas son las bases para el tlisriio tlrtallatlo d r

la base d r datos clue se llevari a cabo r n la etapa siguirnte. Los rrsultatlos de esta etapa se drsrrihen en las cuatro tareas siguientrs.

Aunque no totlaa las firmas siguen pasos itlhticos, hay algunas nociones hisicas clue es t in idrntif'icadas con una definiticin exitosa d e 10s retpisitos. En Zrlls sr complrtaron las tarras siguientes:

1. El alcancr d r l sistema d e hasr de datos se definici analizando los rcquisitos de informacicin d r 10s dirrt-tivos. El rquipo tam1)ii.n consider0 si la hasr dr datos drhcria ser tlistrihuida o t:tmtralizada y quC iircesidadrs d r teleprocrso s r necr- sitan. Esto produjo una 1)rrve narracicin q u r drscribia r l aleance del sistema. Se drcidiir clue una base tle datos centralizada s r ajustaha mejor a la mayoria d r las Arras funcionalrs.

2. I m rrquisitos d r usuarios a n iwl administrative y operational s r documentaron con nn modrlo tlr informaci6n grneralizado para rada Area funcional. a la par que las definicionrs de 10s sistemas d r aplicacicin necesarios para satisfacrr tales retpisitos. I,os modelos de informacicin necesarios para cada i r r a funcional fur- ron motlelos cont:eptuales tie datos (qur se disruten en el Capitulo 4). TamhiPn fueron doeumentados 10s rrquisitos d r 10s usuarios a part i r dr narraciones dr las entrrvistas con 10s usuarios, informes y forniularios ilriprrsos (Figura 3.13) y respuestas a encuestas (Figura 3.14)

Page 90: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS EN LAS ORGANIZACIONES

Corporation Zeus Pez, 27 (Granada)

Orden de compra

N~ imero de orden 1848

Fecha 21 106197

I 1 215 1 z a o a t o s I o a r t e s I Mackov A S .

Fecha 7/07/97

IN.O Parte I Description I Cantidad I Precio unidad I Precio final

1 4831 1 Cordones 1 5000 1 .17 1 850.00

Vendedor

Codigo 1 Nornbre

1 4922 1 P l a n t i l l a s I 1000 1 2.30 1 2300.00

I I I I I

Total 1 3150.00

Departamento

I n v e n t a r i o

SUS FUNCIONES

Agente

compras

D e s c r i b a su a r e a de r e s p o n s a b i l i d a d . i C u a l e s son sus p r i n c i p a l e s o b l i g a c i o n e s que r e q u i e r e n i n f o r m a c i o n de a p l i c a c i o n e s compu tac iona les?

1. i D e que a p l i c a c i o n e s r e c i b e i n f o r m a c i o n ? 2. i c o n c u a n t a f r e c u e n c i a r e c i b e l a i n f o r m a c i o n ? 3. iQue es l o que se hace con e s t a i n f o r m a c i o n ? 4. LQue p r e c a u c i o n e s de s e g u r i d a d debe tomar con r e s p e c t o a l a i n f o r -

macion? 5. i P a r a que a p l i c a c i o n e s r i n d e d a t o s ? 6. i E s t a n contemplados cambios p a r a a l g u n a s de sus a c t i v i d a d e s a c t u a l e s

que i n v o l u c r e n a a l g u n a de l a s i n f o r m a c i o n e s a n t e r i o r e s ? Por f a v o r , d e s c r i b a l o s brevemente

Page 91: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Diseiio conceptual

clivlio ronrrptual. I,a etapa tle diseiio conrcptual c w a el esqnema c.onc.c.ptna1 tie la hase de datos. Se tlesa- (Awati6n tld t w l ~ ~ c w ~ a rrollan las eilIec*if~t.;rt.ioi~eb hasta el punto en qiw pu1A1 conwnzar la in~plementacibn. t l v i ~ i \ el cone-cl~tunl Durante rsta etapa se t w a n motlelos tlrtallatlos tle las kistas de 10s nsuarios j se integran [ M I CI la l)aw clr clatos. en un ~notlrlo t ~ o n t q ~ t i i a l tlr tlatos qiw registi-a todos 10s rlenientos colectikos qne se tlehen

n~antc~nc~r (.ti la Ib,rse tlr datos. En Zt'm el tlisello c.oncq)tiial se centl-6 en el tlesarrollo tle nn motlelo clue reflejase la

r t d ~ t l a c l cle la f'i1.111~l. El tlesarrollo dr l motlelo file gniado por la inforinat~ihn contenitla en 10s manu'11es tie politica j procetlimirnto, asi como e n las guias y niotlelos generalizados par'i la* Areas func~onales a partir tle la tlefinicibn tie requisites. A trav6s tie ~ ~ r o f n n d a s twtre\ibtas con los usnarios y un cuitlatloso exalnen tle 10s forinnlarios 11e la twmpafiia. se ~ ~ e r f ; ~ t * c i o t ~ : ~ ~ ~ o t i ebtos motlrlos. Lnrgo se integraron como parte del disrfio twnceptual y c.oii\ic~tit~roti ts t i la hase para la implementacihn.

La t'lrea clel tnodelado tie diseiio conceptual fue un coniponente (*lave para las ret*o- intwtlac.iotws clue Ilacian 10s consultores del CVDBD. A1 priqcipio. Steke Blue, el vicrprr- sitlc~ntt~ r j tmit i \o de Zcus. rstaba esr6ptico con esta tkn ica . Este intrrrogh twidadosamen- te a la t.onsnltor~r Litltla Kelly:

< b Linda, iquC es lo que no esta bien en la formu como hacemos lus cosa.7 ahora;'

G 6

Steve, tus rnCtodos nctuales esturl rnuy ligudos u la formri tlr prrlscir orientatlo ( I

circhivos. Has heredado este rn,foque dr 10s primeros tirrnpos, cuundo la trcrlologia rro dejubu otra opcibn que diseiiar Ins bases de dutos como archiuos. Pero r1 hrcho es que sim- plernente 10s problemas no esthn rstrueturudos de esu rnanera. Tu necesitus url enfoque que sea nmcho mas natural. En otrus pnlabras. necesitus pusur de un en,foque orientcido a1 u s p c t o jhico a un enfoque orienttrdo (11 nspeeto lbgico. Crna metodologici de diserlo corl- r t p d permitiria lograr esto."

"i ihort~, espera un minuto. Tul y conlo yo lo eritier~do, un sistema de buse de datos relacioncll nos moveria de la orientctcicirljisico a la lbpieo."

'6 7 Dnu base de datos relacionc~l nos uyudarh en prirrwr lupar corl la rnanipulacibn de 10s datos, que ahora seran estructuras de datos. El rr~odelo relueionul corrlo tal es orierltado (1 archivos, puesto que las tablas relacionrlks son justarnente corn0 archivos. El rrlodelo reln- cioncd esth bien para trabcrjar con problernas que Sean relutivumer~te simples. Pero p r t i hacer un analisis riguroso de 10s problernr~s eorr~plejos de ilegocios, se necesitri unrr rnetodo- logiu mas poderosu. Por el10 es que yo recorr~iendo el diseiio conceptual dr busr rle dutos."

''iQu6 quieres decir con conceptual?

Page 92: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS EN LAS ORGANIZACIONES 7 5

Linda explicd: "La metodologia de diseiio c.oraceptuu1 turnbidn es llumacla modrlado sernhntico. Semhntico qtri~re &(ir signijicado. En nrlestro nzodelado capturarnos el signi- jicudo rle lob datos y las interreltrcwraes. EI I esta metodologia de diseiio perrsamos en tdr- rninos de objetos en lugur (le (rrchiros. LOS ol~jetos son cosas corno 10s representanteb de uerztus, 10s productos, 10s directicos, lus rentus y usi. d u n mas importante, prnsarno., err tdrrninos d~ interrelacioraes con rlombrr entre 10s objetos. Por ejemplo, un directivo clirige a un reprpsentarate rle rentus. El directiuo y ~l representunt~ de ventas son objetos. Dirige es ILILU interrelacibn eratre ellos. Err tnrrto 10s problenaas se vun hacierado mas complejos, el diseiio conceptual ayuda n pensur corr mus cluridad y a tener con mas claridad en nues- tru merzte llrz gran rzirnero de comple ju~r~terr~ luc iorzes . Sin esttr me to do logic^ rzuestro sis- terrw se volveriu sin renzedio erz algo nluy complejo."

"Hien, estoy de clcuertln en que necesitnmos manejar problemus mcis complejos. 2Esto significc~ q11e no podenlos m a r ~ r n sistema de gestibn de base de datos relacional?''

" , lo, no (piere decir rso. Piensa en P I modelo conceptual corno m a herranlienta pie crea diseiios claros que rhpidam~nte se pueden convertir en modelos r e l~~c ionaks de altu ( d i d a d . Tendrbs mejores sisternus, p r o dstos continuaran corriendo encima del sofiwa- re rrlncional rxistente en 10s SGBD."

"Purece corno si tuuieras sentadus todus las bases. Sigamos adelante con esto."

Primero, a1 ejecutar Ztws el CVDBD, el paso del diseiio conceptual consistia en la twacibn de modelos t:onceptuales detallados de las vistas de 10s usuarios en diferentes iirras funcionales. Estos motlelos juntos constituyen el nivel rxtrrno en la arqnitectura tres-niveles. Srgundo, estas vistas de usuario se integraron en un unico modelo conceptual, danclo entonces el esqurma de la base de datos a nivel t:onceptual. Con todo esto termina- do, la gentr tle Zeus estaba lista para p a r a la implrmentacibn.

Irnplerne~1taci611 de la hase de datos. Las etapas rtywridas para camhar un tliseiio cwnc~~ptual a una haw tlr datos funtionando.

Dnrante la iniplementaciiin d e la base de datos se selecciona y atlquiere un SGBD. Lur- go el modelo conceptual drtallado se convierte a1 modelo cle implrmentaci6n del SGBD, se construye el diccionario de datos, se puehla la hase de datos, se desarrollan 10s programas cle aplicacicin y se entrenan 10s usuarios (Figura 3.15).

En Zeus, una implemuntacibn comienza con la selrccibn y adquisicibn de un SGBD. Por varias razones rllos esvogieron tin SGBD relacional. El prbximo paso fue hacer corres- ponder el modelo concrptnal de la firma con un modelo de implementacih relacional ~isanclo los procecfmientos qur se describen en el Capitulo 5. Luego se definirron las estructuras tie la tabla resultante para el SGBD. Esto se hizo usando el lenguaje de defini- cibn clr datos (LDD) suministrado por el SGBD para desarrollar el diccionario tie datos.

La construcci6n del diccionario de rlatos (DD) es un paso crucial en la implementa- cibn porque el DD es un repositorio central de tiefiniciones de estructuras de datos en la base de tlatos. Ya que Gste contiene informat:i6n sobre la autoridad de acceso, las reglas de seguridad y 10s controles respectivos, el DD actfia romo un centro de control del sistema. Este se usa para imponer 10s estindarrs de datos y eliminar 10s problemas de coordinaci6n d r 10s datos compartidos entre las aplicaciones.

El paso siguiente fue cargar la base de datos, introduciendo 10s archivos de datos que ya tenia Zeus. Esto se hizo con programas de conversih que usaron el lenguaje de mani- pulacibn de datos (LMD, DML en inglCs) suministrado con el SGBD.

~ u e g o el equipo revis6 las vistas de usuario y las aplicaciones que usarian la base de datos. Para algunos usuarios se decidib clue un programa especial tie aplicaci6n escrito por el equipo de programacibn brintiaria la forma m6s simple de acceso a la base de datos con la menor cantidad de prohlemas de seguridad. Esto la mayoria de las veces es cierto cuan- tio se trata de oficinistas y otros empleadoc; que registran 10s negocios diarios de la compa-

Page 93: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Selecionar y adquirir un

Convertir el modelo conceptual

en un modelo de irnplementac~on

Constru~r el diccionario de

datos

Poblar la base de datos

Desarrollar 10s program= de

aplicacion

Formaci6n a 10s usuarios

iiia. El equipo consider6 clue a otros usuarios era mejor formarlos en el uso del lenguaje cle manipulacibn de datos para que acredieran directamente a la base de datos.

El paso final fur desarrollar procedimientos para usar la base cle datos y estahlecer las sesiones de formaci6n en estos proc:etlimientos y las tlemis faciliclades ciel sistema.

Evaluaci6n y perfeeeionamiento del esquema de la base de datos

La evaluaci6n implica entrevistas con 10s usuarios para determinar si se han omitido algu- nos datos necesarios. Se hacen 10s camhios que se necesiten. Con el tiempo el sistema se mantiene, introducitndole mejoras y aiiadiGntlole nuevos programas y elenlentus tle datos en la medida clue cambian y se amplian las necesidades del negocio.

Construir capacidades en el desarrollo de la base de datos

Como muestra la Tabla 3.1, la mayor parte de este libro est i dedirada a ayudarle a desa- rrollar capacidades en la ejeruri6n del t i do d r vida del desarrollo de la baqe de datos. Por tanto, la parte I1 cubre el diseiio de haw de datos. Los Capitulos 4 y 5 describen el prcrce- scr y la metodologia del modelado conceptual de datos, que es esencial para una construc- ci6n exitosa de una base de datos con fundamento l6gico y muestran c6mo el modelo ron- ceptual se puede convertir a un modelo de implementaci6n relarional. La Partr I11 se

Page 94: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS EN LAS ORGANIZACIONES

w n t r a en la ii~iplenientac.iOn d r 1)asr tle tlatos relacionales. Los Capitulos (1: 7 , 8 y 9 introclu- t ~ : n 10s lrnguajes relariot~alrs. tri,rit.os y aplicatlos y analizan las faeilitlatles disponibles en 10s sistemas t~lirnteiwrvitlor. El Capitdo 10 t*oncluye con una rxplicaribn del modelo fisico.

La Parte IV amplia el t rma de la i~nplemen~acibn d r I)asrs de tlatos, tliscutirntlo la administrat~ihn tlel entorno de la hasr d r datos. Esta trata con 10s trmas de grstihn. tales conlo la atlttiinistrat~ii,n tle la base de datos, la segwitlad y la intrgridatl (Capitulo l l ) , las I~ases de tlatos ciistribuitlas (Capitulo 12) q n r fuc-run ya mencionadas en este capitulo. La seleccibn tle un SGBD sc. trata en el Capitulo 13. La Parte V coutirnc un t*apitulo detlicatlo a estudiar temas avanzat-los d r sistemas 1)asadcrs en r l c:onocimiento y sistrmas orientatlos a ohjrto (Capitulo 14). La parte final, la Par te VI, cubre 10s modelos de bast. tlr tlatos lega- 1t.s. r n rrtl (Capitulo 15) y el jeriirquiro (Capitulo 16).

E n la metlitla rn clue se wtudir rs t r material sr drsarrol lar in nuevas t.apatiiLitles r n el diseiio tlr have de clatos y en la manipu lac ih d r 10s datos que serrin rsrnciales en u n rntorno de lrase tle datos para 10s nrgocios. Tambikn sr comprentlerin 10s aspectos tle pes- tihn que afertan significativamcntr muchas de las dwisionrs que tienen clue tomarse con rrlatihn a los sistemas de bases d r datos. El material tlr apoyo que se da en rs t r lihro le i ~ y n d a r i a coniprender el contcxto de ltrs sistemas tlr bases d r datos en el muntlo clr 10s negotios de hoy. A1 adquirir estos conot~imientos, comprendirndo 10s asprctos claves tlr la g e s t i h y familiarizindose con el contrnto tle las hases de tlatos, el usuario es ta r i rquipa- (lo para t l rwn~olverse en 10s entornos avanzados de 10s sistemas de g t ~ i h n d r informaci6n.

En este capitulo hemos rxaminado el contexto organizational en el cual funciona u n siste- nla d r hase de datos. E n la primera mitad del capitulo se vio clue el concepto Or comyartir los tlatos sr puede ver desde tres persyectivas -entre diferrntes i r e a s funcionalrs. entrr tlifrrrntrs niveles de direeci6n y m t r r diferentes localidades geogrificas-. S r diwutih el taoncepto de planificacibn estratigica tle la ABD y se indich cbmo esto estahlece 10s funda-

go se exa- mrntos para todos 10s sistemas d r hases de datos a usar en la organizaci6n. Lue, mini, la funcibn de administracibn de la base de datos, destarando la responsabiliclatl tle rs t r grupo en: (1) el diseiio fisico y lhgico de la base de datos; (2) la formacibn a 10s usua- rios en la rstructura y en 10s procedimientos requeridos para accrtlerla y actualizarla; (3) la proteccihn de la base de datos ante un ma1 uso, accescr inapropiado y daiios acciden- tales; (4) r l aseguramiento tle que el sistema ccrmo un todo funcione a un nivel aceptable. P o r ultimo se analizaron algunos de 10s riesgos y costos de un enfoque de bases de datos en una organizacihn, incluyendo 10s conflietos organizacionales tle compartir 10s datos, 10s

Page 95: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

fallos potencialrs en 6.1 desarrcrllo del proyrcto de base de datos, ma1 f'uncionamiento can el sistrma (11. 1)asc. de tlatos y rl daiio consiguiente en la base d r datos, el ineremento de 10s costos y la nrcrsidad d r tener un personal sofisticado para el tlesarrollo de la base tle tlatos y para su operacihn.

La ultima mitad del c*apitulo sc dedicb a la disc:usihn del drsarrollo tlc la I~asr tlc datos. Sr explich la arquitrctura de tres-nivrles dr ANSIISPARC. Taml~ibn sr contrast6 el enfoque orirntado a funcionrs drl ciclo de vida tradicional en el drsarrollo d r sistemas (CVDS) con el rnfoqur orientado a datos del ciclo d r vida drl drsarrollo d r la base dc tlatos (CVDBD). Sr tlestacaron 10s p s o s tlel CVDBI) y sr deseri1)irron las actividatlrs incluidas en cads paso.

La arquitrctura de trrs-niveles tlescrilw nna hase de datos como consistente clr 10s nivelrs c:oneeptua17 externo e intrrno. El nivrl concrl~tual es rl esquema 1hgic:o qur define a la hasr de datos twmpleta desdr la prrspectiva de la 01-ganizarihn, El nivrl rxterno twnsis- te en las diferrntes vistas, mrtliantr las (wales 10s nsuarios a lo largo cle la organizaeihn entirndrn. accwkii y actnalizan la base d r datos. El nivrl intcrno es la definicih fisica d r la base de datos rnediante la cud el SGBD controla y actualiza la l m r tlr datos.

El CVDS traditional vr a 10s sistrmas destle el puuto de vista tle las funciones qur Pstos realizan. Puesto clue los rlrinentos tle datos tienden a ser mis rstalrles qnr las funcio- nes, la estrwtura d r la basr tle datos tleljeria drsarrollarse antes clue el drsarrollo d r sis- trmas funcionales. Un sistema de basr tle datos desarrollado adrcuatlamentr sirve de 11aw para muchos sistelnas funrimales qur puedan hasarsr en PI.

El CVDBD consta d r scis pasos: p1anific:acihn preliminar, rstudio de viahilidad? defi- nicicin d r reqnisitos, disriio conceptual, implm~entaciGn y rvaluacihn y mantenimiento d r la base de datos. La planificaci6n ~weliminar tienr lugar durante la planificaciOn estratb- gica de la l m e de tlatos. La informacihn del plan de la basr de datos sr rrvisa y sr presen- ta como partr del CVDBD. Se llrva a calw el estudio de via1)ilidad para drterminar la via- hilidad tecnol6giea, operacional y eeonhmica. La definicihn de ret~uisitos detrrmina los reqnisitos de informacihn para la direccihn, asi como para aquellas Arras funcionalrs qur se sirvrn de la base de datos. El diseiio cont.rptua1 trrmina en un comprrnsivo modrlo con- ceptual de datos, que nos (la un esqurma l6gico detallado de totla la base d r datos. Duran- te la implernentaciim puede adquirirsr un SGBD. el diseiio concxptual se conviertr a un diseiio de implementacihn, st. construye el diccionario de tlatos, sr carga la base de datos. se desarrollan 10s programas tie aplicaciGn y se entrena a 10s usuarios. DespuPs tle la imple- mentacihn se evali~a la base de datos como tal para determinar si verdaderamente curnplr con las necesidades de 10s usuarios. Se llevau a cabo las mejoras necrsarias para perfrca- cionar la forn~a de usar la base de datos y para atendrr las necesidades de 10s camhios qur se produzean en 10s negocios.

1. Defina con sus propias palabras cada uur) de 10s t6rininos siguientes: a. Base de datos b. Procesamiento electrhnico d r datos c. Sistema de informacihn de grstihn d. Base de datos centralizada e. Ciclo de vicla del drsarrollo tlr la base tle datos f. Administracihn de la base dr datos

g. Diseiio fisico de la hase de datos h. Restricci6n de valor i. Arquitectura tres-niveles j. Nivel interim k. Planificacihn preliminar 1. Viabilidad tecnol6gica

Page 96: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS EN LAS ORGANIZACIONES

111. Drfinicion tle recjuisitos 11. Implmwntatihn d r la haw tle datos

2. Analice las \rntajas ! tles\rntajas d r ronipartir 10s datob para: a. Difrrentes irvas fllncionales h. Difrrentrs locwiones grogrifit.a~

3. 1Chmo se usa el nivel de transaccionrs d r datos para soportar las nrc.esidades tlr informaci6n de 10s nivelcs d r gestibn y rjecutivos? ,QuC otras (.lases de informac*ibn p n t ~ d m ser net:esarias para la toma tie dccisiones estratSgicas'?

4. t2nalit.r 10s asprrtos signirntc:~ del proyrcto tle planificacihn vstratPgica d r la h e tle datos: a. Soportr para la direcc:ibn rxperimrntada h. Comf)osiic:i6n drl ecjuipo tlel proyecto c. Longitnd drl proyrcto d. Alcancr tiel proyeato e. Rt~sultado clrl proyccto f. 1ntc:rrrlac.iOn del1)royecto con el tic.lo de vida drl drsarrollo cic la hasr d r datos

5. ~ C u a l rs la rrsponsa1)iliclad de la administrarihn d r la 1)asc. de datos con resprcto a: a. Diseiio conc:eptual tle la base tle tlatos 1,. El centro tle 1nformac:ihn c. Integridad de 10s datos d. Rendimirnto dcl sistema de h e de datos

6. Indique todos 10s inconvenirntt:s potenrialrs que purdaiimaginar asot-iados a la implrnirntaci6n y utilizaci6n d r un sistrma d r hase d r datos. Clasifit1urlos en funcihn dt. s i son arrirsgados o caros. Expliqur por qni: los c1asific.b asi.

7. Explicjue las difermrias entrr 10s niveles conceptual j externo en la arquitec-tnra de tres-niveles ANSIISPARC.

8. Expliqne el signifitwlo de la oracibn: "En realidad la hasr tle datos sblo rsiste a1 nivel interno [ANSI/SPARC]".

9. Analice las diferrncias entre el desarrollo de sistrmas orirntados a funcionrs y el desarre~lltr de sistrmas orirntados a datos. iPor quP rs el sistrma orientado a datos m;i propicio para permitir tin amplio rango d r funcionrs?

10. Indiqnr y tlrscriha l)revemrnte ratla iino de 10s seis pasos en (4 drsarrollo drl eiclo de vitla d r la haw de datos.

1. Haga correspondrr 10s tCrminos siguientrs twn sms definiciones: -sisternu cle apoyo a la tonaa de decisiones a. Dondr 10s usuarios puetlrn encontrar

facilidades de c0mputo. -ucceso sblo pccra recuperucicin h. P o r c i h restringida dr la base d r datos. -pla~uficaci6n de la base de dutos (.. Multiples sistrmas de hasrs d r datos eo-

nectados por lineas de comunicaci6n. --viabilidad operucional d. Centrarsr en el anilisis de los datos usa-

dos por las funcionrs. -raizjel externo e. Creacicin de un esquema d r nivel con-

ceptual. -diseiio conceptunl de base de drctos f. Actualizaciim no permitida.

Page 97: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

-z.istu -i~[tegrucibn de 10s datos

-ciclo de vitlu del rlesurrollo del sisteinu

-c~nfoqw orientado u Jii11cione.5

-sistcvnc~ ( 1 ~ I)(IP~J de rlntos rlistrihuirlo -esqmmu -rc~ntro dc~ ii~formacihir

-es td io rle viuhilidud

Esfuerzo estrat6gic.o para dvtcwninar las ~wcesidades de informacihn a largo plazo. Colnl~inar 10s tlatos para uso ctr~uhn. Ttler~tifica 10s c h w n t o s , interrelariones y restricciol~es. Nivd c~strnrtural clue define el esquema lbgico. Nivel ehtrnt.tnral q u r drfinr \-istas tlr usuario. Prwisihn 4 1-onsistrncia tlr 10s \-alorrh. Provr r infornlacibn cstratkgica. Define la estructura 16gic.a d r la 1 ) a ~ (lc tlatos cwmplrta. Estudio costo-lwnrficio. Lin lmwewpara rl dcsarrollo tlr sistr~nas. 1)etermina la dispo~~il)ilitlatI tle rxperti- citlatl y lwrsonal. Vistas ( I t s lln hisirma tlrstlr la l~ r r s l~ec t iva tlr las fun(-ionrs clue t l r h realizar. Determina la factil)ilitlatl te(-nol6gica, operacioual y e c c ~ n i , ~ n i t ~ ~ .

2. Las Areas funtionales tle IPD iurlnytw In\ entario. luarheting. I entas, conlpra, cow talditlatl. in-owsamiento tle petlitlos y t.\aluaciOn tlel producttr. l t l r n t ~ f q u e las Arcas fnr~cionales qae (1) necesiten tlatos 0 (21 putlieran m a r 10s tlatos coutenitlos (.n ratla urlo de 10s sipuientes docmnentos. E\plique en cada c a w por (pi. w ntwsi tan 10s datos o cbmo podria usarlos: a. ITn prtlltlo a un t l rpartan~rnto en Car~a t l i de 100 vasos tlc cristal. 1). ~ T I I lnf or111v q w ~ ~ l u t ~ s t l t ~ las \ cntas y dcvolucioncs tle protlurtos lm-a c.,itla uno tle

10s reprrsrntatikw tlr l rn tas en la regihn de Anlbrica Latina. c. I n informe q u r muestre 10s canhios en la cantidad en mano dc catla protluc.to en

1111 peri tdo d r t r rs mrses. d. ITn infimnr que murstre la (*antitlad en mano artual tle (satla produeto, junto con

el t.osto pronwtlio y el precio artual por catla prodlieto.

3. Claslfique 10s tipos siguientes de informacibn s e g h sea ruis significativa a1 nivel ope- rational. tlireccibn intermedia o r~ivel ejecutivo: a. La pol~laci i~n tle Clark County es tle 500.000 y sr ha duplirado en cada m a de las

i~ltitnas tlos tlbcatlas. b. La tleutla tle los Smith r s t i pasatla en (10s meses. r. Beck)- Daines se cash y ahora su segundo apellitlo es Martinez. (1. G~llen . . . . e. iEl cheque tle 'Kilson fur tle nurvo incol)ral)le! f. Los costos de reparaciOn para el eqnipamiento viejo de la f ibr ica dc Charlesville

est in por 10s aires, es imposible encontrar ni~evos empleatlos y 10s rostos de transporte tlmtlr y hacia Charlrsville comienzan a ser exorl~itantes.

4. En nna organizaci6n geogrificamente distrihuitla. iqub tipo tle informacihn seria necesario centralizar y c u i l necesario localizar? a. Las leyes sobre impuestos salariales de nn pais. h. El pago total del salario mensual tle una filwica. c. Las vrntas ruensuales tlr una oficina tle ventas p r linea de produrto. d. La7 ventas semanalrs tlr una oficina tle ventas por representati\tr de Frntas.

5. Analice las estrategias siguientes de proyectos de planificacibn de bases t k datos: a. El equipo del producto gastb un aiio con~pleto entrekistando al menos a un ofici-

nista por cada unidad tle procesamiento en la twmpaiiia.

Page 98: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS EN LAS ORGANIZACIONES 8 1

1). El rclnipo tlrl proyrcto invcstigi) c~l idat loian~entr la iiiforniatihn q u r sr necrsita tlr la ofirina niatriz. p r o no gasth t i r n ~ p o en las ofitinas ran1alt.s porqur rstahan s i ~ l t ~ intrrrsaclcrs r n la inforniati0n de alto ni\ el.

6. Clasihrar r n catla uno tlc 10s piiiitos siguirntrs. tlriitro dt* las t awas d r atlministracih d r I)aars tlr clatos tle t l i 4 i o . forinaci6l1, srgi~ritlatlIintt~gritla(l y 1-cwtlin~irrito. a. hltrstral-le a 1 1 t h Blo~nquist chmo twnstri~ir m a twiisnlta pard itlentifiwr PI

porceiltajr ~ ~ r o n i r d i o (I(. tlrvolueionrs tlr catla prodlit.to. h. Rrtlucir r l tirmpo dt. rcipiwsta a la rntracla tlr nn ~) rodnc to rii doi srgundos. c. Rrhacr r las twntrasctiias para eatla usnario dcl i i s t m ~ a . (1. Kelationar tlircctaint~nte cada \ r n t a t80n r l rcpresentantr tlr I r n t a i tpir la hizo.

7. Itlrntifirar las dif'ienltades potrntialrb en las iituacionei iipuirntri: a. 1111 hrra fnnrional r i t i r e a c h a clue otras areas ac*t*ettan a i n i datos. 1 . 1111 t l i r rc t i~o rul)rriinrntado inicia un ~)royecto de 11aw tlc datos sin r s ta r eoni-

~ ~ l c t a n i n i t r eon~rnc i t lo de i n valor. r . St, ha caido la conlputadora qnc controla liila 1)air tlr tlatoi tvitralizada. d. Un iiitcina r n linra necesita un titwipo tle respuesta m i i ripitlo tint. el q i ~ e pi~rt le

1xo\wr '1 SGBD. r. El iniico administratlor tlr hait& (16, datos d r lina twnpaiiia t.11 una pr tpei ia ciu-

tlatl ha pasado a t r a t ~ a j a r para nna coinpaiiia en otro Estatlo.

8. I(lt~ntifiqnr loa nihrlrs 4NSIISPARC tle catla 11110 d r 10% 11nntoi signirntei: a. Un indicr qur nos tla la tlirc.rc.ii,n en tlisco tlr cads rtyiitro m un arrhmo PEKSON 1L. h. Una versibn part ia l tIc.1 a r c h n o P E R S O h 4 L t1uc contitanr sOlo rl ntrnibrr y la

tlirrcci6n tlr cada rml)lt.ado. c. Una conibinacihn tle 10% datos tlr las transaccionrs tit. \tSntas ! 10s tlntos tle 10s clirn-

tes clue niurstra rl nlimrro dc prodncto del produeto , rnthtlo ! el niirnero de clirntr. a l l n o n h r r j sn dirrct*i6n, p r o no muestra el n1'11nrrtr tlrl rq)resentantr de ventai.

d. 1Tn arrhivo que da la tlirrc~*iOn e n tlisco del registro tlr nn empleatlo jnnto con la tliret.t.~ont- (TI disco de 103 regiitroi tle todos los einpleadoi elepend~entei.

r. Ilatos q n r n ~ i (Ian 10s nomhres de totlos 10s arc.hi,os y campos en la ha i r d r datos jrlnto t80n lai dcfiniciones d r las interrelationei r n t r r 10s campos r n 10s diferrii- tes arrhivos.

9. I tki i t i f i tpr las finitiones tlel i is tnna d r informaci0n clue para llevarse a cabo puetlrn nsar loi conjiintos signientes tlc clementos d r datos: a. P a r a m a tirncla por depr tamrntos : nlimero del producto, prccio regnlar, pre-

cio de venta, costo, c.anticiat1 vendida, departamento. representativt~ tir lentas . tarifa tlr coinisi6n, suprrvisor. (Ejtmplo: Uzando r l precio regnlar. el prvcio de venta y el costo, se piiede ealcnlar la ganancia y el prrcio de venta.)

1 . P a r a una firma consultante: consultante, rango dcl consultantr. la tarifa horaria por rango, cliente, t i p d r cliente, horas clue un t*onsultantr trabaja para nn t-lientc particular. fecha en lab clue se aplican las horas farturatla*, t i p de pro- ~ e c t o . lider dc proyrcto. (Ejemplo: Usantlo consultante. rango, tarifa. horai tra- bajatlas y fwhas, sr p ~ ~ e d e calcular el total facturado por el t rahajo de un (-on- sidtante para un t.licnttb en un nirs.)

10. i E n qui: paso(s) tlrl CYDBD podrian llevarsr a caho cada uno de 10s puntos siguirntrs? a. Ohtenrr un t4ltwlo razonal)le del costo tle operaci6n d r un sistema de base d r datos. h. Determinar 10s art.hivos que se utilizan para el informe de ventas trimestral. c. Determinar si la o rgan izac ih tiene gente que es t i t6cnicamente calificada para

cliseiiar y administrar una hase de datos. d. Drterminar las funciones qiir se llevan a cabo por el sistema d r curntas pagahles. e. Introducir 10s datos m la 1)asr de datos. f. Identificar la informaci6n cIue necesita el administrador del departamento de

adquisicihn rrlativa a la calidad del servieio de los vendedores.

Page 99: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

g. Ileterminar 10s camhios nccesarios para 11:rcer rnis efectiva la hast: tle tlatcrs. h. Especificar la estructura conceptual wmp1t:ta de la h e de clatos. i. Escrihir y verifirar programas tle aplivacibn d r 1);rsc cle datos. j. Deterrninar (pi. funciones t:1 sistrma tie lmse cle datos realizari en c d a Area. k. Determinar t:uAndo la tet*nologia clr las t:omunirat:iones es sufitientemrntc pode-

rosa para hacer que un sistrma tlistrihuido pot- todo el mundo sea pr&t*tico.

11. Expliqur rirmo la informaciOn t:onccrniente a las aplicaciones artuales y a 10s archi- vos t p r w han ronfornlado tlurantr la p1anific:acihn prcliminar plieden usarse para auxiliarnos a determinar 10s recpisitos fntnros de informatihn.

12. Indique ltrs formularies prrimpresos clue pudirran usarse en ratla uno d r 10s siguien- tes rasos: a. Una c:onipaiiia de scgnros. b. lJna compafiia tlr electritidatl. r . Una tienda por drpartamentos. cl. Una univrrsidad.

1. Entrevistr a un ejecutivo tle una gran organizarihn qut. haya rontlucido rt.t:irntenirntr un e s t u t h dc planificat:i6n rstratkgica d r una base d r datos. Determine las rt:spuestas a catla una d r las siguientrs preguntas: a. iCual fue la t:omposici6n drl e q u i p drl proyecto? 1Cuintos mirmbros tuvo t:l

rquipo y cuil fue su experirntia prcrfksional? iFur designado un twnsultante como asrsor del equipo?

h. iCui l fue la naturalrza dcl director general encarpado drl proyecto? ~ C r r i a Gstc en el kxito potrncial del proyrcto o estaha rst:+tico? i,Quk influrncias tuvo sn comrti- do en la artitud d r otros empleados?

r . ;,Cuil fur el resultado del proyec,to'? 1% comprb un SGBDY ;,Se diseiih r instal6 una nurva l m e de datos? 1A cuintas hrras funcionales y nivel(:s tle tlirecciirn da servicicr la l w e de datos y sus programas tle aplicaciirn? i,Fnrron consideradas 1)asrs tle datos distrilmidas? iCnilrs son 10s planes d r h s e s de elatos futnros de la orpanizaciirn?

2. Escriba un articulo de invrstigaciirn solwe la diferencia entre un administratlor d r tlatos y un administrador de hase de datos. Detrrrninr si en la pi-it:tira la mayoria de las organizacicrnrs distinguen entrr 10s dos.

3. Escriba un articulo d r investigaribn soLrr una haw clr datos que haya frat*asado. Tra- te de determinar por qu6 fracas6 el proyecto. iQuk rirt:unstantias existieron en este caso que putlieran no existir en otros casos? iQuk leccionrs se putden extraer d r la experirnria de la grnte en el proyrcto?

4. Escriba un articulo de investigaciirn de 10s aspectos que twnducm a1 infornie .ANSI/ SPARC sobre arquitertura de tres-niveles. ;Pol yuC el comitC ret:omentlir estos nivrlrs? i,Cuiil fue el contrxto Iiist6rico tle este informe? iSe tlrjaron algunos asprt*tos sin resolver?

5. Examine 10s archivos y las funciones de un sistema d r aplicacibn instalado. Disruta el sistema con algunos de sus usuaricrs y determine si ellos qurrrian qur el sistema lleva- se a caho otras funciones. Identifique club, elementos de datos drl sistema actual y cuii- lrs rlementos d r datos nuevos sr requeririan para las nuevas funciones.

6. Investigue sobre el concepto tie ciclo de vida drl tlesarrollo de la base d r datos en lihros y revistas actuales. Trate de identificar versiones del CVDBD clue sean diferentes a las que se han dado en este capitulo. ;Q& tienen estas versionrs en comun? Tratr de sin- tetizar las diferentes versionrs en un iinico !. genkrico CVDBD.

Page 100: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

P A R T E

DISENO DE BASE DE DATOS

E n la parte 11 se tratan 10s prohlemas de definicihn de requisitos, diseiio Ihgico y diseiio d r implemmtaci6n en el ciclo de vida del desarrollo de la haw dr datos. En la medida que se vaya avanzando en el material de esta

parte, el usuario i r i desarrollando habilidades en el anilisis de requisitos, disfio con- ceptual de hase de datos, normalizacibn e implementaci6n del modelo relacional de datos.

En el Capitulo 4 se introduciri el diseiio conc:eptual y se ver i c6mo se pueden usar 10s ronreptos de interrelaciones entre ohjetos, atrihutos y generalizaci6n y especializa- rihn para crear modelos d r informacibn. Tamhiin se aplican estos principios para disr- iiar soluciones de prohlemas mis complejos. Se discuten y aplican ttcnicas sofistic:atlas d r anilisis y diseiio a una variedad d r ejemplos prirticos en una amplia gama cle situa- riones d r negocios.

El Capitulo 5 introduce el modelo relacional y explira su significaci6n en la histo- ria del proresamiento (it. base de datos. Este es el modelo predominante en los entornos d r negorios de hoy dia para la implementaci6n de nuevos sistemas. TamhiCn se define e ilustra rl proceso de normalizaci6n de la base de datos y la conversih drl modelo con- ceptual.

Page 101: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRINCIPIOS DEL DISENO CONCEPTUAL

DE BASE DE DATOS

Realidad, definicion de requisitos y modelado con- ceptual de datos Realidad y rnodelos Modelos conceptuales de datos

Fundamentos Objetos Especializacion y generalizacion Relaciones Cardinalidad Atributos

Claves Especializacion/Generalizacion y Atributos

Ejernplos Ejernplo I: El modelo de datos de un banco

Cardinalidades Especializacion de 10s clientes del banco

Ejemplo 2: Huerto fruticola de Stratton Ejemplo 3: U n problerna de Iogica

Construir modelos conceptuales de datos a partir de 10s informes existentes Caso: Servicios de Consultoria Manwaring

Estimados Recepcion de efectivo

Desembolso de efectivo Un modelo de datos para las cornpras Un modelo de datos para facturacion de pro-

yectos Agregacion

Ejemplo 4: Cornpaiiia constructora Premier Ejemplo 5: Huerto fruticola de Stratton (con-

tinuacion) Ejemplo 6: Servicios de Consultoria Manwa-

ring (continuacion) Modelado conceptual de objetos contra objetos

fisicos El problema de una biblioteca Crear el modelo de datos de una Biblioteca Rastrear las piezas fabricadas Objetos conceptuales para 10s servicios de

consulta Integracion de vistas: Un ejemplo Resumen Preguntas de comprobacion Problemas y ejercicios Proyectos y cuestiones profesionales

Page 102: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRINCIPIOS DEL DISENO CONCEPTUAL DE BASE DE DATOS 8 5

laramentr c-atla nna de estas ncwsidadrs tle los usi~arios pnrtle satisfat*cwt* (*on Iln .sistvma tle l m e cle tlatos. Taml)i(.n csth c lam q n r c ~ o s tres ~isiiarios tienell newsitlades clifel-enttbs. Es Ihril ver qne hay hastante solapamicmto en

los t i p d r tlatos clue los trvs ~isiiarios requicrcn. La tarea tlnrante la tlefiniti6n tle lob rcX- qnisitos y el clisefio conceptnal ibs identificar las nece?;itlatlt.s 11Asiras tle clntt~s j crear los motlelos ronwptnales de low tlatos clue nos ascyirrn registrar 10s datos newsarios y las rcb- lationes entre 6stos. Despnbs tlc leer este cap i tdo , el 11slial-io t ldw ser rapaz t l i ~

llsar las t6cmit*as basicas tle modelatlo concyt i ia l tlr tlatos para la c ; q ~ t i i r ; ~ tle los tlatos y las relariones entrcb rllos inherentrs u t w d t a s simples de los nsilarios y a 10s informt.~ ); formdarios existentes. Mostrar r0mo s r 1111edeii c.rclar ronjuntos d r o1)jetos agregaclos a part i r tlv las rela- tiones rxistcntes y rhino Gstas lunrionan wino ronjnntos tle ohjetos qut. t i enr l~ ati-il~ntt~s y q w partiripan m las rrlaciones. 1)einostrar cbmo las nwrsidades tie informacii~n clue ocurl-en con frrc.uencia vn 10s negocios se ~nicclen satisfarer nsando estos conceptos tle nioclrlatlo tle tlatos.

Realidad, definici6n de requisitos y modelado conceptual de datos

IJos p r o r e ~ ) s & tltfinicihn cIe los rc.qniiitos tlel tliieiio concvytual euigen itlrntifit.ar la* cxigenrias de la iiiformaci6n d r 10s n s ~ ~ a r i o s y re1)reientar 6stos eri un motlrlo I ~ i r n tlefini- do. P a r a Ilcvar a t - a h esto nt*resitan~os o h i c r ~ a r c d a t l o s a m e n t e la naturalezu tle la i coil- dicionrs d e los usnarios > el significatlo preciso rle la representari0n Ihgica tlr lo* miimos.

Realidad y modelos

modelo. Una i.()nG cbs n n niodelo? Un modelo t+ una represrntnrihn cte la rcalidad que wnserva s61n los r c l w e w n t a ~ i i ~ ~ i tle la dctallrs relevantrs. P o r ejemplo, twnaidcrrmos una transawihn I)ancaria tal corno nn ~wlitlacl quc r e t i e ~ ~ r tlep6sito en una rnenta corriente. Ccrntatlnria d rs ra t:onservar eivrtos tlrtalles (niimero tle sblo drtalles la clientn. nionto d r l ckphsito. tienipo, feeha? niinirro del sajero) e ignorar otros (la5 pala- sclcccionotlos. I ~ r a s t ~ n v sr lian intrrcamhiado dnrantr la transaccihn. el njimcro tle gente en el hanco. el

niirnero clr personas cjne t,stal)an esperando en la cola. la rnilsica q u r se e s t a l ~ tocantlo en el aadio local. las condiriones d r l clima fuera del banco, etc.). La rralidad involurra UII sin- n imero tlq detalles. pero contaduria considerarii a la rnaytrria tle rllos irrelwantes para In transat:c:ihn. De motlo qne un motlrlo, desde el punto de vista ck Contaduria, conservarh shlo aquellos drtalles que Gsta considere relevante. '

Page 103: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

PIK sq)uesto, algunos detallcs consit1t:rados irrc.levantes [lor 1111 usuario puetlen s r r n ~ u y importa11tt.s para otros usuarios. Iniaginemos, por ejemplo, clue se cs t i tles;~rrollan- do un sistrina tle base tle datos para un restaurantr tie conlitla r ipi t la . Lns t:onclitiones d r l t.linia puetlt:n s r r asprrtos sipifirativos tle la r td ida t l tlvl aclministratlor tlel rtsstaurantt., pt :s to t p L U I I &a frio tlelw ofbrtar un c*onjunto tle ensaladas has ta r~ t r tlifercwte tlel tle 1111 tliu rilitlo. Corno resultatlo, el aclministratlor drhe tltasear potler t rner en rnchr~ta estos t.an- I~ios tk t.liina y las br t l r rw clue han sitlo surninistratlas tte at*uerdo taon rsto. El niimero de personas e q ) t v x d o en la t d a puetle scr otro asperto iniportante para la realidad tlel athuinistratlor. pnesto clue bstv newsita esta inforrr~atihn para poder 1dmifit.ar la (.antitlad d r t*;rjeros y rnininiizar el ticmpo tie vspera (I t , nn t.lieiitt:. P o r lo t an t t~ . tliferentt~s nsuarios 11ueden t rner tlifcrentrs motlelos tit: la realitlad.

I!na haw tle datos intwrpora un niodrlo tte la realitlatl. El SGBD atlministra 1, 'I I lase tle dates de modo clue vada nsnario pnt~tla registrar. atwt1t.r !~ ~nanipulnr 10s tlatos clue cvmstitu!eii s11 rnot1t:lo tle la rcalitlatl. Manipillando 10s tlatos en nna i11nl11ia u r ie t l a t l (It- Cormas. 10s usuarios pnetlm o l~ t twrr la informacii,n nrrcsaria para twntlutir U I I ~ en ipr tw (.on bxito. P o r lo tanto, 10s niorlelos son herranlirntas potlerosas 1)ara eliminar los detalles i r r t~ le \an t t~s y c:onq)rentler la rralitlatl tle 10s nsnarios int1ividualt.s.

Motlelar la realitlad re en mnchas maneras similar a reso1vt.r un p r o l h ~ a tle una his- torieta. Arnhos rrtluirren que nos tlesprentlamos de 10s tletalles para wear 1111 rnotlelo .'twrret--

awt-iar (~napi . isot iar to" tle m a portiOn de la realitlatl. Esto signifira qntL sr t l e h asotiar. o itlrl~tificat*. rltw~entos I ~ I I I ~ I I ~ S I n n t i de la rcalitlatl con rlenic.ntos en t.1 n~otlelo. Si esta asot:iac.ihn st: hare t.orrtv.tamentr. t:ntont.rs (.on t.l(wwtos tw otra el rnotlelo s r 1)urdr usar para rc-solver t.1 prol~lema. De lo twntrario. el modelo no 11nrtle pro- t.~Ft~t.;~. tlutir uria so1ut:ibn taorrerta. M u c h gmte rtit*ut.ntra tine (11 I ) ~ ~ o l ) l e n ~ ; ~ tle las historietas rs (lifi-

tail 1)ort1ue no s r sivnten c.Omotlos (.on rl prot*tw d r asotiacihn en si ~nisnio. De Ilt~.ho. 1;1 F i p r a 4.1 l m d e r rpr twntar SII 1)ropio enCot1w tle 10s p ~ l ) l e n l a s ( I t s historirtas. Si asi f'uose. eslwrarnos a y ~ t l a r l r a sentirsr niis thnodo (.on el rnotlthtlo e itlrntif'it~atihn (11, la rralitlatl. Se t ~ o n ~ e n z a r i con c o n r e p s tle rnotlelado si1111)lrs y 1)isitw y st* mostri~rh t~')mo bstos pnrtlen usarse para t.onstruir, paso a t w o l m a solut%n l ~ o t l t w m a lo t p e pnetle 1ww.er 1111 l)rol~le- rna t:omp!t.jh En la tnrtlitla qne se t.studien los rjrniplos. y se tra1)ajv a travbs t11' lob 4jerritios y 10s rasos, se podrin desarrollar hal~ilitlatles signifit*ati\as para el ~notlelado tit. t1ato.i.

EL L A D 0 LEJANO, por GARY LARSON

La Biblioteca del Diablo

Fuente: Copyright 1987 Universal Press Syndicate. Reirnpreso con perrniso.

Todos 10s derechos reservados.

Page 104: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRlNClPlOS DEL DISENO CONCEPTUAL DE BASE DE DATOS 87

I MODELOS E N LOS DIFERENTES NIVELES

Aunqur puede no ser obvio, se ha estado usantlo el ttrmino modelo a tres niveles diferentes en nuestro examen. Estos niveles (no relativos a 10s tres niveles de la arqui- tectura ANSIISPARC) se ilustran en la Figura 4.1s.

En el nivel nlis bajo se dice que el estado en curso de una base de datos en par- ticular es un modelo de la realidad porque es un registro de hechos seleccionados sobre la rralidad clue son verdaderos. Por ejemplo, la base de datos puede registrar el hecho: "Marnaret Smith vive en el 845 Puente Avenue." Si Margaret cambia de " " direcci6n. rntonces el estado de la base de datos debe cambiar si quiere continuar como un modelo prwiso de la realidad.

En el pr6ximo nivel, el esyuema se describe en la estructura de la base de datos t:omo un modelo de un conjunto de modelos (rsto es, es un modelo de un conjunto de estatlos de la base de datos). El escpema modela un enormr rango de estados de la hasr de datos, tlefinientlo aquellas caracteristicas que todos estos estados tienen en comun. Asi, "Nombre" y "Direcci6n" sr registran en el modelo como caracteristicas que se aplican a diferentes personas y t p e dambian d r tiempo en tiempo.

.LU nivel mis alto, la metodologia de diseiio describe las construccionrs y redas yue pueden ser utilizaclas en la formulacihn de un esquema . Por lo tanto. este nivrl es tambikn un modelo de un conjunto de modelos (posibles esquemas de bases de datos). Una metodologia dada de diseiio, tal como el modelo conceptual de datos o el modelo relacional, es un modelo a1 nivel mis alto y describe en ttrminos generales un conjunto potencialmentr enorme de esquemas.

En resumen, se habla del modelo conceptual de datos como de una metodolopia para la creaci6n de esquemas de bases de datos para situaciones yarticulares de apli- cacihn. Estos esyuemas de bases de datos son en si mismos modelos qne proveen una estructura l6gica para capturar hechos sobre una porci6n particular de la realidad. Cuando estos hechos son capturatlos y registrados en un sistema dr base de tlatos, entonces la base cle datos en si misma es un modelo del estado actual de la realidad. Cada uno de 10s dos niveles superiores de la Figura 4.1s es un modelo del nivel clue tiene debajo.

I Nivel del medelo Ejemplo de modelo Construcciones tipicas

Metadologia de diseiio Orientado a oljetos, Objetos, relacionrs, relacional, etc. tablas, columnas

0 a &. 0 g 5 w

G es Esquema tle base de datos Esqurma de base de datos Persona, nombre,

direccibn, empleado-por I

Estado actual de la realidad Base de datos Margaret Smith 845 Puente Avenue

Page 105: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Modelos conceptuales de datos

n~otlelo sen~int ico. I n lllotll~lo 'I"" ""l'tnra lo5

sipnifiratlos tlc lai cmtitladcs tlcl nnindo r e d ? sns ~n~errelat ione\ .

I na nwtotlologia tit. m o t l t h l o tit. tlatos (lilt. sc. t.stntliari y i~ t i l i za r i rn rs t r t.apitulo potlri;~ Ilan~arsr, inodelo or ientado a ohjetos I)ortlue c*onsitlera la r r l~rrwntaci t in tv1 la cwnl~uta- dora tlt. las t~ntitlatlt~s tlel innntlo real w m o "ol)jetos" clue tienril 311 ~ ) r tq ) ia itlcwtitlatl !- atri1)utos y ([III. partit*ipnn en las relationes. en lupar de la forma t ~ ~ ~ r l i r i o n a l tle twnsielt.- rarlas t*onio rt~gistros en it11 sisteina orientatlo a a r r h i ~ o s . Ks generaln~rnte rtwmotitlo ([lit. las rt-lu-ewntwiones orirntadas a ol~jeto son n ~ i s 1)rrcisas para espi-rsar la t w n t i a 1hgit.n tit* l w aplitwiones del mnudo real clue las rrpresentarionr.; Imaelas tsn rt-gistros. For rsta razhn. t.sta nietodolopia taml)ii.n pnedr llaunarsr s m ~ i n t i c a l)c~'1111t~ p r o ~ w r t i o n a 1111 n~ t~ t l io ~ ~ ~ l e r o s o para asoriar los sig-r~ificutlos tle las cosa:, en la rralitlatl (-on las t-o~i~trttt.c*ioirt~s en el ~notlelo. l k s t l r prinripios tlr 10s sr t rnta han sitlo p r o l ~ w s t w v a r i o s n i o t l c h t.ont*eptun- les y semhnticos tlr tlatos. Sr t isar i nna metotlologia yn61ic.a tits inotldatlo. la twal tieoe aspet.tos en von~fin ron las inetodologias l)rol)ne.;tas. Por ~ i i u l ~ l i t i t l d a lo largo del 1il)i-o se le l lamari a este modrlo motlrlo corlcrptuul tlr tlntos. '

Rn el Capitnlt) 2 st. intrt)dnjo un c~jtwiplo qnt' 1oostral)a un inotlelo tIr elatos ~ o n e ~ q - tltal srnc.illo. rihorri rs tau~os listos 1)iu.a tlelinir estas ideas d r niotlo 111is ~ ~ l w i s o !. atlirio- nalmrnte introtlue.ir c ~ m c ~ p t o s inis potlerosos. 10s cwales nos l w m i t i r i n definir nroclrlos

iMODELAD0 SEMANTICO U ORIENTADO A OBJETOS?

L a s haws de datos orientadas a ohjetos son el resultado tlr la convergencia d t ~ dos disciplinas de investigaciirn: el modelado sen~in t ico de datos y 10s lenguajes orienta- dos a ohjrto. Estas disciplinas se tlesarrollaron tle manera independiente, pero en 10s orhenta cwmenzaron a mezclarse con importantes iniplicaciones en el procesamiento cle bases de datos.

El modeludo sernuntico de datos fu r originalmente desarrollado con el prop& sito d r incrementar la efectividad y la prrt-isitin tlel diseiio tle hases de datos (Hull and King, 1987). Los mitodos de modelado srmintico fueron ronsiderados apropia- dos para muchos prohlemas de nsuario y podrian ser conwrtidos cwn facilidad a modelos con realizaciones hasadas en registros tales como 10s modelos jerirqnico. de redes y relacional. Abrial introdujo el modelo hinario semantico tle datos en 1974, y is te file continuado dnrante 10s aiios siguientes por el motlelo de entitlad-rrlari6n d c Chen (Chen, 1976), el modelo semintico d r datos (SMD ' ) tlc Haminer y McLeotl (1981) y el modelo de datos funcional (Shipman, 1981). Estos y otros niodelos d r datos, asi como extensiones de estos modelos, enlocan el prohlema del motlelac!o de datos, con el propbsito de disriio de hasp de datos, desde varias perspertivas. Estas tienen en romhn el o1)jetivo de proporcionar un niedio de capturar la semrintictr o sig- n i f i c d o tlrl area de aplicari6n q u r sr es t i modelanth. El modelo de rntitlad-relaciirn de Chen (E-R) ha sido el morlrlo semintico m i s popular y coinfinmentc se purtlt. tm:ontrar en lihros sobre mocielatlo t:ont:eptual de datos y diseiio tle hases de datos.

Micwtras q u r aquellos dedicados a1 modelado semintico de datos tienrn q u r ver primariamentr con las estructuras de 10s datos, 10s que desarrollan 10s lenguujes de progl-urnuci6n orientados a ol~jetos es t in m i s interesados en el comportamiento de 10s ilatos ohjetos. Esto es, es t in buscando formas de manipular 10s datos q u r se centran en 10s datos y en las capacidades de manipulacihn del lenguaje (consults, cbmputo. ac tua l iza t~ ih) . La estructura de 10s datos pasa a un plano secundario.

Page 106: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRlNClPlOS DEL DISENO CONCEPTUAL DE BASE DE DATOS 89

La convergencia d e estas dos i reas surge cuando 10s investigadores conlienzan a aplicar conceptos de 10s lenguajes crrientados a objetos a las estructuras d e datos semhnticas. El rrsultatlo es la noci6n de una base de, datos orientada a objetos. E n esta mezcla de disciplinas, la terminologia orientada ;I objetos tiende a predominar y ~ m r ello se hahla nlhs de ohjetos que de entidades, que es lo que usariamos en la ter- minologia semintica. Adicionalmt:nte, 10s lenguajes orientadcrs a objeto enfatizan varios cont9rptos que no aparecrn en ~1 modelo original E-R de Chen: identidad d e un objeto, j r rarquia d e supraconjunto, suhconjunto d e ohjetos y herencia. Estos se estudian m i s adrlantr. Asi pnes, la metodologia que se utiliza combina el n1otlt.10 E-R tle Chen con conc:rptos del niodelado orientado a ohjetos. El rnodelo E-R consti- tuye la base d e nuestro modelo conceptual de datos y el motl(:lado orientado a obje- tos contrihnye con varias mejoras significativas.

Fundamentos

Los elemrntos principalrs clc un modelo c:oncelrtnal tle tlatos son 10s objetos )- las relacio- nrs. Los olljrtos se concilwn a menudo romo nornbrrs, ! las rclaciones se ven c~omo tw-bos. .1unqne algunos inodelos ronceptualrs (i t* datos proporcionan algnnas constrwriones atli- cionales. 10s o1)jctos y las rrlaviones son suficicmtelnente potlrrosos para 10s pro1)lcnias q u r se cwnsiderariin.

Objetos

Los ol~jr tos rrbl)resrnt;in rosas q u r son importantes para 10s nsuarios en el sc~ginrl~to tlr 1;) realitlad tjur c[uthremos moclelar. Ejemplos cle ol~jrttrs son las personas, los autoinh\~ilvs. 10s irides. las mitluinas lavaplatos, las casas, los rnartillos, 10s lihros. Estos son ol)lrtos twn- cwtos. Ol)jvtos conc:rptualrs son compaiiias. ot'icios. organizaciones, tliseiios tit. protluc.- tos, t r a n s a c ~ i o n c ~ tlr nrgorios y clasificarionrs tle 10s traljajos.

D r lo anterior purtlr no quedar claro c.ninc1o un crhjrto es nna w s a rn par t i cdar (una p r r w n a intlivitlual. un antomhvil en particwl;w, un hanco en eslwc&w) o un c o ~ ~ j w - to tle cosas (totlas las Iwrsonas. todos los autoin6viles, toclos 10s 1)anros). Para (,vital- alnl~i-

conjmito de o1)jetos. giicdatl se u s a r i rl tirrnino corijur~to dt: objetos para referiruos a un c.or~junto (It . ( m a s tle l111 twnjunto tit. cows la nlisma clase r iristaticia (ejemplar) de ohjeto para referirnos a 1111 simple elrnwnto ( o tle la niis~na c-lase. elelnrnto) tlc un c~minnto tle oljit~tos. Como mnrstra la Figura 4.2. se usar in rc~rt ingdo. ;

II : I~;I rq ) r r sen ta r colljnntos t I v oljjetos y pnntos para reprrsrntar las instancaias. El non1- 1m dr un wnjnnto de ohjetos totlo en mayiisculas es la vvrsi6n singular tlel ohjeto. I)e esta

instancia tle 1111 ohjeto. n lan tm. "PERSONAI" es el nomhre tlel cwnjunto dt. oljjetos rel)l-rscmtantlo a la gentt.. 1-na Un ~nitwlnw par t i c~~la r " persona" (en nl ini~s(~ula) es una iustantia del coiljnnto tle ol~jetos PERSOX-1. Se ewril)e tle un cwnjunto clr "prrsona IN PERSON 4" para intlicar cine persona es una instancaia tlr PERSOX.1 o q u r ohjetos. la instancia "persona" r s t i en el cwnjunto de ohjrtos "PERSOR.1".

El nombre del -- - El coniunto de objetos conjunto de objetos

Una instancia J, persona J de objetos

Page 107: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)
Page 108: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRlNClPlOS DEL DISENO CONCEPTUAL DE BASE DE DATOS 9 1

PERSONA

HOMBRE PERSONA

lymmq (a) La interrelacion de especial~zacion-generalization

(b) Una representacion alternativa de especializacion

George

George

Interrelaciones

interrelarion. Un Una interrelari6n rnlaza a (10s vonjnntos de ohjrtos. Considere t.1 conjunto,& o1,jrtos HOM- enlacc m t r e instanriac BRE CASADO y MUJER (:AS-IDA. Sr pnrde definir la intcrrrlarihn ESTA-(XS.il)O-CON tlr tlos conjuntos tie entrr rstos dos conjuntos de olbjetos asociando cads hombre cawatjo con su esposa ( o inver- ol)jt*tos. sanlrnte cacla mnjer casada twn su esposo). La intrrrrlacihn EST.4-C-ISADO-CON consistr

de un ronjunto de parejas d r casados. rl marido qur povicne del conjunto tlt. ohjetos HUM- BRE CASADO y la mujer qilr provirne drl cwnjunto de ohjetos MlJJER CS.4DA. Griifica- mentr sr rrprrsenta una interrelacicin entrr (10s conjuntos de ohjrto inostrando una linra (con opcionalmrntr un diamantr incrustado) conet.tando 10s (10s conjuntos [Figura 4.5(a)].

Una intrrrelacicin rs m si misma un conjunto tle ohjetos consistentr dr pares d r ins- tantias tomadas tie 10s dos conjuntos de objetos clue rrlaciona. Esto es: cada instanria de la interrrlacicin es un p a r d r instancias tomadas de 10s dos conjuntos de objrtos. Si

HOMBRE CASADO = { Adam, D a v i d , John) Y MUJER CASADA = {Joan, L i n d a , M i c h e l l e ) y Ad am e s t a - c a s a d o - c o n Joan D a v i d e s t a - c a s a d o - c o n L i n d a John e s t a - c a s a d o - c o n M i c h e l l e

Page 109: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

ESTA - CASADO - CON = { (Adam, J o a n ) , ( D a v i d , L i n d a ) , (John, M i c h e l l e ) }

Las cblabes ( ( ) ) se usan para intlirar 1111 (.onjunto. La Figora 4.5 (1)) ~noes t ra esta inforn~ac-ion grif i ran~ente. Se \(. (111(. la intc.rrc.lacihn es en ii n ~ i s ~ n a un cvn~iunto tle ohirtos cw! '1s ini tanriai son part.jai tle vasatlos. l ln conjunto de olljetos c.on~o EST1-C 1 S \I)@ (:ON. el vual se tleri\d de un intrrrr lwihn entrv otroi doi ronjuntoi de ol)jctoi. i r l l a n ~ e

HOMBRE MUJER CASADO CASADA

(a) La interrelacibn ESTA-CASADO-CON

HOMBRE MUJER CASADO CASADA

Adam Joan

David Linda

John Michelle

(b) Algunas instancias de ESTA-CASADO-CON

MATRlMONlO I I 1

HOMBRE CASADO

(c) El conjunto de objetos agregado MATRlMONlO participando en interrelaciones

MUJER CASADA

Page 110: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRlNClPlOS DEL DISENO CONCEPTUAL DE BASE DE DATOS

SUPERVISOR TRABAJADOR

SUPERVISOR

Heidi

Craig Ralhp

JoEllen

TMBAJADOR

(b) lnstancias de la interrelacion SUPERVISA

(a) La interrelacion SUPERVISA

rlrs ! 1'1 iuterrrlac~ihn INGRESOS las conrrta twn el total 1 1 1 x ingrrios t . o t ~ ~ l ~ i t ~ , ~ t l o tle aml~os .

Cot110 otro rjrinl)lo tle nna int tw-clacih cwniiderr~iios 11), 110s i ~ i l ~ t * o n j l ~ ~ i t o s S l PE1.I- \ TSOR \ TKAUAJADOR tlr una con~pafiia de empleatlo.. Se tlt.fiiitm 1;1s instarwas tle T K \ B ~ , ~ ~ D O R t*oino tw~pleados clue no super\isan a otros tml,leatloi. P:l con611nto SlII'EK\ ISOR twnslstt. tlr 10s enipleadoi que s r ~ p e ~ v i i a n ;I 10s tra1)ajatlorei. l,a ~ n t e r w l a - t*iOti SLIPERVISA (ol)ii.rvese el uio del verho) asotiatla a ratla supw\ i io r tv)n loi t r a l ~ d ~ d - t lorei qiw &tr s i i l~cw isa (Figura 4. h(a)). l,a Figui-a 4. h(1)) ejrnip1ifit.a ii i i tantiai clue pur- rlrn entbontrarw tm la interrelaci6n SU PK KVIS l.

La ge~irralizac~ihn/c~sl,ecializaciOn rel~rrsetita rtn ti110 c.spwia1 tle ~nterrelatnihn. I.Iecr~Crelrse clue em la F i g ~ u a 4.4 tlos p n t o s cliferetitrs ~-el)rt~sc.iital~an a la niiirna prrsona George. El pnnto qur r n HOMKI.IE r r l~res rn ta a (;rorgr es t i relacionado por niedio tle estd interrelatihn dv snl)twnj~~iito con rl I~llnto qne rti PERSONA rvprcsenta a George. En eke- to. todo piinto tbn HOhlRRE rht i rrlat.ionatlo con c.ut.taintmte iin punto en PERSON \. Sin rinl)argo, a l p n o s I)untos r n PERSON4 rstrin relacionados con puntos en M C I J R K . Poi- tanto. todo punto r n PERSON4 r s t i 1-elationado con cero o con un punto r n HOhl- BRE. Estr t i p de informatGn s o l w las intt~rrt.latioiws se puede exprrsal diiatliCtitlolt. c*ardinalidad a 10s tliagran~ds.

Cardinalidad

c~a~-tli~lalitlacl. El i i h r r o La rardinalitlatl tit. rina rvlacicin se refiere al uirinero ~nhuiino tle inst;lnt~iils tm 1111 t*oiijr~~i- niLwno tlr instancias tlr to tlr ol)irtos ( ~ u r rstri rt*larionatlo con una Gnica instancia en el otro t-oniunto ( I t * ol~ietos. 1111 coujunto tlc o h j ~ t w POI. r j rml~lo. si se a-lun? tluc cada persona casatla tiene ihlo una rsl)os;l. la t~artlinalitlatl que p c t l c vital tle la intrrrrlatihn EST4-C\S 4DO-CON es 1 en catla diret.t*ihn (Figura 4.7). relationado rorl una 3ola initancia tlel otro c~)~l j lol to tle o1)jrtoi.

Page 111: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

4uncpie normalmrntr rstamos interesados $610 vn la mixima c~ardinaliclacl, a veces es h i 1 especificw la c-ardinalidwcl mimrna. Sulmngamos. por ejeniplo, que restarnos la in- terrelaciOi~ EST1-C 1SiDO-(:ON a In i1iterrelaci6n clue existe entre 10s conjuntos IIOM- BRE ! MI JER [Figlira 4.8(a)]. Pnvsto (pS 1niic.1ios honil)res y mujrrrs no r s t i n casados. la rartlinalidad miniilia rs t w o ru an~lms (111 cwiontbs. Se ewri1)iri "0,l" m i s cerca dr l cw- j ~ i n t o tle ol)jrtos V l ' JER para iiitlic.dr clur un honihrc. dado r s t i (.asado con cero o con una m ~ ~ j r r . In\rrsanirntr rl 0.1 wrc-dno dl coniunto d r o1)jrtos HOMBRE in&-a q u r ratla inujrr r s t i (.asatla con cero i, con un homljrr [Figoras 4.8(h.c)].

I lgu ias interreliwiones no tirnrn un valor rsl)rclifico para la c.ardinalidat1 rniixima.

iiifira '~uiuc.1ios"'. I111 c ~ s a m t ~ i t t ~ stt ,~su i i~c~ t[11(~ tin t r i h j a d o r tirnr un y 4 1 0 un s u p r r ~ i s o r . ])or 10 (1ur la cartlinalitlatl ttn la otra tlirwci0n (.s 1,l (Figiira 4.9).

[,as cartlindlitlatlrs d r la in t r r r r l ac ih tlr rsprcializacihn o snl~cwnjiinto son sirrnprr las ~ n i s l n a ~ . Catla instancia rn rl con junto tlr grnrralizaci6n r s t i rc,lacionada (.on r r ro o una ins- tdncia drl ronjunto tlr rsprciali~ic%~n. ! vatla iuitanria drl conjunto dv cy~cvializacihn r s t i rrlaciona(1a (*on raac8tauimtr una instanria rrl rl conjunto d r p n t d i z a c i h n (Figura k.10).

La c*ardinalidad miwima rs un c8oncq)to muclio m i < imlrortantr q u r rl d r la rartlina- litlatl minima. P o r lo tanto, 1)ara sinil)lific*ar 10s diagramas. la rartlinalidad miriima s d o sr

b. HOMBRE MUJER

a.

Todo hombre esta casado con 0 o I muler

MUJER

HOMBRE MUJER

Todo muler esta casada con 0 o I hombre

(Los d~agramas de mterrelac~on se pueden leer de izquierda a derecha y de derecha a izquierda)

Todo supervisor supervlsa I o m k trabajadores

SUPERVISOR

Cada trabaiador es supervisado por solo I supervisor

. 1 1 1 I " TRABAJADOR

Page 112: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRlNClPlOS DEL DISENO CONCEPTUAL DE BASE DE DATOS

HOMBRE r l intlic~ari (wando sea necaesario. Excq)to en la iiitc~rrelatihn de s~iI)(-o~i junto ( r ~ n a nninn~a c*artlinalitlatl lue disc.utitla anterioriiicmtr). las cardinalitlades uiiniinas 11ue +e O I I I I ~ ~ I I

s t ~ h i i as~niiitlas coino wi-o, Uiia cai-tliiialitlatl iiiixima tlr I rii uiia tlirewi6n tle uiia iiitcrrelat~ihii t.01 rt.sl)olltlt.

cwii el coiicq)to niatrinitico tlr f'uncihn cjue detrrniind nna coriwl)ondrii&i uno-uno I )

i i i~~chos-a-uno entre dos cwnjuntos. 1'01- lo tanto. una interrelaciOn con uiid c.artl~nalitl,~tl iiiivir~ia tlr 1 eri nnd direc&n es llaniatla funt*io~ial en esa direwihn. La interrrla1.1611 sul)er~isor/tral)ajatlor tle la Figura 4.9 es fiincional tle trabajadoi- a suprr\isor. Es tletm-. ii se s a l ~ clue t.1 trahajatlor t.5 quiru hicameli te detrrniind S U sq)er \ isor . Esta i i ~ t r r r e l ~ i - cihii ILO txs f~iiiriondl en la ot ix tlirecciOii, pursto qutX 1111 s ~ i p t m i s o r 1)1it~lt, tenel. I I I I I C ~ I O ~

ti.al)ajadores. Si la cwdiiialidatl niixinia en amhas tlirecarionrs tle m a interrelac.ih11 e i 1. +I, tliw

cine la interrclaci6n r5 uno-uno. Si el iiiixinio rs 1 r n una (IirtwiOii ? ni~i('hoz c11 la t)tril t l~rcccihn, se tlicr cjue la relarihn es u n o - ~ ~ m c h o s . Finalmentr . si las cartlinalitldtlrs ~nhai- lliil* ion n~ucllos en a n h a s diret*cioiics. sr (lice qur la interrelaci0n rs ~ ~ ~ n c h o s - ~ ~ ~ u e l ~ o s . La T d ~ l a 4.1 resurilr Ids tres cartliiia1itlatlt.s I ~ i s i c w tle las iriterrrlarionei.

Atributos

Cardinalitlad Uotat*iOn Un marido tiene UJLU esposa. Uno-uno I : 1 15 1-1 Una esposa tiene un maritlo. Uno-muchos 1 6 1 - (la interrelacihn de matrimonio es uno-uno. ) lilnchoi-mnchoi *:* ; *-* IJn empleado e s t i en un departamento.

Un departamento tiene muchos empleados. (La interrelaci6n de enipleo es uno-muchos.)

Un estudiante s igw muchos curso.;. Un curso tiene muchos estudiantes. (La interrelacibn de matricula es muchos-muchos.)

Page 113: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Ljn a t r ihu to tlr 1111 01)jt'to r " i - .~a l~nr i~ t t> llna intr1.relati011 t ' l~ntional tlr r s r c o ~ ~ j ~ ~ i i t o tlr ol~jt-ttrs tZon o t ro ronjilnto ( I t . ol)jt.tos. Dos tlr 10s ; ~ t r i l ~ u t o s v n r ~ n ~ r r a t h iuitrriorinrntv sc, murs t r an ronio in t r r r r lar ionrs r n la F i p ~ r a 4.1 1. Sin rmlmrgo. s r r i twn\~rnirntt* I-lbl)l'r- s rn ta r t1l~1111ok a t r i l ~ r ~ t o s tlr Ittanera m i s .siml)lr. tal rolllo ? r ninrstra r n la Figlira 4.12. IUOtesr t111t' r l 1i01nI)rr (1r la intrrrelac.ihn y clllr t.1 nonil~i-r dt.1 ol),jt~to sta c.oniJ)inan ril t i r r to srntitlo p a r a iorniar r l n o l ~ ~ l ~ r r tlrl a t r i l ~ ~ ~ t o !rbl)rc.ialnwntt. F E C I J U E . V . i ( ~ J ~ l I ~ ~ & ' I T l ) . Esc.ril)ir atri1)utos (It, r s t r notl lo no ths 111is qutS nna 11otat.ih11 d ~ r c ~ i a t l a tlr r s t * r d ~ i r las ill- ttw-vlacionrs. Grnr ra l~nrn t t , . esta iiotat.ihn ahrrviatla I~~ l r t l t~ ~r t i l i za rw .;irnq)rr t lnr n o w i n t rn t r w a r r l a t r i l ~ t o conlo 1111 011jt'to r n ot ra intrrrrlaci6n.

En (11 1 1 ~ 0 1io1.111;tl (t111r es 6.1 t p t , se st.grlir& a c.ontinrtat.i6n) lo5 atr-i1)ntos son iiitt~i-rr- 1ac.ionrs J i ~ ~ l c i o i ~ r c I ~ s (Id twnj~ ln to (It. o11 j t . t~~ a1 a t r i l )~i to . r s tlrcir. el v a l w tlrl a t r i lwto e s t i dr t r rwinat lo ~ l ~ i i v o c ~ a n l r n t r llarn ratla i r ~ s ~ a n c i a . Por c.jvn~plo. (*atla lwrsolia t irne ruat.ta- mrnttX m a kc-ha tlr nacinlirnto y. r n rsta I~ast, tit. datos, t a~n l ) i i ' l~ 1111 solo n i l n ~ r r o tlr s r p - titlad sot'ial. La cartlinalitlatl m i u i n ~ a 1 ~ 1 - part( , tlrl atriltuto en rstas i~ittw-rlacionc+ r s s i rul~prr I . I'or vsta m z h o s i t m p r r s r oniit iri la t~artlinalitlad tlr 10s atri l)ntos r n 10s tlia- gramas. Si 1111 o l ~ ~ r ~ t o instancia r n l,artic*ular n o t i rn r valor rl i a l p n o d r sus atri1)utos. s r t i iw q u r "1 a t r i l )~ i to titwt. un valor nulo p a r a r i a in.stant4a.

Es importantr d a r s r t -u r r~ ta clnr 10s a t r i l ) r~tos l rnrdrn tbstar s r l )arados cvn tq ) tua l - ~ w n t r tlr los o l ~ j r t o s tplr tksc.ri l~rn. Kt~t .~~Grt i rsr la tlistwsiih inic~ial tlr t l t r t . los valorrs tlr 10s a t r i l~u tos r a ~ n h i a n fi-rc.uc~iitr~nrntr. nlirntras tlur 10s ol),irtos asociitlos a 10s atri1,utos son 10s nlisnios. D r r s t r motlo. tula Iwrsorla 1111t~lv c ~ m l ~ i i ~ r s u rs ta tura . SII peso. ~ I I noml)rr y el color 11r S I I 11~10.1)rro s i g ~ w sirntlo la m i s n ~ a p r rwl ia . Esto uo signifira t[ur totlos 10s a t r i - Itr~tos 11r l1~n c * a ~ i i l ~ i a ~ 10s v;ilortbs. D r h t d l o s i r m l ~ r r s r t ra ta tlr itlrntificar c*uilvs atri l~utcfi 110 c-ariil~ian tlv w l ~ ~ r . ya clur Cstos 1)11r.cIc~n r t t i l i za~w cwno vlavrs rx t r rnas .

Claws. C-na claw cXs Iin valor cllir s i rmpre ~ ) ~ ~ r d r ~ ~ t i l i z a r s r tlc l o r ~ n a r ~ r ~ i v o r a p a r a idrntificar a un o l ) j r ~ o ins t awia . Ya i'i~c.ron n ~ r n r i o n a d a s las rlavrs sn1)rogatlas. las c.ualrs s r ~ ~ t i l i x a n in t r rnamt~n te vn los sisttwas para idt.ntifirar r o n j ~ ~ n t o s 11e ol!jetos a l ~ s t r a c t t ~ s

NUMERO DE SEGURIDAD

' 1 PERSONA 1 *

Page 114: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRlNClPlOS DEL DISENO CONCEPTUAL DE BASE DE DATOS 9 7

identificador. Una clak t. cxtvrna.

(no 16xi('os). PERSO& 1. I)or ejenll)lo. e5 nn conjunto tle ohjet05 al)itractos. En una in111le- ~nentacibn tle una base tle tlatos conreptual. rada periona en el ronjunto tle ohjetoi 1'EK- SON \ tendria una clake suhropt la para itlentificar a tlicha persona tlentrn tle la I)a-e tle tlatos. l'ero puesto clue la (.lake sn1)ropatla oo paetle ser utllizatla fuera tlel ststcbina th I)aitb tle datos, 10s ttsuarios newsitan otra forina tle identific.ar n las instancias tlv PERSO\ 1. Esto sc. logra (*on las (.la\ cs rxterna5.

I n a clave externa (tamhibn llanlatla un iclentifirador) es L I I ~ atril)uto 16-1i(w o rln co~ljunto tle a tr i l )~i t t~z Ibxicos c8~t:,oi \alores ilelnpre identifiran un i~nicw ol~jeto. L 11 ntri- hnto IGxico es nu atril)uto formado ntilizando un twnjunto tle ohjeto5 l6-1ic*o. Dc cbstcb inotlo. las (.lakes externas se pnetlrli iinprnnir y stx ~ ) u c d c n lccr I)or los nsnarios I s i n e n tle nltdio 1)or ('1 w a l instaimas eslwcificas 1)uetlen identificarse externamente a la I)ase tle datoi. Usualmente nos referimos a la5 dabes externas snnplelnente c~)ino r l a ~ e s . P o r ejtwq1111. tan la Figura 3.12. #SS podria ser m a (.lake para PERSOY 4 si se asume clue ratla n i n n c ~ o tle seguritlad social cw-resl~ondv c~xac.taincnttb a nna iiriit*a I)tmona. Esto es. la i cartlinal~tla- des minima ! n~ix in ia (11. #SS a PERSON4 $on 1, l . P o r otra parte. la feella tle nac~inient t~ 110 l ~ l r i a scbr nna davt.. 1)nesto clue m a tleterininada feeha 1)uetle ser la fecha tle nnc-I- inicmto tlv mnrhas Iwrsonas tliferente5.

E n ocasiones se necesita ni is de nn atr ihuto lm-a forniar una c.la\e. S ~ ~ l ) o u g u ~ o o i qne PKlISOh 4 tie la F i p ~ r a 4.12 esth siendo utilizada en nna Imie de tlatos tle gc*nc*alo- gia. la cual expresa los arholei de lab jerarqnias familiares. Dado (pie i n w h a s dv las ~ w r - sonas en l'EKSON.1 fallecieron a n t w de clue se introdnjera (a1 twnct~l)to tle riii inc~o tlv segnridad social. net*esitenloi algo tlifervnte dc #SS para la (slake. Poi- 5upnesto clue el noinl)rc*. la ft.t*ha dt. nat~iiniento p el l n p r de nacinliento ~ ~ o t l r i a n zer suficiente. E n eite r a w . la combinacicin de eitos t res atrihutos formarial1 la c l a ~ e para PEKSON1. Si no fuese asi entonces i e necesitaria algo adicional. Si es neceiarlo iiempre se pnetle 1)oner un nfimero tle itlentificacihn cwja imicitlad p w d a forzarse dentro del sisteina. Se tle- not& clue un a t r i l ~ n t o es nna (slave externa. iul)ra!ando el n o n h r e (It4 a t r i l ~ n t o ( F i p - r a 1.12).

No todo twnjonto tle o1)jetos netwita tener lina (*lave. P o r ejeniplo. en una ]base tle clatos tine registre transac*c*iones tle \entas. el n s ~ ~ a r i o l ) d e ei tar interesado solainente ell registrar el total de las v m t a i ! 10s l ~ r o d w t o i vendidos. Olniamente. inorhas \cmtas 1 ) ~ - den teirer 10s nlisn~os \ alores tbn txntitlatl ! en 1)rotlnc~to \endido. Seria 11oc.o razona1)lt. tbxi- gir que el usliario pro\ea una t.la~tx iinit*a para cads ~ e n t a . E n eite caw. la h a w tle tlatos shlo rcgistrarh la informaciOn qurL 6.1 nsuario dcsca tle ratla t ransat~iOn. Iwro bita qurtl:~- rh ~ g i s t r a d a twmo instantias sel)aradas para rada t r a n s a t G m . La Figura 4.13 m w i t r d dos len tas tliferentes clue tienen la rnisnla cantidad dt. .5,95 y el mismo ~)~ot luc . to 123;. El usuario \ e ra dos transacciones. p r o no tiene medios para distinguir 6stas cmtrtx si ! atltb- rrriis no esta interesado en hacerlo. Por lo tanto. la anst~nt ia dv una r la \v no titmc. twnscL- wencia en eite vase.

E~perializaci6nlGe11eralizari6n y Atrihutos. Si un ohjeto es una especializaciOn tle l~erenria . La pro l~ ida t l otro objeto. entonces el ohjeto especializado hereda totlos 10s atrihutos y las int tmdacio- dc un conjnnto tlr nes tlrl ohjcto clue ~ s l ~ e t i a l i z a . PERSONA CAS ADA. por ejeniplo, es una espet~ializatihn espec.1ali7arihn clue t w s a qrie Gste t e q a todo- 10s atrihirtos dcl conjunto tle gent~ralizac.16n.

Page 115: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

PERSON 4 . P o r lo tanto. una persona casada. por s11 rondici6n cle ser una persona. tienti iln noinhre, un numwo rle s c y r i d a d social. m a dirrecihn p otros. El ronjnnto tle ot~jetoi; PERSONA C.AS.iD;I hereda esos atrihntos tlel cwnjunto de ol)jetos PEliSON.4. .4tlenlhs. i 1.1 ronjnnto d e olrjetos rspeei;~lizado pnrde t w e r sns propios atri1)utos. Por ejcinplo. ESPOS.4 seri;i un atrihuto de PERSOIL"\ CASAD.4. 1)cbrcr no tlv PERSONA. En la F i p - ; r a -1.14. se ilnstran estos roncvptos. i

lJna espeeializaeicin no scilo Iwreda 10s atrihutos. sino tjue tam1)ii.n hereda las-in- trrrt~laeiones. La Figura -1.15 ninestra clur PERSONA esth relacknada con COMP_4Nl2 1 ~ ) r la via de TKABAJA-PARA. PERSONA-CASADA a1 ser una especializacicin de PER- SONr\. tarn1)ii.n es t i relacionada con COMPANI.~ por la via de TR:UL4JA1-PARA. Supon- ga que John Doe es una persona casada clue t rahaja para la Compafiia X Y Z . Hay acpi entc)l!ces un punto en PEHSOiYl-CASA1).4 rrl)resentando a John Doe y nn punto en COM- PARIA rrpresentantlo a la cwmpafiia X Y Z . John Doe en PEKSONA-CASAD.4 e s t i rela- cionado con John Doe en PEKSON.4, cpien a su vez e s t i re1ac:ionado con la compaiiia X Y Z . Conscnwntemente entontw John Doe en PERSONA-CASADA esth relacionado con la compaiiia X Y Z .

La hrrencia d e atrilrutos e interrelacionrs es nn cboncepto importante, puruto q n r p r i n i t e definir suhconjuntos d r conjuntos tlr ohjrtos, 10s c.uales tienen atrihutos e in- terrelac.ionrs propias, p r o qne conservan todos los atrihutos e interrelacitrues dc su snperwnjunto. Esto hare posihle rnodelar la realitlad d r rnanera m u c h m i s preeisa clue si no tlispnsii.ramos d r l cwncepto tlr herencia.

I PERSONA I

PERSONA CASADA

. Compariia XYZ

John Doe

Page 116: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRlNClPlOS DEL DISENO CONCEPTUAL DE BASE DE DATOS

Ejemplos -1 continnacihn i r t ra ta r in tlr crear loi motlrloi cwnceptualei tlv datos para ,ll;nnoi pro- l~lenias tlel mundo real.

Ejemplo 1: El modelo de datos de un banco

El primer cjemplo 1)uede mar s r para r e spn t l e r a algnnas tle las p r t p n t a s clur sc l~icieron a1 wmienzo drl c.al~itnlo. Estainos intercsados r n w e a r el ~nodr lo conceptual clc datos tlel negovio hancario clue r r f l r ja r i la rr;llitlad de Rolbrrt Goldthnml), presitlrntt. d r :\lchrnli- cal Bank and Trust (ABT).

El 1)anco titwe curntas corrienttrs, cuentas de ahorro y t k ~ t r s [Fignra 4.16(a)]. Las interrelaciones apropiadas entre tstas se mnrst~.an en la Fignra 4.16(11). Estanws ahora en poskiirn tle rrsponcler a las prrguntas sipuientes:

Las rc:spuestas a estas preguntas s r ohtienen simplementr cwntando [as instancias en cada uno tlr 10s tres conjuntos de ohjetos. Uisponiendo del software apropi;lclo. Goldth- humh podria llsar su cwmputadora personal para plantrar estas p r r p n t a s rn twalqnier lnomrnto, o podria rrrihir un informr peri6tlic.o.

Ol1s6rvrsr la forma tan limpia en qlie la base cir datos manrja estas pregnntas tLn comp;wacii,n cwn un sistema traditional hasaclo en archivos. El1 nn sistcw~a hasado ell archivos, sin las conexiones interarchivos provistas por la h e tle datos, potlria prrfecta- mente haher shlo (10s archivos -uno para las curntas corrientrs y otro para las cuentas de ahorro-. En cads uno tle estos archivos, la informaci6n d r 10s clientrs rstaria inmersa en un cierto numero de c a m p s (noml~re del cliente. tlirecci6n y otros). La trrcera pregnnta -"Cnintos c1irntt.s"- srria dificil dc: responder, pnesto c p r trndriamos clue extraer los tlatos de 10s clirntt-s tlr 10s dos archivos. ortlenarlos y ol~viar 10s duplicatlos. Sin enibargo. en nna 11ase d r datos: extos clirntes purden mantenr~se separademente y preservantlo las conrxiones tleseadas con la informaciOn tie las curntas.

CUENTA CUENTA CORRIENTE I I DEAHORRO ( 1 CLIENTE

(a) Objetos de un Banco

CLIENTE CUENTA

CORRIENTE

CUENTA DE AHORRO

(b) lnterrelaciones simples entre 10s objetos de un Banco

Page 117: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Esta pregunta shlo 1)uede respoudersr mirando las intrrrelacioneb. Un clicntr tirne clwnte tle ahorlos shlo si esth I-rlationatlo rncdiante TIENE-CUENT4-DE-4HORRC) t8on una instaucia en W E N T \-DE-1IIORRO. Similnrmente. un clicnte t i m e cnenta corricnte si eyt& relat.ionatlo mediante 'TIEAE-CCENT \-CORRIENTE con nna instancia tle CIJEN- Ti-CORRIENTE. Por ultimo. nn clirnte tiene ccmbos till05 tle cuenta i i e s t i rrlacionatlo metliantr cstns iutrrrclationes con instantias de CUEhT4-IIE- IHORRO ) CI ENT4- CORKIEITTE. P a r a responder a la prrgunta anterior simplementr hay clue cbontar a 10s clientey qne vsthn relacionados de las (10s maneras.

Cardinalidadek. La C'lgura 4.16(1)) omite intencionalmentv lay cardinalidades. Estas se ver in a continuat.ihn. Snl)Ongase clue se indivan las c. cwc I' 1na 1' 1t 1 at 1 es como se m u e - t r a en la Figura 4.17. Estas tmdinalitlat1c.i indican quc un clirnte puctle tenrr no mhi d r nna curnta d c ahorro y uua tSnenta corrientc. Para catla cuenta ha) n n diente.

Ehtas eartlinalitlatirs putden no ser un reflejo preciso tle la rea1itl;itl. Consitl6resc la t-artlinalitlatl prbxima a CIJENT4-COKIUENTE. ;No puetlc 1111 t*limtr t c n ( ~ mhs d e una cutbnta tw-rientv? 4BT. corno la maqoria tlr loi 1)alltws. permitr clue 1111 clicnte tenga mhs tle una twenta corriente. p r o las cardinal~tlatles de la Figura 4.17 no 1)rrmiten esto.

\/earnos las o t ra i cartiinalitladei. i E i realista suponer qne nna m e n t a no l ~ u r d e estar asignatla a m i s d e un talirnte!. Esto tanqjoco es deiealde. ya clue la i cnrntas comnnei. cwmo entrc eiposo \ t y o i a o entre padre e hijo. son muy frtvwentci. P a r a reflejar mhs precihamente la 1)ercel)cibn tle la realitlad sc3 actualiza la Figura 1.17 > i t - oht ime la Figw r ; ~ 4.18.

El moclelo de la Fignra 4 . l i ey incorrecto porqur no rrfleja nuestra ~) t~rc~epc ihn tlel 1)ant.o Ul'. Una p e r t q c ~ h n difcrente d e la realidacl potlria hacer clue el modeltr tle la Figu- ra 4.17 fnese corrt.t.to. Por rjemplo. un 1)crnc.o puede clecidir que ningiln cliente puetla tener m i 5 d e una cuenta de nn mismo tipo y clue no h a p cuentas comnney. En este caw. la

CLIENTE CORRIENTE

I

DE AHORRO

CLIENTE CORRIENTE

I

DE AHORRO

Page 118: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRlNClPlOS DEL DISENO CONCEPTUAL DE BASE DE DATOS 10 1

Vvamok la solutihn a la primera tle rstas 1)rtyultah. l ln r l imt r t rn t l r i ~nt'dtiples cuentas corrientrs si r s r rlientr ~ s t i rt.lationado nwtliantr TIEKE-(:UEYTA4-(:01iliIEh- T E (*on a1 nient~s (10s instauci:rs dilerentrs r n CUEST.4-(:ORRIENTE. Sr puetlr r rs l~ontler a esta pregunta t.xaminantlo ratla instancia en CLIER'I'K para vvr si c-sti relationada e i r twntando las i~istant*ias van las t p r rstii. S r retwnit~nt l i~ ill let'tor t ra tar d r v r r chmo res- pontler a las p r o g n n t ; ~ ~ a r n t r r i t ~ ~ w ~ ~ s a n c l o el tliagralna tle la Fignrir 3.18.

Esperializnndo 10s Clientes tlr nn Baiiro. iLos chrntcs tic. nn I ~ n t w sien1111.r tic- nen que ser 1~ersona5! Por supursto. algunos clientes d r 10s 1)ancos son organizat*iones: tle negorios, no I w r a t n a s , wligios:ts. ,rgenc*ias gu1)ernamentalt.s. 1Drsra Goltlthnil) t l ~ s t ~ n g u ~ r entre 10s tlifereutes t i p s tle t d i r ~ ~ t r s ? Si. lo d t v a . ) a cine 10s difrrrntes t i p s (It. clientes t w nrn atri1)ntos distintos. -itlemis las tmentas de 10s distintos t i p s tle t-lirntrb puetlrn tt.ncbr tbfrrrntrs carartrristiras. L,I F I ~ I K I 4.19 n~ues t ra (10s esl)ec.ializ;rt~~o~~t~s tlr CLlENTE. CLIEhTE HUMAN0 para dtjnellos clientes clue son Iwrsonas ? CLlEh'I'E INSTITU(J0- h \I, pa ra aqut~llos c.1itmtt.s (jotb son 01-ganizationes o rmp-esas.

Lila d r las vrntajas principalrs d r usar la gcneralizat*ii)n y la eslwt.~alizacx'm rs q u r 1~odenws tarcar tliferentes atribntos para las rspecializariones d r un t*onjuntc~ tle ol~jr tos . mirntras q u r al ~nisrno t ien~po mantentmos 10s atributos comunes ile 311 n n t.1 tnis grnrral. La Fignra 4.20 ninestra qne cadd clientr t l rnr rrn n h r r o de c,liente. el cnal p r ~ e d r 5t.r nti- lizado wino una c*la\t*, pero 10s c*lientrs humanos tlrnen atributos tliferentes clue ltrs c l ~ t w trs inititurionalrs.

Revisrmos la Pigura 4.18 1)ara reflrj'lr las rspetializacionrs d r CLIENTE. E ~ t a rev i- sihn w mnestra en la Figura 4.21. clue ey nna coml~osici611 d r las Figurai 3.18 1 4.20. (En esta 1 1 p - a w ha omititlo la intl~c.,~cihn clel w n t ~ t l o r n las intcrrrlationes. lo t d s r 11d1-i

niudlinrntr a partii tle ahora.) Se ha ,ui,~cliclo LIII atri1)uto S iLDO a each nno tle 10s con- jnntm tk ohjrtos c.nrnta. 4hora se puede re~ptrntlc-r a algunai prrguntas mis :

La w ~ p ~ ~ e s t a a la seguntla pregunta tleprnde d r 111 q w 4gnifiqur - ' t i p s de clitwtrs". KI d i s e h de la base de datos ~wrmi te tlistinguir entre clientrb h u m a i i o ~ r in5titucionales. Drntro d r CLIENTE-INSTITUCION4L se pueden hacer d i s t n ~ c ~ o i i t ~ usantlo rl atributo

CLlENTE r - 4 CLlENTE INSTITUCJONAL

Page 119: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

D I S E ~ O Y ADMINISTRACION DE BASES DE DATOS

CUENTA TIENE-CUENTA- CORR~ENTE

I CORRIENTE

CLIENTE

TIENE-CUENTA-

INSTITUCIONAL

TIPO-DE-ORGANIZACI~N. Por ejelnplo. el TIPO-DE-ORG.ANIZACION podria s r r Negocios, No lucrativa, Religiosa. o -4grncia Gul)ernan~ental. Para responder a la segunda pregunta comenzamos ron CLIENTE-HITMANO y recwrrenios, por ser a su vez CLIEN- TE, CUENTA CORRIENTE por la via de TIENE-CUENTA-CORRIENTE. Esto se h a w para (:a& clirnte hurnano y sr rrgistra el saltlo. -41 terminar se vorr~puta el saldo prometlio do los clientes humanos. Lurgo se signe el mismo procrdirniento con CLIENTE-INSTITU- CIONAL. Para responder finalnirnte a la l~r rgunta se cornparan 10s (10s pronlrtiios.

Ejemplo 2: Huerto fruticola de Stratton

Verri Stratton e5 un horticultor clue esta en el negocio de las frutas descle hare cincuenta aiios. Antes que 61, sn padre y su abuelo fileron dueiios de s i ~ s huertns y pre\ieron que a1

Page 120: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRlNClPlOS DEL DISENO CONCEPTUAL DE BASE DE DATOS 103

nxnos uno d r 10s nirtos 10s lirretlaria. Ellos t i rnrn rxc:t:lrritrs rrgistros tlr datos tlrstlc* r l siglo aIx clue lrodrian cwnstituir la base para iiii romprrnsivo sistriiia d r i n f o r m a r i ~ h . \ w n r s t i ahora intrrrsado rii las rrspnestas a prrguntas cwno:

La Figui-a 4.22 niurstra o n simplt. n~otlrlo d r datos q u r purde utilizaiw para rrs- ponder a rstas preguntas.,El wnjuiito d r ohjrtos HUERTO c:oiitiry m a instancia para catla hurr to. El atrihuto .AKEL4 drsrl.ihr cl hurr to. Dr estr modo. _1REL4 trntlria valurrs talrs cbonio Springtown. Lrr"s Valley y otros. Catla huerto r s t i relacionado cwn,los ir1)olrs (instancias tlr A4RB01,) clue r s t iu eii c.1 hiirrtc). P o r lo tanto, las instanrias (lr ARBOL tic.- 1lt.n 10s i r l )olrs fisicws t:n esprc-ifitso en lugar d r t i p s clr irho1t.s. Cada i r l )ol fu r plantado en un drterminado aiio y pi~rdc. o no h r i h murrto ya. Si r l kdrol miiri0. cmtoncrs -1NO 1)E MUERTE rontirnc. iin valor: clr lo rontrario. rs nulo.

Los irl)olcs t i rnrn r s p r i e s y las rsprcirs tienen varirdadrs. For rjrniplo. uiauzaua rs irna esprc+ y Jonathan y Red Dc.licious soil varirilatles. Pursto qtie 10s hrholrs puc.tlri1 trrlrr ramas injrrtadus, una misrna esprcit- clr i r h l 1)utlirra soportar iiiis (I? iina ra r i r - dad. Dr rsta manera, iin nianzano qiir fue originaliiientr Rwt Delicious podriir tamhi6ii tener Jonathan y Roman Beaut!;. Cada i r h o l tirnc. una sola cq)ecir. prro podria tcmer mill- tiplrs variedadrs.

P a r a r r spondr r u la p r imrra prrgunta romrncvnos cwn r l ronjunto tlr o1)jrtos HUERTO. Usando rl ntjihnto ARE.1 s r idrntifira r l h u r r t o Springtown. Rrcwrrir~ltlo r l conjnuto d e o1)jrtos AKBOL se identifiran totlos los hrholrs en (:I hnr r to . Dr aqui srguinios a ESPE(3ES y drscartamos tcrdos aqurllos i rholes clur no w a n nieloroto- nes. Ahora desdr ARBOL rerorrrmos ron todos 10s mrlorotcrnrs de Springtowu r l cwn- junto d e objrtos VA4RIED.4D e idrntif'icamos las varirdades d r mrlcrrotonrs d r l hur r to Spriugtown.

Ejemplo 3: Un problema de 16gica

El lector dehe d r haber vi,sto los prohlrmas d r IOgica q u r apareren r n la serrihn d e entrr- tenimirutos de 10s prri6diros y revistas. Usualmrrite esos prohlenias no se puedrn resolver complrtamrntr con 10s principios clr este capitulo, p r o se pneden simplificar tlefinirndo q , T p PLANTADO

HUERTO ARBOL

ESPECIES VmED(\D

Page 121: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

La Yignra 4.23 rel~resenta estc: pro1)leina grLficamente. Tenelnos cuatro ol~jr tos !. sns correspondientrs interrelaciones. Note c p c u las cartlinalidatlc~~ rnininla y miwinla para la interrelac*iOn entre 1'OSICION y EMPLEADO son 1,1 en arnl~as direc*ciones. 1 1 Ilacer las asignac-iones para cbsta intc~rrelati0n sr t endr i la solncihn a rstcs prol~lrina. Se t rata dt- wig- nar a vatla cw~l~ltutlo st1 puesto. EstLn listatlos 10s trcss puestos ! 10s t r r s ernl~leados cwc-a tlr sns twnjltiit~s ctt, ol)jetos. i lg t~nos inditios dr1 t ~ r o l ~ l e n ~ a nos hahlan de la twnparacihn tle los i ~ ~ p r w o s tic, 10s cml)leatlos 5- tle t*tiintos hrrmanos Gstos ticmrn. Esta informacihn sf, inclica en el tliagrarnil.

La Fignra 4.24 cia la solnci6n a rste prol)lcnla. Esta se drt111c.r en la f o rn~a siguientr: P t~es to I ~ I ~ Smith rs el clue mas g a i n 110 l~uecle s r r ni el gcrentt. ni el (.ontador. Po r lo tail- to. Smith es t.1 rajero. Bro~vn ticne 1111 hermano (nna h v r ~ ~ ~ a n a casada con Smith). por tan- to no l ) ~ ~ e ~ l ( , ser ~1 contador porc111t: bstr no tirne he~manos . Lurgo Brown es enttmc*rs el gcwnte. C o ~ l s t ~ c ~ ~ e n t e i i i e ~ i t c ~ ~ .Jonc.i tlrlw her el contador.

PUESTO t

INGRESOS COMPARATIVOS

Contador Smith

Page 122: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRlNClPlOS DEL DISENO CONCEPTUAL DE BASE DE DATOS

Construir modelos eonceptuales de datos a partir de informes existentes

Los modrlos t~t:sarrollatlt~s r n tbstr rapitlllo r s t i n 1)asatlos en la inforn~ariOn implkita qlw 10s cldrnir~istr(~dores 1)otlrian hacrr. Conset.~it~ntrmentr. rstos sisten~as forinan la hasr para 10s sisterntrs de gestic511 clt~ irformaribra. Sin t:nihargo, taln1)ii.n hay iliterGs cn 10s inotlelo!. trur p t l r i a n lisarsr en 10s sistemus tlr procesamier~to tle datos. 10s t d c s procesali las transat.tioiies tlur trtSurrtw a diario r n la niayoria tle 10s negocios. En txsta srcci0n se esa- iuinarin dos forni;is tlt~ informes clue st, utilizan en las transarrionrs por mllt-ha grntc- (It*

10s ncgocios y mnrstran c6mo 10s motlrlos conrrptualrs rlr tlatos sr pueden tlrdutir d r t~ t ; ib forn~as. Estas formas se w a n r n (11 Sistrnia tle Consultoria Manwaring. un t w o (It. estntlio t~ut: swi introtlucido ahora ?- qu r sr usar i cn varios cal)itiilos f ~ ~ t u r o s 1)ai-a illistrar los pasos en r l tlisthiio r iniplementat.ihn d r 1)ast.s tlr tlatos.

Caso: Servicios de Consultoria Manwaring

Joun Mur~wc7rir~g, CP4, hu operado 10s Swvicios de Consultoriu %Murircwring d u r m t e 10s ziltimos diez uiios. En~pleun (a seis c o r d t o r e s . que llelwn rr cubo p r o y t o s rle cor7sultoritc (1 10s clientes de Mur~~ctrring. Cutla prowcto incol~rcru (I u r ~ o o 1114s c.onsdtores y l)ut~tlr d u r a r varius semunus o mews, rlepc~ndiei~do del ulctrnce del prorecto.

Estirnndos. Ptrru cudn contrccto que usurnen, Joun debe htrwr una proptestu d t ~ servicios. La propurstu incluye, entre otros cosas, alcunce, objrtivos, estructurtr de lu turea y konorurios. Los honorurios que Joun estublece pueden voriar m1rt.110 segrin 10s d[ferentes tipos de cor~tratos. Los honorarios se busan en las gur~ancius que se le propor- cionen a1 cliente, y el7 el tiempo el ~sfuerzo dedicados cc cornpletur el coi~trato. Todu lu inforn1trcic5r~ que pe r t rwce ul contruto se conserm puru rejerencius futuras. Cuulquier ujuste qur se le huga ul rstimudo se le rnostrarci ul clientc~ y se registrnrci.

Recepci6n d e efectivo. Aunque muchos de 10s contratos pequeiios se pugurl erl rfectivo, la muyoriu de 10s clientes pagan sobre cwenta. E l pugo debe hucerse crl terrrri- nurse el cor~truto. u menos q u ~ se huyur~ hecho urreglos de cridito. Los clientea USILUI- meitte pagun sus crkditos u tiempo. p r o Jotrn u veces les enviu r~otificucior~es u 10s c&n- tes p u r a que realicen un pugo.

Deseinbolsos d e efectivo. Aur~que muchos sciministros se curgun rlirecturnente tr

un contrato especifiro, algunos sumir~istros y equipunzierrto se usociun con milltiples corl- tratos o gastos generales. Todos 10s sumir~istros se comprun u cuentcc.

Un modelo de datos para compras

La forma de la orden de compra de Manwaring que se usa para ordenar 10s suministros se murstra en la Figura 4.25. Esta incluye el nomhre y direccibn drl vendedor, la frcha, el numrro de ordrn y el niimero drl vendedcrr. TambiSn da el numrro de inventario, el pro- ducto y el precio d r cada producto. El total, incluyendcr impurstos, sr nluestra en la par t r d r ahajo de la fignra.

A part i r d r rs tr formulario se pueden drdnrir 10s siguientrs twnjuntos de objrtos: VENDEDOR, OKDEN y PRODITCTO. Los atributos de estos tres twnjuntos, asi como las interrelaciones entrr Sstos, se muestran en la Figura 4.26. Note las cardinalidades de las

Page 123: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

SERVlClO D E CONSULTOR~A M A N W A R I N G

950 M A I N EASTON, PA I I I I I

O R D E N D E C O M P R A

Fecha Nurnero de orden Nurnero de vendedor

#Inventario Descripcion del product0 Precio

Vendedor:

3821 4919

O f i c i n a Consol idada de S u m i n i s t r o s 414 S. Choctaw D r i v e

F l a g s h i p , PA 12345

intrrrelacionrs. La interrelacih entre ORDEN y VENDEDOR tiene nna rardinalitlatl tino-murhos porcptr. rada ordrn se le hace a un vendedor, pero nn determinado vendedor puede recihir nluchas brdenes. La interrelacibn INCLUYE entre ORDEN y PRODUCTO es muchos-muchos porque una orden incluyr rnuchos productos y un producto pnrtle apa- rerrr rn rnuchas brdenes.

Caja de l a p i c e s #2

Ca ja de b l o c s de p a p e l

VENDEDOR

4,00

8,90

HECHO-A I

PRODUCTO

Page 124: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRlNClPlOS DEL DISENO CONCEPTUAL DE BASE DE DATOS 107

Even t~dmen te se puede hawr t.1 pago tle nrla orden. Para registrar esta informnriim be anmentari el n ~ o d d o al clue se m~?c.stra en la Figura 4.27. Sr ha aiiaditlo el twnjunto de ohjetos P4GO con 10s atril)utos NI MERO DE CONTROL y FECHA. La cardinalidad nno-uno indira qur rada d e n sc. pagari con un cheque, ? qne cada cheque pagari nna sola orden.

CONTROL

VENDEDOR

I

PAGADO CON FECHA

HECHO-A

DESCRIPCION

* INCLUYE * PRODUCT0 PEDIDO IMPUESTO

"ri TOTAL

Un modelo de datos para la faeturaci6n de proyectos

Cuando st: completa un proyrcto, Manwaring a menudo envia una factura por 10s servicios prwtados y por 10s suministros ntilizados en el proyecto. En la Figura 4.28 se muestra un ejemplo tle factura. La factura incluye fecha, numero d r factura y titulo tlrl proyecto, asi cwmo una pormenorizacibn de 10s servicios y suministros cargados a1 propecto.

En estr formulario sr pueden identificar 10s conjuntos de objetos CLIENTE, PRO- YECTO v CARGO con sus atrihutos. En la F imra 4.29 se muestran 6stos iunto ccm sus v

interrelationrs. Nbtese qur hay dos tipos clifrrentes de cargos: 10s cargos por servicio de consultoria y 10s cargos por suministros. Puesto que 10s cargos por servicios de consulta inclnyen la identificaciim tlrl consultor, el conjunto de objetos CARGO se ha dividido en (10s sulwonjuntos: SERVlCIO y CARGO POR SUMINISTRO. El conjunto de objetos CARGO tienr (10s atrihutoq, CANTIDAD y DESCRIPCION, que son heredados por arnhos suhconjuntos. Ademis, la especializacibn SERVICIO del conjunto CARGO time el atri- huto CONSULTANTE.

Una ordrn tle compra y 10s formularios tlr facturas ilustran el proceso de c6m0 usar 10s informes rxistentrs 1)ara definir el modelo conceptual de 10s datos. El analista de la base de datos obtiene 10s datos necesarios para el diseiio de la base de datos usando la amplia gama de informes existentes que contrilmyen a la creaci6n del modelo conceptual. Ademis, el analista utiliza un procrso de entrevistas para precisar 10s rrcjuisitos de infor- maci6n atlicional mediante la identificacibn de 10s tipos de preguntas que 10s administra- dores newsitan para responder a las preguntas. Los datos que se ohtienen de estos infor- mes v d r las entrevistas se combinan en el disefio tle UII modelo conceptual comprensivo tle 10s datos. Este modelo se r i implementado eventualrnente como un-estluema-de base de datos y s e r i la basr tanto para el procesamiento de 10s datos como p w a la gestibn del sis- tema de informaci6n.

Page 125: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

MANWARING 950 MAIN

EASTON, PA I I I I I

FACTURA

Fecha Numero de factura Proyecto

27110 342 I S is tema de c o n t r o l de I n v e n t a r i o

Rodr iguez

~ a r r i s

F a r a s a ~ o u l o s

Total 1 l3.740,00 1 Cliente:

Sterohouse Markets 318 E l m S t r e e t

Morgantown, PA 11222

Consultor Descriocion de careo Cantidad

I S u m i n i s t r o s (pape l , f o t o c o p l a s , e t c . )

( NOMBRE ) CLIEWE

(-N)

80 horas de a n a l i s i s y d l seno

200 horas de programaclon

30 horas de en t renamien to a 1 u s u a r i o

40,00

REALIZADO-POR

4.800,00

8.000,00

900.00

* GRABADO-POR I PRoyEcro TOTAL^

CARGO POR SUMlNlSTRO

El modelo conceptual de datos desarrollado anteriormente aplica 10s conceptos hisicos del modelado conceptual de datos. En el resto de este capitulo se ampliaran estas tkcnicas, relativamente simples, para afrontar situaciones mas complejas, las cuales surgen natu-

Page 126: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRlNClPlOS DEL DISENO CONCEPTUAL DE BASE DE DATOS 109

agregado. llna interrelaci6n \ ista coma un twnjunto tle o1~jt.to.s.

interrrlac~i6ii de alto n i~e l . Una intcrrclari611 entre trc.5 o miis conjuntos tle objetos.

interrelacicin biiiaria. Lna interrelacibn entre dos conjuntos d r objetos.

ralmentr en loi nt.gotblos. Kn r i ta iercihn ie rei i t rar i la atrnt.16t1 en los conjuntoi agrega- dos d r o1)jetoi ! tm la prbxuna r n los conjuntos cwnerlrtualcs de 0l)jt.tos. Estos (10s r o n t q - tos oenrrru a iiirnudo en las sitr~acionci pr i t~ic-ah. Comprender rstas t k n i r a s 1~c.riiilte incwmrntar la5 ha1)ilitlades para llekar a calm 121 t lefm~ribn de 10s requi5itos ! 10s pasoi tlt.1 tliseiio twt~t~eljtnal dr l ticlo tlr \itla tlrl tlriarrollo dta una basr tle datoi .

- h r ~ q u e 10s inotlrlos clue' he11 s~ t lo creadoi con 10s concrptos 1hsic.w tle modrlado son rrlati\atiit-nte srnrillos, rs fhtd a1)retiar sii poder 1 ut~l idad. Sin emlbargo. la mayoria tlr loi pro1)lemas que rralmrntr stA tmtwentran en 10s nrgoeios son consitlrral~lemrnte n ~ i s cornplrjos y a mrnudo i n ~ o l u c r a n r l nso de un agregado, m a interrelacibn vista twnio 1111

ronjunto tlr ol)jrtos, o eomo iina interrelar ibn d e alto nirel, qur involucra a t r r3 o m i s twnjuntoi de ol)jetos.

l a sr ha \isto clue m a interrelacibn sr putdc usar romo un conjunto d r objetos. Por t.jewq)lo. twantlo se tlt.finirron y dist*utwron antrr~ormente las intei-reletionrs, se piitlo albrp- twr quc ratla homl)i-e 4 catla mujer c p r e,t&an relacionados por la m t e r r r l a c i h EST-\- C ISIDO-CON twnstitu!rn un mr~tr~monio, tjue es en si un objeto. Coma tal, el matrinionio ~ ~ ~ r d e tencr sus propios atri1)utos. tales como el aniversario de hodas. el total de ingrcsos. la tliret.c16n,. Es mis . purtlr pa r t~e ipar en otras interrelacioneb, tale, c o y 0 DUENO-DE Illrl'OMO\/IL v SON-PWKES-DE. De rsta manera, la interrelacibn ESTA-CdS4DO-CON puetle verse como un wnjunto tle ohjetos cuyos ekmentos son 10s matrimon~os.

Esto es tierto para t.ualquier interrelaci6n. La, interrelaciones purden ser v~s tas twno o1)jetos 4 purden tener atrihutos y participar en otras interrelaciones. Como se dijo. talrs intrrrelnciones sr l l an~an agregadob. Grificamente se representar i un agregatlo tlil)i~- ,jando una caja alrededor de la in te r re lac ih y sus conjuntob tle ol~jetos participantes (Figura 4.30). 4lgunds veces. por cotirenirncia. se le darii a1 agregatlo un nombrr tlr ohje- to -un nomlm- atlemis del nombre tie la interrelacibn. P o r ejemplo, en la Figura 4.:3!). MXLRIMONIO es el nomln-e del conjunto de ohjrtos que se le da a la interrelacibn E S T & C4SADO-CON. Esto es razonahle si la interrrlarihn se usa como un conjunto de 01)jetos.

Todas las ititerrelationes que se han consideratlo hasta ahora i n ~ o l u c r a n a dos coti- juntos de ohjetos. Tales interrelaciones se llairian binarias. Sin embargo, las interrelacio- nes tamhikn pueden involucrar tres o m i s conjuntos de objetos. Estas interrelariones de ulto-r~icel se d m o t a n como interrelaciones n-arias, donde n r s el nlimero de conjuntos de ohjetos cjue sr r s t i n relacionando. Una 3-aria interrelaci6n se llama ternaria . Sin embar- go, para utilizar una terminologia m i s romprensihle, a ~nenudo nos referirerrios a las in- terrelariones :%aria o 4-aria corno interrelaciones de trrs-vias o de cuatro-vias.

Estos twnt:rptos se ilustran con el ejemplo siguiente. Supongamos que Dick C;rwnl)rrg de International Protluct Distribution (IPD) desea revisar las ventas de una linea de protluc- tos por paises. Para auxiliarle se crea el conjunto de ohje~os PRODUCT0 y el conjunto tlr ohjetos PAIS y se esta1)lrcr una interrelacion SE-VENDIO-EN entre ellos [Figura 4.31(a)]. Una instancia en PRODtTCTO, digamos "detergentr lavaplatos #5", est i relacionada con una instancia de PAIS, digamos Inglaterra,,si el detergrnte lavaplatos #5 se vende en Inglaterra. Si se trata a la interrelacibn SE-VENDIO-EN como un conjunto de objetos. entonces podemos ponerle el atributo CANTIDAD para indicar cuintos productos se han venditlo en cada pais.

Nbtese que el atributo CANTIDAD depende tanto de producto como de pais. Esto es, no se puede determinar el valor de cantidad a part i r de producto por separado ni de pais por srparado -se necesitan amhos-. De ahi por quC CANTIDAD es un a t r i h t o de

HOMBRE MUJER CASADO CASADA

Page 127: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

la ir~terreltrticin rntre producto y pais en lugar de un a t r i h t o de produeto o cle p i s por sepa- rado. P o r esta raz6n. 10s modelos de las Figuras 4.31(b) y 4.31(e) son an11)os inwrrectos. En el caso (b), el moclelo no distingue entre cantidades vendidas en 10s dikrentrs ptri'ses. y en el caso (c ), el modelo no distingue entre las canticlades vmdidas d r diferentrs proclu~ctos.

El modelo de la Figura 4.31(a) le permite a Dick rec:orrer las ventas de productos por paises. Supongarnos. no ohstante, que iste desea m a infbrn~aciOn mis refinatla tle las ventas que la que este modelo puecle clar. p e s quiere registrar tamhiin la cantitlatl tle cada prodnc- to vmclido en cads pais I; en cndn din. Se relaciona entonees SE-VENDIO-EN (*on FHCHA y se le (la a rsta nueva intrrrelac-i6n el atrihuto CANTIDAD [Figura 4.32(a)]. Una vez mis , el atributo se aplica a la interrrlati6n mis extrrna porque las instancias de 10s tres conjuntos de ohjetos -PROI)UCTO, PAIS. FECHA- son necesarias para determinar la cantidad.

La Fignra 4.32(a) da la s o l u c i h a este,problema en forma de dos interrelacioncs hinarias. la primera de las cualrs (SE-VENDIO-EN) es un conjunto de ohjetos en la segun- da intrrrelacihn (VENDID.4-EL). Podria consitlerarse que es n ~ i s conveniente expresar rste modclo corno nria h i c a interrelacihn de tres-vias, como se muestra m la Fign- ra 4.32(1)). De nuevo potlemos ver qne CANTIDAD es un atribnto tlr la in te r re lac ih entre 10s tres coiljuntos de objetos.

Cualquier interrelaci6n de alto-nivel pnede dividirse en una serie de interrelwiones binarias anidadas. Sin embargo, algunas de estas interre1acionr.s ])inarias pueden no tener sentido para nosotros si tratanios d c rclacionarlas con algo del m u n t h real. P o r lo tanto. en ocasiones se nsan iuterrelariones para exprcsar 10s conceptos qne se tratan d r capturar en nn modelo particular de tlatos. ya que Gstas se pueden relacionar con el problems.

(a) Un modelo correct0 para el control de ventas

I I

(b) Un modelo incorrecto para el control de ventas

I I (c) Un modelo incorrecto para el control de ventas

Page 128: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRlNClPlOS DEL DISENO CONCEPTUAL DE BASE DE DATOS

1 1 PRODUCTO SE-VENDI~-EN -1 PA^ 1 1

(a) Usando dos interrelaciones binarias

FECHA u (b) Usando una interrelacion de tres-vias

PA~S PRODUCTO

Con respecto a1 niixirno de cardinalidades en las interrelacionrs clr alto-nivrl, sr asurniri quch todas las interrelaciones hinarias que componrn la intrrrelacibn c k alto-nivel son interrelaciones binarias muchos-mu(-hoi. Este supuesto viene bien en la prictica la mayoria de las veces.

El poder de estos cone-eptos sr ilustrarii a continuaci6n considerando otros ejemplos. todos ellos algo mis complejos qur aquellos que se han considerado hasta ahora.

*

* VENDlDA *

Ejemplo 4: Compaiiia Constructora Premier

La Constructora Premier cons t rny rdificios m una gran variedad de sitios. Cada edificio requiere un nurnero de t i p s difrrrntes clr matrriales en cantidactes que varian por edifi- cio. Diferentes cuadrillas Ilevan a caho difrrrntes partes del proyecto. Por ejemplo, puede haher una cuadrilla para la estructura. una para el techo, una para fontaneria, una para la alhafiileria y asi sucesivamente. A1 planificar la construccibn de un edificio Premier asigna diferentes cuadrillas a diferentes fechas. Los trabajadores se asignan a las diferen- tes cuadrillas segun su especialidad. De este modo, Hank Brigman pnede hacrr trabajo cte carpinteria y alljafiileria, por lo que es asignado a brigadas de estructura, techado y alba- fiileria. El tamafio ctr una cuadrilla varia de acuerdo a1 tamafio de 10s requisites drl edifi- cio. Para una edificio rn particular las cuadrillas se i r i n formando segun sea necesario. TambiCn se asigna un capataz a cada cuadrilla de cada edificio. Un trabajador puede srr

Page 129: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

el capataz ern una twadrilla y un simple trahajadcrr ru otra cuatlrilla. Marcws I l r m n . due- iio de Premier. desea conocrr cui l rs d r sub trahajadores fneron asig~~at los ;I t t~~atlrillas para varios r d i f i c ~ o ~ , q u i materialcs r s t i n sientlo utilizatlos r n 10s etlifitios. ) lm-a t*uintlo estL planificado el trabajo en catla etlificio. A continuacihn se disefiari un motlelo t a o n c q - tual de d a t w que puetle ofrecer la iu formacih q u r B r o ~ n est i 1)uscantlo.

La Figura 1.33(a) modela la iuterrelacihu entrt. etlif'it.ios \ ~nateriales. El twnjnuto tlc ohjrtos EDIFICIO contiene una instancia para catla rthficio tw la I~ase tle tlatos. El ron- junto de ohjetos TIP0 DE MATERI4L represeuta los t i p s dt- material talrs conlo "~uatle- ros tle 2 x 4 x 10' ", "rla\os #lo". y otros. Las car t l inal iddei d r la i~lterrelacihn entre EDIFICIO y TIP0 DE MATERIAL indiran qur cada e t l ~ f ~ c i o t y u i c r r muchos t i p s tle materialrs y tpir cada t ~ p o de material se usa cn mut.hos etlificjos. Ohsirvese que rl atri- huto DIRECCION es a~)licrrl)lr ,610 a EDIFICIO. La DIRECCION 1)nede nsarse como rla- v r 1 ) ~ - a itlentifirar a catla etlificio en particular.

El rectingulo alrt.tletlor tle la interrelat*ih REQUIERE indiva clue sr desea considerar esta interrrlacihn twmo un conjunto agrrgado de ohjetos. A este conjiinto tle ohjetos sr le (la entonces el atrihuto CANTIDID. Las instancias de este conjunto agrrgatlo tlr o1)jetos w n - siste d r pareb: etlificio y tipo cie rnatc-rial. Asi, por ejemplo, el par formatlo pol. 6.1 rclificio del 610 Fifth St. y maderos de 2 x 4 x 10' pnctlc s r r una instancia en la ~ntrrrr lacihn REQITIE- RE. A este par se le asigna tambiin una cantitlad --digamos 500 pirzas-. clue es la cantitlad de matleros de 2 x 4 x 10' qne se requieren para estr rtlificio [ver ~igura-4.3:3ih)].

Es importantr notar clue el conjunto de ohjetos TIP0 DE MITEKI41, en estr ejem- ohjeto conceptual. L l r ~ plo rcprvsrnta a un objeto conceptual r n lugar tle un objeto fisico. E, tlrcir. cada instan- ol)jrto q i ~ r 1 rprrwnta c1a "1 T I P 0 DE MATERIAL represrnta un tipo de ~nater ial en lugar tlr una pirza especi- IIII t l p o tlr t-osa. fica de material. Esta nocibn tle ohjetos t ~ o n t q ~ t u a l e s en lugar de ohjetos fisicos tienr

aplicacihn frecuente en r l motlelatlo twncrlrtual tle tlatos. E n algnnos tbasos se necesita ohjrto fisiw. Un ol~jeto modelar conjuntos de ohjetos separatlob para 10s o1)jetos fisicos. ~ I I W relweienta una

1 I EDlFlClO MATERIAL

(a) La interrelacion de edificios y materiales

610 Fifth St. I I Cantidad 500

(b) Cantidad de un tip0 de material usado en un edificio

I ( EDIFICIO REQUIERE * * TIP0 DE

MATERIAL

Page 130: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRlNClPlOS DEL DISENO CONCEPTUAL DE BASE DE DATOS 1 1 3

Ahora se murstra chnio rrprrsentar la formaciim de I~rigadas J In aslgnaci6n tle t ra- hajadores y c a p t a w s a la5 hr~gadas . La Fignra 4.34 mnestra una intrrrrlacihn eutre los twnjuntos tle ohjetos T I P 0 DE C b 4DRILLA y EDIFICTO. T I P 0 DE C t IDRILL 1 es otro ejemplo de nn conjunto dr oljjetos cont*rj)tuales. Esto rs, las iustancias d r T I P 0 DE C t 1- DRILLA no representan ])rigadas p a r t i c u l c ~ r ~ s , sino tipos tlr I~rigadas, tales t*oiiio alhalii- Irria o techaclo. La intcrrelacibn en t r r iin t i p tlr hrigada y nn rtlilicio represrmta a nna Iwigada rn partirular -la hrigada asignatla a rse edificio para rralizar la tarra asoriada twn rl t i p tle la Iwigada-. P o r lo tanto. sr pncde vr r a ebta intrrrelaci6n t*on~o iin ohjcto y darle entonrrs rl nomhrr CUADRILLA.

Cada r~iatlrilla. w m o una instancia r n rl conjunto de objrtos C U I D R I L L I . t ime pla- nificado tra1)ajar r n un numrro tlr fwhas diferentes. Por rjemplo. 10s fontanrros retpieren d r un cierto niirrirw de dias para h a w r la fontaneria de un rdifitio dado. Poi- tanto. se tienr una intrrrelatibn PLANIFICADA-PARA niuchos-muchos rn t r r CUADRILLI I FECH 1.

La Figura 4.35 mnestra la asignacih del capataz y tlr 10s trahajatloi-rs a las ] ) r i p - tlas. Nhtesr clue la interrrlarihn ES-CAPATAZ-DE rs uno-murhos. Esto es d e l d o a clue una brigada tienr iin solo capataz, pero un t ra l~a jador purdr ser csapataz de diferentes I w - gadas. La Figura 4.36 nos ila un diagrania compuesto cjnr niurstra rl motlrdo conipleto d r 10s datos para la Compaiiia Constructors Premier.

Ejemplo 5: Huerto fruticola de Stratton (continuaci6n)

El ejrmplo 2 nos da cierta informacibn sohre r l negotio fruticola de \ern Stratton. A con- tinuacibn sr d a r i informacibn adicional qur Ye ~isdrli pa ra ohtener el modrlo d r datos corrrspondirntr. que s e r i m i s twmplrjo que rl motlelo initial. Este motlelo s e r i m i s podr- roso \ p r r ~ n i t i r i d a r la informacibn necebaria para planifirar a 10s trahajadorrs 1 la plan- tacibn d r nnrkos irholes, y para o h t m e r otras inforniacionrs tlr declsibn. nrcesarias para la rnarcha del nrgocio.

1,os Lirldrs en 10s huertos tlr kern se s ieml~ran en filas y wlumnas. Las filas J las t*olumnas es t in separadas entre si por 20 pies. Cuando un hrl)ol mnrr r Gstr sr extirpa y otro i r l d se siembra en sn Ingar.

RrcuGrdese que las rspecirs reprewi tan a una amplia categoria de frutas. conlo ~ n a n - zanas. nielocotones o crrrzas. > vanedades tle suhtxtegorias de Gstas, como Jonathan \ Rrtl Delicious (para las manzanas). Dependiendo de las condiciones climiticas durantr 10s meses inicialrs, las variedadrs rrtoiian en diferenteb momentas. La cosecha comienza una rirrta cantidad de dias a partir del florrrimiento ccrnipleto de m a t a r i d a d determinada.

Ademis tlr podrr nianejar rsta nurva inforn~acibn, el moclelo de tlatoi dehe cons- t ruirsr de modcr t'rl qur sr pueda rrspondcr las siguientes preguntas:

~Cuintoh arl)urtob tlr. manzanas Red Delic.ious se extrajeron del hnerto dr Paynrwille el aiio pasatlo? iCuil fur la ferha promrdio de c.osrcha en todos 10s huertos para m a tlrtrrminada varie-

CUADRILLA

EDlFlClO

TIP0 DE CUADRILLA

PLANIFICADA-PARA* FECHA

Page 131: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

CUADRILLA 1- * ASIGNADO-A *

ES-CA?ATAZ.DE

REWERE * Fi EDlFlClO

MATERIAL

TIP0 DE CUADRILLA

dad tlc inrlorotont.h en los iiltimos dirz a h ? iC11intlo ticl~erlin rstar listas 11ara la roset*ha tie rstr aiio las manzanas Jonathan dcl hwrto T,ee Valley? ~Cuintos rspacios hay libres en ratla hurrto para plantar nurvos irholes? 1Cuintos qucdarian lihrrb si taliramos a11uellos irboles ruyo pronmlio tlr produwi6n tie 10s hltinlos rinco aiios estin por debajo de un cirrto rentlimiento?

La Figur? 4.37 murstra la ~ r r s i 6 n mejoratla d r la Figura 4.22. El ronjunto cle ohjetos LOCALIZACION es otro ejrmplo elr ohjrto concrptual. Este no represents una localizarihn esprcifica. sino clue no5 da la fila y la cqlumna que puede rstar en cualquier huerto. De rs t r modo. una instancia tle LOCALIZACION como puedr ser (10, 17) reprrsrnta a la fila 10 y la cwlumna 17 de nn hurr to no especificado. Cuanclo una instancia como 6sta sc. relaciona con u n huerto en rspecifico --digamos por ejetnplo r l huerto Springtown-, rntoncrs el tri- p le t~ (Springtown, 10, 17) nos d a la fila 10, la columna 17 dr l huerto Springtown.

E n la Figura 4.22 s d o se relacionan 10s irholes con sus hurrtos. Ahora ir purdrn

Page 132: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRlNClPlOS DEL DISENO CONCEPTUAL DE BASE DE DATOS

CRECIMIENTO m

identifitear loh huertos y las locdizaciones espec.ificas (fila y colunina) tlentro del huerto dontle es t i plantatlo un i r l d . Esto permite d a r respuesta a la pregunta sohre r l niimero tle espa(ios v a c h en cada huerto:

La i~?trrrrl;~tibn I ~ I I I * liga 111s i r l d r s co11 sris localizarionc~s rsprc-ifivas drntro dr rirl hnrrto sr llama EST.4-L0C:ILIZADO-EN. ~ P o r (job rs uno-muc.l~os? EstL rlaro qur rm k r l d purdr tenrr rina sola localizaciijn. pcro dpor club m a localizacihn pnede tenrr muchos arldrs'! Rrc.nbrdrse q w sr conserva el alio en clue un irl)ol mari6, la base dr ~latos ronscrva el rastro dr todos los irl~olrs qur h;in estado rn una Ioc.alizari6n rspecifica en el transrurso dr 10s afios. Lo c p c b sr tirnr ahora qur hacrr rs idrntifirar todos 10s i r f d r s asoriatlos con un t.spacio rn partirrilar dentro dcl hurrto. Si todos han muerto, rntoncrs se purtlr asuniir Ipe rl rspacio esti 1lisponi1)lr para un nurvo irl)ol.

Esta informacicin tamhiin se purde usar p a r a determinar dOnde est in las Areas m i s fbrtiles dentro de un huerto. Podemos rastrrar el niimero tie florecimientos clue produw cada i r l ~ o l en el aiio. Con el paso d e 10s aiios, 10s irboles en las areas m i s firtiles produci- r i n m i s frutas.

P a r a determinar cu indo es la Cpoca de cosecha para una variedad dada en un huer- to dado st: debe registrar cu indo ha tenido lugar un total florecimiento para dicha varie- dad en el huerto. Por lo tanto, se deben conectar HUERTO con VL4RIEDAD en una in- terrelaci6n Y lueeo conectar estas dos con FECHA en la interrelacibn FLORECIO-EN. , L.

Esto nos dice cu indo ha ocurrido un florecimiento total p a r a cada variedad en cada huer- to. El atributo FACTOR DE CRECIMIENTO de VARIEDAD nos d a el numero de dias des- de que termini, el florecimiento hasta el comienzo d e l a cosecha. Usando el atributo FAC-

Page 133: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

TOR TIE CRECIMIENTO en comlrinac-iirn con la intrrrelaciirn FLORECIO-EY pot lmos ohtener cuando d e h e r i ic.r la cwsec.ha tle cada varirdad c,n ratla hnrrto. Esta informaci6n e i eiencial para planific*ar :I lo* tral)ajatlores dnran t r la 6poc.a de c,osrrha.

Para rrgistrnr el i olumm total ccrsec-haclo d4 cwla karietlad cada alio ! (atla tii-l)ol, tIel)rrno5 lignr ci~cla initancia de la interrc4aciirn (ARBOL, V4RIEDLlD) c*on 00 DE COSE- CH4. Esta intrrrelacibn dc trri-viai tendrri el atrihnto VOLUMEN DE COSECHA. clue noi cf re cwhnto se ha cosechado de cada varicdacl c d a Lrbol en catla a70 tle cwiec*ha.

Ejemplo 6: Servieios de Consultoria Manwaring (eontinuaeih)

41 principio ilel cap i tdo ie crearon motlc.lo5 cle clatoi para hrdenei tic. cwnipra ) facturas cle loi Servicioi tlr Consultcrria Manwaring. Los formularies ntilizatloi i e iin~plifiraron 1)ai-a qnc' i t - a jni taran a 10s motlelos conc8el)tualei 1)hiicwi clue eitaban di5ponihles. U.smtlo c o n c y t o i nihi a\anza(los i e l)ueclrn crear modelos tle datoi para formatos de infiwnies m i i sofisticados. Sc \ w h n aliora veriionei mas sofiiticadas cle las brdrnes ck (~11t11)ra ! tle la i favturas. y se c r c w h i tncrcleloi para lab miimas.

La E'igrli-a 4.38 ~nues t ra una ordrn cle cwmpra mejoracla de loi Senicios cle Coniul- toria Manwaring. Si se conipara estr formulario con el cle la Figura 4.25 tlel)e notarse clue se inchyen nnevas colwnnas para Drscripcibn del Producto, Cnittidnd. P r ~ c i o C ilitcirio y P r w w Totcil, rnientrai clue el or ig~nal sirlo tenia Dc.sc.ripc.ihn clel Protlucto y Precio. En el forninlario original, la c-anticlad cpe sr ordrnaha rstaha incluicla clentro d r la Dr~cr ipcGi t d r l Prorlucto, mientrai quc ahora se sr1)aran. El Prrcio Ui~itorio no aparecia. El Prrcio del forn~ular io original e i lo cpe ahora e i el Precio Totc~l.

En rs t r n w ~ o formulario ticw. (10s ventajai: (1) Pnesto quc. P r w i o I iritctrio cith ell func~ihn clel ~rroducto c p r i r ehti orcletiaticlo, el Prrcio Total se ptictlc. c~alcwlar au to~ni t i cw nicbntc. a par t i r d r Culltirlnd y de Prrcio C'llitnrio. E n el antiguo fc)rninlar~o sr ~ w l u r r i a qucb

SERVlClO DE CONSULTORIA MANWARING

950 MAIN EASTON, PA I I I I I

ORDEN DE COMPRA

Fecha Numero de orden Numero de vendedor

Precio Mnventario Descripcion del product0 Cantidad unitario Cantidad

I I

Cliente:

Consolidated Office Suplies 414 S. Choctaw Drive Flagship, PA 12345

Page 134: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRlNClPlOS DEL DISENO CONCEPTUAL DE BASE DE DATOS 117

vita s r hitiesr niannalmrnte. (2) Pnvsto q11e Curitidad s r lista por scyaratlo e i posi1)le Ilr- a r u t*alw t.ilcnlos twn ella tanto en la ortlen tlc c.orn1,r.a en 4. c.omo en la tlett~rniinacihn

tlr la canticlad total ortlenatla para cnalquier 1)rotlucto a lo largo d r nn pr r i ido tlc tienipo. 'I'ales c.ilc~ilos purdrn usarsr para responder a prrgnntas como:

La F i g ~ ~ r a 4.39 murstra t.1 modelo de tlatos qne se ohtienr de rste formnlario para br t lmrs dc. t w n l ~ r a . Ol&rvrsr que se ha elietlitlo la intrrrclacibn r n t r r PROD[-CTO y ORDEN. CANTlDAD y PRECIO TOTAL son atrihutos d r l upregudo ~ ) n t ~ t o clw tlepen- tlen tanto de PRECIO como tle ORDEN. Esto es, la carrtidnd es el niinirro tlr unitlatlcs t l ~ rrn prodlicto qur est in sienclo ordenadas r n una orderi en particular. El PRE(:IO TOTII , r s un atri1)uto qnr sr t:alc.nla y q u r s r aplica a PRODUCTO y ORDEN en la niisn~a for- me qne C:\NTID.ID. Ybtese tam1)iCn qne DESCRIPCION. NUMERO DE INVENTAIRIO y PRECIO UNITARIO son toclos atribntos de PRODUCTO, ya , q w clepeti(1en shlo tlt- PRODUCTO y no tle ORDEN. E n el nuevo niotlrlo. DESCRIPCION tienr 1111 signifitylo tiifrrrnte qnf~ r n el moclelo tit. la Figura 4.26, I;a que en rste iiltinm la DESCRIPCION in(-lnia la c*antidad (pie r s t h i ordeninclose.

La Figura 4.40 muestra nna versi6n mejorada tlc las f'actnras. Si st* conipara esta f a r t n r ; ~ laon la tle la Figura 4.28 se ~ n i t d r v r r que 10s taargos se han sel)araclo t>n Cnrgos dc? ( : o r d t o r i u y Otros Curgos. E n la factnra tnqiorada se muestran A c t i d n d y Horus en lugar tle Descripcicin d e Corgo, como en la original. Descripcihrc d e Curgo era un t.ainl)o lihre t3n el twal el nsuario podia escrihir la informacihn que considerase apropiatla. Poi- el contrario, Actiuiducl )- Horas son muvho m i s precisas. .Actidad inchiye shlo un ninnero rslwifit:o d r actividatles predrfinitlas. tales conio andisis de sistema, tliseiio d r sistrma. ~nwgrainacibn y ~ntrcnainiento a1 ~ ~ s u a r i o , con las clue 10s Consnltores cstarian a cargo. Horas, por supuesto, drlw ser nnnrCrico. Este rnfoqnr hace miicho nihs f'icil que un siste- ma automatizatlo calcule el numero d e horas t p r catla consnltor ha tledicado a catla t i p dc actividad 1m-a cada clirntr.

El modrlo tlr tlatos para tLsta factura s r muestra en la Fignra 4.41. Se han ahatlitlo las interrelaciones r n t r r CONSULTOR y ACTIVIDAD, asi t.on~o la interrelacihn entrcl t1ste agregatlo y PROYECTO. El nilis grantle tlr 10s agregados tienr, por lo tanto, 10s atri1,ntos HORLI y CANTIDAD. Esto es tlcbido a clue el valor del atrilmto HOR-IS tlepentle cle 10s

f NOMBRE VENDEDOR

DIRECCION

HECHO-A

I \ *

PRODUCTO * INCLUYE * PEDIDO

TOTAL

FECHA

PRECIO

Page 135: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

SERVlClO DE CONSULTORIA MANWARING

950 MAIN EASTON, PA I I I I I

FACTURA

Fecha N~irnero de factura Proyecto

1 Total de consulta 1 7 .200 ,00

271 1 2

Consultor Actividad Horas Tarifa Cantidad

OTROS CARGOS

Descripcion Cantidad

. Rodr iguez

Rodr iguez

Rodr iguez

Chatman

349 Sis tema de c o n t r o l de gas tos

A n a l i s i s de s i s tema

Diseno de s is tema

Programacion

Programacion

S u m i n l s t r o s (Pape l , Fo tocop ias , e t c . )

Cliente:

35,00

I I

R o b e s p i e r r e M a n u f a c t u r i n g 1793 B o n a p a r t e Road B a s t i l l e , PA 10000

30

30

20

60

Otro total

Factura total

tres favtorcbs: t:onsultor. activitlatl y proyetBto. Es t1t:cir. el atriln~to HORAS nos dit*c, twin- to tiempo ha eatatlo 1111 determinatlo consultor a cargo tle una actiziclcrd para rrn tletermi- natlo proyecto.

0l)si.rvese que el atrihuto 'I'ARIFG m t i t*onectaclo tlirectanirnte con t:1 conjunto tle ohjetos CONSULTOR , ya qut, s d o del~entle drl consultor. Esto es, Manwaring c-ohra la misrtia tarifa p r horas para un tleterminaclo consultor inde~)c:ndientt.n~e~~tts del tipo tle at.tividat1 de la qur rsti. a cargo. Esto se muestra rn la factlira nirjoratla de la Figwa 4.40, se puedr ver a tp i clue la tarifa tle Rotlrignrz siempre es tlc $60 por hora.

C.4NTIDXD intlica el cargo por el trahajo cir nn consultor en un at.tividat1 y para un l~royecto. Esto se calcrda n~ultil~licantlo la tarifu (clue se toma tlel a t r i h t o TARlFA del consnltor) por las horas ( q w se toma tlrl atrihuto HORAS) para la activitlad d r dicho con- sultor en e] proyecto.

A1 comienzo del capitulo se vio que Joan Manwaring estalla interesado en un sistema quc relacionase consr~ltores, actividades y clientes. cie modo qur pudirra ol~tenerse infor- macibn sobre s r~s interrrlaciones. La Figura 4.41 nos da el modelo tle clatos necesario. Los datos soportados por este motlelo d r datos sr puetlen manipular para crrar un gran nilme- ro de informrs, dos de 10s cuales se muestran en las Figuras 4.42(a) y 4#.42(11).

El informe tle la actividad tle consulta de la Figura 4.42(a) muestra cuiintas horas ha invertitlo cada consultor en cada actividad tir~rante el pasado a h . Por ejemplo, Chatrnan

35,00

7.235.00

$ 6 0 / h r

$ 6 0 / h r

$ 6 0 / h r

$ 4 0 / h r

1 .800,00

1.800,00

1.200,00

2.400,00

Page 136: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRlNClPlOS DEL DISENO CONCEPTUAL DE BASE DE DATOS

+ EJECUTADO-POR

CONSULTOR

OCUPADO-EN

ACTlVl DAD

O N * I PROYECTO I *

CONSULTOR ACTIVID I D HORAS

Harris

Pr~+ramac& Entrrnamirnto al usllario .,lnilisis d r oficina Entratla d r Datos Convrrsihn tlr arrhivos Entrrnamirnto a1 nsnario -Inilisis tlr ofitina Convrrsihn d r arrhivo.: P rog ra lna r i h Di&o (Ir s istrn~as l i~ i i l i s i s (Ir ofivir~a Progranlacii~n Disriio tlr histrrnas Anilisis d r sistrrnas Entrmamiento al usuario -Inilisis tlr of'ivina

(a) lTn informr q u r rrlariona consultorrs ron artivicladrh

Page 137: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

INFORME (:ONSliI.'L'OR-CI.TEUTE Para ( 8 1 aiio I ~ I I C t r n n i ~ ~ a tan tlit~irrnl~w 3 I . 10-

invirtih 950 hn rw en prograrnacihn, 600 horas r n entrrnamiento a 10s nsuarios y 450 horas en las at*tivitlades tle ofitina clue no potlrian fat:tararse a los clientes. El infornle t~oimsultor- clie~ite tlr la Figura 4.4%(1)) muestra c r~ in t a s horas ha gastatlo cads c*onsnltor en at-tivitla- des f a c t n r a l h para cada cliente.

El no tie lo de tlatos tle la Figura 1.41 podria llsarse para ohtenrr una varicclatl de informrs sindares. Por rjrmj)lo, podria generarse nn inf'orme para mostrsr precisamente q n t artividatles llrva a calw catla consdtor para cada diente y sohrr crlil proyecto. Por snpuesto, tanlbibn podria mostrarse la cantidatl de horas clue ellos gastan en cads activi- dad. Otro informe podria ser el dcl porcrntaje metlio para rada proyecto tle las horas fac- tural)les cmplradas en t:ada activitlatl. l'or ejmmplo, si el inforine nmestra clue. comtr pro- medio, los analistas de sistrma o t q a n sblo el 5 por 100 del tiempo del proyecto, rntonws potlrian planificarse entrenainicntos adicionalrs para clrserrollar en 10s consultores mejo- res hahilidatles df: anilisis de sistema.

La agregaticin y las intrrrelationcs d r alto nivd son hrrraniientas poclerosas qne tie- nen aplicacibn frecuente en el motirlado de sistrnlas complejos en 10s ncgot-ins. En vertiatl. pricticamente todos los pro1)lt:inas de negocios tienen suficiente t:omplejitlatl 11ar-a requc- r i r la aplicacii~n de rstos conveptos. Los ejernplos tlados en este cap i tdo ilustran el potlcr dr la agrrgaciim y la rica variedad tle situariones en la t:ual se puede aplical-.

Modelado conceptual de objetos contra objetos fisicos Aunqur la agregeci6n y las intrrrelaciones cle alto nivel son herramientas muy utiles en la solucibn de una amplia variedad cle prohlrmas de modrlatlo. hay ciertos prohlemas en 10s clue 10s aspectus m i s dificiles purden resolverse con herramientas m i s bisicas. En esta scr- cicin se verLn algmos prol)lrnlas q n r surgen del~ido a las amhigiiedades d r nnrstro lengua- je cotidiano. Como se pod r i apreciar una vez que se t:omprmdan y se aislen 10s eonceptos

Page 138: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRlNClPlOS DEL DISENO CONCEPTUAL DE BASE DE DATOS I 2 I

cuujuuto de objetos conreptunles. lln conjunto tlr objrtos cu!,as ~ustanc~ws son objt>tw t ~ c ~ n t . r ~ ~ t ~ ~ a l r ~ .

~nrolricratlos r n talrs aml)igiietlades, se p o d r i n resolver 10s ~)rol)lenias tlrl modrlado tlr tlatos sinlplemente drfinientlo 10s conjuntos tle ohjetos apropiados. Los agrrgatlos J otros conceptos se puetlen usar para introtlucir construcriones adirionale, en el niodrlo tle tlatos segilri sea necesario.

Eli la seccihn anterior sr putlicron notar varias instanrias de conjuntos d c ohjeto? conceptuales. Por ejrinplo, TIP0 DE MITERIAL y T I P 0 UE CU4DRILL4, en rl 1iiotlt.- lo de t l d t ~ ~ s tle la Conlpaiiia Constructors Premier. son conjuntos de objetos cont*eptualcs. p r s t o que ius instantias representan tipos d r rosas en lngar de elernplos especificos J t.011-

cLrrtos tle talrs tipos. LTn tipo tit' m a t r r ~ a l 1,uetlr ser "madrros tle 2 x 4 x 10' " en lugar tit. un p r t l a ~ o de madero r n espediccr. IJn tipo de b r i p d a podria ser "tlr trcho" o "elbc~ti-it-a". mientras tjur una brigadu m rsperifiro putlierd s r r " l ~ q u r esth l,onirutlo el t t ~ h o (It4 tdi- ficio en 320 ;Main Street".

4 mrnudo rs newsario distinguir entre 10s conjuntos tlr ohjetos twntq)tualcs \. 10s conjunto dr oljjrtos conjuntos d e ohjetos fisicos cjue correspondrn a istos. yi clue alnllos t i p s tlc coril~mtos fisicos. 1Tn ronlui~to tlr tle oljjetos sr ntw.sitan reprrsentar en r l mismo motlrlo tlr tlatos. Esto se ilustra r u r l r l r u - objrtw cu\as instantxis plo s ig~~iente . sou ol)jctos iisicos.

El problema de una biblioteca

IJn estudiantr llama a una lh l io tcca y pregunta:

ESTITDI4NTE: iTienen The Pickwich Pupera tle Charlcs Dickcns? BIBLIOTEC 4RIO: (Introduce la consulta r n el t-athlogo en linea). No. no lo tenrruos.

E: 1Y Bleak House? R: (Introduce la segnntla twnsuha). No. E: ~ C u i n t o s 1il)ros tieurn tle Dit.ltei~sP B: (Introtlure lula t r r t*rra t-onsulta). Tenenios tlore. E: i,De vrrtlatl? i,Cuiles son:' R: Ttmvnws A T(1le of7ico Cities, ropia 1; A Tale of Two Citim, t.o-

pia 2: A T u l ~ of T ~ r o Cities, ropia 3. ) asi hasta la ropia 12. E: iTotlos son r l mismo lil)ro! No tienen tioce l i l~ros tle Dirkrns, tir-

nen shlo uno. H: No. no son totlos el mismo. LTno es la Etliribn Clhsica, otro rs una

trad~lccihn al alemin. otro es lina tratluccihn a1 franc&. uno es una wrsibn twndensatla. ! asi suresivamente.

E: P ~ r o rl hecho cierto rs clue totlos son cerdaderumente el mismo l i h . No importa lo clue se puetla Ilaber hrcho para Iwnerlo en tiifrrentes cdit~iones. sigue sirndo 4 Tale of ' fko Cities. Rral- mente timcm 5610 iin lihro de Diel\ens.

Esta twnvrrsari6n, Ijasada r n Krnt (1978). nui1t.a potlria o t ~ ~ r r i r p u ~ ~ s t o ( p r iilngiln hil)liotet*ario tlacia 10s argumentos que el hihliotecario esta tlantlo. Sin rmhargo. sirvts para tlrstacar un prol)le~na signifit*ati~o cpir trneiiios con el lenguaje natllral clue 10s liunianos usan tbn sus twu\ rrsationes twrrientes. E n cstc cjcmplo. ~ q u i ' rs Iv t p ' rnteiitlemos por libro? Sin pruf'undi7ar tle~nasiatlo, J fnera tlel twntrxto tlc csta t*onvcrsac~bn. potlcmios pensar clue "1111 l i l m tLs nn liljro'". 1 que no d e h haher ninguna anil)ipiietlcitl en el uso tle esa pa1al)ra. t'rro aqui el estutliantc y rl hihlioterario est in usantlo la palahra lihro tle (10s maneras niu) difrrrntes. Por un lado --para el rstudiante-, un liljro es algo c*ontq)tiial qiie piietle tcntLr mricl~as \rrsiones fisicas tliferentes. De este niodo, A Tale of 7 h o Cities es realmente el mis- mo lihro. indel)entlicntc~ncntc si rs la ropia 1 o la 8, independientemrnte tlr si r s t i en inplbs o en franc&, r inde1)t~ntlientrinrnte de si es una versihn completa o iina versihn rontlensatla. Por otro la(lo, el 1)ihliottwrio r s t i utilizando (a1 menos inic~almente) el otro sentido: Un liljro e5 alga fisicw qnr potleinos tcnthr r n nurstras manos, qnr l~otlemos hojear y poner en un rstan- te. El hihliotecario tlet-esita Hevar la ruenta tlr 10s lit~rosfisicos qur tiene, independiente- mrnte tle si es la primera o la tlerimosepntla t-o~)ia tle un l h r o conceptual.

Page 139: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

-Ilgunas \etSes sc. tlistingw entre vstas dos formas tlr uso. iniiitiendo en clue 10s lihroi lisicos sran denominacloi copias o ~ ~ o l u i r t e n e ~ . I)r rs t r tnoclo. i e purcle tletir: -';Cuhntoi v o l u m r n e ~ contwne la l ~ i l ~ h o t t ~ t ~ a ? ' P tw twmo ol~servadores de las (,on\ eriacionei entre loi uiuarios del)enioi 1-ecwnot-t.1- clot. la griitr frrt~urntemente no o l w r \ a talei t*onvenioi. Ellos dicen iimplemente "1il)ro". cwn lo tfltr algundsveecs est in cluerienclo clecir "li1)ro c o n t q - tual" T otrai "lihro liiit-ow. Para diirliar uria base de clatos se necwita i e r capaz de detec- t a r e i ta i diferenciai. En rrlgnnos raws. loi usuarios se refer i r io 4 un objeto coi~ceptual, qne es una \ e r s ~ h n al)itrat.ta o grnerahzada de tin ohjeto. En otros raioi . loi uiuarios se refwirlin a uii ob.jeto.fisico. o und Instancw t.slwc4ic.a de un o h p o conceptual. P o r lo tan- to, hi i e (p ie re resl)onder Ids nec.esitlrid(- dv todoi los nsnarios tle h a w de datos. lob mocleloi dc datos deben capturar eita distinri6n entre conceptndl \. fiiicw.

Ha! mnrhas otras distinciones iutilrs que (.alltar. En la distws~hn entre el estndiantt~ y el Iddiotetm-lo, ~1 hihliotecario eventucrhnrnte aw11ta (1ntx I i q 111ia d i fe r t~n(w tmtrc nn 1il)ro fisico y uno conceptual. p r o iniiitr en tlnr. si son edicionez diferentes, 10s lihros son conceptualmente cfferentes. Ei to es, la Eci1ri6n C l b s i c ~ ~ ( h n p l c t a tlc A Tr~les of Two Citirs e i un lilwo t*ont*eptualnicntc tlistiiito de la l e r s i h condrnsada. Sin emljargo, el eitiitliante insist? en qne la editihn e i irrt*lt.\ante y clue conceptnalmente el liljro e i el mlimo a travbi de sns diferentei etlicionei.

Lo cierto e i clue amhai partei t icnm puntos de vista legitimoi. T'ueito t p e lo que noi interr ia es el d i s e h tle haiei de tiatos, uo tenemos clue determinar t*ulil de l a i partes "tie- ne la razhn"'. Lo qne se neceiita rs conocer a (pi. claw de preguntas desean 10s nsnarios que el iiiteina p u e d a d a r res f~urs ta . lltia vez que se h a y identificado el tipo de infornia- tihn clue ie netBesita. se puetlen tomar deciiionei sohre el ciiseiio de 10s tlatos. Tdealniente i e tluisirran satisfatw ttrtlos 10s p u t o s de i is ta , inc~liiyendo trmto el (id cstu(iiantc como el del I~il~liotecario.

Crear el modelo de datos de la biblioteca

Durante la f a w de definicibn d r 10s requisitoz dcl eiclo de vida del desarrollo de la base tle datoi (C\ BDI. romo analistas tenemos clue rea l~zar entreviitai a loi uiuarioi para dctcr- niinar sus netwidaclrs y sus rxprctativai con r e l a c i h a1 iiitema cle h i e tie datoi. Duran- t r esta fasr r s muy importante clue se iclmtifiqnen wrrectamente 10s objetos y las mterrr- lationes tlur forman la actnitlad cotitliana de loi uinarioi. Dr rs t r motlo. si hay tlifrrentias sutiles en el signific.aclo dc lob diferentes tbrminos que ot-urrm tlr manera natural en 14s transacciones de negocios, tenemoi que ie r capaces cie identifiearlas de manera que poda- moi modc4ar lab interrelaciones con preciiihn.

P a r a w e a r el modelo a1 problema de la bibliotera li+ cine t w d e r a r la, siguienteb preguntas:

~Cuintos 1il)ros tlr Charles Dic.1cc.n~ tirnc. la I~il)liotrra? i,Caintos lil~rob difvrrntes tirnv la I~ibl iot t~a cm la Etliribn Clisira Con~plrta? ~Cuintos lihros tirnt. la Id)li~)tc.ca qnc. estin rn srgunda ediribn? ~Cuin tas copias tirnr la I)il~liotrc.a dr "Pridr and Prrjadiw" "?

Para ei ta i preguntas se pueden identificar tres t i p s de "libros":

LJna e d i c i h de un l i l ~ r o conceptual LJn l i l ~ r o fisico

A part i r de las dos primerai i e purtlen vonstruir nos conjuntos de objetos y una in- terrrlacicin (Figura 4.43). Fijese en las cartlinalitlacleh minima y mlixima para LIBRO- CONCEPTUAL. Estas rardinalidades muestran (pie el conjunto de ohjetos EDICION-

' Orgullo J. Prejuicio ( N . drl T . ) .

Page 140: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRlNClPlOS DEL DISENO CONCEPTUAL DE BASE DE DATOS

LIBRO- TIENE-EDICION J-j EDICION-LIBRO- CONCEPTUAL CONCEPTUAL

Oliver Twist Edicion Clisica Completa

OLIVER Oliver Twist Edicion Penguin

TWIST Oliver Twist Edicion en aleman Oliver Twist Edicion de Simon & Schuster Oliver Twist Edicion Abridged

DAVID David Copperfield Edicion Clasica Completa

COPPERFIELD David Copperfield Edicion aleman

IJBRO-CONCEPTI 1L (.h dependiente del twnjunto tle ol~jetos LIBRO-C03CEPTIT1L. Esto rs, catla rclici6n cle 1il)ro t.onc.rptna1 rs nna cdic.ihn de uno ! sblo 1111 lihro conceptual.

An11q11t~ (la rril)ursta a alp^;^ (1r las pregnntai. r n tlrfinitiba falla porcpr no rs c-;lpaz tle r rspondrr a preguntai t aks romo:

El prohlrma tiene clue vcr twn r l conjnnto tlc o l~ j r tos EDICI~~Y-LIBK~-COV(:EP- TU4L. Dado clue cada inbta~wia e i uila edici6n tlr un libro part~cular . no w p ~ ~ e t l e n twn- para r rdiciones i d h t i c a s dc,lil)ros diferentes. Un prohlen~a adicional twn rsta soluci6n e i (111~ r tquierr que la EDICION-LIBKO-CONCEPTUAL contenga c*onsitlrral)len~e~~tr n15- instancias de ohjetos qur, las qur son realmrntr nrt.eb;rrias.

La Figura 4.44 (la una nlrjor solncihn. E n rste caw. EDICION es u n conjunto tle ohjetos,indrl)endielltr. Pur i to que nn lihro concrptual puedr t r n r r muchas cdit*iones. EDICION no purdr st-r un atrilmto tlr LIBRO-CONCEPTUAL. Por tanto. la intrrrrlac>iOn entrr LIBRO-CONCEPTUAL y EDICION r s innt~hos-nnic.hos. Con rs tr moclt.lo i r pnrdrn responder la i p repmtas s o l ~ r r rdicionrs y no ha? cluplicacionrs innrcrswias tlr lab edi- cionrs twncrptuales. P o r ejymplo. Edicihn Cli i i tx Completa aparrce shlo m a vrz r n r l cotljuntc~ tlr o1)jrtos EDICION, nlirntras que aparece dos veer* inc.rustado en "Editihn Clisica Complrta de Oliver Tw jit" y "Edicihn Clisit-a Complrta d r David CopprrficM" r n el conjunto d r ohjetos EDICION-LIBRO-CONCEPTU.41, d r la F ig i ra 4.43. Puesto que podrian h a h r r muchos libros en la Edicihn Cli5it.a Cornpleta, este nurbo enfoqur rlimina una gran cantitlad de rhplit*acionrs potenc.ialrs.

LIBRO- CONCEPTUAL

TIENE-EDICION EDICION

OLIVER Edicion Clkica Cornpleta

DAVl D "IsT COPPERFIELD x Edicion alernan

Page 141: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Csando la Figura 4.44 se p r d e afiadjr a nuestro modelo la norihn de '-lil~ros fisicos" (Figura 4.45). Una instanria de LIBRO-FISICO represrnta nn l o l u ~ n e n cwnrreto que i r pnecle mar ra r con nn n i~mero dv identidatl 01 cual se 1 1 u d r detet-tar con un solo 11atrhn tle ld11iotec.a a la t r7 . El1 rstv rjrmplo sc asrlmr qur t.1 ninnero dtl idrntidatl in(-lurr todu la informarihn nt.crsaria para ~drnt i f icar dr f'ornia i1nit.a a un 1il)ro fisitw r n l~ar t i t -~ i la r . t'or lo tanto. la clave extc~rrw llara r a t h l i h o fisitw rs vstr numrro. o r~limero tle itlei~t$ccic.ii,n Jisicc~. nltdiantr rl t w d purdr s r r raitrratlo (.on prophsitos tlr control dt. inlrntarios. El n h r r o (10 identitlilt1 purde i n t h i r informati611 tal romo r~zirnero tic. twpicl. qrle tlistingnr nna twl~ia tlr rln d r tc~mina t lo l i l ~ r o t .ontq)t~ial dado tlr otra copia tlrl !nisnio lillro.

01156rl rsr la rartlinalidatl ~ i n o - i u ~ ~ t ~ h o s dt' la intrrrrlarii,n EST1-(:ONTEhIDO-EK tlv la Figurn 4.45. Tal rantitlatl afirina t p r m a tlvtcwninada cwm1)inatihn l i l ~ r o - r d i t ~ h n 1111rtlr rs tar rontrnidn (-11 n i~~t*hos 1il)ros fisitws difrrrntrs. Esto rorrrspondr con nnrstra t*om1wrnsihn d e la rtditlati . I'rro la rardinalitlatl tanhi611 aitbvera clue 1111 l i l ~ r o fisitw (lado

LIBRO- F~.ICO

Consitlrrtl un lihro ( fu r rontiene o1)ras srlerrionadas d r Janr h s t c m . ITn tal l i l~ro twii- tirnv tlifbrrntrs lihroa ronrrl1tna1c.s. aunquv s r 11urtlr dtxir qur totlos tivnrn la tnisina t d -

ti611. Totlos rstos lihros cont~rptuales r s t in r o n t t ~ d o s m t:1 miamo l i l~ro fisiro. como sr murs- tra r n la Figura 4.46. Pnesto tpir Pita situatihn no rs inusual, para ganar rn prrt.isihn \ amos a t-orrrgir la twdinalidad dr la Figrrra -1.45 de uno-muchos a murhos-n~uthos (Figura 4.17). Esto es. n n s t w d l o 1il)ro fisico purdr r i t a r relationado con nn'iltiplvs lihros rontq)tuales.

N ~ ~ r s t r o modelo tlr datt15 uuede a h no i r sufic-irntementr lrios. Si 10s usuarios tle la I~ i l~ l io t r ra nrwsi tan idrntifirar los lihros por el idioma thn clue furron l~n l~ l i rados . i r d c l w ria t r n r r a IDIOMA romo 1111 011jrto al~;n-tt'. El idioma pcdr ser un atril)nto d r una wnl - hinaci6n lil~ro-edirii~n (asumimdo q u r una t-tliritin d r n n li1)ro purtlr ?star en nn $010 ~tlio- ma) ( I pudirra ser nn wnjunto d r o1)jetos apar t r clue t ime una i n t r r r r l a t i h m n t h s - m n r h o s twn etliri6n-lil~ro. Esto rs, m a rdicihn tlatla de un 1il)rtl pudiei-a ron t rnr r porciones rn Italiano, Franc&, E y h l . InglCs y otros. La Figura 4.48 m y s t r a IDIOMA como nn conjnnto d e ohjetoi rela+natlo a travCs d r la interrelati611 EST 4-EN-IDIOM 1 (.on el agrrgatlo de TIENE-EDICION. ITn libro fisitw p e d e entonws twrrespundrr con un ohjeto instancia ronsispwte tle nu l i h ronreptual. una edirihn y un idiotna, r l cual esta en el agrrgado d e ESTA-EN-IDIOMA.

La thstinrihn rntre libros I-onwptualrs y lihros fisicos rs crucial para la solucihn cle este prohlema. Lo clue es ahn mhs importante. rsta distinritin w n r p u a l - f i s i r a cas i t i l en la solucihn d e muchos prohlemas similares en el modrlado de datos. Estos s r rncuentrsn en

Page 142: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRlNClPlOS DEL DISENO CONCEPTUAL DE BASE DE DATOS

CONCEPTUAL TIENE-EDICION EDICION

Pride and Prejudice Sense and Sen;ibility ED~C~ON DE

OBRAS SELECTAS Persuasion

Northanger Abby

) #identidad = l23.4SCW I LIBRO FlSlCO

LIBRO- F~SICO

- LIBRO-

CONCEPTUAL

murhos t i p s tlr situariones de negorios. Catla t cz (pie m a pala1,ra se utilire ambigua- mrnte. rl prot)lema potencia1 existe. Sin embargo. romo st, Ila tlemostratlo. la soluri6n es bastantr h ~ p l r . Drfinicntlo conjuntos de objetos por sel)wado. nno para rada lino de los signifirados dr l tbriiiino aint)iguo. y drfinirndo las interrrlacionrs apropiadas entre estos conjuntos tlr ol)jrtos, sr l ~ u e d e ronstruir un modelo cle datos clue projcw toda la informa- ri6n que lob muarios requiereii. 4lgunos rjemploi aclirionales ayudarrin a a r la ra r esto.

Fabricacih de piezas

I.* TIENE-EDICION I .*

La Empresa Robespierre t i m e talleres de dlseiio. tallerr, tie fahriracihn y almacenri. Es- tos talleres de diseiio procluc*en y almarriiari lriezas. [Tila pieza se disriia s d o en nn taller.

EDICION

Page 143: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

./ ESTA-EN-IDIOMA

~ ~ r r o puedr s r r daborat la y almat*en;rtla \ )or varicrs tallerrs. DespnPs tle t~r~tr t~vistarse con 10s cl~~ri ios . Louis y Mariv Rlatles. y con varios cle 10s ofirinistas y grrentcs dr Rolwspirrre. 10s analistac de sistrrnas tlt.tt.1-minaron clue las s ip i rn tes son prrguntas ti1)ic.a~:

LIBRO- CONCEPTUAL

E s t i rlaro c p e la mayoria d r rstas I~rrguntas tienell clue ver (.on seguir el rastro de piezas rsl)etd'ic.as t p r l'urron disriiadas en nn taller, conf'cwionaclab en otro p lurgo guar- tlatias r n un a l m a c h . La F i p r a t.49 rs r l rt.sultado d~ un primer intento tit. 1111 n~odr lo tlr datos para estr proldema. Note la, t*arditialidadrb. Se pnede I-rq)ontler a la pr imrra prrgnnta -iQub piezas f w r o n t l i s r h l a s en q116 ~al l rr?- porqne rada pieza st, tlisriia en

* ALMACENADA-EN * PI EZA ALMACEN

* TIENE-EDICION *

/ X

DISENADA-EN HECHA-EN @!!!%@

EDICION

DEPENDENCIA DEPENDENCIA DE DISENO DE FABR~CAC~ON

Page 144: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRlNClPlOS DEL DISENO CONCEPTUAL DE BASE DE DATOS 127

nn iinitw taller. Si una pivza falla. se pnede nsar el n u m t m de pieza para itlentiliwr Gsta y t leter~ninar tl6ntlr f l i t , tliseiiada. Pero 110 potlemos decir d b n t l ~ f w fahrivada. pntxito clue una pieza pnetle f'alwicarse en niuchos tallere5 tliferentrs. La tc.rt.tbra prepunta -iQnC cantitlad tle piezas 1235 hay en el almat*Gn Leuington'L se pnetle ~ s p o n d ~ r , put.sto t p el inodelo captnra la cantidatl tle piezas ali~iacenatlas en catla almacin para cada t~oni1)ina- rihn p i e ~ a ~ a l n i a c i n . De este modo. el modelo de datos de la Figlira 4.49 p r m e e la mayoria t l v la informatihn tjne se ntwsi ta para rrsponder a las prepuntai.

Un motlelo de tlatoi nitbjor. qnc rripondt' a todas l a i pregnntai. se tiinestra en la F ~ ~ I I - r , ~ 1.30. -Iqni se tlistingiie entrta piczas conct~ptnales \. piezas fiiit-as. L n a p i e ~ d t-oil(-eptual represents nn tipo tle pieza y tiene nn ninnero de picza. qne qc It, asigna a1 tliseiiarla. Esto es prwisaniente lo clue se entientle por PlEZA en la Fipura 4.49. I'na pezd fisicd es und 11i*-

tancia 1 )a r t i tdar tle sn t~orr t~sl)ont l i t~~i t t~ l!it.za cwnt.eptua1. I'or lo tanto. la interreldc.thn entre PIEZA CONCEPTUAL y PIEZ-I FISIC 4 tbs uno-niwhos: I na piwa Cisica taorres- pontle a shlo una pieza conct~ptnal. p r o und pieza concrptnal t.orrt.sl)ontlc. a nint-has 1)le- xas fisicai. Una pieza fisicd tieiic 1111 iiiiniero de serie qne la 1tlentifit.a. Mis aim. bsta fut. fahriratla en shlo un taller. y ell tin momento datlo estL g~lartlatla en 1111 solo a1niat~Gn.

Este motlelo de datos resl)ontle a todas las 1)reguntas listatlas anteriorniente. Se ha on~i- tido CANTIDAD twmo atri1)nto tle (.st(. motlelo de datos. La cant~tlatl tle 1)iezas en un alnx- t.611 11urt1,v tletrl~niinaisr 1)ust.antlo 1'1 instancia tlrscada de almac+n r n el conjunto tlr ohjrtos ALM4CEN y lnego,cwntando el numero dt. piczas fisiras relationatlas con este alniacGn en la inttw-rlaciOn ESTA-ALMACENYD I - E h . Pnesto que la c*omputadora pnetle twntar l i t i - tnente el ninnero tle tales instancias es innecesario crear Iin atribiito sul)erfluo C m T I D A D .

CONCEPTUAL

DISENADA-EN HECHA-EN

Objetos conceptuales para 10s servicios de consulta Manwaring

1 lo largo tie un period0 tle varios aiios. Manwaring ha tlesarrollatlo m a serie tIe sistemas tle twnputarihn para sub ciicntcs. DespuGs tle t rahajar con ~nnchos clientes tliferentes. el rquipo tle Manwaring ha encontrado que twn frwuentia Gstos tienen necesitlatles sinnla- r r s , por lo q u r ('1 mismo softwarp sc pnetle usar para estas neces~dades. P o r ejemplo. Stat- ten necrsita un sistema de contahilitlad por cohrar. de contabilidatl por pagar, nn sistenia de ronta1)ilidatl de costos y un sistema tie nhminas. Crear sistemas generales para la con- tahilidatl por cohrar, 1)or pagar, de twstos, para nhminas, para control de inventarios y otros, Manwaring puede satisfacer las necesidades de muchos clientes a un costo retlncitlo. A part i r de esta experiencia surge la d e c i s i h de crear sistemas bLsiros en cada m a de estas Areas.

La Figura 4.5l(a) muestra un modelo de datos que d a la interrelacihn entre 10s siste- mas basicos y 10s sistemas de 10s clientes que usan 6stos. Los sistemas hisicos tienen nume- ros de versich para indicar las diferentes versiones del sistema. P o r ejemplo, la primera versi6n de un sistema de contabilidad por pagar pudiera haber tenido el nhmero tle ver- si6n 1.0. La segnnda y la tercera versihn pudieran tener 10s nun~eros 1 .1 y 2.0, respectiva-

Page 145: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

mentt~. Puesto que rada sistenla Iiisiro purtlr tener murhos niin~rw)!, de versionrs y rada uiimero 11: versihn sr puede ap l iwr a i i iu~hos sistemas hisit*t)s. la interrdacihn viitre SIS- TEM4 BA4SIC0 y NIIMERO DE VKKSION es la tle ~nurhos-nmrllos.

Catla sisteu~a tlel rlieutr r s t i rt~larionado a1 sistrma(s) lrhsitw a part i r tlrl (-11a1 fue ronstituitlo. Sin e m h a r p . put.sto clue el clivnte s ien~pre r c ~ t i l ~ i r i uua versihr~ espet*if'it.a tlel sisten~a l)isit*o, el sistema drl I-lirntt, esth r d a c i o n a d t ~ t a n t o con (4 histema l)isit*o I Y I I I ~ O con el uui i~ero de ~ersi611. Esto txs. la interrt+t*ihn EST+-INCLUIDA-EN tbs,entrt. SIS'I'EMA CLIENTE !,el apreg!gctclo tle SISTEM.4 BASIC0 y NUMTCKO DE \'ERSIO;\(. Esta interrr- latihn EST.1-IK(:IJIJIDA-E;X cs mu(-huh- nur rhos p o r t p e un sistt*ma tle clitwte tlatlo in- r lu i r i n n ~ c h a s twnil)inwiones tle sistei~1a-l)hsico/n~111e1-o-tie-versii~i1. > m ~ a t w m l ~ i ~ ~ ; ~ t i h n tlatla de s is tema-lr is i~~o/ni~n~t~ro-d~-versiOn se in r ln i r i t:n muc*hos s i s teum (1r rlitmte (life- rentre.

I A Fignra 4.51(1)) iuuestra las instancias para este modelo tle tlatos. El sistenla para el cliente Stattrn se mur.sti-a twmo un pinto del ret*tingulo SISTEM.1 CLIEN'TK. Estv sis- t tma inrluye las twentt~s por pagar. v t ~ s i h n 2.0, y por ello IVI el diagrama e s t i ronet.tatlo al par (tmtwtas por pagar. 2.0). Si el sistema de Stattrn int:luyrse otras versionrs dtb sistemris I)risiros estal-iail ilustratlas otras instanciai; como k t a .

Estr modelo tlqdatos ilustra ademis la tliatincih~i con~- t -~ ) t~~a l - f i s i t* t~ . El ronjunto tle ohjetos SISTEMA-BASI(:O es un conjunto dv ohjetos con ty tua les !- el twi~junto 11e oljje- tos SIS'I'EMA CLIENTE t:s un twnjunto d r ohjetos fisicos. I k het.110, rste ejeiuplo es mu) similar a1 ejenlplo anterior de la Iri1,lioteca. Si s r twmparan las Figuras 4.51(a) y 4.47 i e purtle v r r la correspondencia siguirnte:

SISTEMA- BASICO

(a) Un modelo de datos para 10s sistemas instalados

SISTEMA- Cuentas BASICO a pagar

(b) Un modelo de datos con instancias

Page 146: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRlNClPlOS DEL DISENO CONCEPTUAL DE BASE DE DATOS

LIBRO ,CONCEPTUAL SISTEMA BASICO EDICION NUMERO DE VERSION LIBRO FISICO - SISTEMA CLIENTE

El prop6sito (It, cstv c.jeiiil~lo. asi conio el (It, totlos aquellos qnc 11. han l~recrtlitlo 1.n esta scwihn. r s ilustrar las ainl~igiirclatlrs (pie acechan r n el lenguajc natural tlur se ntiliza p r ; l t l twr i l~ i r los retluisitos (It. los nsrrarios tle las 1)asc.s tlr clatos. Para cstar seguro t p e los niotlclos cle datos son prr~cisos c*ouil~lrtos se delwn analizar c~~~itlatlosanncilte Ias circmls- tancias tlc twla al~lic.aci6n y la t*lascb tle inlormacicin quc clest.an los u s ~ ~ a r i o s tlel sistenla tle I~ase tlc tlatos.

Integraci6n de vistas: Un ejemplo Los ejenil~los tlur, stb hail c.it;telo usautlo en 10s iiltimos tres t 'api t~~los tirntlen a nnificarsc 1.11

la c*reat.ihn tle 1111 h i t w nic~tlelo clue satisfaga 10s recpisitos tle los usuarios con 10s qut. sta ha vstado t ral~ajant lo. En iina gran organizatihn un rnfot l~ir tan sinil~le uo es posihlc. ! el tl twrrollo tlr Iin proyet-to de 11aw tle tlatos 1)i1c.de 1-eclurrir la crcatihn tit, varies nlotlc.lo~ 11e tlatos d i k l w t t - s crtwlos por 10s eqnipos tlc analistas que trallajan t.on 1o.s nwarios en

vista. U t ~ a tlrfinic.ih~~ t l t b las diferentes i r t w . Estos inotlelos s r l~ar ;~ t los se llaman vistas. 1)uesto clue catla uno tle m a ~wr t ibn wstrinpitla 1 4 0 s relwewuta la forina en clue 1111 11s11;lrio ve a la base tlr tlatos. P a r a carear m a i1nit.a e (It. la I ~ a w (It . t la~os. intrgrada I~ase tle tlatos. rstas diferentrs vistas dt.l)en integrarsv c.n un i~nitw u~otlelo tlv

waving ) ver t4mo 6stos sth 1111tden integrar en un ill1it.o motlelo. El tmfotpe s e r i preser\ ; ~ r catla \ista en sn estado original lo nlhs posil~le ! t*ontatatar loi coiijuntoi cle ol~jetos ni la. tlif'cwntvs \ i.ta6 metliantc~ la t . r t~t t i6n de nne\ as intc~rrt~lationes entrcb tbllos.

(:onsitlrrr las Figurai 4.41 ? 4..il ( a ) . l,a Fiprrn 4.41 contitwc nn o l ~ j r t o CI,IE\TE (*on lln a t r i l~u to NOMBRE, ! la Figlira 4.51(a) twntirne ml twnjunto tle ol)jrtos SISTEhl 1 CLIEh'l'E cwn nn atrihuto YORIBRE CLIENTE. Puesto clue el a t r i l~u to VOMBRF, CI,lENTE tlv la Figura 4.5l(a) ! rl a t r i l~u to NOMBRE 1112 la Figura 1 .11 rvpresentan el ~nismo atrihnto. un inodelo integratlo harh retluntlante a ~uno tlr ellos. lTna iolntihii 1104 I)le scria relationar SIS'l'EM4 CLIEhTE a CLIENTE > rliniinar NOMBRE C1,IEhTE conlo atril)uto d r SISTEMA CLIENTE [cwno se muri t ra en la Figura 2.52(a)].

Sin ernl~argo. esta solutihn falla al t .onsitlc~ar otras 11artt.s tle la Figura 4.41. Por rjt~mplo. 10s sistemae clientr se tlesarrollan tlnrante 10s propectos. De esta manera l larwe niis razonahle relacionar el ronjunto de ohjetos SISTEMA CLIEKTE al cwnjunto (11. o l~ je - tos P R O 1 KCTO. wrno se ml~estra r u la Fignra 4.52(1)). La interrrlaci611 INSTAIL_lDO- DCRAVTE indica q u r un sistrma cliente fne creado tlurante una serie tle proyc.ctos. totlos ellos para el nlismo rliente. De este ~iiodo? podernos recorrer un sisternu cliente a t raj6s tle 10s proyectos utilizatlos para instalarlo p pasar a 10s c1ientc.s para lox cuales sc. l lwaron a caho los proyecatus. Ekta soliicihn integra dos vistas p nos tla rl sirnplt. y unificatlo niotlth tic datos tine rstamos hiisc;undo.

La integraci611 tlv vistas para m a h a w tlr datos de una gran organizacihn tbs 1111 11ro- h l r n ~ a cwnplejo (juts rxyuiere del anilisis tle 10s conjuntos tle chjetcrs. los atri1)ntos 4 las relacionrs de las vistas por parte de 10s analistas y de 10s usuarios clue rstkn rnis laoliliari- zatlos con ellas. Aqui solamente se ha mostrado iin ejernplo sencillo clue ilustra algunos tlv 10s conceptos hisicos involucratlos. E n una situaci6n concreta de negocios, el proceso tleb intrgraribn de vistas p e t l e t rahajar en algunos casos. p r o en otros no. Corno se h a tlirhcl antrr ior~nrnte . debido a la cornplrjidad del desarrollo de un proyrcto Or base d r datos algiinas organizaciones optan por no tener una hnica base d e datos para toda la informa- cihn qne necesitan. Escogiendo rs t r rnfoqiie, estas organizacionrs han evitado algunos de 10s aspectos mas dificilrs de la integracicin d e vistas. Por siipursto, las hases de datos mhs prcpriias son representativas de la variedad de vistas de 10s usuarios y cada una de estas hases de datos requerirh de iin procrso dr in tegrac ih de vistas para su diseiio exitoso.

Page 147: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

SISTEMA-

TIENE-VERSI~N

SISTEMA-

TIENE-VERSION

NUMERO- VERSION

INCLUIDA- 7 1 PERTENECE- * EN *I SISTEMA I* A * 1 rl~tcclo$

CLIENTE

(a) Un primer intento de integracion de vistas

ESTA- INCLUIDA-

I

EJECUTADO-POR

I

(a) Una integracion de vistas mejorada

En este capitulo se han estudiado los funtlammtos del niodelado conceptual de datos. Se ha definido el ccmcepto general de un modelo de tlatos, se ha dtwri to una metodolob4a de niodelado y se ha mostrado chmo esta metodologia se puede usar para 10s twnjuntos cle w n - sultas de los usuarios y para los informes existentes.

La pa la lm modelo se usa a incmudo en tres nivrlrs dikrentes: como una metodologia para la creaci6n tlr modelos de segundo nivel. como un esqnenia de h e de datos qnr define 10s t i p s de datos clue se delwn tenrr en una aplicaciOn en particular, p como una hase de datos i~npleineutada, que conticme hechos especificos rstructurados a1 esquema de segundo-nivel.

Un mocirlo de datos conceptual t a m b i h se denoinina semcintico, pursto qne captura el significado de las cosas en el mundo real. Los nlodelos de tlatos conceptuales consisten de conjuntos de ohjetos. interrelaciones y sus agrrgados, atributos, conjuntos de especializa- ci6n. indicadores de cardinalidad y claves. Los conjuntos de ohjetos pueden ser lexicogri- ficos, clue contienen instancias clue se pueden imprimir, o abstractos, que contienen instan- cias que no sr pueden impriruir. Las instancias en conjuntos de ohjetos ahstractos estlin representadas por claves subrogadas, las cualrs son identificatlores internos sin n i n g h sig- nificado externo. Las interrelaciones estahlecen conexiones entre instancias de dos conjun- tos de objetos. Los atributos son interrelaciones entre dos conjuntos de objetos que son fun- cionales en la direcci6n de uno d r 10s conjuntos de objetos. La especializaeibn de conjuntos de objetos, como su1)c:onjuntos de otro conjunto de ohjetos, nos dan un medio para definir atributos para algunas instancias sin necesidad de definir kstos para otras instancias.

Page 148: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRlNClPlOS DEL DISENO CONCEPTUAL DE BASE DE DATOS 13 1

Las cartliiialitlatlrs tlr una intrrrrlacii~n intlican cnhntas \rc8rs 1111 c w n j u ~ ~ t o tlr ol)jrtos r s t i rrlaciouatlo I ~ a j o tlit.lia intc,rrrlacihn con uu rlrrnrnto s i n ~ l ~ l r r n c.1 otro r o n j u ~ ~ t c ) . l m t.artlinalitlatlcs son uno-IIII~I. no-niut.hos p ~ i i ~ ~ t . h o s - i n ~ ~ c ~ l ~ o ~ . [,as claws itlrntific-an tlr for- ma in~ic.a a 10s ohjrtos. 1,as clavrs s n l ~ r o g a d : ~ ~ son idrntificailorrs intri-nos. Las c.la\~rs rxtcsr- nas son s111)twnjuntos d r atrihutos li.xit*os q n r juntos idmtifican uii c~ltmiruto rn nu c o n j ~ ~ n - to tlr ol)jc.tos. 1711 aprrpado rs una intcrrrlacihn vista twmo un conjunto tlr ol~jr tc~s. I'hantlo agrrgatlos rs ~ ) o s i l ~ l r a l~ort lar p~ro l~ l twas tle inotlrlaclo rnis coniplejos. Los aprrgados puctlrn triicr atril)utos y participar 1\11 otras intrrrrlacio~ws. Estas nurvas intrrrrlaciones tain1)iin puctltm s r r agrrpadas y s r 11ucvlcm nsar romo eoiijnntos d r ohjrtos r n otra intrrrclat i i~n.

Los t w n j ~ ~ n t o s tlr ol)jctos cwntq~tua l r s r rprrsrntan rntitlatlrs q u r son t i p s tlc ( m a s . P o r rjrmplo. un lihro tw un c:onjnnto tlr ohjrtos t.onc.eptnalrs no r s un 1il)ro fisicbo r n cwn- c ~ c t o , sino clue rrtwrscwta a una rntitlad conceptual compleja tlcwrrollatla por t.1 autor. El 1il)ro c~ont:rptnal ~ ~ n c ~ l c ttw:r mnvhas rrlirioncs difrrrntes y cada r t l i c i h pncdt. t tbnrr tuna imprrsihn tle muc~has copias fisivas d r l l i l~ro. Las ropias fisicas son l i l~ros fihicos, 10s c d r s potlrian rellrrsrntarstb tsn 1111 cwnjnnto propio tlr o1)jrtos. Existrn m w l ~ o s O ~ I - o s r j rn~plos tlr la distincihn rntrt. t*oncq,tual y Fisico. Conq~rendirntlo c4mo una simplr 11alal)ra conlo l i l ~ r o s r p~wt lc w a r d r manrra anhigua. r l analista es t i mrjor prrparatlo llara (*rear estructnras (11' niotlrlaclo para ~uanipu la r 10s t l ihrrntrs signilicados posi1)lrs.

Mcvliantr r l anilisis d r las prrguntas q ~ r los usuarios tp ic ren rrslmnclrr ! tlr 10s infornws tic- organizacibn cpir rstos nsuarios nrcesitan. s r pnrtlrn cwnstruir 10% motlrlos twnccptualrs. En rl proyrcto tit. tlesarrollo d r una gran hasr tlr tlatos clifrrrntrs analistas t raha ja r in con tlifrrrntcs grnlws clr ~ ~ s n a r i o s para c r ra r 10s tlif'crentrs motlrlos tlc tlatos o vistas: las c.oalrs r l r l )c~hn intrgrarsr. Estr procrso implira quitar shlo aqurllos cwnjnntos cle o1)jrtos. interrrlacionrs g a t r i h t o s tpir son rrduntlantes r n t r r las vistas y luego ronrc- t a r las vistas. tlcfinic:ntlo nuevas intrrrrlaciones. Estr proccso r r c p i r r r tlur 10s analistas !- 10s usuarios quc t r a l ~ a j a n en Arras tlilrrrntc-s s r t:omuniqucn para rntentlrr c4mo rs q u r d e h n integrarsr las vistas tlr nianrra prt-cisa.

1. Drfina con 511s propias palahras catla uno tic. 10s tirminos siguirntes: a. mnclrlo h. ~notlr lo orirntatlo a o l ) j ~ t o s c. t:onjunto d r objetos d. t-onjunto d r ohjctos lbsitws e. c l a w snl~rogada f. grnrralizacihn g. ronjnnto tlr objetos agrrgados h. interrrlaci6n funcional i. c*artlinalitlad j. uno-ninchos k. atrihuto I. intrrrrlat,i6n n-aria

2. Itlrntifique ! esrriha sris construccionrs utilizaclas en el modelatlo t ~ ~ n e r p t u a l tlc clatos.

3. Discuta chmo las rntrevistas y el i~ni l is is de los infornirs se ntilizan con el modrlado coneeptiial de datos r n r l proeeso tlel diseiio conceptual d r I~ase tle datos.

4. Disc-uta c6mo se ana l~zan una srrie de c o n s ~ ~ l t a s potencialrs tle 10s usuarios para d r t r r - minar las construccionrs siguirntes en nn motlrlo de datos concrptual: a. conjmtos d r ohjetob h. '~trihutos c. intrrrelacionrs d. rsprcializaciones

Page 149: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

5 . Discuta r6mo sr analiza nn inform. para ileterminar las signirntrs twnstr~~cciones en n n modrlo cle datos conceptual: a. conjuntos clr d ~ j r t o s h. atrihntos c. i n t r r r r l a c h w s d. rsprcializariones

6. 1En clui +ituacionrs s r nrrrsitan 10s agrrgado> en r l motlrlatlo tlr los clatos? i ,Cnindo son apropiadas las interrrlacionrs dr niis alto nil el? D i r j r n i l h dr situanone* en r l c a m p d r 10s ntyorios.

P a r t e A

1. Conrcte raila tirnlino con su drfinici6n: -1nurhos-rilurhos a. l a l o r usatio para iilrntifirar univoc*amente a una

instancia oljjrto. -interrelnribn binaria 1). Intcrrelacibn r n t r r tres o m i s conjuntos d e objetos. -(lprrgado c. .4tril~utcrs lixicos ('uyos \ alorrs itlrntific*an a una hni-

ca instancia. -modelo semantico d . C o ~ ~ j u n t o de ohjetos clue consta tlr instancia* cpir no

s r purdcn impri~nir . -conjunto de objetos ~ ~ b s t r a r t o s e. Un enlace entrr instancias cle tlos conjuntos d r ohjetoh. -especializaribn f. 'Mirmho particular clr un conjunto de o1)jctos. -in terrelaci6n g. Cardinalidad d e interrrlacibn que es murho en

a n h a s dirrrricrnes. -UILO-(I llno h. Conjnnto tle oljjetos q u r rs un s u h o n j u n t o d e otro

conjunto de ohjetos. -$~ncibn (map) i. Propiedail tie t r n r r todos 10s atribntos del conjunto

de grnrralizacibn q u r eslwializa. --objeto instan& j. isor iar elcmrntos en nn hrea con elenientos d e otro

i r e a . -rluve rxterna k. Una interrrlari6n vista conio nn cwnjunto de ohjetos. -valor nu10 1. Carclinalidatl d r intrrrclacibn q n r rs nno en ainhas

direccioneh. -claw nl. Captura el significado d e las entidadrs del muntlo

real y lab interrelaciones. -herenria 11. Valor de atributo clue no existt- para una instancia en

especifico. -interrelacibn d e alto-nivel o. Interrrlacihn rn t rc dos conjuntos cle ohjetos.

P a r t e B. P a r a rada uno d e 10s problrmas siguientes w e a r un modelo d r datos conceptual consistrnte d e conjuntos d r ohjetos, interrrlaciones, atrihutos, y otros, qne puedan usar- se para responder prrgnntas similares a las preguntas tiadas. Indiqne las cardinalidades.

Asuma que rstos modelos son para n n entorno uniwrsitario: 2. ;,Cuintos mirmhros de la Facultad lian sido asignados a1 departamento de matemiti-

cas? iCcimo s r llaman? iQni611 r s el encargado d r l departamento de ~ n i ~ s i c a ? (Nota: "matemiticas" y "musica" son s61o rjrmplos de departanirntos. El

modelo dehe ser capaz de responder a las nlisnias pregnntas si fuesen, digamos, sociologia, ingenirria mecinica o cirncias politicas.)

3. ~ C u i l r s son 10s estndiantrs clue est in mrjor en historia? gY en espaiiol?

4. ~ Q L I P mirmbros de la Farnltad est in inipartiendo cnrsos d r sociologia? ;QuC cnrsos e d t i impartirndo?

Page 150: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRlNClPlOS DEL DISENO CONCEPTUAL DE BASE DE DATOS 133

6. ,Cnhnto, a1en1ant.s es t in registratlos forn~almente en (4 lwograma tle honor? Para acll~t.llos tllltb e'thn. i , t lu ih t+ 511 t ~ m i n l t c ~ r (11.1 1)rogr:rnla tle honor!

8. iQ11i. vtwletlor ha vt.ntlitlo l ~ o d l l v t o s taon prec'io ,,or twt i~na de 5200Y i,Cuhles .son las fet.has tle estas ventas? 1(:11h1 es el salario hahe para ~ s t o s vt~ntletlores'.'

10. i.Cnintos rajeros tienen twentas tle ahorro t.11 t.1 I~anco? i'k twhntos gt~rentes? i,Clllin- tos rajeros no timen:)

11. ;,Cliintoh gerentvs tine tienen t.uentas tle ahorro r n el 1)anco & r i p a r m p l t ~ ~ t l o s tprr tain1)iin tienen cwentas tle ahorro en el I)antw?

Parte C. Setiale (pi6 1)regllntas no se l)nt'~len rt.spont1t.r por t.1 niotlelo tlv datos tle la F i p r a 4.21 y explitj~lr por (1116 no.

12. kCuL1 es cl saltlo metlio tle las cuentas tle ahorro tit. lab fh1)ric.a~ clue titwell ni is tlr ,500 euq~leatlos?

13. i ,Cl~intas mujereb ahrieron t3uentas rorrientes el 5 tic diciem1)re tle 1988? (Figlira 1.22).

14. i.Cnhntos vspacios e s t h tlisl)onil)lt+ para nnevos a r l d e s en r l Iluerto IIeher Cit!?

15. ,C115l es (4 pronlvtlio dtl bitla tit. lob manzanos Jonathan en el h ~ t e r t o Pleasant\illt.:) ( r e t u m l v tjiw Jonathan es nna karitvlad y manzana es una cspecie).

16. i,CuLntos Brhtrlt*~ tle rnt~locot0n (\el hnerttr Springtown tienen mLs tlt- tlos \ arietlatles?

Parte D.

SERF ICIOS 1)E C0hSIILT-I MAY\ 4RING

INFORME l)EL PEHFIL Db: LOS CONSIrLTORES

I Fwha dr Chdigo- N01nI)rr NSS cwntratacihil Esprt:ialitlad Eslwcialitlatl

Entrenamirnto a1 11s11ario Entrada de (lator Con\ rreicin tlr archi\ {I.

I'ropmacihn G~nvc.rsihn tle archivos Disc-iio de sisterr~as Entrenamiento al usuario Programacibn hi i l i& (lr sisten~as Disriio de sistrn~aa

Page 151: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

P a r t e E. A4grryarihn.

Para cada una tlr las st.nteneias siguirntes dihuje tin motlrlo de datos q u r nuwstrr la intrrrelatihn m t r r 10s conjuntos de o1)jvtos. una akq-t:gat:ihn d e la intrrrelaci6n y atrihntos dr l agregatlo. a. Los rstudiantes rer ihrn clases y otltienen t*cilificationes r n las clasrs. 1 Las seccionrs d r caila twrso sr ofi-rwn en horarios rsl)rt.ifit:os y en aulas y cdificios. c. Catla pt4ot lo rseolar purde estar reprrsrntatio por una sesi6n (otofio? invirrno:

primavrra y vrrano) y lun afio, y twmirnza y termina tm frehas rspecificas. d. Cada dia 10s e m l h d o s trahajan tin tierto n i~n i r ro tle horas. e. 1,a gtmtr se snst~rihe a pt.ri&lit*os ?- lah soscripcionrs tirneu frchas d r inicio y d r

trrrninaci6n. f. Los pilotos timen ml t.it>rto nunicro d r horas tie mtrenaniirnto para catla t i p tlr

a v i h .

Para cada uno d r 10s pro1)lernas s ip~i rn tes ( w a r 1111 motlrlo d r tiatos w n c e p tual. twnsistentr r n conjuntoh tlr ol)jt.tos. intrrrrlacitrnrs. atri1)utns. y asi sucrsiva- nwutr, q u r purtla utilizarsr para rrs lwndrr a prrguntas similares a las preguntas t~atlcrs. Use agrrgatlos r intrrre1at:iones tlr alto nivrl s r g i ~ r ~ nrcesitr. Intliqur las car- chalitlades.

iCuhntos rstutliantes t&n twrsantlo Fisica 201? i,Cnil rs la srvci6n i p e Andrea Etlrus es t i ton~ando? ,Cnhntas veers ha cnrsatlo Jim Hartly Contabilidad 201. c u i n - do. quiCnt.s fueron sus profvsores. t p d ca1ifit:at:iones obtuvo?

Dustin Tonws. p r o f t w r tle historia, desra utilizar la habe tlr datos para elaho- r a r prrguntasso1)re la historia ruropra. C r r a r 1111 motirlo d r tlatos srparado para eatla uno d r los ~)rol)lvmas siguirmtes.

iCuhntob r q r s d r Prusia tenian nombre Frrdericlt? i,C:tLindo vi\it.ron J cuhntlo rei- naron? ;,Gohernarc111 en algiln otro pais tlurante suh vitlas? i,Hul)o paises de Europa g o l ~ r n a d o s poi- n i ~ ~ j r r r s tlurantr el s igh 11:' i,Cualrs?

#ur el ahurlo tle Maria Antonieta pol)rrnantr d r algfin pais? ID(. c u i l ) twiindo? ,QuiCn fur sn inatlre? 1Qub go1)ernantrs tlr paisrs tlifrrrntes se c;lsaron entrr si? ~ C u h n t o s hijos tlr Enriqur V1II fueron nionarcas d r Inglaterra? ,QuiCnes furron sus madrrs:'

Brick Wall Communicatiorls tienr un grupo tlr cstacionrs d r tele~isiOn. Estas rstacionrs trlrvisan serialrs, anuneios t*omercialrs y twmtos drportivos en tlirecto. Cr ra r un niotlelo separatlo para cada pro1)lema a t:ontinnaci6n.

~QuC. cadrnas transmitrn srrirs tle Batmun? i H a retransmititlo el afio pasado la Brick Wall alguno tlr 10s episotlios del periotlo de 1988 tlrl Show de Cosby? , P a s a r o n el ( p i n t o episodio? iCuiint10 y t p C . cadmas?

iCuin tos jurgos de 1)asrl)all transmitieron el aiio pasatlo? , E n quC frchas transmitie- ron partidos rn t re 10s Dodgers y 10s Mrts? iQuk e q u i p s fueron transmitidos m i s a mrnudo? iQub hay con los juegos de futhol? 1Y con 10s d r haloncesto? i Y 10s I)artidos d r ttmis? 1Torneos d r golf"? IY otros deportes? i H a jugado tenis Strffi Graf por algn- na d e las cadrnas d r la Brick Wall? i,Qui. cadenas y cuindo?

iQ11d ariuncios s r han niostrado m i s dr tres veers en una rnisrna hora en una misma catlena? iCuit ldo ocurrih rsto? i A qub hora, q u t dia y en qnb cadena? iCu2into cobra la Brick Wall por la t ransmis ih de cada uno de rstos anunt:ios?

Frank Howe, director representante d e la firma d e ahogados Dewq. Meenem, Outt J Howe, ha drcidido que la firma se heneficiaria sustantialmente teiliendo una

Page 152: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRlNClPlOS DEL DISENO CONCEPTUAL DE BASE DE DATOS I 3 5

h a w d r datos que sea dirc.t*tamentr aplicahle a asuntos 1egalt.s. Para vatla uno tle 10s proldrmas signientes w e a r 1111 mocklo de dates separado.

25. ;.Qpih taasos tienen opinitrnes vertidas solwe la Sec*t.ihn 4 1 1 . 3 ~ drl c 0 d i p f t d t u l ? ;Qnb ctrrtcs f'wron in\oluc*ratlas? 1Cnindo sr a t c ~ n d i t ~ o n estas ol)iniones? ,C)ui'. stwiones tlel cbtligo fvderal f'ueron interpretatlas como rl t-;lbo de Bltrtk \ .s. Il ill~tnls:'

26. iQu6 firma5 lian reprcwntatlo en la rorte a Grnrral Continental tlurante Ins illtinios diez aiios'? ;.Cuile,s fnei-on 10s raws: cm I*LI& el krrrdirto f'ne favorable: ! t*uil fue el importe de las rrtwl~qwnsas? 1Cnilc- fneron las firmas opositora5? ;.QnC. otras gr'ln- des cornpaiiias fnrron repreientnclas 11or estas firmas en la misn~a C.lwra!

P a r t c F.

27. Como ~ ~ a r t e de u n ~ ~ r o y e r t o para Armc 1nsuranc.r Co~~~pan!. uno tle 10s analistas tlr hlanwaring creh un informe para medir la l)rodnrti\idad del personal de esta twm- paiiia cn la cntratla tle tlatos. Este informe da 1)al.a c-ad;~ dia tlel me> el ni ln~ero ( I t -

transactiont~s tlt. ratlir ti110 que han sido introdntidas por rada en11)leado. 1)etlnzc.a el modelo de datos t*onc*q)tual que potlria usarse tLon~o 1)ast. para el infornie cjw sr miestra en la Fignra 4.2E.

Par te G. Use ronjnntos tie 01)jt,tos (wnc.q)tnales \ f i s i ~ w kbnra w e a r modelos de tlatos para 10s 1)rol)lenias signientes:

28. Ilna ;lei-olinea dewa c.ontestar a prrguntas romo las signientrs sohre st15 aerona\es: ;,Cuil r s la t*apac.~dad cle asirntos del Boeing 72i? 1Cuintos motore5 t i m e 6ste!

i C ~ ~ i l es la nirtlia tlc cdad dc.1 parque de X s ? ;QuiCn es el met.&nicw jrfe responsa- I ~ l e tlel servirio tlel a \ i6n numero 1388? iQuC rompaiiia fabric4 dirlio a\ 10n?

ACME INSURiW(:E (:OhIP.ih\

INFORME DE PRODUCTIF-IDAD MENSUM, Para v1 niry qnr trnnina rn nlarzo 31

Emplrado n h . K O ~ I I ) I T r > Frcha l i p tlr transaccihn Cantidad trtminada

213 N u w a p6li7a Camlio dr phliza Rrclamacihn

l a

392 1 S . Stallonr 3 Pago Can~hio dr pOliza Rrt.ta~nacicin

213 Nrrw a phliza Pa go Camhio tlr phliza

a * *

Page 153: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Parte H. Integracihn tle listas.

2. I,wr 111s artic.ulos d r catla uno d r 10s siguientrs mcrtlrlos dt, tlatos y determinar 1-hmo rstos ~notlrlos tratnn la agrcgacicin. I)etrrminm cuando esto* a r t i t d o s dan inforrna- rihn suf'iriente para responder a cstas preguntas: iPuede un agregado t r n r r atri1,utos en el moclelo? i,Puede 6str par t ic i l~ar en intrrrelacionrs? i,Purden agregarse tnnil)iPn estas interrelnt%mcs? a. El modelo tle entitlad-intrrrelaci6n (Chen 1976) h. El modelo de datos wmiiitic*o ( H a u m e r y McLrod, 1981) c . El modelo de tlatos fnnrional (Shipman, 1981).

Page 154: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS RELACIONAL

El modelo de datos relacional y el desarrollo de

sistemas

El modelo de datos relacional: Conceptos funda-

mentales

Relaciones

Valores nulos

Claves

Claves externas (ajenas)

Restricciones de integridad

lntegridad de la entidad

lntegridad referencial

El proceso de normalizacion

Primera forma normal

Segunda forma normal

Tercera forma normal

Otras formas normales

Quinta forma normal

Forma normal dominio1Clave

Transformar el modelo conceptual en modelo re-

lacional

Transformar conjuntos de objetos y atributos

Transformar modelos sin claves externas

Transformar la especializacion y la generaliza-

cion de 10s conjuntos de objetos

Transformar interrelaciones

lnterrelaciones Uno-Uno

lnterrelaciones Uno-Muchos

lnterrelaciones Muchos-Muchos

Transformar conjuntos de objetos agregados

Transformar relaciones recursivas

Ejemplos de transformaciones: Servicios de

Consultoria Manwaring

Comparacion del modelado de datos conceptual y

relacional

Resumen

Preguntas de repaso

Problemas y ejercicios

Proyectos y cuestiones profesionales

Page 155: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

1 3 8 DISENO Y ADMINISTRACION DE BASES DE DATOS

Mureus Rro~t*n. propieturio d c l In cwrnpniiic~ tle construcci6n Premier, estci discutirn(1o la iii~pleineiitocioi~ t l ~ btr.w.+ t l ~ dcltos corr Tony 1lelton. gereilte ( 1 ~ s i s tc~mc~~ tlr ~ilformucihn tle la coinpc~llic~. El tliwrio ( ~ o i i r ~ p t ~ r ( r l p u r ( ~ el s i~teinu de 6asc.s &J tlotos se hn terrninutlo y el g rupo tleprayrcto.\ listo prlru (1tleritr(~rse en el disello &J ~ I I L ~ ) ~ P I I L P I I ~ ~ ~ ~ ~ I L p a r u 1111 sis- t e r ~ ~ ( ~ de gestic511 huwh (IP tlrrtos r~lrrcionules.

"Eso no rstci c.luro pr[rr[ mi. Toily. 2Por quCfiiirnos ( I trrrubs tlel diseiio c o n c e p t ~ i ~ ~ l coillo pc~so p u r u prot l r~cir un modelo de buses tle tlatos co~~crp tu t r l .si ronociumos desde el principio q l ~ e teidri(lmos que concertirlo (1 1~11 modelo relacion(rl (10 todus formus P"

"El tlis~rio concc~ptucd es e s e n e i ( ~ ~ p ( ~ r ( ~ ki c re t~c~i )n d~ 1111 Pb(/ll('lnO de bases de dotos. PSO SILPII(L lbgico. Murrus, p r o en a t e inomento h u y p o ~ o s sistem(rs que r e ( ~ l r ~ i e i ~ t e ~ ) ~ i e d e i ~ ~jecutctr u11u base (le dutos de modelo concept~lal. Ahorn qne herno.\ creudo un buen mode- lo logico p r n ~ ~ u e s t r o wgocio, n ~ e ~ i t u i n o s impleir~enturlo sobre rrn .\isterrrcl crdaptcdo (1

rriiestrus n ~ c e ~ i d ~ r d e s ( 1 ~ (iplic([cihn. IIemos elegido in s i s t ~ ~ i ~ u t l ~ g ~ h t i 6 n de I)(ISPE ( 1 ~ dutos r ~ l u c i o r i u 1 ~ ~ p r q w p a r u nuestros propbsitos PS lo mcis trtunzutlo d i ~ p o n i b l ~ . "

"Eso pstir bie11, pero yo entiendo qne PS 11ecesurio normuliz(~r i ~ n o /)use (IP (lutes reIu(-iontrl t r n t ~ s d~ p e estk list([ p r (1 1~1 implementu(-ibu. L O estoy seguro q u i signifircr r . ~ . p r o 2110 t~ r ~ q n ~ r i r c i 11ucer ~ [ n diwiio de buws de dutos adicionul?"

.'Elproceso ~ ~ s c d o purtr c o n ~ o r t i r 1111 rnod~lo de datos c o ~ ~ c e p t u d (w un motlelo relw cionul PS 11110 de 10s c[spectos nrhs porl~rosou t l d motlelado de dutos conc.eptuu1. Siguiendo 1111 proreso de con1wsi611 meccini(.o v l i i i~u l , cre(rrernos 1111 diseI10 de ii1q)lementuci6n rela- c ioi[d gue eat4 coinpletumente r~orrntrlizcldo. En esencia tei~dremos lo rnejor de umbos 1111111(10h. "

E 1 csentro tle a t e n c i h tle este c.apitnlo es el inodelo d r tlatos relacional ) su nso t ~ ) i n o nn inotlelo cle tliseiio tle implementac.iOn cle haws de tlatos. St. define la construc.c.ihn (It4 inotlelo, se discutiri el proceso dt, nor1nalizaci6n ! se mos-

t r a r i h m o c-ualquirr motlelo c~oncel)tnal puede convertirse f i c i ln~rn t r r n nn nodel lo rela- cional equi\ d r n t r . D('spn& de la lectnra cle este c y i t u l o debe ser rapaz de:

E\phr;lr 10s conceptos funclamentales del modelo relacional. incluyendo rrlatio- nrs. atri1)iitos. tlonunlos, clakes, claves forhneas, integridatl de la entidad e inte- gridad referential. Drmostrar c6nw las relationes pueden ser normalizadas. El prowso cle normali- z;lri;)n recjuiere un primer ententlimiento a travbs de la cuarta forma normal, tltyt~nciencias funcionales ? t l e p d e n c i n s multirvaluadas. Transformar un modelo tle datos contq)tnal en un modelo de datos relacional en la cuarta forina normal.

modelo de datos relacional y el desarrollo de sistemas

E n 1970. la forma en que las personas veian las l m e s de datos cam1)ici totalmente twintlo F,. F. Codcl introdujo t.1 ~notlrlo de datos relacional (Codd 1970). En ese tiempo, el enfoque existente nara 1;) rstrut.tura cle las haws de datos usaha m n t e r o s fisit-os o direcciones a dis- co para relacionar rrpistros tin cliferentes archivos. Suponga, por ejrmplo, que se necesita relacionar un repistro A con un rrglstro B en uno de estos primrros sistemas. P a r a hacer esto. se adicionaria a1 registro 1 nn carnpo (jue contenga la direcci6n en disco del regis- t ro B. Este campo aiiaditlo, o puntero fislco. slrmpre seiiataria desde el registro A a1 re- gistro B. Codd drmostri, cjue estas 1)asei cle datos limitahan significativamente 10s t i p s cle manipulacibn tle datos (pie pueden ser herhos fhcilmente por nn usuario. Ademis. estas bases de tlatos eran ficilmente vulneral~les a los camhios tlel entorno fisico. Cada vez que

Page 156: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS RELACIONAL 1 3 9

n~odelo d e datos refacionaf. LTn motlelo tle (lato, tlonde 10s datos st. rt.presentan en fornla rlc tahla.

relaci6n. llna tahla d r dos dimensiones clue contienc filas y colurnnas dc datos.

se aiiatlian los t.ontro1atlorc.s (It, nn nuevo disco a la eonfipuraciim tlel sistema tle t - i l ~ d o y Ios tlatos eran iiio\itlc~s (11. una localizatihn fisiea a otra , se re tper ia nna conversihn exten- sa tle los art*hi,os ( I t - tlatos. Si 10s r a m p s f'neron aiiatlidos a nil forniato tle repistro en 1111

artahivo. todos Ios registros t*xisttmtt>s en el arehivo tendrian nna nneva localizat-ihn fisi1.a. retluirientlo una conversihn aclicional de los datos. Asi, 10s nsuarios y el software fneron rt.stri~lgitlos por t ~ o ~ ~ s i t l e r ~ ~ c ~ i t ~ ~ i c s fisicas por estar nsando datos en una gran variedatl tie fornlas que la rstructnra 1hgit.a l ia l~ria pt.rmitido.

El ~notlrlo relacional. Imaclo tan las relaciontas lhgicas cntrc 10s tlatos, super6 estos l~ru1~1cmas. Esto pern1iti6 estar totalmentc en dcsacuerdo, sin sa l )c~ lo vxat-tamente, con la rstructnra fisica tlr tlato. _4clemhs. Codd propuso (10s lengnajes de manilmlaci6n tle datos I);~satlos tw la Ibgitba, los wales 1,rolnt~tic:ron nihs poder en (4 at-crso y en el procesamiento tit. los h t o s . Estos Ien~ua jes , el 6lgrl)ra rc1at:ional y t.1 t-rittdo relacional. se analixan en el t.al~itulo 6. IIoy rstos Irnguajrs proportionan las 11ast.s para 10s Itwguajt~s tie llases tle tlatos tle r r la t iont~s cwnrrtiales usatlos en 10s mhs populares sistvmas tle gestiibn tie llases de tlatos t~o~~it~rc~ial~~s(S(;BI)) . Se t1escd)irhn estos SGBD r n inis dctallr cbn la parte 111.

En t.sttb rapitulo se repasarhn dos introtlnt*c:ioncs al disciio de 1)ast~s cle tlatos relacio- nal. El primer t*nfoqut. es nlis tradicional. E n este enfotIue el t1ist:iio t*ontq)tual no inclu- ye el mode10 (It, tlatos conceptual, pero I~ro twle tliret-tamente a la vrracihn t l t . un estpema tle I~ases de datos rclacional consistente en definicihn tle t a l~ las relationalrs. El tliseiio se twulpleta entows metliante la normalizacihn de estas definiciones tle t a l h tle at*uerdo a n n 11roceso 11,ien tlefinido.

El seguntlo asume la creacibn de nn niodelo tle tlatos conceptual d w a n t e el tlisefio conceptnal. Este niotlelo es entonces convertido mecinicamente a un modelo relarional. El p rwrsn de conversidn garantizarh automiticamente la normalizacihn tle 10s resnltatlos clel inotlclo conceptual.

El primer enfoque fue usatlo tratlicionalmente antes que el modelo conceptual se tw~vi r t i c ra en conocido y establecitlo. IIoy es todavia usado en situaciones que requieren un esquenia tle haws de tlatos relativamente simple. En tales casos, r l analista dehe encon- t rar lo mLs fitail qne w e a r y normalizar definiciones de tablas relacionales t1iret:tamente tle la informaci6n del usuario. El segundo enfoque, usando modelos conceptuales, es vhlitlo en cl diseiio de grandes y complejos esquemas tie hases de datos necesarios para 10s siste- nias de hases (It: datos corporativas.

DespuCs tle introducir los conceptos tlel motlelo relacional, discutiremos el proc*eso cle normalizacihn y el procrso de conversi6n de un modelo conceptual.

El modelo de datos relacional: Conceptos fundamentales

Relaciones El modelo de datos relacional orpaniza y representa 10s tlatos en forma de tablas o rela- - . *

ciones. R e l a c i h es un tkrmino que vienr tie la matemritica y representa una simple tahla cle (10s tlimrnsiones, consistente en filas y columnas de datos. Ejemplos tle relaciones se encuentran en el drsarrollo de hases de datos para la compaiiia de construccihn Premier, una compaiiia mencionada anteriormente.

La Figura 5.1 muestra un modelo de datos conceptual revisado que proporciona 10s - - - funtlamentos para la base de datos relacional tle la compaiiia Premier. Ot~sr rve que este modelo d r datos eontiene ires conjuntos de ohjetos. TRABAJADOR, EDIF'ICIO y OFI- CIO. y un conjunto de objetos agregado, ASIGNACION. Aunque el conjunto de ohjetos TRABAJADOR aparece (10s veces en el modelo, es el mismo conjunto tle objetos ambas veces. Asi, ambas copias tle TRABAJADOR tienen 10s mismos atrihutos y participan en las misulas relaciones. El conjunto tlr o1)jetos ASIGNACION es una agrrgacihn de la relaci6n ES-AS1GN:IDO-A entre TRABAJADOR y EDIFICIO. Eso es, que catla asignaci6n con-

Page 157: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

TRABAJADOR I , 1 I I

\ \ / TIP0

SUPERVISA * * ES-ASIGNADO-A * 0 TRABAJADOR EDlFlClO

* ASIGNACION 2 ~CATEG~R~A]

iiltcrrclaci6n clue rrlaciona un objeto conhigo inismo.

atrihuto de la rrlaci611. Una columna en inla relaci6n.

sistv en un par -un trahajador y 1111 tdif'ieio- y significa clue el t r a l ~ j a d o r se asipia a tra- Ibnjar en el edifirio. Cads una de estas asignarionrs tiene dos a t r i l~ i tos : FECHJI-INICIO. la ferha en la tp!e el trahajador r s asignado a romrnzar a t rahajar en el etlifith. y N~JMERO-DE-UI-6. que significa el nfimero d r rlias cjue el trahajador recp~ier? p w a ccrmpletar el t rahajo en el edificio. Asi, pl cwnjunto de o+jetos agrcgado ASIGNACION tic- ne (10s atriImtos, FECHA-INICIO y NUMERO-DE-DIAS.

Adrmhs de la rrlacihn ES-ASIGNADO-'4, el modrlo contienr la rchci6n TIENE-OFICIO y la relacihn SUPERVIS.4. La relaci6n TIENE-OFICIO asocia 1111 oficio. tales como fontanrro o all~aiiil, ron cada trahajaclor. El oficio t ime m a desrrilwihn, una prima y el nkmero de horas por semana c p e n n trahajador de ese t i p d e oficio delw tra- ha ja r antes q o r sea efeetiva la prima. Pnesto q n r 10s trabajadores son sq~erv isados por crtros trabajadores, la rrlarihn SUPERF'ISJI asigna a rada trahajatlor un s ~ ~ p e r v i s o r del rcrnjnnto de ohjrtos TR.4KAJA4DOR. lJna relarihn como SUPERVISA. la cwal relaciona ohjetos del mismo conjunto. es rernrsiva.

Usando nn proceso clue se discutiri posteriornltwte en este c.apitulo, este nicrdelo de datos 1)uedt. s r r convertido en un modelo de tfatos relarional. La Figura 5.2 niuestra m a relari6n con Iln ejemplo de los valores de los datos. la ma1 represents el (sonjunto de obje- tos TRABAJADOR, sus atrilmtos y dos de sus relaciones. Catla twlumna en la r$lariOn es un atributo de la relaciim. El n o m h tle la rolumna sc. llama rlombre clel citrilruto. Se usan 10s ttrminos utributo y i ~ o r r ~ b r ~ d ~ l c~trilmto II& que 10s tkrminos COIILI~L~I( I 1; riorr~bre de la columrtu por s r r twnsistrntes con los ronwnios cle hases de tlatos relacionalrs. Los nomhres de 10s atributos d r TR-BAJADOR son ID-TRABAJADOR, NOMKRE. TARIFA-HR. TWO-DE-OFICIO r ID-SUPV. Estos atrilbutos se corrrsponden con los atrilmtos y rela- riones en el modelo de datos conreptual. tal como se muestra a wntinuariim:

Modelo corrceptuul Itributo de la relacion

ID-TRABAJADOR (atril~oto) ID-TRABAJADOR

NOMBRE (atribnto) NOMBRE

TARIFA-HR (atri1)uto) TARIFA-HR

TIENE-OFICIO (rrlari6n) TIPO-DE-OFICIO

SUPERVISA (rc.lac.ibn) ID-SUP\-

Page 158: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS RELACIONAL 141

TRABAJADOR ID-TRABAJADOR NOMBRE

1 2 3 5 M . F a r a d a y 141 2 C. Nemo 2 9 2 0 R. G a r r e t 3231 P . Mason 1 5 2 0 H. R i c k o v e r 131 1 C. Coulomb 3001 J . Barrister

TAR I FA-HR

a t r i b u t o s

T I P 0 DE OFICIO ID-SUPV

E l e c t r i c i s t a F o n t a n e r o f i l a s C a r p i n t e r o A l b a i i i l t u p l a s F o n t a n e r o E l e c t r i c i s t a A l b a t i i l 3231

4 ZA 4 30

prado cle la rrlari6u. El nilo1n.o dc atrilmtos eu nua rt.lari6n.

tupla. llna fila en nna relaci6n.

dominie del atributo. El cw~junto tic. valorcs qntX p d r tornar 1111

at]-ibuto.

\ alor nnlo. El la lor tlaclo a un atrihnto en rma t q d a si cl atrihnto c x i inaplira1)lc o su \ alor cs desronorido.

Kn la Fipura -5.3 se niuestra nna 1)aw cle datos relaeional, ecpivalente a1 moddo dc tlatos cwweptual para la cwmpaiiia Premier, jnnto cwn ejemplos de valores. Como se in&- ei). se explicari m i s atlelante. en este c-apitulo, el prowso de eon~ers ihn cle un mocklo dc, datos conceptual en un modelo relational.

K1 nhrnero tle atril~utos en una relacihn se llama @ado d e la relacibn. El graclo cle TRA- B4.141)OR es cinco. I)e este modo. el usuario no tiene clue recordar el orrlen de 10s atril~utos en una relaci611, se asurne que el orden en clue se relacionan 10s atributos no es signficativo. Por eso se considera clue (10s atributos en una relacihn no pueden tener el mismo nomhre.

Las filas de una relaciim t a m b i h se llaman tnplas. Se asume clue no hay un orclen p r w s t a l h i d o de las filas o tuplas de la r e l a c i h y que dos tuplas no tienen idbnticos con- inntos cle valores.

na anotac.ihn coniiln clue se nsa para representar relaciones, tales como la relacihn (It, la Fignra 5.2. cxs

TRABAJADOR (ID-TRABAJADOR, NOMBRE, TARIFA-HR, TIPO-DE-OFICIO, ID-SUPV)

Es tlccir, el n o n h r e de la r e l a c i h va seguido de 10s nombres de 10s atributos entre

El cwnjunto cle todos 10s posi1)les valores que puecle tener un a t r i l~u to es 511 doniinio. 110s dominios son idbnticws sOlo si tienen el misn~o significado. 44. NOMBRE y 'I'lPO-I)K-OFICIO p e e n cliferentes clominios, aunque ambos doniinios consisten en cadenas cte cdracteres. No es necesario clue (10s atrihutos con el mismo dominie tengan el m i m o nonhre . Por ejemplo, 11)-SUPV tiene el m ~ s m o domin~o clue ID-TRAB4JAl)OK. E n amlws caws, el dom~nio consiste en 10s numeros de identificacibn del trahajador.

Valores nulos Suyonga un atr i l~uto que no sea aplicahle en un caso especifico. P o r ejemplo, algunos em- pleatlos en la rt.laciOn TR4BAJADOR no tienen suyervisores. Conseruentemente. no existen valores para el a t r i l~uto ID-SUPV para estos empleados. Ademis, cuando se entran 10s clatos para una fila de la relacibn, es posible no conocer 10s valores de uno o m i s de 10s atribntos para esa fila. En ambos caws, no se entra nada y esa fila es p a r d a d a en la base de datos con valores rlulos para esos atributos. Un valor nulo no es un espaclo en blanco o cero, es sim- plemente u n valor desconocido o inaplicable que puede ser reemplazado m i s tarde.

Claves

E s t i claro que las filas cle TRABAJADOR contienen informacihn sobre 10s empleados indi- viduales. E n efecto, se espera clue cada empleado se representar i por una y s6l0 una fila

Page 159: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

superclave. Un conjunto tle atributos que identifica univocamente cada fila en una relaci6n.

clave. El conjunto minimo de atrihutos q u ~ identifica univocamente cada fila m una relacibn.

deterrninante funcionalmente. Determina univocamente un valor.

TRABAJADOR ID- TRABAJADOR 1235 1412 2920 3231 1520 1311 3001

ASIGNACION ID- TRABAJADOR 1235 1412 1235 1412 1412 1412 1311

E D I F I C I O ID-EDIFICIO 31 2 435 51 5 21 0 111 460

O F I C I O TIPO-DE-OFICIO Fon tane ro E l e c t r i c i s t a C a r p i n t e r o A l b a i i i l

NOMBRE

M. Faraday C . Nemo R . G a r r e t P. Mason H . R i c k o v e r C . Coulomb J . B a r r i s t e r

ID-EDIFICIO 312 31 2 515 460 435 515 435

D I R - E D I F I C I O

123 E l m 456 Maple 789 Oak 101 1 B i r c h 1213 Aspen 1415 Beech

PRIMA

3,00 3,50 2,00 5,00

TAR I FA-HR

12,50 13,75 10,00 17,40 11,75 15,50 8,20

FECHA-INICIO 10/10 01 110 17/10 08/12 15 / 10 11 105 08/10

T I P O

O f i c i n a Comercio R e s i d e n c i a O f i c i n a O f i c i n a Almacen

T I P O DE O F I C I O ID-SUPV E l e c t r i c i s t a Fon tane ro C a r p i n t e r o A l b a i i i l Fon tane ro E l e c t r i c i s t a A l b a i i i l

en TRABAJADOR. Asi, si a lg in atributo itlrntifica univocamente un empleado, se clrhr esprrar que ese misnio atrihuto identifiqur univocamente la fila para ese rmplrado r n TRABAJADOR. Sr asumr que el atributo ID -TRABAJADOR identifica univocamrntr a un empleado. Entoncrs, r l valor del atributo ID -TRABAJADOR identifica univoramvntc a una fila en T R A B A J A D O R y decimos que ID -TRABAJADOR es nna d a v r en la rrlacibn T R A B A T A D O R .

A cualquier conjunto de atributos clue identificpr univocamente a cada tupla r n la relacibn se le llama superclave. Una clave de una relacicin r s u n conjunto minimal de tales atributos, es decir, una clave es una superclave minimal. P o r minimal se entiende q11e nin- giin s u b ~ o n j u n t o del conjunto dv atrihutos claves identificara univocamente tuplas en una relacibn. Una clave puede ser tambiin d rwr i ta conlo nn conjunto minimal de atributos que determina univocamente, o determina funcionallnente, cada valor del atributo en una tupla.

En la discusibn del niodelo conceptual en el capitulo 4 nos refrrlmos a claves subro- gadas, las cuales son identificaclorcs internos del ohjeto que no tienen significado fuera d r l sistema de cilculo, \. rlaves externas. las cuales son atrihutos l6xicos que tienen significa- d o fuera del sistema. Las claves en el modelo relational son claves externas en el sentido explicado en el capitulo 4. Es dccir, son atributos significativamente externos y sus valorrs 10s asignan 10s usuarios.

Page 160: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS RELACIONAL 143

chve conipuesta. [JIM clave wrnpucsta de mlis de 1111 atrihnto.

clave candida~a. (h~alquier conjunto de atrihutos qne pucdt. her elcgitlo wrno una clavc de nna rc*lat.iOn.

clave primaria. La claw c*anctidata clcgida rorno la chve tie la relacihn.

clave evterna (njerrn). Un cori j~~nto dc atrihutos en m a relacihn que constitnyen una t.la\e en alguna otra (o posihlernente la rnisma) relaci6n; usatla para intlicar enlaces lbkiros cntre rc.1acionc.s.

Para ilustrar 10s twnceptos tle (.lave y superclave dcl modelo relacional. cwnsidrra- remos la lmsc tle datob de la Figura 5 . 3 . En la r e l a c i h TRABAJADOR, 10s valores del con- junto de atributos

{ID-TRABAJADOR, NOMBRE)

identifican univocamente a cualquier trrpla de la relacibn. Po r tanto, este t:onjunto rs una superclavr para TRABAJADOR. Sin einl)argo, cste conjunto tic atributos no tXs minimal p por tanto no es una clave. En este cjemplo, ID-TRABAJADOR por si solo t:s una clake. puesto que cual tpier fila en la rt:lacibn es t i idmtificada univocamente por ID-TRABA- JADOR.

En la relacibn A S I G N A C I ~ N , la clave c s t i compuesta de los atributos 11)-TRABA- JADOR e ID-EDIFICIO. Ni ID-TRARAJADOR ni 11)-EDIFICIO por s q ~ a r a d o s identifi- can univocammtt: cada fila, pcro 10s dos atributos unidos nos dan la idcntificacih unica . . requcrida para una d a v r . Una c law compuesta de mis clt. un a t r i h t o sc. llama clave cum- puesta.

En una relat:i6n dada, puedr que mis d r un conjunto tie atril~utos pncdan ser eleg- dos twmo clave. Estos atributos s r llaman daves candidatas. Es posil~le, por cjemplo: q u t ~ NOMBRE sea una dave canditiata de la relaribn TRABAJADOR. Esto srria posible si sr asumiesr que el nombre skmpre fuera unico. Si no se puede hact:r esa suposicibn, entontw NOMBRE no es una c law cantlidata. Cuando una de las clavcs candidatas st: selecciona como la clave tle la rclacihn, pietlc ser llamada clave primaria. La clave cantlidata qrrr sea niis fiicil de usar tliariamente en la entratla tle 10s datos es normalmente se1cc:cionada conlo la t-lavc primaria. Generalmente se usa el tGrmino clave para nombrar a la (*lave primaria.

Dcspnbs de introtl~ieir el concepto tle t:lavr, ampliaremos la notacibn usada para itientificar una relacibn, subrayando 10s atrilmtos d r la clave. La r e l a c i h de la Figura 5 .3 se disriia cwno sigue:

TRABAJADOR (ID-TRABAJADOR, NOMBRE, TARIFA-HR, TIPO-DE-OFICIO, ID-SUPV) ASIGNACION (ID-TRABAJADOR, ID-EDIFICIO, FECHA-INICIO, NUM-DIAS) E D I F I C I O (ID-EDIFICIO, DIR-EDIFICIO, TIPO, NIVEL-CALIDAD, CATEGORIA) OFICIO (TIPO-DE-OFICIO, PRIMA, HORAS-POR-SEM)

Puesto que ASIGNACION t ime dos atributos claves, ambos castin subrayados. Eso significa que ID-TRABAJADOR e ID-EDIFICIO forman una clave para ASIGNACION. Eso no sipnifica que cada uno de ellos por si solo sea una clave.

Claves externas (ajenas, foreign)

El rsqutma de base d& datos dado anteriormente tiene instancias en diferentes rrlaciones que usan el mismo noml~re en un a t r i h t o . Ejemplos de mto son TIPO-DE-OFICIO en las relacionrs TRABAJADOR y OFICIO, e ID-EDIFICIO en las rrlaciones ASIGNACION y EDIFICIO. Ambos atrihutos hrindan ejemplos del concepto de una c law externu.

Una c l a w externa (ajena) es un t:onjunto dc atributos en una relaeiim que es una (:lave en otra (o posi1)lemente la misma) relacihn. TIP()-DE-OFICIO en la rrlacibn TRA- BAJAPOR e ID-EDIFICIO en la relacihn ASIGNACION son rjemplos de claves externas, pursto que TIPO-DE-OFICIO es la c law tie la relacibn OFICIO e ID-EDIFICIO es la (.la- ve dt: la relacibn EDIFICIO. Las claves externas son 10s enlaccs esenciales entre las rela- ciones. Se usan para vincular tlatos en m a relacibn con datos en otra relacibn. Asi, TIPO-DE-OFIClO enlaza la relaciim TRABAJADOR con la relacibn OFICIO y 10s atri- butos ID-TRABAJADOR e ID-EDIFICIO en la relaci6n ASIGNACION muestran el enla- ce entre TRABAJADOR y EDIFICIO.

Los atributos clue son claves eaternas no necesitan tener 10s mismos nombres clue 10s atributos de la clave con la cual ellos se corresponden. Por ejemplo, ID-TRABAJADOR e

Page 161: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

rrstricci6n. Vna regla qur restringr 10s talores en [ma 11ase de datos.

ID-SIJPV en la rrlacihn TR 4R \ .I IDOR ticwen diferentvi non1l)rei. 1)ero ;~ndws toman sui \ ;~lores tlel tlorninio tle loi niuneroi tlv itlentifit*atiOn tle 10s trahajatlorei. 14% 11)-Sl l'\ css

lnta d a \ r for inea en la relavibn TR 4B \J l D O R cjucb rrf;rencia la (.la\(* (11, i l l p ro l~ ia r d a - rib. Para cwalquic*r t raha~at lor . t.1 atriljuto ID-SITPi intliva el inptbr\ ~ s o r tle ese tral)a,ji~- dor. tjuc r' otro tra1)ajatlor. Por lo tanto. ID-SI PV tlelw cwntcwr 1111 l a lo r (jne es llllil rla- \ e en alguna otra tnpla de la rrlarihn T R 1 B 2 1 W O R . P o r t~jrrnplo. en la Fignra 5.3. el 5npwvisor del t rabajador 1235 e i el tra1)ajador 1311. En otras pa1al)rai. 1.1 '1111rr\ isor tlr M. Faratlay t x i C. Col~loml). 11)-SUP\ vi un r j emj~lo tlc una c la \c cutcwia r e c ~ i r s i ~ a . nna r l a \ r euterna tIue referrncia su 11rol)ia rrlatihn.

P o r la iml~ortanria \ital clt. la informacihu d r la t-la\? rxtvrna en la tlrfinitihn d r u n rst1wnia tlr haw tit. datoi relational, ie rtb\ i sa r i el e i tpeina dt4inido nnterit~rnit.ntr para mo-trar las tlvfinit.ionei tlv I- la \e externa:

TRABAJADOR (ID-TRABAJADOR, NOMBRE, TARIFA-HR, TIPO-DE-OFICIO, ID-SUPV) Claves Foraneas: TIPO-DE-OFICIO REFERENCIA A OFICIO

ID-SUPV REFERENCIA A TRABAJADOR ASIGNACION (ID-TRABAJADOR, ID-EDIFICIO, FECHA-INICIO, NUM-DIAS) Claves Foraneas: ID-TRABAJADOR REFERENCIA A TRABAJADOR

ID-EDIFICIO REFERENCIA A EDIFICIO E D I F I C I O (ID-EDIFICIO, DIR-EDIFICIO, TIPO, NIVEL-CALIDAD, CATEGORIA) OFICIO (TIPO-DE-OFICIO, PRIMA, HORAS-POR SEM)

Fijrsr clue las cla\rs Sorinras tlr una rrlacihn son tlcfinidai inmrtliatan~cntr drsl~ni.i tle 1'1 tlefinitihn d ~ l nom1)rv tle la rrlatihn. tlr loi atri1)nto- I, tle la i t*la\es. El rnnnt iado

TIPO-DE-OFICIO REFERENCIA A OFICIO

PS n m drfinicihn tle clave r x t t ~ u a para la rrlavihn TRARAJAIIOK e int1it.a clue el atrihu- to TIPO-DE-OFICIO en TR.AH.4J.4DOR cbs una (:lave tx t r rna clue ref'ermcia el atriljnto (,lave (rl rual puetic: tamhiin star llarnado TIPO-1)E-OFICIO) tsn la relacihn OFICIO.

1Jn listado w m o esr: clue murstre 10s noni1)rrs d r las relationes srguitlos por 10s n o n - I res (it, sus atrilmtos con 10s a t r i h ~ t o s (.la\-t.s su1)rayatlos y con las rlaves forincas clrsig- nadas, s r llama un esquelna de hase de datos reIaciolta1. Esa tbs la primera respuesta del diseiio tlr itnplrmentaciirn en nn DDLC qne implemrnta nna hasc de datos relat.iona1. M e - niis. st, t.crrresponcit. (*on el nivt4 twnreptual tlt.1 motlelo ANSI/SP.\RC.

Restricciones de integridad

1;na r e s t r i c c i h es m a regla clue l in~i ta 10s valorrs (juta pict l rn estar presentcs r n la hase d r datos. El motlelo tle clatos relarional tle Chid inrluye varias rrstrit*ciones tjur se usan para verifirar la validacihn tle 10s tlatos en una hase de datos. Sc wnsiderarhn las siguien- tes rcstricriones:

Integridad de la entitlatl Integridad referencial Depcntlencias funtionales

Ahora se ronsiderar in la intrgritlad tle la entidad y la integridad referenrial. L;ts dependencias funcionales se discutirbn m i s tar& en rste cap i tdo . Las restricciones tle integridad proporcionan las bases lhgicas para mailtener la validari6n de 10s valores en la base de tiatos. Tal c-apacidad tiene un valor evi~lente. puesto que uno de 10s principalrs propbsitos del proresamiento de Ilase d e datos es proporcionar informacibn w r r e r t a para manejar y tomar decisiones.

Page 162: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS RELACIONAL 145

regla tlr intrpritlatl tle la entitlatl. El atri1)uto t l i ~ t ~ t.5 (,la\ t>

tle m a Gla no putdt. svr ~ i d o .

reduntla~icia en 10s datos. Kqrrtitihii tlr datos cn una 1)aw J e (lato.;.

Integridad rc4'ercncial. Las filas en nna relaci6n represcantan ~ n s t d n r ~ a . ell la I)aw tle datos de olbjetos espec.ificos clel munch real o entidades (conio se l l a n ~ d r i n aqui 1)ara ivr c o n k t e n t v i (*on la t e i ~ n i n o l o ~ i a relational). P o r r j r~nplo . nna fila en TK I H \J IDOR reprewnta un empleado esl)ec&*o. una fila en E1)lFTCJO r e l ~ r e v n t a MI e t l~f~ t - io eqrecifi- co. una fila en 1SI(;NA(:ION i - e l ~ ~ r s r ~ ~ t a m a aiignaci6n eslwc.if~c,~ tit. un etnl)leatlo a 1111

etlificio j ai i sucvsivamcntt.. La t lave d r nn,r rrltrci6n idrntifiea uni\oc.an~entr catla fila !. tle aclui. catla instancia de la cnt~tlatl . Deb ,.sty niotlo. si loi usuarioi t p i c ~ c * n r e c q w r a r o m a n i l d a r loi clatos alniac~natlos cXn una fila t.spet.ifira. c1el)en c,onoct,r el valor tie la cla\e tie esa fila. Eso significa quc no scL cluitw clue nna ent~t lat l sea reprtwmtacla en la Lase d r tlatos 51 no se tiene nna ider1tific.ac.h I otnl)lvta tlv los atri1)ntos clue son cla\cs tle la entl- clad. De este 111ot10, no sr permltr qne Id clave, tr m a parte tie la niisnia sea uri \ a h nulo. Esto ie resitme en la regla d e integriclad cle la entidad:

Integridad referenrial. E n relar imes construt.tivas. las clavrs for ineas se usan para vin- cnlar filas tan m a rvlarihn (*on filas en otra relacihn. P o r r j r~nplo . TIPO-DE-OPICIO se nsa en 1'1 relac1611 TRABAJ 4DOR para tlerirnos el ofivio priric~ipal tit. ratla enqdeatlo 11ara cpe p d a calcnlarsc~ el pago cle la prima. l'or tanto, es r \ t r r ~ ~ ~ a e l , r ~ ~ ~ c . ~ ~ t r inq~ortante clue (-1 \ ,~ Ior tlr TIPO-DE-OFICIO en cwalquier fila cle un e~nplratlo be cwrrt~sponcla twn un valor r t d TIPO-I)E-OFICIO en la relarihn OFICIO. I)e otro notl lo. 1.1 TIPO-DE-OFICIO tlel enipleatlo no apuntaria a ninguna parte. Una base cle datos ell la t-nal totlai las t*la\es fora- neai no nnlas rc.f(.rt*nc*ian \ a1orc.s reales tie (.la\ es en otra relac-10n t*nniple la intepridatl rekrerwial. 14. sc, tiem* la regla d e integridad refwcncial:

Totla (.la\(. ewtcr~~;~ pucdr tam1)ii.n srr n ~ ~ l a . o su valor purdr srr rl valor real tlr liiia (.lave r11 olra rrlari511.

El proeeso de normalizaei6n Consiclei-e la relac*~i~ti (17 la Figura 5.4. q u r coml~ina parcialmente los datos d r TR \B\J 4- I)OR \ tlr -\SIGN 4CION. Se sn l~one para cAsta s twibn (pie el eiqurrna tlr 1)asc. d r tlatos I rl,rc~onal no sr transformi, de nn modelo cwntq tua l , sino q u r sr disrii0 direc.tan~entr a p r t i r tlr inforrnacii~n rc.c*ogicla cle usuarios potenciales de haws tie datos. TamlGn sr a s w mr t p r el tl~seiio original cle la hase cle clatos no incluyci la rrlacicin tlv la Fignra 5.3. pero si la rrlacicin tie la Fignra 3.4. Veremoi t ~ h o purdrn surgir prohlernas a t t a ~ b s cle un clisr- r7o tle I ~ s r tlta tlatos irreflexivo j dm0 10s problrmas pnrtlrn e \~ ta rs t - signiendo nn con- junto tie p r ~ n t i t ~ i o s 1)ic.n clefiniclos Ilamado nor1nalizaci6n.

Con nn ptyueiio analisis, se puedr v r r q u r la rrlati6n clt- la Figura 5.4 no r s t i hien tlisefiada. P o r ejemplo, las cuatro tuplas para el trahajador 1412 repiten el mismo nomhrc y la informatibn drl t i p de oficio. Esta redunda t~c ia e n los d a t a o r r p r t i c i h , no sOlo

TRABAJADOR ID- TRABA JADOR

1235 1235 1412 1412 141 2 1412 131 1

NOMBRE

M . Faraday M . Faraday C. Nemo C. Nemo C . Nemo C. Nemo C . Coulomb

TIPO-DE-OFICIO

E l e c t r i c i s t a E l e c t r i c i s t a Fontanero Fontanero Fontanero Fontanero Fontanero

ID-SUPV ID-EDIFICIO

131 1 31 2 131 1 51 5

312 460 435 515 435

Page 163: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

intepritlad cle 10s datos. (:o~~sistc,n~ia tle los tlatos en una haw dv tlatos.

anonlaliac cle actualization. Inconsistencia dt, 10s datos coma resultado tle datos rednndantes y at.tnal~zationrs partialc5.

anomalias tle horrado. P6rtlida no intenrionada tie dales t1el)ido a qutb stx hau Iw-ratio otros datos.

ano~ualias d e insercion. 1mposil)ilitlad de adirionar tlatos en la base d r datos dehido a la ausenria de o t rw datos.

deseonq~osici6n d e relaeiones. I)ivisihn tle lula relati611 en n~illtiples rtdationrs.

formas nornlales. Reglas para relaciones estrurturadas quc eliminan anomalias.

priinera forma normal (1FN). Todos 10s balores dt. los atrihutos tleben ser a t h i r o s .

\ alor athinico. Un baler que no es un ronjnnto de valores o un grupo repetitibo.

ocupa rspacio, sino clue purtle cwntlucir a perdr r la iiitcgridad dr los datos (pCrditla dt, la ctmsistencia) en la base dr datos. El prohlema surge por (4 h r rho dr quc. tin individno p e - tie rs tar trahajando m m&s d r un rdificio al mismo tiempo. Suponga qut. el t i p de oficio tie C. Neino cs t i errhneo. y s d o la primera tupla r s t i corrects. Entonces se t m d r i a nna inconsistmc:ia rntre las tur)las t11w contirnen informarihn sohrr C. Nemo. Esto se llama nrla anomalia d e artualizaei6n.

Suponga que Nrmo ha rstailo enft.rmo durantc. t r r s mescs y totios 10s dif ic ios a lot; q u r ha sido asignado se trrminaron. Si sc: rieciclih hor ra r todas las filas d r la rdacicin quc contirnen infornlacihn s o h e 10s edifitios trrminados, rntont:cs la informari0n sohre r l ID trahajador, el n o m l ~ r r y el tipo (It: ofitio d r C. Nmmo s r 1)rrdt:ri. Esto s r drnomina una ano- inalia d e horrado. A la invrrsa, p e d e tencrse rontratado un nurvo rmplrado Ilamado Spantiolf. a1 q u r ahn no se Ir hapa asignatlo rdifitio alguno. Esto sc: clenomina m a anoma- lia d e insereion.

Las anomalias d r ac:tualizac*i6n. horrado r insrrricin son ohviamrntr int:onvenirntc.s. iCOmo s r prwitwen o se minimixan talrs prol)l(masY Claramrntr, dividienclo la rrlaci6n TRABAJADOR d r la Figura 5.4 en dos rr1at:ionrs. TRABAJADOR y ASIGNACION. q u r aparrcen en la Figura 5.3. se rliminan las anomalias. Esto r s una solut:i6n intnitiva. : Z h - r a s r lnostrar i un mbtotlo rnis formal Ilamado drscomposicibn para lograr el mismo rrsul- tado. La descomposiei6n rs el procrso d r tlividir rrlaciones en mhltiples rr1at:ionrs para eliminar las anomalias v mantenw la integridad d r 10s datos. P a r a hacrr rsto, sc: usan las formas n o r n ~ a l e s o reglas para relaciones c:structuratias.

Primera forma normal

Una relacihn r s t i en primera forma normal (1FN) si 10s valores en la rrlacibn son atonii- cos para cada atrihuto en la relaci6n. Ksto quiere d w i r sirnplrmrntr que 10s valorrs d e 10s atributos no puedrn ser un twnjunto d r valores o un grupo rqwtitivo. La tlrfinicibn dr Codd d e una relacihn inclnye la c:ontlicihn tic que la rrlacibn rstG t:n primera forma nor- mal. Por tanto, todos 10s rsqurmas rrlacionales que st: rncont ra r in vstar in en 1FN. Sin t:mhargo, para aclarar t.1 concrpto, veremos u n rjemplo tle una tahla que no r s una rela- cibn en 1FN.

En la Figura 5.5 t:onsitlere 10s valorrs introducidos p a r a el atrihuto ID-EDIFICIO. Alli se h a n comhinado 10s rdifitios asignados a catla t rahajador m u n solo conjunto. El valor d r l atrihuto ID-EDIFICIO r s r l ronjunto d e edificios en 10s cualrs la persona es t i trahajando. Suponga qur se es t i interrsaclo en sblo uno cle rsos edifitios. Esta informacibn puede ser tlificil d e rxtrarr , dehido a q u r el itlentificatlor para el rtlificio dr inter& cstii oculto dentro d e u n conjunto, drntro d e una tupla.

La relacibn r n la Figura 5.5 no e s t i en 1FN porque ID-EDIFICIO no es at6mica. Eso es, que m una tlrterininada tupla, ID-EDIFICIO purtle tenrr multiples valores. Sin embargo, la relacibn que se rnuestra en la Figura 5.4 rstaria en lFN, puesto que el valor que interesa, clue es el d r un edifitio individual, p w d r s r r identificatlo simplemente refe- renciando un noiuhrr d r atrihuto. ID-EDIFICIO.

TRABAJADOR ID- TRABAJADOR NOMBRE TIPO-DE-OFICIO ID-SUPV ID-EDIFICIO

1235 M. Faraday E l e c t r i c i s t a 131 1 (312, 515) 141 2 C . Nemo Fontanero (312, 460,

C . Nerno 435, 515) 1311 C . Coulomb E l e c t r i c i s t a 435

Page 164: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS RELACIONAL 147

dependenria funcional El valor de un atrihoto cm una tupla determina cl valor de otro atrihuto m la tupla.

determinan~e. El atributo de la parte izquiercla de una Dl' determina el valor tle los otros atrihutos tSn una tupla.

segunda forrna norrnal (2FN). Los atrihutos no claves no pueclen ser funcionalmente tleprndientes tie una parte de la clave.

I Dehitlo a que la tlefinicibn ori@nal de Codd drl modelo rrlacional rrqurria qur todas las relac*iones estuvic-ran en IFN, la Fiplra 5.5 noes ni sitpiera una relaci6n propiamrntr tlicha. Se seguirli la tlefinici6n tlv Chltl y se asumiri clue todas las rrlacionrs tlrhrn rstar en 1FN.

Las prhximas (10s formas normales, segunda forma normal y t r rc r ra forma normal. se apliran a las relaciones quc: estin restringitlas por depentlrncias funrionales. Antes de prosegnir ron estas formas normales se dehr rxplirar primrro las drpmdencias funcionalrs.

Dependencias funcionales

Anteriormrntc., c.n estr capitulo se estudiaron las restricriones d r integridad de la rntidad y las rvstrirtionc.~ tle intrgridad referenrial. Las dependenrias funrionales (1)Fs) provrrn una manera para definir rc.striccionrs atlieionales en un esquema relarional. I,a idea esen- rial es clue r l valor tlv la tupla en un a t r i l~u to determina univoramentr el valor d r la tupla en otro atrihuto. Por vjemplo, en la Figura 5.4, en cada tupla, 11)-TRAHAJADOR dr t r r - mina. espec~ialmente. NOMBRE; ID-TRABAJADOR determina esperialmente TWO-DE- OYlCIO. Se eswi l~en estas (10s tl(.pc.ntlencias funcionalrs de la sigiientr forma:

FD: ID-TRABAJADOR + NOMBRE FD: ID-TRABAJADOR + TIPO-DE-OFICIO

MAS formalmrnte se define una clcpcndcncia fimcional romo sigur: si A y H son atri- 1)utos r n la rvlaticin R . rntonces

FD: A + B

signifira q u r si t~ualestluiera dos tuplas c:n R t imen (~1 niismo valor para su atributo A. d r b r n t rner rl mismo valor para su atrilmto B. Esta dcfinicibn sc aplica t a m b i b si A 4- B son conjuntos de columnas en lugar tle clue columnas siniplcs.

La notacibn "+" s r Ire "determina funt:ionalmentr". Por tanto, en estos ejemplos3 ID-TRABAJADOR tletrrmina funcionalmmte NOMBRE, ID-TRABAJADOR tletermina funrionalmente TIPO-DE-OFICIO y A determina funcionalmente B.

E l atributo en la par t r izquierda dc una D F se llama determinante porquv c:se valor determina el valor del atributo de la par t r tlerecha. La clave d r una relac-iOn es un tleter- minante, tlehido a clue su valor determina univoramente el valor de todos los atribntos en una tupla.

8

Segunda forma normal

La segunda y terrera forma normal se ocupan de la relacibn entre 10s atributos c:lavcs y no (:laves. 1Jna relaribn es t i en s e g m d a forma normal (2FN) si el a t r i h t o no (:lave no es fun- rionalmente tlependiente de una parte de la rlave. P o r tanto, la 2FN purde violarse sblo cuando una rlave sea una clave t:ompuesta o, e n otras palabras, qne conste d r mas de un a t r i h t o .

Examinemos el csquema relacional de la Figura 5.6. La clave consiste en 10s atribu- tos ID-TRABAJADOR e ID-EDIFICIO juntos. NOMBRE es t i determinado por ID-TRA- BAJADOR y tamhiin es fnncionalmente dependiente de una parte de la clave. Eso signifi- (:a clue, conociendo ID-TRABAJADOR, para el t rahajador es suficiente para identificar su nombre. P o r tanto, la relacibn no es t i en 2FN. Dejar esta relacihn en esta forma, que no es 2FN, puede conducir a 10s problemas siguientes:

1. El nombre del trahajador se repite en cada fila que se refiera a una as ipac ibn para ese trahajador.

2. Si el nomhre del trahajador cambia, cada fila que se refiera a una asignaci6n de rse trahajador debe actualizarse. Esto, conio se recordari , es una anomalia de actualizaci6n.

Page 165: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

ASIGNACION (ID-TRABAJADOR, ID-EDIF ICIO, FECHA-INICIO, NOMBRE)

TRABAJADOR ID- TRABA JADOR ID-EDIF ICIO FECHA-INICIO NOMBRE

F A . F a r a d a y C. Nemo M. F a r a d a y C. Nemo C. Nemo

3. Det~ido a esta rednndancia, 10s datos 1)odrian c~iivc~tii-sc. cm inc.onsi~trnte.s. co11 distintas filas n~ostrantlo tlifrwntes noml)res para el niismo tral)njntloi-.

4. Si al misnio tirrnl~o no hay a+nariones lm-a el trahajatlor. l)nc.tl~~ no halwr f'ilas c.11 las cnales guartlar su noml~re.

ASIGNACION (ID-TRABAJADOR, ID-EDIFICIO, FECHA-INICIO) C l a v e E x t e r n a : ID-TRABAJADOR REFERENCIA A TRABAJADOR TRABAJADOR ( ID- TRABAJADOR, NOMBRE )

pro>ec(icin clr L L I I ~ Estas dos rchciorws iniz pecjneiids ( IN? la rel,~c.iOn original se Ilanian proqeccionvs. rclnciirn. Una ~.('ld('~i)u E \ f h i l v r r que una l)ro!(wiOii s n n ~ ~ l r ~ t ~ r n t r s r l t w i o n r ~ riel-tos atril)ntoi (11' nna r~ ldo i0n ('o11111~~estd de a t l h l t o s t w i t m t r j 105 re1)resenta !.onlo una nilcX\ a rdac-ihn. Esto parece snficbientemente sinil)lv. El sc.11.c ( 1o1ld11o~ (11' o t ~ . t ~ c w ~ ~ t r n i d o tl(. -1SIGN4CIOU j tle T K 4B IJ 4DOR scb mucstran en la Fignra 5.7. Ol , ie~ \ e 1 d ~ 1 hn ~ I W HI ASIGY4CION sc. cwntiniia ternendo clncLo filas. dd)itlo e q ~ i r 10s valores para

ID-TR \H ZJ \l)OK. ID-EDIFICIO \ FE(:H 2-1 1 lCI( ). tomados jnntos. f w r o ~ ~ i ~ l w o i . Sin cmil)argo. en la wlacihn 'rR-iB-l.J.1DOR ahora se tienen s0lo (10s fil'ls. \ a qoe huI)o shlo (111s t'lniros c20njnntos tlr \ alorei para 11)-TR-IB-IJ-IDOR NOMBRE. 4s1. la rcdnntlan- cia tlv Ios tlatos la l)osil~iliclal de anomalias han sido elimlnatl;i~.

ASIGNACION ID- TRABAJADOR I D - E D I F I C I O

TRABAJADOR ID- TRABAJADOR NOMBRE

M. F a r a d a y C. Nemo

FECHA-INICIO

10 /10 01 /10 17 /10 08 /12 15 /10

Page 166: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS RELACIONAL 149

El proceso ( 1 ~ :lescompontv uua r t h i b n (pie no es t i r n 2E'Y (*n tlos relacione~ q w estbu tan 2FN s igw unos pocos paws simplvs, los dos primeros cle 10s cwa1t.s se i111straro11 csn rl ejemplo: (1) Crear m a nneva relacihn usantlo 10s a t r i h t o s de la tlt~prntIeiic*ia h i -

t io r~a l (DF) culpal)le conlo 10s atributos en la n u w a relacibn. (2) I,os a t r i h t o s tle la par- t~ tlerccha tle la 1)E' se elimiuan entonres d r la relacibn original. (3) Si tiibs tlv nna 1)F i m l ) i ( l ~ ~ la relacibn en 2FK, rrpi ta 10s pasos 1 2 ~ m - a cads DF. (4) Si el mismo t lc tcrm- nante aparccc. en m i s tlr m a DF. tome totlos 10s atrilnitos fiincionalrne~ite tlepentlicntes con ese clrtern~inante coma atrilmtos no clavrs en la rrlacibn truirntlo a1 determinant(. como c l a w .

Tercera forma normal

iercrra f o r i ~ ~ a ~ lormal ITna rc,lac~hn r9t i en tercera fo rma normal (3FN) 31 para tod'i DF: X 'k. X es una d a - (3FN). Odtl,i t e . O l w r v e clue 9i se siguc la tlefinicibn tle tercera forma norm,il si una relacihn csti'i en "

dete~r~ni~i:cnt(~ I I I ~ ~ 31JN. vsti tan11)ibn en 2FN. Sin c d a r g o , cwmo se vera aliora. lo i ~ i \ e ~ - s o no es cierto. r l a ~ c.. Consitlrre la relac.i011 TR I B \J ZDOK' cle la Figura 5.8. Se t e qur

DF: ID-TRABAJADOR --t TIPO-DE-OFICIO DF: ID-TRABAJADOR --t PRIMA

son 11el)endencias f~mcionales para esta rclac16n tlel)iclo a qne ID-TR 211 2J \I)OK es una r la~ t . . Sin embargo.

DF: TIPO-DE-OFICIO --t PRIMA

cbs tam1)iC.n urla depentlcncia funrional. E9ti rlaro qne el criterio cle 3FN sr satiiface para las (10s prinic.ras depentlencias fuiieioiiale~, pero iqui. hay sohre la illtima tlept~ntlc~tic~a func~onal? Olniamente. TIPO-DE-OFICIO no es nna rla\e. por lo qne el rriterio tle 3FN falla. Por t m t o , TRIBAJ 21)OR' no e s t i en 3FN: sin embargo. TRAB2J IDOR' estir en ZFN. (Ezo sr c l e h a q n r 5u elate consistc cn s61o un atrihuto.) I s i , cs posihle para llna relat.ihii (.star en 2FY sin estar en 3FN.

,Par club se clehr estar preocupado si nna rel;ic.iOn no c ti ell 3FN:' I,os 1)rol)lemas son similares a los proldrrnas conwntatlos cn la violaciim del diseiio dr PFN.

1. La prima para cada t i p dt- ol'ivio se repite e n las filai tle rada empleatlo que tiene el mismo tipo de oficio. Ebta reclnndancia tie tlatos gasta cspacio d r ulr- moria.

2. Si la p r m a para ('1 tipo tie oficaio canilia, tales filas tlehen ser ac*tnalizadas. Si mi;^ fila es borracla sc. puede pertler el (lato clr la prima para un tipo cle ofirio. P o r tanto. la relacibn es t i sujeta a anomalias d r artualizaci6n y de horrado.

3. SI hay actualmente c,mpleados no permancntes para un t i p tle oficio dado. pue- dv no haber filas r n las wales guardar la prima clrl t i p de oficio. Esta e9 una anonialia cle inserricin.

TRABAJADOR ' ID- TRABAJADOR TIPO-DE-OFICIO PRIMA

1235 E l e c t r i c i s t a 3,50 1412 Fontanero 3,00 131 1 E l e c t r i c i s t a 3,50

Page 167: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

Afortunatlamentr, si se prueha q u r una relacihn es t i en 3FN se puede rstar seguro qut: la relacihn es t i en 2FN. Pt:rcr. iccimo se puedr convrrtir un tLsqurma rrlacional c~uc no r s t i en 3FN en un cwnjunto de relationes i p r satisfacrn la 3FN? La drsrcrmposit:ibn es el mbtotlo m i s ficil., Estr r s el mktodo usatlo para convertir una relacicin quc no es ta l~a r n 2FN (ASIGNACION tlr la Figura 5.6) c:n dos rrlaciones en 2FN (Figura 5.7). Ahora se mos- t r a r i chmo aplirar el p ro two d r tlrscomposiribn a rrlacionrs quc. no es t in en 3FN.

S r wrnienxa con el rsquerna relarional tlr TRABAJADOK'. Forme m a r t h % ~ n ( R l ) moviendo tie TK-1BAJAl)OR' 10s atr i l~ntos de la parte t ler tdia d r cualcpiirr I)F que liaga fallar el critrrio (11: 3FN. En el rjenlplo. rso r s PKIM.4. Forme una nueva relacicin t:omput:sta de 10s atributos tlr la par t r drrrt:ha v tle la parte izquicrtla d r la DF que Iiacc fallar el critrrio tlr 3FN. En r l cjrniplo. cstos son PRIMA y TIPO-DE-OFICIO. El deter- rninantr tle la UF, T11'O-DE-OFICIO. rs la clave. Si se llama rsta nurva rt:lacicin R2. en tontw

R1 (ID-TRABAJADOR, TIPO-DE-OFICIO) Clave Externa: TIPO-DE-OFICIO REFERENCIA A R2

R2 (TIPO-DE-OFICIO, PRIMA)

son 10s rsquemas tlr las dos rr1at:ionrs que tienrn lugar tie TRABAJADOR'. Si R l o R2 no (:stin en 3FN, s r twntinila aplirantlo t.1 procrso tlr clestmnposiricin tiasta clue totlas las rela- cionrs c.stbn en 3FN. En caste t w o , R1 y R2 t-stin amhas en 3FN y sc puedr parar.

Se ha tlescompucsto TRABAJADOR' en dos rclacionrs R1 y R2, las males r s t in r n 3FN. Dchrria t*onvrnct.rst: tlr (1111: R1 y R2 w t i n amhas en 3FN. 0l)st:rvr ademis clue TIPO-1)E-OFICIO rs nna clavt~ rxterna tan RI .

Drhido a qu r toda rrlacihn r s t i , por tlefinirihn, en 1FN y tlehitlo a t p : las relat-ioncs en 3FN t:stlin sirmpre en 2FN, la siguitmte radrna cle implicaciones es vilitla:

3FN impl ica 2FN implica IFN

Por rsta razcin, poncr las rrlaciones en 3FN y en 2FN cts lo ilnico t p t : se necesita para usar el critrrio tlr 3FN. Si se vrrifica qu r vatla determinante en cada rclariirn es una (.lave de rsa relacicin -1:1 critrrio clc 3FN-. trntonres totlas las rrlaciones r s t i n r n primera, srgunda y t r r w r a forma normal. Esto simplifit-a grandrmcnte el prowso tle normaliza- cihn, dr l~i t lo a que ahora se necrsita ccrmprohar shlo un criterio.

fortna ~ l o r ~ n a l . Boycr- Esta versi6n tit: tercrra fornia normal se llama a menudo Fo rma Normal Boycr- Cotltl (FNUC). Todo Codd (FNBC). El criterio usado para la 3FN por muchos autorcs es 16git:amrnte un poco clvtrrt~~inantr es una mi s tlbbil clue el critrrio tic FNBC quc se es t i usando. Estr criterio mis tlCbil esta11lrc:r clue d a \ I.. m a rrlacibn cs t i en 3FN si no tirnc dependentias transitivas. Una d ~ p e n d e n c i a transiti-

va aparrcr mando un atrihuto no clave es funcionalmente dependientt~ de uno o mis d r cleprndencia trattsitiva. otros atrihutos no claves. Estr criterio no manrja dos rasos: Al~arrt-e rnando un atrihuto no clavc tBs 1. Un atrihuto no (:lave rs tlepcndientr tie un atrihnto clave en una c law compnes- Snntionalmrnte ta (el criterio para relacionrs clue no est in en 2FN). dvprntlirntt. d r uno o 2. Un a t r i l~u to clave en una clave compuesta cs dependiente de un atrihuto no n ~ i s atri1)ntos no claws. clave.

FNBC maneja amhos casos. Por tanto, si una relaricin e s t i en FNBC entcrnces rstli tam1)ibn en 3FN, en el sentitlo cle la dependencia transitiva, y es t i taml~ibn en 2FN. Se ve entonces que esta definicicin de 3FN simplifica murho el proceso de normalizacicin.

Page 168: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS RELACIONAL

Cuarta forma normal

La priinera forina norinal prohihe relacioncs dondc sr tengan atrilmtos no athmiros o n i u - tievaluatloi. Sin eml~argo, existen milehas situaciones dc modclado clr clatos, r n (pie las rela- r imes reqnirren atrilmtos multievalnatlos. P o r ejemplo, m un sistcma cdcctivo t k stynro sanitaria, las midtiplei depentlentias tle un empleado pnetlen ser rastrcaclas. E n un eswna- rio cscolar, nn mic*nil)ro d r la facmltael se asigna a multiples roinisiones y es responsalde tle miiltipl(.s cwrsos. Ejmiplos ronio estos podrian ot*urrir murhas veres. iCbmo se podrian m o d t h - m nna 1)aw d r datos relational clue no permitiese atrilwtos mnltievalnados:'lo~?

La Fignra 5.9 in~iestra cnatro posil)les aproximaciones para resolver eite prol)le~na para loi rnrsos y las comisiones tle 10s miem1)ros tic la facnltad. Catla solnrihn paree*e insa- tisfatetoria en a l g h niotlo. Todas gaitan eipario, tanto por usar valores nulos como por introtlucir tlatos rednndantes. Aquellas clue usan valores nulos violan la intcgridad tlr la entidad, tle1)iclo a qne totlos 10s atrihutos juntos ronstituyen la rlave de la relaribn. A&- m i s , suponga clue Jones file asignado a1 twuitC. tle P r o m o r i h . por lo que se requirib una actualizaci6n. dc.lm-ia aiiatlir una nnev? fila o actualizar una fila existente? Finalmen- te. no csth claro q n r 10s atriljutos COMITE y CURSO w a n independientes iino del otro. P o r ejmmplo, t>n la Fignra 5.4(a), it4 comiti. d c Atlmisibn se relationa con el w r s o IM101?

La relacibn a p a r m t e entre atrihutos indt .ptdientes puetle eliminarse requirientlo clue rada valor de u n atrihuto aparezca en a1 menos una fila con w d a valor del otro atri- 1)nto. Esto se ilustra m la Figura 5.10, don& amhas Atlmisi6n y Beta apareren en l a i filas

FACULTAD FNOMBRE COMI TE CURSO L

Jones Admision IM101 Jones Beca IM102 Jones Beca IM103

a ) Numero minimo de r e g i s t r o s con r e p e t i c i o n e s

FACULTAD FNOMBRE COMI TE CURSO

Jones Admision IM101 Jones Beca IM102 Jones IM103

b ) Numero minimo de r e g i s t r o s con v a l o r e s nulos

FACUL TAD FNOMBRE COMI TE CURSO

Jones Admision Jones Beca Jones IM101 Jones IM102 Jones IM103

c ) F i l a s s i n r e p e t i c i o n e s

FACULTAD FNOMBR6 COMI TE CURSO

Jones Admision Jones Beca Jones Jones Beca

d ) No r e s t r i n g i d a

Page 169: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

FACULTAD FNOMBRE COMITE CURSO

Jones Admision I M l 0 l Jones Beca I M l 0 l Jones Admision IM l02 Jones Beca I M l 0 2 Jones Admis ion IM l03 Jones Beca IM103

lTna conclirihn que h a w run~pl i r la intlelwntlencia d r los atr i l~ntos rccluirientlo csta clnpliracibn cle va1orc.s sr llama nna clepentleilria ilmltievaluada (DMV). 1,as DMVs son wstriccioncs exacatamentr cwn~o lo son las DFs. Claranwnte. clel~ido a clue reqn ic iw unn cmornle cluplicac+'m de valores de clatos, un aspecto importante tlel proeeso de normaliza- ci6n delwria ser e1in1in;rr las deI~rmtlencias multievaluatlas. Esto se 11ac.r con la ruarta for- ma normal.

Una relacicin es t i en c m r t a forina nornial (4FN) si es t i en :3FN ) no tiene atrilIntos mnltievaluados. Drt)itlo a clue el prol)lema de Ins drlwnt1t:ncias ~nnltievaluaclas sllrge (1c 10s atr i l~utos multic.valuac1os. se 11uede encwntrar nna sc~lncii,n I~c~nicmdo toclos 10s at i i l~utos n~ultirvaluaclos en relaciones formadas por ellos mismos, jnnto con la clave a la cwal se al)li- r an 10s \alorrs de 10s atril~utos. La F i p ~ r a 5.11 iliistra osto. FNOMBKE c.s nn valor (.lave en alguna otra relacihn que iclcntific:a el n ~ i e m l ~ r o tle la facultad para el cual se aplica la infor- 1uaci0n. Sc listan las comisiones a las clue Jonrs es t i asignaclo. incluyenclo una fila pcjr cada c-on~itb. El noml)rc~ Jones se repitc, cada vvz. Lo misino suc*ctle con los cursos qn(* .Jones tlica- ta. Las relaiioncs en la Fignra 3.11 r s t in ell cwyta forma normal (4FN) porclnr todos Ios atr i l~utos mnltit.valnadt,s (en rstc c a w , COMITE y CLRSO) han siclo pnestos (TI re1ac:iones formadas por ellos misnlos. Aclc.mis, estc enfocluv supera 10s I~ro l~ lemas d r varios clr 10s c d i q u r w p i e s r inostraron en la Figura ,5.9. Como nota final delw sc+ialarsr quc. las c.1avc.s de estas relaciones en 4FN son [email protected] atr i t~utos tle la relacihn. Es tlecir. la c h v r cle F:\C-COM es (FNOMBRE, CORIITE) y la (*lave dr F;\C-CIJRSO es (FPiOMBRE. CURSO).

Otras formas normales

Sr han proput~sto algunas otras f'ormas nc)rnialrs clin~inar anomalias adicionalrs. Se discw t i r in t)rrvrmrnto tlos de rstas formas: la quinta forma normal (5FN) y la fornla nornlal dominiolclave (FNDLL).

Qninta forma normal. Lab rt.\triccionc.s cle dependencia f~~nc iona l ! del)enclencia mnltir- valuada resultan necwarias para la seeuncla. t r r w r a y cwarta forma norinal. La quinta fo rma n o r n ~ a l (.SFN) rlimina lab anomalias qur rrsultnn de un t i p de restricciim lla-

FAC-COMI TE FNOMBRE COMITE

Jones Admision Jones Beca

FAC-CURS0 FNOMBRE CURSO

Jones I M l 0 l Jones IM l02 Jones IM l03

Page 170: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS RELACIONAL 1 S3

mado d r p i l d e i ~ c i n s de rr~cnibn (loin deprndencies, drpendencias dc- uni6n). Estas drprn- d~.nt.ias sou p r i n t i l d m r n t r d r inter& tr i~r ico 4 dc. mu! dntloso valor pricticw. P o r rllo. la cpinta forma ~ iormal 1111 titme \irtuaIinrntr aplicacibn priic*tica.

Forma ~ l o l m a l t l o ~ ~ ~ i n i o l r l a v e . Fagiu (1981) p r o p s o oiua fornia normal I~asada r n las formn n o r ~ n a l drfiniciolirs tlr clavc,s y dominios d r a tr i l~utos. Mostri, q n r m a rrlacihn r s t i en fo rma nor- tlominio rlavr ma1 dominiolclnvt~ (FNDLL) si y shlo si ratla rrstric~:ihn en la rrlaci6n es m a t.onsrt8ueu- (FNDLL). Kecluierc. cpe ria tlr las drfinic-iones dc. doniinios y c.1avc.s. Esto rs un rrsultado importantr. Sin eml~argo. vada rc.htric~t.iOn scXa IIO prolwrrioni~ un mCtodo geueral para twrirrrtir m a rrlacibn q u r 110 r s t i en FNDLI, r n ~.t.sultatlo dt. m a rrlariim c p r rst6 r n FNDLL. tlrfinic~ioi~rs t l v tlo~ninios j- c.l;~vrs.

Transformar un modelo conceptual en un modelo relacional

Grncralmrntr sr ac8rpta q u r 10s niodelos coiic~.l~tualrs oh.rc.rn m a rrprcsrntacibn d r las c:omplejitlatles dc. un l~roh l rma d r al~lic-atihn m i s prcrisa clue la tlrl modrlo relai*ional \ otros nioclrlos d r datos a~ i t r r io r r s . l'or eso. r u r1 Capitulo 4 st. discutii, el modrlado r o w cr l~ tua l y se dr,mosti-h 14mo m a gran varirclatl d r p r o l ~ l r ~ n a s d r aplit*atihn p o d r i m rcbsol- yerse con 10s rnotlrlos c.oucrptualrs. Sin rml~argo. c.11 la actualidad rxisten 1)oc8os sistrnlas r u 10s t-ualrs los motlt4os cwncq~tuales 11wdtw implrmrntarsr. Drllido 21 c[ucb s r r s t i rstu- diantlo rl modtdo relatio~lal ell rs t r t y ~ i t u l o . se c r n t r a r i la a t r n c i h ell 10s mCtoclos d r transformaciiln tlr un moclc41 t*ontq)tual en un modrlo relaiional.

1111 modrlo d r clatos t*onrel~tual cwnsta tlr olljetos. interrrlacionrs, atril~utos. cX,sllr- tializacionrs. agrrgaclos. etr. h o r a s r mostrar in 10s mCtodos dc. tra1lsformaii611 tlr c d a uno dtl rllos. l!na iml~ortantr t.aracatrristit.a clrl procrso c p r s r drsrri1)iri rs clue cla c80mo resultado la c*rc.acihrl tlr rr1ationt.s normalizadns para la c ~ i a r t a forma uormal. ( h n s r - cwmtrmrntr. la siguitmtr twnvr rs ih dv un modrlo c o n t q ~ t i i a l r n un u~otlrlo rrlacio~ial nt) iircrsita 1.1 l,rocbrso d r normalizacihn.

Transformar conjuntos de objetos y atributos

( h s i t l r r r rl s iml~l t~ motlrlo eo~~c.c.l)t~ial d r la Pigura 5.1%. Sr vr un t~oujunto d r ohjrtos ( ~ 1 1 1

dos atr i l~utos. 1'KIiSONA t1s nn twnjunto d r ohjrtos ahstractos (110 16xic-0s). p r o #SS \. FECH A-N.1C son atrihutos ICxiws. Drllitlo a c11w 10s atr i l~utos r n r l n~odr lo rrlac.ic~i~al tlrl~c-11 svr a t r i l ~ ~ i t o s li'xiroh. #SS \ PI~:CHI1-N;lC l ~ ~ ~ r ~ l r ~ i stbr a iul~os atrilmtos rn m a win- tihn. l'or tanto. st, transliw~ua rsttx tliagrmia r u una relwihn coil ati-il)r~tos w m o sigur:

PERSONA ( # S S , FECHA-NAC)

Page 171: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

PERSONA (#SS, FECHA-NAC)

Transformar modelos sin claves externas

Conhitlcre la Figlira -5.13. Sr pnetle intentar transformar rste niodt4o tle la misma forma. resultantlo:

VENTA (IMPORTE, #PRODUCTO)

l ' t ~ o r n estt. c a w iio ha, rla\e. clc4ido a clue ~ ~ ~ e t l r halwr mrit.has kentas t p e tengan el mihmo valor para 1MPOItTE E #PRODL CTO. ['or tanto. se tlehr afiadii- 1111 atrilmto (.lave, #VENTA:

VENTA (#VENTA, IMPORTE, #PRODUCTO)

Se purdt: resumir este proreso (:orno sigue. 1111 conjunto de ohjetos (.on atrilmtos pue- d r transformarsc tw una relatihn usantlo el norn1)rc del twnjunto coino el n o m l w de la rclacihn y 10s atriLutos tlel c o n j ~ ~ n t o dc ohjetoh como 10s ati-iljutos dc la relatihn. Si p e d e usarse n n conj~into de estos atri1)ntos (:orno t:lavt~ 1mra la rrlaci6n. entonees esos atr i l~ntos se wnviertcn en la clave dc la relacihn. En raso contrario, se afiade 1111 a t r i h t o a la r d a - ei6n con el u c ~ ~ e r d o tle t p e ese valor itlentificjur ~ ~ n i v o r a n ~ e n t r instantias tlel ohjeto ell t.1 eon.junto dr ohjetos original y lmetla, por tanto. scrvir t:omo una (.lave para la rrlacihn. En el ejeml~lo anterior. st. afiadi6 #VENTA cwmo un a t r i h t o de la 1-t.lari01i que signifira qut. #\IENTA identifica univoramente una instanvia en t.1 conjnnto de oljjetos VENTA.

Sc h a mostrado un mbtodo simple y rlipido Ijara general una (.lave para una relati611 en raso de clue no trtlga m a . .Ictualmc:nte, el tliseiiador d r Ilases de datos p u d e cwnsultar con el ~ i suar io la srlecti6n de una c law para la relari6n. A mrnudo hahrli un nfimero ile far tnras o a l g h otro valor que se registra y c p e pnedr srrvir w m o la t h e d r la relacihn. Esto wria la st-leccibn lhgica para el atriljuto (.lave. Otra posihilidad es clue el ~ ~ s u a r i o reco- miende afiatlir una cwmhinat ih d e atriljutos cpr juntos twnstituirian una (*lave. El ana- lista tient: la responsa1)ilidatl dr t r a l ~ a j a r con 10s nsuarios para determinar qui. atrihutos co~npont l r in la clave.

Transformar la especializaci6n y la generalizaci6n de conjuntos de objetos

i lhora twnsidert. la Figura 5.14. El conjmto tle ohjetos PERSONA se transforma f'icilmente:

VENTA

+==P

Page 172: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS RELACIONAL

PERSONA

/ CASADA /

PERSONA-CASADA ( #SS, NOMBRE, D I R E C C I O N , C O N Y U G E ) Clave Externa: #SS REFERENCIA A PERSONA

risi, m a espctializatibu tlr uu coojnnto tlr ol~jetos t r nd r i totlos lo.; atri1)ntos tlel twn- jnnto d r ol)jetos tple 61 espt.cializa nlis totlos arls atr i l~ntos pro1)ios. J,as tlos r t h i o n e s tt,u- t l r h la misnia rlavr. Es in~lwrtantcl seiialar tine la (slave (#SS) tlr la rc.lacihn tle cy)ec.iali- zat:ihn (PERS0N.I-C.AS.41)4 en t.1 ejcmt)lo) rs tanhibn nna claw ex t twu. (lacx intlica la I-elaci5n dy gencralizacihn (PERSONA en r l t.jenll~lo). Conseciicilteiile~~tt~. RJOVBRK !, I>IRECCION en PERSON-\-C -\S:\DA constituyen inforn~at*icin tlul)lit.ada. Para elinlinar es t ;~ retluntlantia dt, tlatos. siu~plenwnte se snprimen tie la relacihn tle t.spetializaci6n todos 10s atrihutos no claves t p e est in tluplicados. Finalmrnte. entonces la relaciim PER- SONA-C4SADA es:

PERSONA-CASADA ( #SS, C O N Y U G E ) Clave Externa: #SS REFERENCIA A PERSONA

Transformar interrelaciones

Lab intei-relaciones se transforman cn ires formas tliferentcs del)endientlo tle la rardinali- dad de lax interrelationrs. Se manejarin lab interrrlationes nno-nno. nno-mwhoi mut-hos-muchoi separadanientt..

1ntc.rrelaciones Uno-lino. Se tom& un ejrmplo del B a n w 4lt*lle1ilic~al. La in te r r r lac ih TlENE-C-CUENTA, mostratla en la Fignra 5.15, es nno-uno. Eso rs tpir un cliente t ime a lo sumo un control de ruenta j un control tle t ~ ~ e n t a se asigna 4110 a un t'liente. Si se asumen 10s atril~ntos t4aves #CLJE:NTE para CLIENTE j #C-CUENTA para C I J E Y T L entonre:, se tienrn (10s relarionrs dc nna colu~nna:

CLIENTE (#CLIENTE) CONTROL-CUENTA(#C-CUENTA)

Para rnostrar la conexihn entre las dos relaciones, st. purde atlicionar #C-CUENTA a CLIENTE y #CLJENTE a CUENTA4. Note qu r catla una de rstas columnas es nna clavr extrrna que irdica a la otra re lac ih :

Page 173: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

CL IENTE ( # C L I E N T E , #C-CUENTA) C l a v e E x t e r n a : #C-CUENTA REFERENCIA A CUENTA CUENTA (#C-CUENTA, # C L I E N T € ) C l a v e E x t e r n a : #CL IENTE REFERENCIA A CL IENTE

C L I E N T E ( # C L I E N T E ) CUENTA (#C-CUENTA, K L I E N T E ) C l a v e E x t e r n a : #CL IENTE REFERENCIA A CL IENTE

['or supnrsto. r n nn twjlirina wnq)lt.to tlr I ~ a s c d r datos para una ay)licacibn real. a n h a s rrlat2ionrs t r n d r i n mnt.hos nlis atri1)utos. .4tIni s r mostruron shlo 10.; a t r i h t o s ntw~sarios para transformas rl siniplr niotlth conc.cytual (It, la Figlira 5.15. Si 10s ~ O I I ~ L I I I -

tos tlr o l~ j r tos cn la Fignra 5.15 tuvirran atr i l~ntos aclicionalrs. has r s t a h n 111wstos r n 1as rt*larionrs corrrsl)or~tljr~itc.s a rllos. P o r r j ~ w ~ p l o . (:LTF:NTE pudic-rn t r n r r w m o atril~litos ROMBRR. D1RF:CCIOU ! #TET,KFONO. y CITENT.4 putlirra t r n r r ronw atr i l~ntus SAL- DO y FE(:H4-.4PEItrTLTR;!. Kstos atrilmtos aditionalrs txusarian r n rl cXst[urma tlr h a w d r datoti w t a aparitmtia:

CLIENTE (WLIENTE, NOMBRE, DIRECCION, #TELEFONO) CUENTA (#C-CUENTA, # C L I E N T E , SALDO, FECHA-APERTURA) C l a v e E x t e r n a : #CL IENTE REFERENCIA A CL IENTE

En rrsun1t.n. las iutc~rrrlat~ionri nno-nno ir tranifornian mostrantlo nno tlr 10s con- j1111tos tlr ol~jtbtoi twno uu atrilmto tlr la otra rc~lariim. La rrlatibn rlrgitla s r drtrrrniua por la ~irc.rsitlntl d r la prol~ia aplic.ac.ihn. En 1n11c4w csasoi. c~~a l t [n i r r reluciOn p ~ ~ r t l v rlrgirst,.

CUENTA (#C-CUENTA, K L I E N T E ) C l a v e E x t e r n a : # C L I E N T € REFERENCIA A CL IENTE C L I E N T E ( # C L I E N T E )

I k i , r n una inttlrrrlat*ii,n nno-nn~rhos. la rrlatihn cjue tlt.scri11r PI ot!jrto t.11 la 11artt~ ".iin~cha'^ d r la int t~rrr la t i0n r r d w la colnn~na t.lavc cxtesnn clue indica a1 otro ohjrto. E:n

CLIENTE

Page 174: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS RELACIONAL 157

CLIENTE ( K L I E N T E ) CUENTA (#C-CUENTA) TIENE-C-CUENTA (#CL IENTE, #C-CUENTA) C l a v e s F o r a n e a s : #CLIENTE REFERENCIA A CLIENTE #C-CUENTA REFERENCIA A CUENTA

L L I C I Y I C L U C I Y l r \

CLIENTE #CL I E N T E

1 1 1 1 2222 3333

CUENTAS #C CUENTA

CA888 CA777 CA999

T IENE C CONTROL # CL IENTE # C CUENTA

2222 CA999 2222 CA888 3333 CA777 1 1 1 1 CA7 7 7 1 1 1 1 CA888

Page 175: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

O l ) s c ~ ~ - e a d r n ~ i s clue shlo las colnnlr~as rlaves d r CLIENTE !- CUENTA se w a u 1.11

'I'IENE-C-CONTROI,. Es tlrcir. iuc.luro si CLIENTE y ClTENT.4 tn r iwan otras tw1u111- nas. TIEIVE-(:-CONTROL nsarie s0lo las cdnmnas t:laves 11e estas do6 relacionvs. E:l signiente cxsclnen~a i h s t r a esto:

C L I E N T E (#CLIENT€, NOMBRE, DIRECCION, #TELEFONO) CUENTA (#C-CUENTA, KLIENTE, SALDO, FECHA-APERTURA) TIENE-C-CONTROL (#CLIENTE, #C-CUENTA) Claves Foraneas: #CLIENTE REFERENCIA A CLIENTE

#C-CUENTA REFERENCIA A CUENTA

Transformar conjuntos de objetos agregados

ConGtlere la Figura 5.18. la rna l 1nur5tra nn nod el!) twnreptual para el raitrtw tIr lentas d r International I'rodn~bt I)istril)ntion. SE-1 ENDIO-EN. una intrrrrlatihn agregada ( ~ I I ( ~

*e ronsitlrra 1111 wnjun to tle ol)jtjto*. titmt, un atri1)nto C24YTID41). Sv transforme cbsttB n~odelo d r arnerdo ron las rtylas tladas antrriornlrntr. Uel)ido a qne vkta intrrrelati0n e* de rn~lc*llcrs-~~iuc*lios. se t w a u tres relationrs:

PRODUCTO (#PRODUCTO) PAIS ( NOMBRE-PAIS) SE-VENDIO-EN ( #PRODUCTO, NOMBRE-PAIS, CANTIDAD) Claves Foraneas: #PRODUCT0 REFERENCIA A PRODUCTO

NOMBRE-PAIS R E F E R E N C I A A PAIS

Se han twatlo 10s atr i l~utos clawa #I'RODUCTO )- NOMHKE-PAIS para distinguir- lor tlr 10s noml~re,s de sus relaciones rvspec:tivas. Tam1)iC.n s r tiene CANT1I)AD r n la rela- ciby SE-\'ENDIO-EN 11ortlur rs un atrihiito clue se aplica a es;i r t k ~ i 6 1 1 . Si SE-\.E:\- DIO-EK tienr otros atri1)utos clue se It: aylican, ellos serian aii ;I( 1' 11 I os . t 1 e una manera similar. Las re lac io~~rs PRODIJCTO y PA41S se mues t la l (.on un solo atri1)uto. p r o 1)or s i i p e s t o e h s lwdrian t r n w otros atri1)ntos. %i no s r neresitan otros a t r i h t o s para estas rrlariones en la I ~ a s e de datos, entonces rllos purtlen ser eliminatlos del esquerna y el rscpc- ma twnsistiri solaniente d r la rt4wiiln SE-VENDIO-EN.

Page 176: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL M O D E L 0 D E D A T O S R E L A C I O N A L 159

SE-VENDIO-EN (#PRODUCTO, NOMBRE-PAIS) VENDIDO-EL (#PRODUCTO, NOMERE-PAIS, FECHA, CANTIDAD)

(Sf, han omitidt~ lai reIac.~ones cle nna t d n m n e t l u ~ ~ deflnen loi cwnjn~;toi tit- objeto.. )

Note. sin rm1)argo. IIIII , toda r s t i ~ in formavih contrnida r n SE4 ENDIO-E\ ?st6 t a n - 1)ii.n contenida en \ EUJ)IDO-El,. ['or tanto. it, l ~ n e d e elnninar SE-\ ENDIO-E:f tlrl riqtwma. Si SE-\/ENL)I(-EN tn\ i r ra atriljntoi no vlaxei. entonces no I)oclria r l i~nindrw. Elinlinando SE-PENDlO-KN tlt.1 cyuenla . ritanloi dicitmlo clue el nlotlrlo (It. la F i p - ra 5.19 c i eiencial~nrntc. una interrelaciOn (11. t w s - \ h i . Por tanto. r s c'cpmalente a la FI- gnra 5 . 2 0 . El ruotlrlo rrlacional1)ara la Fignra 5.20 st&:

VENDIDO (#PRODUCTO, NOMERE-PAIS, FECHA, CANTIDAD)

PRODUCTO t- SE-VENDIO-EN i PAIS

VENDIDO-EL

P R O D U C T 0 * VENDIDO *

PA~S

Page 177: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

Transformar interrelaciones recursivas

se l lam;~ r r c ~ ~ r s i v a portjur exist(. rn t r r ol~jetos Oel mismo ronj~mto . En estv ( ' ~ s I I . la in- t~r re lac i6n con s~ cart l i~~al i t l ;d m o - a - n ~ ~ ~ r h o s sigoifiva ~ I I N ~ 1111 t r a l~a j i~ t lor s q w r \ i s : ~

lo signirnte:

TRABAJADOR (ID-TRABAJADOR, NOMBRE, TARIFA-HR, ID-TRABAJADOR)

TRABAJADOR (ID-TRABAJADOR, NOMBRE, TARIFA-HR, ID-SUPV) Clave Externa: ID-SUPV REFERENCIA A TRABAJADOR

0l)scwe que ID-SCPV rs w a (:lave c:xtrrna rec~irsi \a . tlel)itlo a t~nt ' referrl~cia a I[)-TlZABAJADOR, la t.ual rs la c law d r la r r la t i i~n en la (lo(: 11)-SUPV t.sta. Las rlavrk forineas rcmmivas son el rc.s~lltatlo tle la trmsformaribn tlr 1;1s intrrrclaciones rrrlwsivas. En la Fignra 5.22 se muestran rjemplos tlr datos para la relaci6n TRARA4J.4DOK.

En res11111e11. se hail mostratlo Ias vias tlr tratlilrir las ronstrlwc:ionrs drl modrlo concr l~ t i~a l -ol,letos. atril)utos, intvrrrlariones, esl~t~ial izariones y agrcgados- a r d a - cionrs. Desl~iibs tle conq~lr tarsc la tratlnc.ciOn, cl escprma rrsultantr tlc.l)rria revisarsr 1wr las rrtlundancias. Las rr1acionc.s red~mdant rs , (.s tlrtir, rrlncionrs cupa informati611 csta totalmtmtr wntenidn en otras relaciont.s en r1 esqurnla, dehrrian rliminarsr del est.pwna.

A t h n i s . vra (jut: todas las rrlaciontls est in nornializatlas a la marts forma normal. La r a z h para esto es la siguiente: Las tlrl)rndenc:ias foncionalrs, tlrfiniclas para el mcrdrlo relational, son atril)utos, interrdarionrs ~ ~ I I O - L ~ ~ O o intrrrrlacionrs nno-mllchos. El pro-

ID-TRABAIADOR v 1 1 I SUPERVISA *I 1

TRABAJADOR TRABAJADOR

Page 178: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS RELACIONAL

TRABAJADOR I c TRABAJADOR NOMBRE

M. F a r a d a y C. Nemo R. G a r r e t P . M a s o n H. R i c k o v e r C. Coulomb J . Barrister

TAR I FA ID-SUPV

Ejemplos de transformaciones: Servieios de Consultoria Manwaring

CONSULTOR v

CLIENTE

CANTI DAD (DESCRIPCION) REALIZADO-POR

/ -

I I CARGO POR SUMlNlSTRO

CARGO

1

* GRABADO-POR I .-( T~TULO PROYECTO

Page 179: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

CLIENTE (NOMBRE-CLIENTE, DIR-CLIENTE) PROYECTO ( #PROYECTO, NOMBRE-CLIENTE , TITULO-PROYECTO,

TOTAL-CARGO, #FACTURA, FECHA-FACTURA) C l a v e E x t e r n a : NOMBRE-CLIENTE REFERENCIA A CLIENTE

CARGO (#CARGO, #PROYECTO , CANTIDAD, DESCRI PCION) C l a v e E x t e r n a : #PROYECTO REFERENCIA PROYECTO SERVICIO (#CARGO, #PROYECTO, CONSULTOR) C l a v e E x t e r n a : #CARGO, #PROYECTO REFERENCIA CARGO

En la wnveriihn drl conjunto de o l ~ j e t ~ ) s C1I<LO a una relaci6n. se tuvo qur tomar m a decisi6n sohrt. SII ('lave-. En r i t r ('as0 51, dwidi0 q u ~ el 1)roywto a1 qnr MI le ap l iqw un rargo c-pwificw idwtifiva ~)arcialnientc~. Sni embargo. st, usa #PROYECrI'O como una par- t r c k la rleve. Se ;tfiatlih entonves #CARGO w m o la p r t r cjne 1111rda cle la clave. Esto zig- riifica clue c1ifrrrntc.s c a r p i l ) u ~ d r n t r n r r r l n~ismo #CARGO si no estrin relacionados con el niismo proywto.

El co~ijunto (11. o1)jrtos SEl<\IIClO es una eil)rridlixacibn tlel conjunto d r ol~jr tos CARGO. Por rsta razhn. la relac.iOn SlCRVlCIO tlrlw tenw la ~nisma rlave que la rcllaci6n (:IRGO. Por supursto. rsto signific-a qnth rsta r h v r tlr tlos rolumr~as rs una rlave rxterna qnr r r f r r r~ ic ia a C IRGO. A(lcwhi, la relac~hn SERLICIO tirnr r l atrilmto COASULTOR. que indic-a qui. conzultor ejrrc-(1 r l servicio. Aunquc. CARGO POK SUMINISTRO es tani- I& nna rsprc*ial~~acihn clr C 4RG0, no mr r r r r su propia wlacihn porqur no tienr atrihn- tos propioi. Totla la informati6n necwaria so l~re cargos por suministros puede enwntrar - se en la r~ l ac i6n C IRGO.

La Figura 5.24 mnrstra (4 niodelo de dattrs clc~sarrollatlo para la facturarihn de pro- !rc.tos hlanwaring cm r l capitulo 4. Ahora se (wnvrrtirh eito a u11 tnodrlo relarional. Los conjuntos cle ol).jetos CLIENTE y I'ROYECTO scb convirrten como antes:

CLIENTE (NOMBRE-CLIENTE, DIR-CLIENTE) PROYECTO (#PROYECTO, NOMBRE-CLIENTE, TITULO-PROYECTO, TOTAL-CARGO, #FACTURA, FECHA-FACTURA) C l a v e E x t e r n a : NOMBRE-CLIENTE REFERENCIA A CLIENTE

El c ~ n i j u ~ ~ t o cle ohjetos OTHO-CAKGO en ebtc. niodelo cwrrrspondr a CARGO en el niotlth anterior:

OTRO-CARGO (#CARGO, #PROYECTO, CANTIDAD, DESCRIPCION) C l a v e E x t e r n a : #PROYECTO REFERENCIA A PROYECTO

Tam1)ibn se neresita una relatibn para CONSULTOR:

CONSULTOR (NOMBRE-CONSUL TOR, PAGO)

Finalniente, se nerrsita representar la in te r re la r ih en una gran caja. Debido a que la intrrrelaribu OCUPADO-EN no t ime atrihutos propios. s r pnede empotrar en la rela- - c%n rcpresentada por la interrelati6n EN. Esta relacihn es equivalente a una relacihn de trrs-vias, tam1)ii.n su clave consistr tie tres atrihutos. Adrmis rlla tione 10s atributos uo claves HORAS y CANTIDAD.

Page 180: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL M O D E L 0 D E D A T O S R E L A C I O N A L 163

-1 PROYECTO

4 EJECUTADO-POR

T~TULO ) OTROS- CARGOS T O T A L

TARIFA

OCUPADO-EN-ACTIVIDAD-EN (NOMBRE-CONSULTOR, ACTIVIDAD, #PROYECTO, HORAS, CANTIDAD)

C l a v e s A j e n a s : NOMBRE-CONSULTOR REFERENCIA A CONSULTOR #PROYECTO REFERENCIA A PROYECTO

r

\

Dehido a qur "EN" no da una drsrripcibn n111y 1)uena del significado de In r e l a c ih . sr le ha dado este nnevo n o m h e , que r s miis drsrriptivo.

Annque el proc:rso de conversihn de un modelo conceptual a un modelo rrlacional rs mecinico y lined, requiere alguna intrligencia humana. Se ha i1ustr;tdo rsto en 10s dos ejrn~plos anteriores. tlondr se selecrionaron rlaves de varias manrras y se c.atnl)iaron 10s nornhrrs tle a t r i h t o s y ~ d a c i o n m dondr se nrcesith. No ohstante. el proceso es rompara- tivamrntr simple y totlas ]as relariones rrsultantrs es t in r n cnarta forma normal.

CONSULTOR

*

Comparaci6n del modelado de datos conceptual y relacional

Los estudiantrs. partic:ularmente aquellos que han tenido rxprrienc:ias con los SGBD relacionales, algunas vrces se prrguntan por c p b nos prrorupamos con el mot11Mo d r tlatos conrrptual cuantlo finalmrntr se implementari el sistema d r base d r tlatos en el

Page 181: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)
Page 182: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS RELACIONAL I 6 5

estas relationes tle la inisina inanrra clue 10s t~onjnntos 11e ol)jrtt)s he (-oiitbt't;m (In la F i g - r a 5.24. Asi. para realrnc~ite entrntler I I I I ~not l t~lo relac.iona1. se hat^ int~ntaln~t~ntc. ( 4 tra- 11ajo t ~ u r !a ?st& h w h o grif ican~ri i t t~ cLn urn modelo eont:el~tnal.

Atioru, si imagina qutb (.st(. modelo relational scl amplia. tle inaiiera (111~ en I I I F ~ I I . 1 1 1 s

iiirlnir SI'IIO ciiico relationes inclriya 30. 40 6 .i0, ~~rict l ( - vtSr lo dificil tlrw seria c ~ n t t ~ n t l t ~ l o sin una aynda gr i f iw. Eli la c~1~eat.i61i tlr 1111 csqneina de h e de tlatos cs cseiicial (111~ to- tlas las sutilrzas inh(~r rn t r s r n (ma s i t n a t i h tlel in1111do real sean t.aptnratlos exatataniente. Sin el nso de un niotldo w u t q ~ t u a l . el tlist+atlor d r l)ase de datos ( - t ~ r r ( ~ t.1 ~.irsgo (1e t*oint>- t r r errores t*riticws tlr diselio.

Ahora sr conl'ronta la 1)rrbguiita o1)uesta: i,Por (1116 nos iiiolrstamo~ r n cwnwrtiido a 1111 mo(le10 relational? i,Por club no solamcntc~ sc in~pleinerrta el ~notlelo c~onc.q)tnal'! Ida re.*- 11nrsta a rstas prrgniitas rs que la gran i n a y r i a cle las SGBDs instalatlas son ~ ~ l a t ~ i o n a l e s . LO^ SGKDs orirntatlos a ol)jetos, 10s t.iialrh srrian t4al,at*es tle iiiiplcniciitai- cliret.ta~neiitc~ rsc~ueni;~~~o~~t-c~l~t~~;~les. se t-onsitlora qlir griieralmente no hail alcanzatlo la "iutlustriali- zac*ihn" r r c p ~ r i t l a 1w.a grantlcs al)licat~iont*s y son 11or lo tanto opciones no r t d v s . Itlt.- niLs. para 1)usrs tle tlatos siiiil~les. el nlodelo relational cs p r o l ~ a l ~ l r ~ n r n t e tan f&td ( 1 ~ tlibr- iiar dirc:t.t;mwnte I * ~ I ~ I I I t.1 iiiotlelo cont:et~tual. P o r tanto. a m h s prol~ositiont~s son viahles \. 1 ~ i t : d t ~ i stAr nsatlas apropiatlanirntr.

Kite rapitnlo introtluc.r t.1 motlrlo tlr datoi relational. la5 formas norn~ales asoci,~das con 61 nn p r o c e ~ o para w n \ e r t w 1111 ~ n ( ~ l e l o twncrptnal a un nmdrlo relwional. S r mostraron forrnas tlr tliieiiar una lmsr tle tlatoi i ~ l a c w n a l tlireetamrnte de la informaci6n tlel ~ ~ i u ; ~ r i o o transformando 1111 nlotlrlo twnt-eptual. h l r m i s 3e discut~h la vrntaja intrinwc.a tle Ilia1 nn inodelo t*ont*eptual an t r i de la (*rvwt*i6u drl rnotlelo rrlat*ional.

El niotlelo tle datoi rrlacional fu r intrrrduc~~dcr en 1970 por E. F. Cotld, quien moiti 0 qne 11" r n f o c p . lhgieo d r la definicihn \ inanq)nlat~ihn d r datos r i snperior a1 enfocpic fisi co q u r prrvalcc.i,i en vie t~enipo. El niotlelo relatwnal s(. hasa r n la noc~hn n ~ a t c n ~ i t i c a tlr una rrlurihn. clue cwniiite en filas \. c o l ~ ~ m n a i dc clatoi. La. columnas i c llaman atrihuto. \. las filus st. Ilarnan tq l la i . Cads rrl,~t.iOn twnr nn conjunt o tlr dtr i l~ntoi , conocidos twnio nria t.lave. t p x ~ t lent i l i r~rn n n i ~ ( I ( drnente catla fila. Lai refrrrncias d r ~ntt~rrclaciones son nianipnladai a trav6s de (*la\ rs f o r h e d s , tintb son pilnteros li)git*os de una fila d r Ilnd r r h ci6n a nna fila tlr otra I-elar~hn. Par,( estar iepnros d r la valitldci6n tle 10s dntos en llna I ~ a w cle datoi rtblac~onal. Codtl forrniilb las reglas (It. lntegridad tle la r n t ~ d a t l y de intrgritlatl referenc~al. Estas rrglas eitat)lecm q u r rl baler tle unw clake no p n r t k ser nulo ! clue rl valor de nna t ' l ;~\r rxterna tlel~c correspontlrr t*on el \ a h actual de m a clake en otra re- lac16n.

La5 rrl,it.iones t ~ n v ion (liieiiadai twmo party d r un tlisefio tle h i t , tlr da to i con- t*eptual purt l rn te1ic.r anon~al ias tle ac*tualizaci6n. Estas nor i i~~i lment t~ ocnrren drhitlo a l a i deptmdnicias iunt*ionalrs o interrrlaciontli funcionale. r n t r e a t r h n t o i . n ingui~o tlr loi t*ualci r s nn d t r i l~n to cl'ivr de Id relacicin. Hacirndo Ins tlrpentlentias fnnciol~ales una twnst.cueneid natural tlr la. tlelinitionei d r claves tlr una rrlacihn, st. c l i ~ n i n ~ l n rnnt*has anonialiai t8omunt.s. Lds I-elationei que corresponden con esta reglu cs t in en t r r w r a fortna normal. 4 d t w i s . la existent.ia d r a t r i t~u tos multirkalnadoi y rrglas rli- srliirtlas p r a garantizar la inrlrpentlencia e n t w a t r ~ h n t o i reiul tan necrsaria5 para unu formn normal inpcrior. La warts forma normal se uia para garantizar clue la i r r la t ionrs en t r r w r a forma nornial manipular in prcrhal~leniente atrihutos n iu l t i e~ a h a - (10s. La cpinta forma norrr~al 1 la forma normal dcrnl~niolclavr son formas normales atli- cwnalrs clue han iitlo tliwutitlas en la l i teratura y son deicr i ta i t ~ r r \ r m e n t e en estr (*a- pit ulo.

El proreso de transforniat~ibn d r un modelo conceptual a un motlrlo rrlacion,ll inipli-

Page 183: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

(:a la crratii,ll tlr una rrlacihn para catla ronjnnto tlr ol)jrtos en estt. mo(le1o. Los a t r i l ~ ~ t o s tIr1 conjunto tlr o1)jrtos son atri1)iitos d r la rc1at:ihn. Si rxiste un atrihuto c law rutrrno. se purdv nsar conlo la rlavt. tlr la rrlatihn. Por oLra par t r , una t-law puctlr s r r crratla por (,1 analista. Sin rmhargo, rs nwjor si 1111 atrilmto surge rspontLneanirntr rn la aplicacihn qur r s t i sicmdo motlrlada. Intrrrrlacionrs d r uno-nno y nno-mwhos st- twlvirrtrn a1 inotlrlo rrlacional hac ih lo l a s atri1)ntos tle la relaticin apropiatla. Las intrrrrlacionrs inut*hos- niut~hos corrrspontlrn a atrihutos ~nnltirvalnatlos y sr convirrten a la tbnarta forma nor- mal. crrantlo una rrlaciOn cnya (.lave sr toma tlr las t k r s d r 10s dos conjuntos d r ohjrtos qn r participan en la intt.rrelat.ihn, I,os twnjuntos especialixatlos s r t.onvirrtvn I-rrantlo relacioiies separadas. qnr toman sus t:lavc.s tlr la relaci6n twrrc.spondirntt, a1 conjnnto tit. g~~nrrd izac ihn . Las rrlaciones rrcnrsivas purdrn s r r motlrladas crrautlo un ullrvo non~lwr d r atri1)nto. qne rs tlrscriptivo tle 1;r intrrrrlacihn.

Los motlclos tlr tlatos cwnc.eptiialt~s son inh t~r rn t rmmtr miis ficilrs d r twmprrntlrr ( p t - los ii~otlrlos rdat ionalrs , p o r t p r se ajnstan mas a la manrra r n qnr naturalmrntr se ol)ser\-an las ( m a s , y sr rrilrjan en el lengiiaje a travks dal nso de snstantivos y vrrhos. Esto rnl~t-stra cpr el p rwr so tlr t l c ~ r r o l l o tlr un inodt4o t*onc*rptnal y la couvrrsihn a nn ~nodt*lo rrlat*ional uormalizatlo tnrrrcr 1.1 rsfnrrzo drsarrollatlo porcpr en las situ;ltiours tlt. inotlrlado conlplrjas se purtlen comctrr rrrores crititw. Dehitlo a qur la implrmrnta- rihn tlrlw scr normalnientr rctalizada rn el modrlo rrlacional. rl paso tle couwrtir rl mode- lo t .ontq)tual a1 rc4at~ion;ll c-~)nt ini~a sicmdo rscnrial.

1. Ilefina catla uno tle 10s siguirntrs t6rmii1os con SIIS propias pa l ahas : niodrlo tlr datos relacaional intrrrrlecihn rvc~~rs ivo pa t i o tle m a rrlatihn clominio de atri1)uto snpercla*e t l~ t r r in ina f ' i ~ n t ~ i o n a l m t ~ ~ ~ t t ~ t*lavr cantlidata elale externa rsqurma tie I)aw tir datos rrlacional rt~gla tir intrgritlad tle la rntidacl ncrrmalizat~ii'm rrdunclancia d r datok ailomalias d r actualizaci6n anomalias clr insrrtiim formas normalrs valor athmico drtrrininantr proyrccihn (le una rrlacibn forma normal Boj t d :o t l d drpendrncia multievaluada quinta forma normal relacihn d r intrrsrccibn

2. Compare y contrastr: a. c4ahrs y suyrrclavrs b. cia* rs f o r h e a s y clavrs c. claves foraneas y clavrs foranras recursivas. d. atribntos y dominios

Page 184: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS RELACIONAL

e. atrihutos y cohnlnas f. t~tplas j filas

g. intrgridad d r la w t i d a d e integritlad rc-ft*rrurial h. c.1avt.s c.anelidatas ! c.1a~c.s primarias

3. Keaccionc a la sipuientr a f i r u ~ a c i i , ~ ~ , l~ara f ras rada de Krnt (1 983): Uua r e l a c i i , ~ es t i r n t r rc r ra forula normal si toelo atrihuto no talalr rs deprndirutc. (lo la rlale. de la c.la\cb rntrra y (1' nada m i * c p r la d a l e . ;,()uG parte d r la a f i r m a c i h correslwnde a la scyun- da forrna normal ! c u i l a la t r r r w a forma uormal?

5. I ) r s c ~ i l ~ a el procrso de t r i ~ n s f ~ r u ~ a c i O n d r un mod14o ronceptual a uu n~odr lo relacio- nal para: a. ronjunto dc. ol)jt,tos ! atrihutos con ! sin utla c n h e extrrna b. interrrlacibn uno-uno C. iuterrrlacibn uuo-n~uchos d. intrrrelacihn rnnt~l~os-muc*hos e . interrrlacionrs tle esl)t.t.ializacihn f. agrcgados p. intei-relaciorlrs rrcursivas

6. Comparr ! c.ontra5tr rstos doh e n f ~ q u r s para r l motlrlado d r datos: ( I ) P r i n ~ c m tlrsa- rrollar un modrlo c*oncytual y entoncw cwmrrtirlo nlrciniramrntc a nn esquerua relarional normalizado. ( 2 ) Saltar r1 paso del ~noclelo ronceptual ! desarrollar ~ I I

modelo relarional. manelo las teorias d r normalizacibn para eliminar las anonlalias. ;,()uG vrntajas 5. drsventajas t ime cada rnfocpc?

1. Marque cada t6rmino con h u defitiic~i6n: -formu normal dominiolclnvr

-sc.gui~dn forrnn normal -atributos d e la relaci6il

-integridad refereenck~l

-tupla

-valor nulo

- t ~ r c e r a forrnu normal

-clave pr imaria

-relaci6n -(-lave extrrna recursivcc

Un a t r i l~u to no clave r s I'uncioualmrnte tlr- prnclirnte d e nno o m i s atrihutos no claws. Cada determinante es una rlave. Valor de un atrihuto si el atrilmto es inapli- c a l k o su valor es c1rsc:onorido. Consistencia de los clatos en una I x s r tle clatos. Tabla de dos dirnrnsionrs clue rontitmr filas >- rolumnas cle datos. Conjunto de atrilmtos mininlos clue identifi- can univoc-arnentr cada fila. E n terrrra forma normal sin deprndencias multirvaluaclas. Clavr externa que referencia su propia re- lati6n. Una columna en una relacihn. El valor de una c l a w rxterna no nula dehe s r r un valor actual d r una clave en alguna r e l a c i h .

Page 185: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

2. (:onsitlert~ la signirntv relac.ih11 (las 1rtr;ts ma!i~sculas son uornhrrs tlc atri1)utos ! las lrtras n~ini~stwles y los nilnwros son w1orc.s):

Entit.rre en nn c*irculo las tle1wnclentias fnncionales clue sc el~lic-an a Y:

3. A+ C 11. D+E t*. C+4 tl. E+B r . E + I f'. C+B g . R + D h. B+4

Itlrntificpw una posihle (.la\ r para X.

3. Considrrr la siguientr relacicin (lab letras mayusculas son nornhres dt* atribrrtos y las lrtras inini~sculas y 10s n h e r o s son valorrs):

Enrierrr en un c i rcdo las rlrpendrncias f'nncionalr'i que no b r aplican a l'

lclentifique una posihle (>lave para Y

Page 186: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS RELACIONAL 169

4. Consitlrrr la siguimtr rrlac.ii,n (lab Irtras mayuscnlas son noin11rc.s tlv a t~ i l )u tos !. las Irtras rniniist*ulas y los ni lu~rros son \alorrs):

Idrntifiqur una posil,lc. clabr para Z:

5 . Para catla uua tlr Ias siguirntrs rrlac-ioi1c.s. indiqur a (1116 f'ormas n o r n d r s .;r ajustan las rrlacionrs ( h i Iia! irlguna) y inurstrr &lo las relac-iows 11ucdm clc~sc~oiiil)oiir~.~r rll

niiiltiplrs I-rlac.ionrs. cwla una dv las w a l r s sr ajlistan a la forma nornial siq)c.rior.

. \ ENTA ( F E C H 4 , C L I E b T E , P R O D C C T O , VENDEDOR. CIUDAD-VENDEDOII. \ EYTASKtCI') DF: CLIENTK + VENTASREP

E. TRARAJADOR (ID-TR4B. NOMBRE-TR4R, NOMHRE-C~YYUGE. HIJOS)

F. VENT4 (FECH4, (,'LIE1 T E , PRODUCTO. F EN1)El)OK. CIUD AD-J EhDEDOR. VENTASKEI') DF: VENIIEUOR + CIIJDAD-VENDEDOK. T)F: PKODIICTO " \ENDEDOR

. ESTIII)] AhTE ( # E S T , NOMBRE. EDIFICIO. PISO, KESIDERCIA-EST) DF: EDIFICIO, PISO ' RESIDEITCIA-EST

11. MATRICCLA (#CURSO, # E S T , G R 4 D 0 , INSTRUCTOR, #H.~BI'I'-\cI~)N) DF: #CURSO + INSTRUCTOR. DF: CURSO + # H A B I T A C I ~ N

I. ACTIVIDAI) (#EST, D E S C R I P C I ~ S . FECHA, EIIIFICIO. HABITACI(?Y. COSTO) DF: DESCRIPCION + EDIFICIO, DF: DESCRIPCIOIL + HABITACION. DF: EDIFICIO + COSTO

6. Cree un escprma rrlacional. con todaz las tdacionrs en 4FN. para la iignirntc infor- maciim sohi-r una conip;~iiia de segnroi de bitla.

La wmpaiiia tienr una gran cantidad clr phlizai, sr qu i r r r conocer el ninnero de seguriclatl social dr l asrgurado. el nombrr. la clirrwiim y 121 frcha d r nacimiento.

Page 187: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

NUMERO DE

VENDEDOR

DIRECCION

PAGADO CON HECHO-A /

PRODUCT0 ORDEN

FECHA 1 NVENTARIO PRECIO

VENDEDOR

I

(DESCRIPCION) HECHO-A

\ * INCLUYE *

PRODUCTO \

TOTAL

~RECIO EXTENDIDO)

Page 188: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS RELACIONAL

1. Sin usar 1111 modelo conc~ptua l para t.1 tliseiio conceptual, cree un estjuema d e base de tlatos relacional para una organizec*ih con la clue trnga csontacto o experiencia. Cons- tru!a a1 menoi oc.11o rrlacionc.~ q u r est in en 4FN.

2. Kea1ic.c: cl pro)-rvto 1 nuel-anlrnttS, rsta vrz p r i n ~ r r o diseiiando un modelo conceptual y convirti6ntlolo a un nodel lo rrlarional, usantlo 10s mGtodos d e este t:apitnlo. Compare sus e s p r r i c w * i a ~ en an11)os l)royrtBtos.

Page 189: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

P A R T E

DE BASE DE DATOS RELACIONALES

E n la partr 111 se rxploran 10s lenguajrs y sistrmas usados para la imple- mrntaci6n d r sistrmas de base d r datos en el modelo relacional. Esto incluye el ilgrhra y el cilculo relacional, asi como tam1)ii.n 10s lenguajes

comer(-iales SQL y Query-hy-Example. Ademis se examinan los principios relacionados con 10s problemas de implemrntaci6n fisica.

En la discusi6n del ilgehra y el cilculo relacional, en el Capitulo 6 se examinan cuidadosamente estos lenguajes, que son las hases para todos 10s otros lenguajes rela- cionalrs. Sr usan numrrosos ejemplos para esclarecer amhos lenguajes.

El capitulo 7 rxamina el SQL, lenguaje relacional ANSI estindar. Ademis se pre- sentan sus aspectos esenciales dados en el SQL-89 estindar y tambiCn se analizan un niimero importante de aspectos dados por el SQL-1992 estindar.

El capitulo 8 presenta el lenguaje Query-hy-Example, un lenguaje relacional gri- firo. el w a l tiene varias implementaciones comerciales. En la discusi6n se examina una de rstas implrmrntacionrs comerciales, PARADOX.

El capitulo 9 se acrrca a1 nuevo Lrea de sistemas clientelservidor. Se ven dos sis- trmas de hase de datos servidores, SQL server y ORACLE. TambiCn se analiza un entor- no de desarrollo para aplicaciones clientelservidor, PowerBuildrr.

El capitulo 10 examina las tkcnicas de implementaci6n fisica. Se examinan 10s dis- positivos de almacenamiento de acceso-directo, 10s formatos de datos y la organizaci6n tradicional de archivos. Ademis se definen tCcnicas de correspondencia usando punte- ros; cadenas, anillos, listas invertidas y Lrboles B+ y se muestra c6mo Cstas pueden usarse para representar estructuras de datos l6gicas. Tambikn se estudia la estructura de la clave secundaria y las tCcnicas de optimizaci6n de consultas.

Page 190: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

Y EL CALCULO RELACIONAL

Una ventaja revolucionaria en la manipulacion de

datos

Algebra relacional

Union

lnterseccion

Diferencia

Producto

Selection

Proteccion

Reunion (join) ' Reunion natural

Reunion theta

Reunion externa

Division

Asignacion

Un ejemplo adicional

Calculo relacional

La lista resultado y la sentencia de cualifi-

cacion.

El cuantificador existencial

El cuantificador universal

La dificultad relativa del algebra relacional y el

calculo relacional.

Resumen

Preguntas de repaso

Problemas y ejercicios

Proyectos y cuestiones profesionales

Page 191: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

Cordelic~ Molini ,Y Reggie Townsend, usuorios de sisteinrl~ de infbrinaci6n dc~ 1~ Interiw- tional Product Distribution ( IPD) , rstcin discutiendo lrls diferen(i(~s r n 10s lengu(rjes de basc~s de dntos relorionrrles. Reggie h a sido introducirlo recientemc~nte tr las base7 rle dntos relacionales y estri eqforz6ndose por comprender sus bosc~s conceptuales. Sill einbcirpo. no entiende las d{ferei~oio.s estructurcrles sign$cntir.ti\ cwtre algui~os de 10s lengrrnje~ comcv- r i d e s . Cordelin le explicu: "Cuando Cotld originalmente propuso el inodelo rlr rlutos r d n - cionnl, recoinend6 un leng~~c~jeproct~t l i i irer~tc~l , el algebra relacional v 1111 l twgw~je 110 pro- redimcwtnl. d c4lculo relacionc~l."

"Estoy confi~ndido, no entiendo esos tdrminos, Cor$rlicl. 2QuP entiendes p o r proce- dinrental no ~ r o c r d i r n e n t d ? " " .

"En uir Impuaje no procedimental. le decirnos a1 c o i n p ~ ~ t u d o r e l 1 4 tirne que hater y no tGmo hucerlo. En el lenguuje procediinental le decimos a1 ronyutc~clor cbmo se ejecuta ce~dn paso. Los lengucrjes truclicionales de 10s compr~tndore\ son proredimentales. El inodelo relacional h a h ~ r h o in& pr6ctico el desnrrollo de 10s lenguujes no procediinentrr- IPS. "

"Parc~ceria entonres yue los I~rrgu(~jes no procedin~entales son suzperiores (I 10s 1r11- ~ I L ~ L J P S procedimentales. kEntonces p o r q u i toclos 10s l ~ i r g r ~ ( l j ~ s r(hcion01es 110 son i n o d ~ - lados a par t i r del calculo relacional?"

"Los lenguccj~s incis populares, tales conro el SOL. el QRL y el QL EL, tic~nrlrn m ser- lo. Purrr comprendcv completumente el modelo rele~cionnl y 10s lenguc~jes uti1i:udo.s p r a manipnlorlo. es importante entender clmbos enfoyues."

st? capitulo hrinda una amplia introducri6n a1 ilpel)ra rt~lational! a1 ci l ru- lo relarional, 10s t-na1t.s forruan las hases para 10s lt~nguajes comerciales usa- (10s con las h s r s d r tlatoz relacionales. D11spui.s de comenzar a familiarizar-

se twn estos lenguajes, es ta r i preparado para e n t e n t h y usar algunos tle los m w h o s lenguajrs de base (le datos q u r se hasan en ellos. Des1)ui.s tle leer este capitulo delw scar capaz zlc:

Listar las operaclones (lrl ilgrln-a relacional y mostrar c6mo p u r t k n usarse para crear n n o a s relac~onrs a part i r tlr relaclones exidentrs. Drmostrar la eztructura (lr las soluriones de consulta r n el td (*u lo relarional. m i s espet~ialnit~nte las instrut*cionrs condirionales q u r drlwn formarst. para tlefinir una soluri6n clr consulta. Formular soluciones para tipos especifiros de consultas de aiiihos lenguajes.

Una ventaja revolueionaria en la manipulaei6n de datos

E n 1970-1971, E. F. Codd puhlic6 tlos artirulos introdrlciendo el modrlo tlr tlatos r r l ac~o- nal y 10s lenguajrs d r iiianil)uldciOn clr clatos relarionales, el i lgehra rrlat-ional j el cilcri- lo rrlacional. Aunque el modrlo tlr datos relacional era importante r n si iiii~iiio. 10s len- guajrs rrlarionales eran m i s signifirativos en cuanto a la revoluci6n de las bases de ddtos rrlarionales. DespuCs d r todo, el modelo relacional, en el cual 10s datos se representan m tablas, es muy similar a 10s modelos orient ado^ a archivos que ya existian. Reconocida- mente. 10s cambios en la terminologia: de orchivo a relaci6n, de campo a atributo y otros se debieron a q u r rllos enfatizaban el significado l6gic0 de 10s datos mucho m i s que sus estrurturas fisicas. Pero, retrospecxtivamente, parece que el aspecto niis importante del nuevo modelo r r a n sus lenguajes de clatos concretos, que permiten la manipu lac ib de

Page 192: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

t.ilculo rrlacional. Un Iengnaje no procrdin~ental 1)ara la dt.GnieiOn tle ,olut*ione~ a voninltah.

datos t'micammte hasatla en sus carat*teristicas 16gicas. En rste capitnlo se estiitliarin 10s (10s lenguajes q u r Cotld p r o p s o ? r l Blgehra rrlacional y el c:iilculo relacional.

E n su articulo original, Codtl introtlujo el modelo tle datos relacional y r l i lgel)ra relational (Codd, 1970). El ilgtbbra relacional es un lrnguaje procrdiniental para la manipulaciOn de relaciones. Esto siwific*a que el i l g e h a relacional usa nna aproximac:iOn

7 , paso-por-paso para erear nna relac1011 qne tsontenga 10s tlatos qne rrspontlen a la twnsnl- ta. En t'l siguiente articulo, Cotld introtlnjo el rilt-ulo relacional (Cotld, l97 la . 19711)). El ciilculo relac-ional es IIO procetliniental. En el c:&lculo relacional, una cwnsnlta se resnel-

tlefinientlo nna rrlacihn en un simple paso. Cotltl inostrh qnr el i lge l~ra relational y (4 cilt*ulo relacional son lhgitmncnte e q n -

valentes -nn hecho tlc consit1rral)lc importancia-. Eso signifin') clue cnalquirr t w d t a que potlria ser formulatla m el cilculo relacional podrin s r r formulada en t:1 i l g e l m rela- cional, y viceversa. Esto proporeion6 una nleditla del 11odrr 10gic.o de n n Icnguaje tle con- sulta. Si un lrngnaje era al menos tan poderoso como el ilgcbra relacional. cbra Ilaniado relacional~nente con~ple to . Eso significa clue nna c:onsnlta clue puede s r r formulacla en el i1gel)ra rrlacional tlelw ser formulal)lr r n el lrngnaje "rclacionalniente complete". l'or tanto, con el desarrollo tle 10s lenguajes wlacionales comerciales, su pocler lhgiro .;r pnedc prohar t ~ o n i p a r i n l t l t ~ s con el i lge l~ra rrlacional o el cilculo rrlacional. Si n n lenguajr es menos poderoso clue rllos. rntonces 11al)i-a cirrtas ronsultas clue no podriin formnlarsc en el lrnguaje comcrcial.

El ilgel)ra re1at:ional es taml)ibn importante porqne aporta muchcr tlel vocat)ulario y nluc-hos d r lo* cont*eptob 1)isicos de nianil~ulacihn de tlatos re1at:ionales quv se encuentran comi~nmente en los lengnajes de h e s de datos comrrciales. TCrminos tales como select, project, joiu zmion co~npcctibl~ se originan en cl ilgehra rrlacional. Ademis. algunos Icn- guajes d e haws tle tlatos comerciales se basan en el Llgehra relacional.

El cilculo relational es importante por dos razonrs: (1) E s t i I~asado en la lhgi- ca formal tlrl cilculo tle predicados. clue es un m h d o poderoso d r determinaciOn cle la vertlad de una i n s t r u c c i h n part i r de la vertlad d e sns componentes. Consecnrntenwn- t r , el cilculo relational t i rn r nna fnndamt~ntacihn lhgicu tan firme como cualqnier len- guaje d e programacihn rsistente. (2) Varios lengnajes relacionales comrrciales es t in conceptualniente cw-canos a 61. St. rs tut l iar in algunos d e estos lengnajes en capitulos posteriores.

.-lml)os: el i lgehra rrlacional y r l riilculo rrlarional, en la manera en que rstlin for- mnlados por Cotltl y en la que se analizan en estr capitnlo, son lrnguajes trhricos. Esto sig- nifica clue estamos intert*satlos s d o en 10s asprctos conceptualrs del ilgehra y el c i l t d o rrlacional, no r n las im1)lementaciones rspecificas d e rllos. P o r tanto, s r r i hastante lihre e informal la drfiniciim y el uso tle la sintaxis. Si kstos fneran r ra ln~ente lenguajes comercia- les. como 10s que se rs tudiar in postrriormrnte en este lihro, se necesitaria ser m i s preci- so. Para ilnstrar 10s ejemplos a lo largo c k rste capitulcr se u s a r i la base de datos de la Figu- r a 6.1. Esta hasr d r datos s r toma d e la International Product Distribution, caso clue es el introducido en el Cayitulo 1.

~ l ~ e b r a relaeional

Las operaciones del iilgehra rrlacional manipulan relaciones. Esto significa que rstas operacicrnes usan una o dos relaciones existentea p a r a c rear una nueva rrlacihn. Esta nueva relaciirn purde entonces usarse como entrada p a r a una nueva operaciijn. Este poderoso conceptcr -la creacihn d e una nueva r e l a c i h a part i r d e rrlaciones rxisten- trs- hace posible una variedad infinita cle manipulaciones soln-e 10s datos. Eso t a m h i h hace considerahlemente m i s ficil la snlucihn d e las consultas, dehitlo a que se purde experirnentar con soluciones parcialrs hasta encontrar nna proposicihn con la que se t r a b a j a r i .

Page 193: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL ALGEBRA Y EL CALCULO RELACIONAL 177

CL IENTE SALDO SALDO

NOMB-CL IENTE DIRECCION PAIS INICIAL ACTUAL ID-CLIENTE

Watabe Bros Box 241, M a t l z l Sa l zbu rg J e f f e r s o n B 918, Ch Gomez San t i ago

Tokyo Japon 45.551 52.113 A u s t r i a 75.314 77.200

i c a g o USA 49.333 57.811 C h i l e 27.400 35.414

VENDEDOR

ID- VENDEDOR NOMB- VENDEDOR ID-JEFE

27 44 35 12 44

27 27 27

O F I C I N A

Chicago Tokyo B r u s s e l s B.A. Tokyo Chicago Tokyo B r u s s e l s B.A.

Rodney Jones M a s a j i Matsu F r a n ~ o i s M o i r e E lena Hermana Goro Azuma T e r r y Cardon A l b e r t I g e B r i g i t Bovary B u s t e r Sanchez

PRODUCTO

DESC- PRODUCTO ID-FABRICANTE

21 0 31 7 31 7 253

COS TO

1,25 2,25 3,55 0,60

ID- PROD

2241 251 8 1035 251 8 1035 2241 251 8 2249 2249 2241

PRECIO

2,00 3,25 4,80 1,20

a b r i g o lampara de mesa lampara de mesa e s c u l t u r a

VENTA

FECHA ID-CL IENTE

100 101 101 100 101 105 110 105 101 101

ID- VENDEDOR

10 23 23 39 23 10 37 10 23 23

CANTIDAD

2 00 300 150 200 200 100 150 50 75

250

FABRICANTE

ID-FABRICANTE NOMB- FABRICANTE DIRECCION

21 0 K i w i K l o t h e s 253 Brass Works 31 7 Llama Llamps

Aukland Lagos Lima

Nueva Ze landa N i g e r i a Pert)

El ilgehra rrlacional ronsta d r las siguientes nurvr operaciones: uni6n. intersec- c i h , difrrencia, producto, seleccih, proyectar, reuni6n. divisiirn y asignaci6n. Las cua- tro primeras de estas operacionrs sr toman cie la teoria de conjuntos de la Matemitica y que son considerahlrmente parrcidas a las operaciones encontradas alli. Esto es razona- hlr, debido a qnr las relaciones son en si misma conjuntos, de esta manrra se le pueden aplicar las operaciones de conjunto. Las cuatro siguientes son operaciones nuevas que se aplic:an especificamente a1 modelo de datos relacional. La idtima operaciirn (asignacih) es la ope ra r ib estindar de 10s lenguajes de computaci6n, de dar un valor a un nombre. En

Page 194: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

za43ugs Ja jsng 8 CSZ A ~ e ~ o g ~ r 6 r ~ g 6PZZ

361 JJaqIV LPZZ UOpJe3 A J J ~ ~ SE@ C

. ~ ' 9 e~nS!d el ~11pqa.1 e1 ua zaa e m 010s a . )a~ede s q g selsa al) eun epe,) o ~ a d 'ZY) ~ J I I % ~ el :)I) s ~ u o ! a e p ~ seqwe ua ue~ luanma as 'ZI d 'pp x ~ a g a ~ g h - a ~ J O ~ s e~~~~g! l r r ap ! ' s e ~ g s a ~ ~ 'c.9 d Z"S WJIIS!~

Page 195: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL ALGEBRA Y EL CALCULO RELACIONAL 179

interserri6n. Operacihn del iilgcbra rrlacional que crea un ronjunto interseccih tie tios rclacioncs uni6n- compatible.

VENDEDOR

ID- VENDEDOR NOML VENDEDOR

Rodney Jones M a s a j i Matsu F r a n q o i s M o i r e E l e n a Herrnana Goro Azurna T e r r y Cardon A l b e r t I g e B r i g i t Bova ry B u s t e r Sanchez

ID-JEFE

27 4 4 3 5 12 4 4

27 2 7 2 7

OFICINA

Ch icago Tokyo B r u s s e l s B.A. Tokyo Ch icago Tokyo B r u s s e l s B.A.

lab colunmas. Si rs t r PS el raso, sr dice clue las dos relaeioncs son unicin compatible. Olwia- mente, VEN1)EDOR-SUBOR1)INAUO ! VEKDEDOR-JEFE son unihn compatihle.

Se requiere la compatihilidad de la u n i h para qlw el resultatlo tle la nni6n sea una r e l a r i h . Si se toma la uni6n de CIJENTE y PRODIJCTO, se obtentlria un ronjunto. p r o no una r e l a c i h . Las filas en el ronjunto resultantr no tendrian columnas twmunes. d r este modo ellas no se agruparian en una tabla relacional. La compatihilitlatl tle la unihn es rla- ramente esencial para la o p e r a r i h d r uni6n. P o r la misma r a z h , es esencial para las ope- raciones d r interseccibn y diferencia.

La o p e r a c i h de interserci6n (n) permite identificar las filas que son comunes a dos rela- r imes . P o r ejemplo, si sr quiere identificar 10s vendedores que son suhordinados a alghn jefe y que son jefes, se toma la i n t ~ r s ~ c c i b n de VENDEDOR-SUBORDINADO j VEVDE- DOR-JEFE, llamando a1 rrsultado VENDEDOR-SUBORDINADCJEFE:

VENDEDOR-SUBORDINADO-JEFE := VENDEDOR-SUBORDINADO VENDEDOR-JEFE

Esto produce la siguiente relatihn:

VENDEDOR-SUBORDINADO-JEFE

ID- VENDEDOR N O M ~ VENDEDOR ID-JEFE OFICINA % COMISION

A l b e r t I g e 27 Tokyo 12 B r i g i t Bova ry 27 B r u s s e l s 11 B u s t e r Sanchez 27 B. A. 10

El resultado de una operacibn de interseccih es la r e l a c i h ronsistente e n todas las filas clue es t in en amhas relaciones. Esto significa que, si C es la in te r secc ih de A y B,

entonces C consta de aquellas filas que es t in en A y en B. A1 igual que antes, A y B deben ser unihn compatible.

Page 196: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

Diferencia

sustrarri6n. La operacibn diferencia tlel ilgel~ra relacional.

producto. Operarih tlel ilgehra relacional t p crea el producto cartesiano tle (10s relaciones.

La operacibn de diferenria (indirada por un signo menos) permite identifirar filas clue estin en nna relaci6n y no en otra. Suponga que es de lnteris identificar 10s jefes que no son subordinatlos tlc otros jefes. Entonces, se toma la tliferencia entre VENDE1)OR-JEFE

\ENDEDOR-SUBORDINL4D0, en rse orden.

VENDEDOR-JEFE-JEFE : = VENDEDOR-JEFE - VENDEDOR-SUBORDINADO

Esto protlure la siguiente relatibn:

VENDEDOR-JEFE-JEFE

ID- VENDEDOR NOME- VENDEDOR ID- JEFE OFICINA % COMISION

2 7 T e r r y Cardon Chicago 15

La diferrncia entre (10s relaciones se define como la rt4aci6n consistentt (le todas lab filas clue estiu en la primera relacihn y no ei t in tan la segunda relacibn. Asi. si

entonces m a fila r s t i cn C si y s61o si esti en A y no est i en B. Ohservr qne

A - B

Si se inlierte el orclen tie las r t h i o n e s usadas en el ejemplo anterior.

VENDEDOR-SUBORDINADO - VENDEDOR-JEFE

la relatihn resultante comistiria tle todos acjuellos vrnciedores qut no son jefes de nadir. lo cual es jnstanientc lo opuesto tle 10s vendrdores qnr no son tiirigiclos por nadie. Asi es qnr el orden de lad relaciones t:n m a operation tle diferencia ~s mny importante. Uua vez mis, a m l m rrlaciontas t1el)en ser unibn con~patil)le.

La operacihn dr diferentia p e d r tamhiin srr llamada operacihn tle sustracci6n. Esta operaciim particular rs muy valiosa en la solucibn de algunos problemas dificilrs, t p e dr otro motlo no se solucionarian. Se tlari un ejemplo a1 final de la disrusihn del Algebra relational.

Producto

La operacibn producto, qne ae indica por el simholo ", es valiosa como un l~loqur para la construccibn de una reunibn (join), qur es probahlemrnte la operacibn lnis importante en el Algebra relational. Es idhtica a la operacibn en matemiticas que crea el producto car- tesiano de dos conjuntos. ilhora se rxplicari q u i sipifica esto, ilustrrindolo con la opera- cicin d r producto en un ejemplo ahstracto muy simple.

Considerr las relaciones de la Figura 6.4(a). A )- B son relaciones de dos columnas que tienen 10s atrib~itos X, Y y W, Z, resprctivamente. El producto de A y B es C, que se mwstra rn la Figura 6.4(h).

Page 197: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL ALGEBRA Y EL CALCULO RELACIONAL

( a ) La r e l a c i o n A y B

( b ) E l producto de A y B

1. Concatenando los atrihutos d r las dos relacxiones. 2. Unirndo cada fila en A, con cada una d r las filas en B .

Esto siguifica clue 10s atrilbutos de C son todos 10s atrihutos de A y B juntos. Delji- do a clue A y B tirnen dos atrihutos cada uno, C t i rnr cuatro atrihutos. Las filas d r C se w e a n ensartendo filas de -4 y B juntas. Cada fila de A se corrrsponde con c-ada fila tle B . Asi. de1)ido a que hay t r ~ s filas en B, cada fila de A se corrrsponde t rrs vrces con B y rnton- ces aparece en t r r s diferentrs filas de C . Es facil v r r clue el numrro de filas d e C siernpre sera el n u n ~ e r o d e filas en A por el nnmero de filas en B.

Otro ejemplo usando la hasr de datos de la Figura 6.1 es si tomamos el producto d e PRODUCTO y VENTA.

P-V := PRODUCTO * VENTA

P-V tendria 10 columnas y 40 filas. Hay tin pequeiio pro1)lema en este caso, debido a que una columna en PRODUCT0 y una colunina en VENTA (ID-PRODUCTO) tienen el misrno nombre. Esto se resuelve rriodificando el nombre de la columna en cada caso, aiia- diendo el nombre de la relacicin original. Asi, en P-V be tienen columnas llarnadas PRO- DUCTO.ID-PRODUCT0 y VENTA.ID-PRODUCTO.

Esto parecr ser una aplicaci6n no natural para la operaciim producto. Eso significa clue 110 e s t i claro quC t i p de consulta se responde tomando el producto d r dos relacionrs.

Page 198: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

No d)st ;mtr , cwnlo sc krr.6. el protlurto sr usa twmo In oprraci6n tlc eonstrnrcihn dr un hlo- t p e par:^ la w~ ln ihn (joii~). Esto rs cc~ntq)tualmrntr im~lortantr ; por tanto. t r n d r i m a ;1111plia aplitwi6n inas ;~tlelantr r n cl ca1)itulo. 1 a n l l ) i h sc usa en rl lrnguajc tle rollsulta SQL. qut. rs ('1 ler~guajr wnlrrr ial relational mis inq)ort;~nte.

riclecci6n. 0prrac.iOn La o11rrac:ihn clr seleccihr~ s r usa para ( w a r una rrlncihn a partir d r otra rrlacihn. selrc- tlel Algrl)lx rrlac.io~~al c.ionantlo shlo aqurllas filas qur satisfacrn una c.ontlici6n esI)ecifica. Por rjrmplo, t:onsidr- I a I t o t l i t i r r la siguirntt. consults: Ijara srlrcriol~ar f'ilas t k una re lac ih~~. Consulta: Dar toda l a informacidn de 10s vendedores en l a o f i c i n a de

Tokyo.

Esto puetle so l~~t* ionars t~ selrt~cionantlo las filas tlr la rrlaciim VENDEDOR d r la Figura 6.1. sujrtas a la twndit:ibn dtb cjnr m a f i l l s r seleccio~la shlo si el atrihuto OFICINA rs i g ~ ~ a l a '"l'okp". Esto sr hare r n el algebra rdacional como siguc:

VEND-TOKYO := SELECT ( V E N D E D O R : OFICINA = 'Tokyo'

El nomlwr "VEND-TOlCI-0" st3 ha dtlfinido para identificar la rrlariim. La 11ala- I,ra (:lave "SELECT" sr nsa para intlicar qu r s r r s t i rcalizando una q1rraci6n d r srlcc- vi6n. A continuwi6n clr "SELECT" sr pone cmtrr parbntrsis r l non~hre d r la rrlacibn dt. la ma1 son srlrccionadas las filas. scguido por dos puntos (:), srguido par una condici6n dc s e l r t~ i6n . Esas filas qu r satisfacen la condici6n tlr srlcccihn s r r h srlrt.t:ionatlm y put:stast(:~~ la rt~lacibn rrsdtantc:. El rcsultado d r csta operaciOn d r srlrrcihn rs la siguicn- t r rrlacihn:

VEND-TOKYO

ID- VENDEDOR NOME- VENDEDOR ID-JEFE OFICINA % COMISION

14 Masaji Matsu 44 Tokyo 11 3 9 Goro Azurna 44 Tokyo 10 44 Alber t Ige 2 7 Tokyo 12

Las twndiciones d r srlrt-ci6n son esencialrnentr las rnismas c:ondicionrs usadas en las instrut:ciones I F en los lrnguajrs tradicio~lales de programaci6n. Sin rrnl)argo, 10s nomhres de columnas nsados en una condicihn de srlecci6n dada de1)rn ent:ontrarsr en la relatiOn nomhrada rn la operaci6n d r selerci6n. Ngunos ejemplos de condiciones tie srleccibn qur podrian usarsr con la relacihn VENDEDOR son:

ID-VENDEDOR = 23 NOMB-VENDEDOR = ' B r i g i t Bovary' ID-JEFE >= 20 not OFICINA = 'B . A . ' %COMISION < 11

Obberve que pueden usarse operadorrs de romparaci6n tales como "<" J. ">". Hay cinco operadores de comparaci6n: =. <, >,<=, >=. Pa ra rada uno de 6stos hay un operador rorrespondiente que usa el operador booleano "not". Asi, se tienr "=" y "not =", "<" y "not <" J. asi sucesik arnente. Tarnhi6n s r pueden usar 10s cwnectores hooleauos "andny "or". El oprrador "not" se p w d e usar para negar una condici6n entera. Estoh conceptos se ilustran en las consultas siguientrs.

Page 199: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL ALGEBRA Y EL CALCULO RELACIONAL

Consulta: iQue vendedores t i e n e n I D 23?

Solucion: SELECT (VENDEDOR: ID-VENDEDOR = 2 3 )

Resultado: ID- VENDEDOR N O M B VENDEDOR ID- JEFE OFICINA % COMISION

23 Franqois Moi re 35 Brusse ls 9

Consulta: Dar t o d a l a i n f o r m a c i o n sobre e l vendedor B r i g i t Bovary

Solucion: SELECT (VENDEDOR: NOMB-VENDEDOR = ' B r i g i t B o v a r y ' )

Resultado: ID- VENDEDOR N O M B VENDEDOR ID- JEFE OFICINA % COMISION

35 B r i g i t Bovary 27 B r u s s e l s 11

Consulta: iQuienes son 10s vendedores con un j e f e con I D mayor o i g u a l que 20?

Solucion: SELECT (VENDEDOR: ID-JEFE >= 2 0 )

Resultado: ID- VENDEDOR

10 14 2 3 39 44 35 12

NOMB- VENDEDOR

Rodney Jones Masa j i Matsu Franqois Mo i re Goro Azuma A l b e r t I g e B r i g i t Bovary Buster Sanchez

ID- JEFE

27 44 35 44 27 27 27

OFICINA

Chicago Tokyo Brusse ls Tokyo Tokyo Brusse ls B . A.

Consulta: Dar t o d a l a i n f o r m a c i o n sobre 10s vendedores, except0 aque- 110s de l a o f i c i n a de Buenos A i r e s .

Solucion: SELECT (VENDEDOR: OFICINA = ' B . A . ' )

Resultado: ID- VENDEDOR NOMB- VENDEDOR

Rodney Jones Masa j i Matsu Franqois Mo i re Goro Azuma T e r r y Cardon A l b e r t I g e B r i g i t Bovary

ID-JEFE OFICINA

27 Chicago 44 Tokyo 35 B r u s s e l s 44 Tokyo

Chicago 27 Tokyo 27 Brusse ls

Consulta: iQue vendedores t i e n e n una comis ion menor que 11%?

Solucion: SELECT (VENDEDOR : % COMISION < 11 )

Resultado: I D VENDEDOR N O M B VENDEDOR ID- JEFE OFICINA % COMISION

Rodney Jones 27 Chicago 10 Franqois Moi re 35 Brusse ls 9 Goro Azuma 44 Tokyo 10 Buster Sanchez 27 B. A . 10

Page 200: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

prott~cri611. Ol1rrari6n del B1gel)ra rrlacional cpir crra una rrlaciirn 1)orranclo rolurnnas dr m a rdarihn rxistrntr.

Consulta: iQuienes son 10s vendedores en l a o f i c i n a de Tokyo que t i e - nen una comis ion mayor que 11%?

Solution: SELECT (VENDEDOR: OFICINA = ' Tokyo' and %-COMISION > 11 )

Resultado: ID- VENDEDOR N O M B VENDEDOR ID- JEFE OFICINA % COMISION

M a s a j i Matsu 44 Tokyo 11 A l b e r t I g e 2 7 Tokyo 12

Consulta: i Q u i e n e s son 10s vendedores cuyo l e f e t i e n e i d e n t i f i c a d o r 27 o una comis ion mayor que 10%?

Soluci6n: SELECT (VENDEDOR: ID-JEFE = 27 and %-COMISION > 10)

Resultado: ID- VENDEDOR

10 14 3 7 27 44 3 5 12

NOMB- VENDEDOR

Rodney Jones M a s a j i Matsu Elena Hermana T e r r y Cardon A l b e r t I g e B r i g i t Bovary Bus te r Sanchez

ID-JEFE O F I C I N A

2 7 Chicago 44 Tokyo 12 B. A.

Chicago 2 7 Tokyo 2 7 B r u s s e l s 2 7 B. A.

Algunas d r las consultas usatlas para ilustrar la operacihn de se1rt:cihn prrgunta1,an "QuiPnt~s.. .", lo cual sugiere que 10s usuarios querian shlo los nomhres tle 10s wntletlorrs quc satisfarian la condic.ihn tie la consults. Sin emhargo, la respuesta a cada t-onsulta inclnia filas enteras tle datos toniatlas tle la relacibn \l:NDEDOR. tlelklo a qur la oprra- ci6n tle srlrccibn sirmprr se l t~c iona filas rnteras. Es t i claro qne sr necesita alguna inant.- r a de eliininar las c:olninnas no tlrseatlas. Si la operacibn de selecc:ibn pueclr prnsarsr como la rliniinari6n de 1;rs filas no drseat1;rs. la ol)rracihn tlr proyectar [)urde pensarse coino la eliminaci6n tle las columnas no tlesradas. La relaci6n resultante tlr uua ol~eracibn tle pro- yectar se 1l;lnia m a proyeccicin tlr la relacihn original.

A diferrucia tie otras oprrariones tlel Algebra relarional, la oprracibn d r proyrctar no rrquirre una palalwa t-law especial o sinholo. M&s hien, para t.rear una proyrceihn -una rrlarihn consistente sblo de ciertas columnas iclcntificadas de otra relacihn- sr lis- ta simplrmentr la relacibn original seguida tle 1as colnmnas qu r se cjuierm conservar encr- rradas rn t r r corchetes. Po r rjemplo, si se desea idrntificar 10s ventledores t k la oficina de Tokyo, se proyrctaria la rolulnna nombrr de la relacihn \XNDEDOR-TOKYO niostrada en la pigina 182.

VENDEDOR-TOKYO [NOMB-VENDEDOR]

Esto da la signirnte rrlacihn:

NOMB- VENDEDOR

M a s a j i Matsu Goro Azuma A l b e r t I g e

Se podria hailer escogido mas de una columna. Asi, si se quirre el ID, el Nombre y el Jefr de eyos tentledorrs se introduct.:

Page 201: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

VENDEDOR-TOKYO (ID-VENDEDOR, NOMB-VENDEDOR, ID-JEFE)

Esto (la el siguirntr resultado:

ID- VENDEDOR NOMB- VENDEDOR ID-JEFE

M a s a j i Matsu 44 Goro Azuma 4 4 A l b e r t I g e 2 7

Suponga que es de interks conocer todos 10s difrrentes porcrntajrs de comisi6n paga- dos a 10s vpdedores. Se puede ohtener esto proyrctando simplemente la rolumna Ti-COMISION d r la rrlaci6n VENDEDOR:

VENDEDOR [ % COMISION]

Esto da (11 siguiente resultado:

Observe qur cada tasa de comisih aparrcr s d o una vez, aun cuando distintos ven- dedores tienrn la misma tasa de comisi6n. D e l d o a clue una relacibn es un conjunto, llna tasa dada aparece s6lo una vez. Esto es una caracteristica importantr de la operacibn de proyectar. Eso automitic~amente eliniina filas duplicadas de la oprracibn resultante. Esto ademis ocurre cuando la relacibn resultantr consistr dr mis de una columna. Si cnalrs- quiera dos filas enteras en una rrlaci6n son idkntiras columns por columna, la fila aparr- ce s d o una vez en la relaribn.

La operaribn de proyectar presrnta una oportunidad mliy convrnirntr para mostrar r l anidamiento de operaciones en el ilgrhra rrlacional. Por unldumiento se rntiende la ejr- cuci6n de mis de una ope rac ih sin asignar explicitamente un nomhrr a las relacionrs intrrmedias resultantes. Por ejemplo, afiadamos una ope rac ih de proyectar a una de las ronsultas usadas para ilustrar la ope rac ih de selrcc:i6n:

Consulta: iQu ienes son 10s vendedores que t i e n e n una comis ion menor que 1 l%?

Solution: SELECT (VENDEDOR: % COMISION < 11 ) [NOMB-VENDEDOR]

Resultado: NOMB VENDEDOR

Rodney Jones F r a n q o i s M o i r e Goro Azuma B u s t e r Sanchez

En estr rjrmplo, la operaribn de selercibn se realiza primero seguitla por la proyec- cihn so l re la cwlunina NOMB-VENDEDOR resultante. Esto es permisible para anidar olwraciones del ilgehra relacional como se quiera, usando parkntesis doncle se neresite mostrar el ordrn de las operaciones.

Page 202: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

reuni6n. 0pc.raciOn tlel i1get)r.a rclacional clue conrcta rc~laciones.

reuni6n natural. Operac ih de reunlbn cpe ronerta relwiones ruando las rolumnas conlunes tienrm iguales valores.

La o p e r a r i h tie r e m i o n (join) se usa para I-onetatar tlatos a tra\bs de rc~lac.ioues -cpi7is la funcicin m i s i m p o r t a ~ ~ t e tbn twaltpier 11.1ipije de Imse (It, tlatos-. Existrn \ a r ias \ e r - sionvs: la rennicin n a t ~ ~ r a l ( n t l t w d join). la rrui1i6n theta (tlretcl join) ! la reuniim tbxternn (outer join). 1)e ;stas, la ieunicin natural es la m i s importantt..

Reuni6n natural. Consitirrr la reldeicin YEKT4 t1e la Figora 6.1. Esta rclac*ih~i almaw- n a c1 t'litmte, el vrndrdor y 1.1 l)rotlurto in\ olnt*ratlo en una t ra~~si~e ' t iOn de en ti^ par t iew lar, i n r l ~ ~ y t ~ n t l o 10s 11)s de rstos t r r s e le~n~ent t~s de tlatos. Esta inforn~arihn permitr h a c ~ r ront.xiones Ibgiras rritre las rt.lat.iones CLIEltTE. VKNUEDOK ! I'RODI'CTO. Yor rjemplo, suptmga que sta t p i t w n cwnowr 10s nomhrrs dt. los c.1ientc.s que ha11 hr rho voni- p ra r al ~ e n d r d o r 10. I'rimero. sc. srlwrionan acjuc4as l en tas al)licadas 4 1 0 al vtwledor 10 j se pontbn entont.t'i en una relwihn cjue se llama VENTI-10. Esto (la la siguientc* re- larihn:

FECHA ID-CLIENTE ID- VENDEDOR ID-PRODUCT0 CANTIDAD

Entonwr se pueele ohtent-r la 1nhrmat.i6n deseatla reuniendo las relat*iont.s \ EA- TA-10 y CLIENTE. Esta operarihn procwlr romo qigue:

1. S r crea el produt.to tlv VENTA-10 CLIENTE. Se ohtirnt- m a relarihn con 11 cdumnas (5 d e VENTA-10 y 0 de CLIENTE) y 12 filas ( 3 en \'EN?'.\-10 * -3- en CLIENTE).

2. Tcrtias las filas d r esta relaci6n protlurto se eliminan, exrepto aquellas en las calla- les el ID-CLIENTE tlr VENTA-I0 es igual a1 ID-CLIENTE de CLIENTE. El resultatlo r s la relatihn mcrstrada en la Figura 6.5. Ohserve q u r hay dos colum- nas ID-CLIENTE en la relacibn y clue en ( : a h fila 10s valores r n rstas 110s t:olum- uas son idtnticos.

3. 1)ehido a clue las dos columnas ID-CLIENTE contienen idtntica informari0n. uria dt: ellas purde eliminarse. Esto resulta en la reuni6n natural ( n a t r ~ r u l join) de VENTA-I0 y CLIENTE; rnostrada en la Pigura 6.6.

Por suvuesto, se h a obtenido mucha m i s informaci6n clue shlo 10s nomhres de 10s rlientes. Si se quieren sblo 10s noml~res se tendria que proyertar la rolumna NOMB-CLlENTE d e la relaribn tie la Figura 6.6.

FECHA IKCLIENTE Ic VENDEDOR ID-PRODUCT0 CANTIDAD

SALDO SALDO ID-CLIENTE NOMB-CLIENTE DIRECCION PAIS INICIAL ACTUAL

100 Watabe Bros Box 241, Tokyo Japon 45.551 52.113 105 J e f f e r s o n B 918, Chicago USA 49.333 57.811 105 J e f f e r s o n B 918, Chicago USA 49.333 57.811

Page 203: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL ALGEBRA Y EL CALCULO RELACIONAL 187

FECHA ID-CLIENTE ID-PRODUCT0

ID-CL IENTE NOME-CL IENTE DIRECCION

100 Watabe Bros Box 241, Tokyo 105 Jefferson B 918, Chicago 105 Jefferson B 918, Chicago

CANTIDAD

200 100 50

SALDO SALDO PAIS INICIAL ACTUAL

Japon 45.551 52.113 USA 49.333 57.811 USA 49.333 57.811

Quizis una via m i s fLcil para ver qn6 sucede en m a reunihn es silnplemcmtc* mirav c.1 prowso cromo una t a l h de cwnsulta (tc~ble lookup). Para ratla fila en la r c h i 0 n \.-Es- T:i-10, se busc*an las filas VII la rcblarihri CLIENTE clue tengari el mismo valor para 11)-CI,lEYTE. Drl)iclo a c p A 11)-CLIENTE c s la clavr tle CI,lKRIrI'E y conlo la h a w tle tlatos cwnple la in tcy idad referenrial, hahrh siempre exactaniente m a fila tle ese tilw. Asi, dehido a (111~ hay originalnlmte tres filas en la r e l a c i h \/EN'I'.4-10. reunirntlo la rcbl;r- ciOn (ILIENTE a VENTLA-10 se crea nna relacihn cjue tamhibn tienc trvs filas. St* ha e\.pall- dido simplemente racla fila cle VENTLA-10. aiiatlicwtlo toda la informaci6n tlisponil~le sol)re el cliente involucndo en la venta.

La opera(& dc. reunibn natural e n este ejemplo se escritw cwmo sigt~e:

JOIN (VENTA-10, CLIENTE)

La definicibn general cle la reunibn n u t u r d es c.omo sipw: Se asume clue se qulere tomar la reunibn natural de dos relaciones, A y B, las (wales tienen las cdumnas C l ...., Cn en romun. Entonres JOIN (A, B) se ohtic.ne a travC.5 de estos tres pasos:

1. Torrw el proclueto cle A y B. La relaci6n resultante tentlri clos columnas para cada C l , . . . ,Cn.

2. Elimine todas las filas clel produc.to, exwpto acluc4las en las cuales 10s valores de las cdumiias C1, .... Cii cn A son iguales. respectivamente. a 10s valores de esas rolumnas en B.

3. Proywtc una copia de las columnas C l ,. . . ,Cn.

P a r a la mayoria de 10s ejemploi, las tlos relaciones que est in siendo re~miclas t e n d r i n sblo una cdumna en con~un. Sin rnitrargo, como muestra la definicibn general. si dos relaciones tienen mhs tle una cwlumna en corni'n. entonces la reunibn depentle de la ignal- (lad tle 10s valorvs en todas las columnas comunes. Se indira clue siA tiene k columnas y B tien? rn cdumnas , entonces la re~lnibrl natural de A y R t e n d r i ( k t m - n) columnas, don- cle 11 es el n i~mero tle (-olumnas que 4 ) R tienen en comun.

411ora be i lustrar i el uso y el lrocler de la reunibn (join) con varias cwusultas simplrs.

Consulta: A d j u n t e l a i n f o r m a c i o n de l a s v e n t a s a l a i n f o r m a c i o n s o b r e 1 0 s vendedo res .

Solucion: JOIN (VENDEDOR, VENTA)

Resultado: Ver Figura 6.7

Page 204: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

ID- VENDEDOR NOME- VENDEDOR ID-JEFE OFICINA % - COMISION

I0 I0 10 23 23 23 23 23 3 7 39

FECHA

28/02 05 / 02 14/02 12/02 15/02 02 / 02 01 102 04 / 02 22 102 19/02

Rodney Jones Rodney Jones Rodney Jones Franqois Moire Franqois Moire Franqois Moire FranFois Moire Franqois Moire Elena Hermana Goro Azuma

ID-CL IENTE ID-PRODUCT0

2 7 Chicago 27 Chlcago 2 7 Chicago 35 Brussels 35 Brussels 3 5 Brussels 35 Brussels 3 5 Brussels 12 B.A. 44 Tokyo

CANTIDAD

Es rsrnrial~nrnte la misma ronsulta qur en d r j rn~plo antrrior. ra r rp to t p r m rstv raso sc ha usaclo la rrlaciOti VEN1)EI)OK r n lugar tlr la rrlari6n CIJENTE. Sr (la estr rjrmplo para ilustrar otra forma d r vr r la reunibn Cjoiu). En estr caso, la ronsulta indiva- (la c:omiruza hasrantlo r n la rrlariOil VENDEDOK y pregunta pi. inforn~at.icin sohrr las vrntas r s t i ligada a las filas de rsta rrlacihii. Como varios vrndrtlorrs purclrri tenrr n ~ i s rlr una vrnta y otros ninguna, nos mcontramos (pie ]as filas para algunos vrntlrdorrs r s t i n r r~wt idas varias vrrrs , n~i rn t ras qur las filas para otros no ayarrcrn sirmpt-r. Murhas per- sonas pimsan cIur algo st. pierdr r n un teaso como kstr, dondr 10s vrndrdorrs q ~ l r no tirilen vrnt;is r n la h s e tlr tlatos no apa r rwn r n el resultado de la rennicin natural. La relrni6r1 externo (outer join), qur sr analiza postrriornlrntr, sr ha drfinido para t ratar rstr pro- hlrma.

Solucion: A := CLIENTE [ID-CLIENTE, NOMBRE-CLIENTE] B : = JOIN (VENTA, A )

Resultado: 0

FECHA ID- VENDEDOR ID- PROD

2241 224 1 2249 251 8 1035 1035 2249 2241 251 8 251 8

CANTIDAD

200 100 50 300 150 200 75 250 150 200

ID -CL IENTE

100 105 105 101 101 101 101 101 110 100

NOMB-CL I E N T E

Watabe Bros Maltzl Maltzl Watabe Bros Maltzl J e f f e r s o n Gomez J e f f e r son Maltzl Maltzl

Page 205: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL ALGEBRA Y EL CALCULO RELACIONAL 189

En estv cbjemplo no se proqwt0 la infornlircihn no drseada tlr CLIEhTE ant(,. tle hat-el- la rcwnidn (.joirt). La rrspnclsta a la twnsnlta se encnentra en la r e l a t i h qu(, ~ l r ha noni lm~do R. Ohserve qnr la colunma ID-(:LIENTE de la relacihu \I EADEDOR sr twuii- tlera nna coluimna rc~tl~ul(lante se ha t4iininado.

Consulta: D e 1 0 s nombres de 1 0 s c l i e n t e s que han comprado e l p r o d u c t o 25 18

Solucion: A := SELECT (VENTA: ID-PROD = 2 5 1 8 ) B := J O I N (A , CL IENTE) [NOMB-CLIENTE]

Resultado: B NOMB- CL I E N T E

M a l t z l W a t a b e B r o s Gornez

La solwihn ( ~ 1 rs t r ejemplo primcw cr ra m a rrlac.1611 VENT4 rrtluvitla, ponicmtlo en la rt4acicin A shlo aquellas tentas t j w intolut*r;rn r l produeto 2,518. Entonces i e hare la reuni6n de rsta rrlati6n con la relaci6n CLIENTE I, se p rqe t ' t a NOMB-CLIENTE. tlejan- do d rt.sultado tleseado rn la relacihn B.

La operaci6n (It. s r l r t ~ i h n podria halwr sido especifit-ada tlc s r g u n d ~ en lugar tit. p i - i n r r ~ . En ese c a w la solwihn hallria sido:

A := J O I N (VENTA, CL IENTE) B := SELECT ( A : ID-PROD = 2 5 1 8 ) [NOMB-CLIENTE]

Esta solucihn es IOgican~rntr eqi~ivalrnte a la priinrra soluci6n. Eso significa tlne amllas solucionrs d a n el m i m o resultatlo. Sin embargo: normaltiientr sc prefierr la prime- r a soluci6n porqnr s r t:jccuta inucho inis r ipido. Esto es dehitlo a q u r la rrlaciim A en la prinirra soluci6n rs mucho inis pequeiia que la relaci6n VENTA4. P o r lo tanto se requrri- r i m unas p c a s comparaciones m i s para completar la renni6n. Coino rc>gla. es m i s efi- ticwte realizar oprrat+mrs tales como la reuni6n. la cual requirrr nuinerosas coinparatio- nes, despu6s tlr ol~rraciones qne rrtlucen el numero dr filas a comparar, tales conlo la seleccih. P o r silpursto. esto rs posihlr d o si hay m i s de una soluci6n vilitla 16gic.a- inente.

Consulta: LQuienes han comprado lamparas de mesa?

Solucion: A B C

Resultado:

NOMBCL IENTE

Watabe B r o s J e f f e r s o n M a l t z l

= SELECT (PRODUCTO: DESCRIPCION = ' l a r n p a r a d e mesa ' ) = J O I N (A, VENTA) = J O I N ( 6 , CLIENTE) [NOMB-CLIENTE]

E n erte ejemplo se debe seguir un camino l6gico d e d r "llimpara de mesa" en la rela- ci6n PRODUCT0 hasta NOMB-CLIENTE en la relacibn CLIENTE. P a r a hacer esto, w itlentifican totlos 10s productos 1Ainparas de mesa y se sigue entonee? el camino destle PRO-

Page 206: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

DIJCTO a VENTA hasta CLIENTE. Esto retjuirre la reuniOn tle trcs relaciones. Se ha 11ccho rsto r je tu tan~lo la o1)eracih de reunibn tlos veers. Como d o r+ de intcrts ot~tener el nonihre del vliente. eu el llaso final no se proyet-tan todas la- otras colunmas.

Consulta: i Q u e v e n d e d o r e s h a n v e n d i d o p r o d u c t o s m a n u f a c t u r a d o s e n P e r u ?

Solution: A : = SELECT (FABRICANTE: PAIS = ' P e r u ' : ) B : = J O I N (A, PRODUCTO) C := J O I N ( B , VENTA) D := J O I N ( C , VENDEDOR ) [NOMB-VENDEDOR]

Resultado:

NOMB- VENDEDOR

Rodney J o n e s F r a n q o i s M o i r e

Esta consnlta es escntialmente la ~nisma clue la consulta anterior, 5610 tluc el camino desde el j)aii tle fabricatihn a1 \endedor rs m a relaciirn mhs larga. Dt* estc moth, se delmi ejet.iitar trt.9 reuniones llara twnectar c-uatro relaciones. Una de las relac-iones intcriiietlias tendrh 16 columnas. p r o del,icio a clue 10s atrilmtos dc inter& son pais J nomhre del \en- dedor. se pueden ignorar 10s otros a t r i h t o s . La relacihn final D tentlri . sin embargo. s61o m a colunina siniple. coma he muestra en la solnt*ihn anterior.

Reunion theta: Consitlere la siguiente ronsulta.

Consulta: I d e n t i f i q u e 1 0 s v e n d e d o r e s c u y o s j e f e s o b t i e n e n u n a t a s a d e c o m i s i o n p o r e n c i m a d e l 11%

Todos los datos necrsarios para resolver rsta ronsulta est in contenidos en la rrlacihn F7ENI)EDOR. debitlo a que tsontiene 10s datos sobre todos 10s vendedores -:rqnellos clue son jefes ! atjnellos que no lo scrn-. Sin emhargo, esta t-onsulta no purde resolverse con una simple operat.ihn de select*i6n, porque la tasa tle comisihn en 10s registros tle 10s ven- dedorcs se aplican e 10s vendrdorcs v no a los jefes de 10s \endeclores. Pa r a obtener la tasa tlc comisiirn (11, un vcndetlor jefr. se t l e h n reunir 10s rrgistros de 10s jefrs tm la rrlaeihu VENIIEDOK con 10s registros de vendrdores. Esto significa qur se dt:l)e rrunir ( joir~) la relacihn YENDEDOR con ella misuia. Entoncwl s r tendrii la tasa tle twmisi6n tlel ;eft. tm la rnisma fila qne t.1 nomlre del ventledor y puctle wmpletarse fhcilinentr la solucihn tle la twnsulta.

Por rjemplo, la primera fila de 1-ENIIEDOR contime informacihn s o l m Rodney .Jones. Como se puedr ver, el ID de sn jrfr r s 27 . Este es el ID-VENDEDOR para Tvrry Cardon. lwr tanto es el jefe de Rodney. Dr1)ido a clue su tasa de comis ih r s el 15 por 100. el jefe tie Kotlney Jones rr t ihe mhs del 11 por 100 de comisiim y Rod~iey Joncs rs p r t e de la solucihn tie la col~sulta. Haciendo la rrunihn d r IXNDEDOR con rlla misma. se r)nt.tle unir el registro tlel jefr a eatla registro de v d e d o r e s y br puede usar nna instrncri6n dc sc~le t~ ihn en esta rclarihn para resolver la ronsulta.

Pero i.t.hn10 hacer la reunihn de uila relacihn con elia niisma? No se puede m a r la reunihn natural de l ido a qne Csta se hasa en la igualdad de todm las t:oluninas comunes en las tlos rrlaciones clue estan rrunibndose. Si amhas relaciones en la oprracihn tle reunibn son la misma relacihn. entoncrs totlas las colnmnas se r in 1:omunes a las dos r r la thnes y la reunicin (join) careceria de sentido.

Pa r a resolver este prohlrma se define una nueva versihn d r la reuniirn. Esta ver- sihn permit ir i esperifivar una eondici6n para la reunihn tie filas. La siguiente soluciim ilustra esta uueva versihn tlr reunihn, despuCs de la t3reaciGn de dos copias de FEN- DEDOR:

Page 207: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL ALGEBRA Y EL CALCULO RELACIONAL

VENDl := VENDEDOR VEND2 := VENDEDOR

A := JOIN (VENDl, VEND2 : VEND1.ID-JEFE = VEND2.ID-VENDEDOR)

La illtima iii5trnrri6n niueitro la n w \ a ~ e r s i 6 n de r e n n i h . Los tlos puntos seg~utlos tlr la cwndicihn derlaran que lai Mas s e r i n r twn~t l ,~s si el ID-JEFE de la primera es i g ~ d a1 ID-IENDEDOR de la segnntla. Eu otrai palalwas. i e estrin unientlo a las filas tle lo\ \rntletlorc.s la fila (pie contieur inlormatihn sol~rcb su jc4.. Esto se inue5tra en la Fignra 6.8. Note 11ne no tsxistt. m a f ~ l d t[ur niuritrr a Tt,rr? ('artlon (*on 511 jefe. Esto 5e debe a qne Terr) (:artloll no tivnt. ~ r f r . t irnr un \a lo r uulo en la t d n m n a ID-JEFE. Sin en~hargo. i n fila a ~ ) a r e w t'orno nil j c f i ('on t n ~ ~ c h o s otroi \t.ntlt~tlort-s.

Ailn no sr ha trnnlnatlo con rsta c.onsulta. Sr t l ( ~ l ~ ~ t o d a ~ i , ~ itlrntific.ar acjnellos l eu- tledores wyos jt4.s recibrn una tasn tlr t . t ,n~~sihn t p t L t . x t ~ t l ( ~ (.I 11%. Se pnede terminar Id

wnsulta nsando simplenirntr lCi o ~ ~ e r ~ i t i 0 n tlr seltw*iOn en la r d a t i 0 n I:

B := SELECT (A : VEND^ .%-COMISION > 11 ) [VENDI . NOMB-VENDEDOR]

B VEND 1 . NOMB- VENDEDOR

Rodney Jones M a s a j i Matsu Goro Azuma A l b e r t I g e B r i g i t Bova ry B u s t e r Sanchez

VEND 1 . I D VENDEDOR

10 14 23 3 7 39 4 4 35 12

VEND2. I D VENDEDOR

2 7 4 4 3 5 12 44 2 7 2 7 2 7

VEND 1 . N O M B VENDEDOR

Rodney Jones Masa j i Matsu F r a n q o i s M o i r e E l e n a Hermana Goro Azuma A l b e r t I g e B r i g i t Bova ry B u s t e r Sanchez

VEND2. N O M B VENDEDOR

T e r r y Cardon A l b e r t I g e B r i g i t Bova ry B u s t e r Sanchez A l b e r t I g e T e r r y Cardon T e r r y Cardon T e r r y Cardon

VEND 1 . ID- JEFE

27 44 35 12 4 4 2 7 27 2 7

VEND2. ID- JEFE

VENDl . O F I C I N A

Ch icago Tokyo B r u s s e l s B. A. Tokyo Tokyo B r u s s e l s B.A.

VEND2. O F I C I N A

Ch icago Tokyo B r u s s e l s B. A. Tokyo Ch icago Ch icago Ch icago

VEND 1 . % COMISION

10 11

9 13 10 12 11 10

Page 208: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

reuni611 extcrna. Expansi6n de la reuniOn natural qnc. inc*lr~!e todns las fila- de an l lw relationes.

, Ol~sei-+e t p e se t w o t p e eipecifirar \. E N D ~ . % - c O M ~ S I y no \/El\tUl.%-COMI- SlOh. El pr in~ero rontiene la tasa tle t~)inisihn dv loi jefki, rnientras qne el i~ltiiuo rontie- w la tasa tlr con~isibn d r 10s ventledores.

1,a rell11i6n theta (thetcl joir~) rs una rt.nni6n ron una rondiri6n c*iperiSic~a tpir inr o- lncra a nna cohnnna de vada rrlacihn. Esta t~ontliribn rspetifira cpe lab cios cwhimnas dehrrian twnpararie d r alguna f'orma. El oprrador dr twmparac.ihn prirtle icr cualqllir.ra tle 10s scis:

I,a manvra g t ~ ~ e r : ~ l tle exprclsar tbito e i cjw la rtwnihn theta tointh la fornia

JOIN ( A , 8 : X S Y )

don& il y R son las rt4u:iones tine srrhn re~~ni t las . X y I- son las t:olnrniias tlc las tlos rrla- ciontbs 5 1:' letra gi-icga 6 es 11110 dtb 10s iris operatlores cle t ~ o ~ n p r a t ~ i h i ~ relarionatlos ante- rionnente.

El ejrnlplo illistra la r e n n i h theta. donde el o p r a d o r de romparaciOn es "=". Esta reiinibn tan11)ii.n st. llama eqnirremii6n (ecjuijoin). Las rtwniones usando 10s otros opera- tlores tan1l)ii.n son necrsarias para alg~inos prol)lemas. Posteriormeutt. en estr t q i t u l o sr ilustra un caw.

Como una nota final. sr intlica clue la r t m n i h theta no se 1);lrere a la r run i i~n natu- ral. portIw no inc*luyr la eliiiiinatihn tlr lina o 111lis t:olumnas (wmo paso final. Eu otras palabras. s i A tienr k c d ~ ~ m n a s y R t ime rn rolumnas. entoncw la rtwnibn tlwta cle A y B tendr i k + m twll~rnnas.

Reuui6u externa. Se +vri nuevanlentr una ronsulta distwtida anteriormrnte:

Consults: A d j u n t e l a i n f o r m a c i d n de l a s ven tas a l a i n f o r m a c i d n sobre 1 0 s vendedores .

JOIN (VENDEDOR, VENTA)

El res~dtado tle esto se mostr0 en la Figura 6.7. Sin embargo, estv resnltatlo no (,s satisfat-torio, poi-que la intencibn de esta ronsulta

es rnostrar todos 10s vc~ntletlores junto ron sns wntas. Por tanto: no se puede usar la reu- nibn natural si se desea listar 10s wndedores cjue no han tenido \rritas junto con aquellob (jue han tenitlo. La re~inibn externa rernedia este pro1)lema.

La reoni6n externa extientle la r rnn i i~n natural, asegurlindose clue vada registro d r amhas relaciones sea listado en la r r l a c i h reunida ( j o in relutiou) a1 menos una vez. La rennih i externa ronsistr tlr (10s pasos. Pi-imero se r j rruta iina reunibn natural. Entonctxs si nn registro en una relaribn no se corrrsponde con un registro de la otra relacihn en la remlibn natural, esc* rrgistro se aiiade a la rrlacibn que ha sido rennida y las columnas adi- cionales se 1lt:nan con valorrs nulos. Esto sr ilustra para el prohlema actual en la Figu- ra 6.9. Esta relacibn c,s el resaltado de la siguiente operacibn:

OUTERJOIN (VENDEDOR, VENTA)

Algunas veriiones dr SOL. tales como Oracle. pern~iten liacer nna reunibn exter- na. Alinque la nrcesidad de esto es menor, se ha visto que hay orasiones en que esto es de- seahle.

Page 209: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL ALGEBRA Y EL CALCULO RELACIONAL 193

tli\ isi6n. Operaciirn tlel ~~~~~~~a relac~onal clue crea una nne\a rclacihn. srlecc~onantlo lai filas en una relav~hn qur sr corrcspondcn con todas lai hlas cn otra rrlacibn.

ID- VENDEDOR NOME- VENDEDOR ID-JEFE OFICINA %-COMI~ION

10 10 10 14 23 23 23 23 23 3 7 39 27 44 35 12

FECHA

28 102 05 / 02 14 /02

12 /02 15 /02 0 2 / 0 2 01 102 04 /02 22 /02 19 /02

Rodney Jones Rodney Jones Rodney Jones Masaj i Matsu FranGois Moire FranGois Moire FranGois Moire FranGois Moire FranGois Moire Elena Hermana Goro Azuma Terry Cardon Alber t Ige B r i g i t Bovary Buster Sanchez

ID-CLIENTE ID- PROD

27 Chicago 27 Chicago 2 7 Chicago 44 Tokyo 3 5 Brusse l s 35 B r u s s e l s 3 5 B r u s s e l s 35 Brusse l s 35 Brusse l s 12 B.A. 44 Tokyo

Chicago 27 Tokyo 27 B r u s s e l s 27 B . A .

CANTIDAD

Consul ta: L i s t e 10s vendedores que ban vendido todos 10s productos

Nuestra simple l m e clc datos rontiene ruatro produrtos diferentes con 11): 1035. 2241. 2249 y 2518. Un vencledor satisface la consnlta si Pl o ella han vencftlo rada uno de estos produrtos a1 nlenos una vez. E n otras palabras, para cacla uno de estos protluctos tletw haher a1 rnenos tiua fila en VENTA clue wntenga el ID-VENDEDOR de este T rntlr- (lor. Una consulta cwmo k t a pnede solurionarse usando la operaci6n d i v i s i h (divide) tlrl i lgehra relacional.

La palahra clave en esta consulta es todos, debido a que se requiere qne para cada bendedor se examinen las filas de VENTA hasta que se haya encontrado si ese vendedor ha leudido todos los produrtos. El requisito aqui es diferente a aquefos desrritos anterior- mente. clehido a que en aquellos caws se podia t rabajar con una o dos filas a1 mismo t ien- LIO en la realizaci6n de la o p e r a c i h . La operaci6n de t l ivis ih requiere mirar una relaribn entera de una vez.

i,COmo resolver esta consulta? Se seguiri un procedimiento rerrano a1 que se usaria lntuitivamente y se mos t ra r i r6mo la operaci6n de divisi6n se rorresponde con este proce- tllmiento.

Esta serrihn put& omitirse sin perder la continuidad.

Page 210: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Ohciamentc. si stb q u i t ~ e ronowr si nu ventletlor ha vrntlido to(loh 10s p . o t l ~ t ~ o s . sr delw o1)trut.r una relacihn ijntt listc. totlos lob protlnc-tos. La i-rlacii~n PR0DITC:TO rs tal rrlacihn. Sin rn~ l~a rgo . t.11 otras rrlationrs. un produrto sr itlentifica 5610 por la twl~uunn c l u w . no por una fila romplrtn tlr la rrlacihn PRODUCTO. ,lsi. la rlakr ir prrst.ntd twrno r l p ro t l~u~ to . El 11rinlt.r 11aso entontw tbs o l~ t rner una rrlacihu twnsistcnte tlel atrillnto (.la- vc para totlos 10s 11rotlut.tos rti la hasr tlr tlatos. Sr har r ~ s t o 11royrt.tantlo PRODIrCTO en ID-PROI):

PI : = PRODUCTO [ID-PROD]

4 4 , PI rs nna rrlatihn t p r contirnr totlos los \.;llorrs tle 11)-PROD. Srguitlamrritr sr dvhr o11trnt.r utia relatihn (lor conttbnga totias 121s instanvias tlontlv

un vtwletlor J 1111 p r o t h t o r i t h jluitos rn una 6nic.a vrn t ;~ . Esto sc. h ; ~ w th-anirnt t . pro- yrc-tando la rel;1ci6n \ ERT-1 tbn ID-PROD e ID-VENDEDOK:

PI-VI := VENTA [ID-PROD, ID-VENDEDOR]

Una instanria rn PI-VI twnsistv en un 11)-PROD y un ID-VENDEDOK y signifira clue rl protlnc.to rrpresentadtr por ID-PROD fur \rntlitlo por el vrntlecior reprcwntatlo p r 11)-VENDEDOR. Po r tanto. PI-VI consiste tlr todas las coml~ii~acionrs 11roductoIcr11- drdor, tlonde r l vrntlt.tlor ha \entlitlo rl protlurto.

El rrsultatlo tlr ostas tlos pro~et.riones (-5 romo sigue:

ID-PROD

PI-VI

ID- VENDEDOR

10 2 3 2 3 39 3 7 10 2 3 2 3

ID-PROD

2241 251 8 1035 251 8 251 8 2249 2249 2241

Ahora simplrmrnte 5e nwesita deterniinar si ratla vendrdor rrpresrntado r n PI-VI se asoria con rada ID drl produt.to en P I . Estcr sr h a w automiticamente con la operaciirn dr div is ih :

A : = PI-VI 1 PI

con el resultado:

A ID- VENDEDOR 23

Esto prohablemente parere migiro. Sin rmbargo. no r s asi. tltabido a (pie sr twrres- ponde simplemrnte con la definiciirn de d iv i s i h en el ilgehra relarional. Seguidamente se

Page 211: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL ALGEBRA Y EL CALCULO RELACIONAL I 9 5

(la una descripri611 general de la cye~~aci i ,n . St. asnmr clue A , B !. C soil rc.lwiones 4 se tlesea divitlir B por C , dando i conlo reinhado.

1. Las colnmnas (lc (: tlc.l)c.11 ser un sut)cwnji~nto clc las c~olunnias tle 8. 1,as colun- nas dr A son todas ) d o q u e l l a s cotumnas de B (pie no son cdnrnnds de (;. \otv qne t+to sc ( * o r w ~ p n d e con el rirniplo anterior. Lai columnas tle PI-1 I w n ID-PROD (, ID-VENDEDOR. mwntras (pie la c~olinnna tle PI es ID-PROD \ la t d u ~ n n a tlr 4 es ID-1 EhDE1)Olt.

2. [Tna fila sr enc*nentra en 4 51 y s d o si r s t i asociada en B con catla fila tit. (,'. Lsto tanhibn se corresl)onde con el ejeinplo. t1cl)itlo a cpe una fila de I (11)-i E\DE- DOR = 2 3 ) e s t i asociada en P I 4 1 con totlas las filas de PI ) c5 '1(1(&s el ii~llco ID-\ ENDEDOK asoriaclo.

La operari6n divisi6u es la opuesta clr la olwrati6n ~~~~~~~~~~to. Es ficil ~ e r i f i c a r (pie si una relac.ihn es el produrto tle dos re1aciont.i B ! C. et~tont-rs sc pnetle ohteller B. ( h i - clientlo el protlncto por C . IGto es:

Esto explic-a, por 111 analogia con la aritnii . t ic~~ c~)rriente. por qiii. sc ha llamado ope- raciOn de divisi6n. (:odd la incluy6 r n el i lgrhra relacional para yroporcionar la capaci- (lad n e c ~ i a r i a para el cuantificatlor universal clel t.ilrulo relacional. Esto se tliscutiri 1)o.s- trriormriite. En t h n i n o s 1)ricticos. la operaciim de divisi6n se prol~ortioni) para que se p ~ i d i r r a n solucionar ronsnltas quc' involuc-raran "rada" o '.todo" cwno parte ile la roncli- ci6n. En r l ejeniplo quc sc ha cliswti~lo, la ronsulta fue:

L i s t e 10s vendedores que han vendrdo todos 10s productos

Conlo se ha visto, la operaciOn tle tli\ihihn fur rsenrial para la solnri6n tle esta roil- sulta.

asignaci6n. O p r r a c i h A lo largo de e i t r c.apitulo se ha estaclo usando la operariim tle asignacibn para clar n o n - dcl algcln-a rclacional l r e s a relacionea. Por eiemplo, en la instruccihn

el nomhre A se asigna a1 resultado cle la oprraci6n de selecci6n. Este simholo '-:=" significa "es el nomhre asignado a".

Un ejemplo adicional

El ilgebra relacional es extraordil~ariamente poderosa en su flexibilidad y rapacidad para iolurionar un gran numero tle problemas. En eqta serci6n se da un ejeniplo tle un proble- ma clue puetle resolverse niarido el i l g r l ~ r d relacional, aunque es posible no \ er firilmen- te la soluri6n a pnmera ~ i s t a . La soluciim implica el uso de operaciones tie1 Algebra rela- cional en formas cwativas.

Consulta: iCual es la maxima tasa de comision?

La dif'icultad inmecliata con este prohlrma r s clue yarecr clue no se tiene uria forma de cornparar todos lob valores en la columna ta.a de winisi6n para determinar cwil es mayor. Es necesaria la romparari6n entrch filai; por tanto, la operac'iOn de selerri6n no

Page 212: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

funcionarii. clebido a que rlla se aplica a1 mismo tiempo a sblo m a fila. Sin embargo, la rruni6n thrta (join theta) permite a1 menos la compa rac ih d r dos filas. Se u sa r i en la reu- nibn de una relari6n con rlla misma.

A := VENDEDOR [%-COMISION] B := A C := JOIN ( A , B: A,%-COMISION > B.%-COMISION)

El rrsultado d r rsta r e u n i h es como sigue:

~ C 6 m o se p e c k usar esta relaciim para resolver r l problema? Si se rxaminan las columnas separadarnente. se drscubre un h r c l~o importante. La columna izcluierda, A. 96-COMISION contkne todas las tasas tle comisibn, excrpto la menor. y la cohmna derr- cha. B. 9%-COMISlOK, contirne toclas las tasas de comisibn, excepto la mayor. Esto nos lleva a la solucibn del problenia. Restundo el conjunto de tasa d r comisibn en la rolumna d r r r rha del conjunto d r todas las tasas de comisihn, se tiene la mayor tasa cle comisi6n7 conlo rrquiere la consulta.

la mayor Y A contiene todas las tasas de comisibn. Su difrrencia. E. contirne 410 la nlavor , . tasa cie comisibn y es por tanto la solucibn a la consulta.

Del~eria ser claro ohtener la tasa cle comisi6n minim?, s6lo rs necesario sustituir la columna A . 70-COMISION por la columna B. '3- COMISION en la drfinicicin de D. El res- to tle la soluci6n ea la misma.

La soluci6n a esta consulta entrafia dos "truc:osX: (1) rrunir una relaci6n con ella misma, usando la reuni6n theta y (2) sustraer tlel conjunto de todos 10s posihles valores una relacibn que contenga todos 10s valores, excepto el que pregunta la consulta. Este segundo punto es impor tan~e y a mmudo necrsario para la soluci6n tie las consultas m i s tlificiles en el Algebra relacional.

Cailculo relacional El cilculo relacional usa un enfoque compl~tamrnt r diferrnte a1 ilgebra relacional. No obstante, 10s dos lenguajr? son lbgicamentr ecjuivalenteb. Esto signifira que rualquier con-

Page 213: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL ALGEBRA Y EL CALCULO RELACIONAL 197

lista resultado. Una lista m una instrucc.i6ii (le1 cilculo relacional que define 10s atributos d r la relacibn solncihn.

sentencia d c calificacih. Una condici6n r n nna instruccihn del cilculo relacional clue restringe 10s componentrs en uiia rrlacihn solncihn.

snlta clue p r d a r r i o l \ r r i r r n un lrngnajt* pncdt~ rriolxrrsr r n r l otro. St. s t ~ b inis I)rc.x(. r n rl c i l w l o relacional. drhitlo ;I clue rl lrnguajr r n si niisnio t i rnr mrnos c - o n s t r u c ~ i o m .

C o n s u l t a : i Q u i e n e s son 1 0 s vendedores en l a o f i c i n a de Tokyo?

{r.NOMB-VENDEDOR : r I N VENDEDOR and r .OF IC INA = ' T o k y o ' }

Loi parbntrsii rnwrran t lo la initruc.c.ihn indiran q u r la solucihn tlr la cwnsulta r< nn conjunto d r balorri. Prrci iamrntr lo clue ha! r n rs t r conjunto r s lo q u r r s t i clrsrri- to par la ins t r l~c~iOn. T,a solwihn tlada aqni ilustra la ~ n a j o r i a d r las c*arac*trristic~~s tlrl c i l rulo rrlarional. S r rrlacionan 10s cwnponrntrs d r la soll~cihn ! sr r \p l iwu sns signif[- vados:

1. r 2. r.NOMB-VEILDEDOR 3. 10s tlos puntos ( : ) 4. r IN VENDEDOR 3. r.OFICIN4 = 'Toli!o'

1. r r s una varialh. qnr int1ic.a una fila a r l~ i t ra r ia . La rrlacibn tle don& birne r ie drfinr por -'r IN I ENDEDOR", clue 5ignifica q u r r rs una fila de \IE!I>EI>OIZ. Sr usar in bras minusrnlas ( w e a n a s a r r n r l alfalwto, tales con10 s. t. p j q, cwmo b arialdcs (I(. filas.

2. r.NOMB-VENDEDOR rs rl ~ a l o r del atrihuto NOMB-IEYDEDOR en la fila r. 3. Los (10s puntos (:) scparau la li5ta resnltado (target list) de la sentencia tlr cuali-

ficwihn (quulifjing statement). La lista rrsnltado r n (.st(. r a io cs:

y la srntrncia d r rnalificacibn es

r I N VENDEDOR and r .OF IC INA = ' T o k y o '

Sr explicari r l signifirado tie bstos 1)rrvrmrntr. Los dos puntos .:'purd(m leerse como LLtal clue".

4. "r IN VENDEDOR" sr rxplic6 r n el punto 1. 5. "r. OFICINA = 'Tol<yo"' significa que el valor del atributo 0FICINL4 en la fila r

es 'Tokyo'.

La lista resultado y sentencia de cualificaci6n

La solucibn para toda consnlta en el cilculo relacional es nna relacibn que se define por nna lista resultado y iina sentencia de cualificacibn. La lista resultado define 10s atributos de la relacibn solucibn. La sentencia d e cualificacion es una condicibn usada para deter- minar qui. valores de la base de datos actual van a la relacibn solucibn. Ahora explicare- mos cbmo tralmja rsto.

E n el rjemplo anterior, la lista resultado era r.NOMB-VENDEDOR. E n otras pala- h a s , la r r l a c i h solucibn tiene sblo u n atrihuto, el nombre del vcndedor. Los valorrs actuales que van a la r e l a c i h s o l u c i h son aquellos valores de las filas que satisfacen la srntencia de cualificacibn. E n rs t r rjrmplo, el nombre de un vendedor se toma de la fila r y se pone en la relacibn solucibn si la fila r satisface la condicibn

Page 214: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

r I N VENDEDOR and r .OFICINA = ' T o k y o '

R1 sistema examina las filas tle \.EP!DEl)OR, tal como se nmestran en la Figu- r a 6.1, una por una. Se le d a a la primera fila el nomlwc tle r tt:mporalmente y la sen- trncia d r cualific:aci611 se w a l h a como verdadr ra o falsa. E n rste caso. del)itlo a q n r r.OFICINA = 'Chicago'. la sentrncia d r c*ualific:aci6n rs f'alsa. por lo qur r.NOMB-VEN- DEDOK iRtrtlnry Jonrs) no es 1)nesto r n la rrlacihn solnrihn. El sistrma sv muevt: rnton- e ~ s a la srguntla fila, t l indolr r l nombrr r y vrrificando la sentencia d r c~ualifieari611 nu?- vamrnte. Esta w z la srntcnria es v r rdadera , por lo el^(^ w lwnt, Miiwji e n la relacihn solncihn. Estr p rowso scl repit(. para catla fila r n VENDRDOR. Kl resultado cs romo s l p r :

N O M B VENDEDOR

M a s a j i Matsu Goro Azurna A l b e r t I g e

Para las t h i s consultas. la lista resultado consi+tiri tlr un atributo simple. Sin rm1)argo. la li,sta resnltatlo puede consistir de nlidtiplrh atri1)utos. P o r rjemplo. (wnsiderc' In cwnsulta:

Consulta: D e t o d o s 1 0 s a t r i b u t o s de 1 0 s vendedores e n l a o f i c i n a de Tokyo.

Solucion: { r : r I N VENDEDOR and r .OFICINA = ' T o k y o ' }

Aqni se ha indieado qnr todos los atr i ln~tos s r r i n incluidos simplrmrntr listando r. Esto significa qnr la fila entera dt:brria ser incluida. Tam1)ibn s r podria lograr esto listam do 10s atributos separatlos ])or comas:

{ ( r .ID-VENDEDOR, r.NOMB-VENDEDOR, r . ID-JEFE, r .OFICINA, r.%-COMISION) : r I N VENDEDOR and r .OFICINA = ' T o k y o ' }

Adrniis, s r purde mostrar la lista de cualquier subconjl~nto d r estos atr i l~utos quch s r dcwe.

I)r la rxplic*aci6n anterior. seria f'icil ver c6mo las operacionrs tlr selrc-ci6n y (11. proyectar tlrl i lg rhra relacional est in soportaclas en el c i l c d o rrlacional. 1,as operacio- nes d e uniOn, intrrsrccihn. tiiferrncia y producto p u r d r n ta1n1)iC.n ser f&cilmentr drr iva- das de las cwnstrnc:ciones d r l cilculo re1ac:ional q u r se han discuticlo en estc: punto. Debi- d o a c p el r i lculo no usa el procrdimirnto del i lg rbra paso a paso. no s r necrsita la sentencia d e asignacihn. Por tanto, las h i ( - a s operaciones d r l algebra relacional p a r a las c:nales aiin no s r han mostratlo rquivalencias en el cil(:ulo relacional son la rruniim y la divisiOn. Estas recjuirren los c~icrntijicadores: rxistencial p a r a la reunihn )- univcirsal para la divisibn.

El cuantificador existencial

cuautificador (In cwmtificatlor cuuntificn o indica la cantidad d r algo. El cuantificador existencial indi- existenrial. Exprrsihn (*a que existe a1 mrnos una in,stancia tlr algo de un t i p partirular. En el cilculo relacional. tk l c i l cdo rrlacional el (wantifirador existencial s r usa para indic-ar q u r existe una fila de Irn t i p particwlar en qur afirma la raistencia una rclacibn. tlc a1 nlenos una filn a la Considerrn~os un rjemplo para ar larar estr concrpto:

Consulta: L i s t e 1 0 s nombres de 1 0 s c l i e n t e s que han comprado e l p r o - d u c t o 2518.

Page 215: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

Ohiamente , la solutiOn a rsta consulta es nna rrlatihn qiic~ contiene los nonlln-es tle ciertos t.liente-. Esto es uua relatihn tle una iinica colulnna. p r tanto, la lista resnltatlo es claranlentr

' r . NOMB-CLIENTE

tlonde r es nna fila en CIJEYTE. Se tirnt- twtonces la lista resnltndo. pero ~ q u b es una senttmtia tie tdificati')n'!

Para estar r n la soluci6n. el t-liente delw satisfacer la contlit.ihn cie liaher colnprado el pro- tlucto 2518. En otras palahras. si un ID tlel clicnte se encuentra r n nna fila dc \ KNT 1 coli ID-PROD = 2518. entonces ese cliente est i cm la iolucihn. h i , la t~ontlicihn tlehe ie r qtlr exista a1 menoi nna fila txn V E h T 4 que contenga el ID drl clirnte ! un ID-PROD tlr 2.518. Se establece esto como sigue:

t h e r e e x i s t s s IN VENTA @.ID-CLIENTE = r.ID-CLIENTE and s.ID-PROD = 2518)

Esto be l t ~ c30nio: "Kxiite m a fila s en \ENTA. tal t p e s.ID-CLIEI'I'K =

= r.11)-CLIENTE y s.11)-PROD = 2318". (1,as p a l a l ~ r a i there exists constitn!en el t.i~anti- ficador exiitt-nt-lal. )

Obie l \e que ebta e i nna instrnccihn d ) r e la fila r. Si es kertladera para tin l a l o r dado r tal qut. eu5ta una fila s, entonces r.NOMR-CLIENTE vs p e s t a en la relatmh iolii- c i h . Si la initrut&n es falia -eito t b i . si no existe ta l 5 p r a tbsta r-. entontaei r.NOMB-CLIENTE no es puestd en la relatihn solucihn.

La ioluci6n completa tlel cileulo relacional para ei ta consulta e5:

{ r.NOMB-CLIENTE : r IN CLIENTE and t h e r e e x i s t s s IN VENTA @.ID-CLIENTE = r.ID-CLIENTE and s.ID-PROD = 2518) }

La solucibn d e s c r ~ b e una relacihn que consiste en nna iinica columna y contie- ne nombrei de clientes tomatlos tie las filas de la relat.iOn CLIENTE. Un n o m l ~ r e dado es pnesto en la relacihn soluc*lhn si su fila ( r) satisface la t.ondicihn clue sigue 10s (10s puntos. Se v e r h m a s cnantas filas en CLIENTE para ver cbmo sta apllrdria la (.on- dicihn.

Considere la Figura 6.10. La primera fila de CLIENTE (que se hci llalnatlo r ) tiene ID-CLIENTE = 100. El NOMB-CLIENTE (Qdtahe Bros) serA puesto en la relacibn s o h - cihn h i existe una fila en VENT4 qiw tenga ID-CLIENTE = 100 e ID-PROD = 2518. Supongamosque existe tal fila y se ha marcado con s. Por tanto. r satisface la sentencia dt- cualificaci6n y r.NOMB-CLIENTE se pone en la solucihn. Se ~ e p i t e este proceso para cada fila de CLIENTE. Cuando se tlesigna la segunda fila r , rntoncrz se debe encontrar una correspondiente s en \ ENTA. En este c a w , la correspondiente s es la segunda fila de \ EN- TA. P o r tanto, Maltzl se pone en ld relacihn solucihn. Como se procede mas adelante, venios que el t-liente 105 (Jefferwn) no es puesto en la solucihn, p r o el cliente 110 (G6mez) si. La solucihn del conjunto seria:

NOMB- CL IENTE

Watabe Bros Mal tz l Gomez

E n el Llgel)ra relacional, la s o l u c i h de esta consulta involutxiria la reunihn (join). Ad, se ha mobtrado chmo el cuantificador existencial se nsa en el r i l t d o relacional para lograr la funcihn de la reunihn. Como 1111 ejernplo final. veamos m a consulta mas cornple- ja que requiere dos reuniones.

Page 216: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

CLIENTE

ID-CLIENTE

VENTA

FECHA

NOMB-CL IENTE

Watabe Bros Matlzl J e f f e r s o n Gomez

ID-CLIENTE

100 101 101 100 101 105 110 105 101 101

DIRECCION

Box 241, Tokyo Salzburg B 918, Chicago Sant iago

I D VENDEDOR

10 23 23 3 9 23 10 3 7 10 23 2 3

SALDO SALDO PAIS INICIAL ACTUAL

r Japon 45.551 52.113 Aust r ia 75.314 77.200 USA 49.333 57.811 Chi le 27.400 35.414

ID- PROD

224 1 251 8 1835 251 8 1035 2241 251 8 2249 2249 224 1

CANTIDAD

200 300 150 , 200 200 100 150 5 0 7 5

250

Consulta: iQuienes han comprado lamparas de mesa?

Ezta cwn\nlta ze us6 para ilustrar la rcanihn en la disrusihn tiel Algebra relacional. La relaci6n solucibn se (la r n la pigina 189. La solurihn en el c.ilculo relarional es:

{ r.NOMB-CLIENTE : r IN CLIENTE and t h e r e e x i s t s s IN VENTA and t h e r e e x i s t s t IN PRODUCT (r.ID-CLIENTE = 's.ID-CLINTE and s.ID-PROD = t.ID-PROD and t . DESCRIPCION = ' lampara de mesa ' ) }

Ohserve precisamentr chmo la soluciOn del Algebra relacional requirio (10s rrunio- nes. la soluc>ihn del c.Alrulo rclacional requiere ruantificar euistencialmente do5 1 ariables filas, s j t . Un ejemplo de un ronjnnto de valoreq para r. s > t se muestra en la Figu- ra 6.11. Este conjunto ejemplo nluestra que Jefferson se inrluy6 en la r e l a c i h solurihn porque existen filas en VENTA y en PRODUCT0 que pruehan yur Jefferson ha compra- do lamparas de mesa.

El cuantificador universal * cuantificador universal. El cuantificador umiwersal indica clue una rondicihn se aplica a todas o a coda fila de Expresihn drl r i l r ~ ~ l o algun tipo. Se usa para hrindar la misma capacidad que la operari6n de diviii6n del Alge- relacional clue estahlere bra relacional. Se ilustra su uso usanclo la misma consnlta yue se 1itiliz6 para la divisihn. qne m a ricrta condici6n sr le a p h a a Consulta: L l s t e 10s vendedores que han vendldo todos 10s productos .

todtc fila de algun t i p . Ohserwr qu r la condicihn para selerrionar un vendedor incluye la palahra todos.

Shlo 10s vendedores clue han vendido todos lob tinos de uroduc.tos son inc*luiilos en la rela- ci6n soluri6n. Si ohserva el rebultado siguiente. puede ver ficilmente que d o un vendetlor satisface la condiri6n de la ronsulta.

Esta stcricin purtlr omitirqe sin perder la rontinuidad.

Page 217: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL ALGEBRA Y EL CALCULO RELACIONAL 20 1

CLIENTE

ID-CLIENTE

100 101 105 110

VENTA

FECHA

28 / 02 1 2 / 0 2 1 5 / 0 2 1 9 / 0 2 02 / 02 0 5 / 0 2 2 2 / 0 2 1 4 / 0 2 01 102 0 4 / 0 2

PRODUCTO

ID-PROD

1035 2241 2249 251 8

NOMB- CL IENTE

Watabe B ros M a t l z l J e f f e r s o n Gomez

ID-CLIENTE

100 101 101 100 101 105 110 105 101 101

SALDO SALDO DIRECCION PAIS INICIAL ACTUAL

r Box 2 4 1 , Tokyo Japon 45 .551 5 2 . 1 1 3 S a l z b u r g A u s t r i a 7 5 . 3 1 4 7 7 . 2 0 0 B 9 1 8 , C h i c a g o USA 49 .333 57 .811 S a n t i a g o C h i l e 27 .400 3 5 . 4 1 4

ID- VENDEDOR

10 23 23 39 23 1 0 37 1 0 23 23

ID-PROD

2241 251 8 1035 251 8 1035 2241 251 8 2249 2249 2241

CANTIDAD

200 300 150 200 200 100 150 50 7 5

250

DESCRIPCION ID-FABRICANTE COSTO PRECIO

a b r i g o 21 0 1 , 2 5 2 , 0 0 l a m p a r a de mesa 31 7 2 , 2 5 3 , 2 5 t l a m p a r a de mesa 31 7 3 , 5 5 4 , 8 0 e s c u l t u r a 253 0 , 6 0 1 , 2 0

La solucibn del cilculo relacional para esta consulta es como sigur:

{ r.NOMB-VENDEDOR : r I N VENDEDOR and f o r e v e r y p I N PRODUCTO t h e r e e x i s t s s I N VENTA (r.ID-VENDEDOR = s.ID-VENDEDOR and s.ID-PROD = p.ID-PROD) }

El resultado es:

NOMB- VENDEDOR

F r a n C o i s M o i r e

Un nombre del vendedor de una fila r en VENDEDOR se pone en la relacibn solu- ci6n si la sentencia de cualificacih es verdadera para la fila r. La Figura 6.12 muestra c6mo la sentencia de cualificaci6n es verdadera cuantlo r es la fila que contiene lo+ datos sobre Franqois Moire. Para cada fila p en PRODUCTO. debe haher una fila s en VENT'4 que satisface la condicih. La figura muestra la correspondencia entre las filas de PRO- DUCT0 y las filas de VENT1 en la satisfaccibn de la condicih. Esto es.

s ( 1 ) s e c o r r e s p o n d e con p ( 1 ) s ( 2 ) se c o r r e s p o n d e con p ( 2 ) s ( 3 ) se c o r r e s p o n d e con p ( 3 ) s ( 4 ) se c o r r e s p o n d e con p ( 4 )

Page 218: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

VENDEDOR

ID- VENDEDOR NOMB- VENDEDOR ID-JEFE

10 Rodney Jones 2 7 14 Masaj i Matsu 44 2 3 F r a n ~ o i s M o i r e 3 5 37 E lena Hermana 12 39 Goro Azuma 44 2 7 T e r r y Cardon 44 A l b e r t I g e 2 7 3 5 B r i g i t Bovary 2 7 12 B u s t e r Sanchez 2 7

PRODUCT0

ID- PROD DESCRIPCION ID-FABRICANTE

1035 a b r i g o 21 0 2241 lampara de mesa 31 7 2249 larnpara de mesa 31 7 251 8 e s c u l t u r a 253

VENTA

FECHA ID-CLIENTE ID- VENDEDOR

10 23 23 39 23 10 3 7 10 23 23

O F I C I N A

Chicago Tokyo B r u s s e l s B.A. Tokyo Chicago Tokyo B r u s s e l s B.A.

COST0

1,25 2,25 3,55 0,60

ID- PROD CANTIDAD

P a r a cada m a de estas filas de \. ENTA, el ID-VENDEDOR es Franqois Moire (23) y cada una de las rua t ro filas de ventas se corresponcie con uno de 10s cuatro posibles pro- ciurtos. P o r tanto, Moire ha ventlido todos lob productos.

La dificultad relativa del ilgebra relacional y el eilculo relacional

La sabiduria conrencional en 10s lenguajes cie base de datos sostiene que 10s lenguajes no procedimentales dellen ser m i s firiles de usar clue 10s lenguajes procedimentales. Sin embargo, esto no ha s ~ d o corroborado por la prictica. El resultado de un numero de expe- rimentos (Welty y Stenlplr. 1981; Hansen, 1987, 1988) indican que las personas general- mente realizan la soluci6n d r lob pro1)lemas mucho n~ejcrr con un lenguaje procdimental que con un lenguaje no procedimental. Esto es particularn~ente cierto ruando 10s proble- mas son 16gicamente mhs complejos. E n el caso especifico del ilgebra relacional frente a1 cilculo relacional, 10s usuarios be inclinan a enrontrar el cumtifieador universal del c.ilculo relacional dificd tle romprender. Conseruentemente, ellos a inenndo son incapaces d r resoher las consultab qae requiere este cuantificador. Aunque la oprracihn wrrespon- rlientr en el ilgebra relacional -tlivisibn- es dificil de dominar, el porrentaje d r personas

Page 219: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL ALGEBRA Y EL CALCULO RELACIONAL 20 3

que la usan con Gxito es niuc*ho mayor cpe el porcentajr clr personas que aprenden a usar el wantifieador u n i v e r d euitosamentr.

Y uestro punto de \ ista zohre el asunto es qne aun no se ha desarrollado una 11uena alter- nativa para la solnci6ii ck las consu1t;rs mis dificiles qur involucran "every" (todo) en la con- dici6n. Como se discutiri en el Capitulo 7 , el enfoqne usado por el lenguajr SQL, el predkatlo NOT EXITS, no p r r c e ser mrjor que las alternativas que brindan el ilgebra y el cilculo. Con optiniismo, la investigaci0n futura fortaleceri 10s lenguajes de bases de datos en este irea.

En estr capitulo se ha presentado el ilgebra relacional y el cilculo relacional de Codd. Estos (10s lmguajes te6ricos ~nanipnlan relaciones en una hase de datos relacional basindose en sus caracteristicas l6gicas y sin considrrar la estructura fisica usada para la iniplementaci6n. El ilgehra rrlacional es un lenguaje procrdimental qur usa soluciones paso-a-paso para 10s pro- blernas de las consultas. Sin embargo, el cilculo relacional es no procedimental, lo que signi- firs quela solucibn a la consulta se formula mas bien conlo una definicibn drl resultado de- srado que conlo un procrso clue producirii el resultado deseado. Codd mostrci que el ilgehra relacional y el cilculo relacional son l6gicamentr quivalentes o, en otras palabras, clue cual- quier consulta qnr purtla resolverse m un lenguaje puede resolversr en el otro.

El ilgeln-a rrlacional consiste de nueve operaciones: unicin, interseccicin, diferencia. producto, srlecci6n: proyeetar, reunibn, divisihn y asignacicin. La unibn, la interseccibn, la sustracci6n y el producto son muy similares a las operaciones d r conjunto de 10s mismos nomhres. La srlecci6n se usa para aplicar una condici6n a una relaci6n y obtener una nue- va rrlaci6n qur e:onsiste d r aquellas filas que satisfacen la condicihn. La operaci6n de pro- yectar crra una nurva re lac ih , moviendo columnas a partir de una relaci6n existente. La oprraci6n de reuni6n cwnecta relaciones a travis de columnas que contienen informaci6n similar. La divisibn identifica las filas en una relaci6n que se corresponde con cada fila m la otra rrlaci6n. La asignaci6n (la un nomhre a una relacicin.

El cilculo rrlacional define la soluci6n de una consulta corno un conjunto rrlacional. La definici6n de la relaci6n consiste en una lista resultado, definirndo 10s atributos en la relaciOn solucicin, y una sentencia de cualificaci6n, que es una condicicin qur 10s elementos d r la lista resultado drhen satisfacer. El cilculo relacional toma su nombre del cilculo d r prrdicados en la l6gica simb6lica y usa 10s conectores booleanos (and, or, not) para enla- zar condiciones que puecirn ser verdaderas o falsas. Ademis usa 10s cuantificadores enis- tencial y universal para indicar, respectivamentr, que existe una instancia de algun tipo. o qur una condici6n es verdadera para cada instancia de un tipo especifico.

Aunque la sahiduria popular sostiene que es mis ficil para las personas usar un len- guaje no procedimental que un lenguaje procedimental, las investigaciones indican que en el caso de 10s lenguajes relacionales esto puede que no siempre sea cierto. Para algunas consultas dificiles, el enfoque paso-por-paso de un lenguaje procedimental, como el ilge- bra relacional, ofrece la flexihilidad necesaria para la formulaci6n de las soluciones de las consultas. Ademas las investigaciones en este Area quizis resulten en el desarrollo de len- guajrs que 10s usuarios puedan ficilmente aplicar a la solucibn de consultas que tengan un extenso rango de complejidad.

Las p r ~ p n t a s marcadas con un asterisco (*) estin relacionadas con las materias opciona- les del capitulo.

1. Defina con sus propias palabras cada uno de 10s siguientes tirminos: a. Algebra relacional b. no procedimental

Page 220: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

c. completo relacionalmente d. uni6n compatible e . intersec~i6n f. sustracciim g. [woyectar h. reunion natural i. reunihn theta j. senttlncia cle cualificaci6n k. dilisi6n 1. cwantificatlor un i~ r r sa l

Dewriha las circunstancias en la5 q w usaria cada una de las oprrariones siguientes clel ilgebra rrlacional: a. selecciim b. proyectar c. rrunir (1. asignaci6n e. sustraccih f. intrrwcci6n p. divisihn

3. Expl i cp la funci6n de cada uno de lob siguientes tPrminos en la ioluci6n clr vonsultas en el cilculo relacional: a. lista resultado b. srntencia de cualificaci6n c . conecstores booleanos cl. cuantificador existencial e . cuantificador universal

4. iPor q u i el cilrulo relacional no necesita algo similar a la instruccihn dr asignacibn clel ilgrbra relacional?

5. Considere la siguiente sentencia: "Los lrnguajes no procedimentalt~s son mis ficiles de usar por 10s usuarios novatos". Usando su experiencia, analice rsta frasr.

6. Estudie el significado de dwir que el ilgehra relacional y el cdculo rrlacional son com- plrtos relacionalmentr y qud significa eso para la evaluacih de 10s SGBDs comercialcs.

1. Enlace cada tdrmino con st1 definici6n. -di$erencia a. Dar un nonlbre a una relacibn. -mi& b. La reuni6n theta basada en la igualdad de eolum-

nas rspecificas. -procedimental c. Lista que define 10s atributos de una relaci6n so-

luci6n. -unn t i f~ador existencial d. Lenguaje que brinda un mdtodo paso-por-paso

para la soluci6n de problemas. -seleccibn e. Operacihn que conecta relaciones. -reunibn (join) f. Relaci6n que resulta de una operacibn de pro-

yectar. -producto g. Eupansi6n de la reuni6n natural que incluye

todns las filas d r ambas relaciones.

Page 221: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL ALGEBRA Y EL CALCULO RELACIONAL

-equirreuizi6n (equijoin) -reuni6il externn (onter join)

-riilrulo relarioizd

-nsigizclcGn

-proyecciciil

--listu resultado

h. Crea el protlncto c a i ~ s i a n o (I(. (10s rclaciones. i. Crea el conjunto (liferencia de dos relaciones

11nibn-rompatible.

j. Afirn~a la existencia tle a1 menos una fila a la cual se le aplica una contlicibn.

k. Crea el conjnnto unibn de dos relaciones unihn- compatible.

1. Operaci6n del ilgebra relacional clue m a m a con- dicihn para mostrar las filas tle una relarihn.

n~. IJn lrngnaje no proredimental para la dcfinicibn de soluciones a consultas.

2. Usantlo el signiente escpema relacional, indique cuiles operaciones del Algebra rela- cional podrian usarse para responder lab consultas dadas:

CLIENTE (ID-CLIENTE, NOMB-CLIENTE, RENTA-ANUAL) EMBARQUE (EMBARQUE-#, ID-CL IENTE, PESO, CAMION-#, DESTINO)

a. 1Qui. clientes tienen una renta anual que excede 10s cinco millones? 1). iCui l es el n o m h del cliente 433? c.. iCui l es la cintlad destino tlel t r ansp r t e #3244? d. 1Qub ramiones han transportado paquetes con un peso por encima de las 100

libras? . iCuiles son 10s nombres de 10s clientes qne han enviado paquetes a la ciudad de

Sionx, Iowa? f. ;,4 qub destinos han enviado paquetes 10s clientes con renta anual inferior a nn

mill6n?

Use este esqnema relacional para el siguiente conjunto de consultas:

CLIENTE (ID-CLIENTE, NOMB-CLIENTE, RENTA-ANUAL) EMBARQUE (EMBARQUE-#, ID-CLIENTE, PESO, CAMION-#, DESTINO) C l a v e F o r a n e a : DESTINO REFERENCIA A NOMB-CIUDAD EN CIUDAD CAMION ( CAMION-#, NOMB-CHOFER) CIUDAD (NOMB-CIUDAD, POBLACION)

3. Di. soluciones del ilgebra relacional a las siguientes consultas: Una lista con 1;s nbmeros de 10s embarques que pesan mis de 20 libras Los nombres de 10s clientes con mis de 10 millones de renta anual El chofer del camibn #45 Los nombres de las ciudades que han recibido envios que pesan mis de 100 libras Los nombres y la renta anual de 10s clientes que han enviado paquetes que pesan mis de 100 libras El numero de 10s camiones que han transportado embarques que pesan mis de 100 libras Los nombres de 10s chbferes que han distribuido envios que pesan mis de 100 libras Las ciudades que han recibido embarques de clientes que tienen una renta anual por encima de 10s 15 millones Los clientes que tienen una renta anual por encima de 10s 15 millones que han enviado paquetes con peso menor de una libra Los clientes que tienen una renta anual por encima de 10s 15 millones que han enviado embarques con peso menor de una libra o han enviado embarques a la ciudad de San Francisco Los clientes cuyos envios han sido distribuidos por el chbfer Jensen

Page 222: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

1. Los conductores que han distrilmido rnvios de clientrs con renta anual por en(+ ma de 10s 20 millones a ciudades con pohlacibn superior a un nlillhn

m. Clientes que han tenido rnvios distrihuidos por totlos 10s chbferes n. Ciudadrs que han reci1)ido embarques de todos 10s clientes o. Chbferes que han distrihuido envios a todas las ciudades p. Clientes que han mviado embarques a toda ciudad con poblacihn mayor de

500.000. (Sugerencia: Primero cree un conjunto de ciudades con pol)lac*ihn mayor de 500.000)

q. 1)ar una lista tle los clientes y la 1-enta anual para esos rlientes cuya rmta annal es el maximo para todos 10s clirntes de la h e de datos

r. Di. una lista de los clientes qne envian todos sus emharques a una h i m ciudad (Nota: La ciudad puede o no puedr ser la misma para cada uno de estos clientes.) (Sugerencia: Primero encauentre 10s clientes qur envian ernharques a luis de nna ciudad)

4. D i soluciones del cil(.nlo relacional para las wnsultas del pro1)lema 3.

1. Compare sus soluciones a las consultas en 10s problemas 3 y 4 de la seccihn anterior. 1Cuiles consultas le parecieron mas ficiles de resolver en el algebra relacional y cua- les en el ciilculo relacional? En cada caso, ipor quC suponr que un lrnguaje fur mas f icd de w a r que otro? iCu i l de 10s dos lenguajes prefiere? iPo r qui?

2. Lea 10s artieulos de Codd del iilgehra y el cilculo relacional (Codd 1970. l07la. 1971h). Escriba un ensayo comparando 10s dos lenguajes y analice chmo Codd mostrh su equivalencia l6gica.

3. Escriba esbozos de programas rn lenguajes tales como COROL o Pascal para resolver las consultas 3 a, e, 111 y r. Compare la complejidad de estos programas con las solurio- nes a las consultas en el algehra relacional y el calculo relacional.

Page 223: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

RELACIONAL CON SQL

Implernentacion relacional: introduccion Definicion de tablas y de esquernas

Definicion de esquemas Tipos de datos y dorninios

Tipos de detos Definicion de dorninios

Definicion de tablas Definicion de colurnnas Otras instrucciones de rnanipulacion de

esquernas Manipulacion de datos

Consultas simples SELECT FROM WHERE

Consultas multi-tablas Subconsultas

Subconsultas correlacionadas EXISTS y N O T EXISTS Funciones integradas GROUP BY y HAVING

Funciones integradas con subconsultas Operaciones del algebra relacional

UNION, INTERSECT y EXCEPT Operadores El operador JO IN

Operaciones de rnodificacion de la base de datos INSERT UPDATE DELETE

Usar SQL con lenguajes de procesamiento de datos

Definicion de vistas Restricciones sobre consultas y actualizacio-

nes sobre vistas El esquerna de informacion Resurnen Preguntas de repaso Problernas y ejercicios Proyectos y cuestiones profesionales

Page 224: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

208 DISENO Y ADMINISTRACION DE BASES DE DATOS

Tons lleltorl y 4nnette Chctng. usunrios de 10s sisternus tle inforinncibn tle la Cornpuiiiu Construetoru Premier. estcirl discutiendo sobre su sisternu degestibn de base tle tlntos rela- cioilc~l instularlo recienteir~ente.

"Tony, iqud uentajus sfJ tienen con SQL coino lengunje de nuestro sisternu en lugur de olguno de 10s otros lenguajes d~ buses de dutos relncionules que hay di.sponible.s?"

"Probublernente, lu ventuju prinripal. Anette, es que SQL es el lenguuje relacionnl estiindur rle ANSl y a su vez P S el estcindar tle facto en 10s negocios. Esto significu clue estci nrnpliarnente soportudo y quc. nos podernos sentir cor!fiados rle rninirnizctr i1uestro.s riesgos si rurnbiarnos de hurdwure o de.fubricunte rle sqjit(wre."

"Pero iqud hay con el 1eng.g-uuje en si rnisrno? iCcirrlo se erige SQL cwmo lengutrje relucional por derecho propio?

"SQL es u n lenguaje poderoso. Tiene todu la poteneirr lbgicn del ccilculo relacioirctl de Codd, a la vez que tieile cccpcccitludc~s udicionules poru rrlrrnejcrr g r l q m (k filus y upli- curle.funciones estudisticas u dstos. Airn iuhs, podernos dqfinir nlwstro.\ rspernus de buses dc. datos, irlentificar las claves y las colurnnus no nulas con rolores por rlqficto, y (wr ih ir iristrucciones SQL en prograinus escritos en otros lenguajes. Aden~tis rle torlo eato, nupatro esquernu de sistema rle inforrnnci6il que contiene lu inforrnncibrl dr rlclfinicibn rle torlos 10s esquernas en una base rle rlatos es en si rnisrno una base dr drrtos relucionul a In yue potle- rnos ~ ~ n s ~ l t a r con SQL. Quizcis lo rnus irnportunte r l ~ torlo es qur P I ~sturirlur SQL-92 aha- de unu serie de rnejoras a1 lenguuje que 1os.filbricuntes P S ~ ( ; I L un4ioso.s d~ i~npkrnentcir. A travks de SQL porlreinos verdaderurneilte sacur ventuju del poder de la revoluricin rela- cional. "

E n este t-apitulo se estutliarhn las partes de 10s sistemas de gestibn de bases tle datos relacionales clue tienen clue \er con el lenguaje SQL, incluyentlo tbpi- cos tlel estiintlar ANSl SOL-99. Despubs tlr leer rstr t'apitulo se estarh capa- citatlo para:

Explirar lo+ lwchos Ijisit-os tlel tlesarrollo hist6rico de 10s sistema de gestibn de haseb de datos relarionales. Definir un ebquema relational tle Lase tle tlatos cn SOL. Formular consultas SOL de variad'i conlplejidatl. Insertar, actnalizar > Iwrrar datoi tle una base tle datos relacional a travks de brdenes SOL. Estucliar algnnos aspertos de rbmo escr~hir instrucciones SQL en u n lenguaje de programacibn tradieional o en nn lenguaje "anfi tr im". Definir y consultar vlstas de datos en SQL. Explicar algunos rlementos bisicos de la estructura de u n esqurma tle informa- cibn SQL.

Implementacidn relacional: introduccidn

El rfecto t k la puhlicacibn de 10s articulos de Codd en 10s que se introtlujo el modrlo rela- cional y 10s lrnguajes rrlacionales (ilgehra y cilculo) fne el gran impact0 qne significb en las comuniciades comerciales y tle invest igatih para tirbarrollar vrrsionrs implrmrntadas tle 10s lenguajes relacionales. Los tres lenguajes m i s importantes qne resultaron dr rste eifuerzo son probahlrmrnte SQL1 (que se pronuncia "ess-cue-ell" o "sequel"). QBE

I Del inglbs Structured Query Long~ruge (lenguaje de ronsulta estrurturado) (N. tie1 T.).

Page 225: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACION RELACIONAL CON SQL 209

(Query-1)y-Examl~lr)', QUEL (Qurry Language):'. SOL y QBE furron c*rratlos por IBJI durante 10s srtenta y rralizan funcionrs muy similarrs, aunqur SQL r s 1111 lrnguajr trstual mirntras clue QBE rs grifico. QLIEL es el lenguaje original clr INGKES: 1111 sistmla d r prs- tihn cle basr d r tlatos r c h i o n a l drsarrollatlo r n 111s sctrnta por la Lnivc~rsidad tle Rerlir- ley, m California.

SQL fur el rrsultatlo tlrl proyrcto cle invcstigaei6n S y t r n ~ K d r TRM. Estr proyrcto incluy6 el clrsarrollo clr ti11 sistema d r base clr datos rrlacional y el lrnpuajr SEQIJEL (Structurrtl English Query Language). A1 final de 10s srtcntii. SC)L (camlio tlvl SEQUEL) pas6 a formar par t r tlel clominio public0 !- rstuvo primrro disponi1)lr como lrnguajr para iin sistrma c:omc:rcial tlr Oraclc Corporation. En 1981 IBM lanz6 su SQLIDS. un sistrma d r gestibn d r hasc d r tlatos c*omcrcial qu r soporta SQI,. En 1983 IBM lanz6 SQL w m o partr d r l SGBD DBZ.

En 1986 f'ue apro1)ado el primrr r s t indar .4NSI para SQL. Estr r s t indar file revisa- tlo mis tartlr r n 1989 (motlrstamente) y en 1992 (significativanlc~~tr). SQIJ ha qnrclaclo twmo el i~nico lrnguaje relacional d r base d r datos qiir es .ANSI rstintlar. Es mis. SOL r s c k hrcho rl rstinclar en 10s nrgocios. porqur r s (-1 lrnguaje rrlacional rscogitlo por 10s sis- trnias comrrcialrs. Desde 1980 numerosos fahieantes han lanzatlo implenlrntacio~~rs d r SQL.

Adic~ionalnirntr a las brrsiones para grandes cornputatlows dc SOT, nwncionatlas autc:riormrntr. hay,actualmrnte niuchas vrrsiones de SQL para c*omputatlores prrsonalcs y t~lirntelservidor, Estas incluyen Syhase SQL Server, Microsoft SQL Srrvrr. IBM OSP2 Extrnclrtl Edition Datahasr Manager. DEC RdhNMS y Oracle Srrvtxr para OSI2 (Khosha- fian y otros) para sistemas c:lirnte/srrvitlor, y XDB y SQLBasr, asi colno vrrsionrs d r R:Hasr y (1BASE. para computadoi-rs personales.

El sistema INGRES se desarrcrlli, originalmrntr con~o un sistrma de gesticin cle hasr tlr datos con su lrnguaje propio, QUEL, el qne, a1 igual qu r SQL. motlrlaha el cilculo rrla- cional. En 10s iiltinios afios, INGRES ha sido expandido para soportar tanto SQL como QUEL. Esto rs importante, ya qu r SQL ha sitlo acloptacio como el rstantlai- ANSI.

Los sistrmas de gesti6n de hasrs d r datos relacionales soportan una ~a r i r c l ad tlr asprctos. adrmbs d r sus capacidades 1ingiiistic.a~. Estos aspectos incluyrn srguriclad. intr- gridad. alto rendimirnto en acreso y actualizacibn de 10s datos y control del dic.t:ionario d r datos o esquenia d r infhrmacihn. Algunos de rstos aspectrrs sr t r a t a r i n en rste capitulo. otros s e r i n analizados n ~ i s adelantr (vrr. por ejemplo, 10s capitulos 11 y 12). En rste c a p - tulo se rstnciiari el lrngiiajc SQL y los aspectos del sistrma de informacihn clr un SGBD rrlacional. En el Capitulo 9 sr cstudiarin los aspectos del lenguaje de (10s SGBD rrlacio- nalrs c:lic:nte/srrvitIor.

Annqii(1 (4 nonlhrr SQL siigirre q u r Gste es un lenguaje de "consulta", ademis rle las fariliciadrs de consulta, incluyr la clrfinici6n d r t a l h s , la actualizacibn de la hase de dates: clefinici6n d r vistas, otorgamirnto de privilrgios. En este capitulo se r in estudiados las c:apacidades clr clefinici6n d r tal~las , de consultas, de actualizatibn y de definicibn de vis- tas qu r hay en SQL, en este ordrn. Sr incluirin aspectos del estinclar ANSI tle 1992, cono- cido ccrmo SOL-92. SQL-92 es una mejora significativa d r las primeras vrrsionrs del estin- clar SQL y es drmasiatlo p a n & para poder cuhrirlo en este capitulo o incluso rn rste lihro. (Para m a rxposici011 mis complrta, ver Melton y Simon. 1993 o Date y Darwrn, 1994.) No ohstante, sr mostrar in varias de sus caracteristicas, concrntrindonos en las clue se consi- deran m i s importantes. T a m h i h se examinarin sus caractrristicas d r esc[urma de infor- maci6n. Para ilustrar 10s rjrmplos se utilizari una hase de datos relarional tomada del caso d r la Cornpuiiic~ Con~structorcl Premier. El qjrmplo de hase de datos se nluestra r n la Figura 7.1.

Page 226: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

TRABAJADOR

I D TRABAJADOR

I D TRABAJADOR

NOMB- TRABAJADOR

M Faraday C Nemo R G a r r e t P Mason H R ickover C Coulomb J B a r r i s t e r

I D - E D I F I C I O

312 31 2 515 460 460 435 21 0 11 1 435 515 312 51 5 435 21 0 11 1 11 1 460 31 2 210

FECHA- I N I C I O

18 /18 01 110 17/10 05 /10 08 /12 28/10 16/11 10 /10 15/10 05/11 24 /10 09/10 08 /10 15/11 01 /12 08/10 23/10 30110 27 /10

O F I C I 0 ID-SUPV

E l e c t r i c i s t a 1311 Fontanero 1520 A l b a r i i l 2920 C a r p i n t e r o 3231 Fontanero 1520 E l e c t r i c i s t a 131 1 C a r p i n t e r o

NL~M- D IAS

5 10 22 18 18 10 15 8

15 8

20 14 12 12 4

14 24 17 14

E D I F I C I O

I D - E D I F I C I O DIR-EDIF IC IO T I P 0 NIVEL-CAL IDAD

312 123 Elm O f i c i n a 2 435 456 Maple Comercio 1 51 5 789 Oak R e s i d e n c i a 3 21 0 1011 B i r c h Of i c i n a 3 111 1213 Aspen Of i c i n a 4 460 1415 Beech Almacen 3

Definicih de tablas y esquemas SQL-92, a diferencia de versiones anteriores, permite a 10s usuarios definir esquemas mul-

catilogo. En SOL-92, tiples. Los esquemas niultiples se pueden agrupar en catilogos (catalogs), que en SQL-92 una colecci6n dr son colecciones tie esquemas alas qur se les ha dado un nombre. Cada catalopo contiene un rsquewas con nomhre. esquema especial, llamado INFORMATION-SCHEMA, que contiene metadatos y que se

estudiarh posteriormente en rste capitulo. Todos 10s restantes esquemas en un catalogo 10s define el usuario. Para mayor claridad dehe notarse que el tkrmino catalogo, tal y como se usa en SQL-92, es derivado de la forma estandar y tradicional en que se usa el tkrmino en bases de datos. Un catilogo se concibe normalmente conm conteniendo 10s metadatos

Page 227: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

propietario d e 1111 esquema. Persona q ~ i r tiene autoridad y responsa1)ilidad para o t o r p r acceso a tahlas, columnas ) vistas en UII csquema tle hase dc datos.

clue definen la base d e datos. E n SQL-92, el esqiirma de informacibn lleva a ( * a h esta fnnci0n.

esquemas

SQL-92 tlenomina cattilogo a una colecciim de esquemas que t i m e nombre. pero no intlica cbmo deheria drfiuirze un catilogo. Esto se deja a la implementacibn del SGBD. Sin emhargo, SQL-92 si especifica que rs una definicibn de esquema. Definir nn esqilema en SQJ, es elemental. S61o se necesita itlrntificar el comienzo dr la definicibn con una instruc- cibii CREATE SCHEMA (creur ~squerrtn) y una cliusula adicional 4UTHORIZZTION (autorizacibn) jr a c~ontinuacibn drfinir cada dominio, tahla, vista y den& en el esquenia. romo s r mnrstra a continuacibn:

CREATE SCHEMA CONSTRUCTORA-PREMIER AUTHORIZATION TONY-MELTON

d e f i n i c i o n de dominios d e f i n i c i o n de t a b l a s d e f i n i c i o n de v i s t a s e t c .

Cada instrucci6n CREATE SCHEMA intlica a1 SGBD clue lo qiir sigue rs un esque- nia tlr la h a w d r datos. El nomhre del rsqurma -CONSTRUCTORA-PREMIER e n el ejemplo anterior- tam1)iC.n se indica e n la instrucei6n. La cliusula AUTIIORIZ.4TION indica el non11)re dcl propietario dcl esquema. Esta persona se conoce entonces por el sis- trma y puede otorgar a otros usuarios privilegios de aweso y actualizacibn dr la l m e de datos tlrfiriida en el esquema. Obviammte esta estructura implira cjur purden existir e n la misma instalacibn muchos esquemas de hases d r datos. Estos purden ser posesibn de indi- viduos tliferentes, pero hajo el control tlrl SGBD cada esquema taml)i6n pudiera ser acce- dido p r usnarios que no w a n sus dueiios.

Tipos de datos y dominios

Antes de mostrar chmo se definen las tahlas, veamos primero c6mo se definen o predefinen 10s dominios de 10s wales toman valores las columnas.

E n rl sentido del modelo rrlacional, como ha sido discutido en el Capi tdo 5, un dominio es un conjunto del cual toma sus valores una columna de una rrlat.i6n. E n este sentido, 10s tipos de datos predefinidos son dominios. Sin emlmrgo, SQL define 10s domi- nios dr forma ligeramentr diferente, s e r i analizada hrevemente. E n cualquirr caso, SQL proporciona tipos de datos predefinidos y prrmite dominios definidos por el usuario. S e g h la drfinici6n de SQL, tanto 10s t i p s dr datos predefinidos como 10s dominios defi- nidos por el usuario son dominios r n el sentido del modelo rrlacional.

Tipos d e datos. SQL-92 define 10s siguientes tipos d r datos:

Nun16ricos exactos:

Integer (enteros) Small integer (enteros ~ecrueiios ) - \

Numeric (p,e)(numCricos) Decimal (p,e)

P a r a 10s dos iltimos t i p s de datos (numirico y decimal) se indica una precisibn (p) y una escala (e). La precisibn indica el total de numeros o digitos en el n i m e r o y la escala indica cuintos de Cstos es t in a la derecha del punto decimal.

Page 228: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

rrstriccion. (c-or~strmint) L'na regla clue restringe 10s valorcs cn m a haw tlc datt~s.

\ alor por deferto. ITn r alov clue se i n s t ~ t a auton~iticamente si t.1 usuario no lo especifira c i ~ m a entrath.

drfinici6n d r dominio. Un tqw tle datos esprrializado drfinido dentro tle un esqurma ! usado en las tlefiuiriones de columnas.

Real Doul~le precision (dohle pret.isi0n) Float (flotante)

Estos t i p s cle tlatos s r usan normalmente para cilculos cientificos y dc ingenieria.

Catlenas de raracttLreh:

Character ( n ) ( r a r i r t e r ) Charar t r r varying (n) (car ir ter variallle)

I A I S ( ' ~ I I I P O S de character 4empre almawnau n carat.tcrcs. aun ruando tengan clue rrllenar (*on hlautws a la derec*ha para twmpletar la longititrtd rz. Los v a m p s c h a r u c t ~ r c a r - ving 5610 almat~enan el numero real tle carar terrs quc, se introdujeron (hasta un ruiximo d e n ) .

Cadrnas tle hits:

Bit (n) Bit varying (n)

Estos c a m p be usan para 1)antleras u otras inist.aras de hits para el control.

Fechas y horas:

Datr Vechu) Time (horrr) Ti~nrstamp (sello dc riemnpo) Timc con t i e m p zonal Timestamp t.on tienipo zonal

El t i p DUIP & - h a ) se (la el1 el orden aiio, mes, dia con cuatro digitos para el aiio. El T i l n ~ s r d a en horas (0 a 23). minutos, segundos y dbcimas de segundo. E l Timestamp tBs la Twha m i s la hora (date plus time).

Un interlalo es la (liferencia entre tlos fechas (aiio-mrs) o entre dos horas (dia-hora). Ptrr ejrmplo. r n t r r diciemhre 1994 j enero 1996, el interval0 es tin aiio y un tnes.

Defu1ici611 d e doniinio. Los tipos de datos con r r ~ t r i c c i o n e s (constraints) y valores p o r defect0 (default values) s r pueden combinar en la tlefinicicin d e dominies. lTna d e f i n i c i h d e doininio r s un tipo d e datos esperializado q u r purde estar tlefinido drn t ro d r un rsclue- ma y utilizado en la definicicin d r columnas. Por ejrmplo. supongamos que se desea definir un tlominio d e idrntificadorrs para usar en la definicihn de columnas w m o ID-TRABA- J:IDOR e ID-EDIFICIO. Anticipamos q u r esta definicihn s e r i complrja, pues involucra un t i p de tlato. un valor por tlefecto y una restrict-iOll no nula. Pursto que se u s a r i 6sta una y otra vez r n el esquema de la base tle datos, se quiere simplificar el trahajo. Por tan- to, se crea u n dominio cle la forma siguirntr:

Page 229: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACION RELACIONAL CON SQL

CREATE DOMAIN IDENTIF ICADOR NUMERIC ( 4 ) DEFAULT 0 CHECK (VALUE I S NOT N U L L )

Esta tlrhic:i6n dice cpe un tiominio llamado IDENTIFICADOR tiene las siguientrs propirdades: St1 tipo de datos es numcriro tie ruatro cligitos, su valor por defrrto cs rero J-

niinca puede s r r nulo. Una columns (pie tlrfina rste dominio cwmo su tipo d r dato trndrii estas propirdades. Ot&vesr clue no se puedc decir simplrnwntr "NOT NULL" en la defi- nici6n. SQL rrquiere lo que se tlenomina una rrstricribn CHECK para lograr t:sto. Huhit.ntlo h e c h esto sr puedrn c1c:finir columnas en el rscperna clue tengan IDENTIFICA- 1)OR como su tipo de dato.

Definiendo tablas

Las tahlas se definen en t r r s pasos:

1. Dar el nomhrr (11% la tabla. 2 . Drfinir cada c.olumna. posihlemente inrluyendo restrircior~es de rolumna. 3. Definir las restricrionrs de la tahla.

A rtrntinuacibn se da una definiriim de esquema para la hase de datos rle la Fign- r a 7.1.

CREATE SCHEMA CONSTRUCTORA-PREMIER AUTHORIZATION TONY-MELTON d o m a i n d e f i n i t i o n s

CREATE TABLE TRABAJADOR ( ID-TRABAJADOR IDENTIF ICADOR PRIMARY KEY, NOMB-TRABAJDOR CHARACTER ( 1 2 ) , T A R I F A HR NUMERIC (5 , 2 ) , OFICIO- CHARACTER ( 8 ) , ID-SUPV NUMERIC ( 4 ) , FOREIGN KEY ID-SUPV REFERENCES TRABAJADOR

ON DELETE SET NULL )

CREATE TABLE ASIGNACION ( I D-TRABAJADOR IDENTIF ICADOR, I D - E D I F I C I O IDENTIF ICADOR, FECHA71NIC I0 DATE, NUM-DIAS INTERVAL DAY (3), PRIMARY KEY (ID-TRABAJADOR, I D - E D I F I C I O ) , FOREIGN KEY ID-TRABAJDOR REFERENCES TRABAJADOR

ON DELETE CASCADE, FOREIGN KEY I D - E D I F I C I O REFERENCES E D I F I C I O

ON DELETE CASCADE)

CREATE TABLE E D I F I C I O ( I D - E D I F I C I O IDENTIF ICADOR PRIMARY KEY, D I R - E D I F I C I O CHAR ( 1 2 ) , T I P O CHAR ( 9 ) DEFAULT ' O f i c i n a '

CHECK ( T I P O I N ( ' O f i c i n a ' , ' A l m a c e n ' , ' C o m e r c i o ' , ' R e s i d e n c i a ' ) ) , NIVEL-CALIDAD NUMERIC ( 1 ) , CATEGORIA NUMERIC ( 1 ) DEFAULT 1

CHECK (CATEGORIA > 0 AND CATEGORIA < 4 ) )

Des]~ui.s del CREATE SCHEMA (crear esquema) y de posiblemmte otras instruc- ciones como CREA4TE DOMAIN (crear dominio) est in tas instrucciones de ,CREATE TABLE (crear tabla). La instrucci6n CREATE TABLE identifica el nombre de la tabla: qnt: debe ser Gnica dentro del esquema. DrspuCs de CREATE TA4BLE van erlcerratlas

Page 230: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

entre parintesis y separatlas por coma las instrucciones tle tlefinir columnas y de drfinir restriccione~ solm. la tabla.

D e f i n i c i h de colurnna. Veamos les tlef~niciones cle las tres primeras c.oluninas tit. T R I- BAJ IDOR:

ID-TRABAJADOR NOMB-TRABAJADOR TARIFA-HR

FECHA-INICIO NUM-DIAS

IDENTIFICADOR PRIMARY KEY, CHARACTER ( 1 2 ) NUMERIC ( 5 , 2 )

DATE INTERVAL DAY ( 3 )

y dos de EDIFICIO:

T I P 0 CHAR ( 9 ) DEFAULT ' O f i c i n a ' CHECK ( T I P O I N

( ' O f i c i n a ' , ' A l m a c e n ' , ' C o m e r c i o ' , ' R e s i d e n c i a ' ) ) , CATEGOR I A NUMERIC ( 1 ) DEFAULT 1

CHECK (CATEGORIA > 0 AND CATEGORIA < 4)

Catla colutnna sr define dando sn nomhrr. sn t i p tle dato (que puede s r r un t i p prr~irfinitlo o definido por el usuario), cnal rs su valor por defccto y cuintlo se le aplican rrstriwiones especifkas (por cjeniplo. NOT NULL (no nula), PRIMARY KEI- ( d a v r pri- ni;rrie) y restricc.ionrs CHECK). Las t r r s primrras columnas d r este ejemplo s r Ilaman rrs- pcctivanlentr ID-TR-iBAJADOR, NOMB-TRAIBAJADOR y TARIFA-HR. Sus t i p tie dirtos son lDENTIFICA4DOR, CHARACTER y NUMERIC. Las (10s columnas q u r se toma- roil de la tahla ASIGNACION (PECHL4-INICIO y NIJM-DIAS) ilustran otros dos t i p s tle datos: DA4TE (fecha) e 1NTERY;IL (intc,rvalo).

Un tipo de dato numiricw sigiiifiea clue 10s valores d r 10s datos de las coluinnas tlehrn s r r nilmeros, posihlemcnte ron punto tlrcimal. El t i p (ic tlatos d c ID-TRABAJA- DOR cs IDENrI'IFICADOR, 1111 dominio definido p r r l usuario quc- fuc. tlcfinido conio NUMERIC (4). qne q u i r r r drcir clue tiene 4 digitos significativos y no titme digitos des- pubs d r l punto (no t i rnr f r a c ~ i 6 n ) . TARIFA-HR t i rnr 1111 t i p tlr dato NlTMERIC (,5, 2) que significa qiir tiene cinco digitos significativos, dos tie los cualrs estiti a la d r r r c h a tiel punto decimal.

I ln tipo cle dato CHA4RACTER (caric*trr) significa que 10s valores tle las coluninas consisten en radrnas dc caractc--rs, formadas por caracttLrt.s alfanumi.ricos, posihlen~entr comhinados roil curacteres especialrs. La longitutl mixima de la cadena de cararterrs se indica entre parintrsis. De este modo, NOMB-TRARAJADOR puede tener valorrs tlr cadenas de cara('tt:rrs de longitnd no mayor d r 12.

Un t i p tlr datos fecha (como el que tirue FECH.4-INICIO) significa q u r 10s valorrs de 10s datos tlr la columna s r r i n frrhas, dadas con fcrrmato d r aiio (cuatro digitos), 1nt.s ((10s digitos) y dia ((10s digitos). Un t i p de datos intervalo (como r l d r NUM-DIAS) rs t1;rtlo en aiios y/o meses o en dias, minutos, h a s ylo segnntlos. Se ha rscogido el intervalo w n i o tipo tlr dato DAY (3), lo que significa qne puede ser cualqnier cantidad de dias d r 0 a 999. Los t i p s dr datos fecha e interpalo ti,enen la ventaja que pueden sumarse o restarst.. Dr modo clue st: le puede sumar NUM-DIAS a FECHA-INICIO y ohtrner la frcha r n la que termina la asignacibn de un trahajador a un etlificio (si st: asume que despuks de la fecha de ccrmienzcr de un edificio el trahajador no toma vacacionrs ni fines de semana y ncr tra- haja en ningiin otro edificio).

ID-TRABAJADOR e s t i sujeto a dos rrstricciones: NOT NULL (no nulo) y PRI- MARY KEY (claw primaria). La res t r i cc ih NOT NULL se hereda de su dominio de defi-

Page 231: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACION RELACIONAL CON SQL 215

d a t e externa recursiva. Una clabr externa cpr refwcncia a s11 propia relacihn.

nici6n y zignifira que ID-TR-IBAJADOR no puede tener un \ a h nulo. PRIMARY KEY significa que dos filas en la tabla TRABAJADOR no pueden tener el mismo valor m ID-TRABAJADOR ! que para prop6sitos de referencias a clave externa ID-TRABAJA- DOR se considera una clave primaria. La res t r i cc ih NOT NULL refuerza la regla de inte- gridad dc entidad que estah1ec.e que una columna clave no puede ser nula.

Las columnas T I P 0 y CATEGORIA e n la tahla EDIFICIO tienen valores DEFAULT (por defecto) definidos. Si s r afiatle una tupla a la tabla EDTFICIO y por ejemplo no se introduce n ing in valor p a r a la eoluititia C ATEGORIA, el sistema pondrh automiticamente u n 1 como valor de rsa columna e n esa tupla. Similarmente TIPO se [lone automitic*amente a 'Oficina' si no se le introdlice nineim valor. Si e n el esuue- ma no se especifica u n valor por tlefecto para una rolumna, se t o m a r i como valor por defecto el valor nulo. ObsCrvese que no se ha definido u n valor p o r defecto para ID-TR iBAJADOR puesto que Cste toma el valor p o r defecto (0) de su dominio tle tlefi- nicibn.

Las columnas TIPO y CATEGORIA tanibiPn tienen definidas restricciones CHECK. Estas restriwiones liinitan 10s posihles valores que pueden introducirse en estas cdumnas. En particular, T I P 0 dehe tener uno ct,v los valores del conjunto ('Oficina'. 'L41~nac*bn'. 'Comercio', 'Residencia') \ C.4TEGORIA debe estar entre 1 v 3.

Ya clue se ha explicwlo la secci6n de def in ic ih de columnas del esquema queda s6lo por estudiar las restricciones sobre lab tahlas. E n este esquema, las restricciones de tablas son:

FOREIGN K E Y ID-SUPV REFERENCES TRABAJADOR ON DELETE SET NULL

clue restringe la tabla TRABAJADOR y:

PRIMARY K E Y (ID-TRABAJADOR, ID-EDIFICIO), FOREIGN KEY ID-TRABAJADOR REFERENCES TRABAJADOR

ON DELETE CASCADE, FOREIGN K E Y ID-EDIFICIO REFERENCES EDIFICIO

ON DELETE CASCADE

que restringe a la tabla ASTGNACION. Vramos cada una de Cstas. La restricci6n de (.lave externa ile la tabla TRABAJADOR:

FOREIGN KEY ID-SUPV REFERENCES TRABAJADOR ON DELETE SET NULL

int1ic.a clue ID-SUPV es una c l a w ex te rna recursiva (ver Capitulo 5). Esto ez, m a cla- ve externa que referencia a su propia relacibn. Observe que en rsta i n s t r u c ~ i 6 n las pala- b ras que es t in eneima tle "ON DELETE ..." son idCnticas a las que se usaron para defi- nir las claves forarieas en el C a p i t d o 5. Simplemente se identifica la(s) columna(s) de la (*lave cxterna en la relacicin se estal~lece a c u i l r e l a c i h apuntan esta(s) columna(s). E n este c a m , la columna cla\e exterria e s t i en TRABAJADOR y apunta a la propia r e l a c i h TRABAJADOR. La cliusula ON DELETE SET NULL le tlice a1 sistema que si se bor ra la tupla a la que apunta la rlave externa entonces el valor de Psta se debe poner a cero. P o r ejemplo, supongamos que borramos la tupla con ID-TRABAJADOR 1311 en la rela- ci6n TRABAJADOR de la Figura 7.1. Entoncrs el ID-SUPV de la primera tupla (el que tiene ID-TRABAJADOR 1235) apuntar ia a un t rahajador inelistente, es decir, a una tupla que ya no eviste m i s en la base de datos. Esto violaria la integridad referencial. P a r a evitar esto. la cliusula ON DELETE SET NlTLL instruye a1 SGBD p a r a que ponga el \ a h r tle la clave externa (ID-SUPV en la tupla 1235) a cero, si se borra la tupla a la q u r Gsta aputita (la tupla 1311). P o r tanto, antes de dicho bor rado la tabla sr \ r en la forma:

Page 232: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

TRABAJADOR ID- TRABAJADOR NOMB-TRABAJADOR TAR1 FA-HR OFICIO ID-SUPV

1235 M. Fa raday 12 ,50 E l e c t r i c i s t a 1311 . . . . . . . . . . . . 131 1 b : ' c ou l omb 15 ,50 E l e c t r i c i s t a 1311

TRABAJADOR IDTRABAJADOR NOMB-TRABAJADOR TAR1 FA-HR OFICIO ID-SUPV

1235 M Fa raday 12 ,50 E l e c t r i c i s t a [ n u l l ]

Las restricciones de la tabla ~ S T G N ~ C ~ O N son:

PRIMARY KEY (ID-TRABAJADOR, ID-EDIFICIO) , FOREIGN KEY ID-TRABAJADOR REFERENCES TRABAJADOR

ON DELETE CASCADE, FOREIGN KEY ID-EDIFICIO REFERENCES EDIF IC IO

ON DELETE CASCADE

Con la excepci6n de la rliusula ON DELETE C 4SCADE en las dos restnrciones de elawes externas, clue se est idiaran en hreve, estas restricciones w n elementales. La res- trit*ciOn tit. PRIMARY KEY (ID-TRABAJADOR. ID-EDIFICIO) le dice a1 sistema clue ID-TRABAJADOR e ID-EDIFICIO twnstitujen m a d a v r externa twmpnesta para la tahla. P o r lo tanto, 10s valores twm1)inatlos de estas doh t d u m n a s dehen ser ilnitws para rada tupla t1n la tahla.

ON DELETE CASCADE es similar a ON DELETE SET NULL, ya clue la acciOn se emprende s ien~pre que se horra la tupla referida por la clave extrrna. Considbrensr las sigilientes tuplas en la base de tlatos de la Figura 7.1:

TRABAJADOR ID-TRABAJADOR NOMB-TRABAJADOR TARIFA-HR OFICIO ID-SUPV

1235 M. Fa raday 12 ,50 E l e c t r i c i s t a 131 1

ID-TRABAJADOK en la tabla A S ~ G N A C I ~ N es m a clave externa que apunta a la tabla TRABAJADOR. ON DELETE CASCADE significa clue si se horra la tupla referida m la relaci6n TRABAJADOR (1235 e n e l ejemplo), significa u n lwrrado en "cascada" tle todas las tuplas de la tahla ASIGNACION que hacian referencia a h e . En este rjemplo el ID-TRABAJADOR 1235 en la tahla TRABAJADOR se refiere por dos tuplas de la tabla ASIGNACION (tal como se niostri, anteriormente). Si se borra la tupla 1235 de TRABA- JADOR, entonces el sistema h o r r a r i automiticamente las dos tuplas correspondientes en la tahla ASIGNACION. Este es el nianejo wrrec to tle est? clave extrrna, porque si se horra la tupla de TRABAJADOR, las tuplas de ASIGNACION carecen de sentido y tanihitn dellen Imrrarse.

La cliusiila ON DELETE es similar a la t:liusula ON UPDATE y amhas cliusulas tie- nen las opciones siguientes:

CASCADE SET NULL SET DEF.4ULT

Page 233: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACION RELACIONAL CON SQL 217

multicolijunto. Uii conjunto qne pnecle tener entradas duplkadas.

definition de esquelna. DrsrripriOn cle una hase d r datos para el SGRD.

Si la opcihn es SET DEFAULT, el sistrlna pone el valor de clave externa a1 valor por defrt*to de la colunma. Naturalniente, como seiialan Date y Darwen (1994), la clave exter- na a p u n t a r i ahora a una tupla en la relacihn a la que hace referencia, tenirndo este valor par defecto: por lo que delje existir una tiipla tal en dicha relacibn. Si se omitvn tantcr ON DELETE como ON UPDA4TE, las acciones de hor ra r o actualizar s e r i n prohil)idas por el sisterria si tales at-cionrs putlic.ran violar la integridad referential.

Antes de dcjar esta tlefiniciJn de escluenia se delw mrncionar que, a diferrncia de las relaciones en cl modelo rrlacional, no se requicrc que each tahla SQL tenga una clave p i - maria. E n otras p a l a h a s . si no se indiva ninguna &we, mtonces dos filas de la t a l h p e - den t rner valores idinticos. Una t a l h SQL sr denomina multiconjunto (multiset) si purdc tener entradas duplicadas. De esta manera: SQL se aparta nn poco del modelo relacional. P o r supuesto, una tabla que no tenga clave primaria no put:dc ser referida mediante clave externa desde otra tahla (Date y Darwen, 1994).

Esta definicibn d e esquema describe la hasr de tlatos para cl SGBD, pero no causa clue se introtluzc~an datos concretos. Los valores se intrndncen y se manipulan mediante el lenguaje tle tiianipiilacibn de datos de SQL, clue se drscri1)iri en detalle en la prhxima seccihn.

Otras instruccionc.3 d e manipulacion d e esquemas. Junto con la ins t rnc~ihn CREATE T i B L E clue define m a nueva tahla, SQL-92 ofrece otras instrucciones para cambiar las definiciones de la5 t J ) l a s (ALTER TABLE) o para bor ra r las tahlas clel esquenia (DROP T4BLE). ALTER TABLE puede usarse para afiadir una columna a una tahla, camhiar la definicibn de m a coliimna rvlstente o eliminar nna columna de una tahla. DROP TABLE l w r r a r i todas las filas de la taljla y quitar j. del e-qnema la definiciirn completa cle la talda. Un esqnema completo puedr eliminarse tiiediante la instrucciirn DROP SCHEMA. Sin embargo, pnesto que Csta es una ol)eraciOn l)'~stante peligrosa, o hien CASCADE o RES- TRICT se clehcn especificar junto con ella.

DROP SCHEMA nombre d e esquema CASCADE

significa elinlinar el esquenia con ese nomhre a1 igual que tcrdas las tahlas. datos j otros rscluemas que aun existan.

DROP SCHEMA n o m b r e - d e - e s q u e m a RESTRICT

significa rliminar el esqnema shlo si todos 10s restantes objetos del esqnema ya han sido 1)orr;idoh.

Manipulacih de datos

SQL contiene una gran variedad de cal)at:itlatles tie tii;unipulaci6n de datos, tanto para consulta como para actualizacihn de una hase d r datos. Estas capacidades dependen sirlo tle la estructura lhgica de la base de datos, no de sn estructura fisica, consistente con 10s requisites del modelo relacional. Inicialmente, la estructura sintictica tle SQL fue mode- lada sohre el cilculo rrlacional de Codd. La unica operacihn del algebra relacional que era soportada fue la unihn. Sin embargo, SQL-92 implementa dirrctamrnte la uni6tl. la intersrccihn. la diferencia y la reunibn (join) y ademhs t i m e una sintaxis similar a la del cilculo relacional que ya tenia desde antes. Las operaciones de s r l r t ~ i h n (select), prtr- yectar (p ro jwt ) y producto estahan y continuan estando soportadas de una forma rle- mental, mirntras clue la divisi6n y la asignacihn son soportadas, a n n c p r tle forma m i s engorrosa.

Page 234: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

consulta simple. Una ronsnlta cjue irrvolut~a ulra sola tabla tlr la base d r datop.

clhusula SELECT. Srriala las columnas cjur sr desran en la conwlta.

c l h su l a FROM. Lista las tablas que son referidas por la consnlta

cliusula WHERE. Nos da la condici6n para seleccionar las filas de las tablas indiradas.

Prirnrro s r descrihirii el lenguajr de consulta d r SOL y luego las opcraciones para introdncir y carnhiar 10s datos. Por irltimo sr describirin las operacionrs de camhiar 10s datos porque sn estructura deprnde d r alguna forma d r la estrnctura tlrl lenguajr d r twn- sulta.

Consultas simples

Una consulta simple cs una ronsulta que a h t a a m a sola tallla dc la h a w tlr datos. Las consultas simples nos ayudan a ilustrar la rs trurtura hisica d r SQL.

Consul ta: iQu ienes son 10s fon taneros?

SELECT NOMB-TRABAJADOR FROM TRABAJADOR W H E R E O F I C I O = ' Fontanero '

Resul tado:

NOMB- TRABAJADOR C . Nemo H . Rickover

Esta consulta ilnstra las tres cliusulas rnis usadas del SQL: la c:liusula SEIXCT. la d i u s u l a FROM y la cliusula WHERE. Aunque en el rjcmplo anterior se han pnesto en linras srparadas, pueden colocarse r n la rnisma linra. TamhiPn s r lrs purde poner sangrias y los tkrminos drn t ro de las cliusulas pnetlen s rparars r por un nilrnrro arhi- t rar io d r rspacios en hlantw. Acontinuaci6n s r analizan las caractrristicas tlr vada c l iu - sula.

Select. La cliusula SELECT lista las cohrrrncis que sr drsran en el resnltatlo dc la con- sulta. Siemprr t i rnrn que s r r cdumnas de una tahla relational. En el ejrmplo anterior, la talda resultante t i rnr una sola colurnna (NOMB-TRABAJ-ADOR), pero podria tenrr varias colurnnas, o incluir valores calculados o valorrs literalrs. Se mostrar in ejemplos cle cada uno de Gstos. Si el rrsultado drsrado contiene m i s de una c:olumna Pstas se i nd iwr in en la cliusula SELECT srparadas por comas. Por rjrrnplo, SELECT 1D-TKABAJADOR, NOMB-TRABAJADOR causaria qu r ID-TRABAJADOR y NOMB-TRABAJADOR sean listados como columnas tlr la tahla resultantr.

From. La cliusula FROM lista una o mis tublus qu r van a s r r referidas en la consulta. Tocias las columnas relacionadas en la clirrsula SELECT o WHERE se dehen mcont ra r m una de las tahlas de la cliusula FROM. En SQL-92 estas taldas pueden definirse tlirecta- mente m el esqurma d r la hase d r datos como tahlas base o como vistas, o pudirran s r r m si misma5 tahlas a n h i m a s que Sean el resultado d r consultas SQL. En rstr illtirno raso. la consulta se da rsplicitamrnte en la cliusula FROM.

Where. La cl iusula WHERE contienr una rondici6n pa r a srlrccionar las filas de las tahla(s) que se dan en la cliusula FROM. En el rjemplo, la cond i c ih ha sido q u r la colurnna OFICIO d r h r tener el valor literal 'Fontanrro', kste s r pone rn t re comillas sim- ples, q u r es como se denotan 10s valorrs literalrs en SQL. La cliusula WHERE r s la 1116s versitil d r SQL y puedr contmer una gran variedad d r condicionrs. Gran par te d r lo qne sigur s r dedica a ilustrar las difrrentrs construcciones que se perrnitrn en la cliusu- la WHERE.

La consulta SQL antrrior se procrsa por el sistema en el ortlen FROM, WHERE, SELECT. Esto es, las filas de la tahla a la qu r se liacr refrrrnria en la cliusula FROM (TRABAJADOR en este caso) se "ponen" en un Area de trahajo para su prowsamirnto. Luego se aplica la cliusula WHERE a cada fila, una por una. Las filas que no satisfagan la

Page 235: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACION RELACIONAL CON SQL 219

literal cadrna de carartrres. Literales forniaclos por caracteres alfm~~mbricos y por caracteres "especiales".

operadores d~ comparaci6n =, 0, <. >, <=, >=

conectores booleanos AND, OR, NOT.

d iusu la WHERE no se toman en 4-uenta. Aquellas filas qne satisfagan la rlinsnla PC HE- RE se proresan por la clhusula SELECT. En el ejemplo se selecciona el NO'MB-TKABII- JADOR para cada una tle cbstas filas y todos estos valores se milestran en pantalla como resultado de la consillta.

Consul ta: R e l a c i o n e t o d o s 1 0 s d a t o s de 1 0 s e d i f i c i o s que Sean o f l c i n a s .

SELECT * FROM EDIFICIO WHERE TIPO = ' O f i c i n a '

Resul tado:

ID-EDIFICIO DIR-EDIFICIO TIPO NIVEL-CALIDAD CATEGORIA

31 2 123 Elm O f i c i n a 2 2 21 0 1011 B i r c h O f i c i n a 3 1 11 1 1213 ASDen O f i c i n a 4 1

El "*" m la c*liusula SELECT significa "la fila roinpleta*'. Esta vs una forma a l m - viada que se empleari con frernencia.

Consul ta: i C u a l es l a t a r i f a semanal de cada e l e c t r i c i s t a ?

SELECT NOMB-TRABAJADOR, ' T a r i f a semanal = ' , 40 * TARIFA-HR FROM TRABAJADOR WHERE TIPO = ' E l e c t r i c i s t a ' ORDER BY NOMB-TRABAJADOR

Resul tado:

NOMB- TRABAJADOR

C. Coulomb T a r i f a semanal = 620,00 D. Faraday T a r i f a semanal = 500,00

Esta consulta ilustra r l uso de 10s literalc5 alfanumkricos y de lo5 literales cadenas d e caracteres (en este rjrmplo .Tarifa semanal =') y el rilcnlo tleutro tle la clinsnla SELECT. E n la cliiusula SELECT se pueden definir rilculos que involucnn columnas numkriras y literalcs n~~mGricos cwnbinados con las operaciones aritmkticas es t indar (+, - , *, I) agrupadas con parintesis cuando sea necesario. Se ha incluido aqui una nueva r l iu - sula, la rliusula ORDER BY (ordenar por), que se uia para ordenar el resultado tie la con- sulta en ortlen alfanumCriro as tw~dente por la columna qae se especifique. Si se drsea en ortlen descendente entoncrs esto drlw esperifirarse afiadientlo a la orden "DESC". Se pile- den especificar miiltiples rolumnas en la cliusula ORDER BY. algunas pneden estar en orden ascendente y algunas en orden clescendente. La primera coliunna por la quc3 se (p ie - r e ortlenar se esperifira primero.

Consul ta: i Q u i e n e s t i e n e n una t a r i f a p o r h o r a e n t r e $10 y $12?

SELECT * FROM TRABAJADOR WHERE TARIFA-HR >= 10 AND TARIFA-HR <= 12

Resul tado:

ID- TRABAJADOR NOMB-TRABAJADOR TARIFA-HR OFICIO ID-SUPV

2920 R. G a r r e t 10,00 A l b a i i i l 2920 1520 H. R i c k o v e r 11,75 F o n t a n e r o 1520

Esta I-onsnlta ilustra algrinas caracteristicas adicionalrs de la c.liusula WHERE: Los operatlores de comparari6n y el conrctor booleano AND. Los seis operadores d e conlpa- raci6n ( =, o [no igual], <, >, <=, >=) se pueden usar para cornparar columnas con otras columnas o con literales. Los conectores booleanos AND, OR y NOT pueden usarse para w e a r condiciones compurstas o para negar una contlici6n. Los parkntesis tamhibn pueden

Page 236: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

iisarsr en la forina aroitunl1)rada tlr 10s lenguajrh de programaci6n para agrilpar eontli- ciones. Esta consnlta tamhibn huhiera podicio resolverse usantlo el operador RETWEEh (entre):

SELECT * FROM TRABAJADOR WHERE TARIFA-HR BETWEEN 10 AND 12

BETWEEN purde ilsarie en la cwinparaci6n de algiln \ . a h coil otros tlos valores. el primero rnenor clue el segnntio, para iaher s~ el ~ a l o r a roniparar est i entrr estos (105 \ a - lores.

Consulta: I n d i q u e 10s fontaneros, a l b a r i i l e s y e l e c t r i c i s t a s .

SELECT * FROM TRABAJADOR WHERE OFICIO I N ( ' F o n t a n e r o ' , ' A l b a t i i l ' , ' E l e c t r i c i s t a ' )

Resultado:

ID-TRABAJADOR NOMB-TRABAJADOR TARIFA-HR OFICIO I D - SUPV

1235 M . Faraday 12,50 E l e c t r i c i s t a 1311 1412 C. Nemo 13,75 Fontanero 1520 2920 R . G a r r e t 10,00 A l b a n i l 2920 1520 H. R ickover 11,75 Fontanero 1520 1311 C. Coulomb 15,50 E l e c t r i c i s t a 1311

Esta consiilta introtlucr e ilustra el uso del operador de comparacihn IN. La cliiis~l- la WHERE ha rvalnarlo 'true' si el t i p del oficio de la fila se rnclientra en el conjunto ' indieatlo entre parhtesis . esto es, si el oficio es fontanero. alhaliil o rlertricista. Ya trn- dremos mlis ocasiones de utilizar el operador IN cwmdo veamos las su1)consultas.

Sup6ngase clue no j)odemos r cwrda r exactamrnte el nomhre c:xacSto de u n oficio. Es caracteres c o ~ n o d i ~ ~ e s . decir. ,"Electi-icista", L'EISctricw" o 'LElectrhniro"'? Se pueden usar caracteres colnodines SiiiiI)olos espec.iaIes clue (wild card churc~cter) que son simholos espciales que valen como cua1cpic.r catlma no valrn por ciialqnier especific.ada de caracteres, lo clue hace mas f k i l si no sal)emos el non1l)re exacto en una radena tle carartcres. cc~iisulta.

Consulta: Encont ra r todos 10s c a r a c t e r e s cuyo o f i c i o comience con " E l e c " .

SELECT * FROM TRABAJADOR WHERE OFICIO LIKE ' E l e c % '

Resultado:

ID- TRABAJADOR NOMB-TRABAJADOR TARIFA-HR OFICIO I D -SUPV

1235 M . Faraday 12,50 E l e c t r i c i s t a 131 1 1311 C. Coulomb 15,50 E l e c t r i c i s t a 131 1

SQL tienr dos caracterrs comodines el 5% (tanto por ciento) y el - (su1)rayado). El suhrayado vale por rxactaniente urr carieter cnalquirra. El tanto por ciento vale poi- cero o rualqnier cantidad de caracteres no rspecificados. El operador LIKE se nsa pa r a c-omparar variables de cSarac:terrs con literales cuando se utilizan coniodines. Otros cjemplos:

NOMB-TRABAJADOR LIKE '-Coulomb' NOMB-TRABAJADOR LIKE '-C%'

En inglis in the set, dr a h i rl n o m h del oprrdor IN (N. tlel T.)

Page 237: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTAC~ON RELACIONAL C O N SQL 22 I

El primer ejemplo e ~ a l i l a \ t d a d e r o si NOMB-TRABAJ4DOR ronsiste de tres caracteres segnido de 'Coulo~nh'. P o r eje~nplo, en la relacihn T R 4 B I J IDOR. todos 10s nomhres de trahajadores comienzan por m a inicial. seguida de un punto y luego un e , p - cio. P o r lo tanto. la condicihn encontrar i a todos los tra1)ajadores cu!o apellitlo sea "'Cou- lomb". E n el seguntlo ejeniplo. la condicihn identifiearia a 10s tra1)ajadores cu!o apellido comience con "C'".

Consul ta: Encuentre todas l a s as ignac iones que comiencen en l a s dos proximas semanas.

SELECT FROM ASIGNACION W H E R E FECHA-INICIO BETWEEN CURRENT-DATE AND CURRENT-DATE + INTERVAL ' 1 4 ' DAY

Resul tado: (Suponiendo que CURRENT-DATE = 10110)

ID-TRABAJADOR ID-EDIFICIO FECHA-INICIO NUM-DIAS

Esta consulta ilustra el nso del operador BETWEEN con x alores de f w h a y el t i p inter\ alo de datos. CIJRREN-DATE (fecha actnal) es una filncicin que siempre devuehe la f w h a de ho!. La exprvsihn

CURRENT-DATE + INTERVAL ' 1 4 ' DAY

afiadv a la fecha actual un intertalo de dos semanas. Dc cstc modo se sclccciona lina tupla (asnmirndo qnc la fkcha actnal es 10110) si su columna FECIIA-IVICIO rstii r n el rango 10110 a 24/10. De aqui se puede \ er que se putden comhinar frrhas ron inter\ alos dc fecha mecliantr suina. Ta1nhii.n podria s r r nlrtliantr resta. Es m i s sr purdrn inul t ipl ic~~r ( * a m p s inter\ alos por \ alorrs entrros. P o r rjrmplo, snpongainos clue se qnirre idrntificar una feqha clue es t i una cierta cantidad de semanas m i s adelante (dada por la \ariable NUM-SEM4NAS). se p e d e escrihir

Consultas multi-tablas

La capacidad para concctar datos s o h las frontrras de las tahlas es rsencxial en cnalquier lrnguajr d r Lase dc datos. E n r l i1grl)ra rrlacional rsto se lle\a a c a h con la reunihn (join). Aunqur una gran parte tle SQL se ha inodelado drspuis del cilculo rrlacional. is te conecta 10s datos rntre las tahlas de la misma manera que la reunicin (join) del Algebra rela- cional. A contini~acicin se inuestra ccinlo se hace esto. Conhiderr la consulta:

Consul ta: LCuales son 1 0 s o f i c i o s de 1 0 s t r a b a j a d o r e s asignados a1 e d i - f i c i o 435?

Los datos necesarios par? responder a esta consd ta se enc*uentran en dos relaciones: TRABAJADOR y ASIGNACION. La solncihn SQL r rqu i r r r poner ambas relaciones en la cliusula FROM junto con un tipo particular de condicicin de cliusula WHERE:

Page 238: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

producto coartesiano. Krsnltatlo d r aparrar rada fila d r m a tahla cou to t las Ins filas tlr otra t a l h .

SELECT OFICIO FROM TRABAJADOR , ASIGNACION W H E R E TRABAJADOR. ID-TRABAJADOR = ASIGNACION . ID-TRABAJADOR

AND ID-EDIFICIO = 435

~ Q u b rs lo c p e es t i pawndo aqui? Se tleben consitlerar do.; pasos en r l prowsatnirn- to q u r ha(-(* el sistrma para la cwniulta:

1. Coino es usual. la r l iusnla FROM sr procrsa primero. E n rste cauo. sin e m l ~ a r - go, pnesto ( ~ u ( ~ hay dos ta l~ las en la clinsula, el sistrma r rca r l p roduc to car te- s iano d e las filas en rstas tahlas. Esto significa q u r se w r a (IOgicamrntr) una tabla rnorme q u r consistr tie todas las coh~rrrnas d e a m l ~ a s taldas, emparr jan- do cacia~Jilr1 d e una tabla con t.arlafila r n la otra tabla. E n estr rjernplo, pnrs- to clue hay tincw t d u n ~ n a s r n TRABAJADOR y cuatro rolutunas en ASIGNA- CIOK. h a b r i rntonces tlnrvr c:olumnas en el protlucto rar t rs iano erratlo por la t:liusnla FROM. El total d r filas cn estr produeto cartesiano r s rtt :+ n , donde m r s ql nilmrro d r filas d r TRABAJADOR y IL r s el nunlrro tie filas r n ASIGNA- CION: Puesto que TRABIJADOR tienr 7 filas y ASIGNACION t i m e 19 filas. (:I p r o d ~ t : t o cartrsiano ten(lr.6 7 * 19, o sea, 133 Silas. Una ilustraciirn tlr rsto s r (la en el Capitnlo h (Figuras h.h(a) y 6.6(b). Si hay m i s d e dos taljlas en la clinsula FROM. el prociurto cartrsiano s r crrarii con todas las tahlas en la cliusula.

2 . Despubs dc: crear esta relaciirn gigantr sc aplica la clinsnla WHERE, twino antes. Se exan~ina cada fila d e la relacihn rreada por la cliusula FROM conforlilt: a la c l ius~i la WIIERE. No s r twnsideran aqi~rl las q u r n o la satisfaren. La tdinsula SELECT s r ap1ic.a a las filas rrstantes.

La cliusnla WHERE r n csta consulta contiene dos condiciones:

La primera de estas twndicipnrs rs la relini6n (join). O h s e n e q n r puesto que tanto TR IBAJ 4DOR como 4SIGNACION contirnen una columna llamada ID-TRAB4,JIDOR. el produeto tle ambas relaciontss t*ontendri rlos cdumnas con rste nombre. Para clistinguir r n t r r ellab be pone como prefijc) a1 nombre de la columna el nomhre d e la relacihn d e la cual provienr la colutnna.

1,a primera rontlitihn estahlew t1ut3. para clue una fila cualquiera sea srleccionada. r l valor de la rolunina ID_TRAB4JADOR, que yroviene d r la relari6n TRABA.JADOR, drbe ser igyal a1 \ a h de la colunina ID-TRAB IJADOR que proviene de la relac+h ISlGN1CION. En rfrcto, se ehti I~aciendo una rtwniirn d e tlos relationes sobre la colum-

1 TRABAJAD0R.ID-TRABAJADOR NOMB-TRABAJADOR TARIFA-HR OFICIO ID-SUPV

1412 C . Nemo 13 ,75 Fontanero 1520 2920 R . G a r r e t 10,00 A l b a n i l 2920 131 1 C . Coulomb 15,50 E l e c t r i c i s t a 1311

Page 239: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACION RELACIONAL CON SQL 223

na I[>-TRAB4JADOR. Todas las filas para lab qut. estas (10s roluinnas no son iguales sc. t4i- minan cle la relacion proi1uc.to. Esto es lo que pasa prrc.isanwnte (.n la reuiiion natnral (nccturul joirr) clrl iilgch-a relacional. (Sin em1)argo. rsto difiere de la relu1i6n natural. !a cpw r n SQT, la coll~nina rrclundante TD-TRGBAJADOR rLo sta t h n i n a autoii~iticainente en SQL.) En la Fignra 7.2 se muestra la r m n i 0 n coniyleta de estas dos relac+)ntls (*on la (.on- diriirn adicional clr clue ID-EDIFICIO = 435. La aplic.ac.iirn tlr la c l i u s d a SELECT t~rotltt- I T 1.1 resultado final siguientc. ( 1 ~ la conslilta:

OFICIO

Fontanero A l b a h i l E l e c t r i c i s t a

Ahora se niostrarii c h n o se pnede h a r r r en SQL una reuni6n de una relaci6n consi- go misma.

Consul ta: I n d i c a r 10s t r a b a j a d o r e s con 10s nombres de s u s s u p e r v i s o r e s .

SELECT A.NOMB-TRABAJADOR, B.NOMB-TRABAJADOR FROM TRABAJADOR A, TRABAJADOR B W H E R E B.ID-TRABAJADOR = A.ID-SUPV

alias. tTn nom1)re La c-16nsula FROM en este ejemplo clefin(. (10s "copias" de la relacihn TR-IBAJ-1- ~ l t r r n a t l r o qnc s c 1c da DOR 4 lrs tla 10s alias 1 1 H . LIn alias es tin noinhre alternativo clue se Ir tla a m a r t h i h n . a una relaci6n. Las ropias i ! B dr TR-IB-IJlDOR se conectan en la c~linsula E I I E R E a1 hacer clue el

ID-TR4KAJ 4DOR en B sra igual a1 ID-TRABAJADOR & A . De modo clue cada fila en 4 se asocia t ~ ) n la fila en H tine twnticmc. la informaci6n sohre clue la fila ile A t3s su supervi- sor (Figura 7.3). Selett~ionanclo 10s dos nomhres de traljajatlor cle catla una de las filas se ohtiene la lista solicitada de pares de tra1)ajatlores con sus sqwrvisores:

A . NOMB- TRABAJADOR

M. Faraday C. Nemo R. Gar re t P. Mason H . Rickover C . Coulomb J .

6 . NOMB- TRABAJADOR

C . Coulomb H. Rickover R . Garre t P. Mason H . Rickover C. Coulomb B a r r i s t e r P. Mason

A.NOMB-TR4BAJ4DOR representa a1 trallajatlor y B. NOMB-TR.IBLIJAI>OR representa a1 superribor. Ol,ser\r clue algunos trahajadores se suyervisan a si mismos. cwmo se refleja en el h r rho de clue en esos casos ID-SUPV = ID-TR IBAJADOR.

E n SQL s r p e d e haoer una rennihn de m i s tle dos relaciones a la vez:

Consul ta: Ind ique 10s nombres de 10s t r a b a j a d o r e s asignados a e d i f i c i o s que Sean o f i c i n a s .

Se necesita hacer una reunion de las tres rrlarioiies para ohtener 10s datos. Esto se hacr en la cwnsulta siguiente:

SELECT NOMB-TRABAJADOR FROM TRABAJADOR, ASIGNACION, EDIFICIO W H E R E T R A B A ~ A D O R . ID-TRABAJADOR = ASIGNACION. ID-TRABAJADOR A N D

ASIGNACION.ID-EDIFICIO = EDIFICIO.ID~EDIFICI0 AND TIP0 = ' O f i c i n a '

Page 240: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

A . I D TRABAJADOR

1235 141 2

2920

3231

1520 131 1

3001

B . ID- TRABAJADOR 131 1

1520

2920

3231 1520 131 1 3231

A . NOMB TRABAJADOR

M . Faraday C. Nemo R. G a r r e t P. Mason H . R i c k o v e r C. Coulomb J . B a r r i s t e r

B . NOMB- TRABAJADOR C. Coulomb H . R i c k o v e r R. G a r r e t P . Mason H . R i c k o v e r C. Coulomb P. Mason

A . TARIFA-HR

12,50

13,75 10,00

17,40

11,75

15,50

8,20

B . TARIFA-HR

15,50 11,75

10,00 17,40 11,75

15,50

17,40

A . OFICIO

E l e c t r i c i s t a F o n t a n e r o A l b a n i l C a r p i n t e r o Fon tane ro E l e c t r i c i s t a C a r p i n t e r o

A . OFICIO E l e c t r i c i s t a Fon tane ro A l b a n i l C a r p i n t e r o F o n t a n e r o E l e c t r i c i s t a C a r p i n t e r o

A. ID-SUPV

1311

1520

2920

3231

1520

131 1 3231

A . ID-SUPV 1311

1520

2920

3231

1520 131 1

3231

Resultado:

NOMB- TRABAJADOR M . Faraday C. Nemo R. G a r r e t P . Mason H . R i c k o v e r J . B a r r i s t e r

Ol,si.r\ese clue ii un nonlhre tle columna (por ejemplo. I T ) -THABAJADOR o I D - E D I F I C I O ) aparere en ~ n i s de m a relwiOn se delw poner como prefijo tle la columna el nolnlrre de la relaci6n tlc dontle provienc. para mitar am1)igiiedatl. Pero si el nomhre de la collimna aparecr en una iola relaciim. cwno e5 el caio de T IP0 en este ejemplo. entoll- c r i no hay anihigiiedatl y no tli necesario n i n g h prefijo.

Eita i n i t r u w i h SQI, origina la c r t a c i h de una sola rrlacihn a partir de tre5 rela- ciones de la base de datos. Las dos pri~ncras relaciones i r reunen con 11 ) -TRABAJADOR, deipubs tle lo cr~al se hatee una rennibn aol)re ID -E1 ) IF IC IO de la rrlacihn resultante con la tercera rrlacihn. La condirihn

TIP0 = ' O f i c i n a '

en la cliusula WHERE have clue se clirninen todas las filas, excepto quel las que cumplen q11e LOB edifirios son oficinas. Esto satisface 10s rrquisitos de la consulta.

Subconsult as

snbconsulta. Una Una subconsulta, o una cwnsnlta tlrntro de una consults, ~)uecle 1)onerse dentro de la cliu- consulta dentro de nna sula WHERE de una consulta. Esto produce una eapans ih tle las capacidades de una cwnsulta. cliusula WHERE. Considi.rrsr el ejeruplo siguiente:

Consulta: LCua les son 1 0 s o f i c i o s de 1 0 s t r a b a j a d o r e s as ignados a 1 e d i - f i c i o 435?

Page 241: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACI~N RELACIONAL CON SQL 225

consulta ex t r r r~a . 1,a consulta 11rincil)al clue contienr a lai hul~c~c~ns~dtas.

sul)cor~suIta no correlarivnada. lTna snbconiulta cqws valores no tlcpenden dc ningnna con5dta mis rxterna.

Sr u i a r i vstr rjetnplo lm-a ilnstrar la renni6n (join). Las su1)c~onsultas nos clan una eqni\ alencia t~arcial con m a reuni6n.

SELECT O F I C I O FROM TRABAJADOR WHERE ID-TRABAJADOR I N

(SELECT ID-TRABAJADOR FROM ASIGNACION WHERE I D - E D I F I C I O = 435)

En este ejemplo la su1)consulta es

(SELECT ID-TRABAJADOR FROM ASIGNACION WHERE I D - E D I F I C I O = 435)

La consnlta t l ~ ~ t ~ ~ n c I u > e a r+ta suhcwnsnlta sc, denoniiua c o n s ~ d t a cxterna (outer query) o c*onsulta prinvipal. La +ul~consulta proFoca clue se genrre el signientc conjnnto tle 1Ds d r tra1)ajadores:

ID- TRABAJADOR 2920 1412 131 1

Estr conjunto de IDs ocnpa el lugar tlr la s i~b t~ons~i l t a para la consulta m i s c ~ t c ~ n a . En estr pnnto la cwn~ulta externa se ejwuta usando el coujnnto generado por la s n 1 ~ 1 1 i - snlta. Esta tvmsulta e ~ t e r n a pro\oc*a clue cada fila de TRLZRiJAlIOR sea r\trlnatla con resperttr a la t~lbusula HEKE. Si en el ID-TR lBAJADOR de la fila es t i (I\). el vonjun- to generado tlor la sn1)consulta se srltwiona en el campo OFICIO de la fila y se mnestra en pantalla conio resultado de la t -onb~~lta:

O F I C I O F o n t a n e r o A l b a i i i l E l e c t r i c i s t a

R+ mu) importantr clue la c.lbusula SELECT de la snlrconsulta contenga a ID-TRI- B iJ W O K ? sdlo a ID-TRAHIJ4DOR. Dta lo contrario, la claninla WHERE de la (.on- snlta externa qur t-stalllrce si 11)-TR4B4JADOR estii en (111, n n conjunto de IDs tlr tr'r- hajatlores no tendrie sentdo.

0 l ) sCr~ese qut. la snlwonsulta puetle cjccntarse 16g1caniente antes de qne cllgur~cl fila sea examinade IWI- la c o n i ~ ~ l t a principal. E n c i ~ r t o sentido, la sulwoniulta t.s ill- dependiente tle la consulta principal. Esta ~ ~ o t l r i a ejecutarse como una consulta propla- mente &ha. Se (lire clue ei ta c law tle subconsulta n o e s t i correlacionada con la con- sulta principal. Como se v e r i en h r c ~ e . las subconsultas pudieran t a m l h e i ta r correlacionatlas.

A continuaciim se d a un ejemplo de una subcon~nlta dentro de una snhconsulta.

Consulta: I n d i c a r 1 0 s n o m b r e s d e 1 0 s t r a b a j a d o r e s a s i g n a d o s a e d i f i c i o s q u e S e a n o f i c i n a s .

De n w v o v a m o ~ a t rahajar cwn la consulta que se ns6 para estudiar la rruni6n (.join).

Page 242: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

SELECT NOMB-TRABAJADOR FROM TRABAJADOR WHERE ID-TRABAJADOR I N

(SELECT ID-TRABAJADOR FROM ASIGNACION WHERE I D - E D I F I C I O I N

(SELECT I D - E D I F I C I O FROM E D I F I C I O WHERE T I P 0 = ' O f i c i n a ' ) )

Resultado:

NOMB- TRABAJADOR M. F a r a d a y C . Nemo R . G a r r e t P . Mason H . R i c k o v e r J . B a r r i s t e r

0l)icrve que no scs han pueito prefijos a ningim u o m l ) ~ tlv columna. Esto ic dehr a qur cada subconsulta tiene clue vcr s6lo con una relaciim, [)or lo cjue no da lugar a anh i - giiedad.

La evaluacihn de esta coniulta procede de adentro hacia afr~era. Por tanto. la snb- consulta nl is interna ( o la '-miis a1 fondo")' i e evalila primero. luego la su1)roninlta cjue contiene a Gsta y m i s tardc la coniulta externa.

Subconsultas correlacionadas. Las suhconsultas (11~. hemos estudiado hasta ahora son indrprndientrs tle la consulta m i s externa que las usa. Pol- c1sto entendemos que las s d - consultas podrian existir como consultas por derecho p rop io Ahora vamos a ver una clase de suhconsultas cuyos valorcs en ejecuciOn deprntlen de la fila qu r r s t i siendo exa-

suhronsidta rninada por la consi~lta principal. Tales suhconsultas se llaman suhconsultas correlacio- correlarionada. 1Jna nadas. si~l~c~onsulta cuyos resultatios dcpendm Consulta: I n d i c a r 1 0 s t r a b a j a d o r e s q u e r e c i b e n u n a t a r i f a p o r h o r a tic la fila que sc estli m a y o r q u e l a d e s u s u p e r v i s o r .

e~atninantio por una consulta miis rxterna. La p a l a h a pivote en rsta ccrnsulta es st^. Esto rs, la fila dr l supervisor a examinar

depmde directammte de la fila d r l trahajatlor que estli sirndo examinada. Esta consulta puede resolverse usando una subconsulta ccrrrrlacionada.

SELECT NOMB-TRABAJADOR FROM TRABAJADOR A WHERE A.TARIFA-HR >

(SELECT B.TARIFA-HR FROM TRABAJADOR B WHERE B.ID-TRABAJADOR = A.ID-TRABAJADOR)

Resultado:

NOMB- TRABAJADOR

C . Nemo

Los pasos lhgiros involuwados en la rjecuci6n de esta consulta son 10s siguientes:

1. El sistema hace dos ccrpias de la r r l a c i h TRABAJADOR, la copia A y la copia B. Corno ya se han definido, A se refiere a 10s trabajadores y B se refiere a 10s super- visores.

En ingljs. bottorn-rnost ( N . drlT.) .

Page 243: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTAC~ON RELACIONAL CON SQL 227

operador EXISTS. Evalia verdadero si el conjunto resnltante es no vacio.

operador NOT EXISTS. Evalha vertlatlero si el ronjunto resultante es v a t h .

2 . El sistema examina entonces ratla fila tle .-I. Se sclect*iona m a fila si satisface la contlicibn tle la cliusula WHERE. Esta c.ondicicin rstablrcr cjue catla fila s e r i seleccionada si su TARIF.4-HR es nlnyor que la TAKIF,4-HR generatla por la su1)t:onsulta.

3. La suhcousulta selecxiona la T.4RIF24-HR de las filas tle R cuyo ID-TR.ABBJ.4- 1)OK sea igual a1 del TD-SIJPV de la fila tle A clue es t i siendo c,xaminatla por la ronsulta principal. Esta es la TARIFA-HR tlel supervisor de la fila de A .

0l)s irvese quc puesto clue 4.TARIFA-IIR 5610 puedc compararsc con un valor sim- ple. la s u h c o ~ ~ s d t a delw entonres neresariamente generar nn unico valor. Este valor rambia dependiendo de la jila de A que estii siendo exarninada. De este modo, la s d - ctrnsulta es t i correlac*ionada con la ronsulta principal. Se v e r i n otras ap1ic.aciont.s tit. lab suhconsultas rorrelac*ionadas m i s atlelante cuando se estutlien lab funtiones inttxgratlas (built-in).

EXISTS y NOT EXISTS

Supongarnos quc sr qnierr tlrtet-tar a todos 10s tr'lhajadores que no est in asignatlos a un dcterminado edificio. Al~arentenit,ntr una consnlta como is ta 1)arereria resolverse fic.11- mente por la simple negac.ihn de la vrrsibn afirmativa tle la consulta. Supongamos. por ejemplo, que el etlificio tle inter65 es el que tiene ID-EDIFICIO 435. consitlirese esta so- lurihn:

SELECT ID-TRABAJADOR FROM ASIGNACION W H E R E ID-EDIFICIO < > 435

D~,graciadamet~te, is ta es una mala formulaci6n tle la soluci6n. Esta soluricin sim- plemente da 10s IDs de 10s tra1)ajadores que est in trahajando en otros edificios cjur no son el 435. Ohviamente dgunos de estos trabajadores pudieran tamhi6n estar abignados a1 edi- ficio 435. Una ioluci611 correcta podria utilizar el operador NOT EXISTS:

SELECT ID-TRABAJADOR FROM TRABAJADOR W H E R E NOT EXISTS

(SELECT * FROM ASIGNACION WHERE ASIGNACION . ID-TRABAJADOR = TRABAJADOR . ID-TRABAJADOR AND

ID-EDIFICIO = 435 )

Resultado:

ID- TRABAJADOR

Los operadoresEXISTS y NOT EXISTS siemprta precedrn a una suhtwnsulta. EXITS eval ia verdadero si el suhconjunto resultante de la suhconsulta no es vacio. Si el conjunto resultante es vacio, entonces el operador EXISTS da valor falso. El operador NOT EXISTS naturalmente trabaja de modo opuesto. Este rva l ia verdadero si el conjun- to resultante es vacio y falso en caso contrario.

E n este ejemplo s e h a usado el NOT EXISTS. La suhconsulta selecciona todas aque- llas filas en ASlGNACION que tienen el mismo ID-TRABAJADOR que la fila que estL siendo examinada por la consulta principal y clue ademis tienen ID-EDIFICIO igual a

Page 244: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

435. Si este conjunto es vacio entonws sr ieleeeiona la fila tra1)ajaclor que se es t i exami- nando en la c.on,rilta principal, puesto clue eqto significa clue el trahajador en cuesti6n no trahaia r n el etlificio 435.

La soluci6n qne se tiene aqui i n ~ o l u c r a a m a su1)roniulta corrrlacionada. Si ye usa Ih en lugar cle NOT EXISTS. i e puetle usar una su1)cwnsulta no correlaeionatla:

SELECT ID-TRABAJADOR FROM TRABAJADOR WHERE ID-TRABAJADOR NOT I N

(SELECT ID-TRABAJADOR FROM ASIGNACION WHERE I D - E D I F I C I O = - 4 3 5 )

Esta solucihn tamhibn es miis simple que la soluci6n usantlo NOT EXISTS. Poi- lo tanto, parece natural 1,reguntarse por club tentlriamos que w a r EXISTS > NOT EXISTS. La respuesta es siinl)lt.incmte clue NOT EXISTS ofrece la ilnlt-a forma di,ponil)lc clc. resol- bet. cc~nsultas clue cwntvngan el cuantifiraclor "'toclos" en , ~ I I eonditihn. En c.1 Capitulo 6 se I i o clue tales wnsultas sc. r t soh ian con la tli1isi6n en el Llpehra relational y (.on el cuanti- fieador univc~rsal r u el vilcnlo I-rlarional. El siguiente ejrnlplo ihistra una ronsulta que rontiene el cnantific-atlor %dos" en su condici6n:

Consul ta: I n d i c a r 10s t r a b a j a d o r e s que e s t a n as ignados a todos 1 0 s e d i - f i c i o s .

Esta ronsnlta purtle resolverw r n SOL asantlo una dohle negarihn. La ronsulta con esta dohle negacihn es:

Consul ta: I n d i c a r 10s t r a b a j a d o r e s t a l e s que NO hay un e d i f i c i o a1 c u a l NO e s t e n as ignados.

Se han enfatizado las (10s negacionts. Dehe estar claro q u r esta eonbulta es lbgica- mente equivalente a la anterior.

Formdemos ahora una solucihn en SQI,. P a r a ar larar esta illtinla soluri6n. p r i n ~ e r o tlaremos una soluci6n al prot~lrma preliminar: el problema clr iclentificar 10s edificios a cjue un trahajatlor hipotitico "1234" no ha ,itlo asignado.

( I ) SELECT I D - E D I F I C I O FROM E D I F I C I O WHERE NOT EXISTS

(SELECT * FROM ASIGNACION WHERE A S I G N A C I O N . I D ~ E D I F I C I 0 = E D I F I C I O . I D ~ E D I F I C I 0 AND

ASIGNACION.ID-TRABAJADOR = 1 2 3 4 )

Se ha etiquetatlo e9ta ronsulta con (I) porque mas atlelantc se harL referencia a la misma. Si no ha) ningkn edificio que satisfaga esta consnlta, entonces el trahajador 1234 dehe asignarbe a todo etlificio y satisface la consulta original. Para ohtener una solnci6n a la consulta original, el siguiente pas0 es generalizar la consulta (I) clel trahajador espeif i - co 1234 a una variahle ID-TKAB4JADOR y hacer que esta consulta con clicha modifiva- ci6n p a w a ser una su1)ronsulta de una consulta m i s grande. Esto se logra de la sipuiente forma:

( 1 1 ) SELECT ID-TRABAJADOR FROM TRABAJADOR WHERE NOT EXISTS

(SELECT I D - E D I F I C I O FROM E D I F I C I O

Page 245: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTAC~ON RELACIONAL CON SQL

funci6n integrada. LTna funci6n estatlistica que opera bohre un c o n j ~ n t o dr filas - SII,M, AVG , COUNT. MAX, M1N.

funci6n de conjuntos. Una funci6n intrgrada.

WHERE NOT EXISTS (SELECT * FROM ASIGNACION WHERE A S I G N A C I O N . I D ~ E D I F I C I 0 = E D I F I C I O . I D ~ E D I F I C I 0 AND

ASIGNACION.ID-TRABAJADOR = TRABAJADOR.ID-TRABAJADOR ) )

Resul tado:

ID- TRABA JADOR 141 2

01)16r \1v que la iut)cwniult:~ (1111' romienza en la rnarta linea tle la twnsulta (11) e5 ~t l lnt ica a la cwninlta (I). rxcy)to que ie ha rwmplazatlo el "1234" twn TRAB4- JAUOH.11)-TRABIJAUOR. La couiulta (11) ie puetle leer ronlo iigne:

S e l e c c i o n e ID-TRABAJADOR de TRABAJADOR s i no e x i s t e un e d i f i c i o a1 c u a l ID-TRABAJADOR no e s t e as ignado.

Esto iatiifere el 1-tynsito tle la coniulta original. Se Te entoncei qnr el NOT EXISTS ie puetle nsar pr .1 fornlular reipueitas a tipoi

tle wniu l ta i para 10% cualei ie newiitaria la operacihn tle t l n l i i h tlel Llgchra relacional o el c*nantificatlo~ unij er ia l tlel r i i l d o relational (Ca1)itnlo 0 ) . Sin eml)ar;o, en tCrminos tlr farllitlatlri tlr uso. el operatlor NOT EXISTS no parrce ofreerr nlnguna lentaja r n par- ti(81ildl. E i ( I w i ~ . IIO parece true la i cwniultas SQL qne usen (lob j e w i el NOT EXISTS wan m i i fht-ilri d r r n t c d e r (pie lai iolucionei clue u ian la t l i~is i6n en el Llgehi-a rrlarional o rl cwantificatlol unlveridl en el cilculo relacional. Se ncwii tan imestigaciones ,~tlir~onalt.s 1)ara ( h ; w r c ~ l l a r c o n i t r u t ~ i o n ~ ~ lingiiistieds q u r pet mitan m a ioluciim m i s natural d estos tilwi tle twninltas.

Funciones integradas (built-in functions)

Coniidcrc preguntas como bstas:

iCuales son lus turifus menores y muyores por horu? ~Cur i l es el prornedio de dius que estcin usigncldos 10s trt~bujudores ul edificio 435? i C u d es el nunlero total de dios usignudo u fontunericl en el edjficio 3122 ~ C u a n t o s tipos diferentes de oficios hug?

Estas preguntai requleren tle fnnciones estadisticas clue examinen un conjnnto tlr filai en una relaci6n > l~rot luzran un solo v a l o ~ . SQL probee tales funcionei clue se deno- minan funciones integradas (built-in) o funci?nes d e conjuntos (set functions). Lai rintw funrionei ion SUM. AVG. COUNT. MAX y MIN.

Consul ta: i C u a l e s son l a t a r i f a po r h o r a menor y mayor?

SELECT MAX(TARIFA-HR) , MIN (TARIFA-HR) FROM TRABAJADOR

Resultado: 17,40, 8 ,20

Las funciones MAX y MIN ope1 a n d r e nna sola colurnna de la 1 r l a t ~ 6 n . Seleccio- nan rrypectivamente el valor ma>m el menor de 10s clue ie encuentran m la columna. La soluci6n a esta roniulta no incln>e nna t~l iusula WHERE. Este no rs necesariamente el caio en la mayoria tle la i cwniultas. romo se rnue5tra en el ejemplo iiguiente.

Consul ta: i C u a l es e l promedio de d i a s que 10s t r a b a j a d o r e s e s t a n a s i g - nados a1 e d i f i c i o 435?

Page 246: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACI~N DE BASES DE DATOS

SELECT AVG(NUM-DIAS) FROM ASIGNACION WHERE I D p E D I F I C I O = 4 3 5

Resultado: 1 2 , 3 3

Pard ralcular este promrctio s6lo se lian considerado la? filas tie 4SIGNACIORJ rorrrspontlientrs al ctlif~cio 4 3 . 5 . Como es normal r n SQL. la t.liusnla F HERE restringtb las filaz se tlrbrn rousidrrar.

Consulta: X u a l e s e l numero t o t a l de d ias asignados a fontaneria en e l e d i f i c i o 312?

SELECT SUM (NUM-DIAS ) FROM ASIGNACION, TRABAJADOR WHERE TRABAJADOR . ID-TRABAJADOR = ASIGNACION . ID-TRABAJADOR AND

O F I C I O = 'Fontanero' AND I D _ E D I F I C I O = 3 1 2

Resultado: 27

Esta soluribn uia la relmi6n d r ,GIG\ ACION y T R A R i J IDOR. Esto fur yrrrsdrio picsto yur OFICIO rsth cn TRABAJADOH e ID-EDIFILIO r s t i en 4SIGh 4CIOh.

Consulta: LCuantos t i p o s de o f i c i o s d i f e r e n t e s hay?

SELECT COUNT ( D I S T I N C T O F I C I O ) FROM TRABAJADOR

Resultado: 4

Puesto qu r el misuio oficio sr rrpite vnrias vcccs C I ~ dif'rrrntes filas. es necesario usar la p a l a h a clavr "DISTINCT" en esta consulta. Dr rsta manera: cl sistrma no curnta el

DISTINCT. Operaclor nlisnlo t i p de oficio miis dr una vrz. DISTINCT purde usarsr con cualt[i~iera dr las,fun- tpr dimina las fitas citpcs intrgradas, aunqur rs un oprrador redundant? en el r a w cir las funciones M:4X y tli~plicadas. MIN.

SVM y AVG d rb rn eml~lrarsr con columnas qn r son llur~~bricas. Las otras funcio- nrs purtlen usarse con tiatos nu1p6riyos 9 con _cadenas-& r a r w t r r r m Ttdas-las fun;

- - - -

- - - - - - - - - - - - - c i i ~ n ~ s . ~ e ~ c ~ ~ , t ~ ( ~ O U K T . purden aplicarsr a rsprrsiones quc cornputen un valor. P o r

e j~mp lo :

Consulta: Xu61 e s e l sa la r io medio semanal?

SELECT A V G ( 4 0 * TARIFA-HR) FROM TRABAJADOR

Resultado: 5 0 9 , l 4

COUNT i e puede rrferir a filas r o ~ n ~ l e ~ a s m lugar de a una sola colurnna:

Consulta: LCuantos e d i f i c i o s t i enen n i v e l de calidad 3?

SELECT COUNT ( * ) FROM E D I F I C I O WHERE NIVEL-CALIDAD = 3

Resultado: 3

Page 247: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACION RELACIONAL CON SQL 23 1

Como muestran totlos estos ejrmplos. si m a funci6n intrgrada aparrce en una (.law sula SELECT. rntonces nada m i s clue f~uiriones intrgradas pueden aparrt2er en dicha rliusula SELECT. La imira exc.rl,cibn orurre en c.onhinarii,n I-on la rliusnla GKOUP BY, q u r w rxaminari a rot~tinuacii,n.

GROUP BY y HAVING

Lcrs dirigentes est in a mrnudo intercwdos rn conocer inf'ormaciOn estadistira clue w apli- q u r a v a d a g r u p drntro de un ronj~into dc grnpos. P o r ejempln. considcremos la c~msul- ta siguirntr:

Consul ta: Para cada s u p e r v i s o r , i c u a l es l a t a r i f a por horas mas a l t a que se l e paga a un t r a b a j a d o r que i n f o r m e a e s t e s u p e r v i s o r ?

Para r r s o h r r csta r o n d t a se tlehen divitlii 10s trahajadorrs (-11 grupos. cbn 10s que e n cada grupo rstbn 10s trahajador es q u r inforinen a un n~ismo wprrcisor. 1,uego s r deter- inina el papo n ~ i x i m o en d a grulw. Esto se hace en SOL de la manera siguirntr:

SELECT ID-SUPV, MAX(TARIFA-HR) FROM TRABAJADOR GROUP BY ID-SUPV

Resul tado:

ID-SUPV MAX(TARIFA-HR)

1311 15,50 1520 13,75 2920 10,00 3231 17.40

P a r a procrsar rsta consnlta, el sistvma procrde dividirndo primrro en prnpos las filas de TRABAJADOR, usantlo la siguirnte regla: Las filas se ponrn r n nn mismo grupo si y sblo si tienen r l mismo ID-SUPV. Luego sc aplica la cliusula SELECT a rada grupo. Pursto que u n grupo dado sblo purtle t r n r r un valor para ID-SIJPY. no hay amhigiirtlad con el valor de ID-SUPV para rse grupo. La clausula SELECT muestra ID-SUPV y ralcu- la y murstra MAX(TARIFL4-HR) para cada gru,po. El rrsultatlo qurda comtr se mostri, arr iba.

SOlo 10s n o ~ n l ~ r e s de columna que aparrzcan e n una clausda GKOUP BY purden aparrcer en una cliusula SELECT que trnga tamhibn una funcibn intrgrada. Notr que ID-SUPV puedr aparecer r n la cliusula SELECT puesto que a p a r r r r en la rliusula GKOUP B\-.

cliusula GROUP BY. La cliusula GROUP BY sugiere la posibilidad de hacr r calculos sofisticados. P o r Indira cuaIrs filas d r b m rjemplo, se puede querer conocer r l promedio de totlas estas tarifas miuimas. Los agruparsc s o l ~ r r un valor calculos dentro tle las funriones intvgradas s r restringen d r m o t h qlir ninguna f u n c i h comun d r las cnlumna(s) intrgrada purde contrnrr a su vrz crtra funcibn intrgrada. D r no do q u r lina exprrsi0n rspecificada(s). romo

es ilegal. Resolver una ronsulta romo t s ta rrquiere doh pasos. El primer p a w seria p m r r las tarifas horarias miximas r n una nueva rrlaribn y el seg~indo paso srria ralrular r l pro- niedio dr bstas.

Es vilido usar una c l i ~ i s ~ ~ l a WHEKE con un GKOITP BY:

Page 248: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Consulta: Para cada t i p 0 de e d i f i c i o , i c u a l es e l n i v e l de c a l i d a d medio p a r a 1 0 s e d i f i c i o s de c a t e g o r i a I ?

SELECT T IPO, AVG(N1VEL-CALIDAD) FROM EDIFICIO W H E R E CATEGORIA = 1 GROUP BY TIPO

Resultado: T I P 0 AVG(N1VEL-CALIDAD)

Cornercio 1 R e s i d e n c i a 3 Of i c i n a 3 , 5

La c.liu*ula \k HERE st. t+cwta ante* tIe la rlinsnla GROlJP BY. Ue este motlo. nin-

Consulta: Para cada s u p e r v i s o r que d i r i g e a mas de un t r a b a j a d o r , i c u a l es l a t a r i f a p o r ho ras mas a l t a que se l e paga a un t r a b a j a d o r que i n f o r m e a d i c h o s u p e r v i s o r ?

Esta ronsulta se podria t ~ l ; u ~ t e a r usantlo la clinsnla H24VING:

SELECT ID-SUPV, M A X ( T A R I F A - H R ) , FROM TRABAJADOR GROUP BY ID-SUPV HAVING COUNT( * ) > 1

Resultado:

ID-SUPV MAX ( TARIFA- HR)

La tliferenria r n t r r la rliusula WHEKE y la cliusula H24VING es que la r l i u d ~ WHERE se aplira a l a s j l a s , mientras que la rliusula HAVING se aplica a los grupos.

Una ronsulta puede twntener amhas rliusulas, tanto una WHEKE como una HAVING. E n tal c a w , la rliusnla WHERE se aplira primero, puesto que se ap lka antes cte que los prrlpos e s t h formados. Consideremos, por ejmmplo. la iiguiente rev~sihn a nna (,on- sulta formrdada previamente:

Consulta: Para cada t i p 0 de e d i f i c i o , i c u a l es e l n i v e l de c a l i d a d medio de 1 0 s e d i f i c i o s con c a t e g o r i a I ? C o n s i d e r e s o l o a q u e l l o s t i p o s de e d i f i c i o s que t i e n e n un n i v e l de c a l i d a d maximo no mayor de 3 .

SELECT T IPO, AVG(N1VEL-CALIDAD) FROM EDIFICIO W H E R E CATEGORIA = 1 GROUP BY,TIPO HAVING MAX(N1VEL-CALIDAD) <= 3

Resultado:

TIPO

Comerc io R e s i d e n c i a

Page 249: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACION R E L A C I O N A L C O N SQL 2 3 3

Ol)sbr\rse q n r . c~inl~emntlo por la rlriusula FROM. la, rliius~ilas r n la& ~nstrnceio- n rs SQL se aplirdn r n orden y 1;1 cl insula SELECT scB aplira a1 final. P o r tanto. la rliiu- sula WHERE es aplit-atla a,la rrlaricin EDTFICIO. I-on lo q u r stx desrar tan todas las fi- las clue tiencn CATEGORIA tlifrrentr dc 1 . Lab filas q u r quedan st. agrupan por TIPO. qurclando todas las filah tle un tilbo r n u n n~ismo grlllm. Esto t w a un n u n ~ e r o d e grupos -uno por catla valor de TIl'O-. La c,liusula HAVING s r aplira rntonres a rada uno d e estos grnpos p aquellos clue tienen un nivrl d r calidatl mhximo por cnc in~a dt . 3 se el in~inan. F ina ln~rn te , la r l i i u s ~ ~ l a SELECT se apl i ra a 10s grupo5 rrs- t a n k s .

Funciones integradas con subconsultas

Una funcicin integrada (built-in) Imrdr a p a r e t w s6lo r n una clLusula SELECT o r n nna t.liusula IIAiF ING. Sin embargo. una clhnsula SELECT que rontenga una funtihn intrpra- da purdr her parte t l c m a ~ u l ~ c o n s u l t a . A continuacicin be \e ra tin r j cn~plo d r una tal sull- consulta:

Consulta: iQue t r a b a j a d o r e s rec iben una t a r i f a por hora mayor que l a d e l promedio?

SELECT NOMB-TRABAJADOR FROM TRABAJADOR WHERE TARIFA-HR >

( SELECT AVG(TAR1FA-HR) FROM TRABAJADOR )

Resultado:

NOMB- TRABAJADOR

C. Nemo P . Mason C. Cou lomb

Ohsrrve q u r rsta suhconsulta es una suhconsulta no correlacionada, clue 1)roduce prwisainentr un valor, el p ron~rd io de las tarifas por hora. La consulta intipa pal selrc.rio- na un t rabajador s610 si su tarifa por hora es mayor que el pronletlio que ha sitlo calcula- do por la suhconsulta.

Las suhconsultas corrrlationadas se purdrn usar junto con las funcionrs inte- gradas:

Consulta: iQue t r a b a j a d o r e s r e c i b e n una t a r i f a por hora mayor de l a d e l promedio de l m t r a b a j a d o r e s que dependen d e l mismo s u p e r v i s o r que e l ?

E n este raso, en lugar de ralcular un solo proinedio para todos 10s trahajadores, s r dehe calcular el promedio para cada grupo dr trahajadorrs que inforn~an a un rnismo supervisor. Es mhs, estr cilculo se delw llevar a caho de nuevo por rada t rahajador que estG siendo rxaininado en la consulta principal ".

SELECT A.NOMB-TRABAJADOR FROM TRABAJADOR A WHERE A.TARIFA-HR >

(SELECT AVG(B.TARIFA-HR) FROM TRABAJADOR B WHERE B.ID-SUPV = A.ID-SUPV )

" Obsrrve t p r p r d r rstar en un grnpo a1 r111c !a alguna vrz sc le calruli, el promrrlm (N. tlcl T ).

Page 250: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

nni6n colnpatihle. Dos o inis relacionri tlnr titmt.n twlnnmai rtpivalcntrs. tanto en niiinrro coino rn tlonlinios.

Resul tado:

A . NOME- TRABAJADOR

C . Nemo P . Mason C . Cou lomb

La clausula W H E W clt. la su1)ronsulta contienc la condic%n crucial cle la twrrela- cibn. Esta contliribn garantiza clur el prornrdio 5e le ralculr 5610 a acjwllos tra1)ajadort.s (pie trngan el rnisrno s ~ ~ p e r v i s o r cpe el t r a l ~ j a t l o r qur rsth siendo examinado por la con- sulta principal.

Operaciones del Algebra relacional

Corno s r h a seiialatlo anteriorrnenttl y como drhe prol)al)lr~nente balm o l w r v a d o , SOL parecr tener r l sahor tlrl c i l rulo rrlacional run una lista de salida (la c lhusda SELECT) y una instrnccihn tlr c~alificaci6n (la clhusula WHERE). Sin rmhargo, SOL-92 h a irn- plrrnt.ntado un u i ~ m e r o d e ol)c.raciones clel hlgehra relacional, qne sc. rstudiarhu a conti- n u a c i h . Especifitwnmte, la unibn, la iuterseccibn, la tlifrrenria y la r e ~ l n i i ~ n es t in dis- 1wnil)les rorno operadores explicitos en SOL-92. Examinemc~s por orden cada uno d e ellos.

Opcradores UNION, IRTERSECT y EXCEPT. Conio en el algr1)i-a rdarional. la unibn, la intrrsec:rihu y la (liferenria son o1)erarioues clue se aplican a (10s rrlacioncs a la vez. que d r b r n st:r u n i h compatible. Este tCrrnino tiene un significado ligeramente difrrente en SOL. Dos rrlacitrnes son m i i m cornl)atil)le si tirrirn el rnisrno nuinero d r c:olurnnas y las cc~lumnas respectivas en cada relacibn tieurn tipos de datos compati1)lrs. Es decir, tipos tle tlatos qne se p i e d a n ronvertir d r manera diret,ta d e uno a otro. P o r rjeinlblo. dos t i p s numbricos no necesitan ser itlSntieos7 p r o lino deher i ser converti1)le a1 otro.

Para la disrnsi6n d e la nnihn. la intrrst.cci6n y la diferenria usareinos 10s mismos rjemplos utilizados r n a1 Capitulo 6 para rstas oprracicrnrs e n el ilgehra relacional (E'ign- r a 7.4). Esta ficura muestra (10s re1ariont.s d e vendrclores, una wnsistente en vrndrdores

u

qne tienen algun jefr y otra d e 10s vendedores que son jefes d r alguirn.

VEND-SUBORDINADO

ID- VENDEDOR NOME- VENDEDOR

10 Rodney J o n e s 14 M a s a j i M a t s u 23 F r a n ~ o i s M o i r e 3 7 E l e n a Hermana 39 G o r o Azuma 44 A l b e r t I g e 3 5 B r i g i t B o v a r y 12 B u s t e r Sanchez

VEND-JEFE

ID- VENDEDOR NOMB- VENDEDOR

27 T e r r y C a r d o n 44 A l b e r t I g e 3 5 B r i g i t B o v a r y 12 B u s t e r Sanchez

ID- JEFE

27 44 3 5 12 44 2 7 2 7 27

ID- JEFE

2 7 2 7 2 7

O F I C I N A

C h i c a g o T o k y o B r u s s e l s B . A . T o k y o T o k y o B r u s s e l s B . A .

OFICINA

C h i c a g o T o k y o B r u s s e l s B . A .

Page 251: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACION RELACIONAL CON S Q L 235

VENDEDOR

ID- VENDEDOR NOME VENDEDOR

Rodney Jones M a s a j i Matsu F r a n ~ o i s M o i r e E lena Hermana Goro Azuma T e r r y Cardon A l b e r t I g e B r i g i t Bovary B u s t e r Sanchez

ID- JEFE OFICINA

Chicago Tokyo B r u s s e l s B.A. Tokyo Chicago Tokyo B r u s s e l s B.A.

UNION. Operacihn clnr UNION. Supongarnos que h r qnirre ohtenrr una unica relacihn con todos 10s vt,ndedores. crea rl cw~,junto unihn Sr llsa la i n s t r u c c i h SOT,. de (Ins rrlacinnrh.

(SELECT * FROM VEND-SUBORDINADO) UNION (SELECT * FROM VEND-JEFE)

o la forrna alternativa

SELECT * FROM (TABLE VEND-SUBORDINADO UNION TABLE VEND-JEFE)

El resultado se murstra en la Figura 7.5. Como en el ilgebra relational, la unihn de dos relacionrs es una relacibn que contiene tocias las Mas q u r es t in en una relacihn o en la otra.

E n rste ejemplo ninguna fila aparece m i s tie una vez, aun cuando aparezca en amhas relaciones. Sin embargo, si se usa la forrna

(SELECT * FROM VEND-SUBORDINADO) UNION ALL (SELECT * FROM VEND-JEFE)

SELECT * FROM (TABLE VEND-SUBORDINADO UNION ALL TABLE VEND-JEFE)

entonces aquellas filas que aparezcan en ambas relaciones aparecerin duplicadas en la relac% union.

INTERSECT. Oprracibn qur crea rl {'onjunto intrrsecci6n de dos relariones

INTERSECT (intersrcc%n). Supongarnos q u e se qu i r ren detectar aquellos vende- dores q u e son jefes. pero q u e a su vez tienen a l g h jefe. E n otras palabras , se qu ie r r

VEND-SUBORD-J EFE

ID- VENDEDOR NOMB- VENDEDOR ID- JEFE OFICINA %-COMISION

44 A l b e r t I g e 27 Tokyo 12 35 B r i g i t Bovary 27 B r u s s e l s 11 12 B u s t e r Sanchez 27 B.A. 10

Page 252: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

la intrrwc*cihn tle las filas quc cstiii en amhas relaciones. Se utiliza la it~struc~ciOii

SQL

(SELECT * FROM VEND-SUBORDINADO) INTERSECT (SELECT * FROM VEND-JEFE)

SELECT * FROM (TABLE VEND-SUBORDINADO INTERSECT TABLE VEND-JEFE)

El resultado se da,en la Figura 7.6. Como en la UNION. ninguna fila aparece nlis de una vez en cl resultado de 1111

INTERSECT. Sin eniharpo. si ha) m t.opias dc una fila en m a relaciim 1. rl copias tle 14 1111s- ma fila en la otra relacihn y rn <= n. entonces la intersewibn de las (10s relaciones tend& ril

copias si se nsa la sintaxis:

( SELECT * FROM VEND-SUBORDINADO) INTERSECT ALL (SELECT * FROM VEND-JEFE)

.41 igiial que w n UNION, la palabra c law ALL indica que las filas duplicadas t l e h n considerarse I-omo si fursen filas independientes.

EXCEPT. Operari6n EXCEPT. Supongamos que se qnieren idrntificar aquellos \endedores que no son subor- clue rrea el conjunto dinaclos de nadie. Lo que se qnisiera es sustraer la r e l a c ih \'END-SUBORDINADO dc la difereneia entre tlos relaci611 VEND-JEFE. En SQL-92 esta diferencia se l l e ~ a a caho con la operacibn relaciones. EXCEPT. En el caso de este ejemplo habria que m a r la inatrncci6n

(SELECT * FROM VEND-JEFE) EXCEPT (SELECT * FROM VEND-SUBORDINADO)

El resultado se muestra en la Figura 7.7. Si se usa la sintaxis

(SELECT * FROM VEND-JEFE) EXCEPT ALL (SELECT * FROM VEND-SUBORDINADO)

y hay rn copias de una determinada fila en VEND-JEFE y n copias cle la misma fila en VEND-SUBORDIN-ADO, don& m > n , entoncrs h a h r i m - n copias de la fila en el resul- tado. Si rn < = n, entonces no h a b r i copias de la fila en el resultatlo.

VEND-JEFE-JEFE

ID- VENDEDOR NOMB- VENDEDOR ID- JEFE OFICINA %-COMISION

2 7 Terry Cardon Chicago 15

Page 253: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACION RELACIONAL CON SQL 2 3 7

J 'a quta w lian introtlucido las itlras l)isic:as dr los oprratlorrs tle SOL UNION, ISTERSECT ! EXCEPT, analicbnioslos un potw mas d r crrca. La rrsti-iccihn d r clue los tlos oprrai idw clel)en s r r nnihn c*ompatil)lr pa r rc r algo Snrrtc:. Drspnbs tle todo, j c u h a nirnudo t e n r n ~ o s cllw ver (.on rr lar ionrs q n r tirnvn cxwtamrnt r las mismas t d n n - nas? Echbrnoslr 1111 vistazo a algunas motlificacionrs einthcticas y a algunos rjrmplos r n dontlr las rebtriwionrs no son cxwtamrnt r d r rsta nianwa. Coiisiilrrrmos la siguirntr cwnsulta:

Consul ta: iQue f o n t a n e r o s cornenzaron t r a b a j o s e l 9 de oc tub re?

(SELECT * FROM TRABAJADOR WHERE O F I C I O = ' F o n t a n e r o ' ) INTERSECT CORRESPONDING,BY (ID-TRABAJADOR) (SELECT * FROM ASIGNACION WHERE FECHA- IN IC IO = '09110' )

Resultado:

ID- TRABA JADOR

1520

St. ha tlrstacatlo la par t r d r la ins t r iwihn SOL. que es importante para esta ~lisc*w sihn. Las tlos instrwc.ionrs SELECT tirfinen dos rrlaciones q u r no son nni6n compati1)lcs. Sin rml~argo , s r ha tonlaclo la intrrsrccibn de estas dos ronsitlrrando s6l0 las coluninas q u r r s t i n r n c~rnbas rrlacionrs. Estas columnas s r rspccifican en la c l i u s d a CORRESPON- DING BY (corrrspontl i r~~tlo por). E n rs t r rjrmplo s r h a considrraclo shlo la columna ID-TRABAJADOR. El sistrnia reducira el rrsultatlo d r amhos SELECT a los valores en la columna ID-TR:iH4.1.4DORI h a r i la intrrsrcci6n d e rstos dos conjuntos y Cste s e r i r l resultado tle la cwnsdta. Es tlccir, el resultado s r r i 10s ID-TRABA4,J.4DOR de aqurllos tra- 1)ajadores q u r son Sontanrros y que tienrn n n trabajo asignailo con frcha d e inirio r l 9 d r oc:tul)rr ( i p rs rxat.taniente lo que s r pedia).

El mismo mfoqne s r usa para 10s operadorrs U N I ~ N y EXCEPT. La c:liusula CORRESPONDING BY va a twntinuaci6n del oprraclor para indicar las colun~nas que son con111atil)lt.a r n anihas rrlacionrs y q u r son las que deben consiilerarsr r n la operacihn. lTwiiios algunos otros ejrmplos.

Consul ta: iQue e d i f i c i o s son o f i c i n a s o t i e n e n a1 t r a b a j a d o r 1412 a s i g - nado a e l ?

(SELECT * FROM E D I F I C I O WHERE T I P O = ' O f i c i n a ' ) UNION CORRESPONDING BY ( I D - E D I F I C I O ) (SELECT * FROM ASIGNACION WHERE ID-TRABAJADOR = 1412 )

Resultado:

ID-EDIFICIO

31 2 21 0 11 1 460 435 51 5

Consulta: iQue e d i f i c i o s que son o f i c i n a s no t i e n e n a1 t r a b a j a d o r 1235 as ignado a e l ?

(SELECT * FROM E D I F I C I O WHERE T I P O = ' O f i c i n a ' ) EXCEPT CORRESPONDING B Y , ( I D - E D I F I C I O ) (SELECT * FROM ASIGNACION WHERE ID-TRABAJADOR = 1235 )

Page 254: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

I

DISENO Y ADMINISTRACION DE BASES DE DATOS

Resul tado:

ID-EDIF ICIO 21 0 11 1

Probahlemrnte. el lertor ya hahrli notado que estas consdtas son relativamente f i r i - les d r formular. Se han identifirado 10s snhconjuntos apropjados de tuplas d r las dos rela- r i m e s y luego se ha aplicado el operador conveniente UNION, INTERSECT o EXCEPT. Ebto afiade un poder pr iet i ro c*on~lderd)le al lrngnajr. ya clue m w h a gente delw enron- t r a r mlis ficil de formular ]as consultas usando rste rnfoquc. Considerr. por cjt.iiip1o. la c o n d t a anterior usando el "vlrjo" rnfoqur de SQL:

SELECT ID-EDIF ICIO FROM E D I F I C I O WHERE T I P 0 = ' O f i c i n a ' AND

NOT EXISTS (SELECT * FROM ASIGNACION WHERE EDIFICIO. ID-EDIFICIO = ASIGNACION. ID-EDIFICIO

AND ID-TRABAJDOR = 1235)

Esta soluc-ihn utiliza nna subconsnlta c-orrelacionada (.on r l operador NOT EXISTS. No hay q u r i r mliy lejos para darse w r n t a de q u r la mayoria de la grnte encwntraria mu(-ha mayor dificultad en formular esta solucibn que en la que usa EXCEPT. Observe q u r la c*onsulta podria resolverse con la antigua sintaxis SQL. lo que no qiiierc decir que sea flied.

El operador JOIN. SQL-92 tienr 1111 numero de operaciones explicitas de reunihn (jotn): la r e u n i h natural (na tura l join). la reriniirn interior (inner join), varias reunionrs exter- nas (outer join), la reuni6n uni6n (union join) y la rruni6n cruzada (cross join). Se consi- d e r a r i n solamente la reuniirn natural y la interior.

NATURAL JOIN. Natural join (reunicin natural). Semintic,amente, la reunihn natural tiene el misnio signi- Operaci6n que c20necta ficado en SQL que el lilgrhra relacional, Supongamos que se quiere h a w r una reuniirn tle lay relariones ruando las tablas TRABAJADOR y ASIGNACION. Esto se logra con la5 rolumnas conlunes tienen iguales valores. TRABAJADOR NATURAL JOIN ASIGNACION

El resultado de esta instrucri6n s e r i la misma tabla que la que obtendriainos w m o resultado de la i n s t r u c c i h

SELECT T.ID-TRABAJADOR, NOMB-TRABAJADOR, TARIFA-HR, OFICIO, ID-SUPV, ID-EDIF ICIO, FECHA-INICIO, NUM-DIAS

FROM TRABAJADOR T , ASIGNACION WHERE T . ID-TRABAJADOR = ASIGNACION. ID-TRABAJADOR

excepto que la pr imrra columna podria llarnarsr ID-TRABAJADOK en lugar de T.ID-TRABAJADOR. E n general, la reuni6n natural causa que las dos tahlas hagan la reuniirn en todas las columnas comunes. pero esas columnas se incluyen en el resultado una sola vez. E n la relaciirn resultante. las columnas comunes aparecen primero seguidas de las restantes columnas de la pr imrra relacibn y luego las restantes columnas d r la srgun- d a relaciirn.

Page 255: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACION RELACIONAL CON SQL 239

JOIK USING. Oprrac*iOn que rontbc.ta las rclaciones (wando las rolunlnas romunes designadas t i rwn iguales valores

JOIN OK. Oprraci6n que ronerta las relariones (wando ocwrrc una coudicicin.

Join USING (reunibn usando). Supongarnos clue s r ticnen dos rrlaciones A y B y que Gstas tienen columnas comunw K, L, M y N. Supongamos tamhikn q u r no se quiere hacer una reunihn con todas las c:olumnas comunes, sino s61o con las columnas L y N. Esto se puedr hacer con las instruccihn

A J O I N 6 U S I N G ( L , N )

Esta instruccihn t ime el mismo efecto clue la instrucci6n SELECT si en la clausula SEIXCT se listan L y N prirnero srguidos d e las rcstantes columnas de A y las restantes colnmnas de B. La cliusula WHERE tle esta instruwi6n tendria la forma

W H E R E A . L = 6 . L AND A.N = B.N

Join ON (reunibn cuando). Si se desea usar una condici6n rnis gcneralizada para la reu- nicin de dos relaciones, se puede usar esta Eorma. P o r ejemplo, supongarnos que queremos hacer la rtrunicin d e TRABAJADOR consigo misma conectando ID-TKABAJADOR con ID-SUPV p a r a oh t rnw informaci6n sohre el supervisor d r cada trabajador. S r puede hacrr lo siguientr

TRABAJADOR T J O I N TRABAJADOR SUPV ON T.ID-SUPV = SUPV.ID-TRABAJADOR

En estr vjemplo se h a n creado dos copias tle la relaci6n TRABAJADOK y s r lrs han dado 10s alias T y SUPV, r r s~~ec t ivarnmtc . La cliusula O N contiene m a instr11cci6n de condicihn tle que el ID-SUPV tle la copia T dell(: ser igual a1 ID-TRAB.4J.4DOR dc la w p i a SIIPV.

Se v e r i n ahora algunas variac-iones del ejemplo precedentr. En lugar de usar ta- hlas cwncretas o nombres d e vistas d e tahla, en urla instruccicin d r r runi6n se p ~ l e d r n nsar tablas derivadas de otras operaciones. Ilustraremos este enfoqur con varias con- sultas

Consul ta: Obtener l a a s i g n a c i o n y 10s da tos de 10s t r a b a j a d o r e s Fon ta - neros que comenzaron sus t r a b a j o s e l 9 de o c t u b r e .

(SELECT * FROM TRABAJADOR WHERE OFICIO = ' F o n t a n e r o ' ) NATURAL J O I N (SELECT * FROM ASIGNACION W H E R E FECHA-INICIO = ' 0 9 1 1 0 ' )

Se puede rrl)servar que esta consulta es casi idkntica a la que se us6 para ilustrar el oprrador anterior d e INTERSECT. La diferencia aqui es que, en lugar d r tener una lista d e ID-TRAHAJADORs, ohtenemos toda la informaci6,n relrvante pcrrque las tuplas de TRABAJADOK se reunen con las tuplas de ASIGNACION.

Consul ta: Obtener 10s da tos sobre as ignac iones , t r a b a j a d o r e s y e d i f i - c i o s pa ra a q u e l l o s f o n t a n e r o s que comenzaron 10s t r a b a j o s e l 9 de o c t u - b r e en e d i f i c i o s pa ra r e s i d e n c i a s .

(SELECT * FROM TRABAJADOR W H E R E OFICIO = ' F o n t a n e r o ' ) NATURAL J O I N (SELECT * FROM ASIGNACION W H E R E FECHA-INICIO = ' 0 9 1 1 0 ' ) NATURAL J O I N (SELECT * FROM EDIFICIO W H E R E TIP0 = ' R e s i d e n c i a ' )

E n este caso, las columnas de la reuni6n ID-TRABAJADOR r ID-EDIFICIO apare- c e r i n prirnero en el res~;ltado, seguidas dr las restantes columnas de las relaciones TRA- BAJADOR, ASIGNACION y EDIFICIO en ese orden. Si esto nos diese miis informaci6n que la desrada, entonces se puede escribir esta instrucci6n completa en la cliusula FROM tle una instrucci6n SELECT que especifique las columnas que se deseen:

Page 256: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

SELECT NOMB-TRABAJADOR, FECHA-INICIO, ID-EDIF ICIO, D IR-EDIF ICIO FROM ( SELECT * FROM TRABAJADOR WHERE OFICIO = ' F o n t a n e r o ' ) NATURAL J O I N ( SELECT * FROM ASIGNACION WHERE FECHA-INICIO = ' 0 9 1 1 0 ' ) NATURAL J O I N ( SELECT * FROM E D I F I C I O WHERE T I P O = ' R e s i d e n c i a ' )

Operaciones de modificacih de la base de datos

SQL Ibrinda t r r s olwracionrs para cwiihiar la hasr tlr datos, INSERT. llPD ITR > DELE- TE:. qu r permiten aiiailir filas. c.arnl)iar los ~ a l o r r s en las filas y 1)orrar filas. rr+lwc.ti\ a- nicbntr. tlc nna tlrtrrlninada rc~lacihn rn la haw tlr tlatos. Sr rs tndiar i catla ana de ellas por styaratlo.

I?tSERT. Oprracihn INSERT. La oprrac*ihn lNSEKT (insertar) lwrrnite insrr tar rn una rrlacihn nna fila qucL V ~ L I + ~ clue 51% aiiaclan uiediantr la rslwrificatiOn dv lo& v;dorrs dv cada una dc las coluninas tlv la fila. o insrrtar fils- a una wlaciOn. un gr111~) de filas rspcif ic;~ntlo nna conwlta cluv nos daria el grupo dv filas a insertar.

INSERT INTO ASIGNACION ( ID-TRABAJADOR, ID-EDIFICIO, FECHA-INICIO) VALUES ( 1 2 8 4 , 4 8 5 , 1 3 / 0 5 )

Ehta instruec4m inserta una sol,^ fila en ISIGN4C:ION. Los noni1)res tle las colum- nas d r las qu r se t lar in 10s \alores r t ~ * l w t i \ os se dan entre parbntesis a c.ontinuacibn dc.1 nc,mhre i!e la tgl~la en la qne sc. a a I I ~ I I Y ~ I . la insrrci6n. Pnesto clue sr ha oinititlo la co- lulnna NIIM-DI4S. w pontlri an valor rit~lo (*om) valor de d i c . 1 ~ cwllimna ri1 la fila a in- +tartar.

S ~ i p ~ n g a m o ~ ( ~ u c sr ha creatlo m a n w v a relacihn d r n o n d ~ r r EDIF'lCIO-2 roniis- tente en las columnas ID-EDlFlCIO. TIPO y NIVEL-C QLIDU) J qu r se drsea pohlar rsta relac-ibn con las filw provenirntc,s de EUIFICIO qn r tengan categoria 2. En rs tr caso utilizarianms la wgnntla forina dtl la instrnccihii INSERT.

INSERT INTO EDIF ICIO-2 SELECT ID-EDIF ICIO, T IPO, NIVEL-CALIDAD FROM E D I F I C I O WHERE CATEGORIA = 2

UPDATE. 0prrac:icin UPDATE. Las operat*iones UPDL$TE (actualizar) se apl icw~ a t o d : ~ las filai clue satisfa- quc r a rn lh 10s valorcs (*en la c.1iusula WHERE d r la instrucci6ri UPD.4TE. Si se quivre incwmrntar (31 nn 5 poi- ck las roluninas en las 100 el salario d r todos los trahajadorrs clue trahajan para el suprr.&or 1520, s(, nrcrsita- filas. ria la instrucci6ri signirnte:

UPDATE TRABAJADOR SET TARIFA-HR = 1 . 0 5 TARIFA-HR WHERE ID-SUPV = 1 5 2 0

Si no huhiesr cliusula WHERE, rr i tontsr~ la oprracihn 5r aplica a totlas lab filas de la rrlaci6n. Por ejemplo. si sr ipisiera incremrntar r n rl 5 por 100 el salario d r cuda tra- I)ajador, lo qut. habria clue hacer es on~it i r la cliusula WHERE dr la instracc~ihn LPDATE anterior.

DELETE. Operacihn DELETE. Las operaciones d r DELETE sr aplican tarnhibn a totlas las filas qu r satisfawn t p e (p i ta filas de una la cliusula WHERE rn la instruccihn DELETE. Si no ha) cliusula WHERE, sr horran wlari61i. todab las filas de la relacibn. Sup6ngasr que todos 10s trabajadores drl supervisor 1520 han

sido desprtliclos y h r quirren entorires lwrrar d t ~ la base d r datos. La instrut*t.i6n iiguiriitr hace rste trabajo:

Page 257: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACION R E L A C I O N A L CON SQL

DELETE FROM TRABAJADOR WHERE ID-SUPV = 1520

enrsor. Una farilitlatl dcl SQI, incrwstatlo en la q11r sc ahnacemn los rcs~~ltatlos ( 1 ~ m a consulta SQI, Imra su ~dtcr ior l)roresar~~itwto.

instruccici~r OPEN cursor. Instrurt.iones SQL qur caniall '1"' '1 SGBD I)rocese una consulta 4 "aln~acrnc" el rrsnltado en cl c.lu.sor.

instruccicir~ FETCH. Una instrucribn clue tonia una fila a partir tle un r u r w r qlre ya ha sido abirrto.

Usar SQE con lenguajes de procesamiento de datos

El rnl'oqor rc~latiotial de nsar una sinq)lr instruc*ciOn para 1na11il)ular cwnjniitos tlt, filah rll m a rrlarihn (vi un avanw s o l ~ r r los mC.todo?i tie manipnlati6n tlr 1111 1.rgi8tro-de-('adil-vez tlr los lengnajrs trailic*ionalrs. Sin eiiil)argc), pursto q n r SOL intvnta s r r ntilizatlo en gram tlrs organizationrs q n r ilsan Irnguajcs tradic:ionalcs, r s nec.esario ~ ) e ~ i i i i t i r clue st- ~ ~ w d a n intc.grar instruc~ionrs SOL t.11 progranlas escritos en 1t.nguajes tratlicionalrs. Esto sr logra con 1:1 SQIJ empotrado (ernbedrlerl SQL).

El SQL en~pot ra t lo (embedded SQL, tambibn se conow c o n ~ c ~ SQL c~mOebirlo) nos (la nn conjunto de instrut*tiones cine s r nsan para invluir instruc*ric)nrs SQL tlrntro d r pro- gramas esrritos en lrngnajrs c o n ~ o COBOL, C ! Pascal (cjne son clenoniinatios lenguaje anfitribn). Estas instruccionrs int.lnyen instruc*ciones d r srfializaci6n qrte Ie notif'ican al 1rep1-ocewdor que lo qut, sigrrr se c1c:l)c rermplazar por llaniatlos a las I-utinas dcl SGRI). Tanhibn st: inrluyrn facilidacles especiales. Ilaniadas cursorc..s. las cwalrs perniitcw 1111 1)ro- twsamiento t i p simple-rrgistro sol)rr 10s rrsultatlos clr una wnsnl ta .

El signirnte rs u n ejeml~lo de c:htligo SOL enipotrado:

EXEC SQL DECLARE TRAB-ASIG CURSOR FOR

SELECT * FROM ASIGNACION WHERE ID-TRABAJADOR = ID-TRABAJADOR-SOLICITADO

END - EXEC

Estv c4tligo podria rtupotrarse en un programs esrrito r n COBOL w m o l r n p a j e anfitriim. La primera linea (EXEC SQL) y la illtinla linea (END-EXEC) son iiistrl~rciones d e seiializari6n ' ('up statements) quc indican clue la5 lineas contenidas rntre rllas dos son c6digo SOL. El programa COHOL clue contienr c.bc1igo SQL srria p-ocesatlo 1)or un prr- procesador antrs de srr c-ompilatlo. El preeomt~ilaclor reconore la insti-ucciiln cle sciializa- ti0n ! rerniplaza 6stas con l lan~adas a 10s su l~progra~nas del SGRD clue tlurante la ejtwr- tibn t ratan las instrnccionrs SOL. Cuando t.1 programa COBOL se co111~)ile. r l comldatlor ignora estas instrnc.c.ionrs d r llaniatlo y con~pila el resto dr l programa.

El rrsto tlr.1 ejrniplo cwntienr nna initrnccihn SQL p a r a drclarar un cursor. Un cur- s o r es c~oiiio nn arrlii\o. c ~ ~ j o (wntmiclo se p n r r a en tiempo de vjrcuci6n. Ol~sclrve cjue la drf'inici6n cle a n crwsor inclujy rrna instrucci6n SELECT. La cliusula R HEKE referencia a rrna rolurnna de 4SIGNACION (la colunina ID-TR4RA.JiDOR) y rata11lec.e clue una fi- la delwria srlrccionariv si 11)-TR4B 1.J4I)OR cs igual a una variahlr del programa COHOL (en vste caso, ID-TK4BAJ4DOR-SOLICITADO). No s r sc.lecciona ningirn dato 11asta clue el twwr sr u0re por una instruwi6n intlepcndientr. La instrucci6n O P E N ( a l ~ r i r el cursor)

OPEN TRAB-ASIG

causar i cjue r l SGBD ejrcnte la instrut:c:ihn SELECT. Las f'ilas indivitluales cjur se ponrn en r l cursor al e j r tx ta r el OPEN sr pnedrn rtvwperar rjrcntando instructciones FETCH, que es aniloga a nna instrnrcii,t~ READ. Taln1)iC.n s r ])rindan otras instrnccionrs para per- mitir artualixar y hor ra r datos d r las ta l~las de la base d r datos. La instrncci6n CLOSE quita 10s clatos clue "rstiin en r l rursor"'. cle modo clue dste puetlr s r r abirr to de nurvo aso- ciatlo con nltrvos datos cpr reflejen otros contenidos de la base de datos.

Page 258: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINIsTRACION DE BASES DE DATOS

talda base. ITna tahla q11r wntirnc inl'orniaciin 1)isic.a o rral.

\ista. Una drfinicihn tlr m a porciin restrin$da de la hasr de datos.

especificacihn d c consulta. Drl'iniciir~ de una consnlta qur ir usa en una definiri6n cle vista. declaraci6n de cursor u otra instrucci6n.

El SOL emptrtrado l ~ r i n d a la interfaz necrsaria para un nso exitoso tlr SQL en (11 pro- wsamiento por lotes clr gran (:seala o en programas m linea de grandrs organizacioncs tlr proc:c:samiento d e datos. Con el tirmpo rstas nrcesidades prohahlemrntr tlrcwzc-an cwn el surgimiento d r nurvos lenguajes clue sran t:apacrs d e hacr r n n uso total (k las psihilitla- clrs d e prowsarnirnto d e u n a relacibn-a-la-uez d e SQL.

vistas A l principio de este capitulo s r mostrir c6mo s r tlrfinrn las tablas en nn esquerna tlr base dr datos. Estas tablas se llaman tablas base porqne (.ontienen 10s datos 1)hsit:os tlr la hase tlr datos. Partrs dc estas tablas, asi como informac*ih drr ivada de las mismas, puetlrn tlrfi- nirsr en vistas dr la hasr de datos. Estas vistas tam1)iCn s r tlrfinrn w m o parte del esqurma dr la hase d e datos.

Una vista (vipw) rs comn una 'Lv(mtana" e n una porciOn tlc la base d r datos. Las vis- tas son utiles para mantener la confidcmcialidad a1 rrstrinpir el aweso a partes sr1ec:c:iona- das d e la hase tle datos y para simplificw tipos tle consultas q u r Sean utilizatlos con fre- curnria. Por c:jemplo, para p r r s r rvar la confidencialidad, podrmos querer c r r a r una vista qur murstrc la informacihn sol)rr los trahajatlorrs, exrepto su tarifa por horas.

CREATE VIEW B-TRABAJADOR AS SELECT ID-TRABAJADOR, NOMB-TRABAJADOR, OFICIO, ID-SUPV

FROM TRABAJADOR

E n este ejcmplo, H-TRABAJADOR es el nornlm-e de vista clue se ha (*reatlo. El nom- h e de la vista puedr rs tar seguitlo tlr los nomhres de las columnas en la vista encrrrados rn t rc parh tes i s . E n rste caso s r han omitido 10s nom1)res d e columnas, por lo clue las columnas cle la vista tomar in 10s mismos nomhres de las columnas d e la relaciirn d e la m a 1 se forma la vista. La parte de esta instruc:c:iin d r vista clue sigue a la palabra "AS" se deno- mina especiiicaci6n de consulta (query specijication). Cualquirr consulta que sea legal purde aparecrr en la definicicin de una vista.

El sistema no genera realmente los valores d r 10s clatos para B-TRABAJADOR has- ta q u r no se haga acceso a bstr. En ese mommto s r rjecuta la especificaciOn q u r define a B-TRABAJADOR, creindosr B-TRABAJADOR a partir d r los datos yue existen en TRA- BAJ.4DOR m el momento d r la ejrc:u&n. P o r tanto, 10s datos dr una vista camhian c h i - micamente en la meclida que cambien los datos m su tabla hasr su1)yac:rntr.

Supongarnos que con frrcurncia estanltrs interrsados en informaciirn sobre 10s rlrc- tricistas, 10s edificios a 10s que es t in asignados y las fechas de comienzo d r las asignacio- nes. Esta definiciirn d e vista servir i pa ra estos intrrrses:

CREATE V I E W ELEC-ASIGNACION AS SELECT NOMB-TRABAJADOR, ID EDIFICIO, FECHA-INICIO FROM TRABAJADOR, ASIGNACION W H E R E OFICIO = ' E l e c t r i c i s t a ' AND

TRABAJADOR. ID-TRABAJADOR = ASIGNACION. ID-TRABAJADOR

Si se hicirse acceso a ELEC-ASIGNACION, el sistema primero generaria 10s valores d e sus datos a part i r d e la definicih,anterior d e la vista. P a r a la hasr cle datos d e nuestro rjernplo, la vista ELEC-ASIGNACION se veria como sigue:

ELEC-ASIGNACION NOMB-TRABAJADOR ID-EDIFICIO FECHA-INICIO

M . Faraday 312 10 /10 M . Faraday 515 17 /10 C . Coulomb 435 08 /10 C. Coulomb 460 23/10

Page 259: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACION RELACIONAL CON SQL 243

Se pueden consultar las vistas. Supongamos que estamos interesados en conocer 10s electricistas asignados a1 edificio 435.

Consulta: iQu ienes son 10s e l e c t r i c i s t a s asignados a1 e d i f l c i o 435 y cuando comenzaron a t r a b a j a r ?

SELECT NOMB-TRABAJADOR, FECHA-INICIO FROM ELECASIGNACION WHERE ID-EDIF ICIO = 435

Resultado: C. Coulomb 08 /10

El sistrrna primero c r ra la relari0n como sr esplici, y liiego ap1ic.a la consiilta a la rrlaci6n.

Tarnl)iin, para definir una vista, se puede usar el rrsultado tlr una operacibn d r agrupacihn. Ech6mosle otro vistazo a la consulta tlefinida a1 principio q u r nos daban 10s suprrvisores junto con la tarifa mixirna de 10s trabajadores que informaban a estos super- visorrs:

CREATE VIEW SALARIO-MAX ( ID-SUPV , MAX-TARIFA-HR ) AS SELECT ID-SUPV, MAX (TARIFA-HR) FROM TRABAJADOR GROUP BY ID-SUPV

Observe que en este ejemplo se han incluido 10s nornbres de las columnas d q l a vista. Estos siguen inmediatarnente a con t inuac ih del noni1)re de la vista (SALARIO-MAX). Fue necesario incluir nornbres de columna en este caso p y i l u r una de las columnas rs el resul- tado de un cdculo usando una funcihn integrada (MAX) y no tiene nomhre.

Se puedr consultar esta vista para determinar, por ejemplo, quP supervisores tienen t rabajadorrs clue reciben una tarifa por horas por encima de una cierta cantidad.

Consulta: iQue s u p e r v i s o r e s t i e n e n t r a b a j a d o r e s que t i e n e n una t a r i f a po r ho ra po r encima de 10s $12?

SELECT ID-SUPV FROM SALARIO-MAX WHERE MAX-TARIFA-HR > 12

Al procesar esta consulta, el sistema crea primero el resultado de ejecutar la especi- ficacibn de la vista:

SALARIO MAX ID-SUPV- MAX-TAR I FA-HR

Luego le aplica la consulta como tal a este resultado:

ID-SUPV 131 1 1520 3231

Restricciones sobre consultas y actualizaciones de vistas

Una vista que sea definida con m a cliusula GROUP BY en la especificaci6n de la consul- ta se denomina una vista de grupos (grouped view). En SQL ANSI es t indar hay varias

Page 260: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

li~nitaciones para las cwiisultas sollrr vistas tlr grupos. Estas liiiiitacionrs son (Mdton y Sinion. 1993, 1). 196):

1. La eliusula SELECT d e nnu t-onsulta sohrr una vista d e grupos 110 piirtlr t m t ~ uiia funcihn intrgrada.

2. No sc. purtlr haerr una r twnihi (join) tlr uiin lists (I(. gl-upos cwn riing~llia otra ~ i s t a o t a j h .

3. I1ria eonsiilta s ~ h r r una \ista d c grupos 110 purtlr triiri- a 511 \cz t.lhui111as Gl iOLP BY o H \\ ING.

4. Uua i u 1 ) c o n d t a n o 1)urdv rcd'rririr a una bista d r grupos.

Los usuarios drseali (.oil frtwicmcia a(-tualizar la I M W dc datos hacirndo rrfrrriic.ia a 1;is kistas. Una vista s r 11uedr artnalizar shlo si sii rsl~c~ificariciri d e consd ta cuniplr cwii (Datr y Darwrn. 1904. p.174):

1 . Tirnr uiia rlhlislila SELECT qur cwntienr shlo iioiiiI)~-t~s d r columnas ( r s drcir. ~ i o t i rnr iiiiigiiri eilrulo ni ninghn valor literal) y 110 contielie la palal)ra cala\c 1)ISTINCT:

2. Tirnr 4 1 0 m a rrfrrrncia a t a l h cbn la elinsula FROM (r5ta rrfrrei1eia no purtlt* incluir uinguna d r las oprracionrs del ilgrljra rt~lacioiial IJNlOh, INTERSECT, KX(:EPT. J O l h ) . Dirha tabla r n la c-liiiisnla FROM tlrlw s r r o uua tallla h a w o una kista actnaliza1)lt.:

3. No ticnr sul)cousulta t.11 su elii~siila WHERE r p r rrfirra a la tallla cri la cliusu- la FROM d r In c.oi~ii~lta ~ ~ r i n c i p a l :

1. No (*onticme uiia cliiusula GROUl' BY o HAVING.

P t ~ r siipi(:sto cjur las tahlas hasr si piirclru actualizarsr sin rstas rrstricciorirs. Si una vista no prrinite actualizac.ionrs, rntoncrs s r purde accrder a las tahlas hasc propiainrntr tlichas para logral la actua1izac:iOn tlrsrada.

esquema

IJuo tlr los critrrios tlr Codd para clrrir q u r un SGBD sra completamrntr rrlacional (Cotltl. lOX5e) r s quti la informac.i6n tlrl sistrnia q u r tlrsc-rilw la hase de datos rstG iiioiitcwicia tam- l)ii!ii rn tahlas relacionalrs, a1 igual clue otros valorrs tlr datos. Ksta inforiiiaciim tlcwrip-

nirtatlnto. Ir~l'c~riiiac*ii,n t i u . o metadato, s r niantirlir nornialmen~r rn url diwionario d r datos. CJna vrrsihn d r clrscriptir ;I so1)rr las rs t r clit*ciouario d r datos sts Ir llania esqueula tle iltformaci611. El rsqurma cle inforn1aci6ii I)asrs tIc (lator. tlr SQL-92 cumplr, rii sus elementos rsrntialns, con rs t r rrqnisito, pucsto cpie r s t i rstruc.-

turado ronio un conjuiito tlr vistas (posil)ltmt.iitr s6lo hipotGtic*;~s) tlv taldas, eatla fila tlr escl~ir i~ia tlc las twalrs nos d a informaci6n descriptiva s o h e 10s ohjrtos tlc In hasr d r tlatos. tales como i11forluaci6n. I~squcnia utia tallla, una columna o nn dominio (vr r Date y Darwrn, 1994). E n csta srcci611 s r darh ~ I I 1111 cathlogo tpr m a dt:seripcii,n 11rrvr tlcl rsqliema d r inforraaci6n tie SQL-92. cwtltirtw 111t.tadatos. Como s r sriiali, a1 principio dcl c*apitulo, SQL-92 tlt:finr 10s catilogos couio cwlrc.cio-

ntxs con nonihrr tlc rsquemas tlr has(: tlr datos. Cada rsqurma en un catilogo tirnr tin tier- to "dueiio". q u i m posil)lrmrntr origin6 el esqurma. Si un catilogo drtrrminado tivnt. un cicrto uilmrro tlr csquenias q u r a su vez est in drfinidos y son posesi6n d r una varirtlatl tlr nsuarios. rntonces el catilopo tauihiCn contirnr un rsqurlna eslwcial. el INFORMA- TION-SCHEMA, clue drscri1)r a t o h 10s esqurmas dr l catilogo, inclii~i!utlolo a 61 mismo. Dr at.ucrdo a SQL-92 rstiindar. rs t r rsqacma tle informacihn rralmentr necrsita no m i s qiir un cwijunto d r vistas tlc algunos dit:cioii;lrios de datos clue tlrprnclrn de la implrtnrn- tariim. Pursto que hay niuchos SGBD comrreialrs diferentes eu el mercado, cada uno tlr 10s cualrs usa diferrntrs enfoques para tlrfinir metadatos, t i rnr srntido (conio selialan Date y Darwen) q u r el r s t indar requiera solamente que el INFORhfrZTION-SCHEMA sea un conjunto de vistas clr las tahlas tlr mrtadatos que rralmrntc: el SGBD tenga clrfiniclas.

Page 261: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACION RELACIONAL CON SQL 245

Si nn SGBD intrnta twmplir ron r l rs t int lar d r SOL-92 pnrtlt. tlrfiiiir los inrtadatos a su Inanrra !. garantizar solanitwtr tlrfinir rl INFORM,V~ION-SCHEM-1 1.n la forma (:stan- tlar. Pursto tints r1 11suario no p n c d ~ , d r ninguna mancra. actualizar dirrc.tamcwtr las taldas d r mrtatlatos. shlo h a w falta q u r el esqurma dt. informatihn ofrrzca las vistas nrcr- sarias para t p r el usuario puctla c o n s ~ ~ l t a r y vrr t*i)mo r s t i rstrlit'tilrada la hasr d r datos.

Las vistas en rl rsqutma tlr informatiibn tirnrn nomlwrs y fnncionrs prrdrfinitlas. Antes tlr tlar una Lista d r las vistas sriialrmos lo sipuirntr. Dado q n r el twp: ina rs m a t ~ l r c c i h tlr jiistus. cualquirr usuario clue las a t w d a v r r i solamrntr r l rrsultado d r nna twnsulta sohrr 1111 grupo invisihlr tlr tal)las bast,. P o r lo tanto, para tlar nilis s r g ~ i r i t l a d ~ la vista sit,mprr r s t a r i drfiiiida con rt:sprcto ol usuario atatnal tlrl sistrma, ruya itlrntidatl r s t i r n la variahlr CURRENT-USEK. d c o n t i n m ~ i 6 n s r dara una lista de rstas \ist:rs juii- to con una rxplitwi6n h r v r tIr sus funtiones ( v w Date y Darwrn, 199~1, y Mrlton y Simon. 1993. para mas dt.talles).

IhFORM:47'10N-SCHEBIIA-CL4T_1LOG-NAME. Rralmrnt t~ rs una talda 1)asr for- mada por una sola fila y u m sola eolunma q u r contirne el nomhrr dr l rsquenia.

SCHEMATA. Contienr 10s nomlms d r todos 10s rsqummas crrados por r l usuario actnal.

DOMAINS. Da todos 10s tlominios accrsihlrs por el usuario actual. TABLES. Da las ta lkis y las vistas accrsi1)Irs p o t el usuario actual. \.-IEwS. Lista las vistas accc~si1)les por el usuario artual. COLUMNS. Itlrntifica las t:olun~nas d r las tahlas listadas en la vista TABLES. TABLE-PRIVILEGES COLLJMN-PRIVILEGES USAGE-PRIVILEGES 1)ORIAlN-CONSTRAINTS. Contienr las r r s t r i c t i c ~ ~ ~ t . tlr todos 10s dominios t:rt:ados

por el nsuario actual. TAKI.1-(:ONSTRAINTS. Dtr las restriccionrs solwe las tahlas I~ases crradas por el

osuario artual. REFEKENCIAL-CONSTRAINTS. Lista las rrstricrionrs refrrencialrs propiedad

dcl usuario actual. CHECK-CONSTRAINTS. Lista las rrstrit:t:iones d r chrquro propirdatl del usnario

actual. KEY-COLUMN-LiSAGE. Lista todas las t d u m n a s clue se usan en (:laves cantlidatas

o r n claves extrrnas en t a l h creatlas por el usuario actual. ASSEHTIONS CH.4K.4CTER-SETS COLLATIONS TRANSLATIONS VIEW-T.4BLE-USAGE. Idrntifica la tablas solwe las cualcs clrprndrn ]as vistas

propiedad del usuario actual. VIEW--COLUMN-USAGE. 1dentifit.a las colurnnas de las que deprndrn las vistas

propiedad tlrl usuario actual. CONSTRAIN'T-TABLE-USAGE. Lista las tablas, propiedad tlrl usuario actual.

(pie e s t h referidas por rrstricciones. (:ONSTRA41NT-COLUMN-USAGE. Lista las columnas d e las tahlas, propirdad del

usuario actual7 q u r est in rrfrridas r n las restrit:t:iones. COLUMN-DOMAIN-USAGE. Da las columnas que rsthn definidas en tCrminos de

dominios clue son propirdad del usuario actual. SOL-LANGUAGES

Las vrntajas d r la estructura relational del rsquema del sistema dr informacibn t1rl)en q u r d a r claras. Se puedr usar un lenguaje de consulta muy potentr para formular uria gran variedad dr preguntas sohre la rstructura de las base d e datos d r l sistema. Los primeros sistemas q u r no eran rrlacionales no tenian automatica~r~ente rstas ventajas.

Page 262: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

En este c y i t u l o sf, han estudiado aspec.tos de las implementaciones de bases de datos rela- cionales con cl lrngnaje de eonsulta SQL. St: revisi, de forma cwncisa el tlesarrollo hist6ri- co tle 10s sistemas SQL. Se mostri, c6mo se pueden tlefinir los esqwrnas de base de datos SQL. 'l'amhibn s r analizi, en detallr el lenguaje d r manil)rrlaci6n tle datos de SQL y se d t w taci, la tiefiniciim tle vistas. Por hltimo se vio una breve introduc~icin a1 rsqurma de infor- mcici6n t l d sistema.

SOL fue creado por IBM tiurante 10s aiios setenta t-omo parte dt.1 proyrcto System K. Desdt. a tpe l tiempo ha sitio implementado por una gr;in varietlatl de elnpresas comercia- les. twmo el lenguaje tle sns SGDB relacionales. Es t i clisponihlc tanto e n entornos de gran- tles t .onip~~tadorrs conio en entornos d r microcom~)utatlorf.s y ha tlevcnitlo en el estintlar ANSI para Irnguajes relacionalrs.

1,os catilogos tle SOL son coiet-cioues con nornhre de 10s esquemas, catla uno inrluyc on nirmero de csqurmas creados por el usuario, asi como un esquema tle informaci6n que cwutiene metadatos de 10s rst~uernas en el catilogo. Los esqnemas de has? tle datos en SQI, scB tlcfinen con las 6rtlenes CRE.ZTE SCHEM.4. CREATE DOMAIN y CREATE TABLE. Fktas Ortlenes drfinen 10s esquemas rsl)ct.ifiros y sus dueiios, 10s dominios, las taljlas y las twlumnas. Los dominios se usan t-orno t i p s d r datos en las drfiniciones de las columnas. Tarnhibn se pueden tlefinir restriccionrs tanto para cwlumnas intlivitluales como para tahlas. I,as restricciones inchyen restricciones tle (:laves primarias y vlaves externas. 'l'am- hibn se puetlen tlefinir rcstricciones CHECK m i s genrrales.

I,a rnanipu1ac:ihn dr datos de SQL incluye todas las c*apatitladrs tlel i l g h r a relacional tlvfinidas por Codd, aunque sn f'ormulacicin original es t i hasada en la estruc.tura tld cilcalo rt.lacional. Sin embargo, SOL-02 inchye operaciones que son ~ n & s tliret~tamentt~ t ld Algebra relacional, triles twmo la reunii~n (join), la unicin, la intersec.ci6n y la tlikrenria. Atlicional- mente, SQL hrintla t:apwitlatles para agrupar las filas sohre valores tXn cwmun de una deter- minatla t:olnmna y l)roportiona tam hibn funtiones clue prrmitcn hacer cilcalos estadistieos so l re estos grupos. La manipulacicin tle tlatos tamhibn permit? la insrrcibn, la actualizacibn y el horrado d r filas inilividuales, asi como tle grupos de f ias . Por ultimo: se pueden escrihir instrucciones SQI, tlentro tle programas tratlicionales escritos en COHOI,, C o Pascal. Mediante los cursores, las instruc*c*ioncs SOL pueden general los resdtatlos de consultas, dv modo clue puedan ser procewtlos fila por fila por el progranla escrito en el lenguaje anfitrihn.

Las vistas se definen en el rsquema d r la hase de datos nsando el lenguaje d r consul- ta tlv SOL. Las vistas pueden consnltarse !. Imjo detrrminadas restricciones, pnedrn tam- Libn at*tualizarse.

El esquema tle informaci6n del sistema en un sistema verdatleramente relacional rlrlwria estar estrut:tura(lo como una hase de datos relacional. He~nos visto (-6ino el c y n e - ma d r informacibn de SQL-92 satisface este requisito. Los sistern~c d;v t . tienen 10s esqutbnias de infnrmacibn con esta estructura tienen distintas ventajas. E n partitwlar c1 h t ~ h o de cIue el esquema de in formacih puetle ser c.onsultado usando el mismo lengucije clue se nsa para las consultas normales a la base tle datos.

1. Defina con sus propiris palalwas cada uno de 10s tbrm~nos siguientes: a. ratilogo b. ~)rol)ietario de esquema c. definitGn de dominio d. literal caderia de caracteres e. operaciones de comparaci6n f. conectores hooleanos g. eonsulta euterna

Page 263: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACION RELACIONAL CON SQL

11. 1.

j. k. 1. 111.

n. 0.

I). ' I . r. S.

t. U.

V.

W.

X.

Y. z.

c o n d t a cwrrclacionada fiincihn integrada DlSTINCT GROUP BY INSERT DELETE SOL empotrado (cn~bc&clo) lrnguajr anfitrihn curbor FETCH vista especificacihn de ronsulta csquema d r informaci6n valor [lor deferto clave rxterna recursiva unihy c~otupati1)le UNION EXCEPT NATUKAL JOIN

2. I)rsc*riha I~revementr 10s prinieros desarrollos d r SQL. iQuC fabric-antc fue el primero r n lanzar una versihn wmercial tle SQL? Drscriha varios sistemas en 10s cuales est i disponihle SQL.

3. a. ~ C u i l e s son las hrdenes de SQL-92 quc i e usan para definir un esquema de una

hase de datos? h. ;C6mo be I ) ~ I N I P (lefinir una rlavc- de una sola columna o de multi-columnas?

iC6mo se ciefinv una clave externa? ~ C o m o se define un valor por defecto? iC11i1 rs la diferencia entre m a restrtcci6n de columna y una res t r i cc ih tie tabla? i,C61no se pueden definir rrstric.ciones m i s generalizacias:'

c. Inciicpc diez t i p s tle ciatos d i f rentes disponihlrs r n SQL-92.

4. D c w ~ i h a lo que p c d e aparecer en d a una de las cliurulas siguientes de SQL: a. SELECT h. FROM c. WHERE d. GROUP BY e. IIAVING f. ORDERBY

5. Deswiha !a aceihn (I(. cada m a d r las operaciones: a. llNION h. INTERSECT c. EXCEPT tl. NATURAL JOIN e. JOINUSING f. .JOIN ON

6. ;Chmo se w a n las especificaciones de consulta r n cada una de las operaciones de motli- ficaci6n dr tlatos?

8. ~QuC: es una vista de una base de datos y chmo se puede usar?

9. Descriha chmo se puede usar SQL con el esquema de informaci6n para ohtener infor- maci6n sobre una base de datos.

Page 264: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

--alius -r~unicin O\ -c.l6usrrln FROW

-produeto c a r t ~ s i a n o

-coi~sulto no correlucior~urlrr

-01wrador EXISTS -dqJirticibrt do ~scluentn

-rc.stric.c.ibn

-cli(usulu HAVlIVG

-reui&n USIaC:

-consultu simple

-operador R O T EXISTS -1YTERSECT -irtstrucei6n de seiializucibn -tuhla buse

--curcicter 'ornodin (wild c l ~ n r ) p. -cli(usulu If HERE 'I.

-ubrir c u r ~ o r r. -mr~lticonjtrirto 5.

-ji~ncihn de conjunto t.

-suhconsultu w.

-cl6usulu SELECT x.

Cotitiene datos 1)isicos o rralrs Uonihrc~ alternativo clue ie 1r da a una relac16n Lista las taldai exiitcntci clue ion I-rferidas 1)or la consulta K \ a lk t ve~- t la ( l t~o si el ( ~ o n j ~ ~ n t o rrs111ta11tr vs no vacio Da la t*ondiribn para srlrt . twuar filas d r l a i tahlas idrntifiradas Una fnnt*ihn 1nttbgr atla Consolta (j l l tb in\ olucr '~ a s61o m a tabla dt, la base tlr tlatos Oprraci6n q11r t - ;ml )~a los balores de las rolumnas r n las filas E\alt'~a a \ r r d a d r r o si rl ronjnnto i rsul tant t~ t.5

v a t h Pro\oc.a clue el SGBD prowsr la r o n s d t a tlr un c-111 sol ! dlniatww el 1-(wiltado r n el cursor Rrsultndo d r parear rada fila en una tabla twn todas la? filas tan otra tallla Sn balor no deprndr de ningnna twninlta tXxtc~i-na Des t~ ipr i6n de nna hast. tlr datos a1 SGBD Pone rondirionrs s o h 10s grupos Seiial d r comirnzo o tin tle un ronjunto d r instrut*- riones SQL. Purdr t r n r r rntradas dupliraclas 1dentific.a las colnmnas cjlw se desean en la con- sulta Informari6n desrril)ti\a sohrr las bases de datos Una consd ta dentro de una consulta Una regla que restring? 10s ~ a l o r e s en nna base d r ddt05 Siml~olos especinles que \ alen por una catirna d r vararteres cualesquit.ra Operavibn q11e ronerta las relacmnes cuando las ro- lumnas wmunrs drsignadas tienen iguales ~ a l o r e s Operatihn quc conrrta las relaciones cuando ocu- r r e una rondiri6n Operatihn que crea rl conjunto intersercihn de dos relaciones

2. Escriha 6rdenrs SOL para definir 10s dominios siguientes: a. Un dominio dr salario c ~ ~ y o s elementos tengan twatro digitos con dos a la drrrc-ha

del punto dwinlal. Su valor por deferto es $6.00, r1 valor dehe ser a1 mrnos $5,00, pero no mayor que &30,00.

b. Un dorriinio d r fechas con todaa lab fechas tlespu& dvl 1 rnero de 1980, p r ro antes d e l l enero de 2000.

c. Un dorninio de horario cuyos rlenirntoa estln entre las X a.m. y las 5 p.m., inclu- sive

3. Escriha laa 6rdenes SQL para crear un esquema de h e tle tlatos para el siguiente rsrpema relational:

Page 265: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACION RELACIONAL CON SQL 249

CLIENTE ( ID-CLIENTE, NOMB-CLIENTE, RENTA-ANUAL, TIPO-CLIENTE) ID-CLIENTE debe e s t a r e n t r e 100 y 10.000 RENTA-ANUAL t i e n e v a l o r p o r d e f e c t o $20.000 TIPO-CLIENTE debe s e r f a b r i c a n t e , m a y o r i s t a , o m i n o r i s t a

EMBARQUE (EMBARQUE-#, ID-CLIENTE, PESO, CAMION-#, DESTINO, FECHA EMBARQUE ) C lave e x t e r n a : ID-CLIENTE REFERENCIA A CLIENTE, b o r r a en cascada C lave e x t e r n a : CAMION-# REFERENCIA A CAMION, a 1 b o r r a r pone a n u l o C lave e x t e r n a : OESTINO REFERENCIA A CIUDAD, a 1 b o r r a r pone a n u l o PESO debe e s t a r b a j o 1000 y con v a l o r p o r d e f e c t o 10

Use el esqucma siguientr. tonlaclo clel ejcrcicio 3. para rxpresar en SQL lab consultas clue sta t y r r s a n a con t inuac ih .

CLIENTE ( ID-CLIENTE, NOMB-CLIENTE, RENTA-ANUAL, TIPO-CLIENTE) EMBARQUE (EMBARQUE-#, ID-CLIENTE, PESO, CAMION-#, OESTINO, FECHA EMBARQUE) CAMION (CAMION-#, NOMB-CHOFER ) CIUDAD (NOMB-CIUDAD, POBLACION)

4. Corlsdtrrs sirrrples a. cull cs el nonibrr clel c.lieutr 433:' b. iCuL1 es la cwdad destino drl eml)arquc~ #3244! t.. iCu'ilrs ,on 105 numeros clc 10s ramiones clue han lie\ atlo paquctes ( e n ~ h a ~ y n e ~ )

par vnciina de las 100 lihras'! d. Db toclos 10s tlatos de 10s rn11)arqnc~s de nibs cle 20 l i l~ ras . e. Lree una lista por ortlen alfahiticw dt. 10s c~lirntes con renta anual tie inis (11. 510

millones. f. , C u i l es el ID ciel cliente Wilson Brothrrs? ,a. Tji 10s noml)ws la renta promedio mcnsual cie 10s rlientrs que tienen renta

anual clue excccic, los 55 n~illonrs, p r o clue es menor (ic 10s $10 millonrs. 11. Ub 10s 1Ds tlr loi c-lic-ntvs q u r han enviado paquetes a Chicago. St. 1,ouis o Balti-

more. i. Di. loi nomhrrs tle los c-1irntt.s qne han en\ iado r m h a r q w s a las tiutlatlcs cu! o

noinl~rt. cwq~irza ron '(1'. j. Db 10s non~lbres dta 10s t4entrs qrie han enpiado eml)artlnt~s a les rintlaclrs ell! o

noml~rt. t c ~ m i n d run Tit! '. k. 116 los nom11rt.s d r 10s clientes que t i rnrn nna 'D' taomo t ~ ~ w r a 1 r t ~ (Id noml11-e. 1. Di. 10s n o n ~ h r e i de totios 10s clientrs que wan mmori-tas.

5. R C ~ I I I ~ O I W Y ljoms a. iC61no ie Ilaruan 10s clirntes qnc han en\ lado paclurtri a Sioux Cit!? . ; 4 t d e s t l rs t~nos han herho envios las r o m p i i i a s con renta a n d nltwor t l d

millhn? c. i.Cuiles son 10s nombres y las poblaciones de las ciutladrs que h m retil~itlo

nnharques clue p e m ~ in'is de 100 l i h as? d. (,Cu'ilrs son 10s clientes que tienen tnLs tie $5 millones ti(. r t ~ t a anual ! clur han

en\iatio embarqnes de men05 tle 1 hbra'? e. iQu16nc.s ion 10s clientes clue tirnen sohrr los $5 n~illones en renta anual j t ~ n e

han en\iaclo ernl)arqurs de Inrnos de 1 l i h a o han en\iacio cni1)arcjnes a San Francisco'!

f. ~ Q u ~ S I I C ~ son 10s chhfrrrs clue han condiicitlo eml)arques tle clientes clue tienen renta a n d sobrr 10s $20 milloncs a cindades con po ldac i i ,~~ por entima tie1 millhn:)

Page 266: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

6. S~ibconsultus a. Intlicp~e las ciudades que han rec:ihiclo embarques de clientcs clue tienen mLs dc:

$1 5 millones de renta anual. h. Inclique 10s non1l)res dc los rhbferes clue han transportado em1)arques clue pesan

mLs de 100 lillras. c. Indique el nomhre y la renta anual tle 111s clientes que han enviado em1)arqucs

que pesan m2is de 100 lihras.

7 . NOT E X l S T S a. Intlique 10s clientes clue han tenido em1)arques transportatlos por cada c-anli6n. b. Indiepie las ciudades qur han rrcihiclo emharques cle todos 10s clientes. c. Indique los chhf'eres que han transportado embarques a cada una de las ciuclades.

8. Fmciones integradas a. iCui l es (4 peso promedio de 10s emharc~ues? b. iCuLl es el peso promedio de 10s embarques que van para Atlanta? c. ~ C ~ I ~ I I ~ O S emharques ha enviado el cliente 433:' d. iCuLles ciudades de la base de datos tirnen la mrnor y la mayor pohlaciirn'! e. iCui l es el peso total cle 10s paqurtrs (embarques) transportados en el carnihn X I ? f. Dk una lista de los clientes y de la renta anual para aquellos dientes que r s t h en

la base de datos (Sugcrmcia: Usar una suhc.onsulta.) g. Dk una lista de 10s clientes para 10s que todos sus em1)arques han pesado por

encima cle las 25 libras. h. Dk una lista de 10s dientes que 11ac:rn todos sus envios a una sola ciudad. (Notr

que la ciudacl no tiene clue ser la misma para cada diente.)

9. GROUP BY y HAVING a. Para catla cliente, i(:uiil es el peso medio de 10s paquetes rnviados por 61:' h. Para cada ciudad, jcutil rs el peso miximo de un paquetr que haya sido mviado

a dicha ciudad? c. Para cada ciudad con poblaciirn por encinla del milkn, icuiil es el peso menor de

un paquete enviado a dicha ciudad? d. Para cada ciudad que haya recibido a1 menos diez paquetes, jcuil es el peso

mrdio de 10s paquetes enviados a dicha ciudad?

10. Operaciones del klgebra Relucional a. Los clientes que son fabricantes o que han enviado algun paquete a St. Louis. b. Las ciudades de poblaci6n por encinla del mill611 y (pie hayan recibido paquetes

de 100 libras de parte del cliente 3 11. c. Camiones manej&s por Jake Stinson que nunca hayan transportado un rmhar-

que hacia Denver. d. Clientes con una renta anual sohre los '$10 millones y que hayan enviado paque-

tes de menos de 1 lihra a ciudades con poblacibn menor de 10.000.

11. Operariones de modificacidn de la base de datos a. Aiiada el cami6n 95 eon el ch6fer Winston. b. Borre de la base d r datos todas las ciudades con pol)laci6n por t1el)ajo de 5.000.

No se olvide de actualizar tamhibn la relaci6n EMB4RQUE. c. Convierta el peso de cada envio a kilogramos, dividiendo el peso por 2.2.

12. Cursores Cree la declaraci6n de un cursor que identifique toda la informaci6n sobre

clientes que hayan enviado embarques a una ciudad con pohlacibn mayor que 500.000.

Page 267: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACION RELACIONAL C O N SQL

Vistas 13. Cret. vistas 1)lrra cada uno d e 10s raws :

a. Clientrs con renta a n d p r c1el)ajo del mill6n. . Clientrs (.on renta anual entre $1 milli'm y $5 millotles. c.. (Iientes cwn renta anual por cncima tle 10s $5 millones.

14. 1Jse las vistas anteriores para rcspontler a las cwnsultas siguientes: a. ;,Q& chijfrres han t r a n s p o r t a h eml~arc~ues a Los dngrlrs provrnientes clc clien-

trs con r rn ta sohrc. los $5 millones? 1. ;,Cuhl es la pol)lac*iijn d e las ciutlacles c p c han rrci1)ido em1)arqiies tie clirnttbs con

renta en t r r $1 mill6n y $5 rnillones? c. iQ11i. chhfrrc:~ han transportado cmbarqurs tle clientes (:oil renta por debajo dr l

n1ill6n y cu l l IY la pol)laci6n d r las ciudades hacia las que se han rnviado dichos en~barques?

1. Escrilja un artic:ulo d r invrstigacihn sohrr el tlrsarrollo dr SQL drsde sus primeras cata- pas en IBM. Discuta sus primeras versiones c:omerciales en Oracle e IBM. su categoria conlo es t indar ANSI y las versionrs rnis reciriltes para mainframe y microcomputa- dorrs.

2. Esrriba un articulo dr investigaciirn que critique r l es t indar ANSI de 1992 para SQL. Compare este esthndar (*on dos o trcs produrtos romerc*ialcs.

3. Estudie en detalle el SQL empotratlo. Determine r6mo es SII intrrfaz cwn uno o do* len- guajes anfit riones.

4. Estudie 10s esqurmas de i n f o r m a c i h de tlos sistemas difrrentes tlr g e s t i h de base dr datos rrlacionales. iC6mo podrian usarse con SQL para hrintlar infornmaciOn a 10s usuarios?

Page 268: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACION RELACIONAL CON LENGUA JES

lntroduccion

Manipulacion de datos

Consultas simples

Consultas de multiples tablas

Funciones integradas o predefinidas

GROUP BY

Operaciones de modificacion de la base de

datos

lnsertar (Insert)

Actualizar (Update)

Borrar (Delete)

PARADOX PARA W I N D O W S

Definicion y entrada de datos

Manipulacion de datos

Seleccionar atributos y filas

Consultas conjuntivas y disyuntivas

Calculos

Enlazando tablas

Lenguaje de aplicacion

lnstrucciones condicionales

lnstrucciones iterativas

Resumen

Preguntas de repaso

Problemas y ejercicios

Proyectos y cuestiones profesionales

Page 269: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

254 DISENO Y ADMINIsTRACION DE BASES DE DATOS

' ' lrr, icbmo quieres trccbnjar con r l sisterno (lhoru qur stJ h a olludido Query-by-Exornpl~?" 4nnette Chung ~ s t u i n t~ r e sndo en las reuc.ciones d r los usunrios con el nuevo len-

guuje de consulto de bnse dr tlutos rc41ciorrul clue ho irutalorlo rwientementr la Compu- liiu Constructorci Prrmier. Estci hubltrndo coil l rv Bernstrin, inspector de lu coinpc&u.

"-iilnc~tte, horwstoinente te digo p e n~rnco habici pensurlo qur un lenpuuje de com- pitclcicii~fiwse tuit.fhcil tle usur. Cuundo comprcwdi c6mo se t l esp l i tpn lo5 tablus de dutos j i ~ e f i t i l vrr c6inn ronstruir consu1ta.s. Por supucJsto, po r uhoru scilo he t~stado utilizondo consultus simples, p~~dicv-a que no lo encontrosc. tunfici l u rnedidu quc' inis nwesidudes seun rncis sojisticc~dtrs."

"Yo crew que tt' precw-ri p e poru Iu n~uyoriu d r 1n.s cosm qur quieres hncer, el leu- guuje es.ficil de ~ntender . To uyudar i con mucho gusto con cui~lquier tipo de consultcts que creus qur rlo puedes resolvrr; p r o pienso que en cualquier caso en poco tiernpo potlrcis ~wler te po r tu cl~entci. "

Q uery-by-Exnrnple ' es una versi0n grifica del lenguajr~ de datos relacional SQL. P a r t i d a ~ ~ m e n t t : encaja hien en las necrsitiadrs de 10s usuarios tipicos. En este 1.apitu1o nos fauiiliarizartmos con la mayoria d r los aspcctos de estr lengnaje. asi conw twn nna iniplemcntaci6n dr l mismo para microcon~puta-

tloras: PARADOX para Windows, l)ty)nbs tle leer estr t.apitulo se podr i :

Analizar algunos htvhoh l i i s th r i t~~s relatives a la teoria y las im~)le~~irntat:iont:s c:omcrcialt.s tlel Q~lery-by-Exoriy)le (QBE). Drsarrollar las solnciont:~ en OBE para nna arr~plia variedatl de t~onsultas. Hacer n~odificaciont:~ a nna l)ast~ d r tiatos mediantc QBE. Evalnar los puntos furrtes y dbldes drl QBE conlo lenpuaje relacional. Star capaz de tltwrrollar aplicat*iones nsantlo P,IRADOX para Wintlows.

Q u e r y - b y - n e ' (QHE) f'ne desarrollaclo t:n los afios setenta en el centro de investiga- ciOn Thomas J. Watson tle IBM (%loof. 1975; Date, 1986). El t i e n i p de sn tlesarrollo trans- tSurre t:n paralrlo con el tle SOL, y 10s dos Icnguajes son I6git:anlente similares. QRE fur lanzado wrno produvto coinercia1 tiescle h a w ya algin tirmpo y es t :omhmrnte utilizado como l~erramienta tie consnlta por usuarios finales. l'ipicamente se soporta QHE twando se s o p r t a tar~ihikn SQL y las tahlas que st: acceden por QBE fueron definidas mediante las facilidades de drfinicihn tle tablas cle SQL.

. h h o s lenguajes cst in soportatlos por el Query Manugement Fncility (Fucilidad pu ru Munip1iluci6n de C o n ~ u l t u ~ ) (QMF) que ofrecr IBM. QMF tbs un programa gni6n (shell) que (la nna interfaz de usnario a1 QHE y a1 SQL. Los usuarios interactiian con QMF a travks cle terminales en linea usantlo menhs en pantalla y t e c h de f u n c i h . El usuario selecciona uno tie 10s dos lenguajes y formatos y ejecuta las consultas en el Irnguaje escogi- do. QMF proporciona niedios para imprimir 10s resultados cle rstas consultas en informes con formatos que incluyen encahezamientos y otros aspertos estintiares.

QBE tamhikn es t i soportado por otras t:onipafiias. Borlantl, por ejemplo, ofrece P-4RADOX coma una versi6n con la funcionalidad con~plr ta dr l QBE, quz incluyr la drfi- nicihn de tahlas. Aunque la sintaxis es ligeramente tliferente de la de IBM, el lenguaje es 1)isicamentr el ~nismo. Lotus 1-2-3 tambikn nos da un lmguaje simple de consnlta de base de datos, qne usa un enfoque similar a1 del QBE. Dehido a t p e el QBE prrrnitr clue 10s

' P11dicr.a ~saduvirw como Cons~~lmi tdo- l ,o r -~ j~n~pfos . Por ser un nornl)sc ya eslahlrvido cn la industria y la li~rratora. sc drjari vI original en inglbs ( N . drl1:).

Page 270: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACION RELACIONAL CON LENGUAJES DE CONSULTA GRAFICOS 255

lenguaje textual. I n lrnguajr dr eo~npntdtloras cuj as instruccionri consistrn d r vatlrnai dr caracttwi.

l enp~aje grifico. Un Irngna6r dr col~~pntatloras qur usa rt*~)rc*srntat~ion(~s picti~rieas para rrsolvrr los prol~lrn~as.

consnlta siniplr. I na consdta tjur in\ olwra a una sola taljla de la base de tlatos.

tabla ejen~plo. El QBE r s nna tabla esqurlrto que mucstra el nomllrr d r la t;ihla y 10s noml~rrs tlr las columnas arrilm dr rspacios m 1)lanco que sr usan para la entrada tlr Ins condiciones de consulta.

usnarios no tkn icos formn1t.n fieilmrntr sus consnltas, t s t r tlel)t,rh forniar nna partt: importantr tlr 10s sistemas conicrciales d r hasr tlc tlatos por algt'm tiempo.

En estta t*apitnlo sr estutliarin 10s rrcnrsos 111: rnanipulaci6n tlel QBE en alpin tlrta- 11t:. Se utilizari como ehtantlar la implrn~rntat~ihn c.ornercia1 tlr IBM. Tambibn s r \ts~.i P.4RAI)OX para Windows. qntb rs una imp1rn1t:ntat:ibn importantr tlt: QBE ampliamt~ntt~ utilizatla en 10s sistemas micro t~om~)~~ta t io ras .

Manipulacih de datos Los lmguajrs tratlit-ionalrs d r c.omf~utadorrs son textuales. t:s tlecir. la formulaciim d r las solncionrs stx t q w r s a r n trxtos f'ormados por t*atlcnas tle taaractrrrs. Sin rmhargo. QBE tas Iin Irnguajr g r i f i co qur rstrnt.tnra las solucionrs a las consultas Ilor mtdio de rrprrsrnta- rionrs pict6ricas (It. las tahlas tlr las bases tlr tlatos. Uhicando siiii1)olos (%t i 10s lugarrs atlr- cnatlos rll las t~ol~niiiias tle las tal)las7 r l nsuario 1,nt.tlc csprcificar las t*ontlicionrs d r srlrt~tihn (11. la consulta, la agrupacibn, t.1 tlrspliegue tlr lo.; datos y las oprrationes de av t~~a l iza - ti011 (It, la t ~ a s r d r tlatos.

iZunqur QBE rs nn Ienguajr grifico, t i m e murhas similitutlrs c.structnralrs tvn SOL. ,Amhos lrngnajrs soportan similares exprrsionrs ctrndicionalrs. fnnciones intrgra- (last agrupat-ihn. t~onsulta multi-t;ll)las !. otras por el rstilo. T a m h i h hay i r r a s tlondr 10s tlos lcngnajes son tlifcrriitrs. En l )ar t i r l~lar . algunos rccursos del SQL no aparecen r n r l QBE. E n la mrditla r n true la prrsrntaci6n a j~ancr s r srfialarin las siniilitntlrs J- difrrrncias u~Ls iniportantrs. Salvo qur se sefialr rxplicitamrntr. s r u s a r i n las niismas t*onsultas para ilustrar QBE qut' las clur SP usilron p a r a SQL. Los valores rrs111tantc.s tlr 10s datos srrBn p r tanto 10s mismos.

P w s t o q u r la niayoria tle los sistt:mas con QHE nsan I)astss tle tlatos qut' han sido drfinirlas ~lsant lo las 6rdrnrs dc definicihn tlr SOL, no s r analizarh la tlrfinicii~n tlr tlatos cn QHE.

Consultas simples

:\I igual qutL taon SQI,. prinit:ro st. estnciiarin las consultas sinrplrs qucB afectan a una sola tahla d r la I ~ a s r tlc datos.

Como lenguajr grifico. QBE tlcbe prol~orcionar medios para q u r r l nsuario intrraca- tile grificamente con la I w r de datos. Esto sr hace desplrgando iin rsqueleto tlr tahlas o . t:n la terniinologia tle QHE. tablas ejemplos. Ej(v:utando nna ortlrn, el usnario purtlr pro- v o t w qur s(': ( l r s p l i r g ~ ~ r r n pantalla una tabla ejemplo para catla tallla en la Imse tlr tlatos. E n la Figura 8.1 sc inuestra u11 vjemplo simple tlr 1)ase d e datcrs. La Figura 8.2 nmrstra t a l h cjemplos para cada una tlr las trrv tablas en la base d r datos. En cada caso el notu- h r r tlr la tahla aparrce cn la primrra c:olnmna, srguido en ordrn por el nomhrc tlc ca- d a una tlr 1as columnas d r la tabla. Un rspacio en blanco se d r ja d r l ~ a j o tie cada uno tle rstos n o m l r r s tlt: tabla y t:olumnas para prrmitir la entrada de la consults tlel usuario. -4 continuaci6n st: ilustra el uso dc las tablas r j r ~ n ~ ~ l o s a travks d e consultas simples.

Consu l ta : i Q u i e n e s son 1 0 s f o n t a n e r o s ?

La soluci6n en QBE aparrcr r n la Figura 8.3. Se ha puesto una "P" clrl~ajo tle la columna NOMB-TRAB.4JADOK para intlicar que se quiere mostrar en pantalla (o impri- mir) el valor tlr dirha ccrlumna '. Esto equivalr a poner NOMB-TRABAJSDOR en la cl iu- sula SELECT d r una instrucci6n SOL. Poniendo r l valor literal "Fontanero" en la colum- na OFICIO sr es t i indicantlo la condicihn de yue sear1 se1rct:ionados s6l0 aqurllos trabajadorrs twyo OFICIO sra igual a "Fontanero".

La "P" ir tlehr a1 tCrmino Print (Imprimir) drl inglCa (N. drl T.)

Page 271: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

TRABAJADOR

I D TRABAJADOR

1235 141 2 2920 3231 1520 1311 3001

EDIF IC IO

NOMB-TRABAJADOR

M. Fa raday C. Nemo R. G a r r e t P . Mason H. R i c k o v e r C. cou lomb J . B a r r i s t e r

ID-EDIFICIO 312 31 2 51 5 460 460 435 21 0 11 1 435 51 5 31 2 51 5 435 21 0 11 1 11 1 460 31 2 21 0

DIR-EDIFICIO 123 E lm 456 Map le 789 Oak

1011 B i r c h 1213 Aspen 1415 Beech

TAR I FA-HR

12,50 13,75 10,00 17,40 11,75 15,50 8,20

FECHA-INICIO 10 /10 01 /10 17 /10 05 /10 08/12 28/10 10/11 10 /10 05/11 05/11 24/10 09 /10 08/10 15/11 01/12 08/10 23/10 30110 27/10

OFICIO

E l e c t r i c i s t a F o n t a n e r o A l b a r i i l C a r p i n t e r o F o n t a n e r o E l e c t r i c i t a C a r p i n t e r o

NUM. DIAS 5

10 2 2 18 18 10 15 8

15 8

2 0 14 12 12 4

14 24 17 14

T I P 0 NIVEL-CALIDAD Of i c i n a 2 Comerc i o 1 R e s i d e n c i a 3 Of i c i n a 3 Of i c i n a 4 A lmacen 3

ID-SUPV

1311 1520 2920 3231 1520 1311 3231

CATEGOR I A 2 1 1 1 1 3

TRABAJADOR I ID-TRABAJADOR I NOMB-TRABAJADOR ITARIFA-HR lOFICIO I ID-SUPV I I I I I

ED IF IC IO I ID-EDIFICIO I DIR-EDIFICIO (TIPO ( NIVEL-CALIDAD 1 CATEGORIA I I I I I

Page 272: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACION RELACIONAL CON LENGUAJES DE CONSULTA GRAFICOS 257

NOMB- TRABAJADOR 0l ) i r i - \ r q u r ell rstv c~j~wiplo la ortlen QBE \ a segi~itla dc 1111 pnnto. T)r rstr niotlo.

'"P.'' r5 la ortlrn tle est*iil)ii 011 pantalla. El \ a l o ~ literal "Fontant*ro" intlira una t~mtlici6n C. Nemo ( I t . sc~lecciim tle clatoi. Las Ortlrnrs d r QKE sieinpir trrminan 1.n 1111 ~ ) n n t o ! loi \aloi-es litr- H. R l c k o v e r rales al)erwcn t-xcta~nente (wino iv c v r i h r n nornialn~entr. RI resultatlo d r vita twnsnlt;~

se Inurstra r n la Ftgnr'i 8.3. 01)ser\e t[n(' ('1 1-t~snlta110 es nna t n l ~ l ' ~ r.elacion;il. t ~ ) i n o es sien- pre rl c ~ s o IWII 111s Ienguajei rel;rc+)ualvs.

TRABAJADOR I ID-TRABAJADOR I NOMB-TRABAJADOR ITARIFA-HR IOFICIO I ID-SUPV

Consul ta: I n d i q u e t o d o s 1 0 s d a t o s d e 1 0 s e d i f i c i o s que Sean o f i c i n a s .

P .

Resu l tado:

ID-EDIF ICIO DIRECCION-EDIFICIO TIPO NIVEL-CALIDAD CATEGORIA

I F o n t a n e r o 1

tabla de rtsultnilo. En ORE [ma tal~lit sin rncal)t~7amit~i~tos p r tw111111na. St' usa para tlefinir la salitla tlc nna ronsnlta.

3 1 2 1 2 3 E l m O f i c i n a 2 2 1 0 1011 B i c h O f i c i n a 3 1 1 1 1213 Aspen O f i c i n a 4

Consul ta: i C u a l e s l a t a r i f a s e m a n a l d e c a d a e l e c t r l c i s t a ?

E D I F I C I O I ID-EDIF ICIO I DIR-EDIFICIO I T I P O I NIVEL-CALIDAD 1 CATEGORIA

1 O f i c i n a 1

En rsta soluti6n de QBE (Fiplra 8.6) sr ha introducido una irguntla tallla quc no tit.- ne rilc.i~I~t.zamici~to.s por t ~ o l ~ ~ n n i a . lTna tallla tal se llama tabla de resultado (torgr.t trrhlr.) 1Hn-qw t~~nt i t*n t . informat*ihn sollre el resultado final o rrsultatlo tlr salida d r la consults. En rsta consd ta vita 1.5 el rqui\alente tle la t*lliusula SELECT d r SQL. O l w n e qur "I'." aparece en la primrric t~olnmnn tle la t a l h tle salida. Esto significa clue se mostrar i catla t d u m n a tle la t a l h tlr salidu. La srgnnda y la cuarta t~olumna cwntienen 10s elementoi ejeml)lo -NT y -TH. l ln i ~ l t ~ n ~ e ~ ~ t o ejenrplo es m a variahle cjur rrpresenta un valor ti11ic.o no eipc*vifico ell una t h m n a (11% una talda. En este caso se definen 10s elrmcntos cjtwiplos

TRABAJADOR I ID-TRABAJADOR I NOMB-TRABAJADOR ITARIFA-HR ~OFICIO ]ID-SUPV

- NT - TH I E l e c t r i c i s t a 1

- NT T a r i f a s e m a n a l = ' 140* -TH I

Page 273: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

en las columnas 3 y 4 de 1;) tallla ejemplo clue se muestra arr iha dc la tallla de resultado. Ollserle clue las \arial)les ORE comienzan con sul)rayaclo ( - ). Pursto que -NT esta en la columna NOMB-TRARAJADOR 6ste rqui\ale a cwalqu~cr \ a h posilde en esta columnd para la relariim TRABAJADOK. Siniilarmcnte -TH toma 10s balorrs de la c.olumna corresponclientc TARIFZ-HR. E n esta ronsulta se niuestra como resnltaclo un c.hlrulo (la columna 4 tlv la t a l h de salida) y un l a l o r literal (la rolumna 3 clr la tallla de salida). El resultado w r i :

Resultado: NOMBTRABAJADOR

C. Coulomb T a r i f a s a l a r i a l sernanal = 620,00 D. Fa raday T a r i f a s a l a r i a l sernanal = 500,00

Consulta: LOulen t i e n e una t a r i f a por hora menor de $10?

Con esta wnsul ta se ilustrarh chmo especificar c*ondiciones de comparacicin simples en QBE (Figura 8.7). Ohstme la condiricin

en la tabla rjemplo

Resultado: NOMB-TRABAJADOR

J . B a r r i s t e r

Consulta: LOuienes son 10s fon taneros que ganan mas de $12 por hora?

La soluci6n (Fignra 8.8) a rsta nueba ronsulta muestra chmo se exprcw en la tabla ejemplo una condici6n rompuesta. Las condiciones vn esta tallla son equilalentes a

TARIFA-HR > 1 2 AND OFICIO = ' F o n t a n e r o '

E k decir, cuando (10s contliciones aparecrn en la misma linea en una tabla ejemplo deben orurr i r nrrlbns condiciones para que se srlrccionr una fila. En este caso se ha esco- gido mostrcir todos los datos de las filas seleccionadas, por eso es clue se ha puesto una "P." en la primera c:olumna.

Resultado:

ID- TRABAJADOR NOMB- TRABAJADOR TARIFA-HR OFICIO I D - SUPV

1412 C. Nerno 13 ,75 F o n t a n e r o 1520

Consulta: I n d i c a r 1 0 s t r a b a j a d o r e s que Sean fon taneros o que ganen mas de $12 por ho ra .

TRABAJADOR ( ID-TRABAJADOR I NOMB-TRABAJADOR ITARIFA-HR ~OFICIO I ID-SUPV

P. 1 < 1 0 1

TRABAJADOR I ID-TRABAJADOR I NOMB-TRABAJADOR ITARIFA-HR ~OFICIO I ID-SUPV

/ > 12 1 ~on tanero l

Page 274: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACION RELACIONAL CON LENGUAJES DE CONSULTA GRAFICOS 2 5 9

caja de condicicin. En QUE: es una caja en la cual se p w d c expresar ana rondicibn complcja dt. iina consulta.

consdta mnlti-tabla. Una consulta clue afwta a m i s de una tahla.

La soluci6n (Figura 8.9) a esta nucva consulta iliistra cjue Ids contlicionrs que se especifican en (10s lineus tlitewntes tie una consulta r n QRE eyuivalrn a conclicionrs cnonet.- tadas por un OR l~oolcnno. O h s e n e la u1)icacibn de la orden "I?.". Aparr r r r n amhas li- nras y en cada una d r las columnas qur sr tlesea mostrar.

Resul tado:

NOMB-TRABAJADOR TARIFA-HR OFICIO

M . Faraday 12,50 E l e c t r i c i s t a C. Nemo 13,75 Fontanero P. Mason 17,40 C a r p i n t e r o H. Rickover 11,75 Fontanero C. Coulomb 15,50 E l e c t r i c i s t a

Consul ta: i Q u i e n t i e n e una t a r i f a p o r horas e n t r e $10 y $12?

La sohic-ihn st, muestra en In Figura 8.10

ID- TRABAJADOR NOMB TRABAJADOR TARIFA-HR OFICIO ID-SUPV

2920 R . Gar re t 10.00 A l b a n i l 2920 1520 H. Rickover 11.75 Fontanero 1520

P a r a r twd\ r r rs t r tipo clr w n s ~ i l t a sr introtluc-r una caja de conclici6n (contilt ion box). Esta caja, con la e tque ta CONDITIONS (CONDICIONES), wnt i rne las restritwo- nes que el usuario d t v a i m p t i e r solwe 10s valores. E n este rjemplo, en rl qne se aplican (10s t.ondiciones simultinramente en una rnisrna ccrlurnna, es convenientcx rr tLar una sola condicihn, utilizando un 4ND 1)ooleano v ~wnvr la en la raja de condici6n.

Consultas de tnliltiples tablas

El asyecto m i s importante de las consultas d e indt iples tahlas (consultas rnulti- tabla) es q u r implica la conexihn de 10s tlatos a trav6s tle varias taldas, en otras p a l a h a s , haciendo m a rcwnii'm ( jo in) tlr las tahlas. A continuacihn sr w r a cOmo se h a w rsto cn

Consul ta: iCua les son 10s o f i c i o s de 10s t r a b a j a d o r e s asignados a l a c o n s t r u c c i d n d e l e d i f i c i o 435?

TRABAJADOR I ID-TRABAJADOR INOMB-TRABAJADOR ITARIFA-HR ~OFICIO I ID-SUPV

P. - TH

CONDICIONES

- Th > = 10 AND-TH < = 12

TRABAJADOR ID-TRABAJADOR NOMB-TRABAJADOR

P. P.

TARIFA-HR

P. > 12 P.

OFICIO

P. P. Fon- tanero

ID-SUPV

Page 275: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

I N inqlortantt. a drstacar en la soll~cicin QBE a esta consulta (Figura 8.11,) er r l mi?;- mo elemento -IT clue a p l - e r e en amhas tablas TKABAJADOR !- ASIGNACION. .-hi en rol l~o ae eupresa una rtwnihn en QBE. Esto sigi~ifica clue un prrr seleccionatlo tit. f'ilas tle las dos talrlas debe tener 10s ~nisrnos vnlores para las dos respecti\-as columnas ((111 las clue apa- . .

rcce el -IT). Sr ha escogido -11' como t.1 ele~twnto ejeiiq~lo. !a t p e es m a al~rekiatura ade- cuada para el 11o1n11rt. tle la tdu iuna ID-TRiBAJ4DOR. Potlria hahersc. twogitlo cual- quier otro elelne~ito tbjen~plo. w m o -7i. p r o +st(- no seria clr niuguna a!ntla,en este contexto. El \ a h literal 435 se 11or1c cn la columna 11)-E1)IFICIO tit. ASIGY \CION 11ai-a indirar clue i e tlellei~ co115itlrrat. solamcnte las filas t*orrc.slwntlientes a1 etlificio 435.- Por i~ l t i~no . la P, en la t ~ o l u n ~ i ~ a OFICIO tlnicre tlecir t ~ n r stx cpiere niostrar rn l~antal la el baler tit* tlirha rolu~ulla.

Resul tado:

O F I C I O

F o n t a n e r o A l b a n i l E l e c t r i c i s t a

Consul ta: I n d i c a r 1 0 s t r a b a j a d o r e s y 1 0 s nombres de sus s u p e r v i s o r e s .

La soluci0t1 a esta twnsulta (Figura 8.12) nos ilnstra la fatilitlad twu la que se p e t l c I ~ a c e r en QBE la reunicin (join) tit. m a relatihn (.oil ella aiisnia. Ol~st.rvt. clue r~smt lo el ele- mento e j r n i l h -IS en ambas tablas ejemplos cbstainos exigiei~tlo clue el valor tle ID-SUPERVISOR en la p r i ~ ~ t e r a t-opia tlc 'I'R,IB_\J_4DOR sea igual a ID-TRABA.]:\I)OR ell la segunda copin (11. TR:lH:\J.IDOR. Sr muestra entouws el valor tie la t*oIunma NOM- BRE-TRL1B_1J;iUOR 1)ara aml)as ta l~las ( twno se ve en la t;111la (I t , salida). La segnntla rolumna represents t.1 noiul)re tlel sulwrvisor. Se ha asnmido ell esta l m e tlv datos que 10s trahajadores clue no titmen supervisorw sou >us propios sulwrvisores.

Resul tado:

NOMBRE TRABAJADOR

M. F a r a d a y C. Nemo R. G a r r e t P . Mason H. R i c k o v e r C. Coulomb J . B a r r i s t e r

NOMBRE TRABAJADOR

C. Coulomb H. R i c k o v e r R. G a r r e t P . Mason H . R i c k o v e r C. Coulomb P . Mason

TRABAJADOR

ASIGNACION

ID-TRABAJADOR

- I T

ID-TRABAJADOR

- I T

TRABAJADOR

TRABAJADOR

NOMB-TRABAJADOR ITARIFA-HR ~OFICIO ]ID-SUPV

I P . I ID-EDIFICIO I FECHA INICIO ( N[~M-DIAS

435

OFICIO

OFICIO

ID-TRABAJADOR

ID-TRABAJADOR

- I S

ID-SUPV

- I S

ID-SUPV

NOMB-TRABAJADOR

- NT

NOMB-TRABAJADOR

- NS

TARIFA-HR

TARIFA-HR

Page 276: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

~MPLEMENTACION RELACIONAL CON LENGUAJES DE CONSULTA GRAFICOS 26 1

fiinci611 intrgracla o predefinida. I 'na funtibn estadistira quc opera sohrr un conjuntc? tlr fi1;;ls - SIJM. *4VG, M 41. MIN. CNT.

Consu l ta : Ind ique 10s nombres de 10s t raba jadores aslgnados a e d i f i c i o s que Sean o f i c i n a s .

La solwihn (Figura 8.1:3) :I cssta ronsulta i h s t r a la reunihn de t r rs t d ~ l a s . Es tlifitil inlaginar ( fu r nna r t w n i h tal i t J l~ueila h a w r dt, niodo n ~ i s f i r i l clue la t p t ' i r 1)nrdr h a w r a t p i ron QBE. RI 1)otlt.r ilr la l ~ r o g ~ a n i a t i b n grif i ra s r h a w olnio ron t3sttx c,jrniplo.

Resu l tado:

NOMBRE TRABAJADOR

M. Fa raday C . Nemo R. G a r r e t P. Mason H. R i c k o v e r J . B a l l e s t e r

C o n s u l t a : I n d i q u e 1 0 s t r a b a j a d o r e s que t i e n e n una t a r i f a po r h o r a mayor que l a de su s u p e r v i s o r .

1)r n u o o hatwnos una r r ~ m i h u tlr 'IRABAJDOR consigo ~ n i s n ~ o (Figlira 8.14). Sin twil~argo. r n csta ocahihn stx nrcrsita una raja dr c.ondicii,n para s t~l twionar a at~uellos t ra- I ~ a j i d o r r s t111t' tirnrn unu talifa salarial mayor t p t 3 la ck su sqwrvisor. La raja d c , contlirihn i.s rl ilniro nirdio disl~onil)lr p r i l c20nq)arar va1ori.s r n tlos c~oluninas difrrt1ntc.s. Kn SQL txstr t i p ck 1wns111ta sth r twlvia twn nna s1111~~1nsulta corrrIat*it~~i;~ila. El r rsdtai lo t111rda:

Resu l tado:

NOMBRE- TRABAJADOR

C . Nemo

Funciones integradas o predefinidas (Built-In Functions)

11 ignal qur SOL. QKE tani1)ibn tirntx fimciones iiitegraclas (hil t- in Ji l~wtiom). Esta5 p r - tlrn usarsr por t-jcniplo para rnrtmtrar 1.1 niayor o r l Inenor \ a h tlr una rolumna. t*alcdar r l l a lo r promrtlio o r l total tlr una rol~unna. y para cwntar r l nilmrro total d r rlrmrntos en

ASIGNACION I ID-TRABAJADOR I I D - E D I F I C I O I FECHA I N I C I O I NUM-DIAS

- I T - I E

TRABAJADOR I ID-TRABAJADOR I NOMB-TRABAJADOR ITARIFA-HR ~OFICIO /ID-SUPV

- I T P .

ASIGNACION I I D - E D I F I C I O I D I R - E D I F I C I O I T I P 0 [NIVEL-CALIDAD I C A T E G O R I A - I E I O f i c i n a 1

ID-SUPV

- I S

ID-SUPV

TRABAJADOR ] ID-TRABAJADOR

TRABAJADOR 1 ID-TRABAJADOR

- I S

CONDICIONES

- T T > -TS

NOMB-TRABAJADOR

- NT P .

NOMB-TRABAJADOR

TARIFA-HR

- T T

TARIFA-HR

- TS

O F I C I O

O F I C I O

Page 277: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

una cdumna. En QBE estas fuucioues integradas tienen 10s nomhres MAX, MIRT, AVG ', SUM, y CNT '.Estas puetlen aparewr en las talkis de salida o en las rajas de rondic ih .

Consul ta: i C u a l e s son l a s t a r i f a s p o r h o r a mas a l t a y mas b a j a ?

La solnci6n aparecr en la Figura 8.15.

Resul tado: 1 8 , 4 0 , 8 , 2 0

Este resultado cwnsiste en (10s ~a lo r e s que se p u d e n imaginar como una tabla de dos columnas y uua sola fila. Las columnas con las cahecrras T4RTF4-MAXIMA p TIRIF4-MINI- MA. I)e este modo. el resultado d r una consulta cualquiera sigur siendo una tahla rrlacional.

Consul ta: i C u a l es e l numero promedio de d i a s que 1 0 s t r a b a j a d o r e s e s t a n as ignados a1 e d i f i c i o 435?

La soliiciOn aparere en la Figura 8.16.

Resul tado: 1 2 , 3 3

Consul ta: i C u a l es e l numero t o t a l de d i a s as ignados a 1 0 s Fon tane ros en e l e d i f i c i o 312?

La solliciim aparece en la Figura 8.17.

Resultado: 27

Consulta: iCuantos t l p o s de o f i c l o s d l f e ren tes hay?

El oprrador UNQ5 en la Figura 8.18 garantiza que se contar i shlo una sola oc.11- rrencia por oficio. Es decir, los ciuplic*acios no se tomarin en cwrnta a la hora tle contar.

TRABAJADOR I ID-TRABAJADOR I NOMB-TRABAJADOR ~TARIFA-HR ~OFICIO IID-SUPV TH

ASIGNACION I ID-TRABAJADOR I I D - E D I F I C I O / FECHA I N I C I O I NUM-DIAS

435 - N D

P . I AVG. -ND

P . 1 SUM. -ND

TRABAJADOR

ASIGNACION

" Abrrviatura dt cluerage (pronrtdio) (N. del T.). ' hrrviatura dt c o w t (cantidad) (N. drl T.). .' Abrtviatura dt u,niqw (ilnico) (N. del T.).

ID-TRABAJADOR

- I T

ID-TRABAJADOR

- I T

NOMB-TRABAJADOR ITARIFA-HR ~OFICIO IID-SUPV

1 Fontanero I I D - E D I F I C I O I FECHA I N I C I O I NUM-DIAS

312 - N D

Page 278: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTAcIoN RELACIONAL CON LENGUAJES DE CONSULTA GRAFICOS 263

TRABAJADOR I ID-TRABAJADOR I NOMB-TRABAJADOR ITARIFA-HR ~OFICIO IID-SUPV I OF I

I CNT. UNQ-OF I I

Resultado: 4

Consulta: i C u a l es l a medla de l a t a r l f a semanal

La soluc.ii,n aparew en la Fig11 ra 8.19.

Resultado: 509,14

Consulta: LCuantos e d l f l c l o s t l e n e n n l v e l de c a l

La solurihn a1)arec.r en la Figura 8.20.

Resultado: 3

GROUP BY A1 igual que en SOL, sc. puetlrn agrupar las filas qne tienen una alor en cwrn6n en

nna o mas rolumnas. L t o signifira que las filas d r ima relacai6n se (lividen en grnpos. un g r u p para rada valor de la columna ciesignada. A c-acla grupo se le pueclen apl i rar lab fnn- riones estat1istic.a~.

Consulta: Para cada s u p e r v i s o r , i c u a l es l a t a r i f a po r h o r a mayor que se l e paga a un t r a b a j a d o r c o n t r o l a d o p o r e s t e s u p e r v i s o r ?

"G." indica la c~c~luinna por la que se agrupa (Figura 8.21). En este csaso se est i agru- pantlo p r ID-SUPV, pntSsto que queremos ronocer la tarifa mixima d e los trahajadores por super~isor . La tabla de resnltado (target table) se usa para intlicar que se quiere mostrar la colnmna por la que se agrupa junto run la fiinci6n intrgrada yue se aplira a 10s g ~ u p o s .

E D I F I C I O I I D - E D I F I C I O I D IR-EDIF IC IO I T I P O I NIVEL-CALIDAD 1 CATEGORIA

- I D 3 I I I I

TRABAJADOR

I CNT. -1E I

ID-TRABAJADOR I NOMB-TRABAJADOR ITARIFA-HR ~OFICIO (ID-SUPV

- TH I

TRABAJADOR

P.

ID-TRABAJADOR

- S I

NOMB-TRABAJADOR ~TARIFA-HR

- TH

MAX. -TH

OFICIO ID-SUPV

G . - I S

Page 279: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Resultado:

ID-SUPV

131 1 15,50 1520 13,75 2920 10,00 3231 17.40

Consulta: Para cada t i p 0 de e d i f i c i o i c u a l es e l n l v e l de c a l i d a d promedio de 1 0 s e d i f i c i o s de c a t e g o r i a 1?

Resultado:

TIP0

Cornercio 1 R e s i d e n c i a 3 Of i c i n a 3 ,5

Consulta: Para cada s u p e r v i s o r que c o n t r o l e a mas de un t r a b a j a d o r , i c u a l es l a t a r i f a p o r h o r a mas a l t a que se l e paga a un t r a b a j a d o r de 1 0 s s u p e r v i s a d o s p o r e l ?

En la d 1 c i 0 t l (Fi(rura 8.23 ), la condicibn en la caia de contlirihn determina tine ratla grupo clrlw trner lnis tlr una f'ila. De modo clue la caja de rondiriim en este ejemplo ey equi-

alrnte a tuna c.liuynla II-IC ING de SQT,.

Resultado:

ID-SUPV

131 1 15,50 1520 13,75 3231 17,40

Consulta: i Q u e t r a b a j a d o r e s ganan p o r encima de l a media?

TRABAJADOR I ID-TRABAJADOR [NOMB~TRABAJADOR I T A R I F A - H R ~ O F I C I O I I D - S U P V - TH I G. - IS

E D I F I C I O

P.

- I S MAX. -TH

- T AVG. -CL

I D - E D I F I C I O D I R - E D I F I C I O 1 T I P O

I G . -T

NIVEL-CALIDAD

- CL

CATEGORIA

1

Page 280: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACION RELACIONAL CON LENGUAJES DE CONSULTA GRAFICOS 265

Se nrcrsitan dos copias tlr la tahla 'I'RAB;lJADOR para rsta wnsulta y tlos \arial)l(*s difereirtps para drsignar a 'l'ARIFA4-HR (Figura 8.24). Una variahlr ( -THl) s r MI para ca lcdar la tarifa por hora promrdio para toclos 10s trahajadores? mirntras c p r la otra varia- Idr (-TH2) sr nsa para clrsignar a la TARIF-4-HR para catla tra1)ajador r n rspec*il'itw.

Resul tado:

NOMB- TRABAJADOR

C. Nemo P . Mason C. C o u l o m b

Consu l ta : i Q u e t r a b a j a d o r e s t i e n e n una t a r i f a p o r h o r a mas a l t a que l a d e l p romed io de 1 0 s t r a b a j a d o r e s que i n f o r m a n a1 mismo s u p e r v i s o r que e l ?

En rsta soluci6n (Fipnra 8.25) bimplrmcntr se ha niotlific.aclo la consulta antcrior afiadientlo una agrnpacihn por la columna ID-SUPV de la pr imrra tallla ! conrctantlo la< tatjlas mediantr ID-SITPC.

Resul tado:

N O M K TRABAJADOR

C. Nemo P . Mason C. Cou lomb

TRABAJADOR

TRABAJADOR

Operaciones que modifican la base de datos

TRABAJADOR I ID-TRABAJADOR

QBE soporta tres tipos d r oprraciones qnr camhian la base tlr tlatos: i~ l se r ta r (insert). artualizar (updote) y l ~ o r r a r (delete).

ID-TRABAJADOR

ID-TRABAJADOR

Insert. A1 ignal que en SQL, s r purden insertar filas especificando simplrmrntt. t.1 valor individual de cada columna, o se purtlr insrr tar un grupo tlr filas mrdiante la especificaa- cibn d e una consulta. Comtr rjrmplo del primer mktodo puede consiclerarsr la ccrnsnlta OBE cle la Fiaura 8.26. Esta consulta es una instruccihn d e insercibn, como lo indica la

NOMB-TRABAJADOR

NOMB-TRABAJADOR

P . -NT

"I." d r la prirnera rolumna. Est!) p ro lora clue se aiiada una fjla, cop 10s valorrs yne s r muestran, a la tabla ASIGNACION. Puesto que la columna NUM-DIAS se ha dejado en blanco. dicha columna cont rndr i un valor nulo a1 insertar la fila.

NOMB-TRABAJADOR

NOMB-TRABAJADOR

P . -NT

TARIFA-HR

- TH 1 TARIFA-HR

- TH2

O F I C I O

O F I C I O

TARIFA-HR

- TH I TARIFA-HR

- TH2

ID-SUPV

ID-SUPV

O F I C I O

O F I C I O

ID-SUPV

G . - I S ID-SUPV

- I S

Page 281: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

La siguientc consiilta (Fignra 8.17) aiiadirii filas a la rclaci6n de nomhre EDIFI- CIO-1. la cual consiste cn las columnas ID-EDIFICIO, TIPO y NIVEL-CALIDAD. Las filas qiic se alladen son aqiirllas clue en EDIFICIO tirnen ca t~gor ia 2.

ObsCrvcsc quc. st: ha puesto una wndicihn (CATEGORIA = 2) soljre las filas de EDI- FICIO. mivntras quc' la orden insertar ( I . ) rstii en la tabla EDIFICIO-2. Ile este modo se lleva a w h o una consulta sohre EDlFlClO en la yiie las filas seleccionadas se insertan en EIlIFICIO-2. llna tahla corno EDIFICIO-2 podria iisarse, por cjemplo, wnio t a l h tem- poral, sohre la cual se podria llevar a cabo una gran variedad dc consultas.

ASIGNACION 1 ID-TRABAJADOR I I D - E D I F I C I O I FECHA I N I C I O I NUM-DIAS

Actualizacicin ( q d a t e ) . La c:onsnlta QBE tlc la Figura 8.28 nos da yiie a todos 10s yuc: (:stan trahajando para el supervisor 1520 se les aumente sn tarifa por hora en un 5 por 100.

Se necesita mostrar la c:olumna TAKIF&HR dos veces: una para definir la variahle - T, y otra para intlicar la orden de ac.tualizaci6n ( U. ) y la f h m u l a ( -T " 1.05). Tnciden- talmente, esta facilidad de mostrar milltipl(:uc:opias de m a misma columna en m a tahla ejemplo piiede usarse tam1)ii.n en c:onsiiltas (por ejemplo? si se aplic*an multiples condicio- nes a una misma coliimna mcdiantc un A4ND).

1 2 8 4

Borrar (delete). Si lo yue se desea es borrar a todos 10s que t rabajan para el supervisor 1520, twtonces se puedr usar la consults quc: se miiestra en la Figura 8.29, donde D. indi- (*a la ortlen bor ra r "

4 8 5 1 3 / 0 5

TRABAJADOR I ID-TRABAJADOR I NOMB-TRABAJADOR ITARIFA-HR I TARIFA-HR I O F I C I O I ID-SUPV

- T I U . - T * 1 . 0 5 I 1 5 2 0

E D I F I C I O

E D I F I C I 0 2

I.

TRABAJADOR I ID-TRABAJADOR I NOMB-TRABAJADOR I TARIFA-HR 1 OFICIO I ID-SUPV

1 1 5 2 0

Paradox para Windows

- I E - T - CL

I D - E D I F I C I O

I E ID-EDIFICIO

PARADOX PARA Una base de datos poderosa yue incorpora QBE para entornos con microcomputadoras es WINDOWS. Una base PARADOX PARA WINDOWS. Puesto que muchos usuarios de este libro deberan tener de datos para acceso a lalm-atorios de microcomputadores, en el resto de este capitulo se tratariin algii- niicroconiputadoras nas de las caracteristicas y capacidades mas importantes de PARADOX PARA WINDOWS. cuyo lenguaje de consulta es QBE. " Del inglks Delete (borrar) (N. del T.).

D I R - E D I F I C I O I T I P O I NIVEL-CALIDAD

I T 1 C L T I P 0 I N~VEL-CAL IDAD

CATEGORIA

2

Page 282: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

Definicihn y entrada cle datos

El lenpiaje tlr clc:finirihn d r datos tle PL4RrlDOX es muy f i c d de aprrndrr . Pulsantlo la opci6n File (archive), rn ti1 mrnb s r ohtirnrn a sn vrz las o p i o n e s qur se murstran en la Fignra 8.30 (O1wr1-e clue totlas las opriones taml~ikn puerlrn seleccionarsr por teclado. Esto p u d r verse 1.n cnalquier manna1 tlr PARADOX P.4RA WINDOWS ). Sr sclecciona New (nurvo) del menil d r File y lucgo l'uble (tahla) tlel snhmrnu d e k t e . Esto produce la vrntana q n r sr nmc.stra en la Figura 8.31. Se pnede rlegir PARADOX PARA WINDOWS w m o el t i p de t a l h a wear , pulsantlo el hot6n de OK, se v e r i rntonces nna pantalla simi- l a r a la tle la Figura 8.32.

S ~ p o n g a ~ n o ~ ( p e se desea ( w a r m a base tle datoe d r manufacturas qnr se componr (11. las rrlaciones que se murstran m la Fignra 8.33. Explicaremos c6mo hacer la creacihn d r la relacihn PERSONAL y s r dejar.6 el resto w m o ejercicio. Teclee Nimernp en la d u r n -

Page 283: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

- -

1 - Paradox for Windows

( a ) PERSONAL (NUMEMP, NOMBEMP, NUMDPTO, NUMPROY, SALARIO) ( b ) DPTO (NUMDPTO, NOMBDPTO) ( c ) PROYECTO (NUMPROY, CLIENTE, LOCALIDAD) ( d ) PARTEPR (NUMPROY, NUMPARTE, CANTIDAD) ( e ) PARTE (NUMPARTE, VENDEDOR, COSTO)

na tlr nt~inln-ta FicM Namv (nonl1)rc. tlvl c-anq~o). Mub\nir lm-a la rolnmna T>lw prriionan- (lo las trc-lai Tub. Enter o Flrc.l~a I)rrrc.ha (rig-kt-orrow). -lfiada ( ~ 1 tipo clrl ( . a m p (A para alfannmGrico. N para numGriro. D para f w h a (date). $ para t fnrro) . Para NitmMt.mlj (nhnicw (h.1 c~i i i~, l (~~clo) r l t i p tlr (lato drlw i r r N. Dado clue el NGmemp pueclr i r r una ('la- l r , c l t~ l~ twoi m n c r n o s p u . ; ~ la c.olnmn;~ Key (rlave) y preiionar r n a l q n i c ~ t r d a para intli- r a r qur Numrmp es nna c-lace. - l p r r c * r r i iln asterisco cpe ind i ra r i quc. Gstr r i ilna rlavr. Presionando de n w v o las terlas Tab. Enter o F'levha Dererha se m a m a a1 pr6ximo atrihn- to. Entre Nombemp en la rolumna Field Tame (honlbro dc. Campo). En la vollnnna T!l~c. (tipo) ponga A y en la colnmna Size ( T a m a h ) ponga 15. Luego a\ ancr a1 pr6ximo atrihnto. Niimdpto. Las entradas restantes signen nn patrim wnilar y i e m w i t r a n en la Fignra 8.34. Observe que 10s campos (pie hean de tipo fwha (tlt~te). nnmiricw. o dinero. no rtynic.rc.n cine ic. eipwifique una longitud para rl c a m p . Ol) i rr \e la d i s~~oni l~ i l i~ la t l dv nn cirrto n i~mero de rompro6ariones de ediri6n sobre lob tlatos dr lob ca inpo~. ta11.i wino limitar el rango tlc 10s valores a introdncir en el rampo, la valitlaci0n a tr;i\;i d r tahlai, )I otros.

Cuando se haya drfinido r l ultimo a t r i l~u to se pulba el l ~ o t 6 n Save As (salvar porno) para guardar y d a r un nomhre a la tabla. Se v e r i nna pantalla similar a la de la F i p - r a 8.35. Terlee PERSONAL romo nomhre tle la t a l h tan la raja texto New Table Yome (Nuevo nomhre de tabla) y luego pulse el 11ot6n 01<. Loi nom1)res tle t a l h est in l i m i t a h a orho raracteres (que no pueckn ier t.iparioi).

Page 284: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

F ~ e l d Roster - ,r-Fleld Name

1 Numemp. 2 Nombemp. 3 Nurndpto. 3 Numproy. 5 Salar~o

Table propert~es-

V a l ~ d ~ t y Checks 1 + I

1 Requ~reH F ~ e l d -

2. Minimum -

3. Maximum - - I I

4. Default

5. Picture -

Boton Opc.11 Table i l b r i r tabla).

R~ght-cl~ck or press Spacebar to choose a f~e ld type

Iables

EMPLOYS DB PROJECT DB

r j p z q

path El WORK - D p e <Paradox>

New Table Name -

1 PERSONAL

Opt~ons

D~splay Table -

El resto cie las relaciones se (:rean de manrra similar. Una vrz qrle las relaciones (talllas) y sus a t r ih tos han sitio definidos, se pueden introdncir 10s datos usando 10s recur- sos ciel m e ~ ~ i (esto rs, usando las opcionrs tlcl menu File I Open I Tuble o ~ d s a n c i o cl hot611 Open Tahle (.iI)rir Tallla) localizado so11r.c. la barra ripitla (speedbm). Despubs sr dehe pulsar la tabla desrada p 111ego F9 para comrnzar la entrada de datos.

Page 285: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

Manipulacih de datos

B o h n Run Query (Ejecutar consulta).

consulta disyuntiva. Una consulta cuyas condiciones estin conrctadas por un "or" , o algun sim1)olo equivalrnte.

-41 lenguajr de manipulacibn de datos dc PARA1)OX puede accedrrsr esc:o~<mdo las siguientes opciones de menu: File I New I Query. Puesto que el lenguaje d r c-onsulta es visual a la manera de QBE, el usuario no tiene qur mrmorizar 6rdenes complejas tle con- sulta. Todo lo clue se necesita hacer es pasar a la ventana d r consulta. Se puede cy~ecificar las tahlas a s r r c:onsultadas y 10s ejemplos tlr 10s datos requeridos.

Seleccionar atributos y filas

Para selrcc:ionar 10s a t r i h to s de la eonsulta primero se selt:ccicrna File I New I Query. lue- go st: pulsa el noml~rr de la tabla y sobre OK. Esto causa qur aparezca una tahla m l h c o (ver Figura 8.36). -4 continuaci6n se ddw pulsar la raja de comprobacihn (check box), cpe rstri a1 lado del atrihuto tlrseado (lo cual pone la maws ' 'dm ). Despuks clue sr presione el bothti RWI Query (ejecutar cwnsulta), PAKADOX produc:e una tahla respuesta qur cwntie- ne los valores tle los atrihutos cpe fueron marcados tal y como estin en la tahla.

Para renoml,rar un atrihuto durante una consulta, de modo que el nombre clel (.am- po que apwezca en la tabla de rrspuesta sea ciifrrente del nomlre drl atributo rn la t a l h de consulta, lo que hay qur hacer rs simplrmente trclear "as"' seguitlo del nombrr (*on el que sr quiere clue apart,zca dicho atributo en la tabla de respuesta. En la Figura 8.37 sr ejemplifica rsto. En rste case se estiin viendo 10s nombres de 10s empleados del Drparta- mento 100 y sr ha cam1)iado el nomhre del atributo "Nombemp" por el de "Nomhrr" s0lo a 10s propbsitos de la salida. Como se puede ol~servar, 10s atriljutos han sido eseogidos usando el "d", mirntras que las filas se se1ec:c:ionan basintlosr en alghn criterio que hay que suministrnr (en estr caso "Numdpto = 100").

Consultas eonjuntivas y disyuntivas

La Figura 8.38 extirnde la consulta de la Figura 8.37 para pedir 10s nomhres dc todos 10s empleados del Departamento 100 que ganan mis de $30.000 a1 afio. Esta rs una consulta conjuntiva ('and") en la clue estamos preguntando por la lista d r emplrados qnr rstiri en el departamento 100 y (und) que ganan a1 afio mi s de $30.000. La conjunci6n sr puede extender a mis de dos condiciones simplemente entrando todas las condicicrnes "and" en una linra de la consulta. Las conjunciones purden coniprender varios atrihutos. asi como varios valorrs para un simple atrihuto.

Supongamos que se quiere una conjuncihri con varios valores d r un mismcr atributo, tal como que el salario sea mayor de $30.000 y menor clue $50.000. Esto es lo que sr hace en la Figira 8.39. La coma entrr 10s valores deseados es 1;r clue establece la cwnjuncibn requerida.

La condici6n disyuntiva ("or") se puede indicar d r dos maneras. Dos o niis filas en una consulta intlican una conesihn "or" rntre cada fila, tal comer se muestra rn la Figu- ra 8.39. Aqui se ha pedido una lista con los nonilms de todos 10s rmpleados que est in en el Departamento 100, o que ganan miis de $30.000 a1 afio. En la Figura 8.41 se ilustra una

' Como, poner como ( N . drl T.).

Page 286: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACI~N RELACIONAL CON LENGUAJES DE CONSULTA GRAFICOS

(a) La consulta

(b) La respuesta

Nurnernp omemp Name

Page 287: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

irguncla forma de hacer esto. tlondr el "or" i r ha inirrtaclo r n t r r l a i cwltlwiones. Este mbtoclo p w d e utilizarse sGlo si la conclic%n "or" i r aplica a1 (*ontenitlo tie nn imico a t r i l ) ~ to. E n la Figura 8.41 se han solicitatlo loi nomhrei tlv loi rmpleaclos aiignadoi a1 De1)arta- mt3nto 100 o (or) al Departanlento 200.

A1 igual q u r en c n a l q ~ ~ i e r lenguaje d r cwniulta. l a i c*onditionri "and" J *'or'^ i r 1)ur- dvn comhinar en una misma wnin l ta . E n la Figura 8.42 se muestra un t~ jwq) lo . l t lni iv hall iolicitado loi no~nl)rei clr loi mlplcados aiignados a lo5 dcpartamvntoi 100 o (or) 200

(and) q11e ganan n l i i tie $30.000 a1 afio.

C i l r u l o ~ . S c pnetlen llebar a cabo c * i l ( d o i dvntro tlv nna cwninlta. Totloi loi c*i l rdoi tlrhrn r i t a r prewdidos dr l operador C4LC. Sr puede \ e r un rjrmplo en la Figura 8.43. Se ha solicitado el c*il(*ulo tlel ialario pronletlio. En la Figura 8.44 se obser\a un c~jcmplo simi- lar. ihlo qnc* aqui lo clue sr ha solicitado r i el ialario proincdio por clrpartamento. I'onirnclo una tnarra en la columiia 1)epartanirnto se lleka a cxho el t*&lc~do indicatlo para 10s grnpos clr filas qne tienen v1 mismo kalor en el atrihnto Departamento. E n estos dos rjrmplos se ha n.ado el operaclor C 4LC junto con el operador 4C EKAGE: (protnrdio). Otras opcracionrs son SIJM.I. COlINT. MAX, y MIN. T a m h i h sr purtlrn l h a r a caho calculos especializadoi.

Page 288: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACION RELACIONAL CON LENGUAJES DE CONSULTA GRAFICOS 273

ting. El "4"- ( l r~iota 10s atr i l~utos t a~ l?~os \,aIt)r,-h bt, tlrsra ~ I I I ~ ) I ~ I I I ~ I . . O l ) r i ~ ~ ~ i v ~ ~ t l o t.1 I)ot011 Join Ta1)lw (wuni011 tlr t : ~ l ~ l i ~ s ) tlr la l ~ ~ r r a ri11i1li1 y Iwgo ~ I I I S I I I I I ~ I t A t i 10s atri1111tos ( I t s la3 tlos tal)las clur s r utilizarin I W I I I O rn law, P \ l < . l D O l porw una i~ni t*a \arial)lv "KG" t~nt ' 11111t~~tri1 (111r t.1 r 1 1 1 a t ~ \ i I i ( l t ~ (KG \itwtl tlrl latin? P X P I I I ~ ) ~ ~ g r ( l t k - t111r aigiifit*a .'1)or r,jrtnpl~~. ') . [ ,a \ .ar ia l~lr "EC;Ol" t11w w i i i t r o ( l ~ ~ ~ ~ r n la ~ . I ) ~ I I I I I I I ~ S~3'111)1'1'0 t l v a1111)as tal)las III'TOS ! I'ERSOY AL i~rtila ~ W I I I O varial)lit. ~lltdiantt. la 1.11itI hr r n l a z a ~ ~ las taljla? (lo 111iwo 11otIria l ~ i ~ l ~ r r s t ~ nsatlo .'x*' I ) *'!"*). Sin t w ~ l ~ a ~ - g o . o I ~ s 6 r \ r s t ~ tint% la '-b:(;Olv* I W la ti11)1:1 1)I''I'OS ~ s t i r t ~ s t r i ~ ~ g i t l i ~ ill \aIor t l t ~ h L~kIDPI'O asotiatlo taon 1.1 I I O I I I ~ ) I Y ' .Jlarlwti~~g*'. 1h rstv 1 1 1 0 t h . h i S I I ~ O I I ~ I I I O S tpr ('1 11il111rro tIt:l i t I t ~ l ~ i ~ r t ; ~ ~ ~ ~ t * ~ ~ t o tlr ~ ~ ~ a r l i t ~ t i r ~ g rs 300. 1.l1tollc.r~ r l bn iw "KC01" 1)t*r111isil)lt' ('11 Dl'TOS rs :<OO. C ~ ~ a n t l o sts t ~ n c ~ ~ ~ r n t r i ~ 1111 r ~ ~ ~ ~ ~ l r a t l o asotiatlo

. .

1 l l l i l lista ( I t * tot11)lr loi v t ~ ~ ~ t l t v l o r t ~ ~ t [ l l t L s111ni11istri111 1)itms ;I 10s ~)ro!rt.toi lotdizaclos r n - 'O~~tl;~ntl". Vvmos I ~ I I ( > 1"s ta l~las PRP#\IYrES ! I'lIYrE5 (.still t*nlazatli~b 11or la \ ~ a r i a l ~ l r tlr 1101nl)rt' ".k:CO.)'*. Sitwl)rt* ( 1 1 1 ~ s(* t b n t w r ~ ~ t r a IIII;I t ' o r r t * ~ ~ ) o ~ ~ ( l r ~ ~ t - i ; ~ ('11 S17R1 I'4KTE sts rnl ;~-

+ 1 PRPARTES DB-Numproy-Numparte-Cdntdad

1 il1b EI.41 l b EODi lb 7

Page 289: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACI~N DE BASES DE DATOS

i ~ ~ b t r u r r i i ) ~ ~ rondirioual. t na instriic~cihn ([lie prtyunta p r iina cwnclic*ihn cletei.n~ina ~1 lwoc*esamiento a segnir srgiln el cwn~plin~iento de la ronclieihn.

illstrurciou SWITCH Una instrnc&n qnt, permite pregnntar par una wrie de cwncliciones.

instrucci6n CASE. Se Lisa con el SWITCIl para indirar r u i l e5 el prowsamiento a segnir cuanclo una rondicihn sca verdadera.

zan las dos filas reipertivas. Mirando mas alla en la tabla PRPARTES sv \ v qnc* c w s pivzas sv cnlazan rorl 10s proyectos en "Outland" a travi.5 dc la varialdr "E(;Oln. E*ta \arial)le cwnerta las filas en la talda PRPARTES ron las filas apropiadas cn la tallla I'ROYECTS ".

Lenguaje de aplicacicin

El lengnaje cle aplicwiim (1v PARADOX (OBJECTPAL) cs nn lvilgi!a~r (11. progra- inari6n tle base de datoi cle alto nivel, 01-ic~~tacio a ohjctos y estruc.turac1o. Este proporcio- na a1 usuario un m6todo para integral- las Orclenes interartivas cle PAR 4DOY dentro de m a aplic.aci6n. La escritura tle programas usualmente se ve romo una serie de instrncrio- nes. rompuestas tle asevc.raciones simples, de instrurriones rondicionales y ( 1 ~ instrncrio- nes iterativas. A rontinuari0n se verh 1)revrmente la sintaxis general cle estas dos illtlmai estrnc-turas.

Instrurciones coiiclicio~~ales. I,a sintaxis general cle lab instrurriones I F-THEN-ELSE es romo signe

I F <condition> THEN < i n s t r u c c i o n e s > ELSE < i n s t r u c c i o n e s >

END1 F

Las instruc:c*ionc.s SWITCH son similares a mdtiples instrucciones IF-THEN-ELSE. Mivntras (pie cacla IF-THEN-ELSE (*ontien(. s6lo (10s ramas, una instrucciim SWlTCH contiene una instruccibn CASE para cada rama posible. La instrurci6n CASE contiene una c o n d i c i h seguicla cle dos puntos y un conjunto de 6rdenes. Se ejecuta s6lo una de las instrucriones CASE cada vez clue s r ejrcute una instrucciim SWITCH. ,4 rontinuaci0n se muestra un ejemplo:

SWITCH CASE o p c i o n = "Da tos d e l c l i e n t e " : <lists de o rdenes - A> CASE o p c i o n = " T r a n s a c c i o n e s " : <lists de o rdenes - B>

OTHERWISE : <lists de o rdenes - K> ENDSWITCH

La primera instrucri6n CASE que satisfaga una c o n d i c i h (que evalile verclaclero) sera ejerntada. Si ninguna de las condiriones CASE es vertladera entonces se ejecuta la instrucci6n OTHERWISE.

instrurcion iterativa. Instrucciones iterativas. La sintaxis general d e una instrurr i6n de iterariim es la si- Una instrurcibn guiente: clue se puede repetir una rierta cantidad WHILE <condition> de veces. < l i s t a de i n s t r u c c i o n e s a e l e c u t a r >

ENDWHILE

Sr comprueba la condici6n del WHILE (mientras) y si 6sta es verdadera se ejecuta la lista de instrucciones. Cada vez q u r la conclici6n sr cumpla, se rjecuta la lista. La instruc- c i h ENDWHILE hace que la qjecuci6n vuelva de nuevo a la par te WHILE. Cuando la condicihn del WHILE rvaliir falso, el control del programa s r pasa a la instruc:cihn clue siga a1 ENDWHILE.

Recurrdr qnr 10s nomlwrn no purtirn wnrr mas dr who rararlrrm (N. drl T.).

Page 290: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

CLIENTE ( I D C L I E N T E , NOMB-CLIENTE , RENTA-ANUAL) EMBARQUE (EMBARQUE-#, ID -CL IENTE, PESO, CAMION-#, DESTINO) Clave e x t e r n a : DESTINO que r e f e r e n c i a a CIUDAD CAMION (CAMION-#, NOMB-CONDUCTOR) CIUDAD (NOMRCIUDAD, POBLACION)

r. i.(:u&lt.s son los nilmrros tlc 111s ( . amio~~~!s q11r han l lwado ~ ) a q w L w (c:ml)artj~ws) ~ I ~ I I . r~lcima tlr las 100 lihras?

d. Ui. tt~tlos 10s datos tlr 10s r n ~ l ~ a r t l n r s clr rnls d r 20 litwas.

111illonc.s. f. ,(:lthl cbs r l I I ) d r l clirntr Wilson Hroth(w?

g. 1n(Iiq11(~ 10, noml)rr< j la r m t a prom(& mrnsnal (I(, lo? clirntvs t p Y t i r r ~ r ~ ~ w n t a a n d ( I I W r w r d ( ~ 10s S-5 millones, lwro ~ I W rs nirnor tlr 10s $10 inillonrs.

I . , \ qnb drstinos han enviado rmlrarqnrs las compafiiah ron renta nnnal menor dr $1 mill6nY

tl. 1Quiht:s son los clientes q n r tienen m2is de $5 mil1ont.s de rrnta annal \- q u r han rnviatio embar~jnrs con prso de mrnos d r 1 lihra?

e. i,()uiSnrs son 10s c:lic'ntes qur tienen sobrr 10s $5 niilloncs en renta nnual y que han

Page 291: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

IMPLEMENTACION RELACIONAL CON LENGUAJES DE CONSULTA G ~ F I C O S 2 77

t*ti\iatlo em1)arques c1e menos d r 1 I h r a o q u r han enpiado cin1)arcpei a San F r i ~ n - ciscw?

f. ;.Qnibncs son 10s condut*torrs clue hau transportado rmharqnrs dt, 10s rlirntes con rcwta a n d s o l w 10s $20 tnillones a riudadcs con pohlacibn d t ~ mhs tle 1 mill611 dc hal)itanttts?

4. Funciones integrctdos (built-in) a. ;,Cliil el prso tnrtlio d r un cmI)arqur? I). iC11il rs el prso tnrtlio (1c 10s em1)arques qne van para Atlanta? r. ;,Cuintos miharqucs ha tmpiat1o r l clirntr 433? d . ;,Cnhlrs son las c*indatlrs d r la hasr de datos qucb tienrn la mayor y la nirnor pol~la-

cibn? e . i,Cllil es el peso total dt. 10s r ~ n l ~ a r q u e s transportados r n rl cami6n 82:'

5. G K O C P B Y a. Para cadir clicwtr, i ( .ui l es el peso promedio dc 104 p q u r t e s (rmharqurs) enviados

por tlic-11o t-lirntr? I . P a r a catla ciuc1at1, jcni l rs rl peso niiximo d r uti rtttbarque drstinado a dicha

cinclad? c. Para cada tiuc1ad (*on pohlaci6n sobre el mill611 de hahitantes. ~ c u i i l es el peso

minimo dc un rm1)arqur rnviado a &ha ciudad?

6. Opwariones de rnodificnci6n de la base de datos a. Aiiatla el cami6n 95 con el conductor Winston. h. Borrc. d r la hasr tlr tlatos todas las ciudades con poblaci6n por dcl)ajo de 5.000.

No s r olvidr tle actualizar tam1)ii.n la rrlatihn EMBARQUE. tb. Coinlrr ta el peso de catla envio a ltilogramos dikidieudo cl prso por 2.2.

. Usando la definici6n original de Zloof d r QBE (Zloof, 1975, 1977). l lrvr a caho utia comparaci6n vomprensiva tle SQL y QBE. Examine c6mo 10s siguientes t i p s d r con- sultas SQL s r purdrn t ratar en QBE: a. Suhconsultas no correlacionadas I). Suhconsultas correlacionadas r. NOT EXISTS

P a r a cada uno de 10s tipos anterioreu w e consultas especific-as del Capitu- lo 7 y defina c6mo se resoh erian en QBE.

2. Analice y compare QBE y PAR.4DOX PARA WINDOWS.

Page 292: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS CLIENTEISERVIDOR

lntroduccion: Un resumen de 10s conceptos de

clientelservidor

Definicion de las tablas de la base de datos en el

sistema de base de datos servidor

Sistemas de gestion

Creacion de tipos de datos definidos por el

usuario

Definicion de tablas individuales

Definicion de claves primarias y claves

externas

Restricciones CHECK

Lenguaje de definicion de datos: Sumario y

ejemplo final

Manipulacion y programacion del servidor de

datos

Lenguaje de flujo-de-control

Instruccion de bloque:

BEGIN ... END

Instruccion condicional IF. ..ELSE

Ejecucion iterativa: Instruccion WHILE

BREAK y CONTINUE

DECLARE y variables locales

Procedimientos almacenados

Valores por defect0

Uso del RETURN

lntroduccion a 10s disparadores (Triggers)

Uso de 10s disparadores en SQL Server y

Oracle

Desarrollo de aplicaciones cliente

El enfoque de Power Builder

Uso de Power Builder

Construir una aplicacion

Crear Datawindows

Crear Windows

Resumen

Preguntas de repaso

Problemas y ejercicios

Proyectos y cuestiones profesionales

Page 293: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS CLIENTEISERVIDOR 279

8 " Pero. dqud cs eaactainente cl ier~telservidor:~ Susan Bro(ldhent y Surtfbrd Jf(i11on estcin discutiendo /us posibilidades de ccimbicir

sus uplieti(~iones de oficinti desde un grcm comptac lor trtrdicional a unu plntaformn cl i~rl- t e l s e rdo r . SUSUII esth reticente en continuar h u ~ t ( ~ que VPU unn c1nru ventajn en hncer el cumbio.

Saiford le e o n t e ~ t ~ : "En 1ugur ( 1 ~ tener uraci hnicn y potente computc~dorrr que riluneje t o t l a~ nuestras aplicaciones principles . m u platrlforrrrci clientelservidor es unu red ~ I I P enlnza lus coinputurlorc~s de sobremesa con potentes computndorns llnrnridns ser- ~ir lores . ?uestro sisteii~(1 de gestibia d~ ~ U S P de (lutosj~ncioiwrci en el servidor y /us otras computadorus accedcrcin u la base de dutos u truvks de In red medinnte el servidor."

"i Y q u i ~ w ~ t c ~ j u s nos ofrere este erlfbquc~?" ' ' h l t r nuestra geiltc~ yu tiene coinputadorns en sus escritorios, q u ~ usan p a r a u s

aplic~lcior~es ii~depeiadic~~ltes. tal como procesniniento de texto hojns de ccilculo. Conee- trindolos tenemos todr~s lus ventujas cle unn red. tales como compnrtir s(ft~(lare y correo electrciiaico. p r o (~(le~rncis podernos t m e r (listiiatns ventajus clientel.servidor".

2 Coino cliciles? "En el ser~~idorfiincioimrri un SGHD potente y declicc~do, mientrcls que lrrs I I I ( ; ~ I L ~ I I U S

clientes tendrcin cuds unu SIL propin interf& pr@a de usuario ( G U I ) ' p a r a dnrle mcis poder y fi~cilidud rle I L . ~ a la presentucibn de 10s tlutos, 10s informes. etc. Ademcis, n u e s t r ~ equip0 de sisteiim tcwdria herran~ierrtns potei~tes pu ru d ~ s a r r o l l a r sisternas en 1a.s mriqui- i u ~ s client^ y a lu vez poder usnr todus lus herramientus rlisponibles en el SGBD. Tendre- mos un(1 lnctyor cuntidr~d de f i i n e i o ~ ~ ~ s en iauestrns computadorus que l r~ s clueJ teneinos clhoro, lo (pie comp~nsur ia nuestra inv~rsicin de c(lpit~1."

"Yu esto me p r e c e interesaiate. Vr~nlos u verlo en rncia profir~~diclud."

n rapitulos anteriows se han estutliaclo algunos aspectos iniciales dc 10s sis- tc.inas clientelservidor. En este t q ~ i t u l o se arnpliari el rstudio, se i lustrar in las filncionrs que estan disl~onihles en los sistenlas t-lirntelservidor tanto en

SCBD o servidor como en el tlesarrollo de In at)licacicin o lado del clirnte. Dcs-

Conlprendcr la fornla d r divisiim del tra1)ajo que es posible hamr con el enfoc1ue rliei~tr/sc~rvitlor y ver chl~io rsa divisiim henefiria a las organizaciones porque lc p r m i t e m a utilizacihn colnplcta cle la calraciclad tle sus sistemas. Drfinir los escluel~ias dc la ]base de datos en el SGBD servidor, utilizando muchas cap r idades l~otcntes. Utilizar rl Icmguajt. de inanipularicin del SGBD servidor para cwrihir programas q11e x q ~ ( : n ventaja drl poder ilnico dc: 10s coneeptos de las l m e s de datos relaeio- nales. Comprencler los rntornos modernos d r aplicacii,li en el ma1 se prodwen sistemas c.liclntes que 1)ncdrn interactuar con SGRDs servidorrs.

Introducci6n: Un resumen de 10s conceptos clientelservidor

servidor. Una red local E n el Capitulo 1 se analizaron algunas caracteristicas )r ventajas de 10s sistrmas clirn-

consistentr de telservitlor. Se seiialh clue ulia platafor~rra clier~te/servidor es una red tle cornputadoras

co~nlmtacloras clientes qur re(-ihrn servicio cle una computadora ' Siglas drl tbrmino rn inglbs Graphicc~l Gsrr Int~rficcr: yor srr siglas chlahlrcidas. sr. han tlrjado cn servidor. in$& ( N . d ~ l T.).

Page 294: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

en 1;) qut. una o niis ofrecrn servicios !; d r ahi el rioin1)rt~ dt. sarr idores . I m restantes twnq~iitndores tle la red son rlieiites de estos st~rvitlores. Catla tipo tle miquina sta o1)ti- miza para q11e IIeve a t * a h sus funciones rsl)et*ifit.as dcntro del sistema tle la red. De esta inanrra se optimiz;~ii los servicios para 1)rindar servicios a in~it.hos t.1it.ntt.s. Los st.rricios de bases tlr datos snelen her de 10s s tmi t ios inis fre(~uentes. Pt)r otro lado. 10s sistemas t-1itmtt.s se optiinixan para la cantratla !; presentatihn tlt. 10s datos. P o r tanto. Gstos int.111-

Iilterfaz Grjfica de yen norinalnwnte interfaces grificaa d c usuario (GI%) clue 1)rintlan nietlios orientados I'suario (GIJI). al nsuario p a r a fatili tar la entrada tle los datos p para d a r forinato ~ n o s t r a r 10s datos Pantallas y f ~ ~ n t i o n r s t p t , de salida. 1)rintlan inedios grifitws E n este t*apitiilo se veran 10s sisttwas cliente/servidor desde t.1 lado del servidor o para ~ I I C 1111 ttsuario base de datos y desde el lado dta la ~ m w n t a c i h n o del cliente. E n la primera parttb del c a p - final awetla a tin tulo se explit.ar;:ln las caractrristicas tle dos sistmias servitlores tle I~as rs d r datos. Oracle !. sisttm~a tle t*ilculo. SQI, Server. E n particular nos interrsarrmos cn a t p 4 l a s caracteristitw de 10s SGBD que

no hayan sitlo vistas prrt-ianientr en estc liljro, o q u r se hayan t-isto s d o drsde un plantea- miento tr6ric.o. En la i~ltitua par t r dcl capitulo se exuminari uii cntorno para el desarrollo d r aplicacionrs. PowerBuiltlrr, clue se usa para desarrollar sistrmas (pie fun t ionar in en las miquinas clirntes tlr uua plataforma t~lirntr/servitlor. Estos sistemas son potentt-s y populares en 10s entornos conierciales at*tuales. Todos los nuevos t*ontseptos qut- sc preseti- tarLn son vitales para una hurna coniprensih d r la teoria y la prictica dr las bases d r datos m o d t ~ n a s .

Antes de continual dc1)enios sriialar t p e ~ u ~ t ~ s t o que cualquiera de estos sistvmas tie- n r mnchos m i s ret*nrsos clue los que ~ ) o d r i n o ~ l ( ~ s c ~ r i h i r en s6lo tin ca1)itulo. o int~luso en un iinico lihro, se han selet*tionado solamtwte aquellos aspectos m i s rrlevantes para el con- ttJxto de esta exposiri6n. P a r a inis detalles se t l t h ~ i consultar a 10s provredores dt* tbstos sistemas o de otros similares. Drlmnos notar clue la p res rn tac i i )~ s e r i aritocontenida y t p e 1)or lo tanto no debe ser netwario que el lector tenga t p c t r n r r acceso a estos sistemas para (pic se pueda lwneficiar tlr rsta presentacihn. Los prinripios implicados aqui se purden comprender por si solos y s(- pueden aplicar m las preguntas. prot)lenias y ejrr t i t ios qii(> sr ofrecen a1 final tie1 cnyitulo.

Como se mrntionb en el Capitulo 7, el lenguaje SQL estuvo tlisponil)le comercial- mente por primera vrz a finales de 10s aiios 70 en un sistrma tlr grsti6n dc base de tlatos (SGBD) drsarrollado por la empresa Oracle. Como ya tlijimos antcriormente, Oraclr s e r i estudiado en este capitulo. P o r supursto. Oraclr ha eqwrimrntado muchos desarrollos y mejoras tlrsdr su versibn original. La vrrsibn drl SGBD Oraclr clue se anal izar i aqui se lla- ma O r a r l r i Server, y es t i concrhida para opr ra r en 1111 entorno t:lirnte/servidor. Tam1)iCn veremos otro SGBD coinercial llamado SQL Server. SQL Server fue drsarrolladtr inicial- nientr por Syhase, p r ro tamhibn se comercializa por Microsoft. Analizaremos aqui aspet:- tos tlel Microsoft SQL Server, Vrrsi6n 4.2. Ambos productos hrindan lenguajes de brdenes orirntados a texto. TanhiGn h r i ~ i d a n interfaces de usuario q u r visualizan y responden a las entradas d c 10s usuarios. Los rjrmplos de pantallas en Ins interfaces de usuario que se usarLn provienen de SQL Server. TambiCn se ver in rjemplos en el lenguaje de hrcirnrs tlr Oracle.

Ambos productos son SGBD poderosos, qur brindan tanto lenguajes de tlrfinitihn d r datos (LDD) y lenguajes d r manipulacihn de datos (LMD) considerablrmmtr sofistica- dos. Este capitulo discutr caracteristicas importantes de ambos lenguajrs. Se v r r i cbmo se pueden usar sus LDDs para definir tablas tlr la hase de datos y cbmo usar sus LMDs para realizar operacio~ws avanzadas sobre 10s datos.

Esta porciim dr l capitulo es t i dividida r n (10s partes principalrs: (1) definicibn de tablas tle la base de datos y (2) manipulaci611 de 10s datos y programacibn. Aunque se i r i n examinando amhos sistemas a1 mismo tiempo, no es nuestro propbsito hacer una compa- racibn detallada de sus capacidades. E n lugar de esto, estamos interrsados en 10s princi- pios qiir puedan derivarsr para ser usados en la gestibn de bases de datos. S d o en algunas ocasiones se v e r i cu indo uno de 10s siste~nas tiene alguna capacidad significativa q u r el otro no tiene.

Page 295: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS CLIENTE/SERVIDOR

Definiei6n de las tablas de la base de datos en el sistema de base de datos servidor

En los sisteinas tlut, sr rnaiiiinarin 1.11 csta secvibu. el proceso de delinir las t a l h c t l v 1;1 I)ast, tle tlatos twusistr nl los 1)asos siguientes:

1. C r e w los tipos tlef'iuidos 1)or el usnuiio 2. Ut~f'i~iir lab ta l~ las individnales

Creaci6n de tipos de datos definidos por el usuario

trabajador (id-trabajador, nomb-trabajador, tarifa-hr, oficio, id-supv) asignacion (id-trabalador, id-edificio, fecha-inicio, Num-dias) edificio ( id-edificio, dlr-edificio, tipo, nivel-calidad, categoria)

SQl, Server j Oracle hrindan nna ~ a r i r d a t l tle tipos de datos definidos por el sisttb- ma. tales como t*arJcter (charrrrter), rntero ( i i r t~ger) , y fecha-hora (da t~t t r iw) . Ademis. SQI, S e r ~ e r hrintla facilitlatles 11al-a ( w a r t i p 3 de datos definidos poi- el usnario. Un ti11o de tlatos tlefinido por el usuario no rs mLs clue un snbtipo de nno de 10s tipos de datos del iistein,~. Es decir. es nn ti110 tle tlato,s del sistema clue ha sido rrstringido tle alguna mane-

Page 296: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Estas s r i r i i i txplic~ando a iiicditla q u r avanwnios. Sr iii troduw "tipo-id*' como Nornbre. Estr srrl; ~1 riorril~rr clur st. utilizari dondt. qu i r ra q u r s r tlt4ir1an c~oluiimas clur tcngan rs t r t i p (11% datos. 1,a raja Olcner ( l~rop i r ta r io ) a~ttomitic*aitic~iitt~ c~ontr i idr i r l ID login dr l usuario I.-john-(lor*') y la caja 73pe (tit,()) cwntienr IIor drfbvto "i~rt" (por irlte- ger). I'ursto qucL c p ~ e m o s cIur t.1 t i p I ~ a s r d r rs t r tilm drfinido por (4 usuario sra irttcycr (entero). rntoiiws no s r t ~ a m l ~ i a r i rs t r campo. anntlne lmlriamos ha1)rrlo caml~iado I M I I '

algiln otro t i p soportatlo j ~ o r r l sistrma. . lhora , dt.ritro d r SOL Server. 10s c a m p s irltc~- g e r (entero) son s ic~npre tlr la misma l o n g i t ~ d . por tanto la longitud d d c a m p no rs sig- nifirativa y potlrmos pasar aohrr rsto. Ohserve ahora qut' la ra ja Nulls (niilo) r s t i vacia. lo q n r intlica clue no s r permit(: el n ~ ~ l o IW winpos con rs t r t i p (lr datos. S i quisibramos ~wr in i t i r nulos. t t d r i a m o s q u r iiidicarlo r n rsta raja . prro como no cjucsrrii~os la clrjanios asi. ],as dos idtimas twtradas son p a r a P I valor p r tlrfecto y para una rrgla. Kstas s r cxplicarin con 1116s clrtallr postrriornirntr. Por al ior ;~ ~iitiplemrritr intf carernos q u r no tlurrenlos ningim valor por drfrc-to para este tipo de tlatos. poi- tanto p a s a n ~ f i a la raja Rule (regla).

regla. I n a restric~i6n Qnerritios una regla para rstc: t i p clr clatos Ilara restringir qnr 10s valorrs posihlrs sol)rcl rl ~ a l o r (lur stA terigan q w s r r mmoi-rs c p r 100.000. Esta rrgla st. define srparatlanicntr )- Ir ilanlos r l pcmtitt~ rn m a ccclu~una. nonil)rr "itl-vilido" . Esto s r h a w usando rl I-liadro de diilogo Marwge Rzcles tlur s r iuurs- csta1,lccda pol. 11na t ra en la Figura 9.4. En la caja Rule Corrter~ts (t:ontcnido de la rrgla) twleamos: raprrsihn conclicional.

CREATE RULE id-val ido AS @id > 0 and @id < 100000

El nombre cie la rrgla rs "id-\alido" j aparece e n la raja Rzile ) en la caja Proper- ties (propirdadt,s) en la Figura 9.3. I,a regla rstal~lecr c p r r l valor d r l paranietro @id del~cx ser mayor qur 0 y inenor q u r 100.000. Estr pariiiirtro b e tonia dr l valor actual d r la t d u m - na siemprr q u r r l t i p d r tlatos se est6 usando r n m a defiuicihn dc. columna. P o r rjriiiplo, aupongamos que s r drfiiir iti-trahajador r u la tabla tralxljatlor con el tipo d r da tm

Page 297: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS CLIENTEISERVIDOR

File Edit View Tools Manaae Obiect Window Helo - - - - - " - , - C ~ r e n t Connections: Current Database:

SQL-SERVER I?

john-doe lohn-doe

fohn-doe "lohn-doe

a Microsoft SQL Object Manager 1-1: File Edit View Tools Manaae Obiect Window Helo

Page 298: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

Definiendo tablas individuales

El prhximo paso es t l c f i ~ ~ i r las taldas t*on SIIS t*oluu~nas intiividua1t.s. Se ilustrarh tvtt. Ijro- t w o (*on la pantalla .Ilalrccpes ' l i t6lr.s dcl SQI, Srrver (Figura 9.5), a1 mismo tienil)o anali- zarrntos algunas de sns t.aracteristit.as interactivas. Luego s r analizarin algunas t8aractc- risticas atlicionales para la definivihn de ilatos (lor estiil tlisponihles en Oracle. El lwotwo d r definicihn d r la tallla se dcsarrolla tie la forina siguiente:

1. Las cwlumnas tle la n w v a tahla se dcfinen en el hrca cuatlrit~ulath (grid c~recc) clue es t i dehajo tle la vaja P r o p r r t i ~ s . Ol)ser\r tine la definicihn tle nna c.olunnna ot.11- 1"' toda una fila. Se muestran 21 filas tle drfinicibn a la vez en la pantalla. El m a - driculatlo se t~uetic~ mover hacia ahajo si se newsitase drfinir rnis de '71 columnas.

Page 299: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS CLIENTEISERVIDOR

- 1 Eile Edit View 1001s Manage Qbiect Window Help I =

Propert~es X - 1 1 - 7 1 Segments I default --

nornb-trabaj ador char (SQL type] 12 money ('5 U L type)

. . . . . . . . . . . .

2. La fila de definicibn de una columna eonsiste en Column t u m e (nonihre tle colnmna), Datatype ( t i p de datos) y Length (longitnd) y las indicaciones de las posibles rrstricciones: Nulls (nnlos), nn valor Default jpor clrfecto). ) Rule (regla) q w sr aplican a 10s valores de la colurnna.

3. Se define m a tahla nsando la orden Create Table (crear talda). ttindole un nom- bre a la t a l h y tlefiniendo cada uua de las columnas. inclnyrncto zu tipo de datos, su longitud y las posildes re>tricciones.

Se comeuzari definiendo la tabla trahajador. E n la caja Colum Name de la fila 1 entramos el nombre de la qne s e r i lrnguaje la primera columna de la tahla, id-trabajador. se pulsa tab (tabulacibn) y se pasa a1 canlpo Datatype ( t i p de datos). Puesto que el t i p de datos que s r quiere para id-trabajador es el tipo de datos definido por el usuario tipo-id, se t e c h esto aqni. Esto rompleta la definicihn d r id-trabajador porque todas las otras cajas t m d r i n en cuenta lo que tlefinimos para tipo-id. Podemos por tanto pasar a la prb- xima fila de la cuadricula.

Ahora se introcluciri nod-trahajaclor y se designa que su tipo de datos es charac- ter (c-aricter) y sr rn t ra 12 como 3n longitud. Este c a m p puede ser nnlo, luego se pone nna marra en la caja NziIIs. Esta columna no tendr i valor por defecto ni regla. El prbximo n o m l m de colurnna es "tar~fa-hr" y su tipo d r datos es money (dinero), aqui no hay que

valor por d ~ f e c t o . Un especificar ninguna longitnd. Esta colurnna tambitn puede ser nula. \ alor qne qe entra La prbxima columna rs "oficio" (character 8), que puede ser nula, j para la cual se automht~camente por el quiere drfinir un valor por clrfecto y una regla. Expliquemos brevemente el concepto de iistema cuando el valor por defecto para nna columna. Un valor p o r defect0 se indica en la caja Default. usuario lo omita. Este valor se inser tar i automiticamente en la columna si el usuario lalla a1 introducir un

Page 300: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

valor. P o r rjemplo. supongiunos q u r tenemos una rolumna q u r nos d a el nilnlero d r trlb- fo110 d r uu trabajador. Si no s r d a ningim nhmrro a1 insrr tar un tralbajador quiiiiramos clue r l histenla ponga rntonres automliticanrrnte r l nilnirro dr l conmutador c~mtra l . Estr seria en r \ t r caso r l valor ])or defrcto para la columna nilmero d r trlifono.

O1)viaiiicnte. si sr rspecifica tin \ a h por drfrcto para m a c*olumna, no s r in t ro th- cirli automliticamrnte un valor nulo en el c a w r n clue el nsuario no introduzca rxplicita- nientc 1111 valor. En su l r~gar se inti-odurirh el \ alor por d(.fccto. P o r tanto. si scs 11ouc~ un la lo r en la caja Ikfurrlt (dcfwto). no importa lo clue s r hnqa rspc.c*ificado con rrlucibn a1 la lo r i ~ u l o . La cwtratla en la vaja \rrlls cll~rtla ol)solt.ta si hay una entracla en la caja 1)yfirzrlt. Normalmentr stb ponr uua rntratla vn la caja N~rlls twancio no se esprcific-a ningiin v alor por drfrcto.

DrSi~iamc~\ ahora un valor por tlrfrc-to para la c d u n m a "oficio'*. Por cirfecto cluere- mos cluv ('1 of'icio d e o n t rahajador sea "Car1)intrro". Estr valor por drfrr to \r rspecifica a travC.s d r la vaja 1.ltii~cige I)+rrlt.s (grstionar alorr\ por drfecto). tliic 1'5 vi~ualinriltr itlin- ticx a la caja Ilui~crpe Rules (Figura 9.4) ! t r a l ~ a j a 41% la nlisma manera. 41 introtlucir a hora :

CREATE DEFAULT oficio-df AS ' C a r p i n t e r o '

sc, c r ra la drfinic-ihn d r un I alor por tlrirctn. Este puccie utilizarse en cua l tp i r r t a l h en la clue sc quirra drliuir a 'Carpintrro' cwmo valor por drfrcto. Eli la pantalla d r clrliiiic~iOn cir la t a l h sc, introclnjo "oficio-(If-' cn la raja D~jilrrlt para la columna oficio. E n grnrral. un valor por drlrc*to c i e h s r r una rxpresihii constaiitr. E\ ckcir, no purdr i n c k i r variii- l)l('s, 0 t a l h s , o nomhrrs d r twlumna. siiw solamriite valores ronbtantes, clue pucd(.ii (.star conectatlo\ con operadorrh aritmi~ticos.

Ya rhtamos listos 1)ara clefinir una rcyla para rsta cwlumna q u r re\trinja 10s posi1)lt.s valorri clue picd(1 iiltroclucir r l usuario. Sr qu i r r r quc. r l t i p de oficio (.st6 linlitado a 10s valoi-cs Elrctricista. Fontailrro, Carpintrro ) Ilhaiiil. P o r tanto. para ello ha! cjur caons- t ~ u i r la rrgla:

CREATE R U L E o f ic io -va l ido AS @ o f i c i o i n ( ' E l e c t r i c i s t a ' , ' F o n t a n e r o ' , ' C a r p i n t e r o ' , ' A l b a n i l ' )

I)r*l)116\ tlc e r r a r rsta rryla. st. tmtra su nonl l~r r . oficio-vliliclo. r n la caja Rzrle 1)ar-a terminal t.ou la definicibn de la c d u n ~ n a ofirio. ,

L;I iiltinia colun~na t lv la t a l h rs id -sup . Esta tarn1,ii.n tiene el tilw de datos t ip - id . Siu c r ~ ~ h a r g o , en r i t e cxso tanl1,iC.n queremos rspecifiear un valor por drfecto. Sr tleja c.ou~o ejrrcicio espec.ifirar clue el valor pol- ciefecto para id-sup eh 3231 (ver Proldrma 3). l a se pu tdr carcar la tahla. Las t;hlas rrstantrs, 4signaci6n y K':tlilicio, se purtien ( w a r de manera similar (ver Prohlcma 3) .

Definiendo rlaves primarias y externas. Para w a r la posi1)iliciad d r q u r mtomatica- mrnte el SGBD fuerce las rrglas (it. intrgridad d r eutidadrs y cle rntidacl r e f r r r n c d dvl modrlo relacional, s r debt-n drfinir las c-laws r)riniariaa v las clavcs rxtrrilas. Este rs rrn prorrso hastante simplr tlur cBxponr a continuaci6n. Se marlin 0rcknc:s dc.1 lcnguaje Oraclr. Antrs de eiupczar SP delw seiialar qne las claves primarias 4. externas se drlinen

restric.ri611. 1-na como restricciones en Orac-lr. Esto es, son restricciones de 10s posihles valores d c las rcslrirri6n t k 10s valores tuplas y atrihutos en las tahlas de la haw tie datos. P a r a este andisis s r supone el eiquema posihks tlc t u ~ l a s y siguiente: alrilmtos en una basr cle datos. t r a b a j a d o r ( i d - t r a b a j a d o r , nomb-trabajador, t a r i f a - h r , o f i c i o ,

id-supv) Foreign Key: id-supv r e f e r e n c e s t r a b a j a d o r as ignac ion ( i d - t r a b a j a d o r , i d - e d i f i c i o , fecha- in ic io , Num-dias) Foreign Keys: id - t raba jador r e f e r e n c e s t r a b a j a d o r

i d - e d i f i c i o r e f e r e n c e s t r a b a j a d o r

Page 301: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS CLIENTEISERVIDOR 287

rebtricci6n tlr t a l h Una restrit.tihn clue st, aplira ~ i n ~ ~ d t i n e a m r n t t - a iut'dtiplcs t-olun~na- tlr nua t a l h .

ed i f i c i o ( i d - e d l f i c i o , d i r -ed i f l c i o , t i p o , n ive l -ca l idad , c a t e g o r i a ) herrarnienta-asignacion ( i d - t r a b a j a d o r , i d - e d i f i c i o , herrarnienta , f e c h a - i n i c i o , fecha-terminacion) Foreign Key: i d - t r a b a j a d o r , i d - e d i f i c i o , r e f e r e n c e as ignac ion

CREATE TABLE t r a b a j a d o r ( i d - t r a b a j a d o r t ipo-id CONSTRAINT l l p - i d t r PRIMARY KEY,

Esto 110s mwst ra el t~cmicwzo tlr la tlrfinicihn tlr la tallla tr;~l)ajatlor. tlondr stb tlefi- nr la primrra twlunina. id-tral)ajatlor. (.on el t i p tlr tl;~tos t~po-itl. S r ha tlrstaratlo r n nrprita la 1)artr twrrrymndiente a la tlc.fii~iriOn tlr itl-tral~ajador como una tala\ r pr i~nariu. La p l a 1 ) r a t.la\r (:ONSTI< \IYT intlica q u r lo t p c ' 1" i i g w a cwntinuatG11 rs la rr.trit.t.ih tlr rlna ro lun~n '~ . "-1ll)-itltr" rs t.1 nomln-r tlur se 1r ha tlatlo a rsta rcstricrii~n. Si l u r y ha! algi~n inttwto d r kiolar rsta r r s t r i c~ i6n . c.1 sistrnia tw\iarii n n mrnsajr clr rrror. itlcntifi- rantlo la rrstriwihn por su no1111)rc. 1)rsl)uC.s tlel non11)rr tlr la 1-rstricvih. la5 p l a h r a s tala- \t-s PRlM \RE l i E l intliran clur rsta t ~ o l ~ r n ~ n a . ill-tral~ajador. \ a a s r r una ria\ t. p i m a r i a . Esto signifiv;~ t p r su \ a h tlrlw s r r i1nic.o tlcntro tlr la 1-elat-ihn t r a l ~ j a t l o r ! t ~ n v nt1111.a pnt.111~ ser nolo. Esta ~-rstrit.t.ihn s r t l tmor i i~~~a restr icr i6n tle c o l u ~ n n a portlur SP t~ \ ta l ) l r t~ ' t80nlo 1)artr tit. la t l e l~n ic~hn tle una t-olnmna.

411ora tlelinanios la c.la\r l ) r i~naria tlr la tahla asipnarihn. E-ta c la \ r consiite tbn (lo- twlunmas. itl-tral);~jatlo~- e ~tl-tvlil'itio. > por lo tanto no st. p ~ l r d c tlrfinir conio una r?.- t r ~ r r i h n tlr t~olunina. En rstt. rase s r tltbl~r tlefinir cwno una rrstrit*tiOn tlr tallla. como p'ir- te tit- la drfiniriiin tlr la tabla. p r o twnio partc tlr la dcfinic.i6n de una coli~mna. Esto stx tlefint. rn el cwritt.uto tlr la tlefin~t~ihn tlr la t a b :

CREATE TABLE as ignac ion ( i d - t r a b a j a d o r t i p o - i d , i d - e d i f i c i o t i p o - i d ,

... , CONSTRAINT l l p - i d t r e d PRIMARY KEY ( i d - t r a b a j a d o r , i d - e d i f i c i o )

h n o r n t.1 ejrmplo anterior. st. ha tlestaratlo r n nrgrita la drfinicihn tlr la restrit.- cihn (.lave primaria. El n o n d ~ r r tlr la rrstriccihn rs "111)-itltred". 1,as p a l a h a s r t w r \ atlas. PRIMARY KEY. intlit.an tlur lo clue sigue cntrr parh tes i s (id-trabajatlor, id-cvlificio) jun- tos c o n s t i t ~ ~ y r n nna t*la\r primaria para rsta tal'la. Ohservr quc la definicihn no purtlr ser aplicd)lr a una sola columna y (pic por lo tan to no tXs nna rcstricribn tlr rolurnna. Esta t's nno rcs t r i cc i i ,~ d e tahla porqiir rrstringe los va1ort.s tlr rstas cwlnninas vistas twno una unidatl t lrntro de la tallla. 1,as coluninas id-trabajador t, id-rtlificio juntas dchrn tent.r un i1nic.o valor tin la t a l h p ninguna tlr las dos purde tcnrr valor nulo.

Si asumiruos clue ya s r han tlefinido todas las I-laves primarias tlrl rsqurma. entont.rs t l r l~ rn tlrfinirsr las clavrs rxternas. A1 igud clue con las clavrs prinlarias, clue purtlcw M i - nirsr a t ravjs tlr restritv:ionrs tic tdurnnas. si son claves rxternas t k una colurnna. o twmo rrstriccioncs tlr tahla. si son clavrs rxternas tnu1tic:olnmnas. Para ver 1111 t~jeniplo tlr rlave rxterna clr una sola tdurnna . veanlos tlr nurvo la tlrfinicibn tle la tahla asignacibn:

CREATE TABLE as ignac ion ( i d - t r a b a j a d o r t i p o - i d , REFERENCES t r a b a j a d o r , i d - e d i f i c i o t ipo- id , REFERENCES e d i f i c i o ,

O1)srrve t p r rsta vez no st: ha nsatlo la palabra clavr CONSTRAINT. Podria hahrr- se usado, pero m rstta caso es optional. La p a l a h a c l a w REFERENCES indica una clefi- nicihn d r clavr rxtrrna. La t:olutnna rs una clave externa qnr referencia a la tahla clue s r

Page 302: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINlSTRACION DE BASES DE DATOS

Es tlrrir. id-trabajatlor es 1235 r itl-tdificio es ,525. Esto si;nifiva t p t x 1935 tlrlw s r r nna c l a w (11. alguna tupla en 1;) tabla trahajador. !- 515 dcl)e s r r una ( h e tic m a tupla (.n la t a l h rdificio. Si talrs tuplas no c.xistirscbn en r l nlolnento en cjnr s r vaya a introduc:ir la t n l h tlr asignarihn, rntoncrs el SGHD no lwrniitiri (pie sr aiiada esta t111)la a 1;i tabla asip- nacicin.

,Qub paha si st. pnetlr introtlucir csta tnl) l ;~ bin n i n g h p r - o l h l a , pero Inrgo se rli- rnina la tulda correspondientc: rn tral);ijador:' E n estr r a w , rio s r lwrrnitr 1,orrar la tnpla tlr tra1)aj;ltlor hasta que no s r hayan horrado prinirro todas las tnplas r n asignatihn q u r Iiawn referencia a cf (:ha tupla r n tra1)ajaclor. ) iho stb conow romr la opcicin ON D E L E I E RESTRICT (restr ic~i6n a1 Iwrrar). y se aplica autorniticamentr a n~enos quc s r especifi- q w o t racosa . Se podritr t.spr(ificar tan~l) i in ON DELETE CASCADE (hor ra r cn casra- da). Cnando rsta rfwtiva rsta opcihn, las tnplas r n asignacicin s r l ~ r r a ~ i a n automhtic*;~- mentcb cnando s r hor r rn las tuplils a 10s qnr e11os se rrf i r ran c1n trtras tahlas. Vramos ahora (~'n110 s r define esto.

CREATE TABLE asignacion (id-trabajador tipo-id, REFERENCES t r a b a j a d o r ON DELETE CASCADE, id-edificio tipo-id, REFERENCES e d i f i c i o ON DELETE CASCADE,

... ,

Siq~mganios qne s r ticwe r n asignacihn la tupla

CII tra1)ajador s r tienr la tulda

y el usnario solivita bor ra r la tnpla tlc trahajador. El SGBD horra ;~utomitic*anlente totlas las tuplas en ahignacibn qur tengan 1235 romo valor d c id-trahajador. P r r o si s r hnhirran omiticlo las p a l a h a s clavrs ON DELETE C ISCA4DE, entoncrs r l SGBD h n l h r a prohihi- (lo bor ra r la tupla tle trahajador.

Corno srgnndo ejemplo definanlos la c l a w rx t r rna recursiva id-snpv:

CREATE TABLE trabajador (id-trabajador tipo-id CONSTRAINT llp-idtr PRIMARY KEY,

. . . id-supv tipo-id CONSTRAINT l l f - i d s p REFERENCES t r a b a j a d o r )

En este ejemplo se ha utilizado la palahra c l a w opcicrnal CONSTRAINT y, por tan- to, se exigr t a m b i h d a r n n nomhre a la r r s t r i c c i h (1Tf-idsp). Sin emhargo, el aspecto rnis significative aqui es que esta c l a w rxterna refrrencia a la propia relacicin; es decir, es recursiva. Como puede ohservarse, no hay ninguna (liferencia entre definir una c l a w externa recursiva y definir otra (*lave externa cualquirra.

Todas estas claws externas se definen con restricciones dr columna porque son cla- vrs externas de una sola columna. Se v e r i ahora una c law rxterna rnulticolumna. La tabla herrarnienta-asignaci6n ccrntiene una dr rstas clavrs. Esta tabla se utiliza para indicar cuiles herramientas usa un trabajaclor en un edificio. Puesto que un trabajador puede usar multiples herrarnirntas en un rnismo etlificio, estas asignacionrs sr indicar in en una tabla separacia. P a r a ello se definiri , mediante una r r s t r i c c i h dr tabla. una clave externa que referencia a la relaci6n asignaci6n.

Page 303: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS CLIENTEISERVIDOR

CREATE TABLE as lgnac lon -he r ra rn ien ta ( i d - t r a b a j a d o r t l p o - l d , i d - e d i f i c i o t i p o - i d , ... ,

C O N S T R A I N T l l f - i d t r e d F O R E I G N KEY ( i d - t r a b a j a d o r , i d - e d i f i c i o ) REFERENCES a s i g n a c i o n )

ernpleado ( id-emp, nomb-emp, dir-ernp, s a l a r i o , b o n i f i c a c i o n )

CHECK ( b o n i f i c a c l o n <= 0.18 * s a l a r l o )

La 1 ~ s t r i c c i 6 n CIIECK I I I I ~ Y ~ I . sc'r I ~ a r t e (It, la tldi11ici0n tlv m a c~ol~nnno o 1~1rrtlv scbr llna lwtric.c,i;)n cle In tal)Ia. Ol)sctr\e. ~ Y ) I I I I I cLn vste cease. (rite arlncpiv c.11 la restric.cihn I , Iruc-c. r d r r e ~ w i a a 1115s tlv tina cwlumna. c%lla 1111rtlt. s c y ~ i r I'orwantlo partc* I I V la (lc411irii111 11r I I I M

I-olnlnna. L ~ I I ~ rest~ic.cihn (:IIECli 1111c~lv alecatar a c~~~ulcluic~r cwlumna (It, la t a l~ la . ! n o ? ; ~ ) l a ~ w u t ( ' a la ( Y J ~ I I I I I I ~ ; I I I P !;I (.11;11 es 11arte I I I , la definicii~n. Sin e i n ~ ~ a r g o . tienr 1n6i s~'nti(lo clt'cinir I I I ~ B rrstri1'1i0il CHF:Cli c 1 1 i c ~ st3 refiera ;I lnhs de lina ~ ~ I I I I I ~ I ~ I . ('111110 una ~.rhll.ic.ciOn (11, ta1)lu. !a clue ;st:( sta a1)lic.a lnis 1)ic.n ;I la t u l h cao~no 1111 toclo clllr a una sola cd11111na tic. la t t i l~la .

La.5 ~wtric~ciont..: i : l i b X I < ~ I I I ( ~ ~ ~ I I al)liv;lrse t a~~d) i i .n ;I ulla sola c d u n n ~ a . I ) (* (.sta Inalwra csllas func-io~iarian ~*olno replah tlc.1 SQL Srrvw. Por rjrmplo. lu regla sig~iitsl~tr

CREATE RULE o f i c i o - v a l i d o AS @ o f i c i o i n ( ' E l e c t r i c i s t a ' , ' F o n t a n e r o , ' C a r p i n t e r o ' , ' A l b a n i l ' )

CHECK ( o f i c i o I N ( ' E l e c t r i c i s t a ' , ' F o n t a n e r o ' , ' C a r p i n t e r o ' , ' A l b a f i i l ' )

Las rrstricacionc.~ C1iE;CIi dan m i s pcrder quc: las reglas d r l SQL Srrvrr. p ~ e s t o cp~t. p ~ ~ r c l r n usarsr cwli rndtil~lc~s colnn~nas. Sin ~ w h a r g o , Cstas no son tan poclerosas cwno 10s t l i s ~ ) a r a c l o r r ~ c o ~ ~ i c ~ sv w r h posteriormrntr) porquces t in lirnitaclas a comprc111ar 10s valo- r r s en un sola tupla a la vez. Es 11rc.ir. ninguna rrstriccibn CHECK pnetlr contrncbr ima

Page 304: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

CHECK ( b o n i f i c a c i o n <= 0,10 * s a l a r i o )

Lcnguaje de ckfinicicin de datos: Sumario - . \ eiemplo final

CREATE TABLE nornbre-de-tabla ( d e s c r i p c ~ o n e s ~ d e ~ c o l u r n n a s , restricciones-de-tablas)

descr ipc ion-de-co lurnna: nombre-de-colurnna t i po -de -da to [DEFAULT e x p r e s i o n ] [ r es t r i cc iones -de -co lu rnna ]

! una rc.strircibn de rol~~mria PS:

res t r i cc ion -de -co lu rnna : [CONSTRAINT no rnb re -de - res t r i cc ion ] [NOT] NULL

Page 305: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS CLlENTElSERVlDOR

SOL S e r v e r N u l l I N o n - N u l l D e f a u l t s ( p o r d e f e c t o ) Ru les ( r e g l a s )

O r a c l e N u l l / Non N u l l D e f a u l t s Un iqueness ( u n i c i d a d ) P r i m a r y Key ( c l a v e p r i m a r i a ) F o r e i g n Key ( c l a v e e x t e r n a ) CHECK T a b l e C o n s t r a i n t s ( r e s t r i c c i o n e s de t a b l a )

( 6 UNIQUE ( 6 ) PRIMARY KEY ( 6 ) REFERENCES nombre-de-tabla [ON DELETE CASCADE] ( 6 CHECK ( c o n d i c i o n )

restriction-de-tabla: [CONSTRAINT n o m b r e - d e - r e s t r l c c i o n ] UNIQUE ( l i s t a de

nombres-de-columna) ( 6 ) PRIMARY KEY ( l l s t a de nombres-de-columna) ( 6 ) FOREIGN KEY ( l i s t a de nombres-de-columna)

REFERENCES nombre-de-tabla [ON DELETE CASCADE] ( 6 ) CHECK ( c o n d i c l o n )

Vramos u n ultimo r j m ~ p l o :

CREATE TABLE empleado (id-emp i n t e g e r CONSTRAINT l lp - id -emp PRIMARY KEY, nomb-emp c h a r ( l 5 ) UNIQUE, te lef-ernp c h a r ( 7 ) DEFAULT '5551919' , id-emp-supv REFERENCES empleado ON DELETE CASCADE, o f i c i o - e m p c h a r ( 8 ) CONSTRAINT r e s t - o f i c i o - e m p NOT NULL

CONSTRAINT ck-o f ic io -emp CHECK ( o f i c i o - e m p I N ( ' E l e c t r i c i s t a ' , ' F o n t a n e r o ' , ' C a r p i n t e r o ' , ' A l b a n i l ' )

Estr ejemplo muestra instancias d r totlos los tipos tlifrrentes tlr restric.ciones tlr cdumnas (PRIMARY KEY, UNIQUE, FOKEIGN KEY. NOT NULL, y CHECK): asi como DEFAULT. Todas Cstas han sido rxplicadas previan~entr con excrpciciii tlr la restriccihn tlr

restriccicin UNIQUE. unicidad (UNIQUE), qur ha sido usada a t p i t-on la columna nomlj-emp. La restrircibn Una rrstrirci6n qur UNIQUE garantiza qiir 10s valorrs r n la columna dehrn ser hn i tm. Esto rs. no hay dos garantiza que 110s tuplas q u r tengan r l mismo n o m l ~ r r tle empleado. Sin embargo, esto no signifira clue la tnplas dc u t ~ a misnia columna sea una clavr. ya qiw si es pcrsi1)lr clue la columna trnga valor nulo. Las tlos rrs- rrlacii~n no t r n p n el trit-tiones NOT NULL y UNIQUE juntas son eqiiivalentes a la restricci6t1 PRIM-ARY KEY. m ~ ~ m o baler en m a E n este rjrmplo tamhibn sr muestra clue m a t-olumna piirde tenrr multiplrh restrict.iones twlumna. y tpr r5 opcional tlarlr tin nomhrr a nna rrstriccicin.

La restric~icin LJNIQUE aplicatla a midtiplrs colntnnas en una rrstriccihn d e tahla t i m e el mismo s i g n i f i t d > clue 5i se ar)lica a catla columna r n una rrstriccibn d e columna. Totlos 10s restantrs rrcursos d r rrstriccionrs de tabla fuernn ilustratlos anterinrmrnte con rjrmplos en esta mistna seccibn.

Page 306: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACI~N DE BASES DE DATOS

del servidor datos

BEGIN . . . END IF -ELSE WHILE con BREAK y CONTINUE DECLARE con v a r i a b l e s l o c a l e s RETURN PRINT C o m e n t a r i o s

Page 307: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS CLIENTEISERVIDOR 293

iustrucci611 IF. l ' na i115trucriOu I-LI! a t~,it~v~~ciOn 111~11(*n(Ie la \c.rat*itlatl tlc m a t~ontlic~ihn.

Rloquc- cle i~is t rnccionrs BEGIN ... END. Las instrncciorirs twntlitional (IF) c itet-ativa ( F H I L E ) cwntrola n la t~jtv*ucihii tle rlna insti-nctiGn sinil~le o dtl IIII I~loque tle instrric~cio- nes. C n hlotlw tle i~istruc*t.it~nt.s sr int1ic.a tle la f i~ rma sigirientt,:

BEGIN i n s t r u c c i o n SQL . . . i n s t r u c c i o n SOL

END

Ejc~uci611 Couclicional IF ... ELSE. La iustrucci611 IF t.11 SQI. S t m e r titvie la sinta\i* sigr~iente:

I F <expresion condic lona l> <bloque de i n s t r u c c i o n e s >

[ ELSE <bloque de i n s t r u c c i o n e s > ]

I F ( s e l e c t a v g ( t a r i f a - h r ) from t r a b a j a d o r ) < 10,00 update t r a b a j a d o r

s e t t a r i f a - h r = t a r i f a - h r + .50

Se ha tlestwatlo la e \ l ~ r v s i h ~ i twntlicional clr esta instrut*t.ihii llara su r\l~licat.ihn posterior. O l ~ s e r v r tllrr contic~ne rlna c-onsulta Illw calt.ula la tarifa salarial niedia tle lo. t ra l~ajat lores \ ronq,ara t.1 resultatlo tlr la t~onsulta con b10.00. La tlifrrmt*ia significa- tiva tXntre esta c-ontlicihn ! la qu(. se rlia nornialuiente t.11 nrla instrueti611 IF cs clue tXn estc raso sc llvva ,I vaho 1111 t~il(~ii111 sol~i-(a la rrlati6n traha,jador c o r n p l ~ t c ~ 1mr.a detrrnii- n;rr la tarifa salarial nietlia antes ti(. tlet*idii- si e j r rn ta r la insti-urt*ibn tlr ac.ttralizac*~i~n. Y ornialinrntv. nna instr~i t~t~iI '~i i IF n ~ i r a siniplrinrnte el valor tit. ilna ( I niis columnas tlr uno soln t n l ~ l u . Pc~rniitirntlo a la ini t rnwihn IF \ r r a la relaribn como un totlo s r i n c ~ e - nienta significati\ ,linentt. la l)t~trncielitlatl tlel l r n p a j e . P t ~ r supuesto. iisantlo la t ' lhui~i- 1'1 R IIEKR t l t b i n s tn i r r i t~ne i intlividrlale- de SOL podriiios seguir toinantlo tltv*is~orit.s hasatlas en tnplas indivitluales ) realizar at~tualizat~iones sohrt. esas tuplas. P r r o ahoro

Page 308: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

tenrmos cal~acidatles adicionales tle nsar c*iil~-ulos sollrr rt-laciones para tomar t1ec.i- siones.

La e\presihn contlieional cjue controla la ejccuci6n d r una instrnccicin IF pnetle inclnir cwnstantes. variables locales y su1)consultas. Puede inclnir no~nl ) r r s tle cdumnas sblo como parte tlr las snbconsultas. Cnalquier otra rrfrrrncia a n n nom1)rr cle colnmna s r r i anhiguo. ya clue no castaria claro ;I (1116 tnpla sr rstaria refiriendo. llna sn1)consulta s61o p r d e nsarsc. si sigue a la 1)alal)ra c law EXISTS o s i proctnw 1111 valor simple (como r n r l ejemplo prrcrdente) y piiedr. por cwnsiguiente, cwmpararsr con m a constante o con nna variahlr local.

IJn sr.yuntlo ejemplo nos n~nes t ra cpw se 1111rtle usar m i s de nna instrnc-cibn select el1 una (mica r'ipresiOn condicional. Supongamos I ~ I C se ( p i w e inc*rem.ntar la tarifa salarial por horas dr 10s fontanrros si sn ~ n e d i a a(*tn;ll mta en nlis (1(. un ( M a r por drl)ujo (It. la nlrdia tle 10s a1l)aiiiles:

I F ( s e l e c t a v g ( t a r i f a - h r ) from t r a b a j a d o r where o f i c i o = ' F o n t a n e r o ' ) <

( s e l e c t a v g ( t a r i f a - h r ) from t r a b a j a d o r where o f i c i o = ' A l b a n i l ' ) + 1,00

u p d a t e t r a b a j a d o r s e t t a r i f a - h r = t a r i f a - h r + . 50 where o f i c i o = ' F o n t a n e r o '

Ur nl l r \o sfb h a destarado la exprrsihn cwntlicional. Como pnrde verse. bsta con- t i m e dos cwnsnltas. cada nna de las rnalvs ~)rottuc*e nna tarifa halarial mtdia . Se hace nna cornparacicin w t r r las tlos, y si la con1pa1-ac.i6n se cun~ple . se ejt*ciita la actnali- zacihn.

(:onlo tercer ejemplo, para ilnstrar (4 operaclor RUSTS, hnpongamos qne be le (pic.- rc. d a r i ~ n anmento a los tjne son 511l)rr\isados por H. Richover:

I F EXISTS ( s e l e c t * from t r a b a j a d o r where id-supv i n ( s e l e c t i d - t r a b a j a d o r f rom t r a b a j a d o r

where nomb-trabajador = ' H . R i c k o v e r ' ) ) BEGIN

u p d a t e t r a b a j a d o r s e t t a r i f a - h r = t a r i f a - h r + . 50

p r i n t ' i i i E s t o hay que c e l e b r a r l o ! ! ! ' END

ELSE BEGIN

u p d a t e t r a b a j a d o r s e t t a r i f a - h r = t a r i f a - h r - . 50

p r i n t ' i L o s i e n t o , muchachos, p e r 0 a s 1 e s t a n l a s c o s a s ! ' END

Estr rjrlnplo tbs algo complejo, por lo q u r \eremob algiinas explicacionrs atlicionales. La condicibn contienr una cwnsulta con nna s~ll)consnlta:

s e l e c t * f r o m t r a b a j a d o r where id -supv i n ( s e l e c t i d - t r a b a j a d o r f r o m t r a b a j a d o r

where nomb- t raba jador = ' H . R i c k o v e r ' )

La siihconsnlta

( s e l e c t i d - t r a b a j a d o r f r o m t r a b a j a d o r where nomb- t raba jador = ' H . R i c k o v e r ' )

nos d a el id-tra1)ajador d e H. Ricltover. La consulta principal selrccionari rntonws todas las tiiplas que tienen a H. Ricltover como sulwvisor. Por ultimo, la condici6n ronlpleta

Page 309: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS D E BASES D E DATOS CLIENTE/SERVIDOR

EXISTS ( s e l e c t * from t r a b a j a d o r where id-supv i n ( s e l e c t id - t raba jador from t r a b a j a d o r

where nomb-trabajador = ' H . R i c k o v e r ' ) )

w r i kerdadvra s61o si ha \ algun t rd l~a jador clue tvngaa 11. Ric-lio\er coiiio snptmisor. Esto correspontlt. con la c.ontlicihn clue ie rstablrcih a1 priiicipio. Ihora . si rxisten taltx- t r a l ~ j a t l o r e s . les qnt~c.iiios ciar nil anmento d r $0.50.

En e-te t ~ l r ~ n l ) l o se ilnstrh ta i i i l ) ih la p r t e ELSE d r la iiistruccihn IF. la orden prmt (iniprimir) \ el uso tle BEGIIL . . . END im-a (.rear uii 1)loqur d r instrncciones. El ELSE: se eiecuta d o SI 1'1 rx1)resihn wntlic.ioiia1 es falsa. Eii este caso sr Ir rtdut-e la tarila salarlal en $0.50. La orden print 1c en\ ia nn mensaje a1 usuario. Estr nicnsajr sr clelimita entre comillas siniples. Si 1111 apOsti-ofo es parte tle un nieniajr, entonws delw intlicarse con (10s al)6strofes seenicios.

Las instrucciont~s I F se pneden anidar denti-I) tle otras instrucrlones IF. signientlo a1 IF o a1 ELSE. El ni i ine~v d r iii\t~l(.s aiiidatlos no r-tii limitado.

1,as instrnccwnrs SOL t r a l x ~ j m s o h e relacioiie, c ~ ~ n o 1111 totlo. por tanto shlo e i Ihgico clue las instrucc4onr- I F qnt. twntroleii sn ejec-ucihn se Ijasen r n c-ondiciones clue a 511

vez se aplican a relac.ioiit~s como 1111 toclo. Los e jemplo~ pre\ios iln,tran esto.

instrnccion FHILE. Instruwiones WHILE: Ejecwc-i611 iteratiba. 1,a sintaxis cie la instrut.c.i6n V H I L E es la Lna instrnt.c.ibn qnr quth siguc*: nsa iina contlicibn para controiar la ejecwvihn WHILE <expreslon conditional> itrrati\a c\r I I ~ I)loc[i~c, <bloque de i n s t r u c c i o n e s > dc i~istrncciones.

I A instruccihn WHILE p r o ~ o t ~ ~ la rjec.nci6n repetida del 1)1oi111r (I(* instrwtionrs . mlentras q u r la expresihn cwnciicional e\alilr \ r rdadero . 1,a exl)rrsihn conclicwnal r n rsta instrncci6n tienc. la niisma drfiniciim q n r r n la instrucciirn IF. \eanio, nu ejeinplo.

Snpoiigamos cjne se desea cliiplitw rl pagcr d r todo el mnndo mientras el zalario mrciio de 10s fontaneros est6 por dehajo d r lcrs 320.00. Si la tarifa salarial medla es t i por rncima de los $20.00 no se hare nada. de lo contrario sc. le dohla la paga a todo el mnndo:

WHILE (select avg(tarifa-hr) from trabajador where oficio = 'Fontanero') < 20,00

BEGIN p r i n t ' i i L e estamos doblando l a paga!! ' update t r a b a j a d o r

s e t t a r i f a - h r = 2 * t a r i f a - h r END

De nnevo, como con la instr~iccihn IF, la conditi0n q n r contrcrla la rjecuri6n del lazo WHILE contiene una consulta (pie realiza el cilcnlo s o h w la relational t rahaja- cior como u n todo. Mirntras esta condicihn sea verrladera, se ejerutariin las instruccio- nes dentro dr l bnclr WHILE. D r rste modo: snpongamos c p e la tarifa salarial media de 10s fontaneros r s $4.50. En este caso se d o h l a r i la tarifa salarial d r totlos y se imprimi- r i el mensajr "iiLe estamtrs do1)lando su paga!!". Ahora la talifa media de 10s fontanr- ros s e r i de $9,00. Pnesto q u r sigue siendo menor de $20,00. toclas las tarifas se dupli- c a r i n de nuevo, y el mensajr volveri a aparrcer . Ahora el salario medio de 10s fontaneros es d e $18,00. Una vttz m i s Gstr continila por dehajo $20,00. por tanto la tari- fa de toclos st: dnplit.arii por tercrra y hltima vez. Y, poi- snpnesto. el mensaje se impri- m i r i nna tercera vez tambibn. (Bello programs, jno quisiera clue s u jefe tnviesr nno igual?)

Una vrz q n r el 1)loqne tie instrucciones comienza a ejecutarsr clrntrcr del buclr WHILE, t s t r con t innar i sn ejecucihn hasta el final. Aun si el valor de la rapresihn

Page 310: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

( I ) WHILE ( s e l e c t m a x ( t a r i f a - h r ) f rom t r a b a j a d o r ) < 40,00 BEGIN

( 1 1 ) upda te t r a b a j a d o r s e t t a r i f a - h r = 1 . 1 * t a r i f a - h r

( 1 1 1 ) I F ( s e l e c t a v g ( t a r i f a - h r ) f r o m t r a b a j a d o r ) < 20,00 CONTINUE

( I V ) I F ( s e l e c t m i n ( t a r i f a - h r ) f r o m t r a b a j a d o r ) > 15,00 BREAK

(V) upda te t r a b a j a d o r s e t t a r i f a - h r = t a r i f a - h r + 1 ,00 where o f i c i o = ' F o n t a n e r o '

END ( V I ) . . . . . . .

Para facilitm las rrf'cbrrncias s r han e t iq~~cta t lo con ni imtw~s romanos las instrnccio- ntSs principalrs tlr rsttb t.jrnlplo. Estr I ~ w l r W - H I I X sera rjrcutado ~ni rn t ras la tarila sala- rial mixima clue s r It. ~ q u r a I I ~ tr;~l~a.iaclor c.st6 por ticl~ajo tlr los $40.00 [instrwcihn ( I ) ] . La instrnctihtl (11) ninrstra q u r scb cpirrc: aumrnter r l salwio rn un 10 pol. 100 ratla vrz clue w rrpita r l 11uclr. La ins t r~~t+ '~n (111) comprur1)a si 1-1 salario mrdio de totlos 111s tra- Ilajatiorrs c.stri pclr clrhajo tlr $20.00. En case ufi~mativo s r rjrtwta rl CONTINCE. lo clue signif'ica qur nos saltamos 1.1 rrsto tlr I;IS instrwcionrs tlt:l l a m y (.I wnt ro l p a w t l t ~ nurvo a la i ~ i s t r n c ~ i h n (I) . U i ~ a vrz cjnr In ~netlia salarial h a p altxnzatlo 10s $20.00 stb r j rcu t ;~ la ins- trut.cihn (11~). Si 1;) tarifn salariul minin~a rs mayor qucb $15,00 s r rjrtmta un RREll l i 11a"ntlolr r l wnt ro l a la instruc-ciOn (1.11 (la c-11a1 no sr rslwc>ific*a c.11 r l rjc*~nplo). Si la tari- fa minima no so1)rrpasa 10s #15,00. rntoncrs sta cbjecuta la instrucciim (6) y s r l r aiiatlr taon d l o #I .OO a la tarifa tlv catla fontanrro. 1)rsl)uis c1r la instrwcihn (V): rl twntrol rrtornn cir n~~c:vo a la instrut-Gin (I). dondr rl sistvma t : o ~ n l ) r ~ ~ r l ~ a d r nllt-vo si la tarifa sa lx ia l

DECLARE y Varinlha loc*ales. Ninp6n l v n p a j r tle prograrnacii~n rstaria cwmplrto sin x ariable local. lrna Variables locales r n las r n d c s poncr temtroralmrntr loi valorei tlc, trabajo. En r l lrngua- b a r ~ a l ~ l r clefinitla 1);u.u j r 11r Sol , Swvw. tales yar ia l~ l r i sr tlrclaran con n n t i p tlt~tlatos dt'1 s is t rn~a o tlefinitlo ])or usal t l e n t ~ ~ c ~ tlr url rl uiuario. se les asigna 1111 lalot- ~n td ian te instrnt*tionrs irlrct ? Yr usan clrntro tlel niismo l w o ~ ~ t ~ t l i ~ n ~ t ~ n t o ! prwtd in~ien to . c ~ l ~ n i t c r ~ ~ a r x alores \'eanios ahora tin rjemplo qur uia una \ ariahlr loral para c1c.ttwninar la e~rcw1011 tlr I t t un l)llclr (laze) a/H]l,E.

Una v a ~ i a h l e l o c d s r dwlara hac~rnt lo tjnr r l nondlrr cwrnir~wr twn @:

Page 311: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS CLIENTEISERVIDOR

d e c l a r e @ i n d i c e i n t I * " i n t " s i g n i f i c a i n t e g e r * I s e l e c t @ i n d i c e = 3 WHILE @indice > 0

B E G I N d e l e t e t r a b a j a d o r where t a r i f a - h r > 20,00 update t r a b a j a d o r s e t t a r i f a - h r = t a r i f a - h r * 1 . 1 s e l e c t @ i n d i c e = @ i n d l c e - 1

END

Procedimientos almacenados

s e l e c t @cant - t raba jador = count ( * ) from t r a b a j a d o r

c r e a t e procedure can t - t raba jadores @cant - t r i n t ou tpu t

s e l e c t @cant- t r = c o u n t ( * ) from t r a b a j a d o r

c r e a t e procedure can t - t raba jadores @cant- t r i n t ou tpu t

s e l e c t @cant- t r = c o u n t ( * ) from t r a b a j a d o r

4 el resdtat lo se pontn en la variahlr tle balicla @cant-tr \. SP r r torna a1 progranla q u r Ila- mh. LOS par imr t ros (11' salitla s r idrntifiran ponirntlo la palahra "oi~tpnt" o "or~t" des- pubs d r la definicii'm t ld t i p tle (lato:, tlrl par imetro. Los ~ ~ a r i n l e t r o s tlllt* no sc. csprrifi-

Page 312: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

dec l a r e @cant - t raba j i n t execute can t - t raba jadores @ cant- traba] ou tput

s e l e c t @cant- tr = count ( * ) from t r aba j ado r

I,a ve~itaja t1r usar pi-ocrtliniientos alnlat*enatios es signifkativa~nentr nia!or rri la metlitla en qut. el p~~c.etliiniento sca nibs gralitlr y m&s twnplejo.

C h i o un wgundo ! m&s wmplejo rjcniplo supongarnos clue se quiere nn prorrtll- niiento alnlacenado qne t.alcnlr la tarifa salarial media de 10s trahajadores identifirados por nn of'ic.io. E:s tletir. el propranla true llama le pasa un tipo de ofirto a1 proretiimirnto almarenatlo > Cste rtxtorna la tarifa salarial media tle todos 10s tra1)ajatlort.s que tengan e w ofitio. Estr prot~t~tlimit~nto c.alt*-sal;~rio-l)rorn se crraria como sigue:

c r e a t e procedure calc-salario-prom @tarifa-prom money ou tpu t , @ t ipo-of ic io c h a r ( 8 )

a s s e l e c t @tarifa-prom = a v g ( t a r i f a - h r ) from t r a b a j a d o r where o f i c i o = @tipo-of ic io

Este prortdimic~nto almawnatio t ime un par imr t ro tie salicla. @tarifa-1)rom ! un parimetro tic entratla @tipo-ofitio. El progranla clue llama dehe indicar m a variatde local tie tipo money (iiinero) para qne r t~c i l~a el valor de salida y d e h indicar un valor de tipo ofitio para p s a r r o ~ u o parimetro d r entrada. El tlehe indivar aml~os parimetros en el rnismo o r t h en que fileron listados cua~itlo st- creb el ~)rocetlimiento. ,4 rontinuat~i6n se cia 1111 t>jemplo (I(. ejernci6n de ralc-salario-1)rom que hare totlo esto:

dec l a r e @salario-prom money exec calc-salario-prom @salario-prom ou tpu t , Fontanero

01)st~rve qrie "exec." se p ~ i e d r utilizar romo abreviatura de "ewrute". h n q u e el valor cie entrada "Fontanero" rs un dato de t i p rhararter (carit-ter) no es nerrsario ponerlo twtre roniillas a menos que tenga un espario en hlanro. un signo de puntuari611 o qoe t*omienre con un digito. El procedimiento ralc-salario-1)rom usarh 'Fontanero' romo \ a h para &ip-ofirio. por lo qne e5t0 se ejecutari romo:

s e l e c t @tarifa-prom = avg( ta r1fa-hr ) from t raba j ador where o f i c i o = ' Fontanero '

Esto ra lc i~ la r i la tarifa por horas media de los fontaneros y cuando retorne a1 pro- grama qur llami, el rtwdtado se de ja r i en la variable asalario-prom.

Page 313: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS CLlENTElSERVlDOR 299

Valorc* por tlefecto. E n la tlefn~iciI')n tlr un procrtliniiento atmacenath es poi11)lr rspeci- lalor por tlc.ferto tlel ficar valores p o r clefecto tic 103 par i inetros . Si el programa clue llama onnte p a w r 1111

parinwtro. El t l t b valor a 1111 p r i n i e t r o tle entratl,l. rn t t~ncc i el progrania u w r a el valor por dtdct.to 11ara un pir inwtro qut- tiicho parhmc~t~ o. El baler por defecto puctle i e r cualquit~r baler vilido para el tilw tle ~~uii ini i t ra t.1 sistcnla i i tlatos tlcl parhinetro. inch~)rnt lo n n h . Vcamos un ejemplo q u r utilua el nulo. Es Inera- el pro~raiiia t1utx llaina inrntc u n i ~ ~nc~tlificwihn tlel ejrlnplo anterior. E n rste c a w , si el programa tjuc llama ihlo lo onnte. ripc.cif'itsa el parimeti-o cir ialida. p r o no pone el t i p de oficio, w calculari la media iala-

rial tlv todos lo* tra1)ajaciorei. El procetlin~icntc, modificado yuetlaria en la fornia:

c r e a t e procedure calc-salario-prom @tarifa-prom money o u t p u t , @ t i p o - o f i c i o c h a r ( 8 ) = n u l l

a s i f @t ipo-of ic io = n u l l

s e l e c t @tarifa-prom = a v g ( t a r i f a - h r ) from t r a b a j a d o r

e l s e s e l e c t @tarifa-prom = a v g ( t a r i f a - h r ) from t r a b a j a d o r where o f i c i o = @ t i p o - o f i c i o

Si sr coinpara vita verii6n dr l procedimiento con la versibn anterior se ver i q u r t.1 valor por tlrfrcto sr tlrfine inniecliatainente despuGs q u r la tlefinicibn del tipo de datos tlrl p r i m r t r o :

@ t i p o - o f i c i o c h a r ( 8 ) = n u l l

Ponienclo "= null" despu6s de la drfinicihn del par imetro estamos queriencio tlecir qne. si no se le pa*a ningfin valor a1 parhmetro. se dehe asumir que el valor cie kste es nulo. La parte ejrcutalde tlel procedimiento se tlelre morlificar para manejar la posihilidatl de qut3 el programa qur llama no pasa n i n g h tipo tle oficio.

Uso del RETURR. Cnantlo sr rjeruta la illtima instruccibn de un procedimiento, rntoll- ces 6ste trrmina j retorna el control a cjuien llani6. iQu6 hacer si por la Ibgica del prowdi- miento sr tleiea ialir antes? La instruccibn RETURN causa que el procedimiento aln~ace- natlo termine inmetliatarnente y retorne el control a1 programa que lo llamh. Supbngase qut' se dewa cwmbinar una varirdad de funciones en un simple programa alniac~enado. P o r ejemplo, querenios permitirle a1 usuario solicitar la tarifa salarial mlixima, minima y media tle trabajador. Un procdimiento para h a w r esto seria:

c r e a t e procedure funcs-calc-salar io @tipo-func c h a r ( 3 ) , @ va l - re t money output

a s i f t ipo-func = "max"

begin s e l e c t @val-ret = max( ta r i fa -hr ) from t r a b a j r e t u r n

end i f t ipo-func = "min"

begin s e l e c t @val-ret = m i n ( t a r i f a - h r ) from t r a b a j r e t u r n

end i f t ipo-func = "avg"

begin s e l e c t @val-ret = a v g ( t a r i f a - h r ) from t r a b a j a d o r r e t u r n

end

E n este ejemplo el programa que llama ha solicitado una tle tres funciones. Si la fun- tibn es rnLx se calcula este valor y se retorna inmediatamente, ya que no se desea calcular ninguno de 10s otros (10s. Es ficil ver a par t i r de este ejemplo cbmo se puede usar la ins- truccibn RETURN en 10s procedimientos almacenados.

Page 314: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Una introducci6n a 10s disparadores

Un tlisparador (trigger) rs nn programa c p t 3 sc vjrcnta aiitomhtic~amcwte cuando sr intrn- ta h a w r una artualizacihn tlt~trrrninada so11i-c, nna tallla rspet-ifiw. Sr 11urdrn drfinir t r r s t i p s & disparadorrs para cada tabla: tlr i i~serc i im~ d r actnaliznrihn p d r horrado. Pnrs- to tinti lo qne se estli d m d o es una introtlnc-ciirn a1 concrpto d c disparador. se continnarh rsta discusibn con rjrtnplos de SQL Srrrcr . I m tlisparadorcs tle Oracle son a l p tniis sofis- t i c d o s . :ll final tlr la discusihn sr rrsnmirhn algnnas d r las difrrrncias cplr rxistrn ( % t ~ 10s tlisparadorrs d r Orac*le.

Suphiigast: tlutt s r quiere mantcmer una colnnina cLn la llase d r clatos qiw st. tleriva tlel c i i l~u lo d r otras cwlumnas. Por r j r n q ~ l o ~ si tenemos nna talda vrntleclor r n la I)ase d r tlatos. sc pnrtle qnerer tcner en la hnsr t l ~ datos el total d c comisiones inpresadas por catla ven- d d o r r n r l illtimo mes. 0 en la hast: tlr tlatos tlr la constructors Prr inirr podianios cjuerrr mant rnr r el rstiinado de cuintos dias un trahajaclor ha sitlo planiSiratlo 1)al.a 1111 trahajo. O usando el (.onrepto de tlias d e ocho horas I, la tarifa por hora d r cads tral~ajatlor. cab- lar cu in to habria qnc paparle al t r a l ~ j a t l o r por rsos dias. hsumanios clue sc cpiicv mati- trncSt- cite illtinlo c.hltwlo. se pondr i bstc en una coluinna adicional r n la t a l h tra1)njatlor tlv nonibre ii~~ago-acninulatlo".

Antes cle mostrar las instrut.cionrs concrrtas q ~ i c s r usan 1,ara definir los tlisl~aratlo- ws (trigger). es nrc~csario tlar una niayor ruplicac*ihn dc c6tno t rahajan los t l i spa tdores en SOL Serwr . Catla w z que se Ileva a c.al)o ntla insercihn, un h r r a d o . o nna actnalizacihn sohrt. una tabla d e la l n s e d r datos sc ( w a n nnrvas vcrsionrs tle tablas cwntro1atla.i por el sistema. Estas ~ a b l a s tle verificacicin tle tiisparadores (trigger test tables) se llanlan inser- ted (insrrtatlos) y delettd (llorrados) '. Si se insertan filas en nna tahla entoncrs irlscv-td cwnsiste en las filas q n r han sido insertadas y eleleted r s t i vacia. Si sr l ~ o r r a n filas tle nna tallla, etitonces deleted (wnsiste rti 1as filas que se han horrado r inserteel es wch. Si se ac.tiializati filas en una talda? entoncrs deleted consiste en las r i r jas \r~.siones tlr las filas arti~alixadas (: i i~ser ted esth formado por las nnrvas ~ r r s i o n e s tlv las mis~nas filas. Exta inforinacibn es partic-ularmente valiosa (wantlo se usa con el hrcho tle clue en SOL Server tin disparador s r inicia clespBs clue ot8urre un evento d r ac*tnalizaci6n tlr fila. De estv modo, cuando s r ejrcnta el disparador. 10s a ~ h i v o s irlserterl y deleted !-a existrn.

Se verli ahora cbrno iml~l t~mentar el disparador q u r se ha d twr i to anteriorinente. dsnmamos clue la tahla trabajador ha sido rnejorada para inrluir la c d n n ~ n a "pago-acu- mtdado":

t r a b a j a d o r ( i d - t r a b a j a d o r , nomb-trabajador, t a r i f a - h r , o f i c i o , id-supv, pago-acurnulado)

La f6rmnla para ralcular el pago acnnuilado es:

pago-acurnulado = nurn-total-dias * 8 * t a r i f a - h r

donde niln-total-dias se ralcula para dicho trahajador a part i r de la t a l~ la tlr asignacihn. Sblo t rndre~nos clue v r r con las ac*tualizaciones cle la tabla asignacibn. Cada vez q u r

se afiada una nueva tnpla, o s r actnalice o h o r r r iiria tupla existente, s r d r s e a r i actnalizar el pago-acumulado del rrspectivo trahajador. P o r tanto. tlueremos n n disparador cine rrs- ponda a las actualizacionrs de la tabla asignacihn actualizantlo una cwlumna r n la talda trabajador.

~COtno t rabaja este tlisparador? Rrcubrdesr cine cualquirr artualizac:ibnl sea ilna insrrcibn, un horrado o una actnalizatihn. aha& cr ro o m i s tuplas a i i~ser ted y deleted. P o r lo tanto, s r pnetlrn usar rstas dos tablas. indeprndientemente de la actualizaci6ti quc se haya realizado. y h a w r 10s ajnstes nrrrsarios c:n la tahla trahajador. O M r v c s e clue r n

Page 315: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS CLIENTEISERVIDOR 3 0 1

la hignirntr solutihn no iml)orta si sr tian aliatlitlo. I)orratlo o cam1)iatlo m a simplr f'ila o midtiplt~s filas a la \ r z . Esta solucihn fnnt.iona r n ;in11)o~ cases:

c r e a t e t r i g g e r a c t u a l i z a c i o n - a s i g n a c i o n on as ignac ion f o r i n s e r t , upda te , d e l e t e a s update t r a b a j a d o r s e t pago-acumulado = pago-acumulado + 8 * t a r i f a - h r *

( s e l e c t sum(num-dias) from i n s e r t e d where i n s e r t e d . i d - t r a b a j a d o r = t r a b a j a d o r . i d - t r a b a j a d o r )

update t r a b a j a d o r s e t pago-acumulado = pago-acumulado - 8 * t a r i f a - h r *

( s e l e c t sum(num-dias) from d e l e t e d where d e l e t e d . i d - t r a b a j a d o r = t r a b a j a d o r . i d - t r a b a j a d o r )

Para entrnt1t.r la d~finicihn de estr disparador se necesita mirar a sns partcs srpa- ratlamrntr. (:otiirntwnos con las primeras tres lineas:

c r e a t e t r i g g e r a c t u a l i z a c i o n - a s i g n a c i o n on as ignac ion f o r i n s e r t , upda te , d e l e t e

La primera linea 1tlvntific.a rl n o n i h r del disparatlor como ' ~ c t ~ ~ a l i ~ a t * i h n - a s i g n a - rihn". mimtras qne la segnntla linra intlica q n r Gstr sr apl~t 'a a la tabla asignacihn. La tc.1- c w , r l i n c ~ ~ rstal)let*r tjne c1 disparatlor h a r i Suego tbn t-ad'~ o p r r a c i h insrrt ( inser ta~) . up la te (artnalizar) o tlrlrte (hor ra r ) .

La 1~Oxinla linra tlel tlisl)aratlor, "as", intro(lnc.e la parte chtligo d r la tlefinicihn drl tlisparatlor. Totlo lo clnr venga,despubs dc csta linea ie ejecuta ruantlo Sstc sr c l~sparr . J ramos ahora la t'dtiuld p i ~ ~ t e . Esta consiste en dos instrncciones de artndlizdti6ri. atnhas sr apliran a la relacihn tral~ajatlor. La primera instrucci6n de actualizaci6n suma al pago atwmnlado nsantlo la tabla inserted. la segunda instruccicin resta del pago acumnlatlo usando la tahla deleted.

update t r a b a j a d o r s e t pago-acumulado = pago-acumulado + 8 * t a r i f a - h r *

( s e l e c t sum(num-dias) from i n s e r t e d where i n s e r t e d . i d - t r a b a j a d o r = t r a b a j a d o r . i d - t r a b a j a d o r )

update t r a b a j a d o r s e t pago-acumulado = pago-acumulado - 8 * t a r i f a - h r *

( s e l e c t sum(num-dias) from d e l e t e d where d e l e t e d . i d - t r a b a j a d o r = t r a b a j a d o r . i d - t r a b a j a d o r )

Estas tlos instrurclones causan qne el sistcma p a w a travSs d r la relarihn trahajatlor dos vrws. En la primrra m s t r n c c i h de actualizati6n s r trabaja con las tuplas t p e se han aliadido a la rclaci6n azipaci6n. Si se han aiiadido algunas, como h a l ~ r i ocurrldo i i se han insrrtado o actiializado datos, rntonces el atributo nilmrro tle dias (nhm-dias) en estas tuplas sr usa para actualizar la tupla correspontliente en trabajador. Similarmente, la wgiinda instruct4m mira las tiiplas borradas de la rrlacicin asi.-li,~cicin. Si ha hahitlo I~orratlos. como ornrriria si se han actualiz,~do o 1)orratlo tl ,13 1'1 I rlaci6n asignacihn. entoners st. usa el nt'nnrro d r dias tle rstas tuplas para r fc r t~ l . , c -ta correspondientr r n la tiipla ;~l)ropidda d r trabajador. Si la tabla irtserted o la tabla deleted es t i bacia. rnton- w s la instruccihn d r dctualizacihn qiie la nsa no tendr i rfrcto r n la rrlaclhn trabajatlor. Dr esta manrra t.1 disparador t raha ja r i de la forma drseada.

Usando disparadores e n SQL Server y e n Oracle. Los disparadores abren furgo s i r n - pre q ~ i r el t i p de actualizacihn q n r sr especifiqiie (insertar, horrar, ac.tiializar) oeurran i o h la tahla. No importa qu6 ~izuario o qu6 programa hace la actual izacih. Si r s t i drfi- nitlo un disparador para tal actualizacihn, Sstr se disparar i . Consecuentemente es impor- tantr r r w r v a r el uso d r 10s disparatlores para a q u r l l ; ~ ~ opcrationrs que siempre se debrn rralizar a continiiaci6n tle una actual izacih rsprcifica. En los ejrmplos que se han dado

Page 316: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

prrviamentr sr puetlen ver situarionrs r n l a i rnales 10s disparat1orc.i ic hail utilizatlo apro- piadanirnte. Pcro hay t a i n h i h muchai otrai .

U11 uio iniportantr de los tlisparadorcti 1.5 pa ra forzar negoriacionci > otrai reglas de integriducl. P o r rjeiiiplo. SQL Sertei- uia 10s disparatlorei para gatantizar la integridad referencial y la unicidatl cte la rlave l~t iniar ia . P o r otro lado. r n Orac-lv. tbitos aspertos r s t in ronitruidoi dtmtro tlrl 1rng11dje tle 11diiiicii)ii de ctatos. Esto 1.5. (w Orat& siniplmirnte se derlatan clue cirrtos a t r i ln~ to i ion da\t. i primarias o externai > aiitomhtic~aniente se garan- tiza la u n i d a d j la integriclacl rrfrrcncial. Pero en SQL Senc.1- ic deben tlefinir los d i s l w ratlorei ii sr tp ie re forzar rl c~nmpliniicmto tle e i ta i reitritirionri. P o r lo tanto. 111s t l i s p - radorei ion herramientas esrnci;~lei 11ar.a la integridatt tle h i e . dr clatoi en SQL S r n e r .

Sin einhargo, d r todos modoi. Orarle requiere de tlisl,araclorri poi- razones siniil'i- res. 41inqur lo relativo a las c l a ~ e s priuiariai ! t.uterrias se garantiza a~~tomht i t~a i i i c~~i tc~ (rualquier regla tlr n r g o c - i a t h quc. requiera re l r r i r i r a otras tahlas d r la base de clutoi s0lo p l r i a garantwarse iu c*unipliiuic~~to a trakbs tlr nn cli>l~arador). Rrrubrdese qnr . romo party (ltl la drfinirihn de eicprma. Orarle prrmite la ctofinicihn tle restrirrionei CHECK para forzar el riim~~liuiiento dr las replai s o l m la h a w d r datos. Sin rmhargo. r e r ~ l h t l e s e taml)ic'.n clw las reitric*c*ionri C H E C h no puedrn inrluir consultas clue hapan referenria a otrai tahlas u otrai tut11as vii la misma tallla. Es dwir . Ins restr~ccio~ies CHECK s d o pueclcn \ e r m a t q d a J la vvz. F o r tanto. m a regla como

requiere d r una ronsulta en la t n l h asignarihn para I-alcular c.1 iifimero total de tliai (iium-dias) que un tralmjatlor dado t i m e r n asignari6n. No es posil~le declarar m a res- trirciim CHECK para forzar el cutnplimiento de esta regln. Sin e~nl,argo, un ttisparatlor lo purde lograr muy a t ra r th amente.

Desarrollando aplicaciones cliente La ircribn precedente descri1)r la base tle datos deidc 01 lado del servidor de la+ aplicwio- nes r l ientel i r r~idor . En esta serrihn st. ~ e r i un mtorno de dciarrollo tle aplicarionei, PowerBuilclrr, qur sr utiliza para wns t ru i r las partes cliente de lab al~licaciones que h a r i n de interfaces sohre las redes con 10s siitrmai tle bases de clatos. PowrrUuiltlrr es un en- torno grhfico de desarrollo de apliraciones que opera iohr r Windows. Puede usarie para crear programai d r aplirari6n que hagan d r interfaz con un gran numrro dc diferentrs sis- ternas de gesti6n de base> clr datos (SGBD) relat*ionales cwmerrialrs. Para auxiliar en la

painter. Un subproprama creaci6n de programai tle aplicaciim PowerBuiltler proporriona una tar iedad tle puir~ters interactive clue llrva a (pintores) ', que son suhprogramas interactivos q u r rralizan tipos esprcificos clr furic.ionei rabo un tipo ebpecifiro necesarias para el desarrollo twnplrto de la a p l i c a r i h . Tanto PowrrBuildrr roillo la5 apli- de funrionalidad caciones desarrolladas con 151 funrionarin tlr forma aut6noma (stand-ulone). o cLn nna pla- neresaria para el taforma dientelservidor. desarrollo rompleto de una apliracicin.

El enfoque de PowerBuilder

Desde el punto de vista l6gic.o. rl desarrollo tle apliraciones r n PowrBuil t l r r css como sigue:

1. Primero sr dehe definir una I)aic. cle datos. Esto implica d a r el non11)r.e tle la 1)aw de datos, definir lab t a l h i con 3u- columnas, lob t i p tle tlatos, las rla\es. las

Page 317: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS CLlENTElSERVlDOR 3 0 3

claws cbxtrrnas, rtv. Estv paso ha sitlo tratatlo rn la l ~ r i i n t ~ r a par t r ( I ? (*sttb (.al~i- trrlo y stb snponr q u r !a ha sido rntrnclido.

2. I ) r s l~u i~s ([lie SP h a y ] tlt:fini(lo la hast, tlr datos. s r ~ ~ u t ~ l c comrnzar (*on t.1 tlrsa- rrollo d r las aplicacionrs. Esto s r hacr cwn 10s ptrirltprs tlr IJo~rrBir i l t lw. \or- nialinc~rite~ IIara t - d a aplicacihn st. d rhrn rralizar t r r s pasos l)rinti11alr~: a. Definir la aplit~acii~n. Esto sc, rraliza con (4 Appliccltiol~ p i l l t ~ r . h. Drfinir las vrntanas d r aplicacihn. Esto s r hacr con c.1 TF;i~~tlott .ptri~~tt~r (1)iii-

tor d r vtantanas). Windows tirnc: los nlrdios 11or 10s cwalrs 10s usnarios pnr- d r n intrractoar cwn In aplicac:ihn. P a r a d a r k a los nsuarios las c~al)acitlatlr~ nrwsarias s r drfincn vrntanas cwn botonrs. ra jas tlc listas (list hoxcs). rajas d r tlatos d r rntrada (data in,pirt boxes) y inrniis. Varios ptr i l~tws sc, iisan para i d i z a r rstas funciones.

(-. La apliracii~n actuarii sohrr los datos r n la h a w tle tlatos. P o r lo tanto. tlrltr- mos idrntifiriu los dates q u r se necrsita introtlucir. 10s q u r sv canil1iar5n. !. los datos qw t l rher in darst, t90rno salida. Esta itlrntific*ac*ihn s r h a w a travbs tle 1)atccWindows. q n r sr define11 en el DatcrWi l ldo~* . s~) t l i l~ t~r autes tlr clnr scb p o n p r n m a ventana. Esto rs. estr paso delte hacrrsr ai1tt.s d r t~oml)lrtar r l paso antvrior.

Usando PowerBuilder

E n la Fignra 9.8 se murstra la pantalla principal del rntorno (I t . tlesarrollo tlr a l~l i - cacioncs tlr PowrrBuiltlrr. Esta p n t a l l a contirnr nna har ra d r titulo ril la yar t r su1)rrior. con una l ~ a r r a d e m r n i ~ r n la linea siguirntc, I/ la -'I'owrrBar" r u la t r rc r ra l int~a. La P o ~ e r -

File Helo

Page 318: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Bar (1)arra tit. P o w t ~ ) mnr i t ra 10s iconc~s d r la ma?oria tle loi \ ariatloi pcl i i l t~r \ t ~ n c ~ twns- t i tu?rn la i c*apwitlatlt-s finwiona1t.i tit. PowrrBniltlrr. E n la Fignra 9.9 stb muc~s t rm loi itno- noi tlr loi 14 p c ~ i i l t ~ r s .

Leyhtloloi tlr izqnitwla a tl~.rt.t.l~a. 10s 1)otont.i tlc Powt~rBar rcy)rtw~ntan:

1. Appl. Este e i rl puinter 4pplic.utioil (aplicacihn). Sr usa l )ara tlrfinir los asprt8tw grnrralr i tlr m a aplicwihn. talri t.onio r l noml)rr tle la aplit.,~cihn. loi 1)rogramas t p ~ r ahr rn t i t ~ r a n la aplicwihn (o -'scripts"). clue int l i t~in rl pro- t w a ~ n i r n t o clue tlrl~r t r n r r lugai- cnantlo ir initia o se t r rmi r~a la al)lit~at~iOn.

2. '&indon. Estr puinter sr 11ia para t w ~ s t r ~ i r vrntanai para lai aldit.arionei. 3. Menu. Estr ~(liil ter. ir usa para t~mi t ru i i - n i r n i ~ i para la i \entana,s. 4. DataWiid. Estr pc~inter twnst~xye ol)jetos DotoFiidotc . qnc. i t . ntilizan para

a t w t l r r a la ha i r tlr tlatoi j 11onc.r loi rt.inltatloi r n la i lentanas. El puinter indow (rlrnwnto 2) ir n t ~ l ~ z a r h para intllt-ar (1116 D a t a 4 indoh ir uiarh en

catla \ rn tana . 5. Struct. Estrpuiuter sr uia para tlrfinir l a i eitructuras tlr datos t p e sr nzar in

r n 10s scripts (pl-ogramai 1'owrrBuiltlrr). Iiis estrnctllras p ~ r t l e n concrl)irsr twmo rtyiitros o grulws tlr t3anlpos constrnitlos d r no do qnc puctlan r t h i r s c t'onlo un grllpo.

6. Prefs. S e g h rl Help tlr I 'o~rrBuiltlrr: "En Preferences (prefrrentias) i r l)l~etlrn tlar \alores a totlai las varialdes tlr PowrrKuilclern o a un n h ~ e r o tle painters.

7. Help. El 1)othn Help (abutla) sr usa para o1)trner inforn~at ibn cxplicatila s o h la i t . a r a t ~ r i i t i c a 5 d r PowerB~~il t le~- .

8. Database. Estr puiilt(>r ir uia para tlefinir 1)aiei tle tlatoi. 9. Query. Kstr puinter sr llsa para f o r m d a r consultas SQL.

Page 319: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS CLIENTEISERVIDOR 3 0 5

10. Fn~ic.. Estr pcrir~ter. st. nsa para tlraarrollur f'r~ot~ioiie~s drfiniclas por 1.1 nsr~ario. las c.ti:ilc.s s r 1)nt.tlrn w a r r n lo.; srripts tlv PowrrB~~ileIrr.

11. Library. ],a 1)il)ilotrc-a controla la grsti0n cle las al)lic.aciont.s. lab vtsutanas !- otros o1)jrtos crcaclos nsanelo PowrrB~iilclc~r.

12. I:scr Ohj. Estr piri~lter s r usa para t w a r ol)jcbtos clr osnario. -*I-oiitro1t.s" (1)otonc.h. listas. rtt*.) a la metlitla. los w a l r s s r pncdrii 1)onc.r r n lab 1-rntanas.

13. Rim. Prrsionar rstc 1)otbn p r o v c ~ t ~ i la ejrc.utihn clr la apliracihn tm caurso. 14. D l . La f'arilidatl d r tlrl)nrac4'1n (debug) h i n t l a nirtliob para la tlrl~tiracilin

tlr las aplic*ac:iours.

Construir una aplicaci6n

Trabajador

[id_trabajadorj INom-trabajadorl [Tarlfa_Hrl lOficio1 1235 M. Faraday $12.50 Electricista 1311

1311 C. Coulomb $15.50 Electricista 1311

1412 C. Nemo $1 3,75 Electricista 1311

1520 H. Rickover $11,75 Electricista 1311

Asignacion del trabajador

/ [ id-trabajador 1 [-I [fecha-inicio I () I

I

Inforrnacion edificio

Page 320: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

TRABAJADOR

I D TRABAJADOR NOMB-TRABAJADOR TAR1 FA-HR

1235 M Faraday 1412 C Nemo 2920 R G a r r e t 3231 P Mason 1520 H R i c k o v e r 131 1 C Coulomb 3001 J B a r r i s t e r

ID-TRABAJADOR ID-EDIFICIO

EDIFICIO

ID-EDIFICIO DIR-EDIFICIO

31 2 123 Elm 435 456 Maple 51 5 789 Oak 21 0 1011 B i r c h 11 1 1213 Aspen 460 1415 Beech

FECHA-INICIO

10110 01 /10 17 /10 05 /10 0 8 / 1 2 28110 10111 10110 1 5 / 1 0 05 /11 24 /10 0 9 / 1 0 0 8 / 1 0 15 /11 01 112 08110 23110 30110 27110

OF IC l0

E l e c t r i c i s t a F o n t a n e r o A l b a h i l C a r p i n t e r o F o n t a n e r o E l e c t r i c i s t a C a r p i n t e r o

NUM-DIAS

5 10 22 18 18 10 15

8 15

8 2 0 14 12 12

4 14 2 4 17 14

ID-SUPV

131 1 1520 2920 3231 1520 1311 3231

T IP0 NIVEL-CALIDAD CATEGORIA

Of i c i n a 2 2 Comerc io 1 1 R e s i d e n c i a 3 1 Of i c i n a 3 1 Of i c i n a 4 1 Almacen 3 3

tres Datawindows, quc se nhicar in en la ventand tle la aplic*acii,n. tal como se nlnestra m la Figura 9.10. Una Datawindow r s realmente una cwnsulta SQL. que se pnetle poner en una vcntana. P o r tanto. antes de q n r podamos c r r a r la \cntana de la aplicac-ihn. dr lmnos ( w a r 10s Datawindows.

Despu6s cjor llayamos complrtado nurstra aplic*aclhn, Csta t ra l~a ja rk como sigue. Cuando la aplicacihn comienza consultari la tahla t rahajador r intlicari todos 10s t r a l w jadores en la hentana d r datos (Datawindow) del tope. Luego, cwanclo el nsnario selewio- ne pnlsando la linea de algun trabajador, se rel lenari la segunda hrntana clue coutiene todos 10s edificlos asignados a dicho trahajador. P o r liltimo. pulsar r n cwalqnler tupla de asignaci6n de la segunda ventana provocarri que se muestre una t r r r r r a ventana cpe (-on- tiene la informaci6n completa sohre el edificio.

Page 321: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS CLIENTE/SERVIDOR

Para crear la inforinacicin conipleta se c1cl)c proceder tie la forma signientr:

1. Priinero se define la aplicaciOn usando el pc~inter Applit.ation. 2. Z continuacicin se defincn tres Datawindow inrcliantr el pc~inter Data\ intlou. 3. Por illtinlo, se define la ventana de la aplicaci611, nsando c.lpuirttrr U i n ( l o ~ .

De 111otlo clue colnenceinos por el paso 1. Si estarnos usando el PowerBuiltler. llaina- riamos a1 Application painter, pulsando en el hot611 Appl de PowerBar. Des1)uC.s sr ol)tie- nr la raja de guartlar la aplicacibn (Save Application box) tlc la Fi;ni-a 9.12. Le tlumoi no11il)rr a la aplicaci0n tee-leando "a-trahajador-edificio-asigll:i(~iOl~ en 1.1 l~ r in i r r ,~ raja. Esta aplicacihn tlesplegari 10s datos de las tahlas trahajador. asignucihn > etlilicio. lo clue ie indica nietliante estos nonihrci ( 1 ~ tal~las. Sc lei ha pueito rl 111-rfijo "a_" conlo (.om cwio para indicar clue (.i una apliraci6n para eitas tablas. En la caja Comments (comcntarioi) iilt~.otliic.iiiioi "Estn aplic.aciOn tlriplirga tocioi lob trabajatlorri. ! la inforinaci0ll tic aiig- narihn J dr edificio, p r a el t ral~ajador clue ie irleccione". En la caja Libraries: i t . ponv (a1

noin1)rr clel arrhito a-tar.l)l)l para indirar qur k t e es el lugar donde clnrrrnloi (1uc ic 1)011- gan todoi loi o1)jetos clue tirnrn qur vrr (.on esta aplieaeibn. El infijo b'.l)l)l" \icbncb d(. "Pouc.rBuiltler lil~rary" (Bi1)liotrt.a de PowerBuilder) y e i un sufijo ei t indar en P ~ u c i - - Bniltlt~r para cbitoi finri. PowcrB~iildci- autoiniiticainente cwntrola vita 1d)liotec.a ! pontlri j ~ w n p e r a r i de ella todos loi ohjrtos que hayainos ereado o artuali~odo para usar en nncitra aplicmii~n.

Ya i t . hail (1t.finiclo loi ailwrtoi gtmeralri ti(* la aplic-acihn. Una clrscripricin wsunien tle qub v i lo qn t~ i r ha herho en la aplirarihn i r innri tr ;~ rn la Fignra 9.13. El pr0xnno paw i r r i crrar las 1)ataWiridows qnr se nsarin en la aplieaeih.

Page 322: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

l a y name a ' a - t a e pbl

Zonments rr ta apl jraclon m u e c t r a lodor 10s t raba ladore r , y 1. I n lo rmar lon Checked out hy de edlf l r los q de ar lgnaclon para rada l raba jador

Crear Datawindows

OataD'iiit lo~ painter.. El prhximo ~ ) a s o es introtlur-ir el DataWindow pcrir~trr n~etli;u~tc~ el l)ot6n DataWiicl tle la 1 I I o n s t r y e PowerBar ( t w Figrlra 0.0). St, ('rrariin tres Data Wintlows: r111;r Ilnra trahajador. otra 11uri1

ol,~('tos l);rtir\Vintlo\c asignacihn y otra 1)ara rtlil'irio. Ilsarc*n~os la raja Nrw UataWintlow (Figura 0.11). (:oulo se ( I I I V a c ~ t ~ ~ ~ l v n a la 11ase dr indic.o (w la c-;rja. dehc~nt)s tlesignar el Data Source (Tt~entc- tle tlatos) y el Pi.c.senta~ion Sty- tlatw ! 11o11t~n 10s le (estilo (I(. prc.sentacihn). rt+~~ltatlo> I ~ I I \vntanas. 1,as rrratro ojwionrs tle natil Sonrcr nos tlan ~ r n a pottwtia c~onsic[c.rirl~le para la

c ~ a c i 6 n (11: UataWindows. Sin emlmrgo, las D a t a 1 indows para estv ejemplo st.riin t o h s simples cwnsult;is d e unti sola tallla, por tanto podemox selrc*c*ionar la fnrntc tle tlatos Quick Select (srl(.c.ciOn ripidri) en cada caso. En lu prhxima caja se selrct.ionarii el estilo tlc ~)resc~ntat~i6u Tabnlar. Esto significci clue 10s tlatos s(. ~ ~ r r s e n t ; ~ r J n conw talllas. en lilas y collrmnas. Pasalnos ahora a la raja Quick Select (Figura 9.15), dondr be d e l ~ e n intlic.ar 121

tahla y las columnas clue queremos desplrgar. Srleccionamos la tahla Ti-aI)ajxlw y Add All (aiiadirlos todos), de modo que sc drsplieguen todas las col~unnas tlr t ra l~ajador . I,uego scb int1ic.a la ordtw rle ordenacihn y ~1 critrrio d r selec~i6n. S r indic*a Ascending (ascrrrdirntc~) en la fila Sort hajo Id Trabajador. Pnrsto que qurrrmos todas 1;rs tiiplas tlr trahajador. no s r indicarii ningirn critrrio d r selrccihn. Con rsto s r twnplr ta la caja Quick Srlrt-t.

Ahora nos movrmos a1 espacio d r t r a l ~ a j o dr l puintar DataWindow (Figure 9.16), que rontiene en la serci6n Detail (detalle) la inforn~arihn q u r hemos drfinido. 0l)sbrvesr q ~ e el rspacio de t rahajo t ime c:uatro srcciones: Header (cahrcrra), Detail (detallr). Sum- mary (resumen) y Footer (pie). La seccihn Header c:ontirne informaci6n t e x t i d quc se aiia- dirh a 10s rnrahezamientos d r las colutnnas. La secc,i6n Detail contirne una caja para cada w m p o d e tlatos con el noinhrr d r l c a m p dentro d r la caja. Esto indica en qub lugar se des- plegarin rralmrntr 10s datos. Las seccionrs Summary y Footer rstiin en estr caso vacias. Se

Page 323: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS CLIENTEISERVIDOR

Page 324: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

-

id,tr@ nomb- t r , ' tarifa-hr - - oficio-df idlsupu

potlria poner el total y oira inf'ormaciOn cm la s t ~ c i 6 n Summary ) el u i i m ( ~ o (11- p igiu;~ ! pwvieu- ( ristrr otras informaciones textualvs r n la secci6n Footer. Potlrmos usar el ~ w ~ u r s t r Pre j~ ien i j~ikihu r ~ i r 1 I I previa) de PowerBiiiltler para vcr chnio svrii DataWintlow (Figura 9.17). 0l )wrav ([ue la ~ I I I I ' ~ ) t~rmi t r al c[ne informaci6n del Heatler se muestra en Datawindow tal y conio vinios c.11 la I);~nlalla autc- tl~.\a~m,lla la ul)lic.acii,n rior. Sin eml)argo, la informaci0n en Detail lista 10s clatos cwncwtos clue rsthn ~~outenitlos t'n \ ( , I . rhmo a p i ~ w e r ' i la la taljla tral~ajatlor, a una linea para catla tupla. I'otlria mars(. la I)arl-a 1 1 t h t l ~ y l a z a m i w t o I h t a W n t l o ~ cwuntlo w (scroll bur) clue es t i a la dererha para clesplegar todas las tuplas de la tabla. Si a l p l o rle 10s IIonga en una wntana. r a m p s tle tlatos no es lo siifit*irntrnltmtt~ grand(- o no scb ha alinraclo aelt~c*uatlaincnit~, ~)oclcb-

iiie)s regrehar a1 espacio tlr trabajo de DataWintlow para c*aml)iarlo. Cuantlo se termiue con cste). l ialmmos complrtatlo la tlefinicih tle 1)ataWintlow para la tallla tld)ajatlor. Ix elamos el nomljrt, (1-tra1,ajador y la almacrnamos en la bildiotera para esta aplicxihii.

Nuestra segunda DataWindow serii pa ra la tabla asignacihn . Se intlivari tle nuevo Quirk Select romo fuente de 10s datos y Tahular como estilo tle pi-esentariOn. Eli la raja Quirk Se1ec.t intlit*aremos la tabla de asignacihn con totlas sris columnas y niarc3arcwos a Icl Trahajador e Id Edificio como Ascending (ascrntleute) forma de ordriiaci6ii. Siii c.nil)ar- go. antes clr finalizar con estc Quic-k S t - l t ~ t t l t h n o s Iiacrr algo difrrriit t~ (11' lo clue hiciiiios con la ~ ) r i n i r r a DataWintlow.

Rec:orclrmos c6mo es q n r qurrenios iisar esta DataRintiow. A (liferencia d r la Data- Window anterior, que muestra una lista clr todos 10s trahajaclores, ahora s d o qwreiuos niostrar cada vez las tuplas cle asignaci6n para un trahajador. El usuario v e r i la lista de 10s trahajadorrs en la primera DataWindtrw ); podra pulsar en la fila de u n trabajaclor en partirular. Queremos que entonres en la segunda DataWindow se tlesplieguen todas las tuplas d r asignaciones para dicho trabajador. P o r tanto, queremos que esta vrntana rrcrl- p r r r h l o las tuplas que se aplican a1 tra1)ajador selecrionado por el usuario. Por lo tanto

Page 325: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS CLIENTE/SERVIDOR

File Edit D i s ~ l a v Rows Window Hela I @ /

H- Faraday 12.5% E l e c t r i c i s t a 1311

1311 C. Coulomb 15.5% E l e c t r l c i s t a 1311

1412 ~ . n e m o 13-75 F o n t a n e r o 152%

152% H. Rickouer 11.75 F o n t a n e r o 152%

t l c~ l ) rn~~)s 1nodific:ar la wnsul ta para la DataIXintlow de la tabla asignacihn ponibndolr nna clinsula W-hcre clur provoqur q u r se mnrstrcn solamrntr las t ~ ~ p l a s y la asignarihn dr l tra- 1)ajador srlccrionatlo. Esto s r logra poniendo en la cliusula W h r r r una varial~lr q u r (:o11- t endr i el Itl-Trahjatlor como argumento. Este valor s r p o n d r i cn la variable en tirmpo tle ejrc:nc:ihn ruantlo el nsuario pulse s o l ~ r r la tupla tlel tra1)ajador. P a r a hacer la motlifi- twii ,n newsaria en el DataIVintlow cir la tabla asignacibn clehemos accetler a una n u e w uc:ntana clue 1nnc:strr la taljla asignaci6n (.on todas sus columnas y nn nurvn conjunto tle 1)otonw (4ue nos p r m i t a n c~onstriiir consultas inis wmplejas (Figura 9.18).

Primero ciefinirnos la v a r i a l h argumento de r r c u p e r a c i h clue sr indicci anterior- mentc. Esta varialjle. nom1)rada ar-id-tra1)ajatlor con tendr i el Id-Trahajailor para aqucllos tra1)ajadorrs tle 10s quc querrmos r r c u p r r a r sus tuplas en la t a l h asignacihn. Se usan ahora las funcioiles d r esta pantalla para wns t ru i r una rliusula Where d r la forma

W H E R E id - t raba jador = : a r - id - t raba jador

(Los dos puntos en :ar-id-trabajador intlican que ar-id-trahajador es una variahle y no una columna dr la h e d e datos.) Despuks de definir la cliusula Where retornainos a1 rspacio d r trahajo dr l painter Datawindow. Se definen ahora la fuente de datos y el esti- lo tle presrntac:ihn corm antes y se escogr para desplegar a la tabla edificio con todas sus c.oluinnas. Una vez mas se define un argurnrnto d e recuperacihn poryue estarrms interrsa- tlos solanlrnte en ver la informacihn para el edificio en el que el usuario puls6 en la tupla d e asignacihn. Esta vrz definimos el argurnento de r e c u p e r a c i h conlo ar-id-edificio y construimos la cliusula Where siguiente:

Page 326: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

WHERE id-edificio = :ar-id-edificio

Crear Windows

Page 327: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS CLIENTEISERVIDOR

tlle t d 1 1 Controls IJes~gn Declare Uptlons Window Help -

Menu l I J a l a ~ n d l Struct I Prefs 1 Help ~ a t a b a s e l Query 1 Func L~brary 1 Uner Obi 1 Run i Debug

I i i ada~nos pr in~ero cl l~o thn . La PaintrrBar (harra tlv painters) cpw se ~ ~ ~ u e s t r a en In Fignra 0. LO mut,stra 10s hotones tlc 10s tlifert~ntes tipos cle control cine se p ~ ~ r c l v n poner en la \cntana. Si se 1111lsa en r l I~o thn C ~ n d B t l l de la PninterBar. luero rno\einos el puntero hacia la escpiina sulwrior clrret*lia de la caja y vol\t'n~os a 1)nIsar, esto p t ~ r ~ t l r i 1111 1)ot;)n ('011

t.1 tcn\to "nonc" ( n a ~ l a ) ell la esquina superior tlerecha. 1,uego potlrmoh teclear "cerrar" cn el 1)otOn para iustitnir ;I .'none". (Ler Figura 0.20). El yrophsito de este h t b n es l~r in t la r un nietlio sinlplc 1);lra ( p e el usuario pncda dl),indonar la aplir.ati6n. Mis tar& potlrmos est.ril)ir un script (gui6n) para este 1)othn qut, cansc t[iitX la aplic*atiOn t e r ~ l ~ i n e t~nnntlo el usuario 1)ulsca ~ 1 1 rste l)ot6n.

\bra aiiatliremos lo\ twntroles DataWintlon. P a r a clefinir t.1 primer twntrol Data- Kindon tlelwrnoi pnlsal en el I)othn D a t a W d d e Paintel-Bar y lnego pulsar r n la estpii- na superior izquiertla tlel espacio tle t r a l ~ a i o . 1Jbamos el rathn para d a r k tamaiio a la \VII -

tana ! luvgo intlirar twhl tlc l a i ?a tlefinidas D a t a ~ i n c i o w delje rolocarse acpi . Select-ic~namos la tl-tral)ajado~ e indirainoi que tainbiGr1 newsitaremos atIui nna Imrra tit. despla~amiento \tbrtit'al. (:on ebto ha l~remos aiiatlitlo el priinrr cbontrol Data\lCintlow (Fi- gin-a 9.20).

Los otros dos DataWindow se aiiaden d r la misn~ri manera. Hacemos esto ponimtlo el control (1-asignacihn tl11l)ajo del control tl-trabajador y el control d-edificio tlrhajo tlc1 control d-asignacihn. lkjanios espacio entre 10s controles de modo d e podr r aiiatlir 10s trx- tos d e 10s cncahrzamientos. Aiiadiinos la informaci6n textual rut ima de cada control Data- Window. piilsando en el b o t h Stat i rTst d e la PaintrrBar y lnrgo moviendo el puntero hacia el lngar desrado y pulsando de nnevo. Teclramos el texto drseado en la caja texto. Esto se h a w tres veces, una por catla control Datawindow. El resultado final drlw parecrr algo asi conlo lo clue se nluehtra en la Figura 9.21. Finalmente guordamos la dcfinicihn tlr wta ventana con el nombre v-tae.

Page 328: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

- I : I . . I . . I 1 . I I . I . I 8 - t t l l e t d l t Lantrals Ueslan Ueclare Uotlons Wlndaw Helo

F'rem~er Gonstruct~nn Workers

A Worker's Assignments

[id-trabajador 1 lfecha-inicia 1 -1

Building Information

Page 329: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS CLIENTEISERVIDOR 3 15

I{rvisemos lo c111r htmos hrt-ho hakta aqni. Sc ha tlefinitlo la tic. tlatoy (11. (.on\- t~.wc.ionrs (.on trvs taldas: trahajador, ;rsignati6n y etlif'icio. Estamos i~horii 1.11 c>l l ) l ~ ) t w o tlr c-wacihn dt, mia al)lit.at*ihn t111t' N T I V I I ~ I ~ L a In base tle datos. lista la.; tu1)la.s dr 10s t r a l w jatlorrs ( ~ I V hay "1 rIIa. j lista I;ls tnl)I;ls clr las asignaciones II;IIYI c.1 t ra l~ajat lor clue se srlrc.c*ionr, asi romo lista taml)i611 la tupla del tdifitio 1)ara Ilna ahignatii~n. I'ara (*rear wto al)licwiOn se ha utilizado 1.1 2pl)lication painttx parit t ldinir Csta y tlarlr nom1)re. 111ty) ~ls;unos el DataWintlow l ~ a i r ~ t r r para dt*finir 10s t r r s ol)jrtos l)atal\indo\+ ((1-trahajatlor. (1-asignatihn j- d-cdif'itio) ? t'inalnitmtc. usan1o.s rl W.indow paintrr 1)ara ( w a r una i~uiva vtmtana clur twnttwga 111s c.onti-olrs 111. 10s tms I)at;~\iinchw ? 1111 I~o thn (11. ortlt.11 I)ara c r r r a r la aplit*aciOn. Para Ins al~ariencias rxtrrnas hernos I w h o toclo 10 n w c w ~ i o ])or la a p l i c w i h .

Pcro sr ha ol\iclatlo illgc). Trnrmos totlas las ~)it.zas i i t ~ r s a r i a s : la I)asr tlr clutos. In apl icacih. los 1)atoW-indows. y la vrntana (*on 10s rontro1t.s. Iwro no las hrrnos t ~ ) n c ~ t a t l ( ~ tlrl todo cbntrr si. Para h a w r (,st0 ~ ~ I W I I I O S rsc'rihir scripts (gliiones) 1m-a 10s twntrolt.s. aii cwno tambibn Ilara la vrntana p la aplit-acihn twmo talos. Estos scripts t-ontirntw Or11t'nc'~ (*on 10s paran~r t ros a ~ ~ r o p i a d o s ~ m - a rs tar srgnros de clur las rosas van a orurr i r t80rrt.t.ta- Inrntt. \- rn r j tnomrnto ~) r t~c i so .

L)rsgrac.iadamvntr, rl lrngnajr dt. ,srript tlr PowrrBuiltlrr rs I~astanir a~nl)lio ? c8oiii- ~)lit>aclo y 1u)r lo tanto sr salr tlrl a1txnc.c. 11r rs t r Iibro. Sin emhurgo. ;tnttSs tIv t t ~ r n i n a r con rsta src*cih p ~ ~ r t i s r ~ n o s las tai-(.as 1);u-a las cwalrs sr d r h n csc.~il)ir scripts. tlr tnotlo qur la aplic*ac*iOn funcionr adrcwatl;t~nc-ntr. Tarnl)ibn drst:ril)irrnios la Ihgira q u r r s t i ilrtrhs tlr la t.str~ictnra d r la aplicwibn y 511s scripts. Auncluc. no sc, col)r i l i la sintalis rsl1rc4'it.a t ld Irnguajt. dt, script, sr l)otIr6 vrr (*on mhs claridatl la filosofia clur 6stc. rnc.irrra.

Las aplicarionrs clr Powt~rBuilt1c.r son dirigidas-por-t.vr11tos ( e ~ w - d r i w n ) . Ksto signifira quc* 10s scripts sr rsc-rilwn para d a r rrspne.sta a los rvrntos qut' tc~iitlrrin 111yar. Ejemplos d r rvmtos inclujrn rl twmirnzo dt. una aplieacibn, la apr r tu ra tle nna v t ~ n t ; ~ n ; ~ . pulsar sol~i-r un 1)otOn o sohrr m a linca (In 1111 DataFintlow. Caila vrz qur oc*urrc. tin cwxn- to se r jwuta 1.1 script d r tal rvrnto. Poi- tanto. para rscril)ir r1 script ( '01-r t~to ~ ) i ~ r a catla rvrnto ncvwitamos cmlotw t*nilrs son 10s rventos q u r sr suponrn ocwrririn en la aplirii- rihn. par;^ hacw esto rs nc.wsario rntendrr la rstrucbt~lra grnrral dt. la aplicaci0n chmo m c a j a rada pirza en vsta rs t rur tnra.

Las aplic*acionrs rstan rstruc-turadas jerirqnicamente. El pr imrr rvrnto tan m a apli- carihn rs la rjrcucibn d r la aplit.atiOn cn si misrna. Cuando el usuario initia la aplicaciOn. sr ejrcuta rl script para rl rvrnto "al~rir" (open). l lna de las prinripales rr,;l~o11sal~ili~la~1rs d r rs t r srript sera ahrir la vrntana tlr la aplicari6n. Esto dispai-a 1111 n u c ~ o t>vrnto: el even- to a h i r (open) para la vrntana initial. Esto origina a su vex q u r sr r j e r ~ t t r un nnrvo script. 1)espubs t p r w tlwplirga la vrntana sr prcSscntan a1 usuario una srr i r d r opcionrs (1)otont-s q w put& pulsar), DataU indows en las qnr ~ ) u e d e tlrsplazarsr o lineas r n las qtir p l r - (It . pulsar, rtc. Estos son casos atlirionalrs para 10s twalvs sc puedrn esrrihir sc r ip t s En conjunto, 10s scripts tlrterminarin club proc*rsamicntos t r n d r i n lngar r n rrspursta a los wentos.

Veamos ahora el prorrsamirnto y 10s c~ventos q u r lhgicatnrnte tirnrn lugar rn n u c ~ t ra apliraci6n y cwn rsto iremos idrntificando (1116 scripts nrrrsitamos rsrrihir.

Evcmto 1 : Evento alwir a p l i c a c i h . Este evento artivarh un i r r a tlv t~otnunicacibn d r transacciones, la cual rs nrwsarla para idrntifirar rl SGHD (*on rl q u r la aplit~,~t~ibn va a romnnicarse y al~rit-h la vrntana 1uic.d (\-tar). Abrir la vrntana inirial 4.3 4.n si n~ismo 1111

rvrnto para el que ha) q u r rsc*ril)ir nn script. Ebcmto 2: Evento ahrir vrntana. Cuantlo s r ahre la ventana in~r ia l (\-tav) c1uc.i-r-

mos qur deq1'1irgnr la ventana ! qnr la lista d r tra1)ajadores d r la tahla tra1)ajatlorc.s a p a r r w a en DataWindow de la partr superior. Por lo tanto hay clrw rsrrihir un script 1)arn rs tar srguros d r que t,5to ocnrrira.

Evento 3: Evento d e pulaar sobre la linea d e u n trabajador. El usuario. qur r s t i virndo la lista d r trahajatlorrs d r la DataWindow superior. purde desplazarsr a lo largo tit. esta lista para ver a totlos loi tra1)ajadorc.s. Si desra \ el. la hsta d r dsignacionrs d r cdificios

Page 330: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

(I t , un tral)ajatlor. lo h i c w (lntB tien? (111t' h a w r tss p d s a r s o h - t ~ la linra t11, tlatos dt.1 tral)a- jatlor. Esto tlisprra nu rhrnto 1):u.a t.1 t-ual tlt*l~r rsc.ril)irsr sn t ~ t ~ ~ . r c ~ s l ~ o i ~ c l i r ~ ~ t t ~ scr ip t . Ehto script rausnr i t11w las tnplas tlr las irsig~~at.ionrs tit: tlic.110 t r a h j a d o r sran dt~q)lrgatlas tw

la styliltla 1)ataTintlow. Evtwto 4: Evento clc pulsar sobre la linra d e una asignaci6n. El usuario l)urt11*

o1)trnt.r inl'ormi~tihn sohrr ~1 rtlil'it*io tlr tuna tlrtrrminatla asignacihn si I I I I I S ~ tw la lint.;^ t .orr t -s l~)nt l i t ,~~tr a t l i r l~a irsign;~tiOn lir UataWindow. Esto dispai-ir 1111 rv(*iito 11irrir 1'1 I I I I P

nil .script t l r l ~ r r i rrtw1wrar la tnl) l ;~ ( I d d i f i t i o i n t l i t d o y ~nostrirrla en la t r r w r a Dat+ \\~intlow.

K~cmto 5: Pulsar sohrc t.1 1mt011 tlr la orden cer ra r ( c l o s ~ ) . Rl 11s11ario l)uc~lt* finn- lizw la al)lic~at.i~')n sinil~lt.~nt~ntr I)nlhantlo t.11 rstt. I)othn.

Algunos comentarios finales

Page 331: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SlSTEMAS DE BASES DE DATOS CLlENTElSERVlDOR

I < I ~ t3sttJ 1<;111it11lo no> h t ~ n ~ o ~ t * \ t ~ ~ ~ ~ t I i t l o t ~ n I ; I ~ itlea5 i ~ ~ t w i a t l a s I , ~ B I I 10- 4.tvnlas I I ~ I Y * . ( 1 1 , tlatos c~lit~ntc~/wl.\ itlor I ~ I I I ~ I ' I I ~ ~ I ~ I H i n t r c ~ t l ~ ~ t ~ i t l a s 1.n 10.; 11rim1w1c c ,n l~i t~l lo i . St. t . \ l ~ l i t . O t 1 1 1 t ' I I I I ; I

~~l ;~t i~l 'o t . l l l i~ t . l i tw t t~ / s~~~ . \ itlor os I I I ~ ; I 1 . 1 ~ 1 11,' t - o l ~ ~ l ~ ~ ~ t i ~ t l o l . ( . . a l g ~ ~ n o s (11' l a i I ' I I ; I I I * > ; I I . ~ I ' I ~ I I I I ' O I I I O

s t~~ . \ - i t l t~ lw I ~ l . i ~ ~ t l a n t l t ~ ht.r.\-irios tlr nrios til)os ;I o t~ .o> t ~ o ~ l ~ l ~ ~ l t a t l o ~ . ( . - c.lic.ntt.h. Sc.par:~ntl~, tsstas I'rlnc*ionrs sts ~ ~ n t ~ t l t w c~sl~ec*ializ;~r 111s sistcwas tit. hurtl\tan.t~. optimixanclo l a . rnhtlrlil~a* t~livntw ! Ias m ~ ~ t ~ ~ t i n a i W I Y itltw- 11,. nlotlo 111w ratla 111u 11n t~ la I I ~ I I ~ I T n l t jor la ta1xba t 1 1 1 t ~ tits- I I V trsignatli~. \ imos i i h t t ~ n ~ w tit. sol'twt~rt~. tanto I ,wa Ios cwrn l~ l~ ta t lo~ , t~> s e r \ i t l o ~ ~ ~ i (w111o I K I W las rlicwtt~s. St, t * ~ a n ~ i n a r o n 111s 5(;111)s SQl, St,rvt.r !. 0 1 x c ~ l t ~ cn algim tlt.tallv. .-(& \ it~l.ot~ 511h I W * I I I W I ~ 11i11.a la (l14init~iO11 I;! I I I ; I I I ~ I I I I I ~ I I * ~ O I I tlt, tlatos. 1)1~~1)11L st3 1 w i h 0 l ' t ~ \ t t ~ ~ ~ t < ~ ~ i I t l ~ ~ ~ ~ .

1111 t ~ ~ ~ t o r n o 11a1.a 01 I I ~ + ~ I I X I I I I I 1 1 1 2 ; ~ ~ ~ I i ~ ~ : t r i t ~ ~ ~ t + tw 111s I * I I ~ ~ ~ ~ I I I ~ ; I I ~ I J I ~ I ~ ~ t~litwtt~h. I A I S I v n p ~ ~ a j t ~ s ( I t - (It4'i11itiO11 tlr tlato3 tlta SOL S(T\IT 0 1 ~ a 1 ~ 1 1 ~ ~ ~ t w n i t t w tI14'inir taI11;1*

(I t* 11;1st+ tit* tlatoh ~ n t - t l i a ~ ~ t v la I * I ~ I I ~ ~ I I t l t . t ilws tlv clatos dt~finitloh 1101. 14 11s11ario. t ; ~ l ~ l a ~ . c d u r n ~ ~ a s ! ~.c~htrit.c.ic~~lt's sol~l.t' totloh ;hto.s. INS t i p s 11t' (liltoh tlt%l'initlon 11or el u s ~ ~ a r i o >(.

desan-ollan ;I 1)ilrtir tIr tilloh I~L?ico:, . s ~ ~ ~ ~ ~ i t ~ i > t ~ . i ~ t l o s 1)or ('1 histenla ! aiiatlie1111o t ' iert ;~s I X -

t r i t . t iows h1111l.t. (:5t115. Khtos t i l ) t~r (11% (lato.* I I I I ( Y ~ I W 111tlgo 11harse P I I la clel'inirii~n ( I t , t.oI11111- nab c ~ s l ) t d i t - ; ~ s tlt.nt1.o I I I , l i ~ i t i ~ l ~ l a s . \ I tlt.l'ii~ir las ta11l;ls se tlt~l'int~n snh t.olrn1111ai ( Y I I I . I I -

t i l m tie tlatos ! 5115 ~ . t ~ s t ~ ~ i t . t ~ i o ~ ~ t ~ h . I AS r t ~ s t ~ i ~ t ~ i o n t ~ $ 1111t~ltw st^ rt$w c111(- I ~ ~ I ~ I I ~ I ~ I I 105

\-aIort,s t111e I I I I I Y I ~ ~ I I t > s t ; ~ ~ , 1.11 lit5 ~ ~ ~ I I I I ~ ~ I ~ ~ s . k t a s I I ~ I ~ Y \ ( * I I i~ l t l ivar hi h t - l ~ t - ~ w ~ i t t , ~ ~ I ~ I I I I . ~ ~ . nulos ~ ) ~ ~ t * t l t . n t ;~tnl)i i*l~ p ~ . a n t i z ; ~ ~ . la ~toic*itlatl d e los v a l o l n ( I t * tlna ( Y I I U I I ~ I I ~ I ( I I - I ~ ~ I X B (1,. la tallla. b;llas t an~ l~ i ;n tlt4'int.n t*l;~\t.s rimar arias ( I t%-itc,rnas tlv un;l t~o l~ l rnna o ~ l ~ i l l t i ~ ~ l v - c ~ o l ~ ~ ~ ~ ~ - na . POI. i11tin111- ~ . t ~ s t ~ . i t * t ~ i o ~ l t ~ ~ p w t l t ~ n SIT n l i s p ~ n t ~ a l t ~ s I I ~ ~ I I I I ~ I I 14 t ~ o n t ~ t ~ ~ ~ t o t lv r e d t i ( , - riOn (:III<(:I\. I I I I V int1ic.a una wgla tlutb tl(*111. t~uml) l i r ratla t11l)la.

Los l t m g ~ ~ a j v s tlv n ~ a n i p ~ ~ l a t i h n tle tlatos tle estos tlos S(;BI)s S I J I I mn! ~ ) o t I t ~ o h ~ ~ s . I I I Y

mitttn l~ lo t ln t~s tit. instl~r~t*t~iones. instl-uc*tionrs IF. lazos K'IIILE. r a ~ i ; ~ l ) l t ~ s I I I I* ; I~ I* , . ; y 111.o1~'- t l in~itwtos ~ ~ I I I I ~ ~ I . ( . I I ~ I I ~ I I S I Y I I I l~ar in l t ' t ros (It' vntratla !~ dt, salitla. La c.ontlitii111 I I I I I ' 5'' IISI t.11

las instrnc-t-ionc~.s I E' o U I111,K. o tlift~rcmtia 111% las ti1)ic.a~ wntlic.ionw tw 111s Ie11~11i1jeh (Ir ~ u ~ t ~ y a m ~ ~ t ~ i t i n . ~ultvlen usar \a lorc~s cwn~pl~ta t los a ~ ) a r t i r (11, relaviones c~on~p le t a s en lugat. tit- sirnlllrs tu l~lah ( I ( ' I I M r t d a t i h . 1:istos s is t twas ta1nl)iCn so1)ortan ~ l i s ~ ~ a r ; ~ t l o r e s . clue son l rup ran ta s twri to . tLn 1'1 Itwgnaje tle 1nmipnlac~i6n tle tlatos ! tlut. se t ~ j w ~ ~ t a n tnatla vtXz I I I I ~ '

c ~ t ~ r ~ r r t - 1111 ti1111 ( s . s l 1 t ~ 4 h tle I-arnl~io ( i~ l se r t ihn . ho r rado o ; ~ t ~ t ~ ~ ; ~ l i z ; ~ c ~ i h ~ i ) cw n n a ~xblatihn rs l~- t . iGru. Ehtos 11v1.miten el c~~ tmpl imi t~n to c ~ n t r a l i z a d o dt. n n a n ~ l ~ l i o r a u p tltb t i l ~ ~ . tlv wglas tlc nrgot.ioh ! rl c ~ i l t d o tltx i m p - t a n t r s valoi-1,s t l t~ iva t los .

El t l t ~ s i ~ ~ ~ ~ x ~ l l o tlr la3 a ~ ~ l i t ~ a c i o n t ~ s dt* 10s sistc.mas t~licmtt~s I ~ ~ ~ t ~ t l ~ ~ n t r w r Ingar en Iln rn torno t111t' Imintle t~a l~a t~ i t l a t l t~s I ~ i t - r ~ c ~ ~ ~ a l ~ l t ~ t ~ i t l a s tau 121s i r ~ ~ t ~ r l ' i ~ t ~ t ~ s gr i f i ras (It, w r ~ a r i o . I santlo Po\wrBnilt l t~r cwmo el rnl l~lo rstrltlianlos la tIrSinic.ihn tlr a ~ ~ l i t ~ n t i o n t s . D a t a F i n t l o ~ ~ s clue defintm twnsliltas y la 11resent;lc.iOn tlr 111s r e s~~ l t a t lo s tIr 1as c~ons~iltas. St' t~stlidiarorl 1i1h

\entanas c.11 las clue se 1)onen IasD;lt;l&indow.; ! otros t ~ ) n t r o l c ~ ori(mti~dos a1 nsliario. T a n - 1 1 i ~ n st. drsc-ril)ieron los t i l~os tit. tb\t.ntos 1111t' 11ntdr ~ W O V O I ~ ~ I . rI r ~ a r ~ a r i o e n nna ventana ! 11ara 10s twales tluereluos t w ~ i l ) i ~ ljrogramac scripts tple respondan a ( l i t h s eventos.

P o r idtinlo. se h a seiialado 111w l o ~ ~ n t o r n o s 11th t lcwrrollo tlv aplirnciones clientr/svt.- itlo lor nos brintlan la oportlniitlatl tle w a r milltildes he r ra~n ien ta s 1)ara la creaci6n tlr his- ternas ~ i ~ o t l u l : ~ i - t ~ tlr cwnsitlt~ral)le potler !, f'lrxil~ilitlatl.

1. D14ina con 511s propias palahras catla nno tle 10s tbrminos signic.ntt~s: a. In twfaz Graf i ra tle Usuario (IGLT. e n inglbs GUI) 1). regla r. valor p o r tlefwto d. restricri6n tle columns

Page 332: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

I)est.ril)a t4mo st. pn tv l t~ i w a r Ios l i p s (It' tlatos tlefinidos por el ~ ~ s ~ ~ a r i o en 121 tlefin- tihn tlt. las tal)las tle una h e tle tlatos. gl'or qui. son kaliosos?

i,Cuhl es la dil'erent+~ t'ntrt' una rostrit'ti0n LNIQUE, la restrit.t-ihn l'121\.1 112) 1\E) ! la rt.itriwiOn NOT N111,1,?

I tdique lab tlil'erentei twnstrnt.tiont~s d1.1 1t.nguajv dv fllijo tit, control.

;,Eli cpb f'orrna difieren l ' l~nt lan~ental t~~ente lai instruc*riones IF 5 IX IIILE del l e n p a - je tle fl11,jo tle twntrol de las instrut*t~iones rt,spet*ti\as tm n n ltmgnajc twn\ent*ional?

i3C6n10 se nsan el K K E A K y el (:ONTTNUE?

iMetliante tlu6 instrncti6n se tlrfinen las variahles locales en el lengnaje de flujo tlv t~ontrol?

, Q u b aspectos dtx 10s prot.tdimic.ntos alniawnados haven posi1)le que bstos pn tdan nsarse e o la creat%n tle m6tlulos tle programas qiie se p e t 1 a n comunit*ar entre siY

Analiw lab wnta jas tle 10s procedimientos al~nacenados.

i,Q"C. pneden h a w r 10s d i spra t lo res clue no pnetlen h a w r las rt.strit.tiont~s'!

1Qub funt*iones llevan a d o 10s puintrrs en PowerBuilder?

Indique 10s puinters de PowerBuilder.

iCual es la diferencia entre nna ventana y un Datawindow?

20. Analicc. el proctdimiento mediante el cual se definen las consultas en un IIataWindow.

Page 333: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS CLlENTElSERVlDOR 3 1 9

2. Itl~~ntifitpr 10s valores por deft:c:to aI)ropiados en la hasr de datos dv una rscurla 1)ara las ?;ituacionrs siguientes: a. Vn nurvo a h rscolar. I). l !n nut:vo rango clr prof~sor. c . Un numo aiio rsprraclo dr gratluacihn.

3. Defina un valor por tirfrcto 3231 para usar con la colurnna id-sup en la tdda tra- I~ajador.

Page 334: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

e d l f i c i o i d - e d l f l c l o t l p o - l d d i r - e d i f i c i o c h a r a c t e r 12 n u l o t i p o c h a r a c e t r 9 n u l o , no p o r d e f e c t o , v a l o r debe s e r

o f l c l n a , cornerc lo , r e s i d e n c i a o alrnacen.

n i v e l - c a l i d a d l n t e g e r n u l o , d e f e c t 0 = 1 , e l v a l o r debe e s t a r e n t r e 1 y 4 ( i n c l u s i v e )

c a t e g o r i a i n t e g e r n u l o , d e f e c t 0 = 1 , e l v a l o r debe e s t a r e n t r e 1 y 3 ( i n c l u s i v e )

a s l g n a c i o n i d - t r a b a j ado r t i p o - i d i d - e d i f l c l o t l p o - i d f e c h a - i n i c i o da te t l r ne n u l o num-dias i n t e g e r n u l o , e l v a l o r debe s e r mayor que 0

6. 1)rSina un cwlwnla (11. l)ii+r t l v tlatos. inc*lu!endo los 11ond)rc~s tl<. ~ a l ~ l i ~ s . c - c~ l~~ i i i ~~ah ! c - l a ~ s ~wilnariiis ! c ~ t ~ i i a s para rl twlr~mii~ tlv la F i g ~ ~ r i ~ 0. 111:.

NUMERO

NOMBRE VENDEDOR

I PAGADOCON HECHO-A /

I PRODUCT0 ORDEN

7. Drfina las rc,stricciones CHECK para rada uno dv 10s rases siguicmtc-s: a. En la relational eclifit.io, si r1 t i p r i Oficina, rntonccs cl nhrl tlv cditlatl t l ~ h

estar por enrima dr 2 .

Page 335: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS CLIENTEISERVIDOR 32 1

10. S ~ i ~ ) o n g a 111it' ha! nna columna ~ 1 1 la rrlocibn etlifitio. nit~~~-tot-tliai. clnr contirnc* 1.1 nilinrro total tlr tliai qnr ion asignatloi 11)s trabajadorrs a die110 etlificio. Cree IIII tlis- p a ~ . a I o r tlnv at.tna1it.r esta td rnnna ratla \ r z clue ha,a nna a ~ t n a l i z i ~ e i i ) ~ ~ en la tallla . , asignatwii.

2. Ol)tt.npa copiai tle trallajo tle tlifrrcntes paqnc.tc.3 de rntornos de rleiarrollo de ap1ic.a- c.ionei c.lientr (tales ~ o m o PowrrRuil t le~ o SQLIXindows) y rxamine sns c-aparidailei cwrl reipccto a l a i l en tana i (window), IlataWintlow y otrus t.ontroles, a 4 w m o tam- I ) i h a i u i l engua je de nlanipulari6n tic. datos. Escriha nn infnrmc. romparantlo cstdk fatilitlatlei.

Page 336: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DE LOS SISTEMAS DE BASE DE DATOS

Introduccion Acceso fisico a la base de datos Formas de almacenamiento fisico

Almacenamiento secundario Bloques de almacenamiento fisico

Factores de rendimiento del disco Tiempo de posicionamiento Tiempo de activacion de la cabeza Retraso de rotacion Velocidad de transferencia de datos Tiempo de transferencia de datos

Ejemplo de un registro accedido aleatoria- mente

Ejemplo de un registro accedido secuen- cialmente

Formatos de almacenamiento de datos en disco Formatos de pistas Formatos de registros

Registros de longitud fija Registros de longitud variable

Gestion de entradalsalida Organizacibn de archivos y metodos de direccio-

namiento Organizacion secuencial de un archivo Organizacibn secuencial-indexada de un ar-

chive

Organizacibn directa de un archivo Funciones Hash estaticas Funciones Hash dinamicas

lmplementacion de interrelaciones logicas Listas enlazadas Listas invertidas Arbo l equilibrado indexado (B+ - ~ r b o l )

lmplementacion cliente-servidor de la indexacion de un arbol balanceado

Correspondencia entre estructuras de datos Iogi- cas y estructuras de datos fisicas Correspondencia en las bases de datos rela-

cionales Correspondencia en las bases de datos en red Correspondencia en las bases de datos jerar-

quicas Acceso a la clave secundaria Optirnizacion de las consultas

Combinar las operaciones de selection y reunion

Combinar las operaciones de proyectar, selec- cion y reunion

Resumen Preguntas de comprobacion Ejercicios y problemas Proyectos y cuestiones profesionales

Page 337: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

ORGANIZACION FISICA DE LOS SISTEMAS DE BASE DE DATOS 323

-->=--

Billie T011efi011. lo a c t r ~ a l udmiriistrudoru de 10s Ser~ ic ios de Cor~ip~~t t~c ic i r~ rri la Corpo- ruciciii ZPIIS. ei~coiitrubu i n p i ( ~ t u i i t ~ 1(~ uct i t~rd (IP 1r11o de sirs colegt~s. Irehie Krepsbucli. qiw est6 (1 corgo de 1u Pluii/fjcucicin tle Req~risitos (IP 1Iuteriules ( P R \I) erl ltr I)i~isiciii tlr Moiiufncturu: SP Iiubiu qiwjudo (11 17icepresi~lente (Ie 11(1iir!filctlrr(i sobre 1t1 lubor cuestio- nnble de 10s Servicios de Coriipi~tuc~iciii p u r u s~t isf i rcer 10s necesitludes tie ir~/i)r~~rucioii de PR M. ''Aqui teizeinos un riwvo sisternu de bnse tle rlntos, p e se (lice p e 110s l l e ~ a (I lu ~ 1 1 1 -

g ~ i u r d i u eii 1u gestioii d~ 1(1 infbrniucicin, pero no sienipre p e d o obtener 1u ii~ji)rinti(~ii)ii qlie necesito czitmdo 1u ri(~cesito. 1/Ie siento ,frr~strudo con 10s tieinpos de r P s p ( ~ s t u qiitJ obterigo de imestro SGBD."

1)eslmCs de oir ~ s t o ( 1 ~ A I L jefe, Billie r~spoildii): "PIIPI~O ente i~der lt~,fri~strucicii~ t 1 ~ Irchie con imestro tiernpo dr ~ ( J S ~ I L ( J S ~ U . p r o lo que p r e r e c e no e i ~ t e i ~ d e r PS p e 10s tipos tlr irlfi)riiies p e iiecesitu soit ~ ) t ~ r t i c ~ ~ l u r i r ~ r r ~ t ~ d i f i c i l ~ ~ ( 1 ~ 1)rodwir r c i p i d ~ r n i ~ i i t ~ . Si eoiio- cieru niejor las c o i n ~ ~ l ~ ~ j i t l u c l e de ln orgc~i~izuciciil,fisica tle lus buses tlr datos, ~ncoiltruri(i incis .fcicil ser puci(wt(~ (.on iuwstro tieinpo de respuestu. Coml~reilderia lu riecesitlutl tlr idei~tificur infbrrncj qticJ rc~tpiiereii resprlestcls rcipidus y t ~ q ~ ~ e l l o s p e metl lei^. esperur 1111

poco mcis. Entoi~ces podr iurno~ perfecciorlc~r In base de dutos p a r u d u r uilu inejor res- puestu c l i t ~ i ~ d o se trute ( 1 ~ i i ~ f o r i n ~ ~ ~ i o i ~ e s de u l t ~ priori(1ud." DespiiCs de coiisidert~r el t~suilto p o r I L I ~ O o (10s &us. Billie tlecidici recornerldurle u su jefe lu ofertu de sernir~t~rios iilterrlos p t l ru t i~r i~ i l i c~r izc~r (I 10s ~ t s r~nr ios corl 10s rudiinentos de1 diseiiofisico y operucio- nes con 10s ~ Q S P ~ dt' (lutes.

r t y h t n l o trata acrrca d r las rstructura, fisicas cjne se nsan para imple- entar Imses de tlatos. Drs1)ui.s tie 1wr rstc r a p i t d o srrri r a p z tlr:

Dt.st.rhir las estrncturas para rl aweso fiiico d r la lmse de tlatos. Explwar hi cwacteristicas de almacrnan&nto. r r c n p e r a r i h \ ejrc.nclhn r n tlistw. Entrntlrr loi tipoi hisicos de organi7acion de un archi \o \ c6mo funcionan. h w r i h i r el uio c h loi 1)untrros para crear listas enlazadas. hstdi in\rr t iddi ! B+-irhol. Ententlrr rhmo loi motlrloi tlc clatos logicos se correspontlen con estruetura3 tle tlatos fisicas. Definlr y entender claws ietwntlariai. Entrntlcr loi principios hisicos de la optimizaci6n de consultas.

La organizatibn fiiica tlr una h i e tle tlatos es un t6pic.o extenso. Sus detalles principal- mrnte son dr l intrrbs tlr loi rsprt-iallstas ti.c.nlcos inlolucrados en el diseiio de hardwarc ! sistemas de software. Sm embargo, el rrntlimirnto genrral d r un iistrma tlr h a i r clr tlatoi se determina en gran nirdida por lai rstrutatur:~i tlr clatoi fiiicas uiadas y par la rficirnt-ia con la cual el sistema trahaja sohre la i n~i iniai . -lunqur 10s uiuarioi no d r b r n t r n r r cono- cimirnto de 10s detalles del d~sr l io fiiwo t1r la ha i r ilr clatoi, 6itoi afrctan a1 rrnttimitmto. un far tor tlr gran importancla en la sati3facci6n tlel nsuario con el sistema de h a i r ctr datoi . iPotlria r l niuario o1)tener la informacl6n deseada en el formato apropiado y en nn tiempo conveniente? Esta illtima f ra i r , "tirmpo c.onvrnientr", puede rxpresarsr grnrral- mrn t r t*omo tivmpo de respeb ta aceptable. La -'informacii,n deseada" y el "formato apro- piado" no ir afectan mucho por la organlzaci6n fisica de la base de datos. pero el tieinpo tlr rcspucsta ssi. El tiempo d r respuesta ri r l tirmpo transrurriclo r n t r r la initializat-ihn tlr una oprracihn s o h la base de datos y la disponibilidad drl resultado. I [n tiempo tlr r r i - pueita lrnto ri la qurja m i s frrcucnte que expresan 10s usuarios de lob bibtemas de lrases de datos, posildementr tlrhido a q u r ri lo qne se ohserva m i s ficilmente.

Page 338: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Aceeso fisico a la base de datos En la V i p r a 10.1 sr ~nues t ra r l s i s t rn~a 1)arn d arrrso lisico a la I ~ a s r tlr tlatos. Se purele w r la interarrihn tlrl ns~ la r io con t.1 s is t rn~a de hast. tle datos a1 iniriar nna cwnsult;~. El selector t1e estrategia t r u t l ~ ~ t ~ la ortlen t l d nsnario a sn forrna mhs el'itit.ntc. pa ra su r j r - curihn. La ortlt.11 tratlutitla at*ti\~a rntont*t:s a1 atlministratlor tle buffw, tp1t' wntrola rl rnovi~nirnto (11% tl;~tos en t r r la memoria 1)rinripal y el a lmawnan~i rn to r n tlistw. El a t h i - ~ ~ i s t r a t l o r tlc ar t*l~ivos (la s o l ~ o r t t ~ al atlniinist~xtlor tle 1)nfft.r atln~inistrando la wserva tle lot~alixacionrs tlr almat~enuinier~to c.n tlistw y las tbstrnrtnras ( I t , tlatos asotkitlas. Atltwis tle los tlator tlel nsuario. el t1ist.o twntiene r l tliccionario tlr cletos. tjne tlefint. la tbstrurtnr;i tle 10s tlatos t k l nsuario y t h n o 6stos 1)nrtlen nsarse.

I N S tlotos 11t.1 rlhuario st. a lmawnan volno nna I~ust. tit, tlatos l'isiru o rolewihn tlr wgihtros. I'or rjt~1111)lo. una fila t:n nna relat i i~n 1111rtlr ulmat~c~narsr t*t~mt) 1111 ~-tlgistro fisi- tw. tlontle t w l i ~ ~ O I - 1 1 t h 10s atrihutos tle la fila st> dmat*ena cn SII propio ~ Y I I I I ~ I O . -4niloga- ~ n t ~ n t ~ ~ . 1111 ~.egistrt) IOgitw t1e 1111 n~otlt~lo en red o jt.14rcj11ic.o 1)nt~l t . a1111at.rnarsr t.o~no 1111

registro fisitw tltlntlr 10s c.lt~n~twtos tle tlatos l0git.o~ s r ronviertrn r n elemt~ntos tle tlatos fisi- ros tlrl registro l'isitw almat*rn;~tlo.

n t l~~~iu ia t rador cle Formas de ahaeenamiento fisico wc.hi\ os. Softwaw tlutL i~t ln~inis tr ;~ la I,a 111cwroria principal es r l a l ~ ~ ~ a t . r r ~ a ~ n i e ~ ~ t o intermrtlio nsatlo llor 10s tlatos qlle esthn tlis-

~ w w \ - a t i h n tlr ponil~les 1)ara las oprrat iont~s tlel n s ~ ~ a r i o . Atjni es dontlt: reside la rjrrut.ihn tlel p r o p m a .

cliccio~~ario d c datos.

GESTOR + I DE BUFFERS

ADMINISTRADOR DE ARCHIVO

DlCClONARlO DE DATOS '--c

ALMACENAMIENTO 1 ENDISCO I

MEMORIA PRINCIPAL

DATOS DEL USUARIO A[ J

Page 339: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

ORGANIZAC~ON FISICA DE LOS SISTEMAS DE BASE DE DATOS 325

Almacenamiento secundario

El aln~;rt*cnan~iento swuntlario para 10s sistcn~as cle I ~ a s c clt~ tlatos csta ~ ~ c ~ r n l ~ u e s t o general- inente 1~". el a l ~ n a t ~ u a i n i e n t o tsn discc~ !. el a ln~acenan~itwto en rinta 1nagn6tit.a. C h i sieu- lwr. I;, I ) a s ~ de datos t~c~niplet;l st. alniacena vn clisco y l~ort*ic~~ies tle h a se tr;~nsfiewn tles- tlt. 1.1 tlistw a la memoria primaria. a nietlida tlutb scX necesita. El a ln~a t~enan~ien to tAn tlist.o es la I'orm;~ princit)al tle a lni ;~t~t~nau~iento t*on acceso tlirtv*to. por lo tlnr los rtyistros intli\i- tlualrs sc pnedrn atw.tler t l i r t ~ t ~ t a ~ ~ ~ e n t r . .AIIII(~IW el ; ~ l ~ ~ i i ~ c e ~ ~ a n i i t ~ n t o en cinta niagii6tit~;l 1.5

menos twstoso clue el alrnacenaniic.nto 1'11 tlisco. 10s registros puetlen ser solamcmte awetli- dos set~uentialmerite (y IIIL lentan~entr t~nt : ('11 tlisco). Sn fniwi011 thn el sistema tlr \lase tit. clatos esth l~ i s ican~e i i t t~ li~nitada a arc.hi\.ar 11;ltc)s.

[,a unitlatl fisicv~ en la tlnv vstti conteniclo el mrtlio tlc gral~at*iOn elel tlisco se Ilaniu controlatlor cle disco. conlrolador de disco (disk dricer). El t:ontrolatlor tlr clisco contienc n n 11acluc.te tle tlistw Unitlatl fisica clue o v o l ~ t ~ i i t ~ n , 1,as Figuras 10.2 y 10.3 inurstr;~rl las t .o~npone~itrs 1)rincil)alrs tl(. nn patlwttS contitme 1;i nnitlatl tlr tlc tlisco 4 1.1 mrcanisn~o tlr lrt~tur.a/escritura 11;ll.a la transmisihn tlc: tlatos. El l ~ a t l l ~ r t r tle al~nacrnarnier~to tw tlisco esth forn~atlo 1"" un conjnnto 11e supr f ic i r s gra11al)les (tlisc:os) ~nontados sol)re 1111 disco. rje. En oprravihn, el ejv !- 10s disros rntan a nna alta velotitlatl. I,os tlatos se grahar~ solwe

las pistas. que son coronas tircularrs gral)al,lrs entwntradas sobre t.atla superfic*ie ( F i p r a 10.2). Pueden existir varic~s tientos tle 11istas s o l ~ r r lina sl~perf'it*ie birnplr. I;na rnetifo- ra cornin para vl l,atp1rttx tle disc:o cis nna pila tle tlisros ~nusic*alea s o l ~ r e Iln ejr. exrepto que aqui 121s pistas son concPntrit:as y no r u forma tlr esI,iral interna hacia el crntro.

Tal conlo se ~nuehtra r n la Figura 10.3. 1111 t:onjunto de 1:;111czas tle lrt~tura/rsc~ritnra nl)iratlas al f i d tle un I)razo. sirnt)hlit~an~cntt. conto los tlientes dc 1111 twine, se mrleven

Pista 0 I Pista I

Page 340: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Mecanismo de acceso

(Conceptual) I lectura/escr~tura 1- C~hndro -4 Superf~c~es

I del

7

c.oiiio 1111 gr1111t1, de tal f'orlna clue Pstos 11uedt~u scbr 1)ositionados s o h e todas las listas tlel ~iiis- cilhtlro. La inisiiia 1110 radio. El cwnjuuto dt. dithas pistas se tlenomina rilindro. Es d t ~ i r , c.ont-c-l~t~~ali~ic.litc.. uu ])isla (1-itc.ntlida a tra\P.; c 'onji~ntt~ cle pistas clel mismo cliiinc.tro rotatido a alta veloeidad forulau tln cilintlro. Esta ( I d - tle todas las suprrf'iries n i c ~ i h es m y htil, !a cpe cwi1cluit.r posicionamiento de un conju~ito cle c.al~ezus tle levtu- tle la ~lnidad dr ralrsc~i t~i i -a puecle ser desc.rito 1)or la 1ocalizatiOn del cilintlro (11or eje~i i~)lo. cilintlro 199). alrnat.t~nallliento ell Por lo ' 1 ~ todas las pistas tlel cilindro espt~ific'ado sc' puc~deii esc'ril)ir o leer, sin un IIW\ i- tliscw. miento adicional d r las caljezas de lect~lraIesc*ritu~.a. La d i r c ~ c ~ i h de 1111 registro &I tlisro tior-

malmente necwita informacihn s o h e el nilmero tlel cilindro, dt. la s~ipt~rf i t ie > tlel 1)111tpe.

Bloques de almacenamiento fisico

El registro fisiro o bloqiie es la unidad de dato mhs prqilc'iia c'n 1111 distw t p e eb fi4camentr direccionable. Cada pista en una superficie est i compuesta tle un nhmero de 1)loqiies. t n hlo- que puede c'ontc'ncr uno o m i s registros 16gkos. Supongalnos (pic' tcnvmos un fartor de com- pactaci6n de 3, esto signific'a quc en cada bloque se almawnan tres registros lhgicws. Supon- gamos quc deseamos recuperar el registro John Jones, almac'twdo cn la siguiente d i recc ih :

N h i n t ~ o de cilintlro: 5 Nhmero de superficic: 2 Numero de 1)loque: 1

Ver la figlira 10.4. Para reellperat el registro John Jones, las cabems de lecti~ralescri- tura se mueven sohre el cilindro 5 (pista 5 en todas las superfiries). Eritonres se ac'tivan las cabezai tle lecturalesc~ itut a pat a la supet ficie tihtuero 2 > se leen 10s nlirneros tle bloques a la vez que la pista @I a so l~re las cat~rzas. Cuantlo se detecta el l~loque 1. el 1)loque entero de tres registros 16gkos se Ire r n memot la IJI incil~al. tlotitle se seleccmna el registro John Jones.

En nuestro ejemplo suponemos la estt w t u r a mis general (1e un diwo. clonde las c*al)e- zas de lecturalescritura ehtin hilletas a u11 h d z o 1110\ible. No totl'ls [as unidatles de disco est in wnfiguradas de csta forma. En alglliia~ la5 calwzas tle lecturdescritnra son fijas para cada cilindro. Tipicamentr rstas unidadrs son miis costosas. pero nlaz ripidas. drbido a que no hay retraso en mover las ralwzas de 1ec'turalesc~ritul.a sohre un nuevo c*ilindi-o.

Page 341: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

ORGANIZACION F~SICA DE LOS SISTEMAS DE BASE DE DATOS

ClLlNDRO 5 SUPERFlClE 2 BLOQUE I

Grneraln~eiite, el tirnipo nr twar io para r j r rn ta r riilcnlos en 1111 1)1ot1nc rs ~mlt 'ho Inrnor q u r el nccrsario 1)ara transfrrir 10s tlatos e n t w c.1 alniat*t~naniirntt, s c r n ~ ~ t l a r i o y rl lwimario. Sin rnil)argo, m a I)ucwa rsti-iltrgia tlr tliseiio rs itlentificar. tlontlr sra ~)osil)le. 10s rrgistros l6git.o~ c p e ~ ~ r o l ~ i ~ l ) l r m r n t r s r nsan r n las niismas operacioncs y a g r ~ ~ l ) a r l o s en l~ locprs . P o r r j rn~l) lo. sulwngalnos clue una firnia a l ~ u a w n a trrs til)os tlr a lani l~rrs . 4. B. y (:, \- 11ut' se entregan rn el miamo t-argamrnto. Si catla 1)loqur contieiic t r rs registros > 10s registros A, B !- C: s r almat.c.nan en 1)loqnrs sel)ai-atlos, se neresitarian t r rs operaciones tle rntradalsalida (EIS) para at:t~rnlizarlos. Sin rnil~nrgo, si se agrlipan en el niisn~o 1)loqne. entonces shlo rs net-tasaria una oprratibn d r EIS. Drbido a clue genrralmente r l atec:rbo a disco es un t d l o d r botella ( ~ i las operacionrs tlr acceso a una base tlr tlatos. una asigna- vihn cuidadosn tlr 10s rrgislros r u los 1)loques pic& inriorar significativamrnte el tiempo d r rrspursta.

Faetores de rendimiento del disco En general. ha! cuati-o factores q u r directamente afcctan a la vrlocitlad. con la qnv 10s d a t m s r tranbfierrn a ! drsdr el almat~enaniirnto r n disco: tiempo tlr posicionaniirnto (nccess motion t i m ~ ) . tic.iiipo tlr atxtivacihn de la t d w z a . r r t raso de rotatihn y razhn tle transfwvncia.

Tiempo de posicionamiento

t i ~ i u p o d r Tiempo d e posieionamiento (P). en ocasionrs sc: c-onocr t:olno tiempo cle b u s q ~ ~ ~ r l a (seek posiiconaniiento. EI time), rs r l tirmpo ncwsario para mover las cal)cbzas d r lrt~turalescritura desdr su posicibn t i r m p wcrsario para actnal a nna nurva diret:t*ihn de cilindro. 0l)viamente. un movimirrito hacia una posit-ibn p o s i t h m las cabems adyacmtr no tonia la misma cantidad de tirmpo clue movcrse a travGs d r totla la snprrficic de l e t ~ t ~ ~ r a l t ~ s c r i t ~ ~ r a tlel dist:o (desdr la pista mas intrrna hasta la mas extrrna, y viwvcrsa). Como una aproxi- sobrc el tilindro mncihn en 10s ciilt*ulos 11nrde usarsr el tirmpo medio tlc posicionamirnto:al)roximarlalnen- deseado. t r el tiempo necrsario para moversr a t ravis de la niitad de 10s tilindlws, por lo qur t l t h

usarsr un mktodo mlis sofisticatlo. Un acuerdo es t indar consiste en que la prol~ahilidad tlr acceso para todos los registros sea igual, brindando m a clistriburii~n d r proba1)ilidad uni- forme. El promedio para m a distril1uci6n uniforme s t encuentra en (:I mrdio r n t r r 10s valores extrrmos. Para r l tiempo d e posirionamirnto, el valor rxtrenio pudiera s r r (1) mantmersr posicionado sohrr r l cilindro actual, o ( 2 ) moversr desde el cilindro m i s inter- no hacia el m i s extrrno (o vit:eversa). Dado q u r asumimos la distrit1uci6n unifornle, la media seria el tiempo para moverse a travks d r la mitad tir los cilindros. De doer a veinte

Page 342: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

re t raw clr rotarihn. El ticmipo qutX utmx+ita t.1

tli,tw 1)ara n ~ t a r ('1 1xyiit1.o wlit.itatlo bajo la ralwza tlc Irt . t~~ra/t.scrit~iri~

Ticlnpo de activacidn de la cabeza

Retraso de rotacidn

Rtstraw tit. rotat.i6n o la t rntw r s rl trrtarr Sat-tor tlr tiruipo. Krprrsrnta la cantitlad tltb titwi- 1") t111r nrwsita r l Idoclur srlrc.vionatlo 11ara rotar la ra l~rza . d r fonna tal tlur la t rans f tw~i - via clr tlatoi 111wtla caomrnLar. El t i rml~c~ tlr rotacibn drprndr tlr tlos f'avtorrs: a (1116 ra1)itlt.z rota rl tlist*o ! 1'1 lot~ali7atiOn (Irl I ~ l o t l ~ ~ r I)uscatlo r n relaribn con rl tirnipo tlr at*ti\atihn tlr la caI)r7a d r Irt . t~~ra/rscritura. C'is~ranwutr rstr t innpo purdr l a r i a r tlrstlr crro hasta t.1 t i rn - ~ ) t > nrcrsario IKW;I t*oml~lrtar una revolucicin tlrl disco (K). Analhgicamrntr, snponganios tpr sr tlrsra nlontar s o h r rl t d ~ a l l t , ~ ~ i ~ r l ~ u r w n r l carrnsrl (aslunirntlo t p r rvistr s0lo tin t d ~ a - I l t r tlr rstr till(>). Si ctrnilrl.a 1111 tivlirt ? corrr a montarse en rl carrusrl. la prol)al)ilitlatl tlr tpir rl ral)allo pilrpura p w d e rstar lustc~ tlondr se detuvo srria la misma cpir para ciialqiiirra d r 10s otl-os ca1,allos. Si f'uera 1111 fanatico v lo intentara varias vrcrs. pied(. q11(, alpina \ r z sr tlrtriiga frrntr a1 td )a l lo pi l r l~ur;~. Tanihibn piirdr rncwntrarsr (*on la sit~~at-iAn rn que lo pirrtla y trnga qur rsprrar por una w l t a con~plr ta del carrusrl. Conio ~nedia. cspcra mrdia vuelta para ~uoutarsc~ c.n ~1 r a l d l o ~ ) i ~ r p u r a . La moralcja d r rsta historia rs qur 10s cLItwlos d r rrudiniirnto grnrralmrntr asnmrn iln rrtraso dr 1-otacihn mrtlia tlr K/2.

Velocidad de transferencia de datos

Raz6n d e transferencia d e datos (I)) 3 t r r f i r rr a la cantitlad tlr tirmpo nwrsario para t ra~ is f r r i r 10s tlatos tlrstlr r l tlisco hacia ( o tlrstlr) la nirmoria princil'al. Drlwndr tlr la \(.lotidat1 dc rotati011 ) dr la rantidat1 tlv tlatos aln~ac.rnados. El t i rml~o tlr transfrrrneia d r tlatos normalnwntr sr rxprrsa r n cirntos tlr I ~ j t e s pcrr hegundo.

Tie~rlpo de transferencia de datos

El t i r u ~ p o prr \ is to (T) para acwtlrr a una d i r r c c i h rn t l i w ~ trausferir un I ~ l o t p r tlr datos sr rstima como

dontlr P r s rl tirmpo tlr l)crsicionri~nirnto. R rs el retraso tle rotacicin. 1, es t.1 tamaiio tlrl 1)loqur r n Ir>trh ! D r s 1;i \ r l o c d a d tlr transferencia de datos.

Ejenlplo d e 1111 registro acredido aleatoriamente. Snpongamos clue 10s registros d r rrrlamac.ihn d r una twmpaiiia d r srguros sr almacenan r n bloques d r t r r s rrgistros r n el tlisco (un factor de compactacicin tle tres) y clue cada registro de rcclamarihn ocupa 200 11) trs. La vr l(~t idat l clr transfrrrnria d r datos es d r 806.000 bytes por 3egundo. El tirmpo d r ps ic ionamirn t t~ mrtlio rs d r 30 milisrgundos. La unidad d r disco rota a una \rlocidad

Page 343: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

ORGANIZACION FISICA DE LOS SISTEMAS DE BASE DE DATOS 3 29

K --

1 - 0,0083 x --- (la mrdia tlv c\spri-a 1.5 tlr in(& rr\olucihn) = 0.0011.i

2 2

Ejeniplo de 1111 regisfro arc.edido srcnencialn~entc.. :Ihora analizaroinos rl c.iilt.ulo tlrl ti(w11)o i n d i o 11v a ( ~ r s o a 1111 rrgistro ttn In1 211-rhivo a twdido s ( ~ c l i r ~ ~ ( * i a l i ~ ~ r ~ ~ t r . Snpong;~- mos tlur e'n VPZ (11, rrs1)on(lrr 211 i i t ~ r s o alcatorio tlr un 1)loqnr tlr tlatos. w m o r n 1.1 c.jrlnplo a n t t ~ i o r . cLstamos ac*tuulizando t.1 arc.liivo tlr 1111 usual-io ( 1 ~ la c*on~l)aliia tic, srguros (.on los pagos rrcil)itlt~s a 1)rint-ipios tlr mcs. 'l'irnt, sentido q n r rstos archives rstbn o r g a n i z a h sccurncialmrntc~ por r l nilrnrro de la I~Oliza y 11nt. rstGn localizaclos r n 1)loqneh ~ r ( ~ n r i i c i a l t ~ . ~ llor cilintlros. Esto signifiva q u r llrimrro sth rrllrna rl cilintlro N (*oil hloqucs sr t~ut~i i t i i l rs . tlrsl)ni.s r l N +1 ! asi sncwivan~rntcb. T)r rsta f'orma s r minin~iza r l tic.nipo (I(, nio\ iinic.nto tlr la c-alwza. E n particular. si lab t*al~c.zas dv l returalc~irr i t~ira sr rncwrntran c.11 r l l ~ r i n ~ r r cilintlro. rntoncw totlos 10s rc.gistros (w rs tr cdinciro s r transf'irrrn sin 1111 t i t q ) o dr 1)osi- cionan~irrito ;~tlicional. Por lo qur . on rl c i l t d o tlrl tirrnl)o tlr at*t.rso n ~ r d i o 1)ara ratla rrgistro de ml archive pro twado srcmrncialrnrntr. t.1 t ienq~o tlr posit*ionan~itmto rs t1t.s- prerial)lr y sr ignora.

Putlirra rxistir nn prcjuriio rrtraso catla w z q u r la f'nnci0n elr I r c t u r a / r ~ t ~ i t ~ ~ ~ . a e m - Ilia drstlr una 1)ista d r 1111 tilindro hacia otra. b;sto cs nrcrsario (-on c1 ol),jrtivo tlr tlisminnir prqurfias tlif'errntias rri la alitiratihn rlr las pistas solrrr tl ifrrmtrs sul)rrfitirs. Para nllc-s- tros pro1)i)sitos. rstr r r t raso 1)ucde s r r al)roximadainri~tt~ cl tirnq)o nrcwario 1)ara tlar nna 111rdia vurlta drl1)aquetr dtb tlisco. lJna \-rz se haya encontrado rl rrgistro initial tlr la nnr- va pista. s r piirden transmitir t.1 resto ~ l r 10s hloqnes so l~re la pista. I'ol tanto. si 1.1 arvtii- vo tlel usuario o c y a orho pistas sol)re el tilintiro. (,1 uilmero cle retraso dr inrtlias \~url tas seria 8 .

Snporigamos ahora qur rada pista rontirne 1.000 hloques. Trrirmos nn total tlr 11.000 I ) l o q ~ ~ e q si 10s ~nisrnos ticnen un factor d r coml~actacihn d r tres. tcnrmos 21.000 rrgistroa dc pdizas. 4sumamos. t*omo a11tt.s. qur cada rr@stro twntienr 200 hytrs. cmtoncw unrs- tros 1)loques oc*ul)al~ 000 bytes. Si procwarnos set~nrrit~ialmrl~te un arcl~ivo c.oinplrto. rl tirmpo mrdio para acrrtlrr a 1111 rrgistro s(: ralcula twmo s i p e

17irinl)o total para 1rt.r todos 1oh I ~ ~ O ~ L L O S =

= 0.00415 (8) + 0.00074 (8000) = 0,0664 + 5.02 = 5.9232

,, 5.9532 1 = -- - 0.00074415 srguntlos

8000

T repr rwnta el tirmpo de transfrrenria rnedio para un registro acwdido srt*ur.nrial- mentt. r n el arrhivo dr p6lizas.

Page 344: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

fo rn~a to cweuta-dato. LII f'orluato tlr tlatw Ijara pis- tas tllll, 110 lI.al1 tala\ t 5

tx\ternas.

Formatos de almacenamiento de datos en disco Kn vsta sr t~ri0n rxaminarrmos los asprrtos fisitws tlr 1;) n~ani~)ulacihn tlr tlatos soljrr t.1 tlis- vo. \-twmos 10s forinatos sol)rr las pistas p ell 10s rrgistros Siiiros. ! tarn11ii.n la inanil)ula- t4hn t l ~ . la rntratla/salitla.

Formatos de pistas

Los rrgistros p ~ i r t l ~ m g ~ ~ a r t l a r s r c.11 el tliscw en nno u otro formato. tin f o r ~ n a t o cuc:nta-cla- ve !. otro forniato curnta-dato. tal caoino sr murstra I-11 las Figuras lo..; y 10.6. La tlifr- rrncia funtlainc~ntal tbs q u r 1.1 formato c.ucmta-chvr intbluyr nna c.la\-v qur 1,s r r t r r m a1 rrgistro dl. dato t8oino tal. Esta vlacr st3 utiliza por r l sistrina ol,rrati\o 1)al.a u w d r r a un rrgistro r n p a r t i d a r . L!s;~rrmos 1 x 1 t6rrnino rc~gistro t.11 r l smtitlo m i s aniplio tlr 1111 rrgis- tro fisico. r l cnal putlirra s r r un l ~ l t q n r . Aii11)os formatos, r l dv cwnta-dato y rnrnta-t-L- vr. srriin drscritos por las clc.finicionrs signirntrs.

Ccrtla 11ista tirnc. 1111 punto tle cwtrada. qllr constituyr nna marc-a esprc*ial para idrn- tificar 1.1 c.omitwzo d r vada m a . Coma la pista rs circular, Gstr t a m l ~ i ~ n i(1rntific.a r l final d r la ~ k t a .

La tlirrc*ciOn origrn (DO) varactrriza at tilindro y el n i~ inr ro dr c>al)c.zas tlr l t ~ t u - / . , . cr esc r i tnra cluc3 conticnr la pista, asi romo el rstado tlc la pista (handera) . si e s t i tld'ec-

direccion

descriptor de la pista

cheque0 ciclico cheque0 ciclico

ndmero de la cabeza longitud dcl dato

numero del cilindra longitud de la claw bandera n h e r o del regiscro

ndmero de lacabeza ndmero del c~lindro

marcador de direction

Page 345: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

ORGANIZACION F~SICA DE LOS SISTEMAS DE BASE DE DATOS

indice I descriptor de la pista

reglsrro (rg)

tuosa o no. Si la pista est i tlefectuosa se usar i otra pista. Se incluyen dos-hytes de chequeo ciclico con el objetivo de detectar errores en las operaciones de entradalsalida.

Los intrrvalos ( G ) separan las diferentes ireas sobre la pista. La longitutl tlel inter- valo varia de acuertlo con el dispositivo, su localizaci6n y la longitutl del Area precedente. El intervalo que sigue al punto indice es diferente con respecto a1 que sigue a la direcci6n origen y la longitud de 10s intervalos que siguen a un registro dependen de la longitud de este ultimo. Esto se debe a la necesitlad de brintlar un tiempo adecuado para las funciones retperidas por el equipamiento cuando la cabeza de lecturalescritura rota sobre el inter- valo. Estas funciones varian de acuerdo con el tip0 de i rea yue le precede.

El marcador de direccihn (D) es un se,mcnto tie dos-bytes suministrado por la unidad tle control (hardware que controla el controlador tle disco) cuando se escribe en el registro. Esto permite a la unidad de control localizar el comienzo de un registro en un tiempo minimo.

En la Figura 10.5 sr detalla el i r ea de cuenta. El campo handera duplica la infor- maeibn acerca de la contlici6n tle la pista y aiiade informaci6n usada por la unidatl de con- trol. El numero del eilindro, el cabezal y 10s campos del registro lo itlentifican univoca- mente. El campo longitud-clave es un campo de un-byte. Este campo siempre t ime un 0 si el registro se encuentra en el formato cuenta-dato. El campo longitud-dato contiene dos hytes. que espeeifican el numero tle bytes en el i r ea de datos del registro, excluyentlo el chequeo ciclico. El chetjueo ciclico contiene dos bytes para la detecci6n de errores.

Formatos de registros

registro fisico. Un Los registros fisicos o bloques se almacenan sobre las pistas en cualquiera de 10s cuatro bloque fisico Je datos. formatos que se muestran en la Figura 10.7.

Registros de longitud fija. En este caso todos 10s registros son de la misma longitud. Si 10s registros fisicos no estin compactados en un bloque, existiri un registro lbgico (por

Page 346: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

(a) FIJO, N O EN BLOQUE

Cuenta Clave Dato

(b) FlJO. EN BLOQUE

1 AAA 1 Registro aaa I I ccc ( Reglstro ccc I I FFF I Registro fff ] Cuenta Clave Dato

(c) VARIABLE. N O EN BLOQUE

1 1 a\ LB( I LRI Registro aaa I Cuenta Clave Dato

(d) VARIABLE, EN BLOQUE

1 LB] I LR] AAA I Registro aaa \\ [ 1 LR 1 CCC Registro ccc LR FFF Registro fff

Cuenta Clave Dato

ejemplo, un registro nbmina) por cada re&ro fisicw (10s datos que estin alinarcnatlos en el Area registro de la pista). Si 10s registros forman un bloque, entontw cacla registro fisi- co podr i contener mLs de un registro lcigico. Por ejemplo, si existen tres registros nOmina clue constituyen cada registro fisico, tenemos entonces registros de hloque con un factor de hloque tres. En este cLaso. a1 irea rlave generalmente se le asigna la clave del registro mris alto en el bloque. Esto facilita la localizacicin de re&ros de inter&. Supongamos qur tene- mos dos bloques sucrsivos que contienen 10s registros 10, 12, 14 y 15, 19. 24, respectiva- mente. Si el sistema operativo husca el registro lbgico 15, la rlave del primer hloque es 11. por lo tanto el registro 15 no est i en el primer bloque. La clave del seguntlo bloque es 21. Como 24 rs mayor que 15, el registro 15 dehiera estar en este hloque. Entontw el hloque comyleto se lee en la memoria principal donde se realiza la busquetla del registro 15.

Registros d e longitud variable. El formato longitud-\ariahle. como su nomhre indira, permite clue la longitud de 10s registros \ a r k . Si el usuario de la base tle datos necesita un registro l6gico del cliente clue almarena datos acerca de las facturas pendientes, este for- mato seria apropiado, ya que el numero de farturas varia de acuerdo a1 cliente. Como la longitud del registro no es uniforme. se net-esita un mCtodo clue indique dOnde termina Cste. Esta informacicin se enruentra en las ireas LB (lon&dhloque) y LR (longitud-regls- tro).Como en el formato de longitud-fija, si el registro no es un bloque indica yue cada hlo- clue contiene exactamente un registro lbgico. El formato de bloque permite qne puedan almacenarse en un hloque varios registros lbgicos.

Basados en 10s conceptos de formatos de datos de esta seccibn. consideraremos hrevemen- te las operaciones de entrada/salida del SGDB. Supongamos que se ejecuta una instrucricin de E/S recibida desde un usuario o desde un programa de aplicacibn. El SGDB primero chequea si el subesquema asociado con la instruccibn de E/S se enruentra en su dicciona- rio de datos, asi como que si a1 nsuario o a1 programa, que es la fuente de una orden tal, le est i permitido acceder a1 subesquema. Suponiendo clue todo estC bien, el SGDB manda las brdenes pertinentes de E/S a1 sistema operativo para acceder a 10s registros fisicos especi- ficos. Entonces el sistema operativo busca en los dispositivos de almacenamiento secunda- rio y accede a 10s registros fisicos apropiados. El sistema operativo transfiere estos regis-

Page 347: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

ORGANIZACION F~SICA DE LOS SISTEMAS DE BASE DE DATOS 3 3 3

tros a la mrmoria principal. tlondr rl SGDB rxtrae d r 10s rrgistros fisicos aquellos re@tros Ihgicws solicitados y 10s pasa al iisiiario o a la at,lic.acihn para su posterior utilizacihn.

Organizacih de archivos y mktodos de direccionamiento

Hasta ahora sr ha aprrndido algo acerra de 10s dispositivos que sr usan para almacenar tlatos y las opt~racionrs de EIS usadas para transinitir datos hacia y clrsde dichos tlispositi- vos. Ahora cwnsideraremos 10s iii6todos d r organizacihn y dirrccionamirnto d r estos clatos sohi-c. tlichos dispositivos para f a d i t a r el alrnacwiamiento y las operacionrs de EIS.

Existen tres formas hisiras de organizaciim fisica de archivos sohre 10s dispositivos dv almawnamiento: organizari0n seeuencial, organizacibn secuencial-indexatla y organi- zarihn d i rwta . Estas no son nn conjunto cwmpleto d r todas las opciones de organizacihn posihles, p r o aqnrllas clue se omitrn no son mbs qu r moclificacionrs cle estos tipos hisicos. Po r lo tanto. no r s nrcesario s r r rxhanstivos, con vistas a cubrir los conceptos esenciales.

En la ~mwmtac*ihn de estr ttbma. los tdrminos organizacibn y acceso se usan a menu- (lo lihrementt., pero no soil interramhia1)les. La razhn es clue la forma en clue los datos r s t h alrnac*rnados estb rstrechamente rrlarionada con el mdtodo d r acceso. En las siguien- tes srrcit)nrs se intenta aclarar esto.

Organizaci6n secuencial de un archivo La organizacih sec:uencial tie un archivo signifira que 10s registros se altnacenan adya- csrntrs unos a otros. de acuerdo con la clavr, como son el n h e r o del ernpleado, r l numero de ciienta, entrr otros. Una implementaci6n conventional organiza 10s registros en orclrn asrentlente d r 10s valores ck la clave. Este es un mktodo eficiente de organizacicin de rrgis- tros cuando una aplicaciGn, corno el programa d r nhmina, actualiza un numero insignifi- cante d r 10s registros ya alrnacenados.

Si un archivo securncial se encuentra sobre una cinta niagnCtica, sus registros se acceden s61o de forma secuencial. Esto significa que, si deseamos acceder a1 ddcimo regis- t ro securncial, grneralmente sr tleberin leer los anteriores nueve rrgistros. El acceso clirrcto 3 nn registro en particular no es posible. Como c:onsecuencia, las cintas magndticas no son propias para las operaciones de bases cle datos y normalmente se usan para guar- tlar 10s archivos de diario y almacenar informacibn de archivos.

Organizaci6n secuencial-indexada de un archivo

Consistr en que 10s archivos esthn organizados secuencialmente; sin emhargo, es posible accrder dirrctamrnte a los registros. La organizacicin secuencial-indexada de un archivo hrinda facilidatles para accrder a 10s registros de amhas formas, secuencial y directamente. Los rrgistros se almacenan en la secuencia fisica usual por la clave primaria. .4demis, se alniacrna en el disco el indice de la localizaci6n del registro. Esto permite el acceso secuen- cia1 a 10s rrgistros para aquellas aplicaciones clue realicen una gran cantidad de artualiza- ciones y, por otra partr , el acceso directo de acuerdo con las solicitudes de 10s usuarios.

En la Figura 10.8 se muestra una vrrsicin simplificada de cbmo opera el acceso sec:urncial-inclrxa(1o. Los indices y registros se almacenan en disco. Limitamos grande- mentr el numero de cilindros y pistas para 10s propGsitos de nuestro ejemplo. En primer lugar drbe ohservarse que 10s registros se encuentran organizados securncialmente en las tres pistas drl cilindro 1. El procesamiento secuencial se realiza comenzando por el primer registro del archivo, procediendo entonces a travds del archivo desde el primer registro hasta el d t imo. Tambidn se facilita el acceso directo a 10s registros. Supongamos que de- seamos recuperar el registro 31. N buscar en el indice del cilindro encontramos que dicho registro se encuentra en el cilindro 1. Ya que la clave del registro de numerac ih m i s alta

Page 348: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

~NDICE DE LA PlSTA PARA EL ClLlNDRO I ~NDICE DE LA PlSTA PARA EL ClLlNDRO 2 INDICE DE IA PlSTA PARA EL ClLlNDRO 3

PlSTA CLAVE MAYOR PlSTA CLAVE MAYOR PlSTA CLAVE MAYOR

I I I 18 I I 80 I

ClLlNDRO CLAVE MAYOR

h0 ClLlNDRO I

I

2 3

I \

PlSTA CIAVE REGISTRO CLAVE REGISTRO CLAVE REGISTRO

52 75 92

en el cilindro 1 es el 5% y como 10s registros sc ordenaron secuencialmrnte por la clavr. el registro 31 debe estar en el cilindro 1. La 1)ilsqueda del indice de la pista para el cilindrcr 1 muestra que el registro 31 esti en la pista 2. En esta situacicin, la caheza de lecturalescri- tura se mueve hacia el cilindro 1 y se activa la caheza de lrcturalescritura d r la pista 2. Sobre la pista 2 se realiza una husqurda secuencial para localizar el registro 31. .4uncjue la busqueda secuencial no ha sido completamentr eliminada7 su alcance sr rrchjo suficiente- mente como para justificar el tkrmincr ucceso directo.

Nuestro ejrmplo utiliza registros qur no son l)loques, pero puedr rxtrnderse ficil- mente a registros que Sean hloques. Pensrmos en el i r r a d r datos como nn c-ontenrdor de, digamos, tres registros y considererr~os el i r r a clave como la clave del registro mis alto m el bloqur. El procedimirnto de busqueda procederia de modo similar.

*

Organizacih directa de un archivo Hasta aqui se han discutido dos formas de organizacibn de archivos: src:uencial y securn- cial-indexada. Se han drstacado simultlineamentr 10s dos mitotlos d r acceso a un arrhivo: acceso secuencial y acceso directo. Los rrgistros en una simple organizacibn secuencial tlr UII archivo se acceden solamente de forma secuencial. Los registros en una organizacih secuencial-indexada de un archivo se acceden directa y secuencialmrnte. Se pasari ahora a la discusibn de un trrcrr tipo tlr organizacibn d r archivos llamada directa o hash. Sola- mente 10s mi.todos d r acceso directo son aplicablrs a este tipo d r organizacibn de archivos.

Funciones Hash estiticas Una de las desventajas del esqriema indexado es que se dehe acceder y leer el indice para localizar 10s registros. El uso de ticnicas hushing como mitcrdo de direccionamiento elimi- na la necesidad del mantenimiento y husqrieda de indices. La eliminacibr~ del indice rvita la necesidad de hacer dos accesos a1 almacenamiento secundario para acceder a un regis- tro: uno para leer el indire y otro para acceder a1 archivo.

Page 349: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

ORGANIZACION F~sICA DE LOS SISTEMAS DE BASE DE DATOS 335

Existrn muchas aplicac.iones cuya necrsidatl predominante es a1 acwso ciirec*to a 10s rrgistros, y c u p s servicios poclrian estar sobrrcargados por el ~ i s o tle mbtotlos tlr indrxa- ci6n. Estos rjrmplos aharcan 10s sistemas tle r rsrrva tie linras abreas. ho tdrs y alqnilcr de cochrs, asi coiuo la transferencia d e fondos phblicws.

La idea hisica consist? r n la nrgociaci6n tlrl tiempo y t:l rsfurrzo q u r se rmplca en el almac:rnamirnto, mantenimiento y bi~squeda d r tin indicr por el t i e i n p qur nrcesita la u n - clad central cle procrso (CPU) para r j rcutar I L I ~ algoritmo hash, q u r vrnrra la dirrcci6ii tlrl

?, rrgistro. El algoritmo hash rs un procrcf miento que calcula la dire(-cion cle 1111 1-egistro tles- d r uno de sns campos, generalmente la clave. Continuaremos con un rjeinplo q u r nos ayu- d r r n la ilustraci6n drl inktoclo.

Supongamos clue se almacenan 500 registros de r16mina. ile 100 I~y t r s cada uno, en un disco magnktico que tienr una capacidad d r 2.000-bytes por hloq~it-. Se necrsitarian exacta- mrnte 25 1)loqurs si tlireccionamos uno y &lo uno de 10s rr@stros poi- cada localizaci6n posi- 1)lr en cada uno d r 10s 25 hlcrqurs. Ya quc no existr hasta la frcha ninghn algoritmo hash, h(ki) (dondr lti rs la clave (1~1 registro). qur pueda lograr esto, nornlalmentr se aiiatlr rspacio d r a11iiat:mamirnto adicional, por rjemplo, un 20 por 100, para rrducir el nilmero tlr instancias cuanch el algoritmo calcula la niisma tlirecci6n para mis cle un registro ( m a colisibn). La raz6n cntre r l rspacio que realmente nrcesitan 10s registros m el archivo ! el espacio real rrsrrvado para el mismo se llama factor de cargo. E n nuestro cjemplo, 10s registros ntscesitan 25 1)loqurs clr espacio tle almacenamirnto, p r o reservamos (25) x (1.2) = 30 1)lotpes para rechcir el nh~iiero de twlisiones. El factor de carga rs (25130 =) d e un 83 por 100.

Estrategias efrctivas para el almacenamirnto directo a registros tirnen tirmpos de bilsqueda lentos y tienen algunas colisiones. Esto s r completaria inejor cwn la selec-ciOn d e un factor de c a r p hajo, usando un factor cte cwnpactat:ihn alto y un algoritmo clue distri- buya uniformamente 10s registros sohre el area d r almacenamiento. El nlejor m6todo para lograr este iiltimo objetivo es metliante el uso del mbtodo d e la tlivisi6n con resto: clue ilus- trarenlos a continuaci6n.

Deqn1i.s d e reservar los 30 hloques para almacenar nuestro archivo. m a dis tr ihi- cibn uniformc de 10s registros hacia 10s l)locInes significa clue aproximadamente cuatro de las tinco posi1)lt.s direcciones d r almacenamiento s r corresponden con un registro. S~rpon- gamos clue el primer re$ro qiir se almacena t i m e una clavr (sohre la clue trahaja el algo- ritmo) con valor 1562. Haremos lo siguirnte (Figura 10.9):

Paso I : Dividir la clave por el tamaiio del archivo reservado en bloques

62 3

2 resto

Paso 2: Aiiadir el resultado del Paso I a la direccion inicial para obtener la direccion actual del registro con el valor de la clave 1562

/

Bloques de - almacenam~ento

I Dlrecc~on

relat~va 00 01 02 03 04 05 06 07 08 09 10 1 1 12 13 14 28 29

D ~ r e c c ~ o n I I 3048 3050

I actual

/C 3077

Page 350: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

1. Dividir la clave por ('1 nilmero de 1 ) l o t~u~s de almacenamiento rcvrcatlos. El rrs- to nos tla la direrci6n relativa dt. almacwlarnirnto. Resto de 11562130) = 2 Rlotrue relativo tle almat.enamiento = 1 C o n s e r ~ a r el resto es (-11 realidad una garantia d r clue nna tlirewibn sie~npre sch

ralcula r n el rango de 0 a1 29, incluyendo este illtimo. 2. Sumar ~1 resultado o1)tenido en (1) con la direccihn dt.1 pr imw 1)loqnc para o h -

ner la d i r r t ~ i 6 n en la cwal se almacena el registro.

Supngamos clue nuestro conjnnto t1r 30 1)loques romienza en la direccihn 3048 y sr extiendc hasta la direccihn 3077. Kntonces el rrgistro 1562 se encurntra en el 1)loqne (2 + 3048 =) 3050. Si rxiste bnicamcnte nn registro almacenado cbn cada bloque, entonres ningiin otro registro se almacenari vn la tlirrrcihn 3050. Si en cada l h p e se almarena m i s de nn rrgistro, tstos sr seguirin alrnawnando en dicha tliretxi6n hasta qne se Ilene el 1,loqut..

Supongarnos qrle rada hlotjur t-onticme uno y shlo un registro, y qu r dnran t r el pro- ceso cle hash rncontramos un segundo registro cuya clave es 1592. Si volvrmos a cal(.iilar con la dirrrcihn relativa 2 , ohte~it~mos una rolisi6n. IJno de 10s mttotlos ntilizados para el tratamiento de rolisiones es el nso d r una funri6n clr divisi6n hash con 1111 relinaniirnto, clue sr conocc como ~1 nnhtodo del cocimte cuudrbtico. Cuando no hay cdisionrs, el direc- rionamiento se rraliza exartamcnte cwmo vimos antes, p r o si ocnrren cdisionrs. trnernos clue continuar con otro mttodo.

Con el mttodo tlel corirnte cuadritico. cuando la clave sr divide por el tamaiio d t ~ la tahla, ambos el cocientr, C. y el resto, R , s r guardan. Usando C y Rl podemos grnrrar m a srcuencia de clirecciones rrlativas a rrgistros mtdiantr la fhrmula

dontlr i sr incrrmrnta a travbs de 10s enteros, comenzando por el 0 hasta qne no rxistan colisiones.

Continuando con nuestro ejrniplo, para el registro 1561 tenenios,

igual qu r antes. (M6drllo 30 es el rrsto ile la divisi6n por 30.) Pero para el niiebo registro 1592 ohtenrmos:

(2 + 53 x O2 + 0) mhdulo 30 = 2

El registro 1562 ya se encuentra tan esta dirercibn relativa, [)or lo que itwaremos solwe el valor de i hasta enrontrar una dirercihn desocupada. Para este ejrml)lo. \olvenms a calrlilar

(2 + 53 x 1' + 1) mhdulo 30 = 26

y obtenrnios una direc:cii,n dtrsocupada don& almacenar r l rrgistro. Cuando 1)usqurmos el rrgistro 1592. el algoritmo st5 rjecuta de la ~nisma lorma: pri-

mrro nos conduw a la uhiracihn dr l rrgistro 1562. Como ts te no es el registro huscatlo. reprtimos r l algoritmo hasta encontrar el registro drseado.

Otro mktodo para el tratamirnto d r las colisiones t:onsiste sirnpleniente m almarenar Iln puntero en la posici6n c a l d a d a por r l algoritmo. Estr puntero indicaria la tlireccihn donde el pr6simo rrgistro se encuentra y cuya clave t a m b i h coincidii, con esta ulicacibn a1 aplicar la funci6n hash. Si rxisten mnchos rrgistros de este t i p . se pudiera niantrnrr 1111

Page 351: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

ORGANIZACION F~SICA DE LOS SISTEMAS DE BASE DE DATOS 337

Funciones Hash dinimicas

Como helnos visto, la funcihn estitica hash es sumamcwtr sirnple. Sin eml)argo, a mcditla clue la I~ast. tlc tlatos cwce, esta f ~ ~ n c i h n pierck su scntitlo. -1parecetl un nilmvro cwcicnte de colisioncs: clue t r a m cwmo rcwdtado una so1)rwarga en el acceso a los rrgistros. Una dc. las estratcgias para el tratamic-nto de este prohlema cs reservar tlestle el twnienzo nu c y a - cio estimatlo para recpisitos futuros; p r o esto ckspc.rciicia espacio de almatwumiento. Otra soluc%')n es rcsvrvar un rspatio aclicional y reorganizar cl archivo a medida t p e crez- (,a. :itnl)as soluciones impliran un so1)retwsto a la hora tle recalcular la n w v a funri6n hash para cada registro en c.1 arrhivo y genrrar las nuevas asipnac:iones (h: 1)loques.

La,funcicin hnsh diiuimica nos 1)rinda una 111ejor so1uc:iOn. E n ocasiones. el m6todo que mostraremos se llama hash exterasibk. El hash extensible ciivich: y combina los hloqnes a medida clue la ljaw tle tlatos c r e w o sc redure. Esto nos garantiza m a ntilizacihn efi- ciente del esl)atio. Por otra par t r , si catla vez que se reorganiza w implica a un solo hlo- clue. el t:osto asoriado es tninimo.

El hash cxtensihle usa una f u n c i h hash, h , clue p s e e caracteristicas inq~ortant t~s. cwno son la aleatorietiad y la uniformidad. Taml~ibn (gcnrralmente) utiliza una c:acIena hinaria de 3%-hits con el o1)jetivo de r w a r e identificar 10s indices de los hloqnes. (Ya c p r se ha tliscutitlo uno c k 10s algoritmos tlr hash, el lector dehe entcntlvr las ideas bisicas que lo c.aracterizan. Por lo tanto, para evitar t w h s i o n e s , no tlefiniretnos rsprc:ificamente la funtihn hash. h .)

La mayoria de 10s algoritmos usan i bits en c d t p i t ~ r mornento, donde 0 5 i f 3%. P a r a empezar, fijtsmos i = 0. El valor tlr i creceri y se redl~c-iri t.uando el tamaiio de la l ~ a s e de datos crezc-a o sc retluzca. E n la Figura 10.10 se muestra un esquema del m6todo hash c.xttmible. Para ckterrninar el hloque cpe contiene la clave, ki , haremos lo si;uiente:

1. C a l c d a r h(k,) = x (represtmtada como uua c d e n a h a r i a ) . 2. Tomar 10s prirneros i hits de mayor ortlen de I. 3. llsar 10s i hit5 como un desplazamiento dentro de la tallla dt. direcclones a hlo-

qnes, y s e g ~ ~ i r a1 p n t e r o hasta el 1)loque correspondiente.

P a r a ih~strar lo. ~~onsitltwmcrs iina coleecibn de registros de inventario que tienen claves I<,. I\,. k! , k,, k;, k,,, ki. Supongarnos que 10s hits de mayor ordtm de h(k,), donde k, es una clav;. ,on 10s que se muestt a n en la Figura 10.10. Iniciallnente, tenemos el at chivo v a c h mostratlo en la Figura 10.11(a). El 0 qne aparece eneima de la tabla que contiene la tlirecciones de lo5 1)loques inch-a qnt' se requieren O hits de h(hi) para calcular la d i r e c r i h del hloqur para la clave k,.

Prirneramente insertem05 10s registros con claves, k , y k;. (Para scguir el ejemplo twn elaridad, supongarnos clue cada hloque de nlerno~ia cbntiene un mtiximo de (10s re- gistros.)

h (k,) = 0010 ... h (k,) = 1 101 ... h(k , )= l o l l ... h (k,) = 1000 ... h (k,) = I 1 10 ... h (k,) = 10 10 ... h (k,) = 0 l 00 ...

Page 352: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

(a) Tabla de d~recciones Bloques de datos

lnsertar k,

0

I

(e) lnsertar k, Tabla de direcciones Bloques de datos

(g) Inser t2 k- -

(d) lnsertar k, - -

ff) lnsertar k,

La tabla de direcciones apunta a un 1)loqnr tle memoria clue r s t i vacio, en el cual se insertan 10s registros, tal romo se muestra en la Figura 10,11(1)). Si desputs intentamos insertar el rrgistro k5, encontramos que el bloque a1 cual apunta la tabla de dirrc.c:iones es t i lleno. Entonces necesitarnos incrementar la cantidad de hits clue representan el valor

Page 353: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

ORGANIZAC~ON FISICA DE LOS SISTEMAS DE BASE DE DATOS 3 3 9

del hash. Es decir. previamrnte nsamos 0 hits c.umdo teniamos nn solo bloque de niemo- ria. Ahora tlehemos usar 1 hit. para podrr utilizar 2' = 2 hloques de memoria. Esto requie- re qn r auinrntenios la tahla de direccionrs para permitir tlos entradas, nna para cada hlo- qne tlc datos.

Por consiguiente, diviclimos el hloque de mcmoria, roloc-antlo aquellos registros qur tienen a1 "0" como el hit de mayor-ordm del valor tlrl hash en nn I)locpe, )- aqiiellos que ticntw a1 "1" wmo cl hit de mayor-orden en otro 1)locpe. Para nuestro cjemplo. el registro li; sr r o h a en el bloque-0 porcpe su hit mis izqnirrdo en h(k,) c:s 9, y 10s registros li2 y li, se colocan cn el bloqnr-1 porqne t11 hit mis izquierdo de a m h s valores h(k.,) y h(k,) es 1 (Figura 10.1 l(c)).

Ahora insertaremos r l registro k,, que tietie a LLIS' coin0 su valor ( 1 ~ mayor-orden -

p r o c l ll,oqur-1 rstii lleno. Nuevamrntc, trnrmos clue incrementar el niimero de hits yue se usan em 10s valores dcl hash. Usarrmos 2 bits, prrmitiendo 2'= 4 1)loques. tal conio se murstra m la figura 10.1 l((1). El hloque-1 inicial se divide en dos l)loqncs, n~ostrailtlo "2" m el valor tlr i. S6lo r l registro ki t ime como valor de mayor-orden a1 "0''7 por lo cp r amljos punteros desde las posiriones "00" y "01" apuntan a1 hloque-I.

Como se observa, 10s registros k2, k,$ y k5 c:ontirncn "I" en la posici6n tie mayor- orclen, poi-lo clue su almacmamirnto se basa m el siguirnte valor cle mayor-orden.

Suponp que se insrrta (:I registro kt . El registro h(ki) ticwe a "10" ell sus tlos posirio- nes de mayor-ordm y sr insrrta en el bloque qur contirne el re@tro I<:!. Ver Figura 10.1 l(e) .

Insrrtemos ahora el registro k,. Sus dos bits de mayor-orden ban "00". El puntero desdr la fila "00" de la t a l h indicr apunta a un hloque clue tienr una posici6n vacantel por lo que ('1 rrgistro 1 se insrrta junto rc~n el 7 , vrr Figura 10.11(f).

Por ultimo, wando consitlrramos a1 registro k , , todos los hloques t1isponil)lt~ estin llenos. Ahora ajustarnos la tabla indire para usar 10s tres hits cle mayor-orden, permiticn- do el uso de %:'= 8 l h j u e s . Los (10s bits de mayor orden drl registro k , son "10". Los cua- les coincitlm con r l de 10s registros k:$ y k, qur se encnentran en el segilndo hloque. Por lo tanto, clivitlimos este bloque. Arnhos registros k:% y k,, tirnen "1" en el t r r t w bit de mayor- orden, por lo qur se almacenan juntos, !. el registro k , sr inserta en el otro bloque (Figu- ra 10.11(g)). Observe que si 10s tres registros tuvieran el misino valor m el terrrr hit de mayor-orden, seria necesario anafzar el valor tlel w a r t o bit, y asi sucesivamente.

Si el archivo se redue:r. el procrso se invirrtr. Observe qur la sobrrcarga se reduce porepe la memoria se reserva. ruando es nece-

saria para amhos la tabla de direcciones y los ldoques de niemoria. El espacio desperdi- ciado es minimo. Ademis, st; simplifica la reorganizaci611 porque se involurra s d o a uri t)loqur m cada paso.

Implementaci6n de interrelaciones Mgicas .4hora delinearrmos 10s funclanientos de las rstructuras de datos fibiras. qur son la estrutb- tura molecular bhsica del universo de las bases de datos para desemprfiar sus funciones. Estas estructuras de datos fisicas se caractrrizan de (10s formas, la primera consiste en cuil d r 10s registros de la base clr datos se enlaza con e~tro, y la segnnda en la forma clue se usan estos enlaces para soportar las operaciones de la base de datos.

Listas enlazadas

Un concrpto fundamental en el enlace tie un registro fisieo con otro es el uso d r 10s punte- puntero. Un elrmento ros. Un puntero es un campo asociado con un registro d r dato qur sr usa para encontrar de dato que contirne un registro d r dato relativo. iQuC significa esto? una dirrccibn fisica. Supongamos que la CorporaciOn Zeus almarena informacih acrrca de su personal

en forina de reb6stros 16gicos, tal romo se muestra en la Figura 10.12. Un campo dr inter& es OFICIO. Supongamos que se ahre una nueva posici6n para un ingeniero. Para una

Page 354: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LlSTA CABECERA

DISENO Y ADMINISTRACION DE BASES DE DATOS

Contador = I Seattle = I Dibujante = 2 Los Angeles = 2 Ingeniero = 3 Portland = 6

NUMERO DEL REGISTRO

NUM. EMPLEADO

0123

021 1

0223

0245

030 1

040 1

060 l

071 1

0908

1067

NOMBRE

James

Poirot

Smith

Cubic

Black

lwerks

lvans

Nell

Steel

Schwartz

Seattle

Los Angeles

Seattle

Los Angeles

Los Angeles

Portland

Seattle

Portland

Seattle

Portland

OFlClO

Contador

Dibujante

lngeniero

Contador

lngeniero

Dibujante

Contador

Contador

lngeniero

Dibujante

PUNTERO OFlClO

PUNTERO UBICACION

detrrmiiiada rvaluat~i6n puede desearse recauperar todos 10s registros del personal (111c' es ingeniero. O1)sbrvtw clue Ilara cada rrgistro tlrl personal, el elemtmto tlr dato PLN'I'ERO OFIClO c*ontieur la dire(-cihn tld prOxin~o registro con el n~ ismo valor clue t i rnr c.1 rrgistro actual en c:1 c a m p OFlCIO. ITna lk ta rabecera , quc, se eticuentra separatl;~ c:n el tliscw. a p n t a a1 primer rtbgistro tlr la h e d e tlatos clue contiene el valor " inge~~irro" c.11 el cam- po OFICIO. En ~ iuc~s t ro rjrmplo srria el registro SmithTs. Rste registro a1)unta hacia Hlac~li, q11e a su vez a ~ ~ i i i t a hacia Stcd. Estas t:atlenas d r punteros nos s u m i ~ ~ i s t r a u 1111 cwi~junto de rrgistros enlazados clue cwntienen valores comiiiitLs 1)ara atrihutos de gran i11tcrC.s. l lna lis- ta de registros enlaxados por dic*li;l c.atlena dt. punteros st. llania una listn eiilazacla. En liucstro rjrmplo, la mianla facilita la r ipidn rc:t.uperaciOn 111: un w n j u u t o tic, registros (IM: son inptiieros. 0l)uianientr las listas enlazntlas necesitan algun til)o tle orgaiiizat~i61i con acwso-directo s o l ~ r e el archivo con c:1 ohjetivo dc. des rn~lwhar su fuilci6n.

Podrianws llevar a ( : a h el mismo thjetivo si 10s registros tlel 1)erson;ll c s t u ~ i e r a n orpnizat los fisic:amcmte sol~rc: c:1 distw, dt. tal forma c p : ~ o d o s 111s ingtmiwos estuvirbran ell seeurncia I-oinenzando con el primer rrgistro. No existiria la ~iecrsitlatl d c 10s pntc.ros para r e t y w r a r todos 10s registros para ingenieros. Se r e c u p r a r i a el primer rcyjstro. des- p11':wI srgundo. y asi suc*c:sivanientr hasta qrw aparezra el prinicr registro (~111 otro oficio. EIasta ahora, todo I>ien. Sin embargo, si un tirmpo desl~ubs net*esitiramos recBuprrar totlos 10s rn~pleados asignados a la Oficina d r Seattle, rstc: rsquenia no wrviria. Truth-ianiob clue niautener otra w p i a adicional del archivo sohre el tlisco clue estuvirra fisican~rntv orga~li- zada por la thic.aci6n. O1)viamentr esto es una inrfic:irncia de aliuacenamiento y h e ~ i ~ o s considerado solan~ente utia c:onsulta alternativa. lmabine las dificultadcs clue traeria como cwnsec-ncncia t rner c.11 crwnta totlas las posil~les consultas clurante la c:onstruccihn y ( m a - cihn dr Ios archivos fisicw c p e respondan a t*acla m a .

Lo qiw tenemos acpi es un cwnflicto en t r r el ortlenamiento fisico d e 10s rc$ros y el ordenamiento 16gico que necesita el usuario. El uso de los punteros resuelw este dilenia twn la represrntaci61i dr un riiimero firiito cie listas 16gicasl sin neccsitar una reorganiza- ci6n tle la secuencia fisica del archivo.

En el ejernplo dc la Figura 10.1% ohserve c p e el valor en el c a m p PlJNTERO OFI- CIO para el registro Steel es "0". Esta es la notaci6n dr l punter0 nulo. o el fin d e la lista. El mismo le comuniea a1 sistema oprrativo que no existen m i s registros cn la lista eulaza- d a para ingenieros. P o r otra parte, el ultimo registro en la lista enlazada pudiera contencr

Page 355: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

ORGANIZACION F\S~CA DE LOS SISTEMAS DE BASE DE DATOS 3 4 1

un p n t w o a1 primer rrgistro en la lista, formando una cstructura tiv anillo. Las estructu- ras de anillos son utilrs en 10s SGBD en red. tlondc una entrada puede estar en una uhica- ci6n por eucima dr l tope de la lista enlazada.

Listas invertidas

-1 pesar (le clue las listas enlazadas constituyen una via efevtiva para implementar interrr- laeiones Icigicas, ticnen sus limitationes. Si la lista es extremadamcnte grantle, el recorrido por la misma puede c o n s ~ ~ m i r ticmpo. El mantenirniento de la lista puede s r r engorroso, 1'articularmt:nte si con frrcuencia rxistcn inscrcionrs y ehninaciones. [ a s listas largas tam1)ii.n estiin sujetas a1 problcma dcl frawionamiento dehido a un nial funcionamiento del sistcma operative.

Un nktotlo alternativo para accrder a 10s regstros segun un orden 16gico es median- lista invertida. I ln t r el uso tlc listas invertidas. Una lista invertida es un archivo indept:ndientr, o intlicr. clue directorio en tlo~ltle grnrralmente contirne solamente dos datos: un valor tie inter&, romo por ejemplo "inge- cada entratla en t icne niero", y todas las 11irrcc:iones de 10s registros clue tirnen dicho valor. La Figura 10.13 un puntcro a todos 10s muestra dos listas invertitlas para 10s datos de la Figura 10.12. El uso de la lista invertida registros fisicos (.on Iin elin?ina la newsidad de utilizar 10s cmnpos PUNTERO OFICIO y el PUNTERO UBICA- valor csprt.ificw. CION dentro de 10s registros. En la prictica. las referencias a la lista invrrtitla y a1 archi-

vo se realizan scj1)rt: archivos de acwso-directo. Rrcortlemos clue las listas enlazadas necesitan qu r 10s punteros sr almacrnen rn 10s

registros de datos; por r l contrario, la lista invertida elimina csta necesidad, almacenando 10s punteros separados de 10s datos. Amhos mbtodos se usan m muchos SGBD.

~rbol-equilibrado indexado (B+-irbol)

Un refinamiento de la estrategia de lista-invertida es el B+-hrhol. Los B+-irbol se tlesarro- Ilaron ron el ol~jetivo de projwrcionar un mCtotlo eficirnte para el mantenimiento de nna jerarquia de indices. Una pregunta que le surge a muchos cuando ven por prirnera vez un B + - i r l d es c6mo se compara con una organizacicin de archivos secuencial-indexarla. La rrspuesta consiste en clue el B+-irbol es m i s eficiente. El rendimiento de un nittodo seruen- cial-indexado se tlegrada a medida que el archivo crem. Por otra partr , el rrndimiento 1111t.de mejorarse con la reorganizaci6n yeriidica drl archivo, aunque tlichas reorganiza- ciones pueden consumir mucho t i e n i p y ser costosas. Un B+-irhol conserva su eficiencia a mrdida clue el archivo c rew o se reduce.

E l B+-Lrhol poser un indexamiento mnltinivel que resulta eficaz para el procesa- miento (It: registros de datos tanto secuencial como directo. Un B+-irhol consiste en una

OFlClO DlRECClONES

Contador

Dibujante

lngeniero

(a) Lista invertida de oficios

UBICACION DIRECCIONES

Portland

Seattle

(b) Lista invertida deubicaciones

Page 356: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Claver jerarquia tle rrgistros indices junto con un archivo de registros de tlatos. Los registros indices rontienrn (*laves y punteros clue se nsan para localizar 10s rc-pistros de datos. En la Figura 10.14 se niuestra un rrgistro indice comiln (RI) c:n el B t - i r l d . En este ejemplo tene- mos tres 1)untc.ros y dos c.1avc.s. En general. en 1111 I R p ~ d e m o s t rner 1111 miximo d r n 1)un- twos y 11-1 claves. don& II lo tletermina el diseiiador del B+-irlml.

Con el ohjetivo de definir el Bt-irbol, necesitamos tlefinir ciertos t6rmiuos. C n i r b o l '"1Stl'O enraizatlo cs una j r rarquia de RIs que tiene un iinico RI en el nivel mhs alto. Estc. rc ,'.

se tlenoiniua raiz. Un R I c,s m a hoja si cl niisnlo se enc~tenti-a en el n ivd inis 1)ajo en el ir1)ol twraizatlo. (Estos ar1)olrs son a1 rev&, la raiz arril)a, las hojas ahajo.) I m punteros tm totlos 10s RIs q ~ i v no sou hojasapuntan a otros RIs. Sin cwhargo, 10s punteros en 10s RIs (rue s ) n hojas a l ) ~ m t a n a 10s rtlgistros de tlatos y a otros RIs clue son hojas.

Un B+-irhol ehti ecl~dil,ratlo si todos 10s RIs t ~ u r son hojas se encuentran a ignal dis- tancia del R I raiz. La tiistancia scb mide por el niiinrl-o tle RIs clue sc examinan tiara alcan- za r el RI hoja. La seruentia clc RIs clue se examinan se llama caniino. Estr caonc:epto de I ~ l a n c e garaiitiza qiw el aweso a todos 10s repistros de la base de datos tenpa el mismo gra- do de efi'icicncia. En el siguirnte tenia estahltwremos las propietlaclc:~ dc un B ' - i r l d y SP

ac la ra r i $11 uso con algunos ejriuplos. Formalmentc*, el H t - i r l d c:s un i r l d rnraizado q u r satisface los recjuisitos si-

g ~ ~ i e i ~ t r s :

1. Todos 10s cwninos d e d e rl R I raiz hasta nu RI ho'a son cle la misma longitnd. 2. Calla RI (pie 11. r s una hoja o)nt i rne a1 nimos 1n12f p~interos y a lo slime n p i n -

teros haria los 111s tle 10s nivelrs m i s 1)ajos. (r.l.1 drnota la operacihn aritmbtica de reclondeo haria r l pri,\imo valor eutero. P o r lo que, si n es 3. entonces rr1121 es 2. Si 11 es 4, entontbes rnl%l cbs 2.)

3. Un KI hoja cwiitienr a1 menos [(TI-1)/21 y a lo sumo n-1 punteros a i ~ g i s t r o ~ en el archi lo cle datos.

4. La5 c.laves (-11 un RI se ortlenan por ralor, k , < k, . . . < k,, I . 5. 'I'otlas Ias (.lakes en el sul)irhol a1 rual apunta ;I puntcro p I son estrirtamente

menorrs que k , . 6. Para 2 < = i < = r~ - 1, todas las (-laves en el suhirhol liacia el cual apunta p, tie-

n r n valorrs mayores o igualrs clue k, ] y mrnorc1s clue I<,. 7. Todas las (*laves en el s u l ) a r l d hacia el cual apunta p,, son mayores o ignales qur

k,, !. Por otro lado, para i > 1. h, I sieinpre sei-i la d a r e niLs baja en el suhirhol referido por I),.

Explic.arc:nios rstas propit:dades rnediante un rjrmplo. (Por razones d r brevetlad, m la siguiente dis twihn, nos referirrnios a las anteriores siete propirdades cwrno reglas.) El pro(~v1iiniento grnrral (wnsiste en hallar un RI hoja tlonde sr 1)urtla insertar ~1 valor tlr nna c law, e insrrtarlo si hay capacidad. Si ese R I es t i llcno lo tliuitlimos en (10s RIs hojas, or t lmando las rlaves existrntes mas la nueva en orden asrendente. 1ll)icamos }as primeras r11121 c:lavc:s en el RI m i s a la iztpierda, y el rrsto tie las rlaves en rl otro RI. Despn'its de diridir un R I hoja, ajustamos las claves y 10s piinteros cn 10s RIs sohw el (:amino seguido hacia el RI que se dividii,.

La Figura 10.15 muestra un ejemplo de un B + - i l h l para 12 = 3 que indexa 10s regis- tros t5on las siguientes (:laves adic~ionindolos en el ortlvn:

Las lineas disc:ontinnal; en algunas posiciones intlican que no existe d a v r . Si no exis- te (.lave, entonres t ampow hay un puntero hacia su dererha. La forma en t p e se utilizan 10s punteros en 10s RIs hojas sr rxplirara hrevemente.

Ahora mostraremos r6mo s r construv6 este i r h l aiiadiendo 10s registros a un i rho l vacio. Refi'itrase a la Figura 10.16. El prinier registro q u r se aiiade tiene la clave "31". Este simplementr se inserta en un R I tal como se niuestra en la Figura 10.16(a). Como nuestro

Page 357: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

ORGANIZACION F~SICA DE LOS SISTEMAS DE BASE DE DATOS

I ARCHIVO DE DATOS I

i r h o l solamente tirnc un registro, este es a sn vez un RI hoja y raiz. E n la Figura 10.16(h) vemos cjne t+te espario para inclexar el registro 3 sin requerir ninghn RI adicional. (Sr nrwsita iin ordenamiento dentro dr l RI por la rrgla 4.) Para mayor claritiad, ilustramos el archivo tlr datos shlo en la Fignra 10.16(a).

Las vows camhian cuando inclexamos el registro 18. No t;s posihle insertar la clave 18 en t.1 KI existent?, ya qne s r e n m r n t r a Ileno. Recurrdr que un R1 hoja puedr tener a 11) sumo it-1 pnnteros hacia rr$stros en el archivo d e clatos (regla 3); en rste caso, solamrnte se permiten dos. P o r consiguientr, dt.11emos dividir el RI existente, ordtmar las rlavrs, y por convenio ubirar las primeras rni21= 2 (:laves orclrnadas en c1 RI m i s a la izc~uierda. La otra clavr(s) se coloc:a en el RI que qurda. Esto se muestra en 10s RIs d r l nivel-inferior en la Figura 10.16((.).

Como ahora trnemos m i s d r un RI hoja, nrcrsitamos aiiaclir un KI en el nivel-mis alto en el i r l d para indrxar 10s Kls hojas, tal romo s r nluestra en el nivel superior de la Figura lO.lh(c*). (Por t.1 contrario. y;r no trnrmos tin h r l d enraizado.) Estc: RI en el nivel- nla?or c:s ahora la raiz.

Ot~serve (pie existen 11. = 3 punteros en cads RI. E n cada RI hoja, el puntero m i s a la izquierda (I),) a p n t a a la localizaci6n tlonde se alrnacena el registro complete para la cla- be k , , p? realiza la misma funcihn para k.,. Sin embargo, apunta hacia c1 prhximo notlo hoja en srcuencia. 1101- lo clue cl arehivo p i e d e procesarse secuencialmentr ruando sc nerr- site.

Ohservt- tam1)ii.n c1ue en el KI n o hoje crraclo recientemmte, clue se rnurstra en la F i p ~ r a 10.16((.). lr, y l,., son 10s hliicos l ~ n n t r r o s ntilizaclos y amlws satisfawn las reglas (5- 7 ) . El pnntero hacia laizquierda dr l ~ a l o r 11e la clave 31 apnnta a un su1)irbol cuyos valo- res d e las 1.1aves son rstric*t;lmente menores que 31. El puntero hacia la clerecha del valor d r la c l a w 31 apunta hacia aqurllas clavrs clue son mayores o iguales quc 31.

I,a Figlira 10.16(tl) rnuestra la adicihn de la c.lave del rrgistro 35. Buscarnos una 1oc.a- lizacibn en cl i r l d tloncle colocar la c l a w 35. E n rs t r caso seguimos el puntero clerecho en el RI raiz y hallamos que la clavr 35. clue es mayor q u r 31, tlehr obicarse en el nodo hoja qut: contient: la (:lave 31. Como existe un higar vacante, simplernente entramos la (slave 35. tal cwmo s r mnestra. No se requieren otros ramhios.

La Figura 10.16(r) rnurstra la acf cihn tie1 rrgistro 29. Como 29 rs mrnor clue 31 segui- mos el puntero izquierclo en el RI raiz. El RI hacia el cual apunta r s don& se ubicaria la clave 29, prro rste KI es t i Ileno. P o r lo tanto, clividimos el RI existmte. ordenamos las cla- vrs c*orrespondientrs y aiiacfmos las primeras [n12] = 2 (:laves en el RI m i s a la izquiertla, con el resto 11r la c law insertado en el otro IR, tal y como se muestra en la figura.

Page 358: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

Atiadir reeistro 3 1

Datos para el registro 3 1

DISENO Y ADMINISTRACION DE BASES DE DATOS

Atiadir reeistro 3

Atiadir reelstro 18 Atiadir reeistro 35

(e) Atiadir registro 25

V

Nueva division

(9 Atiadir registro I

(g) Ariad~r registro 32

V

Nueva division

Page 359: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

ORGANIZACION F~SICA DE LOS SISTEMAS DE BASE DE DATOS 345

La Figura 10.16(g) mutsstra la atlicibn tle la (.lave 33. Sr tlrlw dividir la hoja m i s a la (lei-wha. Entonws, como se murstra. colocamos las claves en el orden 31. 33, y 35. Como se o l w r v a , esto fuel-za [in canibio en las entradas cii el R1 que contiene 10s punteros hacia los niievos notlos hojas (rrglas 5. 6, y 7 ) .

Veamos ahora t4mo se procesa ulia t.onsulta usantlo nuestro B+-ir1)ol. Sul~ongamos que deseamos ac*c.etler a1 rrgistro 33. Primcro sr examina el nodo raiz. Conio 33 es mayor qiie 29, segiiimos el puntero intermetlio hacia el RI en el nivel pr6ximo-inferior. dontlc 31 es la primera d a v e indiw. pero iiienor (pie 33, scgnimos el puntero intermetiio hacia el RI hoja que wntiene el puntero a 10s tlatos tlel rc*gistro 33. Estr tAs el mismo proceso tjuv wgui- nios cnantlo tleterminamos d6nde insertar un nuevo registro.

Como ohservamos en la crracihn tlcl B+-arid d e la Figura 10.16(g). la insercihn puede ser m i s complicada clue un acceso a iin simple registro, ya clue c:n ocasiones es nece- sario clividir 1111 R1. 10 q11e podria sei- muy largo con10 resultatlo tle la inscrci6n. 1Qub pasa cwn la eliminaciAn tlv registros? iCOn~o a h - t a r i a la eliminaci611 a1 Bt-irhol?

E n el cast) m i s s i n ~ p l e ~ una eliminarihn no necesita ningiin r:amhio en la cstructura tlel Bt-irlml. Refibrase nuevamentr a la Figura lO.lh(g). Suponga que s r elimina el regis- tro 33. Usantlo el mismo l~rocediniiento. como si estuvii.ramos accediendo a1 registro 33, locdizamos el RI hoja clonde aparece el mismo. Entonces elin~inamos la clave 33 SII regis- t ro d e tlatos correspoiitliente.. Ahora el RI hoja don& estaba la (.lave 33 s d o contiene la clave 31. Recalculantlo 10s noclos hojas que puetlen teller [ (n - l )E] valores (= 1 en estr caso). El nodo hoja se puetle quedar (.onlo es. Por otro lado, el valor 33 no aparece en nin- giln otro lugar en el Ht- i r t~ol , por lo qne no se newsitan otros cwnhios.

Sin em1)argo. al igual qne las insc,rciones. las c.liminaciones pileden taausar una rws- triirturariim del iiidice. El nii.totio es 1)isicamentt. t.1 inverso tie1 que ocurre con 10s ram- I h s de iusercihn. Examinemos un ejrmplo de una elin1inaci6n que nwesita una motlifira- ci6n en la esti-uctul-a clel indice.

Rtbfibrase a la Figura 10.16(g). Suponga clue descamos eliminar cl registro 18 d r este i rhol . Cuantlo se txlimina el rrgistro 18 en la hoja t l o d c se encuentra, este KI cwntiene shlo valores nulos y rotno tal delw scr eliminaclo, junto twn 1.1 puntero dcstle su KI padre (el RI m el nivel l)r6xiiiio-sul)erior) . Ahora el RI padre tiene un solo puntero, violanclo la regla 2 ; sin eml~argo, este RI contiene informariim iitil, qlie no sc. tlel)e rliminar. Por lo tanto, I)uscwnos en sus RI hermanos (mismo nirel). Si algiui KI hrrmano tiene una varante. potlriamos elimi- nar el KI cjuc contietie el 18, insrrtar la c law 18 cm el mismo y ordenar 10s 1)unteros.

Como 6ste no es (~1 caso. la unica s o l u c i h es reservar (10s punteros a c-atla uno tle los RJs y introducir las t.laws apropiadas para satisfacer las reglas 4-6. Esto sc ~nnes t ra c:n la Figlira 10.17.

Ahora. supongarnos que eliminamos el registro 29 tlcsdc la Figilra 10.17. Tenrmos 1)ric:ticamente la ii~isma situaciibn anterior. Cuando st. 14itaina la (:lave 29 tiel RI hoja, se elimina t.1 R1. dejando a1 RI padre con shlo un puutero. Sin rrnl~argo, en este t w o , el K1 tiene un hcrmano varaiite. ) poclemos integrar estos dos RIs en un RI, tal como se niurstra en la Figura 10.18. 0l)serve qutb a1 integrar cstos KIs en (51 segundo nivel, el mismo se con- vierte en un notlo simple. Por lo cpr el nodo raix inicial es retlundante y piiede eliminarse.

Page 360: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Considerrmos un rjemplo m i s awrca tle la eonstruccihn tlr un B+-lirl)ol. 5610 por r i t a vrz, niarcmos r t = 4 y r l cot~~junto de d a v r i dtl regiitros siguientr:

Como se murstra r n la Figlira 10.19(a). llenamos r l RI inicial con las claves de 10s registros 14, 95. 56. Cuando aiiaclimos rl rt.gistro 2 2 : tlel~rmos tlividir rste notlo, ordrnar el conjunto de claves, aiiatlir las primeras [ r t l 'L] ( = 2 ) cla\.eh en el primer RI p (4 rrsto d r las (.laves ( d o h r n este caso) en el srgundo RI. Dthido a rsto sr c r ra tin nodo raiz con la c law 56 (Figura 10.19(1))).

Ahora se insertan 10s rrgistros 64 y 29 sin vain1)iar la cw1figuraci6n dr l i r l ~ o l (Figti- ra 10.19(~)) . Si adicionamos el rrgistro 35 sr divide el nodo m i s a la i z t j ~ i r r d a ~ con la con- siguirntr ordvnacii,n e inserci6n d r las ruatros claws de registros corrrs~)ont l i r r~trs d r acnrrdo twn las rvglas previas. Entoncrs sr purdrn insertar 10s registros 43 y 2 5 sin cam- 1)ios en la confignraciOn dr l i rho l . Este resultado sr murstra en la F i p r a 10.19(tl).

El lector no tiene tluda tle cjue acwc:indonos a valores de 71 grantlrh sr urc.rsitan menos divisionrs para un tlt*trrtninado conjunto d r rrgistros? pero rcrmo meilia aparrcr mLs espacio vacantr en r l B+-ir l~ol .

El Bf-irbol rs la rstratrgia inks arnpliamente usada para mantrnvr la t 4 i t i t w h con rrspcrto a las inserciones j- r1iniinat:ionrs. Existrn conceptos similarrs para un mktodo indexado llamado un B-drbol (sin el "+''). Un B - i r l d permite la ocurrencia d r solamrntr

Anadir reeistro 14. 56. 95 Anadir reeistro 22

(c) AAadir registro 64, 29

(d) Anadir registro 35. 43, 25 29 56

14 29

--

22

4 25 35 43

L

56 64 95

Page 361: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

ORGANIZACION FIsICA DE LOS SISTEMAS DE BASE DE DATOS 3 47

Implementacidn clientelservidor de la indexacidn Arbol-balanceado (irbol-equilibrado)

El 'uso d r 10s inclicw d r un irhol-l)alancrado contiene altos nivrles de rcinclirniento en un sistrma d r hase cle datos clirntelsrrvitlor. -2unqur en algunos casos 10s meranisnlos varian nn poco, 10s ohjetivos y n16todos bisicos pernlanewn cwnsistrntes con nurstra tliscwsihn anterior.

Ccrnsideremos el ejrnlplo clue scb muestra en la Figura 10.20. La arqui trctura txs muy similar a la analizada en la seccibn previa, con algunos ajustrs necwarios cpw analizarr- mos m i s adrlantr. La modificacibn m i s itnpcrrtantr son las plig-inus, q u r son 1)locjues de rrgistros. Ohsrrve en la Figura 10.20 qut. la pagina raiz r s t i en la dirrwihn 100 y contirne dos registros indicrs. El rrgistro indicr superior intlira que la pigina clue cornierjzu corr r l rrgistro d r datos 1 , se encurntra por el aweso siguirntr a1 IR d r la dirrccihn 200. Similar- tnente, la pigina q u r comirnza con el rrgistro 22 se encuentra siguiendo el prhximo acwso a1 RI en la dirrccibn 300.

Supongatnos clue queremos accrder a1 registro 10. Una hi~squrt la en la pigina raiz indica qur r l registro 10 se rncnrntra en el prbxin~o acceso a la pagina in(1ic.e localizada en la direrci6n 200 (ya quc: 10 rs menor clue 22). 41 buscar en rsta pagina el rcgistro 10 se encuentra en la pagina intliw localizada en la d i r r c c i h 90 (ya clue 10 es mayor q n r 9). 41 buscar en esta pigina ( m a hoja) rncontramos que el registro tit, datos 10 s r encurntra en la pigina localizada en la rlireccihn 400.

Un mecanismo siniilar se ap1ic.a en la inserciim y elin1inaci6n de registros.

Direccion

1.350 2.350 4.360

Direccion l I 0

RI raiz

Direccion

9,90

Rls lntermedios

Fl 14,350

Rls Hojas

Registros de datos

Page 362: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

Correspondencia entre estructuras de datos 16gicas y estructuras de datos fisicas

i h o r a I~ust*arcw~os la aplicatiOn tits txstas idea5 en nn sistema tlr 11asr tlr tlatos. Kn esta st.(-- rihn e\ani inart~n~os algnnos de los aslwctos fisiros tlr la imf~ltwtbntacii,n d r las rstrut8tnras tle tlatos ntilizadas r n las 11ases tlv tlatos rrlacionalrs, m rvtl ! jerirtjnicas.

Correspondencia en las bases de datos relacionales

\Igunos sistenias (It. ]lases tle tlatos alinat*enan ratla rrlavihn w m o un arclii\o t.011 un rrgis- t ro para catla tnpla (Ma). R o r n ~ a l n i t ~ r t r rsto es t20ri-ecto para haws de datos ~wqnri ias . ~ w - o a nictlitla clue la I~ase de tlatos crtxct, r n tamaiio. seria mks t.f'itinrtr a l m a t w ~ , ~ r \drirls relationes en un zolo archi\ o.

Consitlt*rt~ las rrlariones tine se mntbstran en la Fignra 10.%l(a) y nna ronsulta clue para ratld venta n t ~ ~ 4 t r PI n o n ~ l ~ r r tlel t'litmtt~. PI \endetlor. la cantitlad! (11 nurnrro del p1-o- tlurto. l',rra catla tnpla tlr la rrlat*ihri L EAT4 se I)uscan las tuplas tbn la rclaciim C1,IENTE q u r ro~ncitlan con t.1 \ a h tlrl numrro tlel clitmte. Si el CLlENTE y las VENT4S sr alrnarr- nan en awhi\os tlif'rrrntrs. rntoriws st. ntwbita una oprratihn (It* 1tv.tul.a s o l ~ r r rl a r r h o 1)tw t*atIaregistro cn la ronsnlta. En la Figura l0.%1(1)) sr sugierr nn mi.totlo m i s rfira7. Ksta rztrurtnra tle archi to 1nc.zc4a las tuplas de amhas idacionrs ron PI olbjrti\o tlv facilitar m a r c u n i h (joira) de aml~as. Las tuplas tle PENTAS para cacla n h w o tlr t h i t e se alniac.c'nan junto con las tuplas d r CLIENTE con el nrismo valor tlel numrro dv1 rliente. Cuando se lee

I CLlENTE# I NOMBRE I L/MITE DECREDITO I BALANCE DE DEUDAS (

25 1 H. Barlow $ 5.000 095 J. Krupke $1 0.000 312 0. Reed $ 5.000 4 19 M. Little $I5.000

VENTAS

120 V. Blab W85 I 592 J. Wells 09 12 750 V. Blab W85 I 157 J. Wells R950

INV. #

1 12 0.95 120 V. Blab W 8 5 I I 1 13 312 592 J. Wells 0912 1

CLIENTE #

1 095 J. Krupke 10000 5000 1 1 312 0. Reed 5000 800 1

AMT

I I 2 312 750 V. Blab W 8 5 I I 25 1 157 J. Wells R950 I

VENDEDOR PROD #

Page 363: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

ORGANIZACION F~SICA DE LOS SISTEMAS DE BASE DE DATOS 349

m a tupla tle la relacihn CLTENTE. el 1)loqne complete qur c:ontit:nc. la tnpla sr col~ia en la nwmoria primaria. Como las correspondientcs tnplas tle VENTAS sr almarrnan juntas. el 1)lotlur cine wntiene las tliplas (11: VENTAS newsarias para cwnipletar la c o n d a 1)utde estar r n el niisnio hloqne, (lilt* stx twcnentra en 1;r mrnloria primaria. -\fin si he ncwsitaran otras tnplas, se alinacruarian cn l h l u e s clue e s t h cwc.anos en el disco.

agrupnlnie~~to Esta estrategi;~ tle agropamiento pnrdr a c d w a r la reunihn (join) dc las rrlaciones (clrrstrrir~g). Il1)icacih (:IJENTE y VENT:\S. pero pndirra volversr mLs lento el pwceso clue involucn otras en mi niisnlo 1)loqne dr relaciones. La tlctrrminac*ihn tlr cwintlo el agrupaniiento rcwlta iltil t,ktli en fnncihn tlc la relacionc~s clue se frecnrncia con la cual se realiw mi;r cons111ta. reiincn con l'rec*~~enc*ia. Otro factor tamhibn se vuelvr importante en la corresl)o~~drnc*ia cle las rclaciones

(.on un almacrnamit,nto fisicw. \ . i x r Figura 10.22. ;lqiii la relacihn CLIENTE sc cwwentra relacionada con la relac*ihn RECIBOS-ljFECTIY0 con nna cardinalidatl dta nno-inucllc~s. La clave 11rim;rria para CLIEXTE es NCM-CLlENTE. y pntlieran esistir otros atr i l~ntos adicionalcs. Como se tnuestra. NUM-CLlEKTE aparcce como una clavr esterna en la rrla- cihn RECIBOS-EFECTIVO. Si YITM-CLIENTE sc. nsa como la cla\;e actual Imra la inlple- mcntarihn Gsica, podrian snrgir tlificdtatl(:s si. por rjemplo. el KUM-CLIENTH es errh- ntw o cambia. E n caste caso. tirnrn qiw camhiar todas las loralizacionrs fisicas donde aparece el NUM-CLIENTE. Esto no s d o implica tiemlw y esfiierzo. sino clue tarn11i;n rs iina oportnnidad para clue ocwrran errorrs . Para rliminar este l)rol)lemh, en ocasiones los SGDBs crean una (*lave sustitnta. solamente conocida por el p r o l ~ i o sistvrn;~. I)e esta for- ma, si la c l a w primaria real, NlJM-CLIENTE. drhe catnl~iar. la c*lavc, snstituta no se afeca- ta y asi no exist? 1;1 positdidad tle qne sc al t rrrn las reprrsentaciones fisicas.

Correspondencia en las bases de datos en red

Cualquirr interrelacibn vn red complrja (~~~~~c*l ios -mucl ios ) sr pnetle rt~formiilar conlo llna red simplr mediantr el nso d r rrgistros tle interwcci6n. P o r lo clue nnestra discns~hn so11re la corrrspondencia neersita crntrarse bblo can la rtd simplr. Consid(w el ejrmplo clne se miicstra r n la Fignra 10.23. Es una red simple, ya qiir las interrelarioncs rntre los regis- tros de t i p duriio y mi rml~ro son nno-muclios. El rrgistro de t i p f'actm-a es n~iernl~i-o de dos conjuntos: CLTE-FACT y \. ENT4S-FACT. Es decir clue, vada registro E'ACTUR4 t w nr un registro diiriio CLIEN'I'E y nn registro dueiio 1 ENDEDOR.

CLIENTE EFECTlVO

Transformandolos en Relaclones

CLIENTE RECIBOS-EFECTIVO

I - L - - - INUM-CLIENTE] RE# I I NUM-CLIENTE I Clave externa

Clave sustituta anadida por el SGBD

Page 364: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

Esta simple retl se puede rcbprest.ntar nirdiante listns enlazadas a travbs de la rrea- ciim d r punteros por cada ronjnnto. Sc nc.rrsita 1111 griipo d r punteros para cwnertar 10s rt-pistros de CLIENTE con sus rcgistros r n FICTURA y otro grupo de l ~ n n t r r o s I)ara twtlectar 10s rrpistros d r VENDEDOR con \us rrgktros en FACTUR2. Eli la Fipwa 10.24 sc ttiurstra nn ejemplo d r la rrlacihn 16gica. Sin embargo, conio n16todo fisiro d r instru- niriitacihn rs torpr porqur rl nhmri-o tlr puiitrros r e q u e r d o i rs varial,lr: Si ha, t r rs rrgis- tr04 11r fa (* t~wa de tin nsnario. sr nrwsi tan t r r s plintcros: si hay cinco rrgistros d r factura cir 1111 usuario. rntonws sc. nrcesitan citico puntrros. Dr forma priirtiea. rs difiril iiiaiitr- u r r c ~ i Im registro 1111 niinlrro ~ a r i a l ~ l r de c a m p s plinteros. Sin rn1l)argo. la lista rnlazada 111 qwrciona luia forma de r l i t a r rsa tlificultad.

Kt1 la Figlira 10.25 sc ilustra la fortn't r n q u r rsto sr h a w . Cada rcgistro rlirntr con- titwr 1111 pnntrro a1 niinirr o tlr t tyistt o d r la primera factura q u r posrr. Esr rrgistro clr factura cou t rndr i uti 11untrro d la prO\~tti '~ far tura que p e a r s r niisnio c*lirntr. Estr p o - wso c-ontinha liasta clue sr r n l a ~ d la idtui~a fac2tura d r rste clirnte. Poi* rjemplo, rl registro dr l CLIENTE Smith apliiita n Facatura #1 (niimrro d r registro 6). qne apunta a Factura #2 (nilnirro de rcgistro 7 ) . qiir rs la hltitt~,~ d r la5 facturas d r Smith. El final d r la lista de fac- turas sr indira por 1111 niinirro tle reglstro 0 r n el vanipo puntero.

En la Figlira 10.26 sc. mliestra un iii6todo tnhs prhc*tico d r irnplt~mc.ntari6ti. Coinpa- rando la Figurn 10.20 roil la Figlira 10.25. sr puetle ver q u r rl i1nic.o c.atnl)io rs clue r l hlti-

CLIENTE

Smith I

VENDEDOR

VEND-FACT

FACTU RA

Page 365: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

I

ORGANIZAC~ON FISICA DE LOS SISTEMAS DE BASE DE DATOS

REGISTROS 1 CLIENTE 1

REGISTROS 1 VENDEDORES 1

REGISTROS FACTURAS

REGISTROS CLIENTE I

REGISTROS 1 VENDEDORES 1

REGISTROS FACTURAS

NL~MERO RELATWO

DEL REGISTRO

I

2

3

4

5

6

7

8

9

10

DIRECCION RELATIVA

I

2

3

4

S

6

7

8

9

10

REGISTRO DE DATO

Smith

Jones

Beans

Carnes

Jubal

Fact # l

Fact #2

Fact #3

Fact #4

Fact #5

REGISTRO DE DATO

Smith

Jones

Beans

Carnes

Jubal

Fact # l

Fact #2

Fact #3

Fact #4

Fact #5

PUNTERO CLIENTE FACTURA

PUNTERO VENDEDOR

FACTURA

PUNTERO CLIENTE FACTURA

PUNTERO VENDEDOR

FACTURA

mo regktro en taatla lista contienc un puntero a1 registro cluciio tle la lista. Esta rstrnt~_tii~.il circular facilita la cjrcnrii)n de lab consultas FIND OWNER (ENCLENTRA4 DLTENO). FIND FIHS'I (EN(:lrENTR 4 PRIMERO) y F1 NI) NEAT (ENCUENTRA PROXIMO) tle 10s lcngnajrs ro~nnnvs tle rnanipulatihn d r datos r n forma de r t d . Siguirndo el circnlo tle punteros simplifica la localizacicin d r l rrgistro deseado. (Los lengnajrs tle inanipulacicin tlr tlatos r n rr t l sc cstutlian en el Capitulo 15.)

Correspondencia en las bases de datos jerairquicas

Tam1)ii.n. como en las rstructuras d r tlatos en red, se pneden m a r mhltiples punteros en 10s rrgistros padrrs en las relaciones de una jerarquia o i rhol , tal como se sugiere en la Figi- ra 10.27. Mientras el in6toOo tlr multiples punteros dentro de un registro facilita las conexio- lies entre un registro padre y uno hijo, dste no se usa frecuentemente por el n6mei-o variahle

Page 366: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

cia\ 6. secundaria. Un rlr~ntmto d r dato t*u>o \alor itlrntif'ic.a a un c'onjunto dr re,' ~ s t r o s .

ID REGISTRO CLIENTE

Smith

Smith

Jones

Bean

Bean

'UNTERO

3EGISTRO FACTURA

DATOS DISENO Y ADMINISTRACION DE BASES

dt. pnnttSrok t p t b 1)11rdcm SIX nr(wirrios tbn cada rrgktro pat11.r. Los ~ q i s t r o s dc. lon$tutl \aria- I ~ l r son partic*darnwntr t~onll)lic~;rdos mando se tlcblwn rcdizar insrrc.ionrs 7 eliniinacionrs.

El uco d r llnrltrros I~i,jos y hr rn~anos r r d n w la twmplt,jitlad drl mantrnilnin~to tir p n - t t ~ o s 1nilltil111~s !. la rrstriwihn tlr la c~orr(.sl)ondt'~~t~iir hijo-patlrt.. Examine la Fipura 10.28. a t p i vt. q11r ('1 lirilnrr t ~ n n t r r o tIr rada rcqgistro c.ontirnr la tli~w*rihn nn rtyistro hijo. 4- rl sepi~udo pnntrro int1ic.a la IorariOn d r un rrgistro Iwrmano. D I ~ esta manrra. cada rrpistro c'ontitwr rsac'tamrntr dos calnpos punteros. qur r s rnncho m i s ficil I!(. rnantrnrr. (:orno t.011

r aa l tp i r r lista rnlazatl;~. 10s pnntcms purdrn rliininarsc~ drl misino rty+tl-o !- rolorarsr en Iin dirrvtorio lista invertida. Para nnrstro t:jt.nq)lo. vsto st. nnwstra r n la Figura 10.29.

Smith

Acceso por la clave secundaria Hnsta estth pnnto. 11rlnos rstado nsando la l ~ a l a l ~ r a r l t r v ~ . lnis I ~ i r n 1il)rrmvntr. para nonihrar a nn rltmrnto dr dato cmyo valor idtwtifira imic'arnrntr a 1111 ~-rgistro. Ti.rnitwnrntt:. esta clefi- nirii,n r s 11ara la clave primaria. Existen taln11ii.n rlavrs srt.lindarias quc. purtlen srr ilnivas. prru no o1)ligatoriamrntr. lTna d a r e secill~daria t.s la qur idvntifit*a un cor~jurzto de rr$stros t p e tirnrn r l niisnlo valor para la t*lavr s tvw~daria . Las (:laves swnntlarias juegan un p p r l importante 11ara (lar s o l ~ r t t , a 10s rrqnisitos tlr inforlnaci0n de 10s usnarios d r 10s SGBS.

1lustramt)s los cwnc*cxl)tos fnndanwntalrs mtdiantr nn ~ j r m p l o . La IJnihn tle Cri.11ito Cosmos tirnr varios t i p s d r usuarios dt. slr sistema d r 11ase dr datos. I,os ctajeros nrrrsitan accet1t:r a 10s registros de las cwrntas (it. los c-lientrs para rrspontlrr las prrgnntas de rllos 4; wtualizar 10s rrgistros twando hay transatacionrs. Algunos t.lit.ntrs purdrn tenrr d o cnrntas cwrrirntes, otros. advmis. twrntas dt. ahorro, cwtbntas (it' tarjeta d r c-ri.dito, o p r k -

--

DIRECCION RELATIVA

FACTURA I

REGISTRO PADRE

Jones

Smith

Jones

Beans

Fact # I

Fact #2

Fact #3

Fact #4

Fact #5

Bean

FACTU PA 2

-

PUNTERO HIJO

PUNTERO HERMAN0

FACTURA 3

0 = Fin de la Lista lnvertida

FACTURA 4 -

FACTURA 5

Page 367: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

ORGANIZACION FISICA DE LOS SISTEMAS DE BASE DE DATOS 3 5 3

LlSTA CABECERA

Cayman I Casa I 36 I 7 I Vance I Auto I 48 I 8

NOMBRE- CLIENTE

Nixon

Patton

Fortius

Wood

PER/ODO- PRESTAMO

48

36

24

36

TIP0 PRESTAMO

Auto

Auto

Embarcacion

Auto

PUNTER0 PERIODO PRESTAMO

6

4

0

5

Costas Casa

Ubu

36 0

0 Auto 48

Page 368: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

Optimizaci6n de las consultas La optiiiiizat:iO~~ dt* las wusultas rs m a twnsidrrac*iSn importante en un sistema de hasr tlr datos, > a t p r la tliferrncia cm ticmjw tle rjet*ucihii rntre una h r n a y U I I ~ n1;11a estrategia l ~ l r t i e ser sustantial. Con las r s t rwturas en red y j e r i r t j~~icas , la optimizarihn sr lc tleja a1 programador, ya clue las hrdrnes de manipulerihn tlr 10s tlatos es t in rontenitlas en un len- guaje tlr progra111aci6n y r s t i n a1 nivel tie la nianipulaciim individual tle 10s rrgistros. Las ronsi~ltas relacionalrs, sin enll~argo, pnetlen rx~,resarse t~oml~letamentc~ en el lel~guajr tle consulta rrl;~rional y nialiipular dr uria vrz conjuntos enteros de registros. Es, por lo tan- to. posihle y drst-able optirnizar tlt. forma automitica las consultas.

Nuestro prophsito tm rsta srccihn r s el de familiarizar a1 lertor twn Ias idvas f i ~ r ~ d a - nientales de la optimizacibn dr las cwnsultas sin explorar totlos los detalles tlr este eriornit. r a m p tle estudio. Ros concentramos rn la curstiOn general de r0mo producir rficazmrntt~ ilna r r s ~ ) ~ ~ r s t a a ilna ronsulta en algt.hra relational. Veremos rstos tres o1)eratlorrs:

Se1et.t (Srltwihn) Project (Proyertar) Join (Reuni6n)

Usaremu5 como ejeniplo la siguirlite base tie clatos:

EMPLEADO(EMP-NOMBRE, CALLE, EMP-CIUDAD) TAREA(PR0Y-NOMBRE, EMP-NOMBRE, OFICIO, HORAS) PROYECTO(PR0Y-NOMBRE, PRESUPUESTO, PROY-CIUDAD)

Conlbinar las operaciones de selecci6n y reuni6n

Enronlrar 10s 1)rc.suprwsto.i y 111s nonhrrs tle totlos los proyertos ruyos rmpIrados viva11 rn Pasatlrna.

[Tna forma de rswihir t, interprytar rsta ronsulta rs coma sigur:

A := Join(EMPLEAD0, TAREA, PROYECTO) B := S e l e c t ( A : EMP-CIUDAD = " P a s a d e n a " ) C := B[PROY-NOMBRE, PRESUPUESTO]

Como RenniOn opera sohrr las tres rrlacionrs en su totalidad, tienen q u r examinar- se todas las tuplas rri las tres relariones. Luego, si hay n tuplas m EMPLEADO, rn tuplas m TARE;\; y k tuplas en PROYECTO, rntonces hay clue hacer n x m x inspectiones.

Compare lo anterior con la siguiente estrategia.

A : = Se lec t (EMPLEAD0: C i u d a d = " P a s a d e n a " ) B := J o i n ( A , TAREA, PROYECTO) C := B[PROY-NOMBRE, PRESUPUESTO]

Page 369: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

ORGANIZACION FISICA DE LOS SISTEMAS DE BASE DE DATOS 355

Suponga clue e ~ i s t t w t en~pleados clue \ i \ r u en Pasadena ( t < = 1 1 ) . Entonces se de l~en realizar t x in x h- inspccciones. tlonde

Si t es c~onsidera1)lemelite menor cpie n . rste illtima estrategia necrsitaria considerar menos insl)ewiones. P o r consiguientr, una ejecliti6n eficiente rralizaria las selet:ciones lo antes posihle.

Combinar las operaciones proyeccidn, seleccidn y reunidn

En el ejemplo anterior, todavia la segnntla for~nnlacihn de la consulta obtuvo inforn~at ibn intiecesaria con sus oyrrat+mes. La r r l a c i h deseatla nrcesita informacihn shlo para 10s valores dr dos atrihutos. PROY-NOMBRE y PRESUPUESTO. Todo lo qur tm realidatl se necesita son 10s atri1)utos necesarios para la consulta tleseatla y 10s atrihutos clue intrrvic- nen cn la reunihu. Usantlo de fhrma correcta el opcrador de proyeccihn se obtiene una ronsulta a h niis eficiente, conlo sigue:

A := S e l e c t ( E M P L E A D 0 : EMP-CIUDAD = " P a s a d e n a " ) [EMP-NOMBRE] B := ASSIGNMENT[PROY-NOMBRE, EMP-NOMBRE] C := PROJECT[PROY-NOMBRE, PRESUPUESTO] D : = J o i n ( A , B, C ) [PROY-NOMBRE, PRESUPUESTO]

En cada paso de esta solucihn hrmos proyrctado hacia afurra todos 10s atrihutos innecesarios. tlrjantlo s61o 10s nrcwarios para la solueii~n. Entonces la estrategia consiste en aplicar las select+mes y proyrt:ciones tau pronto conlo sea posible. La operacihn tle reu- niOn lleva mucho tiempo. por lo clue se drhe realizar lo nibs tartle pcrsihlc.

En rste capitulo se introdujeron conceptos bLsicos de orpanizacih y accneso a 10s archivos, clue son tle gran valor para 10s usuarios y 10s diseiiadores de sistemas. I m h o s grupos se familiarizaron (.on la terminologia y los conceptos hasicos de organizacihn fisira y a t w s o a 10s archivos con el ohjetivo d r conlunicarse niejor con el personal ttcnico, preguntar cues- tionrs relevantrs a 10s vendrdores, t enr r cwnocimiento de alternativas, y por otro l a t h estar disponi1)lr para contrihuir a una imylementacihn efectiva tlel aistema de base dc datos.

Priniero estudianios 10s medios d e almacrnamiento fisicos clue soportan las opera- ciones de 10s sistemas de base d e datos. Esaminamos la forma en que se alniacenan 10s datos en el disco y definimos el prowso de aweso a 10s mismos. Mas tarde se mostrh c6mo calcnlar r l tiempo de acwso.

Se rlefinieron tres mttodos bbsicos de organizacihn fisica de archivos: secuencial, srmencial indexatla. y tlirecta. La organizacihn secuencial es eficiente cuando las aplica- ciones solamentr conlprenden el procesamieento de un nlimero notahle de registros (.a& vez q u m e at:crde a1 archivo. La organizacihn srcuencial-indexada r b efectiva cuando exis- ten apliraciones notables que necesitan el procesamirrito secuencial y otras que necrsitan el prowsaarnirnto directo. La organizacihn directa es nrcesaria cuando apliraciones m i s importantes necesitan r l acceso directo a 10s registros. Ilustramos ambas fornias d r la orga- n i z a c i h directa d e 10s archivos, estitica y dinimica.

Tatnhikn rxaminamos las rstructuras de datos fisicas fundamentales clue permiten la implemrntacihn de interrelariorws de datos kgicos. La herramienta mbs elemental es el

Page 370: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

puntt.1-o. El p ~ ~ n t t ~ o es 1111 rleinento tle tlato qne cwntienr la t l i ~ w t * i O ~ ~ fisica tle 1111 rrgistro alinat~enatlo. I,os l ~ n n t t ~ o s tlrlwn estar inrrustatlos dentro tlr 10s rtyistros. llara rnt.atlr- mars? jnntos r n luia lista tle rtyistros rrlat+matlos. Iltrrnativanlrntc.. iln indire d r valorrs. junto con lo.; puntrros a 10s wgistros clue t*ontit.nrn tlic*hos va1orc.s. st. 1~11etlt~ Iuantrner sel)aratlo clr los rcyistros. Esto sr llama una lista invertitla. Un r s tprma tle intlrxarihn t l w n ~ a ~ ~ t i e n e su rficatia sin importarle las insri.t:iones y rliniinacio~irs se llanw R+-ir l~ol . Sc. 1~rc.srntaroii 10s t~~nt:t:ptos drl i n i s~ i~o y sr inostr6 SII utiliz:tti611 !- c6111o se ronstrn!.tm.

Se dio una itlea ac.rrt*a tie 10s ni6toclos nietliantc. 10s wales los uiodrlos tlr datos lbgi- tws se t~ t~ r i~e s~ )on t l r n twn las rc.l~resc-~itat*i~~i~es fisit-as. I)e rsta forni;~. t~oinl~leta~nos una \ isii~n destlr r l niotlt.10 twit-rj)tiial hatie el motlt:lo tit. in~l)lc~iiirntatihn 16git.a y tlr 6ste a la in~plt~n~rntaci t in fisira.

Drsl1~16s most~~anios t4mo st. usan 10s puntrros twn rrsl~t.c.to ;I las (-laves st:ci~ntli~rias para fatilitai* la ret*lil~eri1c.i6n d r tlatos.

Finaln~ente. rstndiainos I~reveinrntc~ rl trnla de la o1,tiinizatihn tlr consultas. rZ llesar cle que 1111 burn SGBDs r t k i o n a l l~rint la la ol~tiniizacihn nr twar ia , el t.onoti~nirnto d r ransa y n ~ h o d o p u r t l ~ darlv itleas a1 uauario tlel sistenia (It. 11ase dr datos.

1. Defina ron sus l~ropins pa la l~ras cads nno d r los signit:ntes t6rmiiios: a. selt.cator de estrategia b. atlininistratlor de arc.hi\~o c. mrnit~ria pi i i i t i l~al d. cilindro e. rrgistro fisiro f. razhn cle t ransftwntia d r datos g. formato rnenta-(.lave 11. lista ral~ecera i. lista invc.rtitla j. Lr11ol enraizado k. hoja 1. rt:traso de rotatibn in. controlador de tlistw n. agrupamiento (cl~istering) o. rlave l~r imar ia

2. 1Por (pi. la r r ~ - \ a c i 6 1 1 tle regiztros en I)loqnt. constitnyt. nn fartor ell el rrndimieri- to del sisteina de 11aw de datos?

3. Compare la organizaci6n tlr archives srcuential, swurncial-indruada j tlirertw.

4. iCuLlrs son las cararter i~t icas qnr dehe c.urnplir un I)wn algoritmo hush?

5. kCu61 es la f u n t i h dr.1 interval0 en el f'orniato tle 1111 registro?

6. Difercncias rritre t.1 forniato cnenta-dato y cuenta-dave.

7. ~ Q u G es latencia?

8. Descriha las operaciones principalrs que se dan en la g e d m d r entradalsalida.

9. iQuG efitaacia sr conq~lemrnta (*on el uso de 10s pnnteros?

10. Difei-encias entre m a lista enlazatla s inq~lr y un anillo.

11. ~QIIG es un puntero l i do y cuLl r s 5u significado?

Page 371: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

ORGANIZACION F~SICA DE LOS SISTEMAS DE BASE DE DATOS

12. j,Qui significa el t6rinino Bt - i i r ld? i C u i l es su prop6sitoY

13. Diferenciai entre iina clavcs primaria y una secuntlaria.

1. Marcrue ratla tbrmino con sii se lec r ih . a. IT11 clmiento de dato cjue contienc nna tlirec-

ci6n fisira. I . El tiempo necesario para posicioiiar las c - a h -

zas de 1ect1iraIcscritui-a sol)rr 1111 detern1indtlo cilintlro.

c. El ticnipo n e c ~ s a r i o para actn a r las rahezas tle lec*tura/escritura.

d. Drfina la estructura de loi datoi tlel l ~ i ~ i a r i o )

c.Omo sr usan. e. Software cpe eontrola el mo\iniiento de los

datos en t r r la nlenioria pr inc*ipl y el almace- namiento en chsco.

f. Una secuencia de punteros clue conectail registros itdexadoi.

g. Registros fis~cos clue ie enlazan metliante p111i- twos incruitados.

11. ITn valor de un ele~nento de dato clue ident~fl- (.a un conjunto dv re,' cristros.

2. Supcrnga q11e trn~~moulrtiac.erla(loi registros en un d i ipos i t i~o dr disco qne posc~. la i sig11ic.ntc.s rararteriitic.as:

t i e n i p tlr posicionainiento niedio: 0.02 wgiin(1os \elocitlad tle r o t a c i h del tlisco: 3.600 rr\olnriones por minuto \ elocitlatl tle transferencia de datos: 312.000 hytes por iegundo

iC&l es el tiempo de transferencia tle tlatos esperatlo para un registro fisicw acceditlo aleatnriamente que ocsnpa 500 1)y tes?

3. j,Cbmo r e i p n t l e r i a la prrgunta (2) suponientlo clue se use un dispositivo de tliwo cou la5 cabezas de lectnralescritura fijai. es decir, cada pista en cada cilindro twnr su propia caheza de lec~turalesc~ritura?

4. Usando 10s misnlos parlittwtros dados m (2), suponga clue se guardan 10 registros fisi- ccrs en nna $a. 1Culiles serian 10s tiempos de transferencia de tlatcrs c:oniparativos p w a : ( a ) 30 rrgistros almacenados secuencialmente en el ttiistno cilindro, y (I)) 30 rrgistros almacenados en tres pistas que no se encuentran e n el tnismo cilintiro?

5. Si lab facilidades de coinpactacibn mrjoran el almacenamiento j la recuperaci6n de registros, i p o r quC. no sr almac-enan archivos en un gran bloqne?

6. Suponga que se almac-enan registros l6g1cos en bloques de cuatro y que (10s 1)loques sucesivoi cwntirnen loi registros 11. 13, 14, 19, y 21,23.24,26. Dricr11)a c h o r l sis- trma operati\o localizaria el registro 23.

7. i P o r q u i la org;lnizaci6n cle archivos secuencial wria eficiente para el prcrceiatnien- to de lab n6minai srmanales? i P o r qub n o seria eficiente para rrsponder las deman- das de 10s usnarios?

8. j.Por qub nrcesitamos otros mktodos de organizaci6n tle archivos, a pesar de cjue la organizaci6n secuencial-indexada poser a m l m ttibtcrdos tle accesos a registro, srcwencial y directo?

Page 372: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

9. Use el algorit~uo del wciente c:uatlritic:o de hash para c*alrular la d i r e w i h rrlativa en la clue se ahnacenan 10s aipuientes registros. Suponga 1111 factor tle carga cle un 80 por 100. ~ C u i n t o s hloc~ues s r nerrsitan si 6stc es r l archivo c.oinplrto? (Asurtia un rragistro por 1)locpe.)

Clave Nombre

14 Smith 24 Bean 28 H a r r i s 23 S c o t t

10. Suponga clue 1111 algoritino hash d i ~ ~ i i i i i c o ohtirne 10s siguirntcs hits d r mayor-crrtlrn p a r a las (*laws dc tletrr~iiinados rrgistros. Mncstrr c6mo rstos registros sr indcsan J- alnlacrnan. S i p el rjrniplo mostrado (-11 el trxto, y suponga clue s r insrrtan r n el ~uis- mo orden srgiiido r n el r j m q h :

12. Construya un B + - i r h l con lob 3iguirntrs rrgistros: 20, 63, 34, 56, 43. 89. 45, 68. 52. 54, 14, 19, 7, 70 y 82. Con it = 3.

13. Muestrr c h u o s r r t y ~ w n t a r i a la red tle la Figura 10.lE si: a. Usando punteros hijos-y-hcrmanos h. Usaiido un indicr (.on pnnteros de t l i r rwii~n c. Una estrurtiira tle anillo

14. Constrn? a un diagrama d r un modrlo tle datos jer i rcpico y muestrr c h i 0 sr rorres- poideria con m a rrpresentaci6n fisica.

13. Construya 1111 diagrama dr m a r r d bimplr y murstrr c6mo se corrrspondrria con una represen tac ih fisica.

16. Construya un diagrania de una red cwmpleja y murstre c6mo se corrrspondrria con una representaci~jn fisica.

Page 373: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

ORGANIZACION FISICA DE LOS SISTEMAS DE BASE DE DATOS 3 5 9

17. Conitruya dos relar imes para l a i que "-a nece5ario hacer m a reuuihn para iatisf'a- e r r una drmanda del usuario. Mwst r r c4mo se u-a el agrupamiento para harer mi5 efiriente la formulaci6n de la den~anda .

18. Construya un ejvmplo de un arrhico clr j ) tnonal ortlcnado por el niimero tle emplea- do e inc*luya liitai cnlazadas para hr indar (*laces secundarias sobre el plan de pagos (?xi-ten trvs tipos: A , R , y C). Tipo c-le c.mpleado (por horas o salario) ! el plan de jubilacihn (X o Y).

19. Repita el 11rol)lrma 17 uiando una li-ta invrrtida.

C L I E N T E ( C L T E # , NOMBRE, CLTECIUDAD) CUENTA(CTA#, T I P O , CLTE#, BALANCE, O F I C I N A # ) SUCURSAL(OFICINA#, FONDOS, CIUDAD)

Esc.ril)a las iiguientei peticionri cle la forma m i i rfirieute:

a. 4ccrso y 1)6squrtl,t tlr 10% fondos J del niiruero de la oficina d c todai las s n r ~ u i a - lei que tienen clientri ~icicmtlo c>n Midway.

A : =REUNION (CLIENTE, CUENTA, UBICACION) B:=SELECT(A:CLTECIUDAD = " M i d w a y " ) [ O F I C I N A # , FONDOS]

b. A ( T M J ! I h i t p 4 a clr loi fondoi y del niunero de la oficina d r todai las surnrba- les que tienen vlientes ~ i \ i e n t l o en Mitlwaj con saldos de depbiitoi mayor qutk $1 .SOU.

A: =REUNION (CLIENTE, CUENTA, UBICACION) B:=SELECT(A:CLTECIUDAD = " M i d w a y " a n d BALANCE >

1 , 5 0 0 ) [ O F I C I N A # , FONDOS]

1. P a r a cada uno d r loi ilguwntrs t~jemplos. escoja ru;il ieria el mttcrdo de organizacihn de archive mhs aprcrpiatlo: a. Un sistema d r l ~ a s r d r datoz de un hospital q n r ioporta sus operaciones d r nrgocio b. Un sistema de pedidos para una firma de manlifactura c. Una agencia de alqruler tle t w h e i d. Un distri1)uidor de yrodurtos farmacbuticoi e. Un sistema de rrglstros de estudiantes en una un iver idad f. Un sistema de r r se r la de hahitaciones en un hotel

2. Ya que lai r5tructuras de datoi fiiirai no estan determinadas ni por el analiita del s ~ s - tema ni por el usuario. jexiite alguna ventaja en formarbs en este tema?

3. Un efectilo agrupmiento de 10s registros para farilitar lab operaciones del lenguajr relational pnede depentler del t i ~ ~ o y la f recuenc~a con que se realiwn distintos t i p s de consultas. Pienie en un ramino que noi puetla guiar en la determinacihn de rOmo a p u - p a r 10s regiztro5.

4. Si tiene acrrso a la informacihn d r un SGBDs. determine 10s t i p s de estrnrturas de datos fisicas que soporta.

Page 374: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

I

P A R T

C UAT

DEL ENTORNO DE BASES DE DATOS

E n la parte 4 aprendrrli temas importantes prrtenecientes a1 rntorno de la hasc de tlatos. tales como la administracibn de la base de datos, sistemas tlistrihuitlos (It: bases dr datos y selec.c:ibn del SGBD (DBMS). A medida

que trahaje ron estos capitnlos, asentari y constrniri el conocimiento desarrollado en pwtm anteriores del libro y aprenderi concrptos que son de importancia creciente para el uso eficaz de 10s sistemas de 1)asrs d r datos rn nuestra sociedad.

El capitulo 11 analiza las funciones del administratlor de la hasr de datos (AHD, DBA) p examina las tdcnicas actuales para proteccihn de la base de datos ante un acceso no autorizado, asi como la manera de asrgurar la integridad de sns datos. El capitulo 12 considera el r ipido desarrollo de sistemas de bases (It- datos distrihnidas, en 10s que se conertau las 1)ases de datos por enlaces de comunicwiones para permitir una comparti- ripacihn n ~ i s amplia de las haws de tlatos. El capitulo 13 considera el tema de la selecciirn del SGBD. ~ Q u d factorrs son importantes? ;,Chmo se pueden medir y evaluar, y curstio- nes relacionadas?

Page 375: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

Y EL CONTROL DE LA BASE DE DATOS

Adrninistracion de la base de datos: Una vision panorarnica

Funciones del A B D

Comunicacion con 10s usuarios

Establecimiento de normas y procedimientos I. Analisis y rutas de 10s inforrnes de pro-

blernas

2. Supervision del Hardware y del Soft-

ware 3. Pruebas

4. Seguridad

5. Copia de seguridad y recuperacion 6. Evaluacion del rendirniento

7. Cornprobaciones de integridad Objetivos del A B D

lntegridad de la base de datos

Restricciones de integridad en SQL Restricciones de integridad en Query-by-Example Procesamiento de transacciones

Control de la concurrencia

Seguridad de la base de datos Autentificacion (Autenticacion)

Autorizacion y vistas Tipos de acceso a las vistas

Vistas y seguridad en SQL Cifrados

Metodo de sustitucion simple Metodo de sustitucion polialfabetica

Recuperacion de la base de datos

Fuentes de fallos Procedimientos de recuperacion

Diar io de operaciones con actualizaciones

diferidas

Diar io de operaciones con actualizaciones inrnediatas

Puntosdechequeo

Resurnen

Preguntas de cornprobacion Problernas y ejercicios

Proyectos y cuestiones profesionales

Page 376: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LA ADMINISTRACION Y EL CONTROL DE LA BASE DE DATOS 363

E n /(I re111ri611 S C I I I U I L U ~ del prrso~irrl rle la c o n ~ ~ t c r i i r ~ Servicios tlr Corrsdtorio Vlanwaririg. el mr i r~ to p r i u c i p l se r(feriu (11 informe sobre el estatlo rlr. 10s diversos 1Jroyrcto.u bujo coil- trato. /,(I rnrrjoriu de 10s proyertos irr~~olrtertrbor~ el discGo y PI desorrollo dc hnses de tlntos: sin c~rnburgo. b;lrrrc~ Vordlund diripitr lrrl p r o y e t o c u ~ u utenci6n prirwipul estuba cJri lou uspectos cidrrlirlistrcrtit.os y d e control. Joan lilurricwring p n s c i que porlriu ser ins- trlrctivo puru 10s otros urlrninistrudores d e proycJetos uprender s o b r ~ e ~ t o s (r~pectos y ( ~ h o ill ccpipo tle Elmer 10s trutubu.

Jonir pr(>guntci: "Elmer, 210.9 prohlernus ticriicos d e 10s sisternus tlc bases d e (lato.\ eat611 sc~purtrdos tlr los uspectos citlrrririistrutiz~os y (le control? H e oitlo rlecir (I varicrs per- s o w s p c J lu blreiirr gesti611 es la buenu g~hticin. qtie 10s principios efectivos d e lu pcsticin no v u r i c i ~ ~ cou 1i1 tecnologic~ . "

Elmer movici lu c a b e x . ''Fluy d g ~ i n a justificucii)~~ p r ( l ese punto de vista, p r o , tril como veo / u s coscis, trrnbo.\ no pueden corzsiderurse reulmente por separado. Dr hecho, rncorltrarnos p c J ulgunos prohbmus se 1)ued(w rlasificur facilmerltc. en lin cumpo o PII ('1 otro. Prrru mi las irriplementucior~~s exitosm de 10s sistemus d e buses de dntos estcin ucompu- ricrtltrs siemprc~ cle lirrcr comprc~nsi6n pro/irndo de 10s uspectos administratilw y de control."

adnlillistrador cle 10s datos (ARD. tm ingli.5 t)B(i). Dirertivo cuyas rrs~)o~~sal)ilit lades se centran rn rl establecin~iento d r las politicas y 10s ~ ) r o ~ w h n i e n t o s para c.1 sistr~na tie informari0n d r la organizariirn.

administrador de la base tle datos. Dirwtivo cuyas responsa1)ilitlades se rentran rn la gestihn tic 10s aspectos t6rnic.o~ tlel sisttma de base tie tlatos.

os sistvmas de inf~)rnlaci;ln se consideran cada vez mhs cwmo recursos t p r recluirrcm nna hurna gvstihn, asi como tambi6n d e b u m a s (.a-avtc:risticas t k - nicas. Dado que 10s sistcmas de bases de datos frec~nentemente forman el

niicleo dr l sistrma de inforniacicin de lina organizacicin, constituyen el foco tir rnuc.11os aspwtos adnlinistratiuos a 10s qne nos referirrmos en este ca1)itulo. Dcspuis tlr Irrr este capitulo. t1cI)eria ser r a p z tle:

Explicar la importancia de la gvstitin de las bases d r tlatos. Intlirar y tiescrihir las fiincionrs tie1 administrador d e las I m r s tle tlatos. Estodiar (-6n10 puede mantenerse la integritlad d e 10s datos. Descrihir 1:6111o puede impl(~rnentarse la srguritiad de 10s datos. Indicar 1as fnentes de fallos cie las hases d e datos y comparar 10s diversos mi.totlos cic recnperarihn.

Gestih de la base de datos: Una visi6n panorhmica .A la acinlinistraci6n tic la base de datos le conciernr bisicamentr el asegurar que la infor- macibn prwisa y consistrntr estC disponihle para 10s usuarios y para las aplicaciones cuan- (lo la necesiten y en la forma requrrida. De este modo, r l ABD interactiia tanto con el sis- trma como con 10s nsnarios (Figura 11.1). Algunas organizaciones han dividicio la res~)onsabilitiad tle administrar 10s recnrsos del sistema de informacicin entre un adminis- t rador de 10s datos (-4D) y un administrador d e la base d e datos (A4BD). En estos casos, las responsa1)ilitlades de 10s AD se centran comi~nrnrnte en el desarrollo dr 10s procedi- mirntos y de las politicas generales para el sistema d r informaricin, mientras q u r las res- pnsabi l idades dr 10s ABD tiendrn a ser m i s ticnicas, tal como se sugiere en la Figura 11.1. El ABD se preocnpari por cuestiones tales como la determinacicin d e las definicionrs cir 10s datos: r l tlesarrollo de programas para generar la informacihn necesaria; la inclusihn y la e1iminat:icin de 10s datos tle la base d r datos; la implementacibn d e 10s controles d e seguri- dad e integriciad; y la grsti6n de las operaciones de la base d e datos.

Ademis d r estas responsabilidades primarias, el ARD debe jugar un papel primor- dial en la planificacihn y el tlesarrollo de la base de datos, asi como en la formacicin de 10s usuarios. Esta educacicin incluye i reas tales como:

1. La manera en que la trenologia d e las bases d e datos puede ayudar a 10s diversos niveleb dr ciireccicin (importante para ganar y mantener el apoyo a1 sistema de hast, d e tiatos por parte de la organizaribn).

Page 377: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

2. El tlrsarrollo tlr rxprctativas rtdistils p a r a el sistema d e I)ilsc. tlr (lato3 (itupor- tantr para tlisuiinuir las qncjas tie 10s usuarios).

3. Pi~ocedinlientos para r r s o l v t ~ rl ~ 1 1 ~ 1 ~ l r u i a tle la informaciOn (iuiportantc. 1)al.a nlantrner la rlit.atia (11.1 sistrma y la satisht*t.i6n dr l usuario).

Sr c c l ~ t r a la atrncihn 1.11 rl 1BD. \ a cine las rcsl)onsal)ilitla(I(~i tle rsta f 'unc ih se aso- * .

rian dirertnnientc con t.1 sistrma d r I)aw (11% tlatos, considvrando clue niurhas tlr las res- ponsal)ilidadcs tlel 41) e ~ i s t r n 1.n cua lqu~er organizac.icin ~itiliza datos ~ucc.anizntlos. P o r ejrnll~lo, el rstal)lrtimientt, dc 10s l~rocrtlimientos para la oh t rn t i i~n ! la \ ;ditlati011 tle 10s datos pu tde ser ])art? d r la rr~l~oiisabilitlatl del Iwro rsta rrst~o~isal)ilitlatl uo deprndc del uso de un sistema tlr h a w (It. tlatos.

A u ~ i c p r hay variaciones rn cuanto a la posicihn n a c t a (pie o c n p el ABD t.n el tlia grama orginicw, en la Figlira 11.2 (a) s r sugierv una localiznc4'm razonal~lr . l q u i rl fun- cionario pr inr i l~al tle informnc.ihn (CTO ' ) respontlr a1 fulicionario atlministratibo print-i- 11al y ta1 ABD responclr al CIO. Si la coml)aiiia tuvirra un ,ID, el .4BI) potlria t raht iarsc. desc-rndentrmmt(~ una po,sicibn, rrsl)ontlirutlo entoners a1 1 D (Figura 11.2 (I))).

Euarniiit~mos ahora las funtionrs rspecificas q u r 11nedei1 constituir la rrspous;~l~ili- tlad tlel ABD.

Funciones del ABD [,as funciones del ABD genrralinentc~ purdrn prr t rnecrr a las i r r a s ilr c o m u n i r a t i h con 10s usuarios de la hasr dr tlatos; la planificaci6n. el tliseiio y la implcnientacibn tle 10s sis- trrnas de hascs d r datos; (:l rstahlecimir~ito tie normas y proc:rtliniientos. La ~)lanifit:at:ihn. el disrfio y la implrmrntat*ibn d r 10s sistrruas d r 11ases de datos s c hall estndiado en 10s capi- tulos anteriorvs v s r excl~tycm d r la disc:usihn q u r sigur.

Comunicacih con 10s usuarios

Los sistrmas tlr haws tie tlatos f r r c . ~ ~ e n t e n ~ r n t r tirrien t r r s componmtes: r l central. una h a w de datos ampliamentt- utilizatla que contiene la mayoria de 10s clatos ( 1 ~ la f i r n ~ a ; varias haws de datos fiincionalrs (v. g.. para la conta1)ilidad) utilizatlas por un cwnjunto

Page 378: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LA ADMINISTRACION Y EL CONTROL DE LA BASE DE DATOS

Funcionario ejecutivo princ~pal

1 . . . .

Funcionar~o principal de inforrnac~on

. . . . I

I

de la base de datos

Adrnmistrador de 10s datos

Adrninistrador de la base de

datos

tuis limitado c k programas; y, quizis, unas p e a s haws d r datos dedicadas, utilizadas para una apliracicin unica (e. g., una base de datos de farturas de materiales). Aqui el asperto organizativo m i s importante consiste en q u r el impacto general a1 implementar un sistema tlt. l ~ ~ s c de datos es la centralizacicin t k una portihn significativa de 10s datos de la firma.

La centralizaribn de 10s datos mrdiantt: un sistema de base de tlatos tiende a eliminar la p r o p i r t M local de 10s datos y a retlucir la retlnnt1ant:ia. La propiedad y el control se transfieren a1 tliccionario de tlatos central, c p r almacena el registro de la propieclad y el uso tle cada delnrnto tle 10s datos. Ese camhio clrl control sohre 10s datos pnede generar resistencia de algunos usuarios. Esta resistrncia purtle mitigarse etlucando activamente a 10s usuarios con respecto a las ventajas cle aprender la tecnologia de las bases de datos: cOn~o 10s puede hat-rr m i s rfrc-tivos y tfirientes en sus tareas. El ABD, en rooperaciirn con 10s cfrcctivos de m i s alto nivel. d r h r garantizar rsta r t lucac ih .

La tletisibn tlr implenlentar un sistema tlr h a w tlr datos generalmente exige un con]- promiso de camhios in~portantrs en 10s niveles operatives de la organizacibn. El ABD pue- de fomentar la areptaricin de estos camhios promotionando el sistema de base de datos internamente crntm d r clue comience su implementaciirn. La importancia de preparar inicinbros rlaves del personal para la implementacibn de un sistema de base de datos t-s

dificil cle sohreenfatizar. Algunos asprctos de su trabajo actual puetlen ser "asumitlos" por

Page 379: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

r l sistrnia dc bast. d r datos y las r s t rwturas rs t indartv d r disriio para 10s sistrmas y los programas p~ec len c:aml)iar signifit:ativamrntr. Cumplir con la preparacibn dcseatla putliera int*luir prrsrntaciones t:speciales a 10s tlirectivos. jornadas de entrruamirnto para cl personal claw, y, posiI)lemrntr. el uso clr twnsultores rxternos. Comilnmcnte. la capaci- tacihn es la fareta uiis importante de la prel)arati6n p r a el t.aml)io.

El t~ntrci~amiento dehr d a r k a1 pwsonal una visi6n amplia dc la funcicin de un sistr- ma de base de dntos como ~ ~ a r t e integral del sisten~a tle informac4bn de la emprwa. asi w m o ta11il)i~n d a r k una guia especifira con resprrto a cbmo 1~1trde utilizarst* en las activi- dacles diarias drl usuario. Para tenrr bxito. el tmtrei~amicmto dche twnsitlrrarse cvmo un protarso contiuuo impulsatlo por nuevas cwntratacionc~~ nurvas versiones dt. software y rl tlesarrollo de aplieat*ionrs nurvas o nirjoradas.

Estableeinliento de normas y proeedimientos

La adniinistratihn efrt'tiva d r ulia 1)ase d r ~latos recpit:i-e el estahlccimicnto de normas y pro- t*tdimientos uniforn~rs. Sii prop0sito cwnsiste m niantcbner t:1 control de la srguridad y la inte- gridatl de 10s datos d r manrra rficientc. Las normas scb apliran ~rnrticularmrnte a1 twntrol tlrl drsarrollo y drl uso dc la programaribn y de las operacionrs d r la l~asc. de datos.

En el area d r la l ) rogran~at%n~ las normas sc estal~lrcvn para asrgurar qur los pro- gramas se revisen y se p rue l~ rn adrcuaclamrntr antes de ponerlos en produccibn. Estas normas puetlrn r r t pe r i r una revisi6n por una srgunda part(. competente. asi cw~uo tam- hibn el uso de datos d r prurha para rvaluar ccimo un progrania grstiona tanto 10s datos corrcctos como 10s rrrhnros. El prot:rtlimirnto usual iricluye la doc~umrntari6n dc 10s resultados de las 1)rurl)as.

En el i r e a d r las oprraciontxs, las nornias puedrn estahlecerse para maritener 10s dia- rios d r operacionrs d r las transaccionrs y se erran 10s procedimirntos para la correcciOn d r 10s r r ror rs , para el tratamiento de 10s puntos de twntrol y para garantizar la copia d r srguridad y la recuprracibn.

Las organizacionrs qur trngan pocas nornias y procedimientos podrian rxprrimentar mayorrs dificultades a1 pasar a un amhiente de hases do datos, ya que las rstadisticas demues- tran clue la gestihn intrgrada de 10s datos, facilitada por 10s sistemas de haws de datos, requie- re normav y procedimientos huenos y comprensi1)lrs. Eaaminar las nornias en uso de otras organizaciont:~ que ya utilicen sistemas dr bases d r datos puedr serlr Gtil a uua organizacibn que comirnce a impkmentar un sisteina d r base de tlatos. Por ejrmplo, las funcionrs s ip i rn- tes forman el n k l e o de las nornias y 10s procedi mientos en la compafiia Zeus Corporation.

1 . Andisis y rutas de 10s irlforn~es de probkmas. En Zeus sr estahlccii) un sistrma formal para el informe d r 10s problrmas a fin tit. poner en conorinliento del ABD todos 10s I

I

errores. Los infornirs de 10s problemas se analizan para drterminar la causa 1rrobahle dc. cada prohlema rrportado. Entonces, 10s inforrnes se p n r n a la disposici6n del dirrctivo o del grupo de usuarios apropiatlo. Cada informr d r 10s prol)lrmas contiene un diario tlc operacioties (log) completo (momento y 1ot:alizacibn clrl prohlrma) y la informaci6n des- criptiva. Cada infornie requiere una respuesta formal del iniciador del mismo clue especi- I fique cbmo se ha resurlto el problrma. i

2 . Supervisibr~ dpl hardware y del software. El estado de todo el hardware y el soft- ware se controla regularmrntr y se t:onfrc:cionan informes de 10s fallos y d r Ins awiones consiguientrs para 10s directives y 10s grupos d r us~iarios. S r dehr h a w r el an6lisis pori6- dico de 10s requisitos d r hardware y d r software, clue wnstituye la hase para las tlecisioues acerca de su reemplazo y renovaticin y clue incluyr las necesitlades de mrdios adicionales para el almacenamirnto de las bases de datos.

1 3 . Prueba. Las pruehas para la aceptacibn del rendimiruto s r diripen a la evalua-

ci6n de todos 10s procedimientos nurvob, el software y el hardware. Las comprohaciones de las estructuras y d r la consistenria de la base de datos se realizan sobre hases rrgularcs.

Page 380: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LA ADMINISTRACION Y EL CONTROL DE LA BASE DE DATOS 3 6 7

procesamiento coiirurrente (cone-nrrenc-ia). Ocwi-re cuanclo tlos o inis transat.rioiies pitlei1 aweso caont*ui-renten~eiile a nn niismo regislro tle la base de datos al)roxin~atlaillc.ntc. a1 ~nisiiio ticmpo.

integritlad tle 103 datos. La exactitld ! la ronsistenc~a de los datos alniacenados en el sistenia de base de datos.

seguridad d e lo, datoa. Se refiere a la proteccicin del sistema de hase de datos ante nsos ma1 intencionados o no autorizados.

proredinliento3 d e r e c u p e r a c i h de la base d e datos. 1,os medios nlediante los ruales una hasp de tlatos qne se ha corronlpido por dcsptdectos puecle rcstahlccerse a un estach correrto 1 cwnsistente.

4. Seguridad. El1 consulta cou 10s directives de Zeus. las c1asificacionc.s tic. la styn- ritlatl se irnplernentaron tic, inotlo qnc. itlt.ntifit*an qui. grnpos tle usuarios e s t i i ~ a~ltorizadob a teller act'eso a 10s elernentos tie los tlatos espet-ifitws en la 1)ase tie tlatos > (1116 acciones p11etle11 ejwutai- sobre ellos. 1,as operaciones tiel computador se snperr isan frccnentcn~cil- tc. para a s c p r a r clue estos controles tle acceso funcionan dc la forrna r c ~ ~ n t ~ i t 1 a .

5. Copia d~ segiirirlcrrl y rwliprcrcidr~. Los ~roceclirnientos de respaltio ! de recu- peraci6n se pruehan regularrnente para asegnrar su eficacia en la restauraci6n tie la base tit. tlatos tlcspu4s tie cualquier interrupcihn tlel serPicio. Se ha diseiiado un pla11 para r a w s cle desastres (para r t ~ s p o n t l t ~ a clc=,astrcs naturales, talcs (wino inunclaciones o averias elkc- trivas) ? se prueba perihlicarnente para garantizar que funcione.

6. Evnliinci6rl deZ rendirniento. Se han asignatlo prioridades a las ac t i~ idades clue cwnpiten por 10s re(-ursos dc la h a w de datos, talcs eorno el procwarniento cle las transac- ciones, la generaci6n de 10s inforrnes y el tratarniento de las consultas. El rendirniento dc1 sisterna se twntrola a traP6s de estadisticas sohre el volurnen dc las transawiones. el tiempo cle respnesta, la tasa clc errorcs ? la utilizaci6n del hardware. La entrada se olbtiene tle 10s nsuarios del sistenia para cwntrolar su satisfac-cihn cwn el rendirniento del sistema. Tan11)ii.n se registran el crecirniento y el taniafio cle la base de datos. Los programas dc eupansii)n tle archir os y las reorganizaciones cle la base de datos se ejecutan siemprc clue sea necwario. Los diarios de operaciones de las actiPidades y de las terrninacionc.s anorrnales se revisan. extra?C.nclose de ellos resirncnes que se p rq)a ran para la \aloraciOn cle los tlirectir os.

7. Coriy~robnciones de integridad. En Zeus se han desarrollado planeb para prol)ar la in tep idad dc. 10s datos almaccnados cn la base ( 1 ~ datos.

Objetivos del ABD Como se pnede Per. una gran parte del esluerzo inPolucrado en la adn~inistrac*ihn cle la 1)ase de datos st. rcficrta a1 ascguramicnto d c la calidad ? de la clisponihilidad del sistema de base cle datos. Esto est i en twnsonanc-ia cwn los ohjetiPos basicos del iBD: mantener la integridad, la segnridad ? la disponihilidad de 10s datos.

Una base de datos tiene que protegerse de accidentcs, tales wrno 10s errores en la entracla de los datos o en la prograrnaci6n. del uso ma1 intencionado de la base de datos ? de 10s fallos del hardware o del software, que corrompen 10s datos. La protec~icin contra ac.c.ic1entes. clue oc*asionan inexartitudes en 10s datos, es par te del objetiPo de garantizar la integridad de 10s datos. Estos accidentes indu?en 10s fallos durante el proc.esarniento de las transacciones, 10s errores lhgicws que infringen la supos ic ih de que las transacciones pre- servan las rrstriccionrs d c consistencia de la base de datos ? las anomalias debido a1 acce- so concurrente a la base de datos (procesamiento concurrente).

La protwciOn de la hase de datos de usos ma1 intencionados o no antorizados se denomina seguridad de 10s datos. 4unqiie la linea diPisoria entre la integridad y la seguri- dad de los datos no es preclsa, una def in ic ih de trahajo puede considerarse cwmo se indi- ca a continuaci6n:

1. T,a integridad se encarga tle asegurar clue las operaciones ejecutadas por 10" usuarios w a n correctas ? rnantengan la consistmcia de la hase de clatos.

2. La segnridad se enrarga de lirnitar a 10s usuarios a ejecutar inicarnente las ope- raciones permitidas.

La posihiliidad de fallos de hardware o de software requiere tambikn la irnplernenta- cihn d c procedimientos d e recuperaci6n d e la base d e datos. Esto es, tienen que pro- porcionarse rnedios para el restablecirniento de las bases de datos, clue se hayan corrornpi- d o por desperfectos del sistenia, a un estado uniforme.

Estas facetas de la gesti6n de la hase de datos se exarninan en las secciones siguientes.

Page 381: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Integridad de la base de datos l lna twndicii~n o IimitaciOn t p e st, a11lit.a a tin t-t~njimtl) 1)articular tle tlatos usu>rln~entt~ se tlrnomina control clr. iiitepriclad o rcstricci6n. t'or ejeml)lo, 10s valor?.; tle las lioras tra- l~a jadas en una semana ~ lodr ian limitasse a hO horas. o mtmos. Los twnti-oleh (It, intrgritlatl se disedan para minimixar 1as inconsisttmtias tlr 10s datos: ocasionatlas twautlo 10s usua- rios o los prograinas tle al)lit*atihn taomcXten rrrores c.11 la entrada tlr tlatos o t~nnl)iantlo 10s tlatos tlr la hast. de tlatos.

Al i n q ~ o n w restrit~ciont~s s r i n i n t i t ~ ~ ~ so1)re los tlatos, cs ~ ~ o s i l ~ l e clue t.onfieums razo- na1)lrnwntt. en tluc 10s rontenitlos tlt. la I)asr tle tlatos son corroctos >- clue no I-xisten ~ I I I ~ I I -

wcnencias tbntre 10s tlatos. .hnquc. lab wstrit*c-ionrs de intrgridad sc ;rl)lit.an a totlos 10s ~not l r l t~s tie 1)ast.s dt, tlatos. (e . g.. sr I ) i ~ r d e n ;rl)lit*ai- restrit.ciones tle rrtt~nc-iOn t1v conjunto cw las rrtles), la ~nayoria de 10s tltw~-rollos at*tualer: sc aplican al niodrlo rt.lac.iona1. '\ 1)ar- tir de a l ~ o r a . el rstudio stx cen t ra r i tsn ello.

En la trrminologia del motlelo rt4ational, 10s cwntro1t.s (11. ii~trgritlatl stb l)~iedtm apli- var a (1) atril)utos intlivitluales. ( 2 ) la intersrlati6n rntrt, (10s a t s i l ) ~ ~ t o s tlifert.ntes (qnixbs en relationes tliferentes). o (3) la relati6n entre tnldas d r nna o ni is taldas. Itlt~aln~ente. la apliracihii de las restrictionrs dt. integriclacl delwria rfertnarsr 1)or el SGHI) auto~nit ica- nirnie ceda \ r z q w scl iutrotluzt*a uu nuevo c~lrmento de los datos. ( 1 ~ 1 s tlatos clue no satis- f'agan las rrstriccioiit~s esta1)letitlas se rrt-hazarian. por ejrmplo. por mtdio dtl 1111 m t m a j r de error.) Ursafort~~nadan~t .nte . tbii la actualidad pocoh SGBDS no of'retwi inis true c a l m - dadrs muy limitadas ~ ) x - a i~11l)ont.r restric8t.ionl.s.

Una ;dtrrnati\u twnsiste r n e s c d ) i r Iwogramas tie apl i t~wi6n 1)ara controlas la entratla de todoh Ios (laios a nna I)asr de tlatos. Esto pelmitc mayor flt.xil)ilitlad ! alcancr a1 al'licar tliferentes ti1)os tic. s rs t r iwionc*~. Sin ta~nhargo. el ~lrsarsol lo tlr tales 1)rogratnas lmrtlr t-onsnniir gran tieml~o. A vecw 1)l~edtm utilizarsr a n h o s m6todos conjuntamtmte. El SCBD sr utilizn 1)al-a c.xtentler SII cal)atitlatl lw-a 1;) supervisiim (11. las I-estrictionrs seniLi1- ticas; entoncra. 10s 1)i-1)gramas (11. al)lit*acihn st. tlesarrt~llan para las uetwidat1c.s q i ~ v no p d a n s r r inant.jadas pot- 1'1 SGBD.

Restricciones de integridad en SQL Estas se ti-ataron con cirrto detalle en 10s Cal~itulos 7 y '9.

Restricciones de integridad en Query-By-Example

dlgunos sistemas t p e utilizan t.1 Qnt~ry-Hy-Exarnl,le (QBE) inantirnen una tahla d r res- trircionrs para cada selac~i0n. Para t w a r nna restric.ci6n sohrr una relacibn K. stL rsea uu esqiieleto dr tahla para K. Se introtlnt.rn una o m i s l i ~ ~ r a s lm-a e q w i f i c a r las rc.strictio- nrs. Conio sc mnrstra r n la Fignra 11 3.

I . CONSTR ( I . , U . ) . I .

se introdnw juhtamentr d r l ~ a j o del n o i n h e de la relac-ibu INVENTARIO.

INVENTARIO

I. CONSTRU (I., U.).I.

NOMB-ARTICULO NO-ARTICULO BALANCE

> = o

Page 382: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LA ADMINISTRACION Y EL CONTROL DE LA BASE DE DATOS

tra11sacci611 n~bmica. Ijna transawii~n c.11 la rnal totlit* las ac.c.lonc%s asoriutla~ cwn rlla sc3

t.jrc.nlarl t.on~l~lrtarnc-r~tt. o ningnna sta rjrtwla.

I . CONSTR (<lists de c o n d i c i o n e s > ) . I . < r e s t r i c c i o n e s >

La 5renntla I. 51% rrf i r rr a las rntradas crnr drfiurn la rc~str ic~i im. I,a liita (It- c .o~~(l ic iol~rs p n d r c:ontrlic.r I. (1)ara i ~ l h ~ ~ . t i ~ r ) ? D. (para Imrrar) ' y I;. (1)iu.a nctualizar o motlificnr) :'. o c.nal(luirr c~)1iil)inac.i611 tlr 1.11;ts. En la F i p r a 11.3. s r I I I I I ~ ~ S ~ I Y ~ la rrstric.ciOn (I(: 10s halaw w s 11t.1 in\ rntario a nilrnrros positi\os r n la c d ~ u n n a B.4L.4NCE. CONSTK (I., C.) intlic.;~

rntrada rs l ~ n a cwnitantr. rntowc-s la t u p h (juc stb inwrta , qnr i t . 1)orra o clur s r actui~liza clrlw t r n r r tlirho \ alor twnstantt, r n ric. atril)uto. E n la Fignra 1 1 . 3 i r m w i t r a una rntra- d a tlv la forma k c , don& c rs m a c.onitantt> (0) y X. r i 1111 o p t x d o ~ . '1ritn16tic.o dc vornparn- ri6n (> =). Esto indica qur la c*onrponrntch c.orrripondirlitr dtb nna t u l h tlrl~c. cSncont~-arir r n la rvlat*i6n 6 twn rchslwt.to a c. sieinl)rr tluch la restricc-ihn i r apliqur a la tupla. I<II r l rjrnil)lo. vita iig11ifit.a q u r sirnq)rc, cjur sr rntrv un \ alor rli la c d ~ ~ i i u ~ a HIL43C:E. r i r

Y;I t.011 1.1 ('arii('trr (I(' inl,ra! atlo: aml)os c-aioi s ign i f i t~~n cjur el \ a10r tlr r s r a t i - i l ~ ~ t o ~ ) u r t l r s r r ar1)itrario. P;stu carac.trriitit*a w utilizn r n t.1 i c y ~ n d o rjrnil)lo (11% QHF:. en r l cluc5 i y ~ i r t lrira pcwuitir Iln cw4ito d r \ rn tu a iiicXnoi tlltr r l clicwtr al)at-rzt*a thn la 1-rlac.ih11 (:RED1 TO- \I'KOB4DO. En la F igwa 11.4 w niuestra r t a roitriccii~? tlr intc.gritlat1 utilizautlo ()BE. Sr iolic*itaii 111s ricl~lrlctos \ E:NT1S-4-CKEI)ITO ! (;REUlTO_1PROB WO ! i r

Procesamiento de transacciones

Otro cwnrrl~to ascwiado con la intcgritlad tic la Ijase clr datos sts drnoniina t ransac~ii in tlr la I m r dc clatos. l jna trausacci6n c.s una unitlatl dc programa cwya c.jvc.wihn caonsr ru la twnsistr~icia d r la basr t l ( . tlatos. Si la h e de datos (41 r n un estado c*onsistente antrs tlv la c- j t~uci6n d r nna trilnsat*tiOn, elltonws la 1)aw clr tlatos t ld ) r c.ontir~uar en 1111 rstaclo c.ol~sistrntc: desp116s d r su c.jrc.nc.ihn. P;wa asrgurar (:stas cwndiciones. las transaccionrs tick- ntw 111w s r r ati)micas. lo (111~ sig11ific.a ([nt' las acciones asociadas cou la tra~isac-rihn o s r r j r rutan totlas hosta c.1 final o ningima se r jwnta. Por rjemplo, una transaccihn para regis- t ra r r l pago d r 1111 dicmtc. tlr $500 puvde incluir las ac.c.iones siguirntvs:

I. CONSTRU (1.).1. / nornbre I

Page 383: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

diario de operaciones. lrn registro tlr totlas las tratlsact*iones y 10s t,alnl)ios t.01.reh11oti11ir11tcs en la haw tlc datos.

Quizis rl scguntlo t)aso fa&. Eri~onws, las twentas cjuetlarian fuera dc 1)alanc.e. La F igux 11.5 muestra quI sucrtle rtlando estas at~cionrs sr tjrtwtan conlo nna stbric. tle Ijasos i n d r l ~ r d i r n t t ~ s (a) y ellando sc rjc.cutan conto una transac~i611 athmiva h i c a (11). El p i ~ t o c4aw cst i en cjlw cnando las at*ciones se t.jrcwtan automiticamtwte y una M a , cntonces, nin- gim t.ain11io sr aplit-;I a la I)asr d r datos. Sc. (lice qur tlic~has transacc~iones llau ritlo tw~rrlaclas.

Para soportar rl 1)rotwamiento tle una transaccihn, un SGBD dtslw rnantencr un registro tle la transaeci6n con c r d n carnbio tiutL se hizo en la 1)asr clr datos. La nianera en qu(i estt" se logra cwnsiste (w utilizar un diario clc operat:iones ( lop) . Cuautlo uu clirntc h a w un pago d r $500 sobl-I* la vurnta. las awiones d r la trausacci6n i n r l u y u (1) at*rrtlitar la cuenta drl clientv y (2) d e b t a r la ruenta ell raja. Unrantr la e jecuc ih tlr la trar1sacci611. todas las operaciones tle twr i tu ra dvl)en tlt.Ieprsr liasta clue la hltin~a artihn tle la tran- sac.ribn haya sido ejecwtatla. IJas ac~ualizacionrs resultantrs se rogistran eu el tliario dc operaciones de la t ransac~i6n . Cuando todas las awionrs hayan sido ejrcutatlas. sc utiliza la inforniacibn tle ac.tualizacihn rrl el diario tle operaciones para escri1)ir la inf'orn~aribn ac.tudiz:rtla en 10s registros apropiatlos ( I t s la hasr tle tlatos. Si (4 sistrlna falla antes clue la ~r .answc:ih se c'jrt.utc: cwn~~lrtarneritr, la iuformaci6n tlel tliario (It: opcracioncs nunca se escril~e tbn csos registros. Sr profuntlizari n ~ i s acrrca tle este tliario tlc oj1cri1cionc.s en la tliscusihn de las 16t:nit.a~ de retwprrari6n.

Control de la concurrencia

Supngamos clue la Liga tle Mujrres h t a n t e s (LMV) en Smithvillr tiecitle t rner m a Cena de .lamb y P a w . La CLlnara II~. Comrrcio (CC) t:n el eerrano Johnstowr~ tlrcitlr qne rs tam1)iGn tirrnpo tlr preiniar a SIN n ~ i r n ~ h r o s (.on uiia Crna (It, J a m h y Haha$. 2 4 ~ h a s organizationes contactan (.on rl crntro tlr tlistriI)uc~ii,n tlr Alinirntos tlc la Ciutiatl. La 1M\ qnit:w 25 janiones; la CC quicre 35 jamonrs. Amhas 6rtlenrs sr transmitrn al sistrma tlr

A M Resultado

CUENTA CLIENTE_A/R CUENTA CLIENTE AIR

CLIENTE N O BALANCE I . Pago CLIENTE NO BALANCE

(a) Resultado de la aplicacion de las acciones independientemente

...... .... CUENTA EN CAIA CUENTA EN CAjA

BALANCE 2. Fallo dei BALANCE

CUENTA CLIENTE N R Transacc~on Resultado

.... ......

CLIENTE N O BALANCE ...... 1 123 1 1 1000 I I . Pago acreditado de 500

CUENTA EN CAJA

BALANCE

123 1 I 1000 1 acredimdo 1 1 500 [ de 500.

.......... .... 1 1500 1 .......... .... 1 1500 1

.......... .... 1 1500 1 I 1 2. Fallo del sisterna (

sistema

Ningun carnbio en CUENTA CLIENTE N R

N~ngun carnbio en CUENTA EN CAJA

Ningun carnbio hecho porque la transacion completa no fue

exitosa.

(b) Resultado de la aplicacion de las acciones atomicamente

Page 384: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LA ADMINISTRAC~ON Y EL CONTROL DE LA BASE DE DATOS 371

hIocpw. lnipitle el awe- so a 1111 registro cle la haw dc tlatos poi. una segniida transawihn hasta clue la p r i inc~a transac.ciOii haya completado totlas siis aeeioncs.

h a w cle tlntos del dephsito rc.gional a1 mismo tirmpo (Figlira 11.6). La ordim ilia la LMV Ilia- ga llna f i -ac*ch (le un segundo antes (pic la ordcn dc la CC. 1Jna i m a y n (lid rrgistro tle i n \ e n t m o para el j a r t ih sc colora en la zona de trahajo tlrl cwniputatlor. El rcystro tlc in\entarlo nluestra 100 jamones i-n csxistimcw. P w o antibs tie ( p i * i v cwrnldt-tc- la t r a n s u - cihn 1,MF j el registro de in\c.ntario i t . a r t ~ ~ a l i w , la t r a n s a i ~ i 6 n (,(: ol~t~vnc- tam11ii.n iina copia del mismo registro dt* inventwio ~ I W muestra 100 jamont1s en tx~i tvucw. (pw st- ( d o - ca en su zona de trahajo. 4ml)os rvgistros inlicitran i ~ u v la ordim can cmc.st16n pur t l (~ cortl- pletarsr.

Sulwngamos q i ~ e la transawibn LM\ sc. c.oniplrta primer o. El r e ~ ~ s t r o tle iri\ent;u.io rwsc*rito murstra clue quetlau en euistencin 100 - 25 = 75 jamones. 41 c~om1)lrtarse In trnn- sarrihn (I(:, (4 rc.gistro tie inventario se sol)rrrscrilw con 100 - 35 = 0.5 jn~iwnrs en rustell- cia. I N q i ~ e realmente ha sncwlido cs qiic stb han twdido 60 j;rmones de un;l eaistencw t k 100. tl(.jando solamente 40 janiones ell el dephsito. p r o el halance de i n ~ e n t a r ~ o tlel ylste- ma nmcbstra 6.5 jamonrs disponihles. iMontones d r problemas! Estr rjrniplo ilnstra la n a t w raleza funtlamc.nta1 del procrsaniirnto concurrentr:

Si dos o m i s usuarios tienen acceso a la base d r tlatos a1 ~iiismo tiempo y las transar- ciones se entrecmizan (c-omo en el ejemplo anterior). yiieden ocnrrir r twltados inclcwahlvs.

Una manera usual de impedir 10s problemas de la concnrrt.neia se logra in&intc. la aplicaciOn tie una simple politica de hloqueo ( locki irgpol ic~) . En el ejeml)lo l)rcwvltmtc., la primera transai*c.iOn clue llrga hloquearia (lock) (inqwdiria r1 acceso a cwalqnier otra t ran- saccihn) el registro de inventario cie 10s jamonrs (Figura 11.7) hasta clue el prowsamitmto

LMV I

LMV

( I ) Leer el registro de inventarlo de jarnon

(2) Sustraer 25 jarnones

(3) Escrlbir el nuevo registro de inventario de jamon

ciudad I

( I ) Leer el registro de inventario de jarnon

(2) Sustraer 35 jarnones

(3) Escribir el nuevo registro de inventario de jamon

Orden de procesamiento por la CPU

( I ) Leer el reglstro de lnventario de jarnon para LMV

1 (2) Leer el reglstro de inventario de jamon para cc

1 (3) Sustraer para LMV ( I 00 - 25 = 75)

(4) Escribir el nuevo registro de inventario de jamon correspond~ente (EXISTENCIA = 75)

I (5) Sustraer para CC ( I 00 - 35 = 65)

(6) Escribir el nuevo registro de inventario de jamon correspondiente (EXISTENCIA = 65)

Page 385: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

LMV --

Bloquear el registro de la base de datos

Transferir una - - copia a la CPU

Sustraer k-! Escribir el nuevo

registro EXISTENCIA = 75

Liberar el A

de jamdn EXISTENCIA = 100

Solicitar la Copia del I registro de la base de datos

Esperar por la liberac~on del registro

Transferir una

EXISTENCIA = 75

I Transferir una 1 , 4 , copia a la CPU

- - - - - - - - -

1 Fin de la Registro de inventario Escribir el nuevo

Transaccion registro EXISTENCIA = 40 EXISTENCIA = 40

I Fin de la Transacc~on

III. la pr i rwra t r i ~ n s a t ~ t i i ~ n sr c*oinpl~~tc.. Cuaiido nn registro se 1)loquea 1)or nn ueuario. nin- giui otro usuario 1)uedr tcbiier ac-wso a 61 1,;u.a su artnalizacicin. E n cbste caso. la t ransar r i i~n CC no potlria haher tenitlo a t w s o a1 I-egistro trasta t p r la transac*tihri 1,UV st. ronil)l~.t;~ra.

A%nncl~~~ ' este rnfoqne sva sin~l)lcb y iltil. no es scytro. Supongamos clue 1;1 LhIV y la CC: cptieren ortlrnar jamhn y Iuvo (Figlira 11 .t i). S ~ ~ ~ w n g a n t o s t11w la transarcihn LM\ piclc 1)riniero (4 rrgistro d r invrntario d r 1)avo. Coino 6ste e s t i l)l~)clneado. la trankac.cihr~ CC tie- ne aweso prinirro a1 rrgistro tlr invrntario tle jami~n. h i . cstos registros estirl l~loqucados a los c.fet.tos tle su us11 por otros usuarios. En ~)oc.os n~otrit.rito~ tanto la t~-a~isac&)ii LM\ ro1110 la CC h a h r i n c~~iiilrletaclo rl l)roresaniic~r~to de los registros d r invcntario d r jamhn )- tlr 11avo. respectivamente, y rstarhn listos para el a t w s o a1 otro registro. Sin c.nil)argo. n i l ~ - guno clc los dos usnarios ha ron~pletado s ~ t transawihn, or lo que 10s registl-os clue han atwdiclo 1)c rman~~:en l ) loq~wa~los. Est:~nios ant(, una situacicin dc in te r l~ loqueo (dercd- lock), ~ : n la qne ninp'ui nsuario purtlc: prosrguir.

Existrri varios n16totlos tle t ra ta r el intrrl)lotpwo. Un rnfoqne c*orlniste en ortlenar 10s rrgistros c p e se hlotjncan. Esto es. si se tirne acceso a 10s rrgistros A y B. siernprr tierieii que w r at.redidos 6.n ese orden. En el ejrmplo prrcwlente, las solit:itudes tlr 10s rrgistros de invrntario de jamhn y d e p v o podrian reqiierir, en primer higar, el arreso a1 rrgistro de invrntario dr j a n h y, en segilndo liigar, a1 registro de invrntario d e pavo. Si asi fuera. c,s

Page 386: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LA ADMINISTRAC~ON Y EL CONTROL DE LA BASE DE DATOS

cle interbloqueo. Clna comlwo1)aribn prrihdica del SGBD para determinar si la cola de esprra para alpunos rrcursos rxcetle nn lirnitc predeterminado.

hloqueo en dos faaea. Un m6todo de eontrol del procesamiento concurrrnte en el cual todas las operacionrs de bloqueo prrcrdrn a la primera oprraci6n de libcraricin.

hloqueo de lectura. El usuario tienr drrrcho a leer el registro dado.

hloqueo de escritura. El usuario tiene derecho a leery a actualizar el registro dado.

Sol~ccar bloqum pan el regmro de lnventarlo de pavo

Registro de invenwio de pavo b l o q d o J Soliciw bloqum para el registm de

Erpem por la libescih del regktm de mvencario de jam6n por pane de CC

I Espera

;-

para el registro de inventario de Jamon

de jarn6n bloqueado

Soliciw bloqum para el regircro de

Erpenr por h lhberadan del r e p r o de i n v e m depavoprpmedeCC

Espera I

- ;

ficil ver que nunra podria oc-urrir una situacibn de interbloqueo. Cuando la transawi6n LMV terminc el proresamiento, todos 10s rrgistros accrdidos drlwrian ser l i lm-ach para su uso por la t ransarc ih CC. Sin rml)argo, csto puede demorar las opcracionrs. puesto que la espera de las transacciones purtir convrrtirse en un cuello de botrlla srrio. L\clrmis, si una transaccicin tirnr clue esperar demasiado por la lil)eracii,n de un registro. sr puede cancelar y sr 1e l)urdr solicitar que lo intentr nuevamrnte mis tardr. Esto tirndr a formar en los usuarios una pobrr opinibn sobre el sistema d r base d r datos.

Algunos SGBDs rralizan la deteccion de interbloqueo t:omprot)antlo rrgularmrntr si la cola tle rspera corrrspondirntr a un registro o a un recurso es tlrmasiado larga. Otro rubtotlo d r drteccibn se hasa en trazar (litrralmente) una fleeha desde la transaccibn a1 rrgistro qur r s t i sirndo consultado y, entonces, trazar nna flrcha drsdr rse rrgistro a la transarcibn que lo utiliza actualmmte. Si el diagrania tiene ciclos, se de.trcta el interblo- qneo. Esto sr ilustra en la Figura 11.9. Los procwlimientos tlr detrrri6n d r intrrhloquro c:oniplrtan su funcihn cancelando una de las transarciones y avanzando a la transaccibn signirritr en la cola de espera.

Otra opci6n para controlar el tratamicnto concurrente rs el bloqueo en dos fases (two-phuse locking). Se dice que una transacci6n sigue el p r o t o d o d r bloqueo en dos fases si todas lab operaciones tlr t)loqueo (bloqueo de lectura, bloqueo de escritura) prerr- den la primera operacicin d r desbloqueo en la transaccibn. El bloqueo de lectura permite leer un registro, mientras que el hloqueo de escritura, como algo mis que el bloqueo de lrctura, permite tanto la lectura como la actualizaci6n de un registro.

Se ha probado que el bloqueo en dos fases garantiza la serialidad (seriali;ability), que significa que las transarciones puederi ejecutarse de tal manera que sus resultados son los mismos que si las acciones de cada transaccibn se ejecutaran en secuencia sin interrup- ciones. Sin embargo, el bloqueo en dos fases tiene su precio. Puede conducir a interbloqueo a menos que se utilice conjuntamente con un protocolo de prevencibn de interbloqueo.

Como un ejemplo, en la Figura 11.10 (a) se presenta un procedimiento de bloqueo en dos fases que conduce a interbloqueo. La transacciOn 1 ( T I ) adquiere un bloqueo de lectu- ra sobre J (Jam6n) a1 mismo tiempo que T2 adquiere un bloqueo de lectura sobre P (Pavo). Dos pasos mis adelante, TI y T2 buscan bloqueos de escritura sobre 10s registros de la base

Page 387: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

Esperando

por

REGISTRO DE LA BASE DE DATOS

prt.vrnt*iOn tlr interl1lot1nw. Se 11: ha aiia~lido t.1 rr tpis i to tlr ifne cxda t r an sx r ihn I1loc1ure p r adrlantado todos los r len~rntos dt: 10s datos qut: nrwsita. Si cwaltjuit~ra (It, 10s ele111rr1- tos tlr 10s clatos no In~etlt, ol)tt.~irrsr, I-ntonws ningnno (It, 10s ar t icdos st, blotpea y I n tran- satvihn sr ptrnc. rn eslwra hasta tintb todus 10s artivulos (jar sr nrcwitan r s t h ~ l i s p t ~ n i l h . En la Fignra 11.10(1)). se snpontb qntb '1 pdiclo de T, 11a romcwzado nn n~onivnto antrs qnr rl tle T,. 7'., no pncvle 1)lotlncw todos los t~lrmcwtos tlr 10s tlatos c p r recpirrc. hasta tllw T I li11c.r~ ;; J y a P. I)? ~ s t a manera. se evita (:1 interhloqnro d r la F'ignra 11.10(a): sin rmhar- go, tw este rjt.mplo rl resultatlo ha sitlo s i ~ n ~ ~ l e m r n t r el prcxrs:~inirntc, de las transawitmrs 1.11 serie. Esto rs t*sl~ec*ific.o 11ar-a estc. e j r n ~ l ~ l o y podria orurr ir sit.rrq)rr qne 110s transat-cia- 11t.s con~p i t a~ l por rxac.tan~rntr rl mis~no conjunto tlc registros.

Valores del lnventario de Valores del lnventar~o de

T Pavo (P) y jamon 0) Tz Pavo (P) y jarnon (J)

Bloquear-lectura (J) DENEGADO Bloquear lectura (P)

Leer-elemento (J) J = 100 Leer-elemento (P) T = 3 0

Bloque~escritura (P) DENEGADO Bloquear-escritura (J)l Desbloquear CJ) P = 30 Desbloquear (P)

Leer-elemento (Pi Leer-elemento (J)

T = T - 2 5 J = j - 2 5 Escribir-elemento (P) P = 5 Escribjr_elemento (J) Desbloquear (P) Desbloquear (J)

- - - - - -

Valores del lnventario de Pavo (P) y Jamon U) T2

Valores del lnventario de Pavo (P) y Jamon u)

Bloquear-lectura (J) Bloquear-escritura (P) Leer elemento (J) Desbloquear (J) Leer-elemento (P) P = P - 2 5 Escribir elemento (P) Desbloquear (P)

(esperando) J = I00

Bloquear-escritura (J) P = 30 Bloquear-lectura (P)

Leer-elemento u) J = I00 P = 5 J = J - 2 5

Escribir elemento 0) J = 75 Desbloquear (J) Leer-elemento (P) P = 5 Desbloquear (P)

Page 388: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LA ADMINISTRAC~ON Y EL CONTROL DE LA BASE DE DATOS

Valores del lnventario Valores del lnventario de Pavo (P) y Jamon U) TI de Jarnon U) y Carne (C)

I

Bloquear-lectura U) Bloquear-escritura (P) Leer-elemento U) J = I00 Desbloquear (j) leer^-elemento (P) P = 30 P = P - 2 5 Escribir elemento (P) P = 5 Desbloquear (P)

(esperando)

Bloquear-escritura (j) Bloquear-lectura (C) Leer-elemento U) J = I00 J = J - 2 5 Escribir elemento CJ) J = 75 Desbloquear u) Leer-elemento (C) C = 60 Desbloquear (C)

En In Figura 11.11 se mucstra un ejemplo tlemostrativo dc ol~eraciones paralelas clue son serializat~les. En este caso, T, necesita solamrnte esperar que T I lihere el a r t i cdo I . Entonws. 7'2, puedr b1oqut:ar totlos 10s registros clue nrcesita para su proccsamiento. y :rml)os 7', y 7 , puetlrn prot:etler en paralelo. Los rrsnltados tle T I y T., son los misinos quc si se procrsarnn en st:rie.

Seguridad de la base de datos Los prohlenias (it. ir~tegridatl d r la haw de datos puedcn ser desafiantc*. p r o en g e n t ~ a l son mis ficiles tle rnanejar qn r el ac.c*tL~o ma1 intrncioriatlt, a la hasc tle tlatos. clue inchye lo siguit~ntc~:

1. El latrocinio tle informaci6n. 2. 1,a inotlific~ac~iOn no autorizada tlt. 10s tlatos 3. La destruccihn no aiitorizada tle lo* tlatos.

L4si, 10s 1n6totlos tlc scgnritlatl de la hasc tie tlatos se enforan hacia la prvvenciOn tlel aweso a la has(. tle tlatos de usuarios no autorizatlos. Drl)itlo a clue las cw-acteristicas tit, 10s S(:BD clue farilitan el accrso y la 1nanipnlaci6n d r las bases tle datos taml~ibn ahren sus lluer- tas a intrusos, la mayoria tle 10s SGRDs inclupm hrrramientas tlr segnritlad clue permiten r l acceso a 10s tlatos iiniciunrnte a 10s programas o a las personas autorizadas y. ademis, res- tringtm 10s t i p s d r procesamiento qur se pneden realizar una vtaz qur sr t e n p el acwso.

Autentificaci6n (Au tenticaci6n)

El aweso a la base tlr datos c:omunmente rrquiere la autorizari0n y la autentifiratihn tlrl usuario. Para la autentificacihn tie1 nsuario, el primer nivel tlr seguritlatl estn1)lrce clue la 1 ~ e r ~ ) n a q u e solicita la cntrada a1 sistema rs un usuario autorizado. Su itlentidad puedc rstahlecrrse niediantr (1) algo clue el usuario cwnoce, corno un numero tle ac:c:eso y una con- trasefia, (2) algo clue el usuario posee, coma una tar jr ta plistica de identificaci6n, o (3) una reprrsentacihn fisica drl usuario, conio su huella digital o 1111 registro d r su voz.

Las contrasefias, rvidentrmente el nibtodo de seguridad mis comun y frecuentemente menos caro, son adet.uadas para muchas aplicariones. Sin emhargo, una vez que un intrii- so potential t.onoce la longitud d r la contrasefia y el alfaheto del clue se deriva. las rontra- srfias 1)nedrn generarse r intmtarse una vez tras otra en cierto peri tdo de tiempo hasta que rventualniente se ohtenga el at:wso. Para algunos esquemas de contrasefia, el tiempo pro- inetiio requerido para rllo puetie ser suficientrmente largo como para desalrntar a 10s intru-

Page 389: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

sos casna1t.s. Sin rrnharq). si la ganancia 1)otrncial es snG~ientemc.ntv grand(,. el ABL) t l r h idear nn c.scjnrma dt, contraseiia clue no I~r indr ojwrtunitladrs a 10s intrusos.

El t~ sc ln r~~ i a ideal d r t:ontraseiia limita los accesos no autorizatlos al sistrma. weantlo una contrasi.iia t111c cs tlificil d r adivinar. perol no 01)staute~ f i t d de rctwrdar ])or el nsua- rio. Para algunas q)l i twiones, I )utde her s u f i t h t e c.sp:rific.ar parinwtros dt* contraseiia. tales c.omo la loupitud tic. la contraseiia y el d f a t ~ e t o a ntilizar p, rntoncrs, tlrjar clue rl usuario idce sn twntrasc.iia. Si se utiliza estc enfotpe. pucdr ser at-onsrjatde non111rar un sqwrvisor tlr contrasrfias para asegurar clue los parimetros de cwntrasefia est in satisfe- chos y clue se evitan las tlnplieationc~s.

Tanto si los usuarios selrt.tionan sns contraseiias propias cwmo si se cmitcw llor una autoritlad central. p r d e s r r htil tener un s n ~ r r v i s o r t j t ~ c ~ rnantt3npaun listatlo cifrado tfe totlas las c,ontrasriiab sol)re un tlisw, arcwii~le solamente por t w supt~rvisor. Atlen~is. c ~ ~ a n t l o nn empleado termina su caontrato o s r transfierr a una n w v a iirra func.ional, d e l w rian t:aml)iarst. totlas las wntrasriias a la5 qu r tnvo acwso tlivho mmpleatlo. Esto es i m p - tantr , !a clue ~nuchos ex-emplrados tlewontentos sr han tledicatlo a salwtrar los sistemas de SIIS anteriorrs emprrsas.

Para sistemas sumamentr sensihlrs. tle1)t.n c:onsitlrrarse esquernas n ~ i s sofisticatlos. [In escptbn~a tlr rstcb tilw llrograma (11 computador para llevar a rabo una scsihn cle pregun- tas y respuestas con el usuario. aprovec.hando las pr rpmtas y las rrspucstas qnc. dicho usua- rio ha almacenado antrriormente en el sistema. Las prrgnntas son comi~nmmtr clt. naturalr- za personal1 de modo q ~ i r es rnny probable clue solamente un usuario vilido las contt1ste correctamente. La seencncia de 1)reguntas podria ornrr ir como st, incfca a continuacibn:

Cuando el usnario pide accrso y rntra un niuuero personal tlr itlentificxihnl (:I com- putador Ir plantea preguntas aleatoriammtr seleecionadas a partir dt. 10s datos almacena- dos. La selecci6n tambibn purtie variar tle tiempo en tiempo para limitar la ~)osil,ilidatl tle qnr otras pvrsonaspurdan ohservar las respurstas a todas las p r t p ~ n t a s .

O ~ r o mCtodo m i s para la protcw5hn contra 10s accesos no autorizados consiste en el uso de un algoritmo prwiamente acortlado. Ksto rs. el computaclor da a1 presunto usuario un nhmrro de autrntic.ac:iSn ele@tlo a1 azar y ~ ~ i d e una respuesta. El osuario aplica nna transformation, previamente ac.ordada, sohre el nilmero y transmite el resultado. El c:oni- putador twmpara c.1 valor recihido con r l clue ha calculatlo. Si aml)os coinciden, rntoncw se otorga el act-eso. Esto es particularmrntr util si un posiblr intruso hubiera transgredido nna 1inr.a cle comunit*acibn. Toclo lo que sr puetlc ol~servar r s r l rrsultado del algoritmo aplica- tlo a1 ni~mc.ro. La dificultad de detlucir el algoritmo a partir de esta inf'ormacihn r s enorme.

El control drl acceso se perfccciona si todas 10s intentos de acceso denegados protlu- (:en una entratla en el tliario d r operac:iones y un tiempo de retraso (esto illtinlo incrementa el tiempo requerido para ohtener un arccso no autorizado). El sistrma dehe trrminar auto- miticamente la comunicaci6n con usuarios que wan incapaces dr suministrar una contra- sriia vlilitla drntro de un tiempo detcrminado o en un cirrto ni~rnrro de intmtos. T a m b i h es deseahle clue las contraseiias no se visualicrn en la pantalla y que 10s usuarios no descni- d m el sistema drspubs tlr rstal~lecida la comnnicacibn y rec:ibido el permiso d r acceso.

Un aspecto importante de la srgnridad dr la base d r datos r s tleterminar t:uindo la antenticaribn del usuario es suficicntc. por si sola y cuLndo se debe comhinar con la idmtifi- caci6n especifica drl terminal. Con la inc:idencia crecirnte de 10s intrusos ilegales, Ilamaclos harkers. ha hahido c-asos en 10s que la autorizacihn tie un usuario sr satisfaw por alguien que no se coy~unica desdr ninguno d r 10s trnninales legitimos del sistrma. Aclrmis, a veers se con- mutan mec.anismos falsamrntr conectados. El ruidcr en una l iwa tle comunicacibn purde oca- sionar que un mecanismo de llamada srlectiva conecte incorrectamente un dispositivo debi- (lo a una modificacii~n d r la direccibn. Con frecuencia tales errqres no se detectan, lo que degrada la fiahilidad y puede comprometrr la s rp r i dad . Asi, la identificaci6n automitica del terminal sr recomienda siempre que se utilice un equipo d r telecomunicacibn conmutada.

Page 390: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LA ADMINISTRACION Y EL CONTROL DE LA BASE DE DATOS 3 77

Iltcw~;rtivalnrntr. la intrnhihn c~tc.rua intl(wal)lv l)iievlt* prtw~nirsc. iiiip1c.mcmtantlo l ) r o c ~ c ~ c l i ~ l i i c ~ ~ ~ t ~ s de I la~~~atIa/contestat~iO~~ ((li(~l-~~l)/c'(~ll-O~it;h: proct?dur(?s). Coil wta ('strate- gia. ;rlg~~icw intcwtanelo ol)tener el ac*cLeso a1 s i ~ t c w a suiiiiiiistra la informatihn newsaria tle autentitwi0n. El sistnna e n t m t w c*llelga y rebierte la llaniada a la localizaci6n tle un ter- ~iiiiial Ityitinlo. s~~ponien t lo t111e h e l'ue clado. De esta Inanera, si otwrrih una intrusihn, t i e w e 1 1 1 e ~ cbmanal- tle 1111 1nicrocom1)utatlo1- ltbgitiino tie. la red. Sin tw~hargo, las t.al~acitlatlc~s de l l a ~ ~ ~ a d : ~ / c ~ o n t t ~ s t i ~ t * i i ~ ~ i pneden representar un gasto adit-ional signific'ativo.

El atwsso no antorizado a1 sistema l)iitd(: twntrolarstx adic.ion;rl~lic.~~tc~. ptwnitientlo que dhlo tivrtos t i p s de transartiones se transmitan desde un trrniinal tlrtrrniinado. RPS- tringir c'iertas trriiiinale:~ a c.jcc'utar nna gania estrecha tle tareas puerle ser un cwntrol el;+ tivo y f i r i l de al)lit*ar. P o r cjt*mplo, las terniinales en i r e a s relativamrnte pill)liras putden limitarst: a fi~iicit~nes tle sOlo-lertiua (rtwl-only).

Autorizacicin y vistas ( n sul~c-onju~lto I na vilita tbs un iiitdio tle proporcionar a1 usiiario un inodelo l~ersonalizatlo tie. la 11asv tle

wstriugitlo (le una tlatos. Es tani1)ii.n luia ~ n a n n - a iltil de l in~i tar el atnc*eso de un usuario a dibersas p o i ~ i o n e s reh1i011 altt~at~enad:~. tle la I~ase de datos: Los tlatos que nn usnario no ueresita ver son siml)leniente ocultados por

1. '1 I .' ~ a t a . Esto siiiil)lific~a t.1 use del sistema a la vez que promueve la seguridatl. Las ~ i s t a s se

~ ~ l e t l e ~ ~ reprewntar 11or la c.jt,clic.iOn de restriccio~ies, p~-oye~ciones y r e u ~ ~ i o n e s (joins) aol~rt. las rch%mes existmtrs. El usuario potlria taln1)ii.n cstar rcstrirlgido a v c ~ m a p r t r e11~ ~ u l a rchc*iOn existente o a ejecwtar rt.unionc.s sohrc* rt.lacioncs t l ( ~ r u i i i ~ a d a s .

La cwaci011 tle vistas diferentes 1)ara tliversas (*lases tle usuario?i logi-a. auto1nhtic.a- nleute. nn alto p x d o dv control d r acwwl. :1nnq11e a Itn ~ r s ~ ~ a r i t r se le nirg~le el acrescr tlii-eta- to a iina rc.lacihn Ijase. el usuario 1)uede ttbu(-r ~ ( Y T S O a una art(' (I(' esa relatiOn mt*diante una bista. P o r t-onsiguirnte, una ron1t1inacai611 tle la seguritlad ell el n i ~ e l relational ! tle la seguritlatl en el u ivd dt. 1;rs vistas se puetle utilizar para limitar el acceso tle nn n s ~ ~ a r i o ])re- t3isamente a 10s dntos q ~ w n t v ~ s i t a .

1. Intorizacihn de lertura: lw~.niitc. la 1rrt111-a. pel-o no la nioclific~aci51i tle loi tlatoi. 2. i~l tor izat ihn de iniere-ihn: lwrniitt. la insel-cihn de nuevw tlatos. p r o no la

i~iodif ic~~cihn tle los datos existrntrb. 3. Liutorizac*iOn (It. actnaIizac.iOn: permite la modificacihn tlr loi tlatos. 1)rl-o no la

eliniinaci6n. 4. htorizacGm de eliniinacihn: perniite la eliininac*ihn de tlatoi.

Estoi tipoi tlc, antorizaciones se hawn tipicwnente aiignantlo contraieiiai diferentes a una viita. P o r t.jt.nq)lo, sllpongamos que en una relariirn PI<OYECrl'OS (Figura 11.12) se

PROYECTOS NUMPROY

I 2 3 4 5 6 7 8 9

10

CLIENTE

BURGER. W. DOWNING. B. MCENROE. J. DEXTER, M. JOINER, W. NIXON. R. MARX, K. BOND. 1. ELWAY, J. LETTERMAN. D

LOCALIDAD

VAUDEVILLE SERIES CITY OUTLAND MARTINSVILLE ALPENHAGEN SAN CLEMENTE OUTLAND MARTINSVILLE ALPENHAGEN OUTLAND

Page 391: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

NUMPROY-LOC NUMPROY

I 2 3 4 5 6 7 8 9

10

LOCALIDAD

VAUDEVILLE SERIES CITY OUTLAND MARTINSVILLE ALPENHAGEN SAN CLEMENTE OUTLAND MARTINSVILLE ALPENHAGEN OUTLAND

(p i so r(1stringir a un usuaritr t)articolar. Harry Uwn. a tcner nna autorizati6n tle ac.cew. solaniente tle lect i~ra, a 10s atrihutos NIIMPROY ) JAX4LlD-ID. Ksto podria realizarse twanclo una vista qiie shlo incluya los atrilmtos NITMPROJ ! LOCALJD-ID, tal w m o se muestra en la Figura 11.13. Entonces, s r I~ncde clefinir una contraseiia para ('1 a e ( ~ w en lectnra para NUMPROY-LOC. cwno stx indica a c.ontinuaci6n:

GRANT READ ACCESS ON NUMPROY-LOC TO HARRY BEAN

La forma general para las a1ltorizacionc.s en SQI, se ol)tirnt* utilizando la instruc-riOn GRANT:

GRANT < lista de privilegios > ON < nombre de relacion o de vlsta > TO < lista de usuarios >

La lista de privilegios pcrmite otorgar varios privilegios (e. p., de lectora. tle elimi- n a c i h y/o tle actlialixacih) en una sola instrncci6n.

Vistas y Seguridad en SQL. Considerando cple el SQL ha devenido en la norma tle Jhcto para 10s lenguajes de haw de datos relacionales y que p rop rc iona diversas facilidades para utilizar las vistas para la segoridad, rsta secci6n se t-entrara en el SQL coma modelo. La sintaxis general de las instrucciones SQL que crcan vistas es:

CREATE VIEW nombre-de-vista (lista de atributos deseados, si son diferentes de la tabla base)

AS consulta

Considercmos iin ejernplo concrrto clue utilixa la rel,ac-ihn h a w PERSONAI, qnc. tir- ne r l esqucma PERSONAL (ID, NOMRRE. DIRECCION, HSALARIO, hUMDEPT). Supongalno, quc se qnirre limitar el acceso tlel usuario CI ilnicamrnte a 10s empleatlos del Departamento 35 de la tabla PEKSONAL. Esta ~ i s t a ie podria exyresar conm:

CREATE VIEW DEPT-35 AS SELECT I D , NOMBRE, DIRECCIoN, HSALARIO, NUMDEPT

FROM PERSONAL WHERE NUMDEPT = 3 5

Los privilepjos d r 1r:ctiira se otorgan a I*', d r la manera iisual y. ahora, li, puede tener acceso a la vista DEPT-35 para ver el siibconjnnto rrcjiieritlo de la tabla l m c , PER- SONAL. Aunqur 10s valores tle PERSONAL es t in a1mac:enados rralmente en el disco, cualquier vista drrivada de PERSONAL (e. g., IIEPT-35) se crea en el momento clue se utiliza. Sin embargo, esto r s transparente para U I y, r n general, de ningun inter& para el usuario.

Page 392: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LA ADMINISTRACION Y EL CONTROL DE LA BASE DE DATOS 3 79

CREATE VIEW PERS-SIN-SAL AS SELECT ID, NOMBRE, DIRECCION, NUMDEPT

FROM PERSONAL

Estos (10s ejeniplos tlc~niut~stran la c~eacihii (11% vistas clue son. rei.prc.ti\a~nente. s d - cwnjuiitos f'ila 1 cdumna t1e la I-elacnihn has(* PERSON.11,. El siguientr qjr~nldo nuwstra c*hnlo se crea una vista (It. motlo clue es nn sulwonjuuto f'ila y un snl)cwnjunto tdurnna tle 1;) rc.lacihrt base PERSO?J,\I,.

CREATE VIEW DEPT-35 AS SELECT ID, NOMBRE, DIRECCION, NUMDEPT

FROM PERSONAL WHERE NUMDEPT = 3 5

Aliora,~., pnecle tenei- acwso a una vista de PERSON.41, q n r inrlu!e ID. NOMBRE J DIRECCION ( p r o no IISALr\RIO) tle los emplrados asignados a1 1)epartamento 35.

A4 idgunos u s ~ ~ a r i o s sc 1c.s pnrtlr rrsponsaldizar con el rnantrnimiento cle los chucntos tlv los tlatos y por (.so sc, les pernlitr tmvr a c w w a las tahlas del sistcma SYSTAIBI,ES. tlr las cw;rlrh son responsi11)lc:s. Como las t e l h s d1.1 sistrmas SY STABLES son c.n si niisnias rrlacio- nrs. tamhiin scb putden wear vistas 1)ara rllas. A cont in~ut ibn sts prcwnta un ejemplo:

CREATE VIEW MIS-TABLAS AS SELECT *

FROM SYSTABLES WHERE CREATOR = USER

USER es una pala1)r.a c law cjoe requirre la asignacibn de un valor tiurante la c.jccu- hsi, si el usuario CI introduce la instruc~i611

SELECT * FROM MIS-TABLAS

el sistema ejecwtarh la cwnsulta como si cstuviera escrito

SELECT * FROM SYSTABLES WHERE CREATOR = U ,

Sc dire que lab vistai como h a son tfc~p~rrdi~rrtes d d contexto. ya clue el resiiltado clue se p r o d ~ i r e es funcihn dcl contexto ( U , ) r n rl cpc se estL utilizando.

Las listas se pueclcm construir taml~ibn a part i r de mLs de una relncihn ha i r . Consi- deremos las relarione, 11asr PERSONAL y PL4NTA con 10s esqurmas siguientes:

PERSONAL (ID, NOMBRE, DIRECCION, HSALARIO, NUMDEPT, ID-PLANTA) PLANTA (ID-PLANTA, CIUDAD, NUMDEPT).

Sr quierr w e a r una vista qw identifiqur cada empleado con la ciudad en la q u r tra- baja taonio sigue:

CREATE VIEW LOCALIDAD-EMPLEADO AS SELECT I D , NOMBRE, CIUDAD

FROM PERSONAL, PLANTA WHERE PERSONAL.ID-PLANTA = PLANTA.ID-PLANTA

A veces se puedr pernmitir que un usuario trnga arceio a resi~menrs de 10s datos que se mantienen en una relatibn base, pero no se le autoriza el acceso a 10s alores individua-

Page 393: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

CREATE VIEW PROM-TARIFA-HR ( I D , NOMBRE, TARIFAPROM, NUMDEPT) AS SELECT I D , NOMBRE, AVG (HSALARIO) , NUMDEPT FROM PERSONAL GROUP BY NUMDEPT

GRANT SELECT ON TABLE PERSONAL TO JOHN, S Y L V I A

GRANT SELECT, UPDATE (HSALARIO) ON TABLE PERSONAL TO HARVEY

REVOKE SELECT ON TABLE PERSONAL FROM JOHN

Rsto sipifiva t~nt,. "1 atlvlante. John no esth ;~ i~ tor izado a c.jt.c*~~tar las o ~ w r a c ~ i o ~ l r s SELECT sol)rcb la t a l h PF:ICWNAI,.

Estos rjtw~plos ih~s t ran alg~niai ~~osil)ilitlatlt~s clue 11rintl;tu los privilt.gios 1,;lr:r otor- g;~r o re\~ot.ar ~~rivilegios elr autorizatiOn. El listatlo de 10s privilek4os. tanto I)ara Ias r d a - ciont.s tlt. la I ~ a w wino Imra las listas. int:lu!e SELECT, LIPD_1'1'E. DELETE cb IhStCRT.

1.a olwihn GR-1NT 1)uedv 1)asar tle un t ~ s ~ ~ a r i o 21 otro en t*asracla. I'or rjt.nil)lo. si John tiene t l t ~ c ~ h o u o t o r ~ a r la antoridatl 1 a otro usuario S\ l \ ia. tmtontw S\ I \ ia t imv tlerec*ho a otorgar la autor~tl:rtl \ a otro ~ t suar io Dulc y asi s~rc*c*si\a~nente. (:onsitlcrr rl r j t * ~ ~ q ) I o 5igllitknte.

J o h n : GRANT SELECT ON TABLE PERSONAL TO S Y L V I A WITH GRANT OPTION S y l v i a : GRANT SELECT ON TABLE PERSONAL TO DALE WITH GRANT OPTION

Mientr;~s tin usuario h a y retil)itlo la o p i h n GKART OPTION. 11uetle wuf'c'rir la misma autoritlatl a otros.

Si Inego John tlesea rv\ocar la oprihn GRANT OPTION. podria ha(-erlo tlt. la Inane- r a iiguirntr:

REVOKE SELECT ON TABLE PERSONAL FROM S Y L V I A

Este rr\orac.ihn se al~licaria a S)lvia, asi romo t a m h i h a c.ualqr~it-ra a (p ien ella Ie 1lnl)iera trunsfbrido la autoritlad. ! ahi suwsi~anien t r .

Page 394: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LA ADMINISTRACION Y EL CONTROL DE LA BASE DE DATOS

texto l'gilrle. Tc.\to qiie i c p w d r leer.

texto cifrado. Tr\to legible rifrado.

I,as tlivrrsas medidas tlr anttmticacihn y d(: autorizaciOn t p r son las normas para 1 ) r o t q r r el a c ~ c w a las 11asc.a d r tlatos ~ I I P ~ ~ I I no scr adecuatlas para datos altarnente srnsil)lt*s. En tales casos. purdc s r r t1rsral)lr cifrar (to ~ n c r y t ) los tlatos. 1,oa tlatos cifrados no purtlrn s r r leidos por nn intruso. a nlrnos q n r twnozca el rnbtodo cle cifrailo. In~por tan t r s invc~sti- gationrs se han (Micado a1 clesarrollo dc 10s rnitotlos tlc cifratlo. l l g l ~ n o s son tan siniplrs q u r ~ r n ficilrs t i t* drscifrar. Otros son niuy dificilrs I IC drscifrar j ~)roporcionan 1111 alto iiivrl tle proteccihn.

Prirnrro rnostrarrrrios un csqurnla sirnplc clr cifrado. Dt~spuPs mostraiiios IIII initodo ni is complc*jo, pero mi?; srgnro. Una fuentr provt:rhosa de estr ~na t r r ia l para t.1 lector intr- rrsatlo s r purdr rncoutrar en Hoffman (19791.

M6todo d e sustitrlci5n s i i ~ ~ p l c . Suponga que drscwiios r i l rar (11 uirrisajr ( t r x t o legihlc ')

T h i n k snow.

Un u ~ i t o d o dc suatituci6n sirnplr podria ser r l clrsplazarnirnto tlc cada lrtra a su sucesor i n n d i a t o r n rl alfalwto. Sr iuponr q u r el espucio aparrce innirdiatalnel~tr ante5 d r la l r t ra u y clue sigur a la letra z . "Think snow" se cifra ( t ~ x t o encriptado "1 a

u i j o l a t o p x

Si nn intruso iinicamrntc \ e el rnrnsaje "nijolatop," probahlernc.nte no trutlria inforrnaci6n suficientr para rornprr rl t d i g o . Sin rrnl)argo, si s r exarnina un nhuiero gram d e de palal)ras, estadisticarnrntc, es pcrsihle dcterminar la frrcnencia con clue aparr tarn 10s taaractere9 y, por mrdio tle rllo, romper fhcilrnrnte el cbdigo. Lob nirjorrs cstpemas tlr cifretlo utilizan una elavr cle cifrado. corno se demuratra en la src-ciOn siguientr.

Mdtodo d e snstituci611 polialfahdtica. Snponga qur qurrrnlos cifrar r l rnisrno nienhaje, p r ro ahora damos la clavr d r cifrado, diprrrnos. "securitysr." Procedernos corno s r indiva a continnacibn:

1. Alinearnos la clavr d r l ~ a j o del texto legible, repitiCndola tantas vwes conlo sea necesario para "cubrirlo" eon~pletarnente. E n este ejernplo, tendriarnos

Think snow s e c u r i t y s e .

2. Supongarnos q u r el espacio ocupa la vigksin~o sdptirna, y illtima, posici6n en el alfabeto. P a r a cada car icter , sumarnos la posicibn alfabctica del ca r ic te r del texto legible y la del car icter d e la clave, dividirnos por 27 y guardarnos el resto. Reernplazan~os el car icter del texto legible con el ca r ic te r encontrado en la posi- cibn calculada en el resto. P a r a este ejernplo, la T se encuentra en el vigdsirno lugar en el alfaheto, n~ientras clue la s se encurntra en la decirnonovena posicibn. Asi,

(20 + 19) = 39. El resto d r la divisibn por 27 rs 12. (Estr proreso se denornina divi- si6n rnbdulo 2 7 . )

L e5 la letra en la duoddcirna posici611 en el alfabeto. Asi. la letra T e n el texto legible se rifra corno la letra L e n el texto cifrado.

' Plairitrxt (N. drl T. ) . " Ciphertext (N. del T. ) .

Page 395: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Reeuperaci6n de la base de datos

Fuentes de fallo

Procedimientos de recuperacih

IJa intepridad tlr los clatoi rxigc* ( j ~ w nna transaccihn (%st6 r n uno d r 10s dos estados 51-

gnirntrs:

1. Ihortorla (Aborted). Cna trans;rrcihn p w d r no sirmprt. cwinpletar su prowso c*xitosi~mrnte. Para asegurar c~nt' la transacci6 11 incompleta no afrrte 1.1 (.stado consistmte tle la hasr cle datos, tlichas transaccionrs tic.11c.n c p r a l~or ta r s r , res- taurando la h s e de datos a1 estndo en q u r rstaha antes dr qnt' 1" trdnsaccihn rn cuesti611 conwnzara su ejrcuci6n. Tal rrstauracihn sr l o p ~twdiante la opcra- ci6n de rollhurl ( q n r se disrut i r i r n hrevv).

2. Cerradu (Comrtrltted). Lila transaccicin c p c ~ t.onq)lrtd rxitosamcnte sli procesa- niirnto SP dice q ~ i c t-sti cc~rruda. Una t r a n s a c c i h r r r r a d a dr ja la h a w de datos r11 Iln estado consistimte.

El diario de oprracionrs (log) ' j q a 1111 papel c l a w r n la rrcuperaci6n d r 10s fhHos. El diario dr oprracionrs r s un historial de totlos los camhios hechos a la 1)ase de datos. asi conlo tali1bii.n dcl estado d r rada transaccicin. Ohviamente, rs importante qur 10s datos del

' En ocasionrs ar u\ar:i shlo diario pam rna!or brcvrdad (N. drl T.).

Page 396: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

tliario de opt.rat*iones no se pierclan ni sr tlestruyan. P o r t~oiisiguieiitr, la informatGii tlt.1 tliario de optmriones se guarda r n 1111 ~~almacenamier~to estahlrn niitiro que so11rr.x-i\a a toclos 10s fallos. Eli la p r i t . t i t ~ ~ , esto se l o p mant rn ie~~t lo varias copias en tlistw.

Una estratcgia clr rrcuperarihn purdt, drsarrollarse utilizantlo uno tlr los dos eldo- q~~rssiggl~ientes, rty$strar las at.tiializatio~irs tlihritlas o registrar las actualizat~iones inn~e- tliatas. Los 11untos d r chequro (checkpointing) proporcionan efit-irntia a t l i t i t~l~al .

Diario tlr Oprracioiies con Ac.tualizaciones Diferidas. El rrgistro d r Ins ac*tualizat.iouc.s tlil;l-illas fiintiona t80mo se int1it.a a rontinuacihn:

1. Cliando t~omienza una transaccihn T. im registro "'<T,>", o rtluivalcntc~nci~tt~.. "<T.STZR'I'>". w ? s t - r i h t.11 el tliario d r oprracionrs.

2. Diwantt. la cjeriicii~n tlr la trausac.rihn T, la escritura d r 1111 \ a h n w \ o cual- qniera. c r , , para ('1 ; ~ t i d ~ u t o 4 . de~iotatlo por "WRITE(4,u,)." pro\oca la rwri tu- r a de un nue\o rvgistro en el tliario tle operationt-s.

3. Cada rrgistro dt.1 ti110 tlrscrito r n ( 2 ) esth formatlo por los c.ampos signirntrs:

a. El nomhre de la t r a n s a t ~ i 6 n , T. b. El noml)rr tlel atri1)uto. A. c . El nuexo v:~lor d r l atrihuto, u,.

4. Si totlas las acwonrs qiie twmprrndr T se ejecutan exitosamentr, sr divr tlur T sr t.ierra I ~ a r t ~ ~ ~ ~ l m e r ~ t r . y se est . r ih el rrgistro 'k7',COMMIrI'>'* r n r l (liarlo tle o l w ratio11t.i. Utssl~uis clur la t ransawi i~n T st, r i r r ra r)arcialinmte. se utilizan los rrgistros asotiatlos (.on T r n r l diario dtl o p t u t i o n c s para r j twitar las oprratio- nes tle escr i t~i~.a en los rrgistros al)rot~iatlos de la hasr de datos.

Ilnstramc~s rsto utilizantlo. m a \ r z mhs. r.1 vjtmplo dr l pago tlr un cliente. 12rcurrtle qne stx "5th hacirntlo 1111 pago dv $500 s o l ~ r e una twmta.

E n la Figura 1 I .14 se muc.straii las urcio~irs twmlwnditlas en esta t r a n s a t ~ i h o . Las rntratlas c~ori-t~sl)oiitlientes del tliario tlr oprrarionrs se mwst ran en la FigIra 11.1.5. 41 utililar r l tliario dt. opri-ataiones. r l SGBD purtle gritionar c u a l q ~ ~ i r r fallo tlllr no pru\oque la l~brtlitla tle la iiiformac~iOn del propio diario de oprracionrs. La prevencihn de la pirtli- (la tlrl tliario tle operationes s r rrsuelwe mc~diantr su duplicaci6n ell ma^ d r un t l i w ~ . Como la prc~bal~ilitl:~d twrrrspondirnte a la p61dida dr l cliario es muy pequeiia. rste nkttrtlo ir c w i i d m i c~~mi~~i inc .n t r twmo un n~btotlo dt. nl~nuce~znrniei~to estable.

T: READ (A, a,) Leer el balance del cliente actual a,: = a - 500 Reducir el balance deudor en $500 WRITE (A, a,) Escribir el nuevo balance READ (B, b,) Leer el balance efectivo actual b,: = b , + 500 Incrementar el balance de la cuenta en $500 WRITE (B, b,) Escribir el nuevo balance

Entrada del diar io de o~e rac iones Valores de la Base de Datos

A = 1000 B = 1500

<T,BEGIN> <T,A,500> <T,B.2000> <T,COMMIT>

r A = 500 B = 2000

Page 397: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

1)espuCs que orurre un fallo, el SGB1) examina rl cliario de operaciones para drter- rniilar q116 transac:ciones sc neresita rehacrr (redo). Una t ransac~i6n T tienv clue reh;rcwse si el diario d r oprrariones rontiene el registro "<T,BEGIN>" y el rcyistro '*<T. COMMIT>." Esto c ~ , la hasr tlr tlatos pnrde ha l~ers r c.orronipiclol p r ro el 1)rowsamiento de 1;) transac- riiln se romplet6 y los nuevos valores para 10s elr~nentos ( 1 ~ 10s tlatos corrrsl)ondientc.s estiu rontenitlos en el cliario tle operaciones. Esto ex(-luye la n c w d a c l tle reprowsar la transacs- c i h . El tliario se utiliza para restaldecer (11 estaclo tlel sistcma utilizantlo un proceclimiento REDO(T). clue fija el valor cle todos los elvmentos tle 10s datos ac*tualizatlos por la transar- cibn T a 10s n u ( v ) s valores (111~ estirhar~ rrgistrados en el tliario clr operaciones.

Conlo ililstracihn, supongamos q u r el fallo oclirrici sinq)lementv drspnbs c p e el rcgis- tro "<T, COMMIT>" entri, en (.I diario de operaciones y antes clue s r cwrihirran 10s re$s- tros actnalizaclos tLn la hasr d r datos. El tliario al)arccv= (.onlo s r rnurstra en la F i g - r a 11 . l h . Cuanclo stA wmienza a resta1)lec.c.r el sistvma, s~ neresita efertuar la arcihn de rec*l~perac& para T , ya que "<T, COMMIT>" al)arccbe en el diario. La o p e r a r i h REDO stA ejecuta, dando vomo resultatlo clue 10s valores $500 y $2.000 se escrihen en la I m c de datos ronio 10s valorrs actliali~aclos tle 4 \. H.

Ahora wpongamos q1w el fallo ocurrr 4mplemrntr antes clc la ejerncii,n de la arc*ihn WKITE(B,h,). El tliario dr oprrariones m el momento tlel fallo se muestra en la Figu- r a 11.17. Cuantlo se comierlza a r t ~ ~ t a h l e r e r el sistrnia, no es newsaria n i n ~ n n a awihn, ya clue m el diario no aparece ningun rty+tro COMMIT para T. Los valores tlr A ) B en la l m e de datos permanecen como $1,000 y $1.500. En rste raso, la transacrihn tiene clue reiniciarse.

Diario d e Operacioiies con Actnalizaciones Ini~iediatas. IJn mbtodo al ternatho clue uti- liza un diario de operaciones para la recuperacihn consistv en h a w r todas las artualiza- cionrs de la lwse de clatns in rnrd ia tan i r~~t r v llevar un rrgistro de todos 10s caml)ios en el diario. -41 igual clue en el mbtodo antvrior. si o rur re un fallo, el cliario se utiliza para res- t a b l r t ~ ~ el vstado de la hase de tlatos a un rstado tn-evio c-onsistentc. Similarmente, cuan- do comienza una t r a n s a c r i h , en el diario dr operaciones se escrilw el registro "<T,BEGIN>". lhlrante la qjrcuci6u dc. T, cualqnier operaci611 '*WRITE(A,a,)" es t i pre- cedido por la escritura d r un nuevo repistro en el diario de operaciones. (Krc-uerde clue en la estrategia previa, no se aplicaha ninguna oprraricin cle escritura a la base tle datos has- ta clue T se cberrara parcial~nente.) Cada registro del cf ario de oprracionrs se esrrihe dr la manera siguirnte <T,A,u,,a.,>, donde A rs el nonllwe clel atrihuto, a ; es el valor virjo del

I atributo v u.es el valor nuevo dcl atrihuto. Cuanclo la T s r cierra i)arrialmentr, "<T.COM-

' I MIT>" se csrrilw m el diario dt, operariones.

Entradas del diario de operaciones Valores de la Base de Datos

I A = 1000 B = 1500

Tiempo <T,BEGIN> <T,A.500> <T,B.2000> <T,COMMIT>

Entradas del diario de operaciones Valores de la Base de D a t m

I A = 1000 B = 1500

Tiempo <T,BEGIN> <T.A.500> <T.B,2000>

Page 398: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LA ADMINISTRAC~ON Y EL CONTROL DE LA BASE DE DATOS

Entradas del diario de operaciones Valores de la Base de Datos

A = 1000 B = 1500

<T,BEGIN> <T,A, 1000. 500>

A = 500 <T,B. 1500. 2000>

B = 2000 <T.COMMIT>

1 Se nrtwita desharrr T si el diario rontirne 1.1 rrgistro "<T.HRGIIV>"' p r o no twntienr -'<T.COMMIr1'>." St. necesita (pie los aa1ort.i airjos tit. 10s elementw d r 10s tI;~tos i~fre'tatlo, w a n rt,stahlrt-itlos y qur la tran~ac.tiOn se reinitit,.

2. St, nrwsita r e h a w r 7'51 r l tliario twntitmr los tlos rcpistros 1)rrrrtlentrs. No tirne . , qnt' reinic-iarie la transatmon.

Se ilustrarhn am1)as situaciont.~. Supongalnos (pie r l sistrnla falla tlr nllevo justamentr m t c s d r la arri0n

'*W~KII'E(B,h,)" en In Figwa 11.11. La Figura 11.19 ilustra r h o s r w r i a r l tliario ~ : n rl m o r n c ~ t o 1114 fallo. (:nando 1.1 sisttmia w r l a t ~ 21 s r r o p t d ~ l e . rntancwti.a r l rtyistro "*<T.BEC;I N>*' ~ l r r o no sn col-rc~sl)t)ntlit~iitt~ "<?'.COMMIrI'>". Ecto signifira qnr tlrlw t11.s- hacr rw la transarcihn, Incyo s r t j c v ~ t a -'IJSU0(7')". Ello i-estal)lec~c~ el valor tlc . l a h1.000 1- la tr;lnsacc.iOn I)nrdr rt-iniciarst..

-1hora. supongamos qne el l ) ro l~ le r~ i ;~ oc111-1-e siml)lrmrnte tlrspui's q11r "<T.COM- PIIT>'" se esc*rilw en el tliario dt- opet-atioi1c.s. prro antcs q u r 10s nnrvos valores s r est.1-i- ])ill1 en la I ) ~ I s ~ de dates. E n la Figura 11.20 sts rnnestl-en ]as rntradas c-orresl)ondicmtr!: a l tliario. (:uantlo r l sistema a~ut-lvr a st^ oprra1)le otra vez. una 1ectur;l clcl diario (11. olwra- cio11t.s mnrstra 10s rq+tros c~orrespondientrs "<T9BEGITV>" p *kT,COMMIT>". Dc cstr modo. pnrdt. c.jerutarse "KEDO(T)". d(.spnGs tlr lo rual 10s valorrs tlr A p R son $.iOO >- $2. ooo.

Entradas del diario de operaciones Valores de la Base de Datos

Tiern~o

A = 1000 B = 1500

<T.BEGIN>

Page 399: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACI~N DE BASES DE DATOS

Tiempo

- - - - - -

Entradas del diario de operaciones M r e s de la Base de D& A = 1000 B = 1500

<T.BEGIN> <T.A. 1000,500>

A = 500 <T,B. 1500. 2000>

Puntos d e co~nprohat- ion (Checkpointing). Dt. 10s ~~roeedimicwtw precede~~tes , unl) podria c w d u l r q w la reeuperari6n solammte requiere r u m i n a s t.1 tliario d r operat~icrnes para las entradas cwrrespondientrs a la t r a n s a c d ) n mhs ret.icnte o a algunas transac-ciones recientes. E n printipio. no tlelw haher li~nittx con rt.laci6n a twanto t l e h mirar el sistema hacia at& en el ttiario. > a quc> 10s errores 11~1vden haher twnenzacto con 1'1 prinwra tran- sdeeihn. h t o 11uede pro\ocar un p a n consumo y tiespilfarro de tiempo. Una mrjor mane- r a consiste en encontsar hacia atrhs un punto suf'icienternente alejatlo como para asegurar qnt, cual tpier elcmento antes d e est. punto se ha t v r i t o cwrret.tan~ente \. ze ha almacenado sin riesgo. Este mitodo w tlenomina (It1 puutos d e cornprohacii,n.

Durante la ejvcucii~n. el SGKD mantirne el diario tle operat-iones como se ha descri- to. p r o peri6tlicarnen~e estah1et.e pnntos de conq~rohaci6n tle la manera signiente:

1. Detiene tc~mporalmente el inicio dc ri~alqiiier transaccihn nileta hasta qut. te cie- r ren o w ahorten t o c h hi transact-iones activas.

2. Keal~za una eopia cle wguridad tlr la h a w dc datos. 3. Kscrihe totlos los w ~ i s t r o s del diario dr operarione5 qne ratlivan artualmente en

la menloria opei-ativa en iin almacenamiento estahlr. 4. i i iade a1 final del diario de 011eracionc.s uu registro qiie int1ic.a la ociirrrncia de

iin p n t o tle checjntw: entonces lo escrilw en el diico.

Supongarnos que se utiliza un diario de ol~eraciones con at.tnalizacionts inmediatas y c w d e r e l n o s r1 g r i f i w de titmpo para lab transacciones T I - T, mostrado en la Figu- ra 11.2L. Ci~antlo el sistema f'alla ( t ), se nccesita examinar el (liar-io d e operationes hacia

J atrris imit*a~nrnte ha5ta el p m t o tle c*o1nprol)aci6n ~ n i s re(-ientr ( t , ). T I es taorrecta, a nwnos que tiaya ha1)ido un fallo en el disco clue la destruyera a ella (y posil~lerncnte) otros regis- tros con anterioridad al t'dtimo panto de comprobacii~n, En ese caso, la has? d e datos se varga d e nue\o clesde la copia tle segiwitlad que st, hizo en ~1 punto tle chequeo anttxrior. En

Punto de Fallo del cheque0 sistema

I Tc Tiempo

Page 400: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LA ADMlNlSTRAClON Y EL CONTROL DE LA BASE DE DATOS 3 8 7

KI twnoc~in~iento tie 10s elementos atlminirtrati\os ! tlr wnt ro l ('5 n twsario para la gesti0n rfet,ti\a tlr un sistrma tle Ibase tle tlatos. El mantrnimiento (It, la st~guritlatl > tlr la intrgri- tlatl tlr la I)asr tlr tlatos es a la \ez t~omplrjo y rsrnt+il, tlrl~itlo al a t w s o tlt. nii~ltiplrs u s t w rios en forma cwnc~lrrt~nte ;I 10s siste~nas tlr I)asr tit. tlatos.

Este t.al)itulo stb tltvlit.6 ~ ) r i m e r o a rht ;~l , l tw~r la tlifvrvntia entre la atlministracih~~ tle los tlatos p la a t lminis trat ih tle la 11aw tlr tlatoh. t~ont*rntrht lose en la atlministratihn tlr la hahe tle tlatos ! ell SIIS ol)jeti\os tie nlantrnrr la intrgritlatl. la styuritlatl y la tlisl)onil)ili- (lad tle la I m e tle tlatos. IJa integritlatl tle 10% tlatos. qnt* t-s el mantenimientt, tle SII e lar t i - tud p "1 fia1)ilitlntl. se garantiza tlesarrollantlo controlrs tlv s ty~r i t l a t l tle 10s tlator. La tlis- ptn~il~ilitlatl tle lo5 tlatos se aumenta tle~arrollantlo ~ ~ r o t w l i n ~ i e n t t , ~ tle seguritlatl ! tle rtwq)t~raciOn. 111s qutb put~lt.11 incluir I I ~ I plan p;wa tlcsastrrs.

1,wgo he tletnostraron algunw ta;~l,at*itlades d r los lvnguajes twmertiales tle t .ons~~l ta . talrs twmo el SOT, !. el ORE. en twanto a la integritlatl. Estas t~al~atitlatles no 1)roporcionm a h totlab las t*arat*teristit~as tleseatlas. p r o se eqwra quc vsta sittuatibn mejore en el futu- ro pr0ximt1.

Otra mant.ra ittil (It: m;mtcner la twnsisttmtia de la 11ase de tlatos es la transaccihn at61nit.a. clue reqn i tw t j w totlo t.1 prot~t~suniento tle la trnnsaccibn sr complctt. o qutX la trnnsactihn se interrumpa. Cuantlo se usa con un tliario tle optmt-ionrs (log). esto asegu- ra (jutb los fallos o p t ~ a t i ~ os no provotjutm t.1 a lmawnan~iento tlr tlatos errbneos.

El prwewniiento taontanrrente 11uetle t-orromper la hase (11% tlatos. Los protwlimien- tos simples tle I)loqueo (locking) puetlen itnpedir el procesamicnto t.ontwrrente. pero p e - den restringir nnwho la efit+ncia operativa tlel sistt-ma tle Ibase tlr datos. M6totlos tales romo el I)lotptw thn tlos fasrs estLn tlisponihlt~s para limitar los ~)rol)lernas asot+itlos con lob I ) l o c l ~ ~ t ~ o ~ i n ~ ~ ) l t ~ s . a la vvz tlutb n~anticncn la integridad tle la I~ase tle tlatos.

La seguritlatl tle la I)ast. tit. tlatos. en printipio. estL relacitmatla ron la tlrtcwnin;wii,n tlt. t p i h tiene a t w s o legitimo a tjn6 datos y. entonces, con la segnritlatl se refurrza la Ityiti- mitlatl. La atttenticatihn se refiere a los m6totlos para restringir el arceso al sisttwa. La anto- rizaciirn se refiere a los m6totlos tle control tle 10s rt:t~ursos. a 10s clue se pwtle t r n r r at-cwt) m a vvz tjiir st- haya ttmitlo a twso a1 sistcma. asi twmo qai. se plletle harer ron esos rc~11rsc)s.

E n los sistemas tle I m e tle tlatos relacionales. el use de las vistas pnetle ser una mane- r a t,fee~iva (It, rcslringir lo (jut' el ~ibuario vt' y m a n i p l a , sin t r n r r tine ahera r ]as rrlat-io- nes almawn;itlas. Utilizantlo SOL, se mostraron diferentes mantlras en clue se 1~1etlen al~l i - car ]as vistas.

El tifrado ( P I I C ~ ~ ~ ~ D I I ) pt'rmitt* tjue 10s datos sensihles pnetlan altnacwiarrt~ !- t rani- mitirst. tit. forma inintdigi lh. t w r p t o para sus usuarios legititnos.

Totlos los sistrmas tlr l m e s tlr tlatos deljen t rner plwedimientos seguros tle ropias tle seguridatl y de rrcuprraeiirn para rvitar inef'icarias y, ailn m i s , p6rditlas catastrhficas. Estos r n ~ t t ~ d t ~ s tlt.l,en ~)rol ,arsr periirdicamente para asegurar que funcionen completa- mente y que hean fia1)lt.s. Los diarios tlr oprrationrs tle transacciones con actualizariones dift.ritlas o inmetliata.;. los 1)untor d r cwm11rol)atiOn y las copias de seguridad (buckup) tle la base tle tlatos son elrmentos esrnriales para s r ~ seguridad y reruperacihn.

1. Defina t20n sus palahras catla uuo tlr 10s tCrminos siguientes: a. administratlor tle los datos b. integritlad de los t h o 3

Page 401: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

D t w r i l ~ a el 1)al)t.I tlt.1 atltninistrador tlr la I)aw dt. data, rn la iinl~lrtnentarihn tlv nor- Inas 4 ~ w o r t ~ l i n ~ i e i ~ t o s .

-cttlmi~zistrc~tlor de lu b o w tle dutos a.

Page 402: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

LA ADMlNlSTRAClON Y EL CONTROL DE LA BASE DE DATOS 389

c. El nsnario tirnr rl t l c r t ~ h o p a r a l r r r 1111

rcgistro deterininaclo f. t l r l lwograina cw! a rjrclic.ihn l,rcssc.r\ 'I la

cwnsistrncia t l ~ la base tle tlatos

g. Truto t l w w pnrdr lerr . , h. Transaccwn q u r se c.ancrla antrs (1ur 105

cam1)ios s r aplicllicw a la ljair dtt datos i. En el pi-owsainiento d r transac-ciorirs. iriip-

tle r l ac*c*tbso a un registro d r la 11asc. d r tlatos [MIL. nna srgnnda traniac-c*ii)n hasta qllr la p r i n i c ~ a transarrihn h a p c*onq)lrtaclo totlas sns ac~cion(~-

j. Una cwml~rol,acihn 11eriOtlic.a (11.1 SGKI) 1)ara drtvrminar si la w l a tlv c'ipcra tlr algun rwurso excedr trn limit(' pr(v1rtrrin- nado

3. Ilustrar (41110 trahaja rl I)loclueo cbn tlos fases utilizando nn rjrrnplo.

4. D o h transa(*~*iontbs se tlicr clnc. son srrializahlrs si sc: I~neden rjecutar cbii paralelo (inter- c*alatlas). d r t d forrna clur sus rrsnltados w a n itl6nticos a 10s clue se lograrian si una tlr las t ransacch l r s sc, ejrcuta wmplr tamrnt r antrs tlcl inirio d r la otra. Consiclerr la:, (10s transawionrs intrrraladas siguientes y snponga qnc nna rondici0n tlv wnsistrncia r rcp icw q u r A o B tlt.l)rn s r r siernprr igualrs a 1. Siiyonga qne .4 = R = 1 antcs tlr la r j r - (.n(*i6n tle rstas transawionrs.

Tl T2 Leer -e lemento(A)

Lee r -e lemen to (6 ) Leer -e lemento(A)

Lee r -e lemen to (6 ) S i A = 1 en tonces B : = B + 1

S i B = 1 en tonces A : = A + 1

E s c r i b i r - e l e m e n t o ( A ) E s c r i b i r - e l e m e n t o ( 6 )

1 Q u ~ l a r i .ati-fkho r l rrquiiito de ronsistencia? Jubtifique su respnrsta. j,Exii- te tin ciclurma 11c' t~.atainirnto intwralado t p e garantiza la serialidad! Si (.i asi. tl(mubstre1o. Si no, rxpliqnc. por qnb.

5 . Ltilizantlo rl nibtodo polialfal+tic*t, (11. sustiturii~n 4 la c - l a ~ e c1e rifrado. SECURITY. cifrc. t.1 trxto Irgil~lr "SF:I,L A4LL STOCKS."

6. Suponga (1"'' i e tirnr un tliario tle o p r a c i o n r s ~ Y J I I a r tua l izac io~~rs ininediatas. r r r r Ias entradai (1~1 tliario c-orrc~s~~otitlientei a l a i signieutes arr ionri tlr una transarrihn:

T: (A, a,) L e e r e l b a l a n c e d e l c l i e n t e a c t u a l a,: = a, - 800 D e b i t a r l a c u e n t a en $800 w r i t e (A , a,) E s c r i b i r e l nuevo b a l a n c e

( 6 , b,) L e e r e l b a l a n c e a c t u a l de l a s c u e n t a s de pagos b,: = b, + 800 A c r e d i t a r e l b a l a n c e de l a c u e n t a en $800 w r i t e ( 6 , b,) E s c r i b i r e l nuevo b a l a n c e

Page 403: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

7. Suponga q u r r n (6) ot-urrr un fallo justamcnte d e s p i s clue i t . ha)a c v r i t o el regiitro del diario tlr c~perationes para la atvihn

a. Mriestre el twntenido del tliario tlc operationes en el momrnto tlel fallo. 1). ;.C)u; awihn es neeesaria y por tp;? 2,Cr~iles son 10s ta lo r r s wsultantes de A y BY

8. S ~ ~ p o n g a que r n (6) o rur re u11 fallo justamentr d ~ y ) n l i clue el registro .'<T.(:OMMIT>" se eicriha en r l tliario tle o p e r a t i o n t ~ . a. Muestre 10s I-onttmitlos del tliario m t.1 nwmento tlvl fallo. 1 . j,Q11P at.ei0n es newsaria y por qu6? 2Cuales son 10s ta1ort.s rvinltantes tie 1 ! BY

9. En el diario d r op t~ae iones 1)ara la ret~uperacihn, twnsit1e1-e la? entradas siguicntt.~ en el ~ n o m e ~ i t o tlrl fallo tlt.1 sistema dt. 1)ase tle tlatos:

a. Suponga un tliario con actualizacibn difwida. Drst.ril)a Ibara cads caso (:l, H , C) q u i aeciones de rec:nlwracihn son necesarias y por q n i . Intlitjue t*nhlt.s son 10s valores para 10s atrihutos datlos despnks clue las actiones dt. rrt:uprraciiln se wni- pleten.

. Repita el reqnisito de (a) sulwniendo UII tliario tori actualizacihn i n n d i a t a .

1. Rea1it.r nn breve estudio de investiprihn de tjul mCtoilos utilizan las granclrs firmas tle t:ontal)ilitlatl para llacer auditorias d r los sistemas de 1)ases de tlatos.

2. Compare y tbontraste 10s twntroles d e in tep idad disponi1)les en SQL y en QRE.

3. Compare y c:ontraste 10s tw~t ro les para la scguridad de 10s datos disponihles en SQL y en QBE.

Page 404: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS DISTRIBUIDAS

iPor que las bases de datos distribuidas?

Un modelo general de SBDD

DiseAo de sistemas de bases de datos distribuidas

Estrategias y objetivos

Transparencia local

Transparencia de la duplicacion

Independencia de la configuracion

SGBDs no homogeneos

Duplicacion de datos

Particion de la base de datos

Fragmentacion de 10s datos

Distribucion de archivos no-fragmentados

Procesamiento distribuido de consultas

Semirreuniones (semijoins)

lntegridad de 10s datos en 10s sistemas de bases de

datos distribuidas

Protocolo de cierre de dos-fases

Bloqueo distribuido

Ejemplo I

Bloqueo distribuido de dos-fases

Ejemplo 2

Marcas de tiempo

Ejemplo 3

Recuperacion de la base de datos

Sistemas clientelservidor

Conceptos generales

Aplicaciones de bases de datos

SQL server para Windows N T

Resumen

Preguntas de comprobacion

Problemas y ejercicios

Problemas y cuestiones profesionales

Page 405: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Cordelia Vlolini y Reggie e ~ t ( i n ~ent(1t1us ulrnorzm~do Y hablando sohr(~ ('1 progreso que SP

hcr rlnrlo en lu irnplernentr~rihrr (lo sisternr~s tle irfirrnr~tihn (111 1u IPD. Kc~ggic. c ~ m ~ n t h : " P i ~ n s o qlw cstcrrnos h(r(~i~nt1o iin ~ I I P I L trub(rjo. Iosotros ~ P I I P -

rnos cJn ( ~ ~ . s ( i 1u iilt i~nu t~(xo1ogiu r ~ l ~ ( . i o ~ r ( i l . htw~o.s ( d i r ( ~ ~ d o (L 10s irsirurios en c(rd(r 4re(1 firrwioriul c l ~ l r~c>goc,ro y htry eviclcw.ius do (/UP nrrc~stros sistc.rncrs tlcj irlforrr~crcidr~ SP ILS(III

c~rclcr L'PZ rri4.s p r u upoyur hr tomu d~ (kt~r.\ion(~.s PIL t o d ~ s l ) t i r t (~s d e r ~ t r o (IP 10 corn- p f l l x f l . ' -

.'Err g(wcv-crl, c ~ o y tlc~ trcirc~rdo c.oirt~po", rc~sporlclid (:or-cl~liu. "t'ero slento (/UP (~i ln hcry rnrrcho p o r hucpr. V/IIC~OS (k nuestros j e j ~ s se ~ n r r r e n t r n i ~ ell bitiob reinoto< PII totIu.\ purtes delp(ris y he oido rlrinores (IP q i ~ e (I ~110s 1es g~rbturin teller rontrol sol~rv Itr.\ ptrrtc~s del s is ten~a tle base tle datos que tienen que wr con sits oper(~cioirtv. DP hwho. m t t de las ,jefk ine c ~ m e n t d c l u ~ no c~ntencliu p o r q1i4 10s tlutos debrn rii(~i~te~rerbe ell 10 buw rle rlutos c01ecti1w C I L U ~ ~ O eru /)riilri/)(rli~lei~te u(~tlrulizudu y ~is(tdu p o r e11u."

'6 7 Suenci como si nosotros debiCrunlos exun~inur lu distrib~rridri (le nutJ.stru h u s ~ de dcitos." mgirid Reggie. 2QuB tip0 de rambios hubriu que h a r e r bi nos rrroi~~rnos c.11 c w r direccidii P"

"B~rcwo", clijo Corclc~licr, "Coiiro prirneru ~nc~tlitlti, tmdriurrros c p J decitlir (pi6 tlutos pir~(lcw inuiitenerst~ lorcilirrtwtc y qlri tlvtos tl~bericrrr hucr~rsr~ t~r~rrtrulrnc~rlte. 1 si utin q u - si6rcrinos h u r w cptJ c i ~ r t o s clutoa rorporuticos e s t h (lisl)orril)l~s PI I sitios rc~rnotos. nuestros sist(wicrs purr1 roirtrolcrr ~1 ur(.~.so (1 10s rlntos t~rrdriurr (lire s ~ r rtrils s o ~ i s t i c d o s pcrrcr per - initir q i i ~ sc~an q j ~ r i ~ t u ~ l u ~ (~oi~.siilt(r~ ~ I I P ~ ( J ( ~ ~ P ~ ( I I I duto.s (IP r m i ~ de 1111 sitio. Htry otrcis (westiones, p r o c011 imestro h i s to r id de B~itos creo que c ~ c t r r ~ o s err rrrrcr bitenti posirihn p r u (70mei~zur (1 pensur sobre lilt sistetnu de base de dutos distribuidu".

E .tt. c.apitulu I111nt1a nne introtluc.c*ihn a la rxtitantt. hrra tlr 10s sistemas tlr 1 ~ ~ s tlr tlatos c11stril)uiclas (SBDD. DDS r n inglbs). Drl)itlo a q u r 10s SBDD son dim un i r r a r n tlrsarrollo, r s t in jngando ya ttn papel inq)ortantt. t.11 o1)c.-

raclonrs tlr nrgocios. b,n rl Futuro. los SHDD clehrn convrrtirsr en nna trciiologia n w r i a - ria para totlas la5 organizac~onrs. Con los rxtraordinarios avances qne r s t i n oc-urrirntlo en la5 tecnologias tle las eon~unicaciones, las posibilidades son inq)rcsioiiantrs. E n r i t e t~apitnlo ' l ~ ~ r t ~ n t l c r i :

i ,Por (pi una SBDD rs valioso para una organ izar ih? Los I'nntlanwntos tecnolhgiros y la trrininologia tle un sisten~a de 1)asc (It. tlatos dis- tril,uitla (SHI)I)). Eleincmtos tlel tliseiio t l ~ un SBDD. Rstrategias y otj je t i~os clue son iml)ortantes para los SBDD. Confignracioncs opciona1t.s qnc cstfhn t1isponil)lrs para 10s SBDD, junto con sns vcntajas y tlt~svcmtajas. Los ~) ro l~ le inas cle c-ontrol fundan~rntales asociados con los SBDD y 10s inbtotlos cle t ra ta r con ellos. 1,os fnndanientos de los sistc~iri;~s t~lit~ntc~/sc~r\-iclor.

iPor quC sistemas de bases de datos distribuidas? Con la ainplia prevalencia tle 10s sistemas tle haws d r datoi wntl-al~zatloi, loi uiuarios ! 10s programas de aplicacihn ac*ccden a la h a i r de datos deidr sit105 localei. asi como dcstle loc~alidatles reinotas. En contrast(,. m a haw dr clatos distril)uida (distributc~d datubuse) no se alrnacena cornplctamcmtt en una lot*alitlatl central, 5ino t p c . ie cliitrihu\e en una retl tle localitlades quc pueden estar geogrific*anientt, st.paradas y cwnet.tatlai por c d w e s de coninnit*ationei. Catla localidad tentlri su 1)rol)ia h i e tle tldtos y e s t i t.al)at*itada para acwder a 10s tlatos de otrai loca1itlatlt.s.

Page 406: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SlSTEMAS DE BASES DE DATOS DlSTRlBUlDAS 3 9 3

Hav \ar ias razonrs para tlwarrollar 1, uhar un sisteina (11' IIR-es de dates tlistril)ui- (la m t r r las I I I W s r int.lu\.en la. signientrs:

1. 2 1 ~nrnutlo. las o i y ~ u i z a t i o n t ~ s tirnen ranlales o tlivisionrs en difvrt~ntes 1c1t.alitla- tlrs. Para lula I c d i t l a d tlada. L, putliera ha11t.r tun twnjlulto tle tlatos clue usr I ' ~ I ~ ~ ~ I I ~ ~ I I ~ ~ I I I ~ ~ I ~ L I * y t ~ u i z i s rxc l~~s ivamrnt r . .11lt&s 1, p111~1th 11sar dates t p e stB listw (*on m i s f r w l w n t k ~ r n otra localitlad L'.

Por ejrtuplo. en nn wgorio tle vrnta al por mtbnor twla tirnda sr puedt. 1)t.m- ficiar dt. sn ~ ~ r o p i ; ~ 11ase tlr tlatos tlr invcntarios. vmtas, cuentas dt. clirntrs \; c n - plratlos. Uurantt. las ol~rratiolles d r nt:gocicrs. las transaccionrs sts p rowsm twnve- i~irntrmtwte r n la I ~ a s r d r clatos local. final tlr las ol)erat*iont-s tlel tlia stb tlrlw . , trasmitir 1111 ~ ~ S U I I I I ~ con 10s rtw~ltados a las oficinas wntrales (11. la t~oq)oracwn r u tlolltle sr mantirnr nlia Imr tit* datos grorral. Peri0tlit.ameutr ratla tientla ~mctltl l ~ ~ n t ~ f i c i a r s r dtt t rn r r ; I I Y W ~ a la h s e tlr tlatos gtweral ! p d c r conlparar sus \rnt:rs y gallantias con las dc las dr~nAs tirutlas twmo lneditla tit. sn rendilnitwto.

En nn kistrma de I)ast. dt- tlatos t:elltralizatlo t x l a sitio tmtlria q u r (.star usantlo twlacrs dts c.omunit*atii,n tbon la I~ase tle tlatos 1)ara a n h s t i p s tlr iuf'o1.- marihn. 11or lo t111t' las comn~li twionrs ~ ) u r d e n t*ollw*rtirsr en 1111 curllo tlr h e - Ila importantr.

2. I'tmnitir qnt. twla sitio almatww y mantrnga su propia 1)ase tlr datos f'acilita (4 a t w s o inmtvliato y rl'it-az a 10s datos clue st: nsan con mhs freeurncia. Talrs datos 1)otlrian usarsr rli otros sitios. lwro con mt-1105 frrt~utwt*ia. Ilatos sinlilares aim+ rtwados 1.11 otras lot*alidadrs tam1)iC.n podriarl a t w t l t w c ~ si fn rw ~ i t ~ w s a r i o .

3. Las I~as rs dr tlatos t1istril)uidas ~,iletlrn mcjorar la fial~ilidatl. Si 10s c o ~ u ~ ~ u t a t l o - rcs clr 1111 sitio fallan. o si s r qlitda furra d r servicio algiin enlaw tlr t~onlunit*a- cihn. el rrsto de la r t d 1111etle s t y ~ i r fnlit . ioua~~do. Es mis . si 10s datos r s t i n tlnplicatlt~s VII m i s dc iln sitio. 10s clatos neetwrios ~ ) u t d t w estar 11isl1onihIrs IYI

otro lugar I I I I I ~ a h stb mantirnr ol~erativo. 4. Ptbrrnitir t.1 t w ~ t r o l local tlr 10s datos tjnt: se nsan (.on m i s frrt*ntmt.ia en un sitio

puetlr mtsjorar r l gratlo tlr satisfaecihn d r 10s usnarios con r r l a r i h a1 sistrma tle I)ases tlt. datos. Esto es, las 1)ases tlc tlatos lot-ales puedrn l-rflejar nit-jor la estruct i~ra a t l~~~iu is t ra t iva loc:al y. por lo tanto, Iwintlar un mejor s twi t io a las nrt.esidades dts la pestihn.

Rstas son algunas de las v e n t a j ; ~ ~ t p r se ohtirnrn com6nnlrnte tlr lo5 sistelnas tits t)ast,s tle datos distril)uitlas. Sin cml)arpo. hay ciwnnstancias en las clue 1111 sisttm~a tlistri- I)uido pnetlr 110 prrsrntar ventajas. En situationrs dolidt: tenga lugar m a gran rantidat1 tlr c*o~nunit*aciirt~ rntrt. los sitios. el so11rt:costo ell clue sr 1 ~ 1 t ~ l t ' incnl-rir I)or las coordinacio- ncs y las tareas d r control puetltx d rpac la r srvrramrnte r l rt.ndimiento. Esto purtlt* ser t~specialmtmte cirrto c11ando se manticnr~l cIup1it:ados tlr 10s tlatos r n sitios tlifrrrlltc*~ y. par ctmsigniente. stb necesitan recursos extra para asegnrar qntS las at*tualizacionrs ~ I I C se hagan d c modo t8011currrntt~ sean consistentrs.

Rrsumamos algo estr hltimo aspwto. La vcntaja de rrplicar 10s tlatos es la \rlocidatl qile s r gana en procesamirnto en 10s sitios r n donde s r nlantengan clichos duplicados, asi como t.11 qur jwrmitr disponer tit- ctrpias tlr seg~lridad por si ociirrta 1111 fallo en algima lotdi- dad. Tales tlaplicacionc~s implic*an usar almacenamientn estra y el procesamicwto de las tran- sat.riones y la r e c q ~ t x w i h n d r datos se hace mLs dificil. Cuantlo .sr prot8rsr m a transat.tihn h a 1)iletlr provocal- un recjuisito de leer y actualizar datos en 10s diferentrs sitios y en trans- mitir 10s mmsajes rrspectivos rrltre rllos. Drsp11C.s tlr clue cerrarsc una transaccibn, el sistt.- ma dr haws d r datos distribuida (SRUD) dehe asrgurar cpe todos los sitios relevantes hayan rompletado su procesamicnto. Shlo si el procwamiento condr~yo normalmentr r n cada lugar deheria cerrarse la t r a n s a w i h . Dr lo contrario, la transaccibn cleheria tleshat.rrsc en eada uno dr 10s sitios participantes. Por illtimo. conseguir tpir 10s datos r s t h chponihlcs a 10s nsuarios a travk cle una red h a w cjur el 11rohlema tle scguridatl sea inherentemcnte m i s complcjo en 10s sistrmas distrihuidos que r n 10s sistrmas cmtralizados.

Page 407: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

r is tc~na clc gcsti611 cle I ~ a w s clr clatos distrilmida (SGHDD). El sot'lwaw cltw prstiona t.1

sistrma t l v 11ast.s tle tlatos tlistril~uicla.

transaccirin local. Lna trausawiiln tlut. reqnierr un h i t w agrnttx.

transaccibn glol,al. Uua transarcibn quc rrcpirrr I arios agentrs.

Un modelo general de SBDD (DDS)

1c.s. .lt1icio1lalnic.ntv twlu lugar 111ietlr p r o t w a r t r a n s a t ~ i o n r s tjut. recjuirl-rn tlatos tluts vst2i11 almac~rnat1os tm otros sitios (tlatos plo1)ales). Ksto rr t lni tw t p e las 11asc.s (11% tlatos lot~alrs s t h m c~apwrsd t . comnnit~arst~ tlntos rntrtb si. Las conrxiont.s tlc t ~ ~ ~ ~ ~ u r ~ i t ~ a t i i , n qntX p r q ~ w . . .

t h m i las car~atitlatles net*rsarins tlr transfrrrncia s r l la~nan enlace* (1irlh.s ). La ritruc'twa tle en la t~ t~ l)rintli~ la arqni twtura 112isit.a tlr un sistenra d e gt:sti6n d e base tlc datos tlistri- 1)uitla (SGBDD) '. t~ut ' rs el sistrnia tit. softunrr t ~ u ( ~ gt'stiior~a las haws tle tlatos t l is t r i l~~~it las .

Varies SGKDDs ban sitlo inq~lrrnrntados o t&n en tlrsarrollo. Ent r r bstos sr intd~i- yen Systc*rn for Distrilmtecl clatabasrs (SDD) (Conq~ut r r C o q ~ o r a t i o n Amrric'u). R" (1BM) !- Distributed INGRESS ( IErlational l;t-hnology). El popular DB2 tle IHM int.li~yt. algiin q o r t r (It. t1istril)utividad. lo niismo clue INGRESS/ST,IIZ y Orat*lt.7.

1111 SGBDI) r s 1111 sistnna t.onn)nrsto tlr varios K B D s o ~ ) r r a n d o tbn sitios lot*ales v t p S r s t i n c.onrt.tatlos t101- facilitlatlrs 1 1 t h manejo tie mensajes. RI tlit*tionario tlr tlatos tlrl SGBDD iiwlu!~r la inf'orniatihn nsnal newsaria para la gestibn tlr los tlatos junto t.ou la inf'orn~atihn concrrnirntt. a vatla lot~~li t la t l . a la dnplit.acibn y a la f i -apn t~ntac i i ,~~ tlr los tlatos t.11 varias relacionrs. En la mrilitla en tjuc s r protbrsrn las c*onsultas para rrtmpt.rar o a r t i d i z a r clatos. el tlic.cionario tlc tlatos tlrl SCBDD puedr proporcionar la iulormat~ihn rrtjurritla sol)rt, la lotditlatl 1; la tlnplicacihn, mirntras tjuc asrgura qur las actualizacionrs s r propagan a las lot:alitlatlt~s apropiatlas. El tlic'cionario dc tlatos tlrl SGBDD l)nctlc ma11- tenrrsta nl un lugar twltralizatlo, o sn1)t~onjuntos del mismo pueden tlistri1)uirst. rntre varios sitios tle a t w r t l o 21 las nrtwitlatlrs. Una copia completa tlrl tliccionario tlr tlatos aotlria rntonces ohtrnrrsr hacientlo una n n i h tie todos 10s subt:oniuntos distri1)nicIos.

Los usnarios intrractiian con r l S(;BDD rjrt:ntantlo programas clue st: llaman tran- sawiones. Las transact.iones tbn tnlrs sistrmas no estcin ya restringitlas a nn solo prowso wntrolatlo por uu mbtlulo tie softuarr. sino q u r putden invocar nn conjunto d r protwos rooprrantw. fnnt~ionantlo en varios sitios y controlados por m6dulos intlt.pcutlieutes d r software.

Catla uno tle estw Ilrocrws twoperanteb r n la transacci6n se llama u n aprn t r . I na transacci6n tjue rrcjuierr shlo 1111 agente s r llama transaccion local. l lna transaccibn (pie reqnierr u r i o s agrntrs st, denoinina transaccion global.

IJn agrntr (laclo l)netlr s61o accetlrr a 10s datos controlatlos por sn software tlr gestihn tlr tlatos l o t d . Accetler a 10s tlatos tle otro sitio rrcjniere de la twoperaci6n rle lo$ agentes tlr esos sitios. Un agrnte qne inicia una transawihn s r llama agrntr initiador. El agrntr ini- t iador purdr tlemnnclar la at-tivacicin tle agrntrs tlr otro sitios para poclrr accrtler a 10s tlatos nrcesarios. Una vez qur esth activados, dos o mas agrntrs st: pneden comunicar

A Las transacciones acceclrn a los registros metliante operacionrs r w d (lectura) y wri- te (escriturn). Read (x) rctorna el valor actual d r x. Write (x. nurvo valor) actualiza el valor a c t d tlr x a1 nurvo d o r . Una t r u n a a ~ ~ i i r n rxpidr las Ordenes reat1 y write a1 SGBDD y rjecuta las tmtratlas y salitlas por r l t r rn~inal .

Cada sitio partit-ipnntr en el SGBDD tipicamente ejrcuta nno o mcis d r 10s siguicntes mi~tlulos de softwart;: 1111 adminiitrador d e transaccionrs (AT), un administratlor cle clatos (111)) o un planificatlor. La Fignru 12.1 ilustra sus interrrlaciones. Las transat:c.iones se

Page 408: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS DlSTRlBUlDAS

comunic.an con loc; ATs; 10s ATs con lor planificadores: 10s planificadores se ccrmunican etitre ellos y tam1)ii.n con lor ADS y 10s ADS administran los datos. Estos concepton st. ilus- tran a h mis en la Figura 12.2.

Cada transac.ci6n comunica todas sns lecturas y escritnras a un unico AT. Una tran- saccibn tam1)ii.n rxpitle nna operacibn begin (rmprzar) a su AT cuando comienza su ejecu- cihn y luego nn ~ n r l (terminar) c:uando ksta finaliza. El AT comunica cada lectura y esrri- tura a1 planifit.ador, La seleccibn clel planificador se determina por "11 algoritn~o de control caonc.urrente, aunque cl planificador cjue se escoge mhs a menudo esti en el mismo sitio que los tlatos sobre los clue se esth operantlo.

El planificatlor cwntrola la secuencia en la cual 10s ADS procesan las brdenes de lec- tura y rscritura p mantiene el control de concurrencia. Cuando un planificador recibe una instrucci0n de lectura o escritura. el planificador puede procesar la instruccibn inmedia- tamente, tlemorar el procesamiento guardantlo la instruccibn para su accibn pusterior. o rwhazar la instrucci6n en el caso tle un error de transmisi6n, violacibn de acceso o algun l)rohlrma similar.

El AD ejecuta csada lectura !. escritura que recibe. Para una lectura, rl AD recorre su base de datos local y retorna el valor solicitado. Para una escritura, el AD n~odifica la base de datos local y retorna un reconocimirnto a1 planificador, que lo envia de regreso a1 -4T y Cste lo regresa a la transaccibn.

Transacclon

BEGIN --

READ (x)

WRITE (y)

END Planificador AD

Page 409: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

396 DISENO Y ADMINISTRACION DE BASES DE DATOS

red d e area amplia (WAN). Una red de computadoras en la que 10s sitias ~ 5 t h bastante disperses geograficamente.

red d e Area local (LAN). Una red de computadoras en la qur los sitioo estin uhic.adoq a corta distancia (por lo general menos de una milla) uno de otro.

IJos SRDDs a menudo enlazan sitios bastante clispersos geogrifiramente. Estos siste- mas se denominan redes amplias d e datos (wide area network) (WAN) " .Mtrrnativamen- te, 10s sistenias cle base d e datos distribuidas puetlen organizarse para servir a redes dc i r e a local (local area network) (LAN) ". tlonde las estaciones de trabajo tle las oficinas son 10s sitios y hay enlaces en t r r las estacionrs d e trahajo. E n amhas variantes 10s sitios pue- den enlazarst: d e varias maneras.

Los enlataes entre 10s lugarrs se corresponden con la estructura de un grafo: Los sitios s r cwrresponden con los vbrtices tie un grafo y 10s rnlaces entre 10s sitios se corres- ponden tmon las aristas de un grafo. Los enlaces usuales tle un W:iN son las lineas trlrfhni- cas, canalrs d e satdites o enlaws por microondas. Los enlaces tipicos de los LAN son de alta velociclatl y estiin sujrtos a hajos indices d e error. La cercnnia (menos de una milla) de las estacionrs de t rahajo dr un LAN permiten usar enlaces por cables coaxialrs o d e Sibra 6ptica adrni is de cables de par trenzado.

E n la Figura 12.3 s r ilustran dos configuracic~tirs grniricas de WANs. 1,a confignraci6n ccrmpletamente conectada requirre de n(n-1)/2 mlacrs. Cotno rste tbrmino es del orden dr 12, el nilmero dr enlaces crece ripiclarnentr segi~n aumente el nilmero de siticrs y, por lo tanto, aumenta el wsto dr itistalaci6n y mantmimiento. Aunque una configuraci6n totalmentr conectada nos hrincla una gran flrxi1)ilidad y fiahilidaci, la mayoria tle las instalaciones usan redes parcialmente conectadas por su mejor costo-efectividad del diseiio tle implementaci6n.

Los disefios LAN usualmrnte s i p e n arquitecturas como las qne se muestran en la Figura 12.4.

( 4 Completamente conectado

(b) Parcialmente conectado

, , Bus

Por srr siglas conocidas sc mantienen en ing1C.s (N. dcl T.). "or ser siglas eonocidas sr manlienen en in@ (N. dr:l T.).

Page 410: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS DlSTRlBUlDAS 397

Cacla localizacihn rn un s i s t p a cle 1)asr de datos distrit)uid:~ deberia ser capaz cle proc:rsar transacciones qur accrclan a datos propios, asi como tamt)ibn transacciones que ~.rquieran clatos tlr varias localizaciones. Los sitios de una red pueden cstar conectaclos lisic.anientc~ cle varias manrras. En la Figura 12.3, un mlacc entre dos sitios significa una cwwxibn directa entrr rllos. La selcccihn de una configuracih sobre otra es normalmente una funcibn tlr:

1. El wsto de enviar un mrnsaje tle una estaci6n A a una estacihn B. 2. La frrcucnela con la rual un enlace o una estaciim falla (fiabilidad). 3. El graclo en cl clue se pueden accrcler 10s datos independientemente de 10s fallos

d r algunos enlaces o estaciories (clisponihilidad). 4. La frewencia y rl \olnmrn de clatos que se debe acceder. 5. El wsto de enlazar fisicamente la, r,tac*iones en el sistema.

Diseiio de un sistema de base de datos distribuida

El diseiio de un sistrnia cle base de datos distribuida puede resultar una tarea wmpleja. Se tlrlwn havrr vonsidrraciones mny cuidadosas sohre 10s ol)jeti\os y las estrategias que dehen servir a1 c l l ~ t i o y se dellen, en paralelo, tomar decisiones solwe rhmo hay que dis- tr i l~uir 10s (lato, rntre 10s sitios de la red.

Estrategias y ol~jetivos

En rsta wccibn se analizan algunas de las estrategias y ohjetivos que son comunes a la mayoria cle las implementaciones de lob sistemas de bases de datos distribuidas.

Transparencia de la ubicaci6n. La transparencia de la ubicacihn permite a un usuario acceder a 10s datos sin conocer, o tmer que ver con los sitios en 10s que residen 10s mismos. Las uhicariones de 10s datos estin ocultah a1 usuario.

Transparencia de duplicaci6n. La transparencia de duplicaci6n de 10s datos significa clue si existe mis d r una copia de 10s datos, una sola copia se debe escoger cuando se van a rrcu- perar datos y todos las copias se deben actualizar cuando se hagan camhios. Estar esco- gicntlo una copia de 10s datos para la recuperacih y asegurando que siempre se actualizan todas las wpias de 10s datos puede ser una carga para 10s usuarios. Un SGBDD dehe hacerse cargo de tales rrquisitos y liberar de esto a 10s usuarios, permitikndoles coricen- trarse en sus necesidades de informaci6n.

Independencia d r la configuraci6n. La independencia de la configuraci6n permite a la organizacicin aiiadir o reeniplazar hardware sin tener que estar cambiando 10s componen- tes de software existentes en el SGBDD. La independencia de la configuracihn significa tener un sistema que se pueda expandir cuando el hardware se sature.

SGBDD no homogineos. A veces es deseatde integrar bases de datos mantenidas por dife- rentes SGBDD sobre computadores diferentes. A menudo 10s SGBDD son suministrados por diferentes fahricantes y pueden soportar tliversos niodelos de datos. Un enfoque para integrar estas bases de datos es proporcionar una hnica interfaz de usuario que pueda ser usada para acceder a 10s datos mantenidos por los SGBDD no homogkneos. Los diferentes niotlelos de datos soportados por 10s SGBDD no homogkneos se le ocultan a1 usuario nlediante esta unica y amplia interfaz.

Duplicaci6n de datos. La duplicaci6n de datos ocurre si el sistema mantiene varias copias idknticas de una relacihn, R , con cada copia almacenada en un sitio diferente. Tipicamen-

Page 411: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

te la duplicarihn se introdure para aumentar la disponi1)ilidad clel sistrma: cuando nna twpia no esti. dis1)onil)lt. tiebido a n n fallo de nn hitio. seria 1)osil)lc tener a t ~ e s o a o t ra t-opia.

La tluplicacihn tam1)ii.n puede mejorar el rendinliento. puesto que las transactiones tienen mayor pro1)al)ilidad d e encontrar una ropia localmrnte. El intwn~eniente es t i en el costo extra tlel almatwmniento aclicional en (4 mantenimiento d r la consistencia mntna entre las copias. La act~~alizac*ihn cle nna cwl~ia local irn1)onv el solrrecosto dt. transmitir la artualizacihn a todab las copiai.

Formalniente las ~ e n t a j a h dt, la duplic.ac*ihn es t in en:

1. Si una dr las estaciones clue twntit.ne nna rc:lat:iim K falla. la r c l a r i h p w d e re ruperarw tdr otro sitio )- el sistrma 1)uede rontinnar cualquier proc.cwmiento qnc involutw a R . Por tanto. se nlejora la dispot~il)ilidad dc la 1)ase tlr tlatos.

2. Si la mayoria dc 10s accesos a R d o involucxm una Iertura cle la relacihn. cmton- tw u r i o s sitios pndieran (.star proresando consultas. qut* involucren a R . c.011-

c:nrrcmtemrnte. Mientras m l s twpias haya de R a lo largo dtx la red. ntayor cs la posibilidatl de t p v una t~onsnlta pneda rj~scutarse sin rrquc,rir tlr transmisicin de datos entre las estacionc.~. Lo yne significa ganant-ia cn 10s rostos )- tsn tiempo.

La tlesvtmtaja principal es quc, cl sistrma d(~1w asepnrar clue son itl4ntic.a~ todas las tvpias (le R. P o r tanto. cuando ocwrra m a actnalizacihn dr R , tal artnalizacihn de1)eri propagarse a todas lab lotdidades (.on ~1 rorrespondiente aumrnto de roste.

Para las l~ascs de datos con duplic.acihn hay a1 mrnos dos iml~lementaciones altvrna- tivas. En nna de Gstas se tuanticwe una I m c . de datos centralizada d e la cnal se extraen ropias de p r r i o n e s para uso 1oc:al. Esta rednndanria se ve cwmlwnsada 11or la r t d u r r i h dr 10s costos de comunicaciones del)itlo a yue los clatos es t in alrnat~enindose loralmente. La fiabilidad tamhiin se mejora, puesto clue la pbrdida d e 10s clatos cn nna localidad pue- tie restaurarse por la copia tlr 10s datos clue se mantiene en otra 1ot:alidad.

La segunda alternativa r s omitir la base de datos centralizada y duplicar srgmentos d e la basr tle tlatos m 10s sitios clue tienen 10s usuarios rnis fretmentes. Con esto se ?\ i tan 10s costos d e mantrnrr la base (l(: datos centralizada, p r r o pneden c r e t w los costos e n comunicaciones.

Part i r ionamiento de la Base d e Datos. Podrmos Iograr nna mayor eficacia con una estra- tegia qut: implemente una base de datos particionada. Con estv c n f o c p ~ e ~ la base d r datos s r distrihnyc de m o t h que no haya solalmniento o duplicacihn de 10s datos nianteuidos c:n las difrrentes lotdidades. Puesto que no ha! tluplicaciones de 10s datos. se evitan 10s cos- tos asociados con el almarenamiento y mantrnimimto d e datos redundantes. Sin eml~argtr. la disponihilitlad d e 10s clatos se ve limitada si un mismo srgrnento d e dato se nsa ell mis d e una localidad. La fiabilidad tamhi6n ~,urcle verse afectada, puesto tpr iin fallo de un sis- tema d e cilculo significa q u r los datos aln~at~enados en esa local izar ih no es t in disponibles para 10s usuarios en rualquier par te en el sistrma.

Puesto que el entorno distrihuido del SGBDD permite que una base tle tlatos est i fisicamente particionada, la srguridad tle 10s datos se puede mejorar, en es1)rcial cwando 10s segmentos de la particihn tienen diferentes necesidades d r seguridad.

La forrna mlis elemental d e implrmmtar nna base d e datos particionatla es t ra ta r a ksta como una serie d e sistemas de bases de datos que operan indepentlientemmtc: con capacidades d e acceso rrmoto. Una alternativa, clue rs en parte mis rompleja. es nna en la cual los sistemas de bases de ciatos se intcgran, de motlo que una unica t:onsulta del usua- rio puede requerir acceso a m i s de uno tle los sistemas de haws de datos. Mientras que las complejidades subyacentes quedan transparentes a1 usuario. realtnente pueden rs tar implicadas bastantes operaciones. Pmsemos, por rjemplo, en m a o p e r a c i h relational como una reuni6n (join) que requiere de taldas que es t in mantenidas m dos localidades diferentes. Este prohlema sc v e r i con m i s detalle dentro de poco.

Page 412: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS DlSTRlBUlDAS 399

Fragnentac-iciu dc datos. I,a fr;rpnentac:ii~n de datos sc. a1,lic.a a 10s ~ihtenias dv haws dr datos relacionalrs. Esta st. refirrc a la fornia en la cual 1as relacionrs st. pnrtlrn s111)dividir y clistri1)uir m t r e los sitios dr la red. Esta t8s una rxtc.nsii,n d r la rstrategia tlr 1)articionar 10s tlatos. la cwal por lo grnrral tirne qne v r r con la nllicacihn clr rclaciones ( o archives) cwniplrtas dr la l ~ a s r ti(. datos (In varios sitios.

Si una rrlatiim R s r fragment;^. Csta s r dividr ru snl~c~onjuntos (l'1.agmentos) K,. R.,,. . . . . R,, . La unihn d r esos fragmrntos rrconstrnyc, la relati611 original K . Esta fraprnrn- tacibn puetle ser horizontul. la cwal asigna tnl)las a varios f r a p c m t o s o l)iicd(~ st^ ~~ert i rcr l 1.n la q n r 10s a t r i h t o s selec*cionados s r proyrc8tan cn varios fragmrntos.

i,Por qnC. considwar la frapnrntacibn? Segiln srfida Rilairr (1083), nna hasr I I C datos d r las rcservas tlv m a arrolinra pnrtlc nsarsr cwn mLs rfertividad si 10s su1)conjnntos clr la I~ase de tlntos se alrnac.c:nan m la localidad en la quc. se or ik~nan los vuelos rrspcbc.tivos. Sin~ilar- incSnte7 para nna Iww cle datos tlt. nn I)anc:o, pnedr scbr iltil almat-mar 10s sul~conjuntos d r la l);lsr de datos m las 1oc:alidades rn ruyas suc:ursales r s t in localizatlas las rrsprrtivas c*nentas.

Si s r pcrmitr la fragmrntacibn, nna relacihn dada no n w r s a r i a ~ n r n t r sr alniacena conipletan~rntc en 1111 ilnico sitio. Sns s ld)(~onj~intos s r distribuyrn cwtre varios sitios por c~onsidci~ac~ionrs de rrndimiento. Es niLs? estos sabconjnntos pnedrn cliil)lic.arse.

Frngn~entacicin liorizontal es la divisihn dc las tuplas dr nna rrlarihn en f'ragmcntos. Usnaln~entr rstos fragn~rntos son clisjuntos y puederi rs tar duplicaclos. Dc rsta manrra. la dul)lic*acibn s r gcstiona ul nivel clr la fragmrntacicin y no a nivel tlr tuplas individualrs.

Para i l r~strar la fragmrntaci6n horizontal suponga clue la relacihn R c,s la rrlacbi6n YUElA) d c la Pigura 12.5. Esta rrlatiim pnedr dividirsr en 110s fragmrntos, catla uno con- tcnienclo Ias tuplas clue identifican un origcn conpin del vnelo (SF y Den) '. Tal fr;~grnenta- cihn st. define formalmrnte romo nna SELECCION s o h r la relacii~n R; csto es.

R, = SELECT ( R : <condition sobre uno o mas a t r i b u t o s > )

Para nurstro rjcmplo podria s r r

VUELO-DESDE-DEN = SELECT (VUELO: ORIGEN = ' D e n ' ) VUELO-DESDE-SF = SELECT (VUELO: = ' S F ' )

En la Fignra 12.6 s r muestran lo5 fragmentob rrstiltantrs. El fragnirnto VUELO- DESTIE-SF se alniawna en r l aerovuerto de San Francisco F r l fragnento VlTELO-DESDE- DEN ir almacena m (11 arropnerto 4e Denver. La relacibn original se purdr restaurar Ilr- vando a caho wra operacicin d r UNION dr VUE1,O-ORIGEN-SF y VIJELO-ORIGEN-DEN.

Los frarrmentos antc,riores son horizontalniente clihiuntos. Esto r h . no octtrrrn instan- cia5 d r t u ~ ~ l a s m mhs d r nn fragmrnto. Sin eml~argo, podriamos tener qutS una tnpla par- ticular tlr R a p a r r w en inis tic una lr. Por rjemplo, en San Francisco podrmos querer a lmarrnar las tuplas q u r s r or~ginan en San Francibco, asi cwmo aquellas quc. llegan de LL\ '.

VUELO Origen Dest ino Hora de p a r t i d a Hora de l l e g a d a

Den SF Sam loam D e n SLC 7am 8am D e n S F I Pm 2Pm D e n SF f3~m 7Pm SF - Den 8am llam SF D e n 12pm 3Pm S F D e n 5Pm 8Pm SF SLC 9am llpm

' Sr rrspctan las a l ) r~ . \ i a~uras cn inglbs tic4 original, posiblernentr d r laa ciudadrs San l.'ranc.isc.o y Lkn- vrr (N. del T.).

.' Siglas twr las qur sc conow m Estaclos llnidos a la rindad d r Los Angetes (N. drl T.).

Page 413: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

VUELO-ORIGENSF O r i g e n D e s t i n o

SF Den SF Den SF Den SF SLC

VUELO-ORIGEND O r i g e n D e s t i n o

Den SF Den SLC Den SF Den SF

Hora de p a r t i d a

Hora de P a r t i d a

Hora de l l e g a d a

l l a m 3pm 8Pm

1 1 pm

Hora de L l e g a d a

loam 8am 2Pm 7Pm

L'ragmentaci611 \ertieal. Fragmentaci611 vertical es la clivisi6n tlel ronjnnto cle atrihntos de nn o1)jeto rn sub- Particionar m a relarihn cwnjiintos, qlie pnetlen solaparst.. T,os fragm~nto5 be o1)titmen proyec.tando la relaci6n ori- 1""' la pr.tr!ec*c.i6n tlrl ginal sohre c d a cwnjunto de atril)utos. Para asegurdr que las pro)wcionrs son una deb- ~ ~ ~ l ) r o n j ~ ~ n t o cle s u ~ wmpsiirii ,n sin pCrclida dr In rchwiOn, rada fragmento vertiral c o n t t d r i normalmente atrihntos. m a elale para la relaci6n.

La fragmentacih vertiral se tlefinc eomo

Rl= R [ <lists de nombres de a t r i b u t o w ]

R purdc* recwnstruirse d r fragmentos nlediante m a rtwni6n natural ( n u t u ~ d join):

R = JOIN ( R,, R,, . . . , Rn)

La fragmentac*ibn vvrtival reqnirre dt: la atlici6n cle un atrihuto t y e r i a l para identi- ficar la tupla. El atrihuto de identific-aci6n tie la tupla (ATT) es una direccibn de una tupla. Pllesto qu r las 11irec:c:iones son hriicas. el ATT funciona conlo una c law para el esquema ampliado para R . En la Figura 12.7 se niuestra esta adici6n de un atrihuto A1T. En la Figu- ra 12.8 mostranios la rrlaci6n VUELO descompuc$sta verticalmente en 10s esqnemas VUE- LO1 y VUELO2. Estas relaciones son el resultado de calcular:

VUELOI = VUELO [ORIGEN, HORA-PARTIDA, A I T ] VUEL02 = VUELO [DESTINO, HORA-LLEGADA, A I T ]

Para rewnstruir la relavi6n VUELO original a partir de 10s fragmentos, se calcula:

VUELO = JOIN (VUELOI, VUEL02)

VUELO O r i g e n D e s t l n o Hora de p a r t i d a Hora de l l e g a d a A I T

Den SF 9am 10am 1 Den SLC 7am 8am 2 Den SF 1 Pm 2Pm 3 Den SF 6Pm 7Pm 4 SF Den 8am l l a m 5 SF Den 12pm 3Pm 6 SF Den 5Pm 8Pm 7 SF S LC 9am l l p m 8

Page 414: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS DlSTRlBUlDAS

VUELOl O r i g e n

Den Den Den Den SF SF SF SF

VUEL02 Or igen

SF SLC SF SF

Den Den Den SLC

Hora de p a r t i d a

9am 7am I Pm 6Pm 8am

12pm 5pm 9am

Hora de p a r t i d a

1 0am 8am 2Pm 7pm

l l a m 3pm 8Pm

11 : 30pm

AIT

1 2 3 4 5 6 7 8

AIT

1 2 3 4 5 6 7 8

Distribueih de arehivos no fragrnentados En la sec:c:icin anterior hemos ;~nalizado las formas de particionar las rrlaciones entre sitios de la red. En esta secci6n se considerarli el caso en el clue relaciones completas se uhican en 10s sitios. Este es sirmpre una cuesticin central en el diseiio e implemmtaci6n d r los sis- temas de haws de datos distrihuidas. La razcin principal es clue la mayoria de 10s archivtrs son no fragmentados porque hay muchos accesos importantes que lo qur newsitan es recu- perar todos 10s registros en 10s archivos.

El mi.todo que destacaremos para determinar la asignacibn de 10s archivos ha sido adaptado de Bell y Grimson (1991). La funcibn ohjrtiva de este mttodo es maximi- zar el acceso local, sujeto a restricciones de almacenamirnto. Esto es realists, ya que el cos- to d r aiiatlir una relacibn a un sitio no incurre m un costo marginal signifirativo en tanto no exceda la c-apacidad de almacen;~miento. Por el contrario, el costo de acomodar los requisitos adicionales de almacenamin~to se considera excesivo si es a corto plazo. Esto es, aumentar las capacicladrs de alniacenamiento puede ser necesario para un negocio crr- cientr con grandes horizontes. Esto no hace daiio a nuestras motivaciones y aniilisis.

Comenzamos definiendo la n o t a c i h a utilizar en la forma siguiente:

C. = .I

A =

S; =

T =

t;, =

lZki =

d. . =

el numero de sitios indexados por j. la capacidad d r disco del sitio j (en Mbytes) el niimero de archivos. indexados por i 10s requisitos de almacmamiento tlel archivo i (en Mbytes) el numero de transacciones, indrxado por k frecuencia de una transaccihn k emanantlo de un sitio j n i~mero de accesos (para actualizaciones y recuperaciones) rrqurridos por la transaccihn k so l~ rc el archivo i una varial~lr de decisicin a la que se le asigna 1 si el archivo i se asigna a la esta- cihn j ; 0 en caso contrario.

Q s ~ a srccihn purdr onii~irsr sin pkrdida de continuidad.

Page 415: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

D t s a t p i st: tlrsprrntlr t p r 1. (1.. = 1 para totlos lo?; i ta1t.t. t p t L 1 <= i <= F'. Las rt.stl-it.- I ! I .

t*iont.s sol)rr 1.1 rspatio tlr almat.rnariilc~nto se p i~ r t l r r~ exprrsar por 2, ti ... s; <= c . para totlo ' I I .

j tal qiw I <= j <= V. Es ttwir. 111s recjuisitos tlr altiiace~lanliento d r totitis los arChlvos wig- natlos a unn c~stati011 tlrttwniuatla no l ) i ~ r d t ~ ~ l r w t d v r las t~al)at~idatlrs (11. a l ~ n a t ~ r i i a ~ ~ ~ i t w t o 111s la cstat-ihn. Es miis,; tkbe s r r una d r las ,V t.st;~t*iont~s en la rrcl.

T,a fiinci6n ol)jt.tiva es mmirnizar (1.. I ) , V .) dontlr V. . = l k , ~ , , ( i ~ , ~ , i . Note t p e 1;,: rs 11 1 1 1 1

una metlitla tlrl total tlr a twsos asociatlos 1.0n iin irchivo tlailc~ y m a trans;lwihn. I,a f i ~ n - ti6n ol)jt%tiva intents ponc1r 10s ;~rcat~ivos rrl attnellas lot.alidades tine titbnen los ralorts I,..

! I n ~ h s altos. I'uesto tluv el acwwl rt.mc~to es mis t*ostoso t1ur r l atvxso lot*al, st- t1est.a I I I ~ X I -

n~ izar c1 a twso lwal . Esto sr aclara rntsjor con un r~c~n11)lo. Si~pong;mos qilr se tlcsran asignar ovho artahivos rntrv cintw sitios. t : a h sitio I Y I I ~ 20-

M11ytes d r aln~at:t.~~amiento rn tlistw. La Figura 12.9 n~uestra la raz6r1 tle atwso tle las transat.- tiones il los art.hivos ( I L , , . ; ) . Por rjrml)lo, t d a vez clue sr iniria la transat.rihn I se r tyu ic r r~ i 10 atwsos a1 ardiivo 1, 10 wtwos al art-hivo 2, 10 atwLsos a1 art.hivo 5 y 22 actwos al arvhivo 8.

La Figura 12.10 m ~ ~ e s t r a la frrvwrncia con la c.~ial xr grnrran las tiifcrrntcs transac- tionc:.s t l td t : los tint-o sitios tlt: la red, por pt:rio(los (it. t i twpo nniforrnrs. Por rjrrnplo. con- sitlrrr r l sitio 1. Estr gewr;] I2 transat.rionrs (It, ti110 :!, 20 tle tipo 6. :! tie t i p 7. 13 tit* tipo 8 y 4 d r tipo 0.

La Figura 12.11 Inucstre el r t d t a t l o tlr multil~lic.ar r l n i ~ m r r o tie filas awedicta.; ptrr transawihn por ( 5 1 numrro dt: transat*tiont~s grnrradas rrl ceda sitio ti..

! I . Segui~nos erltoncw por pasos el prot:t:tlimiento siguientc:

Paso 1: C a l t d w J(i) = ( j ' I 1 ,, = max V 1. I)it.ho IWII palal)rns. para twla a r th i \o id1.11- tificar rl iitio quv rrquiere el rAa)or nurnrro de acceios. Estai son la6 d r a y tan

Transacciones

1 2 3 4 5 6 7 8 9

10

I S i t i o

Page 416: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

! SISTEMAS DE BASES DE DATOS DlSTRlBUlDAS

S i t i o s

1 2 3 4 5

A r c h i v o ( t amano)

nrgrita d r la Figura 12.11. I)e rsta manr ra , sr idcntifica rl sitio clue tienc rl mriuimo ninnrro tlc acresos nara ratla archito. Asignar d.. = 1 para totlas las entratias en negrita y d.. = O en 10s tirmis rasos. Comprol)& para vcr que no sc, haya r x t d i t l o la c:apal!idad clr almacenamirnto tlrl sitio. ril sitio 2 se Ir han asignado archivos quc: requirrrn 10 Mhytes tlc memoria, p r ro shlo hay disponibles 20 Mbytrs. El mixirno V.. quc: se I)urdc. alcanzar a1 almarenar cwalyuirr arrhivo del sitio 2 se ohticme alAac*cnan(io los archivos 1 , 2 y 8. La nueva tallla V.. (Figura 12.12) s r obtiene eliminando la fila 2 y las columnas

' I 1, 2 y 8 de la Figura 12.11 y recalcdando J(i). Estas son las entratias en negri- ta de la Figura 12.12. Asignar ti.. = 1 a las entradas r n negrita; d. . = 0 en 10s clemis rasos. El sitio 3 ' h u e uhiraclos 10s archivos 3, 5116 >- 7 clue rrquiercn m a c a p a d a d total clr almarrnamiento clr 36 Mhytes. El sitio estri sohrrrargaclo. "

El miximo V.. qur sr obtiene cle almacenar rualquirr archivo m cl sitio 3 s r alcanza alma&nanclo 10s archivos 3 y 7 . La nneva tallla V.. (Figura 12.13) se ohtienr eliminando la fila 2 y las rolum- nas 1 y 5 cle la ~ i & r a 12.12. El nuevo J(i) se indira por 10s valores r n nrgrita de l a Figlira 12.13. Asignar 1 a d.. para las cmtraclas e n negrita y 0 a1 resto. A1 sitio 5 se 1;asignan archivos q u r requierrn 27 Mhytes. El sitio esth sobrerar- gatio. El miximo V qne se ohtienr en el sitio 5 es asignindolr 10s arrhivos 4 y 3.

A r c h i vo ( tamario) I

A r c h i v o ( tamario)

S i t i o s

1 4 5

5 ( 1 0 )

234 690 835

4 ( 1 0 )

100 532 618

6 (7)

0 146 160

Page 417: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Total de Almacenamiento I S i t i o

1 2 3 4 5

Archi vo MBytes usados I

Es fLcil ol)servar (fur (.I horrar la fila 3 y ];is rolumnas 1 y 2 dc la Figura 12.12 nos drja qur cl archivo 6 sra asignatlo a1 sitio 4. La asignaci6n final se resume en la Figu- ra 12.14.

Proeesamiento distribuido de las consultas Algunos sistenias de basrs tlr datos soportan hases dc datos relacionales ruyas partes rstan fisiranwnte separatlas. Diferentes relaciones pnedrn rrsidir en sitios diferentvs. miltiples c*opins de m a sola r e l nc ih~ pnedrn distrihuirse entrc, los difrrentes sitios, o una rrlacii~n l ) ~ w l c estar palticioriada en sn1)rrlariones y mtas s~ihrelaciones estar distrilmidas. Con vistas a evalllar una ronsulta t p e sr plantoe en u n sitio dado, pndicra ser necrsario trans- Srrir datop rntre \~arios sitios. I,a c.onsiderac%n (.lave aqni r s que el tirmpo rtyuerido para prorrsar tal cwnsnlta rsta grantltmentr comprometido por el tiempo que sr gasta en la transmisii'm d r 10s tlatos en tw 10s sitios. mas quc poi- cl tiempo qu r se emplra en rerupcrar tlatos del alinac*cnamiento sec~~nt la r io o drl (pie sc tarda en 10s ci lmlos.

Semirreuniones (semioins)

Snpongamos qu r las relaciones R y S clue se niwstran cbn la Figura 12.15 sc a1niac:enan en los sitios 1 j- 2. resprc*tivamentr. Si dcseiramos responder a una cons111ta dc:l sitio 1 que rrcpiera el cdculo de:

JOIN ( R , S)

vodriainos transruitir tocio S del sitio 2 a1 sitio 1 v ralcular la reuni6n (join) en r l sitio 1. Ekto implicilria la t ransmis ih de todor 10s 24 valores d r S.

S i t i o 1 R

S i t i o 2 S

Page 418: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS DlSTRlBUlDAS

Otra forma srria cdcular

( ~ 1 el sitio 1 y luego enviar T (6 valores) a1 sitio 2 para ral(w1ar

U = J O I N ( T , S ) ;

j , finalrnente, enviar I' (9 valores) a1 sitio 1. Poclemos entonres c.onq)utar el deseado

J O I N ( R , S )

J O I N ( R , U )

En la Figura 12.16 se muestran estos pasos y sus resultatlos. Observe clue con este mfoque transmitiriamos s6lo 15 valores para complrtar la consnlta.

Este rjcmplo sirnta las bases para definir una semir r runib . [,a ~emirreunibn de R (.on S es

S E M I J O I N ( R , S ) = < una p royecc ion de a q u e l l o s a t r i b u t o s de R que se i n t e r s e c t a n con 10s de S > ,

lo cnal no es mis clue la part' de R que w reune (join) con S. Por lo tanto,

J O I N ( R , S ) = J O I N ( R , S E M I J O I N ( R , S ) , S ) )

Si R j S ehthn en sitios diferentes, calrular la reuni6n de R ) S permite ahorrar en la transmisi6n de tlatos siempre > cuando R j S no st. reunan completamente, como queda demostrado en la Figura 12.16.

1 . T = PROJECT ( R : A 2 ) = A2

2 . U = J O I N ( T , S ) = A2 A3 A4

1 3 . J O I N ( R , U ) = A1 A2 A3 A4

Page 419: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS /

' Integridad de 10s datos en 10s sistemas de bases de datos distribuidas

tTn sistvma tlc 1)asr de tlatos tlistri1)uiela clifiertb de un sistrma dr base (I(. datos wntraliza- tlo en q n r la base tit, dntos resitlr en un twnjnnto S tic. sitios. Como pnccle espwarw. el twn- trol (10 la integrithd ele 10s tlatos se conviertr en 1111 1)rol)lema comI)licado en c1 rntorno tlr la red. [,as transac*rionc.s dejan de scsr serncw~ias linealrs y ordrnadas de las awionrs sol)rr los datos. Esto qnirre clc*cir qur . p : s t o qne 10s tiatos rstiin tlistril~uidos, las artivitladt*~ tlr la transaccihn pnrtlrn tenrr lngar en difrrentes sitios y purde ser dificil de mantener un o ~ d r n dc- tiempo entrr las arcio~lc.?;.

El p r o l ~ l e n ~ a m6s cvmun rs t.n;~ntlo (10s (o mas) transawioncs se e jcw~tan a1 mistno ticwlpo y a n h a s requirren arcwo a1 n~ismo registro dv datos ron vistas a romplrtar su pro- cwamiento. Este pro1)lrrna de contwrrenria para las sistrnlas d r I~ases tlr tlatos wntraliza- tias s r rxamiua (-11 el ( :api t~~lo 17. El p ro l~ l rma, r n cierto n~odo . s r e x a t ~ r h a en nn sistrnia distrilluido. pursto q u t ~ [)11edr hal)rr muc*has twpias dc 1111 misn~o rrgistro. Totlas las ropias tfe1)c:n tenrr 10s niisn~os va1orc.s todo el tiempo o dt. lo rontr:irio las transarcic~nrs oprrarian s o l ~ r c datos imprrcisos.

1,a ~nayoria cle 10s algoritinos para el wnt ro l d r convnrrrntia d r 10s sistrmas d r 1)ases tlr datos 11istril)uidas nsan alguna forma d r ron~pi -o l~c ic in , llara ver si cl rrsultado tlr la transarcihn es el mismo que si las acciones se rjecutasen secuenc~ialn~ente. P a r a implrmen- t a r (.I control tle ronc.nrrencia se delle eonocer lo s ip ien tc :

1. El t i p cle algoritn~o d e planific.atibn utilizado. 2. La loralizacihn del l~lanific.ador, 3. C h o s r t*ontrolan Ios d a t w duplicaelos.

Kstos fartorrs proporc:ionan las hasrs para la rons t r~~rc ibn 111. reglas clue: cletrrminen cuindo un algoritmo de rontrol d r cwnt*urrent:ia rs c-orrecto. Las rrglas s r 1)asan tw la troria d e la serializaci611 (theory qf s~riul iznbi l i t~) . Cuantlo las transarrioncs se Urvan a t*al)o sec:uenc*iaImc.ntr. priniero se rralizan todas las arriones dc una transaccihn y luego sc ejecau- tan todas las acrionc*~ clr la transacrihn siguiente. No hay c:onrurrc:nria por Io que esto se Ua- ma ejerucibn serial. Cuando las transat*tiones se cjecntan seruenc.ialmente, no p w t l m inter- fbrir entre si I)orqne s0lo hay nna artiva cads w z . Se vio en n n ejemplo initial (Capitulo 1 1) con demandas tboncurrrntes a la 1)asc. tlr datos de la Liga de las Mujeres por el Voto \ (I(: la ( h l a r a (I(' Coiwrcii~ qnt: las transart:iones usualmentt. no se ejecutan r n scc:nenc.ia. sino tlnr se intwralan. l lna ejrcurihn interc.alada dc las transarciont.~ se dice scrializa1)lr si proelut.e el mismo rt:sultado clue el qur produciria nna ejet*urihn scrializada de las mismas transac~cioues.

Para forzar la srcnmrializat46n, 10s ATs u1)iraclos en cada sitio dellen cooperar para proport:ionar el twntrol d r concwrrencia, usando nlrt*anismos d e r ierre o I~ltrqueo (locking) o poniendo marcos de ticnip) (timestornping). ( h n o antes, se tlehen proporcionar lob mrdios para p r r v r r las anomalias que pneden sr~rgir en contra d e la 1 1 u e d e datos rnando las transarcioncs se ejrcntan cw par;llrlo.

Extendrremos ni~estra c:onsitleracih tle estos asl)ectos examinantlo algunos ilea 10s mi.- todos pr inciples para mantrner la integridad en 10s sistemas de 1)ases de ilatos distril~uirlas.

Protocolo de cierre de dos-fases Destle ternprano hemos al)rentlido que el mantenimiento d c la integridatl d e 10s datos requiere dr l procrsamirnto atomizado d r las transart:iones. E n 10s sistrrnas rentralizados dt.1 Capituln 11 esto se lograba retardando 10s ratnhios a la base d e datos hasta clue s r w m - pletase una trnnsaccihn. En un sisten~a de h e tie dntos tfistribuida hay mas rosas involu- wadas . Antes d e cerrar las actualizaciones de una transaccihn, cada sul1transacri6n (aquella parte de la t r a n s a r c i h clue se ejeruta en 1111 sitio dado) dehe rnostrar que est6 pre- parada para el rierre. De lo contrario, la t r a n s a c c i h y tcrdos sus camhios se ahcrrtan com- pletamente. La existrncia de subtransacciones en varios sitios necesita d e esta regla.

Page 420: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS DlSTRlBUlDAS 407

P a r a qur m a transaccihu esti. lista realmrnte para el c:ierre, todas sus acciones tle1)r:n h a l ~ e r c:uhninado completa y satisfactoriamrnte. Si alguna suhtransarcihn indica que SI" a"'"'incs no pr~di r ron terminarse, entonces todas las siil~tr;~nsacciones se ahortan y ninguno tle 10s rnlnhios se hacen ekctivos. Esta idea s r i h ~ s t r a en la Figura 12.17.

prutocolo dr cierre tle Fornmalmentc.. el protocolo d e cierre d e dos-fases ' se eiecuta de la forma siguirntc: u

dus-fases. Un l~rotorolo clue consistct en nna faw Fase 1. ( h s i d r r r una transac*c:ihn T, qne se inicia en un sitio e invoca transac-cia-

dr l)rel)i~ratl~~-l)ara-c~l- nes en otros lngarrs: asi (:orno en el sitio local (en el q u r se inicih T ) . T consiste completa-

ricrrr y nna t'asr tlr mrnte d r s~ll~tr;lnsac.c.io~~rs. rada una r j r t ~ ~ l t i n d o s e en n n sitio diferrnte. Las subtransac*-

drcisihn (cwrar o ciones del sitio l o t d s r denota coma la Ci coordinadora. Las otras sl11)transacciones stx

ahortar). dcnominan participantcs. Cada subtransaccihn T i tlr 7' decide si ce r ra r o abortar. C;envia nn n~cnsaje de rjrepurudo-puru-el-cierre a todos 10s sitios en los q u r r s t i eiecutindose un T,. T , 1r rcspontle a C, con un mcnsaje tle voto-de-cierre o voto-cle-nborto.

F u w 2 . Sr 11asa c.n la infor1naci6n qilr rt&e de la fasr 1, C:, determina si T puetle w r r a r s e o no. D r ac.nerdo a esto, C, cnvia m r n ~ a j c s de cerrar T o abortar T a todos 10s sitios T I . Puesto cjue se rcrjuiere (*onsenso en la votacibn de rierrc para potler c r r r a r una transaccibn T, T no podri c r r r a r ki hay algun sitio q u r voth por allortar.

La mayor li~nitacii,n del protocolo de cirrre de dos fases rs clue tin fallo del coortli- nador puc:de resultar en que la t r a n s a c c i h qucde l)loc[ueada hasta que 6str restaure. Sr ha propuesto un protorolo de tres-fases cjue evita rsta limitacihn, pero aiiatir gastos y costrs. E n la prictica. la pro1)ahilidatl tle que ocurra w t r 1,loquro es lo suficientemrntr haja conlo para q u r no se justifique el costo clrl protocolo de tres-fasrs.

Bloqueo distribuido

Las transac.ciones glol~alrs puetlen involucrar varias transac:c:ionrs loralrs que se ejecutan en sitios diferentes. El SGBDl) d r h r asegurar quv estas transacc:iones se rjrrritrn en la secumcia apropiada.

E j e ~ n p l o 1. Supcrnga que la transacci6n T I rrsta 25 pavos d r l inventario y c[ar la t ran- s;lt.t:ibn T2 resta 35 pavos dr l inventario. Es m i s , suponga que T I se inicii, en el sitio 1, T., st: inicii, r n el sitio 2 y q u r las copias del Registro d r Invrntario cle 10s Pavos (RIP) se man- tiene m 10s sitios 3 y 4. Las transaccionrs globalrs T I y T , consisten d r transacciones loca- les en 10s sitios l , 2 : 3 y 4. T, dcbe iniciar tlos suhtransacciones q u r tlecluc.cn 25 del R I P tlc 10s sitios 3 y 4 a1 igual que debr hacer T2. El efecto dr estas transacciones clrbe estar coor-

- TI -

T - cierre L

T-

todo T,

Transaccion . . T T, no T-

Subtransacc~ones abortar T- T,... T,

-L

Two pl~ctse ( o r ~ ~ r r ~ i t protocol. No hay u n tbl-mino arq)tatlo rn espaiiol para comrtrll, pndiera tlrrirw taml~ibn dc terrr~ir~nri6n, tlr cln~rsurtr (N. drl T.).

Page 421: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

dinado, tlr modo qu r el camhio en nna copia tlrl R I P no se haga si no sr garantizan los cam- bios en las otras copias dr l RIP.

El SGBDD de cada localidad mantirnr un administrador d r 1)loquro (lock mtziac~g~r), '1"" administra las dernantlas de hloclncto y d e s l ~ l o t ~ ~ ~ t w de los elmirntos tle datos a1mac:c:- nados en catla sitio. Los 1)loqueos sr pnrtlen aplicar de dos niodos: (:ompartido y euclusivo. Si nna transacci6n hloyuea un registro en modo twnpartitlo, puetlr leer este registro, p r o no actualizarlo. Si nna t ransacc ih hloqura tin rrgistro en modo exc:lusivo, pnede lo mis-

01stro mo leer clue actnalizar el registro y ninglina otra t r an sacc ih purde aweder a1 re,' mirntras esti. bloqueado tlr rstv modo. Dos transacciones no pueden tenrr a la vez bloqueo exc:lusivo sohre nn mismo registro. Sin embargo, cualyuier nGmcro d r transacciones pne- den tenrr a la vez bloqucos compr t idos de un niismo registro.

Si ha!; una in ica copia del rrgistro entonces el rrgistro 16gic:o es i dh t i co a sn unica copia fisica. Los 1)loqueos adrcuatlos se mantienen enviantlo mensajes de tlrmandas d r hlo- queo al sitio en el que reside la copia. El AT d r tlic-ho sitio purtle otorgar o denrgar el hlo- queo. retornando dicho resultado al usuario.

Sin ernhargo, cuando hay varias copias de un registro, la tratluc:cihn de 1)loquro fisi- co a bloqueo Ibgico se purde rjecutar d r difrrentrs maneras.

Bloqueo distribuido de dos-fases Recordernos que el hloyueo de dos-fasc:s (B2F) sincroniza las lecturas y escrituras tletcc- tando y prrviniendo esplicitamentr 10s conflictos rntre las oprraciones coucurrrnttbs. Antes de leer el rlrrnento d r tlato x, una transacri6n tlr1)e t rner un bloqueo-lectura ( r e d lock) s o h e x. Antes tlr rscribir m x, dehr t rnr r un bloqueo-escritura (writelock) sohre x. La propiedad tlrl bloquro r s t i genrralmmte go1)rrnada por dos rrglas:

1. Transac*ciones difrrtmtes no puetlen poseer iirnultineamentr blocj~~eos clue rntren r n cwnflicto.

2. Una vez clue m a transacci6n renuncia a la propiedad de un hloqucw nunca p i e - tle ohtener bloqueos adicionalrs.

La base de este m6todo es qn r un paso sirmpre purde prosrguir a mrnos clue rntre en conflicto con un paso prrvio de otra transaccibn activa que no sea ella misma. La vrrifica- ci6n de esto en un sistrrna de bases c k datos distrihuida es exactamrnte la misma; la cues- t i h es cu i l rs la mejor manera d r llrvar esto a t A o . Una forma rs que el SGBDD com- prurhr cu indo un registro accedido por el paso en cuestihn, ha sido accedido por una transac:ci6n activa. Usando estr rnfoque, se l r solicita a1 AT que ohtenga los hloyueos res- pectivos antes de lccr o vscrihir datos. Esto rs , el AT debr haher recihido un 1)loqurcr-lee- tu ra del SGBDD loral desdr el rual st: lee el dato. Similarmente. antes d r actualizar un registro, un AT dehe haherse provisto de un 1)loqueo-escritura de todas las t~ases de datos que alrnacenan el registro en cuestibn. Ilustremos rstas ideas con un ejrmplo.

Ejemplo 2. Suponga clue una transacci6n T es t i compnesta de dos awiones de la forma siguiente:

1. que opera en el sitio 1 y escribe un nuevo valor para la copia R , del rrgistro R , v

2. T , , , , yue opera en el sitio 2 y escribe el rnismo valor que en (1) para la copia RL de R .

Atlrmis consitlerr una transaccihn T 2 qu r tiene dos su1)transaccionrs T?,, funcionan- do en el sitio 1 y escribientlo un nnevo valor en R , y T , , , oprrando en c.1 sitio 2 y escribirn- do el mismo valor en R,, El 1)loclueo de dos-fases se ilustra en la Figura 12.18. Observe clue podrian oclirrir simultinearnente pares de eventos en cada linra. Los eventos en rl sitio 1 sugieren q u r debe prrceder a T , , l . En el sitio 2, T I , , dehe prewder a T , 2.

' Conncido cn inglbs pnr las siglas 2PL (two-phase lorking) I N . tfrl T.).

Page 422: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS DlSTRlBUlDAS

BLOQUEAR R , BLOQUEAR R, DESBLOQUEAR R , DESBLOQUEAR R2

BLOQUEAR R , DESBLOQUEAR R ,

BLOQUEAR R, DESBLOQUEAR R2

Sitio I Sitio 2

Una ticnica cle bloqueo de dos-fases primrro pasa por una fase de adquisici6n tle todos 10s bloqueos de la transacci6n y luego por una fase de liberar estos hloqueos: No se p r d e adquirir n i n g h nuevo bloqueo despuis qut: se haya liberado algi~n hloqueo. Papa- dimitriou (1988) prohb que 10s hloquros-lectura y 10s bloqueo-escritura generarin crono- grarnas consistentes si y sblo si las transacciones procesan en dos fases. Esto requiere clue el AT evalhe y rrordene, si es necrsario, la secuencia de pasos que arrihan a cada sitio. El AT debe ser tin prograrn;r tlistribuido con un suhprograma llarnado mbdulo. ejecutando en cada sitio. El c:6rnputo tle un mbdulo es una serie de acciones tales como:

1. Hecrpc-ibn tle una accibn y otorgar su ejrc.uci6n 2. Enliar tin mmsaje a otro sitio. 3. Rrc-ihir un mensaje.

Para mostrar qne esta estratrgia siempre genera cronogramas consibtentes, es nece- sario probar que el orden de 10s hloqueos permanere igual al de un cronograma serial.

Marcas de tiempo

mama de tiempo. Un Con un protocolo de marca d e tiempo (timestamp), a cada transaccibn Ti se le asocia una in6todo para idcntifirar marca de ticmpo ST(T;) cuando m t r a a1 sisterna. Si Ti entra a1 sisterna antes que T. enton- lox mmmjcs con la 11ora ces ST(T,) < ST(T,). Las marcas (ie tiempo se conforman a partir de m a sdcurneia dc transrnisihn. crecirnte tie enteros. El protocolo gestiona la ejecucibn concurrente, de modo qne sea equi-

valente a una predeterminada ejecwcihn seriel. Dicha ejecuci6n se define por el orden cre- ciente de las marcas d r tiernpo.

iC0mo fuerzan ]as marcas tle tiempo la serializaci6n del procesamiento de las tran- sacciones? Con cada registro ( o elemento de dato) X en la base de datos, se iclentifican dos momentos: el tiempo de lectura (STL(X)), clue es la rnarca de tiempo rnis alta poseida por alguna transacci6n clue tenga que leer el registro; y el tiempo-escritura (STE(X)), que es la marca de tiempo rnlis alta poseido por alguna transacci6n que tenga clue escrihir en el registro. La serializaci6n se garantiza de las siguientes formas:

1. Una transaccibn T,, que tenga una rnarca de tirrnpo ST(T,), no puede leer o escrihir en X si ST(TI) < STE(X).

2. Una transaccicin TI, con marca de tiempo ST(Tl), no puede escribir en un regis- tro X con tiempo de lectura STL(X) si ST(Tl) < STL(X).

Para mayor c-laridad, para cualquier transaccihn TI, si ST(Tl) < STE(X), entonces cualquier operacibn de lectura realizada por TI, si se yerrnitiese, resultaria en que TI lee- ria un I alor qne ha 5ido bobrescrito por la hltima transaccibn. Todo intento de escritura

Page 423: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

1""' parit' tle T I . si se p t~mi t i cw , res~lltaria t.11 ewr i l~ i r 1111 valo~. ~ I ~ s o l e t o t1v X. An111o~ t'asos \ i d a n la sc.rializ;~cihn. por lo qne tlvlwrian rechazarse totlas las tlt.mand;~s de estb tilw. En tales instancias. 1'; dcl~er ia alwrtarse. i~signlirselt. n n i ~ nneva marca (111 t ierrq~t~ \. reini- txirscb.

Similarmentt.. si ST(7';) < Sl'L(X). rntoncw t~nalqnic~r tq~rrat*ii,n tle cwri tnra por p a r k de Ti. si se permititw, significa clue el valor tlc Ti est i intentantlo e s c d ~ i r luts n e w sario previamrntc. Conlo antes, Ti tlt~l)eria a l ~ o r t a ~ w . asigniirsrle nna mwva nlarca tle tiempo \.. reinkiarsr.

Ha! dos mbiodos ~ ~ r i n c ~ i p a l r ~ s para asigni~r tnercas 1113 titmipo ilnicas. l!no r s ctxn- tralizado y el otro es dest~entralizadc,. En el nii.todo tlescentralizado sc. le tla a iinico sitio la resI~or~sal)ilidad tlr asignar Irlart*as de t i tw l~o a las transac~tionrs. (:on el esqnvlna des- t.entralizado. a t d a sitio se lc permite genc,ral- una finit-a n1arc.s de tit~nlpo lot-al. Lne mart-21 tle t i en~po g l o l d se o1,tiene d e cwnratenar los srllos tle t i c y w lo tde s (*on (segniclo poi-) un itlentificaclor i1nit.o del sitio. Si la c.onratcnac*ihn se iuvirtiesr, 1.1 sitio con el ma- yor identifieatlor generaria t*onsistc:llte~nente marras dt. t ietnl~o mayortts que 10s den& sitios.

Las n~arcas de tiempo de las transaccionc~s pnrden t:rt:arse hatit.ntlo que el .IT Ileve la t w n t a del ninnero de transawionrs clue ha planificado y que le asigne el prhximo n h - ro a catla nneva transactihn. Dr tbsta nlanera. tlos transac~iolies no pueden r t d ~ i r la mis- ma marca dt: tiernpo y su orden rrlativo es colisistentc. con el o r d m t.11 el (.ual se inicial~ las trans;~cciones. lln segundo rnfocpw es usar el valor tie1 reloj intrrno de la ~niiquina cn rl mon~ento r n clue se inicaia el prowso.

Ilnstrarrmos esto con 1111 ejenlplo.

Ejelnplo 3. Etamint. la Figura 12.1'9. A T , ze Ie d a una n1art.a de tiempo cle 2.5 1 a T, 11no de 30. (El tiempo initlial de let*tnra y dc rst-ritura de 10s reglstros X y Y se asllmen clue i s 0). Cuantlo T I lee X a &te se le da una nlarca tie titlmpo de Iectnra de 25 (S'I'L(X) = 2 5 ) . Cuan- do T2 cscrilw en Y se le tla un STE(X) = 30. Cnando T , cscril~c. crl l' trncrnos clue STE(Y) =

= 30. Cnando T I intvnta 1ec.r Y . tenen~os clue S T ( T 1 ) =-2S 5 STE(Y) = 30. 7', clche ahortar- sc, de lo contrario rstaria leyendo un valor cjue ha sido escrito drbpnbs clue el \ a h T I 5e deba leer.

Para itnplernentar estc rsqucma en el entorno tle la base tle tlatos distribuida, sc necesitan seguir 10s I);ISOY siguientrs:

1. Las transacciones pucden r j rcutar en cualquirr sitio. Cnando rllas leen o escri- 1)tm alguna copia del registro. se captara la marca tle tiempo en la copia drl regis- t ro en el sitio.

2 . Si una transacxi6n rscr i l~e un nurvo valor para la copia tlcl registro en el sitio. el mismo valor s r tiene quc escrihir en todas las copias de dicho registro.

1 . READ R ( 2 5 ) READ R ( 3 0 ) 2. WRITE R (25 < 3 0 WRITE R ( 3 0 )

=> a b o r t a r )

Page 424: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS DlSTRlBUlDAS

Recuperaci6n de la base de datos

Sistemas clientelservidor I,os sistrinas c~lirnte/ser\itlor (CS) f'ueron estiidiados roil algiin tletalle en ~1 Capitiilo 9. Se discutirin brrvenirnte los (3 r u este capitiilo par dos razonrs: ( 1) Son un t i p wl~ecial tie sistenia tlr base (lr tlatos t1istril)uitla y (2) para hr indar una introd1ic:cihu a aqllellos (pie se tiayiui saltado los c.apitiilos anteriorrs. El cstiidio d r 10s CS se harii e trvs nivrlrs. Prime- ro, scb clrstacaran 10s conc~rptos genrralw cjnr distiriguen a1 CS. lut.go st, rrlaciona14n h e - vc.mthnte esos concq)tos cwn los sistcmas d r Irases d r tlatos. L u c y sr analiza tin ti])() parti- cular d r CS: t.1 SQI, Server para Windows NT. Totlo csto en conjunto delw tlarle una conipre~isiii,n gtwrral tlr CS y dv su potencial para tlar soporte a sistrilias de 1)ast.s tlc datos. asi como algonas earactrristic*as dc m a implemeiitac~ihn cii particular.

Conceptos generales

El t6rmirio clie~~te/serz.idor (CS) no ri nurvo, purbto que loi siiteinai CS in \o l~rc r '~n a niiirli,ii twnip~itadorai cwnwtadas en una red, r i un concepto q u r noi eitarli dailrlo kurl- tas por algun tiempo. Un concepto distintivo de 10s siitrmas CS es c p r line o \ar ias de rs tai conq)utadoras puetlrn func.ionar como proveedorrs d r s e n ~c ios a loi reitantes cwmputa- dorei. El cliente rl srrvichr han sido definitloi formalnirnte como iigut. (Ullman, 1993):

c'liente: Unu cwmputatlora o m a ritaricin de t rahajo conrt,t;ltlo a uria red ) que ie utiliza para accedrr a 10% rrcBursos de la red.

Servidor: Una cwmputadora que suniiriiitra a 10s clientes servitioi talci como haws de datoi, conexioneb a rrtl o prantlri controladores de discw. Los srrvl- tlores pucdrn 5c.r grrrr~des cmpr~trr t loras . minicomputadoras. e5tac.io1ic.i tlr t r a l ~ a j o o dispositivos LAN. Mas tle uti servidor pueticl estar involu- crado r n iumiriistrar servicioi a lob rlirntes.

La argumentaci6n para atloptar una tecnologia CS e s doble. Primero, Gsta puedr redu- cir 10s wstos a largo plazo. Srgundo. la tecnologia CS facilita el desarrollo de platafornias orientatlas a las aplicacionrs esprcificas. Esta ultinia caractrristica puede mrjorar la capaci- dad de rina empresa para responder con rapidez a las wndiciones camhiantrs de 10s ncgwios.

La Figura 12.20 tnurstra un sistema C.S coil tlos scrvidores, una base d r datos srrvi- (lor y nn servidor tie fax. Suponga que un Clirntr A requiere datos que estiin contrnidos en el srrvidor de la I ~ a s r d r datos. El usuario rxprrsa la soliritud de 10s datos en forma de m a consulta (por ejemplo, SOL) y transmitr Gsta a1 servidor de la Lase de datos. El servidor de la hasr d r datos ejecuta la consulta sohrr sus tlatos y transiiiite el rrsultado a1 Clirntr A. Ail mismo tiempo, 10s Clientes B y C puederi solicitar datos drl servidor de 1jase.s tlr tlatos y rl servidor de la base de datos purtlr da r servicio a varias so1it:itudes en paralelo.

El servidor dc fax puede suministrar nimeros de fax, asi como transiiiitir y recibir 10s fax para Iosusuarios.

Los sistemas CS intentan s r r sistemas ahiertos en el sentido d r que permiten a la o rgan izac ih escogrr entre varios fabricantes 10s productos y componmtes del CS.

Page 425: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Estaciones de trabajo

Cliente A 1

Servidor --IrJ Servidor de base de daos

Cliente C

Estaciones de trabajo

Los elirntrs y srrvidorrs deben w r capaccs de comunicarsr rn t r r si. La trcmologia actual aharea tlos moclos de ronlunic.ac.ihn: n~ensajrs y llamadas a procedimirntos rrmotos. El intrrcamhio dr nwnsajes hisicamrntt. signifira que r l client? rnvia m a dcmancla (mcn- sajr) y r l servitlor rrsponde a tal drmantla (mrnsaje). Una Ilamada a un protwlimirnto rrmoto prrinitr que una aplicacihn en un cwmputador llamc a tin procedinlirnto cjur p c S - dc residir en otro rlirntc del sistema.

Los clirntes s r cotnunican con 10s swvidorrs a travGs d r un programa (It: interfaz dc la aplicacihn (API) ". a vews denominado intcwnediario. Esto cs, las llan~adas a 10s procrdi- mitmtos rrmotos y 10s intrrc.amhios de mrnsajrs se manejan por 1osAPIs. A PIS rfwtivos p r - den facilitar la implt~mentac~i6 dr nuwas aplic-acionrs ac:oniodando tlifrrmtes protocolos de red y sistemas operativos. En la medida tw qur Ia trcnologia d r los (:S vaya madurando. las c-aracteristicas d r 10s ,1PIs prol)ahlrmrnte p a r i n a formar partr tle 10s sistemas oprrativos.

Aplicaciones de bases de datos

dctualmrnte, las ap1it:aciones m i s comunrs clirntrlservidor usan una hasr dt: tlatos wla- cional. Puedr rcfbrirsr de nurvo a la Figura 12.20. El wnjun to d r transacciones involu- c n d a s son las drniantlas del usuario y las respurstas d r l sistema (It: base clr datos. Esta s r facilita p r el software, que habilita a1 d i rn te para hacrr las consultas a1 srrvitlor tlr la I m r clr tlatos. Un ejen~plo ampliamente utilizatlo rs el lrnguaje SQL.

Esto suena bastantr sirnplr. Mientras SQL proporriona medios estandarizados tlr at:t.rder a una hasr tle datos relacional, algunos fabricantes le han aiiadido modifirationes a sus vcrsionrs, que han h w h o que dos produrtos basados en SQL llegurn a s r r inc~ornpa- tildes. Suponga que uua basr clr datos c:liente/srrvidor ha sido drsarrollada para d a r soporte a la gesti6n de proyrctos 4 q u r el titulo y ihicaci6n dr l proyrcto s r tienen r n una base dtl datos XYZ y t:1 costo dt:l proyrcto s r t i m e en una basr d r tlatos ABC. Ambas 1)asrs tle datos usan SQL, p r r o no son complrtamentr cornpati1)les. Cuando 10s usuarios rrquir- ran datos d r an11)as l m e s d r datos no quirren echarse encirna talcs incomr)atil)ilidadrs. Las necrsidades inmediatas de 10s usuarios son d r inforrnacibn cjur Ir ayude r n sus tarras. Es aqui en dot& el API cncaja a1 br indar la c a p d e software, t ransparrntr a1 usuario. q u r permite un arceso uniforme a todas las bases dr datos.

SQL server para Windows NT SQL Server (SQLS) es un servidor de bases de datos que usa rl modelo rrlacional rs t indar . SQLS usa conrenciones para el procrsamiento at6mico de transacciones que se analizh en rl Capitulo 11, junto con el diario de operaciones dr escribir para la rrcuperacihri.

Para el clirnte, el SQLS permite dos opciones tie API:

Por srr sighs rq~ahlecidas, se rnantirne en ingli.3 41'1 (Application Progrnrn Il~terfrrce) (Y. drl T.).

Page 426: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS DlSTRlBUlDAS

Estacion de trabajo Aplicacion

I red 1 red

t I Cl~entes

Respuestas del servidor

1. DB-Lihrarj '" clue es nna API para clientes Windows, DOS y OS/% de una plata- forma cruzada dr SQL Server.

2. ODBC ' I ' quc- cBs un APT uni\ersal de acceso a datos para clientes Windows. E s r w cialmentr. ODBC c1s 4PI ahierto. neutral (no ligado a ningun fabricante). que permite qnc las apllcaciirnes hasadas en Windows puedan acceder a bases de datos heterog6nras.

La Figura 12.21 ilnstra la arrpitectura utilizando estos APIs. El DH-Lihrar! es un subconjunto de suhrutinas rscritas en C que suministran a 10s programatlirrei de aplica- cibn de interfaces esthndarrs en t r r sus aplicaciones j SQLS. DB-Library lihera al progra- maclor de 10s tletallcs de la red j de 10s protocolos tlel servidor.

ODBC es un 4PI de conectividad de base de datos. ODBC prrniite clue Ids aplicacio- nes clientes esta1)lezcan cwnrxiones directas e intercamhien informac.ihn (*on las haws tle datos SQLS y las pasawlas (gateways) del Open Data Services.

E n rs t r capitulo se ha presentado una introduccibn a 10s sistemas de bases de datos distri- buidas. Priniero se introdnjo cierta terminologia y se present6 la arquitectura general del modelo de 10s SGBDD.

La estructura que suhyacr cn un SGBDD es un sisten~a de varios SGBD rjecxitindo- st. en sitios locales seaarados. 10s cualrs est in conectados nor facilidades de envio ( I t nien- sajrs. Cada sitio de;n SGBDD ejecnta uno o m i s mhdilos de software, in(-luyerido un administrador de transacciones, un adniinistrador de datos y un planificador.

Veamos 10s principales factorrs de motivacibn en la implenientacibn de 10s sistemas de hases de datos histribuidas. La fiahiliclad, rendimiento de-la respnesta. ~ndependencia de la uhicacibn j de la duplicacibn, d e p e n d e n c i a de la configuraci6n. SGBDs no honio- gPneos, seguridad y congruencia organizational, son todos factores yue por si solos o com- binados pueden motivar que se use un sistema de base de datos distribnida.

~ a i caracteristicas &I (Iiseiio de 10s sistemas cle 1)asrs de dates ( i i s t r i ~ ~ ~ i d a s fueron introducidas centrando la a t t ~ ~ c i b t i en las alternativas siguientes:

1. Base d r datos duplicada ! una base de datos centralizaila. 2. Base de datos dnplicacla sin uria base de datos centralizada. 3. Una base de datos particionada implementada como una sene de sistemas de

bases de datos olwrados iudepe~~dientemente, p r o que pern~iten el acceso remo- to desde otros sitios.

Page 427: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PIP

Page 428: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS DlSTRlBUlDAS 41 5

8. Con~pare la semii~rrnnihn (semijoin) con la rrunibn natural (notural join).

9. i,Cnil es el prophsito del protocwlo tle t.irr1.r cle dns-fasrs? ;(:bnlo tral~aia'.'

10. i.C:Omo se efwtila la rrcuperatihn ~ I I un sistema tle base tlr tlatoh d i s t r i l ~ ~ i t l a ?

1. Ilaga coriwpontler ratla uno de estos ti'rininos t.on so drfinic%n: -dtrtos locc~les

-Pnlrlce

-SSU

-Distributed 1,I L'RESS

-upente

-transuctGn global

-LA1

-ejecl~ci6rl s ~ r i r d

-/irngn~entucihn horizonttrl

LTn proct.so t p r coopera pard cwlnpletar una tr'ill- satwhn. ITnd transat*t*ihn clue r t . tpi tw clatos d r ~ n i s tle uno lot*alitlacl. ITn canal d r com~~t~ic.ac.ioi~t~s tbntre (10s s~t ios en un,i red de twnl)utatlorrs. Los datos q u r se inantienen tan la h a w d r datos tlr [In sitio tbn un s~s t r ina d r hasr tle tlatos tlistribnida. 1,as ac.tiones inr oradas por nna transatwhn stb t.jt.- cutan tan fda. Irlld red de twmputadorc~ qne est i limitada a u11 i re , geogrifica prqueha. [In SGHDI) suministratlo por Relational 'I'rrhno- log). IJn SGBDD sniiiinistratlo por Computer Corpora- tion of Imrr ica . Particionar una rt~lac*ihn tXn el s111)conjunto de sus t i i l h s .

2. ( h s t i t n y a una I~ase dv datos r j e m l h 1)ar.a nna etnprrsa q u r trnga m a hasc d r ilatns t l~str lh~t ida tm t r r s locaalidades. Escoja un ~ ~ l a n tle t1istril)ucihn clr d a t m para esta 1)ase tle tlatos y just~fique su c.leccihn.

3. Pruelw t h o s r puetle aplicar la fragmentaribn vc.rtical a1 plan deaarrollatlo en (1)

4. Pruche cbmo se puedr aplicar la fragmentarihn horizontal al plan drsarrollado cLn (2).

-5. Consitlere la relacihn.

EMPLEADO ( I D , nombre, d i r e c c i o n , o f i c i o , num-proyecto) EQUIPAMIENTO (NUMID, t i p o , p r o y e c t o )

Suponga t p e la rrlacihn EMPLE4DO be fragmcnta hor~zontalmrnte por num-proyrcto I, ~ I I I . vada fragmento se almacena localmentr romo el proyecto dcl sitio. Suponga que la rtdaribn EQUIPAMIENTO sr almacena coniplrtan~ente r n la localidad de Seattle. Descriha una huena estratrgia para procesar las ronsultas siguientes: a. Encuentre la reunihn de emplratlos y equipmiento. h. Ohtenga todos los rmplrado. para los proyectos que utilicen los Camioneb K2. c. Ohtcnga todas lab miquinas del Proyerto Parowan. d. Enrurntre todos 10s rmpleados del proyecto cpe usan la miquina numero 12.

6. Dada la informarihn tle las Fignras 12.1E y 12.2E. drtc~rmine la distribucihn bptima de 10s ocho vuelos entre lob cinro sitios, asuma una rapacidad de disco tle 25 Mbytes en ratla lugar.

Page 429: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Transacc iones

A r c h i v o (tamaho)

Transacc iones

1 2 3 4 5 6 7 8 9

10

S i t i o

7. Cal(v11e una semirrerlnihn a partir de las relaciones siguirntes:

t?,= X Y Z F I , = Z V W c b a a d e d e f a f h c b d b a b e a b c d c h j k c b a

8. Examinr la Figura 12.3E. Dada la historia dr tranjacciones qur sr presenta aqui, sr~ponga que se ha aplicatlo un protocdo dr marca tle tirmpo. Indiqur d6nde drhen ahortarse las transawionrs y rxplique por quC.

Page 430: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS DE BASES DE DATOS DlSTRlBUlDAS

- -

Los s e l l o s de t i e m p o son TI = 1, T 2 = 2 y a s i suces i vamen te .

r e a d

r e a d ( a b o r t a r

w r i t e ( z ) a b o r t a r

1. Escriha un ensayo w r t o d r r r el futuro tle 105 sistemas de base5 de datos distribuiclas.

2. Haga un proyecto de rrvisi6n hihliogrifica para ohtrner ejemplos cle implerncntac.io- rles actuales sistemas de h r s de datos distri1)uidas. i.Puede encontrar algun mate- rial que analice 10s aspectos de renclin~iento?

3. Contacte t a m urla rmpresa profesional d c contal~ilidad e indague sohre 10s controles que deherian prescmtarse en un sisterna dc proresamiento distrihuido. 1Ha) i reas en las que no se usan 10s controles adecuados?

4. Una de las ventajas (it. 10s s is tema~ CS es cpr Gstos p r o p m i o n a n 10s medicrs para que una ernpresa pueda carnhiar la forma r n que opera (cbmo h a w 10s negcrrios).\ea st puede encontrar uno o (10s ar t i rulm que describan los carnbios que sr han fatilitado por la implernentar ih dc un sistrma CS.

Page 431: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DE UN SGBD

Analisis de las necesidades de informacion para la gestion. Determinar 10s requisitos de la aplicacion. Mantener la consistencia de 10s datos. Requisitos de 10s tiempos de respuesta.

Funciones y capacidades de 10s SGBD. El diccionario/directorio de datos. Seguridad e integridad de 10s datos. Capacidades de consults, de manipulacion de

datos y de informes. Soporte a 10s requisitos de programacion

especializada. Opciones de organizacion fisica de 10s datos.

Clasificacion de 10s requisitos de las propiedades de un SGBD.

Reunir datos sobre la existencia de propiedades y el rendimiento. Adquirir datos de 10s vendedores. Pruebas de evaluacion

Modelos de evaluacion. Modelo de puntuacion. Analisis del recubrimiento de datos.

Fundamentos. Aplicacion.

Cuestiones de implementacion. Adrninistracion de las bases de datos.

Requisitos del servicio al usuario final. Asegurando la integridad y la seguridad de

las bases de datos. Copias de seguridad y recuperacion.

Pruebas a la base de datos. Preparar a 10s usuarios para el cambio. Cargar la base de datos. Mantenimiento de la base de datos.

Administrando 10s recursos. Copias de seguridad y recuperacion. Administrando 10s cambios al sistema de

base de datos. Facilidades para supervisar 10s SGBD.

Resumen. Preguntas de comprobacion. Problemas y ejercicios. Proyectos y cuestiones profesionales.

Page 432: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

Strvr Blur, c i c r p r c d r n t e r j ~ c u t i r o d r lo corl)oracii,n ZPUS, rstt16(1 .sirndo ( w t r ~ ~ i s t t l d o por Honoriu Krvnington. I L ~ U t~\tu(liwnt(~ d r Sistrln(i d r lnforn~ticihn [IP I ~ U ~ ~ n i ~ ~ ~ ~ i r l r ~ d tw-cccncc. Corno pro)c.cto tlr curso, I-lonorici intrntabn rlrsarrollur lln esturlio nobrr ccirno %ru\ hubiu procrtlitlo rrl lo srlrcci6n t. irnplernc~ntacii,~~ dr 1111 SGHD: yub f u c t o r ~ s s r ha- biun tw~csidrr(~do importctntes, crilno~fiirror~ inrtlitlos y (pi6 rn6totlos rle uncilisis .$e ustlron.

l h r r s p e s t o a lus pr rgmt t t s d r Honorin, S t r r r dijo: "Penstirnos que la ~ ~ 1 ~ c c i i ) n (IP I I I I Sf;Rl) wriu simple. Qur nos hnriunios risitar po r 11n p a r t l ~ rrprrsenttintrs de wnttrs, qur 110s ( m t u r i u l ~ SILS productos, ~ I L P nos tfnriun un prrcio v rntor~ces tornc~riclrnos 11na drcisicin. Olwiamerrtc~. rstubt~rnos sirntlo ingrnlros. Cuar~do 10s r~presen tc~nt rs d r crntus rrnpezaron a llrr~clr r1 un~bientr con s ~ c j r rga y d~c ln ruc io~ws prorrlocior~ctl~s, cornprrnd- mos rcipi~lurnc~rrt~ yut. r~~c~s i t ubc~ rnoa retirnrnos y ernl)rrnrlrr un ~rlfoqur rntis ruzonublr P

ir~fbrn~utlo". "21 conlo logrurorl cvo?". prrgunti, Honorici. "Bueno, trr~iarno.s r n ~ ~ c h n confiunzu rrl nurstro cons~~l tor , Linda hell,. Hubia hecho

Iin b w r ~ trubujo p a r a nosotros ur~trriorrncnte. usi yluJ 1~ prrguntarnos qub I m w . Esrrl- cicllrnrnte. rl~linri, c1ih1rs rr(oI [US jiint.ionrs btisicns q ~ ~ r drbirtn brindtrrse r n 1rr1 SGBD. Drspc~Gs nos rnostri, cbrno rrdejinir esccsji~ncior~es, en tGrrninos d r sirs cclructrristicas snb- W L C P ~ ~ P S . Lo h im pa ru diuidir r l cinulisis en cc~pucidudes q u r j i ~ r r a r ~ objeticarnente mrrli- blvs. Entoncrs sugirici,[orrntcs d r cltisijicar nuestras nrcesidades y rius p a r u obtrner injor- inucihri. Finnlmrnte. nos rr~serlci cbmo potliarnos ev t~ luar Ins rtiptrcidades dr cuda SGHD y usur in modrlo formal p a r a producir unw tcprrriacihn generul de bste. "

"Purrce s r r un(1 g run turea," dijo Honoriu. ",.Linda les cobri, btistc~ntr?" S twe sor~rih y dijo: "PILPS si, p r o ualia l a penu. Trcibajamos bastuntrptirrc sutisfa-

c r r sup l an . pero cuando obtwimos 10s resultntlos, supimos yue hnbinmos hwko el r n ~ j o r t r r~ba jo posiblr, y nos smtiarnos ronfiados de n~ies t ra d~c i s i i , n f i n~~ l . Tarnbibn lp pediinos qur t raba ja ra con nrwstro adrniristrutlor tle base d r dntos p a r a el desarrollo tle un plun tie irnplenreritucii,n."

1 interks dtl estr capitulo es rl proceso de selrccibn e impleinentaci6n tle uri SGRD. Estr tenin podria 61 sblo al)arc.ar un libro, p r o limitarenios nurstra )rrsrntacibn a1 drlint~amirnto tle sus aspet.tos principales. Primero conside- acihn entre las necesidatles de informacibn para la gesti6n y cl sistrma de

hasea d r datos. Desputs trataremos las func:ionw basicas tle 10s SGBD. analizando algu- nas d r las propietlades principles qu r son importantes cuando se eraliian 10s SGBD altrr- nativos. A continuacihn estudiartwms a n mttodo para clasificar estas propiedatles, segui- do de otro t,studio (11, (10s mttotlos (pie p r m i t e n una comparariim v eva luac ih general. Finalmente desrribirrmos 10s cwnponentes (*laves tie una i~nplementacibn exitosn tlr un SGBD.

DespuGs tlc leer este capitiilo, tlel~e ser capaz de:

Analizar la relaciim entre las nec:esidades de informacibn para la gesti6n y un sis- tema tie hases tle tlatos. Explicar chmo m a evaluacibn de 1111 SGBD puede mejorarse mediarite la idrntifi- cacibn dc las I)rol~iet"lades clue lelwrmiten a cada funci6n satisfarer las netwitla- drs estratkgicas de informacibn. Clasificar las propirtlades tle acnerdo a sn importancia. Aplicar inktodos idles q u r ro~td)inen evaluaciones de multiples propiedades con un modelo general de tlecisih. Analizar y conformar la lista de las tareas que dehen redizarse para implen~rntar con Gxito un SGBD.

Page 433: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Andisis de las necesidades de informaci6n para la gesti6n

inforruaci6n para la Usamos el t6rn1ino informaci611 para la gesti6n en el srntido grnrral d r la inforn~acibn grsti6n. Informaci6n de ret~uerida como apoyo a la toma d e decisionrs y a las opwacionrs clr una enlprrsa r n bns- apoyo a 10s qiw tornan t*a de cirrtas metas. La informaci6n para la gesti6n rt:querida por una emprrsa. qne ofre- tlrcisiones a las ce n n protlucto q u r 1:anihia l rntan~ente en nn mervado r s ta l~ l r , pncdr tle alguna rnanera srr oprracionrs drntro clr diferentr d r la informacibn cjne precisa una emprrsa que se rnc:ucntra en un mcrcado voli- nna t-onipaiiia. tilt o q u r p r o d u w una variedad cle protluctos sujrtos a una ripicla obsolrscrntia.

Considerr la nrcrsitlad d r informacibn d e n n a empresa d r manufactura q u r usa la Planificacihn d e Recpisitos d r Materialrs (PRM) para atlministrar sus procrsos d r pro- dnc:c:icin. La PRM recp i r r r nna h s e d e datos extrnsa clue contrnga inf'orinaci6n sohrr la planificacibn final clr 10s productos, invrntarios, las facturas d r los matrrialrs, rn - rutamirntos, y 10s tirtnpos d e c:oordinaribn d e las fasrs d e n~anufac tura . Si s r afiade la inforn~acihn sohrr los costos y la necesidatl d e rrcursos para cads paso d r mannfar- tu ra , 10s datos del PRM purtlrn usarsr p a r a rl rrgistro de t:ostos, control tlr taller y administraciOn y planificacibn de la capacidad. Tal hasr clr clatos prol)orciona casi totla la inforn1aci6n tit: planificacibn v t:ontrol q u r se necesita para nna planta d e manu- factura.

Esta llasr d r datos proporciona mucha informacihn d e gestihn rc:cpirrida por la rmprrsa. C)uk tilw de sistrma d r Ilasr cle tlatos podria satisfacrr niejor las nrcesitlaclrs d r informacibn. 1,a 1)ast. tle clatos q u r prccisa PRM propcrrciona una vasta i n f o r m a c i h para la gestibn, p r o es muy tlificil tlr constrnir y mantrnrr. Catla rntorno de mannf'actura rs dinhmico: nurvos proclnctos sr aiiaden, 10s viejos sr rliminan d r la linca tle procluctos: 10s mhodos de disriio y manufactura cambian rrgularmrntr; 10s tirmpos varian; 10s pro1)lr- mas y ajustr d r invrntario purdru otwrrir frrcurntementr. Tales rrquisitos juegan a favor tle un SGBD rr1ac:ional.

Contristrlo con la rmyrrsa d r manufartnra q u r opera un sistrma d r inventario a la o rdrn JIT (en tirmpo prrciso) I . El intento d r un sistrma JIT es clue las materias primas y las pirzas d r rnsan~lda j r s r murvrn inmrtliatamente d r la entrrga, pasando por la manu- factura, hacia el centro d r consumo. Las pirzas se hacrn en prqurfios lotes, el sistrma d e protlucci6n hace s61o unas pocas piezas malas antes que se drscwbran 10s rrrores , y 10s cortos t i rn~pos de fasr hacrn clue sea m i s ficil dr t rrminar 10s prohlrnias en su mismo origen.

Los sistrmas J I T funcionan mrjor cnando la drmantla es alta y 10s rrquisitos d r pro- duccibn resultan en una producci6n casi continua. Un SGBD j ~ ~ r a r q u i c o o en red (ver Capitulos 15 y 16) purde resultar apropiado en rs t r caso.

Claro, es inapropiado hacer recomrndacionrs tan ligeras hashndose en rstas situa- cioues tan simplificaclas. Lo q u r nos intrrrsa es q u r las necrsidaclrs tle informacibn para la grsti6n q u r pueden afectar a la seleccihn d r nn SGBD puedrn indni r lo siguirntr:

1. La necesidad potencial tle informacibn, q u r p r d e reqnrr i r datos de m i s d r una aplicacibn.

2. El numrro d r aplicaciones dondr las relaciones entrr 10s datos es t in birn esta- hlecidas y sujetas a prcpeiios camhios.

3. El volumen actual y rsprrado d r insercionrs y eliminacionrs qne pertenrcrn a estrneturas d r datos nurvas y existentes.

4. La forma en la clue se clasifican 10s datos p a r a la toma d e drcisionrs. P o r ejrm- 1110, un vendedor de comida preparatla puede tomar d~cisiones d r promocibn I m i n d o s r r n las ventas d e sus productos r n todo el pais. Otra empresa clrl mis- mo tipo purdr tomar las mismas drcisiones hasindose en las ventas r n varios

En inglis, conocido pol- las s i g h JIT (lust-in-tirnC).

Page 434: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SELECCION E IMPLEMENTACION DE UN SGBD 42 1

lngares dentro de las grandes ciudades. La primera conlpaiiia recjuiere 1111 con- junto tl(. tlatos nlis sirnple que la d t ima. Si la ultima cjuit,re rxperimcntar (.on vistas tliferentes de la informaci6n para prohar varias estrategias. se newsitari tin gran grado tle flexihilidad.

Hahiendo presentado el prohlema de la necesidad de informacih a nivel general, procedemos ahora a 1111 exanten de 10s requisitos especificos de inforrnacih.

Determinar 10s requisitos de la aplicacih

La determinacihn tlc 10s rcquisitos tle informacih clue ticncn clue incluirse en un sistenla de base de datos es nn proceso c:omplcjo clue cs (:sencia1 en la se1ecc:ihn de un SGBI). Sin embargo, el proceso de anilisis puede simplificww si se (la cnenta cjue 10s usuarios tipica- nimte caen en tres t i p s tie clases: nsuarios regnlares, usnarios repetitivos y usuarios oca- sionalcs.

El usuario rcpetitivo es acjuel cuyas aplicaciones pueden ser dvsrritas como sistemas dc producci6n. Los reqnisitos para estos sisternas orientados a transacciones st; planifican de antemano y gc:ncralmente incluyen operaciones de rutina dc la compaiiia, tales conlo registro de ventas. mantcbnt:r el inventario, etc. Idealmente, cl SGBD. dcbe ser rapaz de servir a estas aplicaciones de una forma eficiente.

Los usnarios oc*asionales pncdcn rccluerir dc la mayor flexil~ilidad, ya clue sus exi- gencias son a menudo imprevistas. Tales usuarios tienden a necesitar informacih para (4 anilisis y las tomas de decisi6n opuestarnente a las operaciones de rutina. Este t i p de usuario necesita una poderosa capacidad dc clasificacihn y cwm1)inacGn de datos, asi como un lenguaje de consnlta ficil de usar.

Los clue proponen 10s modelos de datos jerircjuicos y en red afirman clue estos modelos tienen una capacidad superior para aplicaciones de sistemas de produccihn (ver la discwsihn en los Capitulos 15 y 16). Los defensores de 10s SGBD relacionales dicen clue estos sistrmas actualnlente proporcionan nn rendimiento mejorado en apoyo a 10s siste- mas de produc&m, ademiis de capacidades poderosas para satisfacer las nrcesidades tle informacih ad hoc clue otros modelos no hrindan. El drsarrollo de IDMSIR, que ofrece propiedades relacionales en sistemas ljasados en red, intenta satisfacer arnbas necesi- dades.

La mayoria de las empresas van a tener una niezcla de nrcrsidades y pueden funcio- nar con el sistema que mejor soportr el t i p d r necesidad principal. Los productos tales como IDMSIR intentan minimizar el esfuerzo para satisfacer la nrcesidad menos irnpor- tante. A1 mismo tiempo, 10s SGBD relacionales rs t in mejorando su eficacia para satisfawr ambos tipos de requisitos de informacih.

Mantener la consistencia de 10s datos

La necesidad d r compartir 10s datos a travks de multiples aplicaciones es la r a z h prima- ria para la implrmrntac.i6n de la base de datos. Como se discutii, en el Capitulo l, 10s datos redundantes pueden generar una gran cantidad de prohlemas, la mayoria de 10s cuales se producen por inconsistencia entre las copias duplicadas de 10s registros de datos. Aun en instalaciones hien hechas, es comun que 10s registros duplicados se actua- licen en ciclos difrrentrs d r tirmpo. Asi, en tales instalaciones, la inconsistencia de 10s datos es inevitable.

Un burn SGBD no puede garantizar que nunca ocurran inconsistencia de 10s datos, prro purde proporcionar facilidades para minimizar sus ocurrencias. Consecuentemente, cualquier evaluacih de un SGBD debe incluir una consideracibn de las caractrristicas que aseguraran la consistencia rntre las copias duplicadas de 10s mismos datos.

Page 435: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

Requisitos de 10s tiempos de respuesta

Un SGRI) st. clehr cltwrnl)rii;~r a un tit.rto nivt.1 para tlnc. sea lilitlo a los usuarios. Titwi- 1~)s ina ty1ta l ) les tlt. respuesta a Ias so1icitudc.s cle 10s nsuarios 10s lleb a r i a la frustrat.iciu: la frastracicin los llevirri a la 1)uscluecla (it- otros medios para satisfacer sus nccesitlaeles de infornmacihn. Hacer c p r 10s usnarios tywcificpen tirinpos de rcspuestas rcalistas put'-

d r s r r un reto: sin emhargo. nn tliilogo (*on 10s usuarios concentraclos en la cyecifit*acion de 10s tirmpos de rrspuesta itleales y minimo puedr w r prodnc.tivo. El resaltado puede ser usado para evaluar el rrndimiento d r un SGBD bajo tlifert~ntes crl)lit*aciones y volii- 111rncs.

Funciones y capacidades de 10s SGBD Para evaluar la hahilidad tle 1111 SGBD de satisfacer 10s ree~nisitos de infornmacihn tie una emprew". net~esitanmos t*onsitlerar las funciones qu r proporciona y srrs ~~ropiedacles f'uncla- i n e n t i h .

El diccionarioldirectorio de datos

IJn sistcma de 1)ase d r tlatos t.f;ctivo permitiri el t~rt~ciinirnto y la moclificacihn en la Iww tic datos sin con~prometer la inttyyitlad de los datos. El Uit*t:ionario/Dirc-c~torio dt. datos (DIDU) ayuda a cw~nplir 10s ohjrtivos permitiendo qn r las drfiniciones tlc datos se man- tengan srparadas tle los tlntos. Esto l~erniitr que w hagan cain1)ios r n las tlefiniciones tle datos sin clue tenga efrt-to en 10s datos a l l n a t w d o s . Por ejemplo, el suhdiaprama usaclo por un progralna m partitwlar I~uede motlificarst~ sin afrctar de ninguna inenera 10s tlatos almacenados. Otros I~eneficios almacenados por el 1)IDD incluyen:

Las estructuras fisicas tle a11nat:mamiento pneden tm~~l)iarsc. sin afcctar a1 pro- grama que usa los datos. Las contrasefias y otras medidas de seguridatl pueden estar almac*t.nadas r n c.1 DIDD para f'acilitar rl twntrol s o h e el wt:eso a 10s datos. I,a tlefinici6n centralizada tlr ltrs datos permite ficiltx informes strhre el vstado cie la base de tlatos: Q11iC.n es responsahlr de varios elernentos de datos. quC. t:ontrc~~- l rs se lrs aplica. y qub llrogramas y nsuarios r s t in ac~cedirntlo a los tlatos.

Pare prodntir estos Iwtlefitios. el DIDU int.luyr niualmente las siguientvs caracttb- risticas:

Un lrnpiajr para drfinir las rntracias en el DIDD. Un Irnguajr de manipulaci6n para aiiadir. rliininar y moclificar las entraclas en el DIDD. MCtodos para valitlar entradas m el DIDD. Medios para producir informes en relacicin a 10s datos contenidos en el DIDD.

Un drsarrollo importante en 10s SGBD relacionalrs es la prictica c-omiin de almace- nar el directorio como un conjunto de relaciones. Esto permitr t-1 uso de 10s lcnguajrs dc manipulacibn de datos de los SGB1) para consnltar. actualizar y mantener t.1 diccionario de datos. La Figura 13.1 mnestra un fragmento de un catilogo (el noinhre para un dic.rio- nario d r datos usados por DB2. un SGBD relacional de IBM). Este fragmrnto de catilogo contirne informacibn s o h e las relaciones qne s r inuestran en la Figura 13.2.

Page 436: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SELECCION E IMPLEMENTACION DE UN SGBD

corltroles de acceso. Controles que limitan el acreso tlel usuario a 10s programas y a 10s datos.

rontrolrs de concurrencia. Controlcs que mantienen la intrgridad de la 1)aw de datoi cuando (10s o rrtis usuarios simultinean~ente solicitan uu registro de la base tie datos.

controles de vista. At[ucllos controles que restringen el acceso a las vistas (snhtwnjuntos de las relacionrs tle la base).

TABLAS-SISTEMA NOMBRE CREADOR CANTIDADCOL

PRODUCT0 JHANSEN 3 MFR JHANSEN 4

I COLUMNAS-SISTEMA NOMBRE NOMBRETB TIPOCOL

IDPROD PRODUCT0 ENTER0 DESCPROD PRODUCTO CARACTER IDMFR PRODUCT0 ENTER0 IDMFR MFR ENTER0 NOMBREMFR MFR CARACTER DIRECCION MFR CARACTER PAIS MFR CARACTER

PRODUCTO IDPROD DESCPROD IDMFR

1035 Abrigo 21 0 2241 Lampara de mesa 31 7 2518 Escu l tu ra de cobre y c i n c 253

MFR IDMFR NOMBREMFR DIRECCION PAIS

21 0 K i w i Klothes Auckland Nueva Zelanda 253 Brass Works Lagos Niger ia 317 Llama Lamps Lima Peru

Seguridad e integridad de 10s datos

La segnridatl (. integritlad dt. 10s datos son rscnciales para lograr operationes efec*tivas scrhrr las bases de datos y fueron tratadas con alguna profundidad en (4 Capitulo 11. Estas son t a m h i h consideraciones importantes en la schcicin d r un SGBD. Espec:ificamrntc.. tlehemos estar alerta a las siguientc~s capac:itlades:

Los controles d e acceso son un factor imj~ortante yorque son un medio de evitar arcesos no autorizados a 10s datos. En 10s entornos d e hases de datos donde se t:omparten 10s datos. 10s huenos controles de acceso son esenciales. Los controles de concurrencia son un medio de mantener la integridad en un entorno multiusuario. Suponga que el usuario a y el 1) accedan arrthos a un regis- t ro a1 mismo tirmpo (rsmcialmmte) para procesar una t rans;~r:cih en c.se regis- tro. El SGBD debe dr alguna forma limitar el acceso de uno dr 10s usuarios hasta q u r la t r a n s a c c i h del otro trrniine. Sin este tipo d r facilidad, la exat.titud y corn sistencia d e la base d r datos puede ripiciamente erosionarse. Los controles d e vista proporcionan un medio auttrmatizaclo d r lirnitar que se le p e r n ~ i t a a un usuario acceder a una relac:i6n dada. Esto es una carat.teristica poderosa que se br inda t:oinunmtmte e n 10s SGBD relacionalt~s. La comotlidad tle c rear vistas y la capacidad de la facilidad de vistas puede s r r u n factor util dr distincicin e n t r r SGBD. El comprador drl SGBD puede estar interesado tam- hikn en saber si las vistas pueden actualizarse y con qni. limitaciones se puede hacrr.

Page 437: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

424 DISENO Y ADMINISTRACION DE BASES DE DATOS

cifratlo. Cotlif'icacihn tlc 10s datos para harrrlos ininte1ipil)lcs lmra ~ ~ ~ r s o n a s ~ ~ o a~~torizadas.

Les facilidacles de cifrado pueden ser importa1itc.s para aquellas institncionrs cwya 1)ase de clatos cwntiene datos muy sensihles. El c.iSraelo pnede ser tanil)i6n importante para el manteninliento dr un clirertorio scbguro de contraseiias. Controles d e seguridad y Recupcrac:i6n efectivos son a1)solntarnrnte esenciales para la operacibn eficientc d e la hase tle datos. La cwnoclitlad del nso de los (*on- troles dc seguridad y t-ec*uperacih. sn c:ompletitud y su confia1)ilitlad delwn srr factores importantes en la drrisihn cle sclecci6n de nn SGBD.

Capacidades de consulta, de manipulaci6n de datos y de informes

La 11al)ilidad tlel SGBD para satisfacer 10s recpisitos de informes. junto con las consultas del usuario y las necesidadcs de manipulacihn tle 10s clatos, r s la piedra angular dc 10s sis- temas de infot-niacihn de adniinistracihn d r hoy. Un SGDB q u r quirra "sonar" dcherti pro- porcionat- la cyaci t la t l tle gencrar informes c.structuraclos en nna varietiatl cle formatos. Adeniis. el SGBD hrintlerli un lenguaje tle ronsulta qne sea poderoso. p r o a la vcz fiiril dc- aprender y nsar. El lenguaj(. dehe ser capaz d e satisfacer 10s requisitos cle cwnsiiltns pla- ncndos y no planeados con ticmpo cle respuesta cortos.

Soporte a 10s requisitos de programaci6n especializada

Drsarrollar programas esprrializatlos para interartuar con los SGBD reqniere cle facilida- des para satisfacer el desarrollo de aplicaciones y sus prurhas. 1111 SGBD clue valga la pena proporcionari un lenguajr para exprrsar las estructnras estiindares de programas proce- cliinmtales o h r indar i m a interfaz ron utio o miis lenguajes ~)roc~t~tlimetitales. Algunos SGHD pieden hrintlar c.apacidades adicionales para el desarrollo rapitlo de prototipos.

Opciones de organizaci6n fisica de 10s datos

La enipresa que va a adqnirir nn SGBD puetle no desear involucxme con asuntos cle la organizacibn fisitba d e 10s datos. E n su lugat-. puede medir la efivacia de tal organizaciOn, ejecutando varias apliraciones, ejrmplos.

Sin enlhargo, para aquellos qur estan interesatlos, rsplorar la organizacibn fisica pueclr ser valioso. P o r c~jetnplo, es c:onocido que la listn invertida es miis cficiente en recu- p e r a r i h de claves multiples y que la lista mcadenada rs superior en la actualization de arcliivos, ya que no hay necrsidad cie actualizar en u n archivo separacio. La informacicin s o l ~ r e otras arquitrcturas puede s r r deseable en el proceso de considrrar la capacidad drl SGBD para satisfacer el t i p d e aplicaciones comunes en la empresa.

Clasificaci6n de 10s requisitos de las propiedades de un SGBD

Las funcionrs y capacidades descritas en la seccibn anterior pueden d a r una guia para clrtrrniinar el criterio clave de evaluacibn para seleccionar un SGBD. ldealmente quisi6- ralnos dirigir la funci6n en sus romponentes a un nivel que permita m a medicibn objetiva. P o r ejrmplo, suponga que definimos las funciones necesarias clr seguridad y control que son satisfechns por las siguirntes carac.teristicas de un SGBD:

Control d e accrso para programas y usuarios. Tablas de srguridad protr@das por contraseiias. Habilidad cle ahortar las transarciones en progreso. Rrconexibn automitica de intrritos fallidos dr acceder a 10s datos. Utilidades para c r r a r y mant rnr r tahlas d e contrasefia.

Page 438: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SELECCION E IMPLEMENTACION DE UN SGBD 425

propiedad obligatoria. Una propiedad de nn SCBD que tiene que her proporricrnada.

propiedad importante. Una propitdad de on SGBD que no tls obligatoria, pero hare a1 SGBD rniis a trxt ivo.

propicdad optional. Una propiedad de un SGBD que t ime nna importancia secundaria: puedtl ayndar a tlistinguir entrr crtro~ SCBD igualmrnte atractivos.

propicdad innrccsaria. Una p r o p i d a d d r un SGBD qnc no contrihuje en nada a1 valor del SGBD para la empresa.

propiedad n o deseable Una propiedad de un SGBD que le resta valor a1 SGBD para la

Mediante la definicibn de las propiedades requeridas qne puedan verificarse. el analista evita las amhigiiedades clue se prodncen a1 intentar compro1)ar si la capacidad d e seguritlad es hiiena, mala, o regular, ya que esos tirruinos p e d e n tenr r difrrentes sig- nificados para diferentes analistas. Claro, esto coloca nn peso sobre el analista. yue tie- ne que definir exartamente aquellas propiedades qne constituycn la capacidad de segu- ridad.

CODASYL (COI).ASYL, 1976) recomentlaha que talcs propiedades fu r ran clasifira- das en las signientes categorias para n n anLlisis m i s profundo:

Una propieclad obligatoria se define como una clue dehe ser hrindada por el SGBD. Sin ella, el SGBD candidate se drsecha de una consideracibn posterior. Una propiedad importante es aquella (pie hare mLs a t rac t iw a1 SGBD. Sin ella el sistema responde con mrnos eficacia y la implenicntacibn puede ser m i s dificil. Las propiedades opcionales tie- nen una importancia secwndaria y son d e valor, principalrnente, para discriminar entre sistemas clue son similares sin ellas. Una propiedad imnecesaria no es relevantr en la eva- lnacihn. Las propieclaclea indeseables son a menudo uri factor en c80ntra. Esta categoria se rrfiere a nna pi-opic.dad (pie no se necesita y que degrada el rendimirnto.

Reunir datos sobre la disponibilidad de propiedades y sobre el rendimiento

El proreso de obtener datos para la rvaluacihn de 1111 SGBD rrquiere que se wntacte a1 vendedor del SGBD para obtener inforrnacibn y para probar el SGBD en un entorno cer- cano a1 de la ap l icac ih .

Adquirir datos de 10s vendedores

La informacibn clue concierne a las propiedades de un SGBD y cu in hien se comporta tipi- camentr se adquiere (1) preguntindole a 10s usuarios, ( 2 ) por prueba directa, o (3) pre- guntiindole a1 vendrrlor. Preguntarle a otros usuarios puede ser muy util porque ellos han tenido esperiencia real y no est in tratando de vendernos el SGBD. Sin en~l)argo, cuando st. evaluan las opiniones de estos usuarios, la empresa debr tener cuidado, ya qur otros usuarios pueden tener necesidades distintas de informacibn y, por lo tanto, su evaluacibn p u d e no reflrjar exactamente cbmo el SGBD se computaria en otros entornos. Ademis, esta informacibn es usualmente de naturaleza general, no proporciona evidencia detallada d r 10s tipcrs de aplicaciones y su rendimiento resprctivo. Cuando mmos , sin emhargo, tal informacibn puede producir una lista d r preguntas para hacerle a1 vendrdor.

Las pruehas directas exhaustivas pueden ser caras y consumidoras d e tiempo cuando se consideran varios SGBU. E l anilisis de requisitos ohligatorios puede ayudar a reducir el nfimero de SGBD a probar . Las pruehas directas producen 10s mejores resultados cuando imitan lo rnis fielmente posible las condiciones y requisitos operacio- nales realm.

La informaci6n dada por 10s vendedores puede ser falsa. Sin embargo, pueden a menudo proporcionar datos estadisticos sohre fiabilidad y rendimiento, y estar dispurstos a ejecutar pruebas demostrativas.

Page 439: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

La \ ia rnris ctm~iin tlr adquirir inl;)rmacii,n dt.1 krndrtlor rs rmitir nna solic~itnd de p rop i~ r s t a (SDP). La SDP r s iitil rs~)r t~i~icwntlo 10s rc-quisitos qnr r l SGHD t l r h satisfi~crr J solicita iuSorrnacii,n tlr 10s vrndrtlores para mostrar rhmo sus SGUI) t~odri in satislacw aqurllos rcyuisitos. La rcspucsta a la SJIP pnrtlr ser nna l'ucwtr tlr informwihn a twinpa- rur (*on la rralimrntaciOn rrtil)itla tlr los u s ~ ~ a r i o s drl producto d r un vrntledor.. Las tlis- cwpantias o inconsistrntias pn t~ t lm t.onsr11tarsr con el vrntlcdor para su atslaracihn. Estr prucrso 1)urdr siiprrir t;~ml)ibn Lrtw qn r l)udirran 1)rol)arst. ciirt~anic.ntr. En la Fig- ra 13.3 sr rnnestl~i nna lista clr rrclnisitos sugc-ridos on t:uatro catrgorias.

Pruebas cle evaluaei6n (Benchmark)

],as ~wuebas tle evaluaci6n ths nn mitodo c.onvrnriona1 para grnerar i i~fo~rnacihn so1)rc. rl rrntlimirnto tlr un SGBU tine lurgo sr nsa tbn el prowso tlr su rvalu;~cii,n. Lo cine se prr- trntlv es rstimular r l rntorno tlr la aplicac+'m para grnwar clatos d r ~ w d i n ~ i c m t o rralistas. La modrlwii,n ilel twtorno real pncdr scr un reto, ya qu r r s dificil inautrnt~l~ ronstantes todos 10s parimrtros tlrl entorno operative: r l sistrina o p r r a t i ~ I) . la srcuencia clr opera- tiones, la 11iuIti~)ro~ramaciOn. etr. T,a in la r iama dt:seatla usualrnente purtlt. alcanzarse solamrntr n~etliantr t.1 uso drditwto tle 1111 t~omp~tac ior t:n la prut.ha de evalnacihn. Tam- 1)ibn 1)urdt. s r r costoso el cmtrcwainiento de 10s usuarios hasta el uivrl dcseado w n respec- to a catla SGHD.

r lunqw los lrndec1ort.s dt* SCBU i~roporcionan a nienntio pruel~as de rvaluat:i6n y las rnnrstran coma un srrvitio a1 posihlr twn~prador: qurda como r e s p o n s a l ~ i l i t d r Sste drtrrininar las carat.teristic*as dr l sistrma qu r son importantes y asrgurar clue rsas rarar- trristicas sr prurhen sufieit~ntrmmtr.

Una costuml)rr util r s inchlir twno requisite en la SUP esperificationrs para la$ prtwl)as de evalnat:ii,n: para t h ~ i n a r de antenlano acp4los vrndrdores cuyos productos no cnrnplan esas rsprcifit~acio~lcs.

Cuantio se haw la prurba de rvaluaci6n. hap qu r consitirrar 10s siguirntrs rlr- mrntos:

Las pruehas d r h n s r r representativas tlel rntorno de aplitwi6n tle la tmprrsa. La naturaleza de la prnrba de evaluaci6n drbe rstahlwerse antes d r hacer la pr11el)a: rrquisitos a satisfacer. asignacihn d r pesos relatives a varios componen- t rs d r la prueba y 10s procrdimirntos de evaluac:i6n clue s r dehrn seguir.

FUNCIONES INTEGRIDAD Y SEGURIDAD D i c c i o n a r i o de d a t o s A u t e n t i c i d a d

Lengua je de manipulation de 10s d a t o s A u t o r i z a c i o n Func iones i n t e g r a d a s ( B u i 1 t - i n ) C i f r ado

C o n t r o l d e l acceso P rop iedades R o l l b a c k ( r e t r o c e s o ) P rop iedades R o l l f o r w a r d (avance )

P rocesamien to de l a s t r a n s a c c i o n e s

OBLIGACIONES (GARANTIAS) RENDIMIENTO DEL VENDEDOR

R e s u l t a d o s de l a s p ruebas en t i e m p o r e a l E n t r e n a m i e n t o Requisites de memoria Documentac ion

P rop iedades de o p t i m i z a c i o n R e s p o n s a b i l i z a c i o n Actualization

Page 440: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SELECCION E IMPLEMENTACI~N DE U N SGBD 427

Mientras la naturaleza de las pruebas de evaluaci6n puetlrn variar de una empresa a otra, hay ciertos asprcatos de un SGBD que son necesarios en torla rmpresa: requisitos clr memoria principal, de almacenamiento d r la base de datos, d r servicio a multiples usua- rios, que acceden a1 sistema concurrentrmrnte, de entrada y salida y facilidades de segu- ridad y rec.uycraci6n.

Modelos de evaluaci6n

La adquisicihn de un SCBD refleja un gran compromiso por parte de la empresa. Los mktodos de re(-opilacih y almacenamiento d r 10s tlatos pueden afectarse. A un nivel mis alto. rsto implica un cwm~~rorniso cle proporcionar una mejor informacih de administra- ci6n. Lo mis importante es que la adquisicih de un SGBD representa tin compromiso de usar la infornlaci6n para nicjorar la forma en que la empresa hace negocios. Estos com- promises requicrm qur el proceso de seleccihn de un SGBD incluya la consideracih de propicdades importantes y consistrnte de 6stos de una manera racional. La conquista de estos objetivos puedc auxiliarse con rl uso de una metodolobGa formal. En el siguiente estn- dio se presentan dos mdtodos formales: nn modelo de puntuacih y un modelo de rnvoltn- ra de datos. El mode10 de puntuacih es ficil de aplicar y ha sido muy usado para la ayu- da en el yroceso clr seleccih de un SGBD. El modelo d r envoltura de datos r s mi s poderoso; no ohstante, rs fhcil de aplicar.

El modelo de puntuacicin qur sr presenta aqui ha sido muy usado en la practica. Muchas empresas limitan la clasificacihn de requisitos recomendada a solamente dos: obligatorios y desrables. Tanto como se pueda, la verificacih de requisitos ohligatorios no debe estar sujeta a juicio u op in ih . Los requisitos deseables pueden, y a menudo lo hacen, incluir caracteristicas qur son mas dificiles de medir.

Conceptualmente, el modelo de puntuacih es ficil. La proporci6n de huenos datos de entradas es la partc mas dificil. Esto se ilustra aqui con un ejemplo simple, pero repre- sentativo.

Ejemplo: Divida las propiedades requeridas en dos categorias, obligatorias y deseables, como sigue:

PROPIEDADNENDEDOR A B C

Obligatorios Vistas Control de contraseiias Facilidad d r seguridad Deseables Lenguaje d r consulta relational Entrenamiento a 10s usuarios

La selecci6n del esquema de pesos es un poco arbitraria, per0 funcionari si es con- s i s tent~ . Un esquema simple es asignar un peso de 10 a cada uno de 10s requisitos obli- gatorios y un peso de 1 a 9 a cada propiedad cleseahle, dando 10s numeros mayores en deprndencia del grado mayor de deseo. Cuando esto se haya determinado, se puede asignar un valor entre 1 y 10 a cada propiedad para cada vendedor, dependiendo de ccinio el SGBD del bendedor satisfaga el requisito. Una tabla de puntuaci6n completa es asi:

Page 441: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

PROPIEDADNENDEDOR A B C

Obligatorios Peso Vistas 10 5 7 9 Control de contrasefias 10 7 7 9 Facilidad de seguridatl 10 9 8 7

Desea bles Peso Lenguaje de consulta 7 10 0 10 Relacional Entrenamiento a los usnarios 9 6 7 4

Las puntuaciones finales para lob vendedores se tleterminan multiplicando el peso de la propiedad por el valor asignado a kste por esa propietiad. Los resultados se suman para cada vrndedor para calcular la puntuaci6n find. cwmo sigue:

PROPIEDADNENDEDOR A B C

Obligutorios Peso Vistas 10 50 70 90 Control tie Contrasefias 10 '70 70 90 Facilitlad de Seguridad 10 90 80 70

Dmeahles Peso Lenguaje d r Consulta -

i 70 0 70 Rrlacional Entrrnamien~o a 10s Usuarios 9 54 63 36 PUNTUACION FINAL 334 283 356

Basindose en 10s resultados tle este rjemplo, la rmpresa puede eliminar a1 vendedor B tle una considerarih posterior. Sin embargo, las puntuaciones de A y C son suficiente- mente cercanas como para realizar una consideraci6n adicional. La diferencia pudo haberse producido por la incrrtidumhre a1 asignarle los valorrs a1 vendedor. En cual- (p i e r caso, 10s resultados tle tales modelos normalrnente tienen las dos siguientes fun- ciones:

Presentar alternativas para ulterior consideraci6n. Brindar informaci6n para el proceso dr drcisibn, incluyendo la necesidad de pruebas o estudios atlicionales.

En la prbxima seccibn presentamos un rnodc.10 de evaluaci6n que proporciona m a gran cantidad de informaribn comparativa. Es un modelo facil de usar y matemiticamen- te potente.

Anailisis de la envoltura de datos

El analisis de la rnvoltura cie datos (AED) es una nietodologia poderosa para la evaluaci5n de altrrnativas de decisibn tales como la selecci0n de un SGBD, especialmente cuando hay varios criterios para la selecci6n. Todo lo qur ze necesita es una comprensi6n bisica tle 10s conceptos y acceso al software de programacih lineal. ampliamente disponible para el uso en rnicrocomputadores.

Fundamentos. Podemos presentar 10s conceptos basicos del .IED con un ejemplo numk- rico. La Figura 13.4 contiene datos que prrtrnecen a la graduaci6n drl rendimiento com- parativo de 10s SGBD, desde la A hasta la F usando s d o dos criterios: control de acceso y seguridad y recuperaci6n. Las filas de la figura identifican 10s seis SGBD a evaluar, y las

Page 442: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SELECCION E IMPLEMENTACION DE UN SGBD 429

frontera de la eficacia. La frontrra ewtcrior en el anhlisis .ZED.

unidad de referencia. El SGBD cjue esti sirndo evaluado m el anrilisis AED .

carnino de expansi6n. El carnino desde el origen a la unitlad dc reft~rencia en el anilisis AED.

pnnto de espansih. Cualquier punto en cl camino dc expansih en el anilisis .\ED.

punto de frontera.

- . la frontera en el anilisis AED.

columnas identifican 10s criterios de selecci6n. Cada criterio es medido en una escala clr 1 a 10, don& 1 es el nivel mtis bajo d r rendimiento y 10 rs el mis alto.

La Figura 13.5 t1il)uja 10s seis SGBD y proporciona una base grifica para discutir c6mo medir el rentlimirnto relativo tle un SGBD. El SGBD cuyo rendimiento es hueno esti lejos del origen (0) rn ambas direcciones. La frontera noreste definida por A, C y B icienti- fica a 10s SGBD tlominantcs en el conjunto. Esta frontera exterior es llamada la frontera de la eficacia.

El AED mide la eficacia relativa tle cada SGBD por su posicibn relativa a la fron- ttbra. Un p m t o en la frontera tiene una rficacia de 1,0, y el origen tiene nn valor de 0,0. Los puntos en el interior d r la frontera represrntan valores entre 0 y 1, dependiendo de su cercania a la misma. En la Figura 13.5(a) la capacidail de control de acceso se repre- senta en cl eje horizontal, y la capacidad de seguridad y recuperaci6n se representa en la vrrtical.

Para explicar la rnedida de capacitiad del AED, primero introduzcamos algunas definiciones adic+nalcs. El SGBD que est i sientlo evaluado se le llama unidad d e re- ferencia, y el caniino desde el origen a la unidaci de referencia se le llama canlino tle e x p a n s i b para esa unidad. Cualquier punto en el eamino de expans ib se le llama punto de expansion, y cualqnier punto sobre la frontera se le denomina punto de fron- tera.

Considerando de nuevo la Figura 13.5(a), se puetle ver que el camino de expansi6n para L) coniienza en el origen (O), pasa a travCs de D e intercepts la frontrra en D'. La sig- nificacih de un carnino de rxpans ih es clue todos 10s puntos sohre 61 tienen la misma raz6n de capacitlad de control de acceso a capacidad de seguridad y recuperacih y, por lo tanto, pueden ser comparados directamente entre ellos. Por ejemplo, D tiene una razhn de control de acceso de 3 y una raz6n de seguridad y recuperaci6n de 2, luego (3,2) cst i en el camino de expansi6n. El punto (6,4) est i t ambih en el camino de expansibn para (3,2), y un SGBD en (6,4) es dohlemente mejor que uno m (3,2), ya que amhos, el control de acce- so y la seguridad y recuperacih son el doble de (3,2).

El punto D' donde el caniino de expansibn se cruza con la frontera tiene un factor de 2,58, lo clue quiere decir que el control de acceso y la seguridad y recuperacih en L)' son 2,58 veces 10s valores correspondientes en D. La eficacia relativa de un SGBD dado es el inverso del factor de expansi6n en la frontera. Luego la eficacia relativa de D es 1 / 2,58 =

= 0,39, lo i p e quierr tlecir yue D tiene 0,39 de la capacidad de control de acceso y de segu- ritlad y recuperaci6n de un SGBD comparable en la frontera.

La Figura 13.5(b) muestra que el proceso de -4ED de medir la capacidad relativa divide en unidades similares a los SGBD que se estin evaluando. La capacidad relativa tle D se evaliia comparando el SGBD real con el D' hipotitico que esti en el segment0 fronte- ra uniendo B y C. D. B y C son comparativamente fuertes en la capacidad de control-del- acceso en comparaci6n con la capacidad de seguridad-y-recuperacih. Sin rmbargo, E y F son comparativamente furrtes en la capacidad de seguritlad-y-recuperacih y sus capaci- dades relativas se calculan comparindolos con A y C. Por lo tanto, el cono etiquetado

CONTROL DEL

SGBD ACCESO

A 3 B 9 C 7 D 3 E 4 F 3

SEGURIDAD Y RECUPERACION

9 2 7 2 5 6

Page 443: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Seguridad y

FRONTERA DE

recuperacion

C

0.0 2.0 4.0 6.0 8.0 9.0 Control de acceso

( 4 LA EFICACIA Y LOS CAMINOS DE EXPANSION PARA LOS SEIS SGBDS

Seguridad y recuperacion

0.0 2.0 4.0 6.0 8.0 9.0 Control de acceso

(b) CONOS DE UNIDADES SIMILARES

como I en la Figura 13.5(1)) contiene 10s SGBDs clue son fuertes en la srgnridad-y-reell- peracibn, n~ientras qur el cono etiquetado como I1 contiene aqnellos qne son fuertes rn el control del acceso. El SGBI) C , qur es fuerte en amhas categorias, es t i en amhos conos.

Este mCtodo grifico de medici6n d r la capacidatl relativa es una herramienta valio- sa para ilustrar 10s conceptos del AED, prro est i limitado por dos criterios. Para medir la capacidad relativa de 10s SGBDs caracterizados por niis tle (10s criterios debmios w a r modelos de programaciGn lineal (PL). La formulacihn niis real y prictica se hasa en sope- sar 10s valores relativos de 10s criterios.

Aplicari6n. Ser capaz d r incorporar opiniones acerca de la importancia relativa de los criterios constituye el corazbn para la toma de decisicin sobrr qub SGBD escoger. Conti- nuando con nuestro ejemplo, A es el mrjor en la seguridad y recuperaricin, pero es dkbil m el control del acceso. B es el mejor en el control dcl acceso, pero d&il en la seguridad y recuperaci6n. Amhos esthn en la frontera y tienen una capacidad relativa de 1 , O en la medicibn del AED. Sin cmhargo, para comparar la capacidad de rendimirnto total de A y B, necesitamos emitir algnnos criterios sobre la importancia relativa de la capacidad de control del acceso y la capacidad de seguridad y rrcuperaci6n.

Una prueha basada en el modelo de PL nos permite centrar la atencibn en la impor- tancia relativa del criterio. Las variablrs de decisibn descansan sobrr 10s atributos, que expresan la importancia relativa de 10s mismos. El objetivo consiste en usar el modelo tle

Page 444: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SELECCION E IMPLEMENTACION DE UN SGBD 4 3 1

DBMS

A B C D E F

CONTROL DE L

ACCESO

3 9 7 3 4 3

SEGURIDAD Y

RECUPERACION

9 2 7 2 5 6

PESO (CONTROL DEL

ACCESO) 1 (SEGURIDAD Y

RECUPERACION) 2 -

PUNTUACION TOTAL

21 * 13 21 *

7 14 15

PESO (CONTROL DEL

ACCESO) 3 (SEGURIDAD Y

RECUPERACION) 2

EFICACIA PUNTUACION EFICACIA RELATIVA 1 TOTAL RELATIVA

MAX = 21 MAX = 29

PIJ (programacihn lineal) para escoger el criterio con pesos que maximiren la rfiracia rrla- tiva de la unidad d r referencia. La t:apat:idad relativa se midr como nn radio del valor total d r la unidatl de referenria compariindolo con el valor romplrto de lo mrjor m el conjunto d r 10s SGRDs. La Figura 13.6 muestra c6mo la selet:c:i6n del peso dc 10s criterios afrcta a la capacidad relativa. Cuando la capat:idatl tle seguridatl-y-rrcuperaci6n t,s dos veces mis importante que la capacidad tle control-del-aweso, A y C poseen la mrjor raparidad total, rada uno con una razbn total d r 21[= ls(raz6n tle control-del-accrso) + Px(raz6n cle segu- ridad-y-recuperaci6n)I. La capacidad relativa tlr cada SGBD sr mide como el radio de la raz6n total frente a la razOn total mas aha. Con estos valores (pesos), R se considera en un G1,9 por 100 (=13R1) tan bueno como A y C en tCrminos de t:apat:iclad.

Las tlos ultimas columnas nos guian hacia un resultatlo hastante tlifrrrnte, ya que se suponc qnr la rapacidad tle control-del-accrso es tres vcces miis importantr que la rayari- dad tlc seguridatl-y-recliperaci6n. Con rstos valores (pesos), LI tiene la puntuacibn total miis alta, 29. A tiene ahora una capacidad relativa d r un 62,l por 100 (18/29), nlientras t p r C se increment6 hasta un 96.0 por 100 (28129).

11, E, y F se mantienen con razones de capacidad total bajas para ambos conjuntos de valores (ptws). En realidad, las unidades que no se encuentran en la frontera nunca serin las mejores para ningun conjunto de valores (pesos) y siemprr tienen una eapacidad relativa menor qur 1,O. Por el contrario, para cualquiera de 10s SGBDs en la frontera, esiste al menos un conjunto de valores (pesos) para el cual el SGBD frontera tiene la mejor puntuaci6n total, y por lo tanto, una eficacia relativa de 1,O.

Esta observaci6n nos guia tlirectarnente a la utilizacibn del modelo PL para rnedir la eficacia relativa. Las variables de decisi6n son 10s pesos criterios y el ohjetivo es maximizar la capacidad relativa tle una determinada unidatl tle referencia. Las limitantes son que cada SGBD tiene una capacidad relativa que no excedr el 100 por 100. La rxpresi6n verbal es:

MAXIMIZAR EL VALOR DE LA UNIDAD DE REFERENCIA DE ACUERDO CON EL VALOR COMPLETO DE CADA UNA DE LAS UNIDADES MENORES O TGUALES QUE 1.

El modelo completo basado r n los criterios para medir la capacidad relativa de D es

MAX 3 P + 2Q (Raz6n total de D; P = raz6n del control del acceso; Q =

raz6n de segnridad y recuperacibn) S T 3 P + 9 Q < = 1 (Limite de la razbn total de A)

Page 445: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

9 P + % Q < = 1 (Iimite dr la razbn total tle B) 7 P + 7 ( ) < = 1 (Limite de la razbn total de C) 3 P + 2 Q < = 1 (Lin~ite de la razhn total tlr D) 4 P + S Q < = l (Limite dt. la raz6n total tie E) 3 P + 6 Q < = 1 (Litnite tle la razhn total de F) P.Q >=O (no negatives)

Cuestiones de implementaei6n La plat~ificaribn y la administracih de la iny~lementacibn es tan importante para nn sistr- ma de base de datos rorno lo rs una implrinentac*ihn efrctiva para cualquier tecnologia nue- va. En esta secci6n drfiniremos algunas consic1c:rariones importantes asociadas con la irnplementacibn d r un SGBD.

Administracibn de la base de datos

La rrsponsa1)ilidad tle la administracibn d r una basc de itatos normalmrnte sr asigna a una persona llamada administrador dc la base de datos (ABU). El ABD es el encargado clc ase- gurar que el sistrma d r l m e de datos opere cir forina efectiva y eficientr. Con este objeti- vo. las actividades diarias de 10s AHDs se roric:c:ntran m las tarcas siguientes:

1. Requisitos del servirio a1 usuario final. 2. Garantizar la sc,guritlad e intcgridad de la l ~ a r e de datos. 3. Establecer los prorrdimientos tle seguridad-y-recu~)rracii,n.

Requisitos del servicia a1 uslrario final. El .4BD rs el responsable tie seguir la freeurncia con que 10s usuarios finales utilizan la hase tle datos y 10s tirn~pos de rty)nestas que new- sitan sus aplicaciones d r base d r datos. Esto se realiza para asegurarsr que las necesidades del usuario r s t h satisfeehas. El ABD tam1rii.n est i involucrado en la satisfaccibn de las necesidadrs de mtrrnamiento d r 10s usuarios. Este entrenamirnto hrinda a 10s usuarios finales las herramientas apropiadas que les pcrmitrn ser mhs productivos. Un ejemplo p i l r i an scr las utilidadrs esprciales o las capeitlades del lenguaje.

Garantizando la s ep r idad c integridad dc las bases de datos. Signiendo la fi-ecurncia ?,

con qne 10s usuarios usan la h r de datos, el ,4BD ohtirnr inforinacion rwcesaria para el control dr la bast: de datos. Por ejemplo, una cwnsulta inrsprrada de un usuario puede provocar una rrevaluarih de la (:orrerib11 del control del acrrso. Por ejemplo, suponga que el usuario U1 no tiene permiso para acceder a 10s rrgistros individuales c:n el arc-hivo de n6mina. Recientrmentr, IT1 ha estado consultando datos adicionales, coino son curntas y sumas d r varios campos en la tabla. IT1 puede o1)tenrr datos desde los cuales 61 mis- n ~ o puede deducir valores de atrillutos individualcs que no pueden ser aececlitlos dirrcta- rnrnte.

En thn inos de la integridad de la 1)ase cle datos, el ABD debe asegurarse qur existr una (:orrespondenria entre la base tle datos y su definiribn reflejada en el dicrionario de datos. El ABD debe t a m h i h mantener el control para restringir la actualizacihn tlr la base de datos por usuarios autorizados. El mantenimiento de los niveles de rcstriccibn coloca por en(inia de caila usuario la responsahilidad tlel ABD.

El ABD &be ayudar a garantizar que el control de 10s datos de un usuario-espcifi- co estd implementado y supervisado. Por ejemplo, 10s usuarios purtlen t rnr r un niejor conocimirnto que el ABD acerca de qui. datos son sensil~les y sr tiehieran restringir y a qu6 nivel. Por ejemplo, el a(-crso a datos d r costo prrtenerientes a oyrraciones (IF: n~anufactu- ra puede no estar restringido al departamento de contahilidad. pero a su vez no debt, ser accedido por otros grupos funcionalrs sin periniso prrvio.

Page 446: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SELECCION E IMPLEMENTACION D E UN S G B D 4 3 3

Seguridatl(bockup)-y-recuperaci611. Los SClBDs hrindan facilidades pard el mantcni- miento tle la integritlatl d r 10s daters dnrante las oprraciones. Sin embargo, por otro lath, no pnrd(w facilitar la integridad tle la base de datos. Por ejemplo, la rorrupc*i6n tle 10s tlatos t l t ~ l d o a un fallo cn el disco pnetle rstar furra del control tlel SGBD. Estas poslhill- (lades hacen clue el ABD disponga tlr m6totlos para restaurar la base tlr datos completa \. consistentemente dcspuis cle un fallo.

Los procedimientos tlr restaui-aribn involntxm tipicamente ~ttilidatles suministra- das por el SGBI) como partt. tle on largo plan tlr rrcupcraribn dlseiiado por el ABD. Esto significa tjuc cl AB1) dehr familiarizarse con totlas las funciones j capariclades drl SGBD. El plan (lc 1-ccuperacihn gcneralmente inc1u)r 10s proccdimientos siguientes:

1. Itlentificar las utilidades de srpuritlad y recuperacibn que rstlin tli sponi1)les para manejar 10s fallos del sistema.

2. Estalrlecer 10s procedimientos a seguir por tcrdos acjuellos qne partiripan can el plan de recu1)erat:iirn.

3. Crear nn plan para informar a 10s usuarios que estin afectatlos por un fallo en la base de datos dehido a1 impacto potencial que el mismo puetlr trner sohre sus operacioncs, asi ccrmo estimar cl tiempo para restaurar la base tle datos.

4. Crear y analizar una planificacicin de pruehas para el plan de recuperacibn y normalizarlo para poder medir 10s resultados. Esto garantiza clue el plan tlr recuperacibn cumpla sus ohjetivos en caso cjue ocurra nn desastre real.

Probar la base de datos

Para garantizar que el sistema de base de datos cumpla con 10s requ~sitos de los usuarios y opere sin n1a)ores prohlemas se necesltan huenos procedimientos de pruebas. En el tlrsa- rrollo tle aplicaciones nuevas, las pruebas tle rjet-ut*ii,n sblo garantizan la programac*iOn en tbrminos tle tiempo neresario. Las pruebas de a l idac ih normalmente se rentran m las operationes slguientes:

1. La carga de la base de datos se realiza sin violar la integridad de los tlatos. 2. La correrta interi'az de las aplicaciones con la base de datos. 3. El rendimiento tlrl sistema satisface las necesitlades para las que se adquirib el

SGBD.

IJn ol~jeti\o de las prnehas, que es mucha3 leres pasado por alto, aparece cuando el sistema de base de datos no funciona como se esperaha. La ma)oria de 10s problemas bur- gen cuando 10s valores de entrada son inusuales o errbneos, cuando las rombinarionc.s tle condiciones ohtienen un resultado ~nesperado, o ruando 10s usuarios toman decisiones anticipatlas. Por lo que se de1)rn gcnerar datos de prueha para tleterminar rbmo el sistr- ma manipula 10s tipos de entratlas slguientes:

1. Valorrs que tienen signos negativos errbneos. 2. C6tfgos o rlaves invlilitlas. 3. Datos clue amenazan la integridad referencial. 4. Valcrres nulos. 5. Un intento de cambiar 10s datos por un usuario no autorizado. 6. Valoreb extremes, como son una inusual gran cantidad de horas trabajadas o

grandes rrcibos de rompra inusuales. 7. Unidades de mediciirn inrorrertas. 8. Intento no autorizadcr para carnbiar la informacibn que se encuentra en el dic-

cionario de datos.

Page 447: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Acerca del nivd tle control oprracional, la rmpresa delw preocuparse por la super- visihn del nso tie 10s recursos de computaci6n. La atlmiuistracicin tielw intrresarsc: en la informacihn siguirnte:

1. ~Quibn es t i usando el sistcma de base de tlatos, quk datos esthn siendo usados y durante qnb tirmpo serin usados?

2. ,Qnb rccllrsos del hardware es t i usautlo el sistcma de base de datos, c11Lndo son nsados y si existen cucllos de hotella?

3. ICuinto tiempo se usa por iina rutina de proccsamiento en conlparacihn con una consulta ad hor, y si cxisten tvndencias en este uso?

Para rrsumir estas ideas ilnstrarnos a l g ~ n a s de las meditlas de rentlimicnto incwrpo- ratlas en el SGBD relacional de IBM DB2. El DB2 Performance Monitor (Supervisihn de Krndimiento de DB2) se 11sa en conjnnto twn la DB2 Instrilmentation Facility (Facilidatl de Instrunientacihn de DB2) para generar informat:ihn soln-e el rendirniento drl sistenia. La DB2 Instrumentation Facility c:olrcciona 10s datos tle rrntlirniento tie1 sistenia de base de datos, clue w analizan por el DB2 Performance Monitor con el ohjctivo de grnwar infor- mati611 de inter& para el ARD y otro personal tle administracihn. Ejemplos de dicha iufor- maciOn son el tiempo de procrsamirnto de una consulta SQL, srguimientos dc la rjec:uci6n tie nna ronsulta SQL, cstadisticas de 10s datos de entrada y salitla, e informacicin resnnien sobre 10s tieinpos d r rspera para la ejccncibn tle consultas y programas.

La genrracicin de datos tle prucba qur verifiqurn todas las posiblrs condicioncs no deseatlas se muestra como un prohlema intratable (Garey y Johnson. 1979). Por (:on& guiente, una prueha rolmsta (cwmpleta) de un sisterna tlr base d r datos newsita un diserio hien pensado de los datos de p r u c h que sean a la vez razonablemmtt: complrtos y clue se puedan aplicar a un costo y tiempo razonahle.

Las tahlas d r decisi6n se usan con kxito en la generaciim de datos dr pruel~a . Muchas soluriones sofisticadas realizan una generacicin automiitica de 10s datos tie

prueha.

Preparar a 10s usuarios para el eambio

Puesto que la aceptacicin del usuario es esencial para una implrinentacihn cxitosa drl sis- tema de hase tie datos, la preparac ih de 10s mismos para 10s cambios que pudieran afec- tarlos rs tamhitn esencial. iC6mo se cun~plimrnta esto mejor?

Conceptualinente, la respuesta es simple: Involucrar a 10s usuarios en el desarrollo d r nuevos sistemas, entrenarlos cabalmente, e incluirlas prurbas de aceptacicin como par- te del esfuerzo de implementacicin. Llevar a cabo estas actividades seria a l p mi s com- plejo.

Una gran parte de la incorporacih de 10s usuarios en el desarrollo del sistrrria de hase de datos se facilita si 10s usuarios est in convencidos de esta necesidad para el sistema. El administrador jrfe, junto con 10s arialistas funcionales y 10s arialistas tle sistema, dehen comunicarle claramente a 10s usuarios cuiles serian 10s beneficios rsperados, asi conlo cualquier costo de puesta m marcha que pudiera ser asumiilo por el usuario. Esto se dehe realizar la mLs temprano posihlr en el ciclo de desarrollo.

La experiencia ha mostrado que 10s usuarios se identifican con el sistema cuando participan en su drsarrollo e implementacicin. Se seleccionan usuarios claves como parte del equipo d r desarrollo, y otros se consultan a medida que avariza el proyetnto. Los usue- rios nrcesitan participar y contrihuir. El objetivo no rs simplemente politico. Algunos usuarios contribuyen con ideas y observaciones que han sitlo pasadas por alto y que putlie- ran rnejorar el fimcionamiento del sistema. Enfatizamos en que el desenvolvimiento del usuario rs rnLs efectivo cuando participa en el desarrollo r implementaci6n. Una consulta de cortesia a1 comienzo y al final del proyecto raramente funciona.

Page 448: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SELECClON E IMPLEMENTACION DE U N SGBD 43 1

lnvolucrar a 10s usuarios en el desarrollo e imp1ementac:iOn tlel sistema de hase de datos brinda otro heneficio: 10s prepara para el entrenamiento en el uso del sistema. Poste- riormentr los usuarios pueden reribir el entrenamiento en el uso tlel sistema mediante ( I ) la lectura de 10s manuales tle operac*ihn y procetlimientos. ( 2 ) sesiones d r entrenamiento for- males dirigidas por el vendedor y la empresa, y (3) entrenamientos informales a cargo de un coordinador interno para asistir a 10s usuarios a medicla que surgen interrogantes y prohle- mas. Si nn mismo t i p de interrogantes surgen en varias ocasiones, el coordinador drbe orga- nizar nna sesihn de entrenamiento fornial para esta1)lecer 10s procedimientos tiel prohkma.

Entre otras cosas, los nsnarios necesitan conocer chmo procesar 10s documentos, entrar 10s datos, producir informes, corregir rrrores, generar consultas, rntre otras cosas. Hn la mrdida en que 10s usuarios se entrenan, purden utilizarsr como recurso para entre- nar otros usuarios en su Area funcional.

Cargar la base de datos

Frecuenternente, 10s datos que se almacenan en una base de datos ya existrn sobre algCn medio en la compntadora, como es una cinta n~agnktica. En el mejor de 10s casos, todos 10s datos necesarios existen, y la carga de la base de datos consiste simplemente en la rees- tructuraciOn de 10s datos existentes. Es decir, un programa debe leer 10s archivos viejos y crear la estruvtura qne nccesitan 10s nuevos.

Es mis frecuentr clue 10s archivos existentes no contrngan todos 10s datos nerrsarios para la nueva l m e de datos. Una de las solnciones usada comCnmente para este caso con- siste en transformar 10s archivos existentes, de tal forma que contrngan 10s datos necesa rios antes de rralizar el cambio m el sistema d r base de datos. Esta solucihn poser una limi- tacihn digna de mencionar y es qur el viejo sistrma debe continuar procesando las transacciones diarias mientras que se realiza la modificacihn.

Mantenimiento de la base de datos

Una vez que el SGBD esti instalado y en oprracihn, se necesita organizar y rjecutar las actividades de mantenimiento para garantizar 10s servicios y operaciones del niismo. En esta seecihn se describen algnnas de las funciones de mantenimiento necesarias.

Administrando recursos. Todo el tiempo se aiiaden datos nuevos a la hase de datos. algu- nos se eliminan, y las aplicaciones se actnalizan o modifican. La mayoria de las empresas experimentan que sus bases de datos crecen. Nuevos requisitos pueden cambiar la mezcla de las aplicaciones de hases de datos, y es importante supervisar el efecto de tales cambios. Los recursos de 10s sistemas de bases de datos, como son 10s dispositivos de almacena- miento, buffers, indices y tahlas, se chequean para determinar su adecuaci6n a medida qne cambian 10s requisitos del sistema. Esta inforrnacih~ nos aynda a la hora de tomar decisiones acerra de la adici6n o actualizacihn de recursos, asi como para prever necesi- dades futuras.

Seguridad y recuperac ih . Salvar una copia de la hase cle datos cada ciertos intervalos de tiempo debe ser una prictica estindar de seguridad. De esta forma, si la base d r datos que se est i usando se daiia o se destruye, sr puede reconstruir cargando la copia de segu- ridad y reevaluando todas las transacciones que se procesaron despubs que se hizo la copia de seguridad.

Las salvas de la base de datos se realizan usnalmente mediante un utilitario del sis- tema operativo o un utilitario del SGBD. El primer0 haw una copia de seguridad del archivo de disco complete, incluyendo las estructnras de datos fisicas. lJna copia de segu- ridad similar es posible a travCs del SGBD. Sin embargo, las estructuras de 10s datos no se representan realmente en 10s datos salvados, sino que se reconstruyen durante la carga de 10s mismos. Este proceso puede ser lento para archivos largos.

Page 449: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Administrando 10s camhios a1 sistema d e bases cle datos. Los camhios r n el sistrma d r 1)asc.s tle datos son inevita1)lcs tlehitlo a que las nrcrsidades del nsuario can~hian todo r l t ien~po. Los usuarios s r pnedrn acostumhrar a1 lenguaje dr consulta y por lo tanto rxtrn- d r r el rango y la cwnplrjidad d e las apliraciones rrqurr idas por el sistcma. A mrdida qut: p a el tiempo. los usuarios vcn nuevos c.aminos mediantc 10s cualrs sr I ~ u e d c organizar y at~tualizar la informaci6n tlr la hasr d e datos para satisfacrr las nrcrsidatlrs tlv sus traha- jos. En la mc&tla en que tbstos caml)ios s r acnniulan. s r necwitan mrjoras en el s i s t m ~ a d e hasr tie datos.

1,crs e:amhios r n las necesidadrs d r los usuarios q u r llrgurn a organizar 10s tlatos en fornias miis complrjas puedrn &grac.lar el rcntlimiento clel SGBI) si es t in tlispersos: p r o purden uo r rqur r i r q u r se cwnhie el contmido ! la estructura d r la 1)ase d r datos.

Sin embargo, las aplicacionrs numas puedrn nccesitar qiw sc aiiadan atributos a las taldas, se c:rrc:n nuevas tahlas. s r fortnulrn nuevas vistas, s r construyan inc1ic:rs acfciona- k s : en t r r otros.

Camhios twnio bstos purden a fwtar las oprraciones y (kgradar rl renclimicnto dr l sistema. No cxistr m a soluribn tlc golpr a esta sitnarihn. pcro i ~ n a rxitosa in~plementacihn de la I)nw tle datos contrihuye a realizar el procrso d r camhio ortlcnatlamrntr ! sujcto al andisis y la gestiOn involucratlas. 1,a atlministraci6n s r invoca cuando uua ecrnsulta tlr camhio del usuario tlrgratla la capatidad y rrnclimiento clrl sistrma de base (1c tlatos para otro usnario.

Ya qur las d~cisiones de caml)ios entraiian rfrctos srciinclarios, es iltil sulwrvisar las nurvas imp1ementac:iones con r l ohjetivo tle mrdir su in~pacto real. La supervisihn nos ayutla a acumular rxpericncia en la prediccihn dv 10s rfrc*tos dr 10s canlhios necrsarios m r l i'utnro.

Facilidadcs p a r a supcrvisar 10s SGBD. 1,os X B D s presentan caparitlades tlr incornpa- tihilidad. En esta seccihn darrnlos una visibn panorimica de las faciliclaclrs t k suprr\isi6n ni is r tp~esen ta t ivas que purclt: twntener un SGHD grn6rico que llamamos G .

C, 1)rinda capacidacles en linra para la c~omprobacicin tlr las actividadrs at-tualrs d r l SGKD. 1Jn menil permite la srlrct.iOn d r las funciones tlr suprrvisicin, romo son:

1. 1Jso d r la rntratlalsalida por el iisuario. 2. Cantidad d r oprrat:iones tlr Irctiira y rscritura rjecutadas en un periodo tle t ieu-

1") prefijatlo. 3. Cautidad (I(: transac:c*iones roml)letadas por un pcriodo d r tiempo prcfijado. 4. Brindar el srguimimto d r actividades tlr inter&. P o r ejrmplo, puede tlrsrarsc

cwmprohar t p i t n es t i motlificantlo los datos en la TA4BLA NOMINI. Esto se pu(:tIe realizar con la orclrn siguientr:

La cliurula ON (SOBRE) identifica la tabla q w serii inspeccionacla, y la t~l iusnla BY (POR) (wan fino es r l nivrl d r i n s p r r t h ~ . BY SESSION, por ejeml~lo, rscrihe m a entratla hacia r l (.amino a insprccionar para cada sc.sicin drl nsiiario. accrtliendo a 121 rdacibn ins- pewionada. Como puedr verse, 10s SGBDs nrcesitan tener un rango razonahlr de capat+ tlades d r supervisi6n.

E n estr c,apitulo hemos rstablrcitlo las tareas clr srlecci6n e implementacicin dr 10s SGBD. Nuestro enfoqur ha sido comenzar con la gesticin d e las nrcrsidades de informac:icin, srgui- d o por 10s tipos tle requisites del sistrma que estas nrcesidades implican. Entonces carac- terizamos las funciones bisicas d e 10s SGBD que est in disponihles para mantmer dichos

Page 450: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SELECCION E IMPLEMENTAC~ON DE UN SGBD 437

requisitos y ejemplificamos c6mo subdivitlirlos en caracteristicas funclarncntales a 1111 nivel quenos permita una medida de evaluac-ihn ohjetiva. DespuCs se estudih una simple forma cle hacer un anilisis inicial del SGBD, en el clue se clasifican sus caracteristicas de acuer- (lo con su iniportancia. Continuamos con un anilisis de las fucntes de informacibn sobre los SGBDs cornrrciales.

Luego se consitleraron dos mCtodos de evaluacibn total del SGBD: el modelo de pun- tuaci6n multiatrilmto, que es simple y bien conocido y el anilisis clel recubrimiento de datos, que es menos conocido, p t m que es Ctil por su facilidad de uso y porque hrinda capacidades poderosas para manejar la entrada tle toma de decisiones y dar como salida informacihn comparativaniente valiosa. El mismo es particularmente efectivo en la catego- rizacihn de 10s SGBDs, cuyas capacidades totales son similares.

DespuCs discutimos 10s factores principales que deben formar parte de la estrate- gia cie implementacibn del SGBD. Muchos de estos factores tienen que ver con la gesti6n de SGBD a largo plazo tambitn. Vimos que la funcibn de administracibn de la base de datos juega un papel in~portante en la implementacibn y que es esencial una prueha robusta del mismo. TarnbiCn consideramos la necesidad de preparar a1 usuario para participar en 10s canibios, a travks de su participacibn en el proyecto, asi como en 10s en- trenamientos.

Se hizo un resumen de la necesidad de mecanismos para acomodar las necesidades de cambios rn la informacihn cle la base de datos, junto con 10s requisitos de segnridad y recuperac:ibn. Finalmente, se destacb el papel clue juega la supervisibn de la ejecucibn.

1. Defina cada uno de 10s ttrminos siguientes con sus propias palabras: a. gestibn de informacih b. controles d r acceso c. encriptado d. controles de seguridad-y-recuperacibn e. propiedades importantes f. propiedades opcionales g. propiedades innecesarias 11. solicitud de propuesta (SDP) i. frontera de la eficacia j. punto de expansibn k. punto frontera

2. Descriha cada una de las signientes funciones y capacidades del SGBD: a. directorio/diccionario de datos b. seguridad e integridad de 10s datos c. consults, manipulaci6n de datos, y capacidades de informe d. soporte de 10s requisitos de programaci6n especializada e. opciones de organizaciones fisicas de datos

3. Identifique 10s rasgos de importancia para cada una de las funciones en (2).

4. iC6m0 debe usarse la salida de un modelo analitico para selecrionar on SGBD?

5. Describa cbmo influye el modelo de pnntuacibn en la seleccibn de un SGBD.

6. iQu6 valor hay en incluir clasificaciones tales como INNECESARIA e NO DESEABLE?

7. Estudie las cuestiones de mayor importancia en la implementaci6n de un SGBD.

Page 451: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Controlrs que limitan el accrso drl usuario a un suhconjunto d r una tahla Ijase. Prohando el rrndimiento d r un SGBD ejrru- tando rina aplicacihn sohre 61. En el andisis AED, el SGBD que sc: est i eva- loando. La propicdad de un SGBI) qur alrja su valor hasta la rmprrsa. La frontera cxterna en el anilisis AED. Controlc.5 qnc3 mantitmen la intepidai l dc la base tle datos cuantlo doh o mis usuarios (*on- sultan simultineamente tin rcgistro d r la h e de tlatos. En el anilisis AEI). r l camino desde el inicio hasta la unidad referencia Una propiedad de los SGBD clue se dche pro-

2. Oljtenga inforn~acibn so1)rr SGBDs cn red. (Esto purtle enrontrarsr cn la 1d)liotec:a.) ,Estos SGHDs abarcan las funcionrs drscritas m este capitulo? ,Existe informaciim sobrr las propirtladrs qur hahilitan was funciones? 1Purde r r r a r una c:lasific:aci6n gen6ric.a tle las propietlades para las emprvsas (I(: una indnstria en particular?

3. Ohtenga informacihn arerra de dos SGBDs relacionalrs y repita el procrso dmcrito c-n el ejercicio 2 . Entoncrs 1)nsclue informacibn similar en un modelo jc r i rq~t ico o un modelo c:n red y cwmpirclo con uno de 10s sistemas relacionalcs. i E s nlris ficil cr mis dificil encsontrar infortuac*i6n similar? ;,Par quC?

4. Usantlo los datos tle dos o tres de los SGBDs antcriores, c r r r un modrlo tle pun tnac ih~~ . Justifique su selecci6n tle 10s critrrios d r pesos y razoncs del SGBI).

5. 1,os programas de programaci6n lineal ( 12 ) es t in ampliamente difunclidos en las rscuelas tie negocios y departamentos de cienria de la c:omputac:i611, a mcnudo sohre un microc:omt)utador. Use un I,P para analixar 10s datos d r 10s SGBDs A-F en el c:apituIo. Podria m a r los datos tal y como cstan, sin los pesos. Des1)ui.s repita (:1 anilisis usando 10s pesos. Finalmtmtr exyerimmte con algunos pesos propios.

6. Despu6s dr complctar rl ejerckio 5. trate de aplicar el AED a1 anilisis dcsarrollado en el cjercicio 4.

7. Basatlo en este capitulo. v s c r i l ~ m a guia pequefia clue se pueda w a r en la selec~iirn de nn SGBD en una compaiiia hipotktica.

8. Escribn una guia l reve arercx de 10s prowlimientos de implementacih de 10s SGBD.

1. Contacte con una o dos instituciones clue use11 SGBDs. Encuentrr qu6 enfoque usan en la srleccihn de sus SGBD. iEs t i n satisfrchos con el resultado?

2. Contactr con un vendedor para adquirir datos sobre su SGBD. ~QuC: informarihn con- tienrn estos datos qu r le resultaria i t i l m el proceso de seleccionar un SGBD?

Page 452: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

P A R T E

C INCO TEMAS

AVANZADOS

L a Part(: 5 vsti rompuesta por un solo capitdo que trata 10s avanres re- cientes en (4 tlrsarrollo de 10s sistrmas d r 1)ast:s de datos. Se tratarin las hases de tlatos orientadas a o1)jrto y 10s sistemas basados en el conoci-

~nicnto, arr~bos ofrrcrn importantrs capacidadrs que dellen elevar el nivel ti(: las 1)asc:s tit. datos haria niveles mlis altos. Las bases de datos orientadas a objetos son capaces de inrorporar romplejitlath cpe sobrepasan a las tie 10s sistcmas de bases de datos rela- ciolialrs. I,os sistemas hasados rn el conorimiento aplican la 16&a de prcdicados a 10s sistvmas tle bases de datos relacionales para podrr inferir informaci6n adicional de alto nivel a partir d r 10s datos que estin realmente almacenados en la base de datos.

Este es un tral~ajo excitante que nos pcrmitiri poner a1 lector en el estado deJ arte ciel desarrollo tle los sistcwas ilr bases cle tiatos.

Page 453: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS AVANZADOS: SISTEMAS DE BASES DE DATOS

ORIENTADOS A OB JETOS Y SISTEMAS BASADOS EN EL CONOCIMIENTO

orientados a objeto lntento de proporcionar una representacion

de 10s datos mas poderosa La contribucion de la programacion orientada a

objetos Abstraccion de clases Clases derivadas y herencia simple Agregacion U n ejemplo extendido que demuestra la he-

rencia multiple Desarrollo de 10s sistemas de bases de datos

orientadas a objetos Gemstone Vbase Or ion PD M IRIS

0 2 U n lenguaje generic0 orientado a objetos

El modelo de datos del Lerner College Formular consultas con TextQuery

El formato basico de una consulta Soluciones en TextQuery

Una evolucion hacia 10s sistemas de bases de datos Navegar sobre 10s atributos y las interrela-

ciones Asignar nombres a conjuntos derivados Expresiones calificadas de comparacion de

conjuntos Conectores booleanos

lntroduccion a 10s sistemas basados en el conoci- miento

Conocimiento y bases de datos Representacion del conocimiento con reglas

Formulacion de reglas Reglas en PROLOG

Una aplicacion simple de base de datos en PROLOG Aspectos fundamentales de PROLOG La estructura de una aplicacion PROLOG Aplicacion de bases de datos

Datalog Lenguaje de datos Iogico (LDL) Resumen Preguntas de repaso Problemas y ejercicios Proyectos y cuestiones profesionales

Definir direcciones de las interrelaciones

Page 454: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

442 DISENO Y ADMINISTRACION DE BASES DE DATOS

Sr~nford Mallon, CIO de Internutional Product Distribution, estribu ulntorzando con Bill! Clurk, q u i w fue sci compaiicv-o ile uulris en la Obelisk Uniocxsity. Billy es ahoru el admi- nistrudor de buses de datos ile Simpson 'Z'whnologies, unc~$rinu de maimfacturus rle (rho tecnologia. rlcaba d r rcgresur de una oisita u la sede t l ~ su uendeilor de SGBD, 1Ingiclc.a- re, y ostil entl~siusmr~do con algunos de los nueoos destrrrollos que h a cisto. "Tli smhes, Sandy, que rstumos muy contentos con las mejoras en la i~$ornracion degestibn q u ~ hmnos realizudo p a r a nuestro sisternu uctunl de base ile datos y nlirstru direccibn h a estado inuy rereptivu cJn su utilizacibn. Pero nllorn esa rnisrrm direccibn nos estil p regunta i~do si podemos h a c w m6s. "

Sr~nford le respondib: "iQu6 mils pliede hacer un .sistema de bases de datos? Estn- mos ~iscmdo el mismo SGBD y creemos que cJstan1os operundo con lo incis uctuulizado."

"Bien", respondici Billy, "tencmos uno o dos '~iucwos iluminados' que estcin prpgltn- tando s o b r ~ sistenms de bnsm ile ilatos orientudos u objeto y sobre sistemas basados en el conocimiento. Yo nuncu hubiu oiilo hablur de eso, po r lo que llurnb n Magicware puru pre- guntar qu6 es lo que sabian. Resulta que e s t a i ~ desorrollando un produeto, un sistemu basado en el conocirr~iento, que renliznrci las juncionrs i~sumles de gestibn de buses d~ datos (I la uez yue le incorpora la teri~ologia orientadu a objetos y "experienciu" ell formu de reglas q l i ~ operan sobre la base de datos. Realmente no entenilia esto hastci que no visi- t6 las ojirinas de Magicware y ~ i i una d(~mostruci6n. Ahora estoy muy entusiusmado en pr~sentnr les esus capacidades n nuestra direccibn."

"Espera un minuto, "dijo Sandy.. ."

s avancrs en la prograinaeion orientada a ohjetos (OOP) ' es t i conducien- o 10s desarrollos actuales de 10s SGBD de ohjetos (SGBDO) ' de rnodo qur s r

tian manejar objetos complrjos, herencia y otras caracteristiras que per- rntaci6n directa de 10s modelos conc.eptuales orientados a objeto. Al rnis-

mo tiempo, la trcnologia de las hases tie datos relacionalrs es t i siendo extendida para corn- hinar las capacidades de gesticin cie 10s datos con la aplicaci6n de reglas l6gicas para 1)rin- d a r informaci6n m i s refinada para la gesti6n. Tales sistrmas se llaman sistenlas ba,sa,dos en el conocimiento (SBC) ".

En este capitulo se harii una revisihn tie algunas de las caracteristirab que han motiva- do estos desarrollos y se discutirin algunos ejernplos y c6mo extienden las capac:itlades de 10s sistemas de bases de datos existentes. DespuCs de leer este capitulo deberi ser capaz de:

Comprcnder las caracteristicas bisicas de la OOP y c6mo Csta se relaciona (.on 10s SGBD. Comprender c6mo 10s motielos conceptuales del Capitulo 4 se relacionan con la OOP y 1osSGBDO. Discutir algunos de 10s prinripales SGBDO que es t in en el merrado o que es t in en desarrollo. Familiarizarse con un lenguaje genkriro de consulta para un SGBDO. Explicar c6mo 10s sistemas basados en el ronocirniento pueden extender el poder de 10s sistemas tie bases de datos relacionales para brindar informacibn para la gesti6n. Identificar las formas en que el conocimiento se put+ representar mediante reglas. Discutir lenguajes como PROLOG y LDL y explicar c6mo han influido en el desa- rrollo de 10s sistemas basados en el conocimiento.

' Conorido en inglCs pol. las siglas OOP (object oriented yrogrurnming) ( N . drl T . ) . ' Conocido m ing1l.s par l a b siglas ODBMS (object databnse rnunapernent system) ( N . del T . ) .

Conocido en in& por. la? s i g h KRS (knowledge bow systems) (N. del T . )

Page 455: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS AVANZADOS: SISTEMAS DE BASES DE DATOS ORIENTADOS A OBJETOS ... 44 3

Una evolueibn haeia 10s sistemas de bases de datos orientados a objeto

Intentos de proporcionar una representacih de 10s datos mis poderosa

Con todo la potc:ncialidad y bxito dr 10s sistemas dc hases rde datos rclacionales. ha! algn- nas aplicaciones cuya complvjidatl no se puedc manejar h e n con c1 modelo relational. Es tipico en ese tipo de apliraciones involucrar datos cpe esthn altarnente interrelac:ionados, tales como definicicrnes de productos, multimedia o descripciolies dc materiales. La ewlu- cibn de 10s SGBDO es un esfurrzo para tratar csas c:crmplejitlades. Los desarrollos d r 10s SGBDO se han de1)ido lundamentalmente a la =C.nesis y a1 refinamiento de la 0 0 P .

La contribucidn de la programacih orientada a objetos (OOP) La Contribucibn de la Programacibn Orientatla a Ohjetos (OOP) a1 dPsarrtrllo tle 10s SGB- DO cs consideralh. Lob lenguajes de OOP tiencn mis expresividad que 10s til)icos lengua- jcb de bases de datos. Sin eml)argo, les lalta da r mayor soporte a la persistrncia tle 10s obje- tos -01)jetos que necesitan existir mcis alli del &anci de unainterfaz particular del usuario con la hase de datos-. Esto tlaturalmente ha producido desarrollos, tales conlo rl SGBDO Gemstone (Maier y Stein, l9!X%), que intenta extmdcr las capacidacies de un Ien- guaje OOP para incluirle las capacidades dt- gestiirn de datos de los SGBD.

En el ~ a r ) i t u l o 4 se usaron ciertas itleasf'unciamentales cruc sc derivan del tlesarrollo ' dr la programacibn orientada a objetos (OOP). En particular 10s "conjuntos wnceptua-

Ies" son anilogos a las "c:lascs" de la OOP sin las funcionrs miemhros. ],as instancias de 10s conjuntos conceptuales son como los ohjetos de la OOP. En la OOP, una claw se define por las propiedades siguientes:

1. Un conjunto de variables (atributos) que contienen 10s datos para un ohjeto de la clase.

2. Bloques tle c6digo Ilamados funciones que rralizan las operaciones sohre los tlatos de 10s objetos de la clase.

3. Un conjunto de mensajes frente a 10s cuales respon&n 10s objetos d r la clase.

En el modetatlo conceptual tenemos todas las estructuras de datos de nna clase, pero no se tlefinen ninguna de las funciones o mensajes que pertenecen a dichas clases. La implementacih requiere afiailir tales caracteristicas.

Los SGBDOs, tales como Gemstone, comhinan las capac:itlades de 10s lenguajes tie OOP con tas funciones de almacenamiento d r 10s SGBD tradic-ionales. En la siguiente sec- ci6n se destacan algunas de estas caracteristicas bisicas.

Abstraccih de clase

La Figora 14.1 es una reproducci6n de la Figura 4.21 clue se estudi6 a1 comienzo. Podelnos ver que CLIENTE es una claw clue tiene el atrihuto CLIENTE#. Esto se representa de la forma siguiente:

c l a s s CLIENTE { protec ted: i n t CLIENTE#;

1

Page 456: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

CUENTA TIENE-CUENTA- CORRlENTE

I CLIENTE I - T I E N E - C U E N T A ~ CUENTA

AHORRO AHORRO

CLIENTE CLIENTE

& <I > W I Z A C ~

# DE EMPLEADOS

l!sa~nos una sintasis d r C++ (C++ s r nsa ampliamentc como Icnguajr tlr OOP). Los rlcmentos del lcnguajv qur newsitarnos tbonocer son bastante ficiles de s c p i r . Por ejem-

rlase. Una 1110. en el chdigo anterior no r s tlifiril ver clue el tkrmino class drnota m a dec.laraci6n de q w w n t a r i h n at)strat.~ci clasr. CIJENTE r s la eticlueta que Ir ht:mos dado a esa clase y el ehdigo enwrrado entre (~~laritil la) tlr un c1avc.s define los miem1)ros ilr la vlase. E n estca caso; el i~nicw miemhro rs CLIENrTE# qne c o ~ ? j ~ ~ n t o tle ohjrtos. requirre un t i p de datos -se ha escwgido rntero (int)-. La coma "," intlica simplcmente

el fin de une instruccihn. Las clasrs son ahstrawiones tm el mismo sentido clue 10s conjuntos en cl modelo con-

cq)tual: Ellas permiten nna reprrsentac:icin tlr aqurllas caractrristiws de la rralidad cine son importantes en r l p r o l h n a cluca se t& tratando. Estas c1nsc.s prrmitrn drfinir un nhmrro finito de ohjrtos de die-ha clase. El siguiente c.btlign r s ilustrativo:

c l a s s CLIENTE { protec ted :

i n t CLIENTE#; }

main( ) { CLIENTE c l i e n t e l , c l i e n t e 2 , c l i e n t e 3 ;

}

St: ha aiiadido nna funci6n Ilamada '' main" que crea t r r s ohjrtos d r la clasc CLIENTE: clientel, c~lientr:!, clirntr3. Hasta ahora esta clase CLIENTE t i rnr sblo mirm- hros q u r son datos y no tiene fanrionrs, ksta podria extrudersr f'icilmentr para incorpo- rarle mien11)r.o~ adicionalrs a la clasr. El punto aqui ha sido demostrar que, una vez qur s r h a drfinido una clasr, cs f k i l r rea r o1)jetos d r rsa clasr. Si pirnsa en rsto un momrnto, puedr imaginar a la c law coino un rsquenxr relacional y 10s objetos sr parecrn a las ins- tancias tlrl esqurma. Esto es vertlad en un sentido limitado, pursto clue una rrlaci6n no puedr contrner una funcibn, ni tampoco permite otras posihilidades q u r analizarrmos a continuacihn.

Hay aqui tam1)ii.n un ejrmplo simple d e envio de mrnsajes. Cuantlo s r cleclara un ohjeto dr una clase drtrrminatla, se le pasa un mensaje a1 constructor de la clase para que crer una plantilla (template) d e la (:lase en mrmoria y le di. a 4sta el nombre del ohjeto. (En estr ejemplo tenrmos t rrs mensajes.)

Page 457: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS AVANZADOS: SISTEMAS DE BASES DE DATOS ORIENTADOS A OBJETOS ... 445

Clases derivadas y herencia simple

A la Figura 14.1 le hemos afiadido dos t i p s adic-ionales de ohjetos, amlws son esprcializa- ciones del o1)jeto CLIENTE: CLIENTE-HUMAN0 (CH) y CLIENTE-INSTITUCION 41,

clase derhada. Una (CI). Esto correspondr a las clases derivadas siguientes: clase clue liereda caracteristicas c k otra clasr.

c l a s s CH: publ ic CLIENTE { p ro t ec t ed : char sexo; char f e cha_nac [8 ] ; } ;

c l a s s CI: publ ic CLIENTE { p ro t ec t ed : i n t NUM-EMPLEADOS; char TIPO-ORG; char PERS-CONTACT0[12]; } ;

La notacibn "class C1" declara como es usual a una clase de nomhrr CI. La extcmsibn ":r)ublic CLIENTE" declara a CII v CI conio clases derivadas d r la clase CLIENTE. La notacibn "public." signil'ira clue a la clase derivada se le permite r l acceso a todos 10s miem- Lros de la rlase CLIENTE -excepto aquellos que hayan sido declarados "private"-. En 10s ejemplos anteriores, tanto CI corn& CH, imedm acceder a todos 10s miemtwos de CLIENTE. Por sirnplicidad hemos omitido ejemplos de funciones de clasr y paso de men- sajes, pero es fhcil pensar en funciones que lean datos, escri l~an datos, busquen datos y ejecuten oprraciones aritmkticas y lbgicas sobre 10s tlatos de la clase.

Podcrnos ahora declarar objetos de la clase derivada clue tengan no sblo sus propios datos o funciones mieml)ro, sino que hereden todos 10s que tienen sus clases base (padre). Por ejemplo, el fragmento C++

main ( ) { CI c l i e n t i n s t ; CH cl ienthum;

1

crea un objeto (clientinst y clienthum) para cada una de las clases derivadas (CI y CH). Cuando se declare cada objeto de clase se pasa un mensaje para crear la plantilla para la clase base y luego la plantilla "para la clase derivada.

El ohjefo "clientinst" puede aceptar y nianipular valores para sus propios miemhros como son NUM-EMPLEADOS, TIPO-ORG y PERS-CONTACT0 y tambikn hereda CLIENTE# de la clase base.

i Q ~ k hay con la agregacibn? Considere el fragmento de un modelo orientado a ohjetos que objeto coniplejo. se muestra en la Figura 14.2. Aqui tenemos una interrelacibn de agregacibn como un obje- Corresponde a un t o complejo. Esto se representaria como sigue: agregado o interrelaci611 de alto nivel (como se c l a s s PRODUCT {

p ro t ec t ed : definib en el Capituh 4). i n t ID-PROD; } ;

C t t usa el 16rmino plantilla (template) para referirse a clasrs grnkricas, 6ste no es exactamente el sig- nificado con cl que se usn aqui, pero se ha respetado la terminologia del texto original (N. del T.).

Page 458: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION D E BASES D E DATOS

c l a s s PAIS { p r o t e c t e d : c h a r NOMBRE-PAIS[ 151 ; } ;

c l a s s VENTA { p r o t e c t e d : i n t CANT; PAIS p ; PRODUCTO p r o d ; } ;

G M B R E - p a

Vrmos (1ur PIAIS y PRODlJCT se dcscri1)rn de la nianera usual. Ksas (:lases deviencn rn tniem1)ros tie la (blase VENTA. Cuando sc drclara un ohjrto VF:NT,4 en la forma siguirntc:

PRODUCT0

VENTA es ta - ven ta ;

Se crca una illstanria rlr la claw VENT.4 con el nomtwe esta-venta. El ohjrto esta-venta pnede t m r r l o s datos d r luia vrnta en pr t icu ia r ; por ejemplo, '' .4lernaniam , ".lah6n1', " 25". Tenemos asi toda la inforlnaci6n agrcgada clue se qurria.

VENTA

Un ejemplo extendido que demuestra la herencia mliltiple

PA~S

Nos rrf't.rirernos n Ids Figuras 14.3 4 14.4. Ol~srrvc. que en rl fragmcnto de modelo orirn- tado a o1)jctos de la Figura 1 k.3 terirtnos tre5 conjuntos de ohjetos: EMPLEADO,

NOMBRE 7 EMPLEADO L,1

PROGRAMA 7' DIRECTOR

Page 459: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS AVANZADOS: SISTEMAS DE BASES DE DATOS ORIENTADOS A OBJETOS ... 447

/I Este programa demuestra la herencia multiple

/ / Primer0 se define la clase EMPLEADO class empleado

t char ss#[ll]; char nombre[l2]; void traeDato( ) ; 1 1 Esta es una funcion miembro para la entrada de datos

t cout << " \ , Introduzca el numero de seguridad social del empleado: " ; cin >> ss#; cout << "Introduzca el nombre del empleado: " ; cin >> nombre; 1

1; / / Ahora se define la clase DIRECTOR DE ENTRENAMIENTO class dir-entrenamiento

t char genero; char program[l2] ; void entDato( )

t cout << " Introduzca el genero de entrenamiento: " ; cin >> genero; cout << " Introduzca tipo de programa de entrenamiento: " ; cin >> programa; 1

1; //Ahora definimos la clase derivada DIRECTOR DE ENTRENAMIENTO ASALARIADO class asal-dir-entrenamiento: public empleado, public dir-entrenamiento

t float salario; void entrada( )

t empleado::traeDato( ) ; dir-entrenamiento::entDato( ) ; cout << " Entre el salario del entrenador: " ; cin >> salario;

1 1 ;

main( )

t asal-dir-entrenamiento adel; adel.entrada( ) ;

1

UIK-ENTRENAMIENTO p ASALARIADO-DIR-ENTRENAMIENTO. EMPLEADO y DIR-ENTRENAMIENTO son clases bases corrientes, mientras que ASALARIADO-DIR- ENTRENAMIENTO es iina especializaci6n tanto de EMPLEADO como de DIR-ENTRE- N A M I E N T O . Esto rs, ASALARIADO-DIR-ENTRENAMIENTO hereda todos 10s atribu- tos de EMPLEADO p DIR-ENTRENAMIENTO y a su vez aiiade el atributo SALARIO. Esto es consistente con nuestros primeros modelos del Capitdo 4.

Hahiendo expuesto algunas rrpresentaciones modrstas de O O P , vamos a ampliar la representaci6n un poco para dar un cuadro mis general. Considerernos ahora el progra- ma C++ de la Figura 14.4, que conviertr el fragment0 de modelo de la Figura 14.3 a O O P .

Page 460: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~~N DE BASES DE DATOS

sistema de base d e datos orientado a objetos. Sistemas de bases de datos que pueden implementar nlodelos conceptuales directamente y que pueden representar complejidades que van mis a116 de las capacidades de 10s sistemas relacionales.

Se han in(-luido varios comrntarios en el programa (se denotan por "I/"). Se aclaran !. extienden cstos comrntarios. Primero ohservamos la creacibn de la clase llamatla "rmplcado". Previamcnte se us0 rste nombre con lr t ras mayusculas conformc a1 modelo orirntado a ohjetos -per0 esto fur: por facilidad y no es una esigencia-. Ohserve que la clase contirne ahora no s d o atrihutos drl conjunto de ohjrtos EMPLEllDO, sino que con- t ime tnmhibn una funcihn simple. Esta funcicin tiene nombre "traeDatos". Sin profundi- zar mucho en la sintaxis es facil ver que esta funcibn permite la entracla tle datos.

Vemos m a representacicin similar para el conjunto DIR-ENTRENAMlENTO. El twnjunto L4SL4LARIADO-DIR-ENTREN~~MIENT0 se derlara como una claw en la forma usual (con la etiqueta "asalariado-dir-rntrenamiento'? como nomhre de clasr), pero tam- 1)ii.n vemos quc se ha afiatliclo la extensihn "puhlic empleado, public dir-rntrrnamiento. Esta extrnsihn significa q u r la clase "asalariado-dir-rntrrnamiento" herrtla toclos 10s atri- h t o s y funciones cle la clasr "empleado" y de la clasr "tlir-entrenamiento" ( a rnenos que rllos se hayan declaratlo privados, lo que no es el teaso a tp i ) .

La claw "asalariado-dir-rntrenamiento" tarnbiln tirnr sus propios atri1)utos y fun- cionrs. El atrihuto clue es ilnitw para esta clasr es "salario". Observe qu r esta clase contie- ne una funrihn "entrada". La pala1)ra "void" significa que no se rrtorna ningun valor. Los "( )" significan que la funcihn no recihe valorrs (parimetros). Ohserve qu r la funcicin "entrada" utiliza funciones d r ambas rlases 11ase.

"empleado::trael)att~s'~ provoca la cjccuribu de la funcicin trarDatos de la clase "emplrado", lo q u r garantiza q u r se introduzca el nGmero tle seguridad social y el nornhre del empleado. dir-rntronamiento::entral)atosn origina que se rjecute la funcihn rntraDa- tos tle la clase "dir-entrenamiento" (pie ohtiene el gCnero del entrenamiento y la identifi- cacicin del programa. Esto va seguido cle instruccionrs qu r ohtienen el salario de dir-entre- namiento.

Ninguna de estas acciones ocurre hasta qur no se invoquen a travGs de un ohjeto. Aqui vemos que se declara un ohjeto de la claw "asalariado-dir-entrenamirnto". Este objeto tie- ne nomhre "agel". Entonces "agrl.mtrada" provoca la ejecucicin de la funci6n "entrada" cle la clase "asalariado-dir-et~trenamiento", de la cual agel es un ot~jr to. De mod0 que todos 10s datos clue se introtluzcan mrtliante esta funcibn i r i n a parar a1 objeto "agel".

Aunque estos son ejemplos nluy simples, sirven para tlemostrar la interrelacihn entre el modelado conrrptual y su implrrnentacihn en el software orientatlo a ohjrtos. En particular se retpieren las siguientes cw-acteristicas en 10s SGBDOs:

1. Capacidad d e tnanejar objetos coniplejos. El SGBDO debiera ser capaz de almacenar y manipnlar olljrtos de alto nivrl -aquellos que es t in compuestos de ohjetos simples y sus interrelaciones.

2. Capacidad d e incorporar mktodos qoe operen sobre 10s datos d e u n objeto. Las funciones que se aplican a un ohjeto deben estar encapsuladas en la defini- cibn del objeto.

3. Capacidad d e irnplementar objetos como miembros d e las clases. La idea de una clase como un conjunto d r objetos instancias es la base sobre la cual se for- mulan las consultas. En las bases de datos relacionales, una consulta se aplica a una relacibn o a una coleccicin de relaciones. De manera similar, en las bases d e datos orientadas a objeto, una consulta se aplica a una clasr o a un conjunto de clases.

4. Capacidad d e representar jerarquias d e clases y herencia. Los SGBDOs per- miten a1 usuario derivar una nueva clase a partir de una clase existente que here- da todos 10s atrihutos y mitodos de una o m i s clases base (padres). Una clase puede tener una cantidad cualquiera de clases derivadas, aunque algunos SGB- DOs permiten que una claw tenga &lo una clase base. En el primer caso, una clase hereda atrihutos y mCtodos de mas de una clase hase. Veremos esto en el ejemplo de herencia multiple. E n el segundo caso, una clase derivada hereda atributos y mitodos de una sola clase base. Tambiin se mostrar i un ejemplo de este caso.

Page 461: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS AVANZADOS: SISTEMAS DE BASES DE DATOS ORIENTADOS A OBJETOS ...

Desarrollos de 10s sistemas de bases de datos orientados a objetos

En vita src*t.ihn i e rvsumen algunos tlr 10s SGBDOs m i s conoridos. Emprzarvmoi con G r n ~ t o n r (Mrier y Stone, 1987).

Gemstone

Grnistonr rsth basado tbn el lenguaje d e OOP Smalltali, w n shlc; m a s peas estensiont~s. Es un producto r.omcrcia1 q n r snministra aspt:t.tos de la 0OP. tales conin idvntidad tlt* un ohjeto y ~~ncapsi i la t i6n. junto twn herencia simple y m a interfaz extvrna como 1111 conjnn- to d r mrnsajes. Como sistemas tle gestihn tlr I~ases de datos, Gemstone proport%ma cont~wl de concurrmcia y rrcnper;1t-i6n, gesti6n de alr~iacenan~it.nto serundario y autorizacihn. Gemstone t i rnr un lcnguaje tlr ronsulta clue permite formular rspresiones sohrc lah varia- 1 1 l t ~ tle instancia de un o1)jeto.

(;emstone soporta aweso twncurrrnte )- inCtotlos para rnantcnrr la scguridatl y la integridad tlr la h a w dc tlatos.

\ I m c . (Andrews y H;irris, 1987) es tamhii.11 un SGDBO comercial. Vl);isc enfatiza algunas t*aractrristicas de la OOP, wino una estnwtura fiierte dc t i p de datos y la utilizacihn tit, 10s tiposdt: tdatos ahstractos. Vtjast: usa un lcngriaje de t*sl)ecificatGm, TDL. para defiliir ohjetns. nomhrar la$ variables de l;i I ~ a s e d e datos y para d r r la ra r rt~strirrioncs. Vbasr m a 1111 lrnguajt: d r implenirntilt*i6n llamado COP.

V l m r perniite que se crren ohjetos d r un tipo (clase) para los que sus propirilades y opt'rariones se tletcwuinan por este tipo d e t:rt.ar.i6n. V l m e pnetle (:rear t a m h i h ohjrtos agregatlos y soporta las intt:rrelac:iont~s uno-uno, uno-murhos y muths-mnchos entre 10s ohjetos. \ l a s e soporta la mayoria de las funt*ionalidades que se esperan d r un SGBT). Los ohjrtos pucdrn twmpartirst: entre milltiples p -o twos contwrrentemente, t a n i l ~ i h snminis- tra facilidatlrs d e svguridad y rernlwrari6n junto con control d r ac two simple.

Orion

Orion es nn prototipo d r SGBDO tine es t i siendo desarrollatlo en el MCC (Banerjec y otros, 1987). A1 igual q n t ~ Gemstonel Orion se tleriva del lengnnjc de OOP Smalltalk, p r o posetL capat:idades de herencia milltiple. Inrluye rrcursos aditionales para bases ck datos, romo la posihilidad de liacer una amplia variedad tle camhit~s m el esquema de la base tle tlatos -tales como la definicihn de c1ast:s y la drfinici6n de m a jerarquia de clases, asi como la capacidad de c r r a r y manipular objettrs complejos.

Orion esta disriiado para soytrrtar de modo natural necesidades cie orientaci6n ;i ohjr- tos tales como las tie 10s sistemas CADICAM o la de 10s sistemas hasados en el conociniiento.

PDM (Manola y Dayal, 1986) esti hasado en r l modelo f~~nc iona l dr datos DAPLEX. Como consrcurncia, el algehra de PDM esta muy cercana a1 algebra relacional, con a l p n a s (liferen- cias importantcs. La m i s importantr entre &itas es la capacidad de aplicarle funciones mul- tiargumentos a 10s objetos. PDM incluye tamhitn un operador &IPPLY-APPEND qur permi- te realizar la t:oniposici6n de funciones. E n PDM. a1 igual que en DAPLEX, todo es f u n c i h .

Page 462: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

IRIS IRlS (Fishman y otros) rstli sienclo tlesarroUatlo por Hrwlett Pacltard. Tiene una sernejanza cercana a 10s sistemas relacionales. IRIS utiliza un adrninistrador dr. almacenatiento similar a1 qur usa System K y soporta un lmguaje d r consulta hasado en SQI, (OSQL). El rnodelo dr lRlS pernrite la reprcsentacihn d r ohjetos y d r co1rt:cionrs de objetos, asi twmo tlc oprracionrs.

El SGBD consistr en un procesador dc consultas qu r implrrnrnta el modrlo de clatos orientatlo a ohjetos y qut: soporta abstracc.iones estructurales dt. alto nivel, tales ccrnio la dasificatibn, la grneralizacihn y la agregati611, asi como al)strac.cionrs tle comportarnirn- to. Las intcrfatw con IRIS int:luyen una extcmi6li a ohjetos de SOL.

02 0, (Lerlnse y otros, 1988) soporta tipos de objetos, rncapsulaci6n y herencia. O2 soporta tarn1)idn multiples lenguajes, tales corno BASIC, C y LISP. Proporciona reeursos para la mcap~ i l ac i6n , la hrrencia y la so1)recarga d r operadores. En contraste con Gemstone, en el qu r tocto es un ohjcto, 0, no define las clases y 10s mktotlos corno ohjetos.

Un lenguaje genkrieo de base de datos de objetos En esta serci6n sr yrrscnta un Irnguaje genkrico debase de ctatos d r trhjetos llatnado TEXT- QUERY. Conlo el nornhrr sugierc. es un lrnguaje tlr consulta textual qu r opera sohrr hases de datos dl* ohjetos. Estr lengnaje no cstli realrnente inlplemrntado, pero dernuestra inuchas dr las c:aracteristicas cwmunes m 10s lengnajes 3e l m e s de datos de ohjrtos.

El modelo de datos del Lerner College En la Figura 14.5 se rnurbtra m a parte del modelo d r datos del Lerner College. Este rnode- lo contiene ruatro conjuntos de objetos (PROFESOR, ESTUDIAIYTE, CURSO, DEP4R-

Page 463: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS AVANZADOS: SISTEMAS DE BASES DE DATOS ORIENTADOS A OBJETOS ... 45 1

T-AMENTO) y siete intrrrelacionrs, Cada uno tlr 10s conjuntos dc ohjetos t ime nn n1'11nrro tle atrihutos. Para hacer el t:jeiiiplo miis conrreto s r lian tornado algnnos ejemplos dc datos ({el modrlo tie datos del Lerner College en la Fignra 14.6. Esta figura niuestra valores sini- ples d r atrihutos para instancias tie cada imo de 10s conjuntos tle objrtos y uno de 10s con- juntos interrelaciones (HA-TOMADO). La Figura 14.7 mi~estra c6mo las instancias t lr los conjuntos d e objrtos se relacionan con otras vias d r las interrelacionrs datlas.

Antes de srguir adelante, pudirra ser util revisar la tlistinci6n entre una instancia de o1)jeto y 10s valorrs de sus atrihtltos. D r niodo q u r "John" es el nomhre de una persona. p r o la pt:rsima a la que llamamos "John" no es la nlisma cosa que su nomhre. Como iin tbjtmplo adicional, potl(:nios identificar una pt:rsona por su nunlero de srguridad social. p r ro la persona no es un nilniero dt: seguridail social. Por lo tanto, la E'igura 14.5 repre- senta t.onjuiito de ohjetos separadamentc: de sus atrihutos. La ventaja d e esto rs qur pode- mos carnhiar los valorrs de 10s atril)utos, aiiadir atrihutos y t ~ o r r a r atrihutos sin preocu- parnos de perdrr niripuna d e las instancias tle ohjctos. 'I'anihitn podenlos m a n i l d a r

PROFESOR

ID# NOMBRE SALAR I 0 OFICINA

82 1 Adams 38000 281 CB 91 1 Clyde 27000 48 TMB 237 Brown 38000 521 MCK 113 Parker 33000 492 CB 544 Hinman 42000 213 TMB 145 Stevens 45000 312 CB

DEPARTAMENTO

NOMBRE TELEFONO# OFICINA#

MATEMATICAS 81 11 411 TMB INGLES 4980 512 MCK HISTORIA 5233 313 CB

ESTUDIANTE

ID# NOMBRE DIRECCION TELEFONO#

3825 Mary 214 HH 21 12 491 3 John 3 3 D G 31 14 6255 Ann 4117 RCK 531 1 4118 K e l l y 311 ST 6622 3223 Roger 4214 RCK 1383

CURS0

CURSO# HORASCR CURSO# HORASCR

HI21 3 H250 2 I101 3 E372 3 I212 2 M336 3 M I 15 4 E456 3 M213 3 H312 3

HA - TOMADO

NOMBRE(ESTUD) CURSO# NOMBRE (ESTUD)

Mary I 1 0 1 K e l l y John HI21 Roger John I101 Roger Ann I 2 1 2 Roger Ann H250 Roger K e l l y I 3 7 2

TELEFONO#

4822 3085 7324 61 22 41 88 1203

FECHA - NAC

3 / 1 2 1419 513

2414 1717

CURS0

I456 MI15 M213 M336 H312

Page 464: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

instancias dr o1)jetos sin Imwxlparnos sohrr atrihntos t.sprc:ii'icos o sol~re 10s valores dr 10s atril~utos.

La F i p r a 14.8 purtlr ayudarnos a wmprrndrr la separacibn rntre una instanria de ol)jrto de nn valor objeto. La Figura 14.8 (a) rnurstra m a repre~~ntacibn tipica del con- junto de ohjetos ESTUUI;\NTE y clel atrihuto NOMRKE. mirntras clue la Figura 14.8(b)

Clyde -s z PROFESOR

Brown

Parker Kelly

Hinman p Ann Roger

Stevens

* I PROFESOR . DEPARTAMENTO

L

I * -

Adams Matematicas

Clyde

Brown lngles

Parker

Hinman

Stevens Historia

(b)

ESTUDIANTE

john v

ESTUDIANTE

Ann

Kelly

Roger

* * CURS0

Page 465: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS AVANZADOS: SISTEMAS DE BASES DE DATOS ORIENTADOS A OBJETOS ... 45 3

Mary

John

Ann

Kelly

Roger

ESTUDIANTE

HI21

Historia - H250

(e) H312

* *

DEPARTAMENTO

CURS0

I *

ESTUDIANTE

CURS0

* I - DEPARTAMENTO

Page 466: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

PROFESOR I Adams

Clyde

Brown --

mwstra las instantias rralw tle olbjetos y 10s valorrs tlr los atributos. EII este caw, rl ron- junto dt* ohjrtos ES1'UI)IANTE wntirne cinco instanrias: o t:stldiantes. reprtwntatlos p r 10s tirltw 1)untos qut: 51' mutxstrilrl en la raja ESTUDIINTE. Tenrmos u11 valor -un noml)rt. rspecifico- para rl atrihuto NOMHRE para cada estudiantr. Estr valor sr indica par una linra que st: dilmja drsdr (4 valor tlel atril~uto -rl nomlm.- hasta el punto qar rcprrsenta a1 estudiantr. I)r modo clue tenrmos una linra drsdr '-Maryn llasta el punto que rrprrstwta a1 cs td iante tlr nomlrre "Mary" en el ronjunto dt- ohjrtos ESTUDIANTE.

Los atrilmtos son importantrs porqlir identifiral1,y ayudan a distinguir rntrr las difcrrntes instancias tlt: ohjetos. Dr hrrho, una clnve cs un atriljuto o un conjunto dc atri- butos que identifica uniramente cada instancia del ohjcto. Sin crnl)argo, para algunos pro- yOsitos no rs ntmsario usar lalorrs dr atribntos para distinguir rntrr instal~cias de objr- tos. Por tanto, tratar una instancia de nn objeto srparadamrntr d r 10s valorcs tir sus atrilwtos f a d i t a r i cirrtos tipos dr manipnlacihn d r datos. Esto sta ilustrara t~uando poste- riormrntr rn el capitulo st. rra1it:en varias consultas.

0bst:rvr que estanios usantlo atrihutos -NOMBRE y CURSO#-- para id~ntificar instancias tie o1)jetos en nntAstro rjrmplo de base de datos. La Figlira 14.7 a-g haw ~ s t o mis tpemostrar las instancias conlo puntos que rstin conectados con 10s valorrs d r 10s atribu- tos. Esto sr realiza sdo para simplificar 10s diagramas.

John

Kelly

Page 467: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS AVANZADOS: SISTEMAS DE BASES DE DATOS ORIENTADOS A OBJETOS ...

Conjunlo solucion. Un ronjunto de valorcs tle tlatos de la base dc datos qut3 satisface las c,ondiciones dc una consulta.

variable. Un rlombre sinil)cilico que representa una instancia no especificacia en un conjunto de objetos.

Formular consultas eon TextQuery

Durante sus cntrevistas cwn el personal en Administracibn, Hepistro y Atlniisicin y t l o ~ ~ d e - quiera en el campus del colegio, Roherta y J u a n han t d c c c i o r d o una larga lista d e pre- guntas quc 10s usuarios potentiales c1i. la hnsv de clatos quisieran vcsr respondidas. Los siguientcs son algunos c.jemplos reprt:sentativos:

iQuii.nes son 10s prof~:sores clue ganan por cncima dc 10s 840.000? 1QuC profi.sores t r a l ~ a j a n para el departamento de Ingli.~? ~ C ~ I I I O sc llanian los profcsores con 10s (11ic tonla I-lases Kt:llyY ~ Q I I P est11diantc.s han tomath todos los cursos ofretidos por 1.1 tlepartamen- tos de Mateniiiticas? ~ Q u k estudiantcs han tomado todos 10s cursos oireciclos por el depar- tamento bisico? iQuk rstudiantes est in repitiendo? ;.Qui. estudiantes han pasado. o cst in pasando, un curso tle historia?

Las respuestas a estas prepnntas drberian tsstar contenidas cn 10s c*onjuutos de olljc- tos e interrelaciones tle nuestra h e de tlatos. Si pudiera usarse uri computatlor para acw- der a la basc d e tlatos, podrian rcsponderse a estas prepmtas. La rlave es formular esas consultas en Iln lenguaje orientado a ohjetos, tal w m o TcxtQuery. (pie podria traducirsc en operacionrs que el cornputador 1)uedn cjecutar, permitiendo a la computatlora itlentifi- ca r y acceder los datos apropiatios.

El formato bisico de las soluciones de consulta en TextQuery

Empezamos la dcscripcihn d e TextQuery con un ejemplo.

X u a l e s son 10s nombres y s a l a r i o s de 10s p r o f e s o r e s que ganan por e n - cima de 10s $40.000?

En la Figura 14.5 se purclr ver clue 10s clatos nrcesarios para responder a esta con- sulta r s t h contenidos en (:I conjunto dt: objetos PKOFESOR y S I I ~ atrilmtos. La soluricin a esta consulta puede lormularse en TextQuery en la forma siguirntc:

{ (nombre, s a l a r i o ) : nombre ES-NOMBRE-DE p r o f e s o r AND s a l a r i o ES-SALARIO-DE p r o f e s o r AND s a l a r i o > 40000 }

Esta soluci6n en TextQuery define un conjnnto cuye delinicicin s r d a en t r r claves. La definicihn debe leerse como: "El conjunto de 10s pares de nom1)res y salarios tales qne el n o n h r e es el nomlwe de alghn miembro del profesorado, el salario es el salario tlel mismo miembro tlel profrsorailo y el salario es mayor que 40.000."

Si esta solucicin TextQuery se aplica a la base de datos nos d a un conjunto solu- c i6n -un conjunto d e valores d e datos de la base de datos consistente de pares de n o n - hres y salarios quc satisface las concliciones d e que el nomhre y el salario clel p a r s r apli- can a un niismo profesor y que el salario es mayor clue 40.000-. Usando 10s datos de la Figura 14.6, el conjunto s o l u c i h p a r a esta consulta es un conjunto que consistr e n 10s dos pares:

{ (HINMAN, 42000), (STEPHENS, 45000) }

Tolnemos apart? la solucicin TextQuery y examin6rnosla por partes.

Tkrminos. E n la solucicin TextQuery, las pa la l~ras norrtbre, sulario y profesor represen- tan instancias de 10s conjuntos d e objetos NOMBRE, SALARIO y PKOFESOR, respecti- vaniente. Esto es, estas palabras son variables que p leden tomar cualquiera de 10s valoreb

Page 468: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

l ida resultado. Una lista 1)arametrizada cie \ arial)les qnr re1)rescnta (~1 formato drscado tle un ~n ieml~ro tipieo tle nn conjunto de solwihn dc una consulta.

t=xl~rcsi6n dr cnlificaci6u. Una rondicibn \ erdadcra o f'alia t1nc st' refirrc a la liita re-ultado j qac tlehe cwn~l)lirie ljara 105 dtwentoi rn el wnjunto solnci6n.

en estos tres conjuntos. ES-NOMBRE-DE y ES-SALARIO-DE son nornl~rrs de interrela- ciones c:orres~)ondirntt.s a 10s atrihutos NOMBRE y SA41,ARI0 qne relacionan a los miein- hros tlrl profesorado con su nombre y salario. De n~otlo q n r si la varialde profesor repre- senta al profcsor cnyo n o m l ~ r e rs UROWN, se tiene entonres clue

nombre = BROWN, y s a l a r i o = 38000.

Partes d e definicibn d e conjuntos. 1,os (10s puntos (:) separan las cios partes printipales tle la definicihn de cwnjnnto -la lista dt. resnltado y la rxl1resi6n tle calific*ac:i6n (Cootl. 1971)-. La lista resultado (tuwget list). una lista parrntizada clr varialllrs, (la el formato deseaclo d r un miemlwo tipico del cwnjunto cie soluciones -en estr caso, nn p a r de cle- tneutos consistent(. rn n n noml)rr y nn salario-. La expresibn d e calificacibn (la nna con- dicihn clue s r rcfiere a la lista resultado y drlw ser verdadrro para los elrnientos en el WII-

junto soluci6n. TJa lista de rcsultado del rj(bmplo es

(nombre, s a l a r i o )

y la c.xl)resi611 cle calificac-ihn consia de trcs snl)rxpresioncs:

nombre ES-NOMBRE-DE p r o f e s o r s a l a r i o ES-SALARIO-DE p r o f e s o r s a l a r i o > 40000

quc est in cone(-tadas por AND Ihgicos. Aplicando la solncGn TextQuery a la 1)ase tlr clatos s e genera (:I conjunto d e solucihn.

Esto se hace permitiendo qur la lista rrsnltado vaya asun~i rndo todas las ~ ~ o s i b l r s con11)i- nat:iones dv valorcs nomhrr y salario. Para catla coml)inaci6n, se evalua la expresihn de c:alific:aciOn. Si la rxpresiOn r s verdaciera, entoncrs el p a r nomhre-salario s r pone r n el conjnnto solliri6n. Si no 1:s vrrciadera, se descarta esa c.onlhinacihn nombre-salario y se rxarnina la pr6xima conlhinaci6n nom1)rr-salario.

Supongarnos por rjemplo:

nombre = ADAMS s a l a r i o = 42.000

La expresihn dc. calific.acihn s r r i verdatlera si y shlo si exisle alguna instancia de PROFESOR cuyo n o n ~ h r r c!s ADAMS, que tiene tin salario de 42.000, y cnyo salario rs mayor clue 40.000. F h rste caso el salario es mayor q u r 40.000, p r o la e x p r e s i h tlr califi- cacibn como un todo es falsa porqur no hay ningiln profrsor tle nombre Aclams qne tenga n n salario de 42.000 (revise la Fignra 14.6). P o r lo tanto, la conll)inac:i6n (ADAMS, 42000) no s r pone en el conjunto solnci6n.

Intentrmos con la con~hinacihn:

nombre = ADAMS s a l a r i o = 38.000

Hu,y nn miembro de profesor d r nomhrr ADAMS que tirne nn salario d e 38.000. d r modo que las primeras dos subexpresionrs son verdaderas. Pe to la ultima sutwxpresihn es falsa, ya que el salario r ~ o es mayor clue 40.000. P o r lo tanto, la expresi6n d e calific,acihn no es verdadera para la cornl)inacii,n (ADAMS, 38000) y esta solucibn tarnpoco se pone en el ronjnnto solucihn.

Es ficil ver q u r (INMAN, 42000) y (STEPHENS, 45000) son las unicas dos combi- naciones q u r satisfacen la rxpresibn de calificacihn. P o r tanto, estos dos pares constituyen r l coniunto solucihn comuleto de esta consulta.

Page 469: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS AVANZADOS: SISTEMAS DE BASES DE DATOS ORIENTADOS A OBJETOS ... 4 5 7

Esta consulta y su solucibn ilustran varias reglas clel lcnguajr TrxtQurry. Antes tle continuar vamos a vrr cstas rrglas y considwar algunas mrjoras qnr sr l~urdcn usar en estas y en otras t:onsr~ltas.

1. Las variables en TcstQurry clue representan instancias tlr 1111 cwnjunto dr ohjc- tos sr escrihen ~ 1 1 minuscnla. El nonhre en minuscnla t k nn conjunto de ohjrtos drnota a una ir~stancia tlr dicho twnjunto de ohjetos.

2. Las varialdes qur reprrsrntan instancias de un ronjunto dt: o1,jetos tamhibn purden definirsr intlicando qur la varialjle r s t i (IN) en el conjnnto de objrtos, tal como se lnuestra en 10s rjrrnplos siguicntes:

p I N PROFESOR p r o f e s o r 2 I N PROFESOR p r o f e s o r ' I N PROFESOR

Estas instrucciones drfinrn a p , prtfesor2 y profesor' como varial)lrs, cada una rrprrsentando una instaucia m el conjunto de ohjrtos PROFESOR.

3. Los nombrrs de atributos tlr nn conjunto tlr ohjetos sr pnetlen transformar a nomhrrs de interrelacionrs aiiadibndole el prrfijo "ES-" J- el sufijo "-DE" a1 nombre del atributo ". De moclo que

ES-NOMBRE-DE y ES-SALARIO-DE

son nomhres de interrrlaciones creados para 10s atril~utos NOMBRE y S.4LA4RI0, respect- tivanlentr.

5. Una solucibn TrxtQurry sirmprr rs una definivihn d r conjunto, cwlsistrnte rn una exprrsiim -la lista rrsultado- qnt: rrpresenta a un elemento tipico d d conjunto solu- cibn, seguida d r tlos puntos, seguida de una condieibn -la exprrsihn de calificacibn- qur califica precisamrntr 10s elrmentos a incluir en el conjunto soll~cibn. La dt:finicibn sr enrie- r ra rntre claves (1 para inilicar cjue rstanlos definiendo un conjunto -en particnJar, el conjunto de todos los rlrn~entos cuyo formato es la lista resultaclo y qne satisfacen la con- tlicibn estahlecitla por la rxpresihn cle calificacibn.

5. Dentro d r la tlefinicibn de un cwnjunto, una variable rctiene su sipificado rntre una ocurrencia y la siguirnte. Asi pues, en nuestro ejemplo, salurio r s t i drf'inido en la lis- ta rrsultaclo y ocurre rn la exl)resibn d r t:alificaciOn. Esto signijica lo mismo cada 1:ez clue ocurra. Si durantr el cilculo del conjunto so luc ih para la consulta, sulorio asume el valor 38.000 en la lista resultado, entonces time el mismo valor cada vrz que aparezca en la expresibn tlr calificacihn.

6. Si una variable no aparece en la lista rcwdtado, Iwro aparecr en la exprrsibn de calificacibn, se dice que la variable es t i cuantijicuda existencialnwnte. Esto significa que existe algun valor en el conjunto de objetos para la variable. Por ejernplo, en la expresibn

s a l a r i o ES-SALARIO-DE p r o f e s o r

profrsor est i rxistencialmente twantificada. La e\prrsibn puedr interpretarw cbomo: " Existe un miernlm del profrsorado tal que salario es el salario de dicho mirmbro."

Page 470: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Definir las direcciones de las interrelaciones

El primer ejemplo fur rrlativaniente simplc, puesto clue rclaeionaha shlo a 1111 conjunto de o1,jctos y siis atrihntos. Sin embargo, la solucihn a otras consdtas 1)oc:cle involucrar (.on- juntos cle ohjetos (pie tx t in enlazaclos por una serie d e interrr1ac:iones. 1)e tnodo qiic new- sitamos (,char una mirada mas tlr cerca a estss interrrlacioncs y a (1116 significan intiiitiva- mtmte. En la mr:ilida en quc hagamoh t*sto iremos c1rs;lrrollando 10s mcdios para resolver cons~iltas mbs coniplejas. Este concrpto se explorarh rnis adrlante cSn rsta seccihn. Sere- mos m i s prwisos en la prhxima seccihn, tiorlde aplic*aremos estas itlcas para fo rn ldar (.on- sultas en TcxtQuer).

Cuando s r definicx-on los ol)jt.tos y las intt~rrt~laciones en (:I Capitulo 4. se (:ompara- ron los o1)jrtos con uom1)rc.s !. las intcmdaciones con verbos. Esto sugiere yue uti lrnguajr tt~xtual conio Tt:xtQuery s r astmrjr a l l rnguajr natural cn cirrto sentido. Esto se purile vet si analizamos la Figura 14.5. I,os nombres tle t-ada una dr las intcrrdacioues sugieren una rlirecci6iz para leer la i1~terrelaci6n. De 111c)c1o clue diriarnos

profesor ASESORA e s t u d i a n t e

no es lo mismo

e s t u d i a n t e ASESORA profesor

El nombre de la intcrrelacihn sugiere que la interrelacihn se lee d e PROFESOR a ESTUDI ANTE. Si~uilarmente tenemos

profesor TRABAJA-PARA departamento p r o f e s o r ESTA-ENSENANDO curso e s t u d i a n t e ESTA-MATRICULADO-EN departamento e s t u d i a n t e HA-PASADO curso e s t u d i a n t e ESTA-PASANDO curso departamento OFRECE curso

ninguna de 1as cuales tendria sentitlo en el orden inverso. Cada una d e las relariones es una oracihn en lenguaje natural en el formato

SUJETO VERB0 PREDICADO

clue e s t i en voz activa. Cambiando ahora el nombre de la in te r re lac ih y usando la voz pasiva podemos

invwtir sn clirecci6n en la mayoria de 1as instrncciones. De no do clue terlrmos

e s t u d i a n t e ESIASESORADO-POR profesor curso ES-ENSENADO-POR profesor curso HA-SIDO-PASADO por e s t u d i a n t e curso ESTA-SIENDO-PASADO-POR e s t u d i a n t e curso ES-OFRECIDO-POR departamento

como instruc~cionrs que muestran la dir~rr ibn inuersa para la lectura dr las interrelacio- nes. Se puede obtenrr tam1)iCn la direccihn contraria de la5 otras dos interrelaciones. rmombrando apropiadamentr el verho de la forma siguiente:

departamento EMPLEA profesor (EMPLEA s e r i a e l i n v e r s o de TRABAJA-PARA)

Page 471: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS AVANZADOS: SISTEMAS DE BASES DE DATOS ORIENTADOS A OBJETOS ...

departamento TIENE-MATRICULADO-A e s t u d i a n t e (TIENE-MATRICULADO-A e s e l reverso de ESTA-MATRICULADO-EN)

El nomlm dt, la illtima rt:laeicin (TIENE-M.ITRTCLILADO-A4) murstra qu r siempre p o h i i o s encontrar un nombrr yur invirrta la t l i reccih d r una interrelacihn. aun cuantlo r1 nurvo nomhre putlirra ser raro o no convrnirntr.

Po r tanto. el noni l~re q u r sc rscoja para una relacicin sugivrr una dirrccibn intui- tiva quc pe~.mit i r i q u r se vra w m o una srntencia en lrnguajr natural en r l formato SIJJKrrO-VERBO-OBJETO. Tam1)iCn podemos c r r a r un nomhre sustitutcr para catla rrlac%n que haga posilJt: su lectura c:n la direccibn opuesta. Se purtlt: diagramar esta idea ec t~~al izan t lo la Figura 14.5 para mostrar la t-lirrt:t:ihn de 10s nomhrrs de las rrla- cionrs. La flecha tIue precrtlr o sigue a cada nomhre de relati611 c:n la Figiira 14.9 indica c.sta direc~ihi i .

Es import;inte la dir twibn tle los nom1)rt.s de las rrlaciones para rrsolvw consultas qu r rrquieran la navegariim a travks de una st:rie de conjuntos de ohjetos y sus interrela- ciones. Deprntlirndo de las nrcrsidades d r la consulta. a vrcrs vamos a navegar en una tlirecci6n y otras vwcs lo haremos en la dirrccihn opiiesta. Por tanto, es muy importante la capacidad de ir en aml~as direccionrs. Piiesto qu r practicamentr c:ualqiiier consulta p e d e r rqur r i r extr t i p tle navrgacihn, estamos rstahleciendo ayui el esqiiema general para la solucicin de consultas.

Se nrcrsita hacer lo riiisnio para atrihutos qur lo qiie hacemos para las relacionrs. Recni:rtlese quc podemos interpretar los atribntos como interrelacionrs. Como vimos antes, podemos wea r frases de nombres y verhos para ellos incrustando el nomhre del atributo entrr ES DE. Poden~os invertir la tlireccibn del ncrlnhrr de la relaci6n atrihiito ponikndolr el pref'ijo TIENE a1 nombre del atributo:

PROFESOR 1 I

ASESORA 4 f ES-ASESORADO-POR

ESTUDIANTE ESTA-MATRICULADO-EN +-ASESORA-ESTUDIANTE

f HA-SIDO-TOMADO-POR

4 ES-OFRECIDO-POR

ESTA-ENSENANDO ES-ENSENADO-POR +

Page 472: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

p r o f e s o r TIENE-NOMBRE nombre p r o f e s o r TIENE-SALARIO s a l a r i o p r o f e s o r TIENE-OFICINA o f i c i n a

Finalmente necesitamos drrivar nomhres para las iriterrrlarionrs dr rspc~cializacicin. Snpongamos que tenemos nn conjunto llamatlo CURSO-MAT qu r consiste en todos los cur- sos ofrrcidos por el departamento de matemiticas. Luego CURSO-MAT es un siil)conjun- to d r CURSO. Sc nomhrarii a rsta cspecializacihn tle la interrelac-ihn como ES-UN (IS-4). ieste nornhre valr en amhas direccionrs! Esto es,

curso-mat ES-UN curso y cu rso ES-UN curso-mat

puedrn ser ambas vrrdackras. La primera c:s verdadera para todas las instanrias de CIJRSO-ML4T, mirntras qu r la segunda es vertladera shlo para algunas instanrias de CURSO.

Navegar sobre atributos e interrelaeiones

En la seccicin previa sr vio que 10s nom1)rrs clue sr usaron para ohjetos, atrihutos e intr- rrelariones prirtleri acondicionarie para h a w r mi9 lrgihle su int~rpretacicin romo senten- rias del lrnguajr natural. En esta srwi6n se mostrar i 14mo estas idras nos purdrn llevar a resolver cwnsnltas mlis cornplrjas en r l lenguajr de ronsulta TextQliery.

iCua les son 1 0 s nombres de 1 0 s p ro fesores que ganan $38.000?

Esta consulta, a1 igrial que la primera c-onsulta, rrquiere de datos que scilo se rncuen- t ran en el conjunto de ohjetos PROFESOR y tlos de sus atributos. Sin embargo, r n este raso, el salario shlo figura en la exprrsihn d r cal i f icarih, no en la lista resultado. La solu- cihn a esta consulta ilustra el principio de navegar a travks de interrrlariones y conjuiitos de ohjetos:

{ nombre : nombre ES-NOMBRE-DE p r o f e s o r AND p r o f e s o r TIENE-SALARIO 38000 )

Vamos analizar la primera solurihn emprzantlo desdr a t r i s y trahajando havia ade- lantr:

p r o f e s o r QUIEN TIENE-SALARIO 38000

Esta es una sentenria sohrr un profrsor que purcie evaluarse como verdadera o falsa.

Es verdadrra shlo para aquellos que prrtenecen a1 conjunto de ohjetos PROFESOR ' y que tienen un atributo SALARIO de 38.000, E w s mirmhros dr l proksorado ronstituyen un subconjunto d r PROFESOR (Figura 14.10). Vemos que hay dos profesores q u r ganan $38.000.

Para rxplicar el resto de la soluriOn de la consulta reescribarnos la rxpresihn de rali- ficariOn con parentesis:

nombre ES-NOMBRE-DE ( p r o f e s o r QUIEN TIENE-SALARIO 38000)

Esta sentencia es verdadera para un conjunto d r nornbres: (ADAMS, BROWN]. Los nombres en el conjunto se r in aquellos qur correspondan, bajo la in te r re la r ih ES-NOM-

Page 473: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

BRE-DE. con las instanrias tlr PROFESOR clue ganrn $38.000 (la clefinicihn en la illtima rnitatl tie la cwnsulta). Esto sr mwst ra cn la Figura 14.11.

Note c-uin rstret-hamrnte ~1 formato de la ~oluti611 en TextQurr) st' ~ o r r e s p ~ n d e con (11 formato tlr la consulta original.

C o n s u l t a U s u a r i o : L C u a l e s s o n 1 0 s nombres d e p r o f e s o r e s que ganan $38.000?

S o l u c i o n e n T e x t Q u e r y : nombre ES-NOMBRE-DE p r o f e s o r QUIEN TIENE-SALA- RIO 3 8 0 0 0

Pursto clue rstt" sigur rl formato de las twnsultas en Irnguaje natural. sr cfcr que tales solwiones est in rrl,forinato iilterrogatiuo. Sin embargo, usando un modrlo tie tlatos para visualizar rsta soluci6n traljajamos hacia cltrhs (backwurd). Esto se puede vr r en la Figu- ra 14.1%. Comrnzarnos con (.I atrihuto SALARIO y rnrontramos 38.000. Lucgo vamos a t r i s hacia PROFESOR para t:ncontrar aque1l;is instancias tle PROFESOR t p e "TIENE- SALARIO" clr 38.000. Drspubs continunmos vrndo a t r i s un paso miis hacia NOMBKE, usando ES-NOMBIZE-DE. Si st. p s i e r a jnnto a la soluci6n TextQurrv despuks d r esta visnalizaci6n. be pueclr rtthacrr el trazo de nuestros paws clue van de NOMBRE a travks clt. ES-NOMBRE-DE hacia PROFESOR y luego a travCs de TIENE-SALARIO haeia un SALARIO de 38.000. Esta vuelta atras (bucktrucking) sugirre que pueclr haher un forma- to alternativo clue rrf l r j r m i s clr wrca la solucibn que hemos visualizado en el diagrama. Podemos formulal. una soluci6n en este formato alternativo como sigue:

{ nombre : 38000 ES-SALARIO-DE p r o f e s o r QUIEN TIENE-NOMBRE nombre }

Page 474: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Yemos que el orden tle la expresihn de califiraci6n aqui tas ol~nesto a1 (1~1 forlnato interrogative. Ikh ido a que este segnncio formato est i tm una forma m i s tleclarativa s r le llama forrrrnto declnrativo. E s t i n amt~os formatos permitidos. Por lo tanto, en el dcsarro- 110 de solnciones en TtxtQuery a las ronwltas d e los nsuarios delw usar el formato que encuentrr m i s natural.

E n arnhos caws hemos simplificaclo la lista r r s ~ ~ l t a d o a justamente un nom1)i-e de varialjle, mitmtras que la expresiirn de calificaci6n hrmos hecho rrc:orridos a travk de 10s conjuntos de objetos y sus atrihutos via las interrelariones qne 10s enlazan. Los pronom- Iwrs relativos tales como QUIEN y QUE se usan cm estas expresiones para ailmentar la legi- hilidad. Estas son pulabrus iwutrus tan el sentido (lc qne est in presentrs en la cxpresi6n. pero no tienen efecto en su significatlo.

Veamos ahora tlos ejemplos m i s complejos que nos hrintlan mayor il~tstrac.ihrl clel concellto de navegacGm s o l m las interrelaciones.

Consul ta u s u a r i o : iQue p r o f e s o r e s t r a b a j a n p a r a e l departamento de I n g l e s ?

Solucion en TextQuery: { p r o f e s o r : p r o f e s o r TRABAJA-PARA departamento Q U E TIENE-NOMBRE ' I n g l e s ' )

Annque esta soluciirn responde. la consdta es inadecuada porque el conjnnto de miembros del profesoraclo t p e se ha creado no be puedr desplegar en un dispositiro de ball- da . Si queremos producir una soluc*i6n humanamente legihle, dehemos c r ra r nn conjunto de valores d r atribntos que sea legible. Por lo tanto, c.amhiamos la soluci6n por:

{ nombre : nombre ES-NOMBRE-DE profesor QUIEN TRABAJA-PARA departamento QUE TIENE-NOMBRE ' I n g l e s ' )

En un formato tleclarativo. la soluci6n es:

{ nombre : 'INGLES' ES-NOMBRE-DE departamento QUE EMPLEA p r o f e s o r QUE TIENE-NOMBRE nombre )

En la Figura 11.13 se muestra el conjunto de solucihn p a r a esta consulta.

Brown

DEPARTAMENTO

Page 475: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS AVANZADOS: SISTEMAS DE BASES DE DATOS ORIENTADOS A OBJETOS ... 46 3

Consulta de usuar io: iCua les son 10s nombres de pro fesores con 10s que es ta tomando c lases K e l l y ?

En f o r m a t o i n t e r r o g a t i v o :

{ nombre : nombre ES-NOMBRE -DE p r o f e s o r QUE -ESTA-ENSENANDO c u r s o QUE ESTA-SIENDO-TOMADO-POR e s t u d i a n t e QUE TIENE-NOMBRE ' K e l l y ' }

En f o r m a t o d e c l a r a t i v o

{ nombre : ' K e l l y ' ES-NOMBRE-DE e s t u d i a n t e QUE ESTA-TOMANDO c u r s o QUE ESTA-SIENDO- IMPARTIDO-POR p r o f e s o r QUE TIENE-NOMBRE nombre I

En la Pigura 14.14 se muestra el (:onjunto solucibn. La Figura 14.14 rro muesti-a ]as instanvias d r los cursos qur ICelly e s t i tomando. pero

d r 10s cjrmplos antrriorcs delwria ser fivil visualizar (pi. est i pasantlo acjui. El nombre 'ICclly' e s t i conrctado a la instancia d r rstudiantc* que t i w e esr nombre. Esta instancia d r rstudiante est i a su vez conectada con rl ronjunto dv c-ursos clue ICelly es t i tomando. Catla uno d c estos cursos rstii conectado con rl I,rofrsor c p t ' c s t i enseiiando el curso y el profe- sor c ~ i i conectado con su nomhre.

1nc.itlcntalmente esta cwnsulta nos da un rjrmplo dr utilizacibn de un conjunto de ohjetos ahstracto (CURSO) sin usar ninguno de sus atrihutos. La soluci6n a la cwnsulta no r s itlmtificar, por rjrmplo, el nilmero prrviso d r cursos clue Kelly e s t i tomantlo con vistas a idrritificx con q o t profrsorcs e s t i pasando rui-sos Kelly. Es suficiente w a r las instancias de (wrsos en su forma abstracts (sin atrihutos).

PROFESOR

Parker =) Hinman

Kelly

ESTUDIANTE

Page 476: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

Asignar nombres a 10s conjuntos derivados

Los conjnntos soI11ci0n rrsultantrs 11c las consnltas qu r han sido ilustratlas f w r o n deriva- (10s dr l uso de 'kxtQuery. ,A nirnudo tales twnjnntos son iltiles por si mismos. Podrianlos, ['or ejemplo. encontrar twnvrriitmtr o inis rhpido m a r estos conjuntos dcrivados r n otras consnltas TextQncry sin t rnr r clue derivarlos tle nurvo. Podrmos hacw esto si siniplrmen- t r asignamos un nomhre a1 twnjnnto derivado mrdiantr rl c u d potltw~os referirnos n 61 mlis atlelante. Por ejt.mplo, si qnrrchmos itlentifitw el conjunto d r todos 10s rnrsos d r matrmh- ticas. 1)otlrnwsasignarle rl noni1)re CU KSO-MAT a1 conjunto apropiado tal y con~o sigur:

CURSO-MAT := { curso : curso ES-OFRECIDO-POR departamento QUE TIENE-NOMBRE 'MAT' )

Este rjemplo ilnstra qut. 10s nomtwes se asignan ponientlo primero el nomhrr dt.1 conjunto, srguitlo tle ":=" y luvgo d r la definicih TextQuery dr l conjunto. El simholo ":=" 1)1w(le leers? como " es rl nomhre qu r se le asigna a".

Expresiones ealificadas de eomparaeih de conjuntos

ilgunas consultas se purdrn rrsolver utilizando cxpresiones tdifit*atlas que involucran la ron iparac ih d r conjuiitos. Considtw la ronsulta:

Consulta usuar io : iQue e s t u d i a n t e s han tomado todos 10s cu r sos que s e han o f r ec ido por e l departamento de matematicas?

Esta consulta sr rrsurlvr g~mc:rar~do el twnjunto d r cursos ofrrt:iclos por el drpartu- mruto dv matrtnitit:as y luego, para vada rstntliante. comparando rs r c:onjnnto con el con- junto d r twrsos clue el t:stntliautr ha tomado. Si el conjunto de todos 10s carsos de mate- miticas esta c o n t e r d o en el conjunto d r 10s curses del estudiante. rntonws rs qne rl estntliante ha tornado tcrdos 10s cursos d r matrmiticas y su nonihrr sr pond r i (.II el toll-

junto soluti6n de la consulta. Il'urstra soluci6n TrxtQucry ronsta de t rrs pasos 1; utiliza la f'arilidad d r asignar nomhrcs a 10s twljuntos derivados:

Solucion TextQuery:

CURSO-MAT := { curso : curso ES-OFRECIDO POR departamento QUE TIENE-NOMBRE 'MAT' )

ESTUDIANTE-DE-TODAS-LAS-MAT :=

{ e s tud i an t e : CURSO-MAT I S - C O N T A I N E D - I N SET-OF ( cu r so QUE HA-SIDO-TOMADO-POR e s t u d i a n t e ) )

NOMBRE-ESTUDIANTE-DE-TODAS-LAS-MAT : = { nombre : nombre ES-NOMBRE- DE e s t u d i a n t e AND e s t u d i a n t e I N ESTUDIANTE-DE-TODAS-LAS-MAT )

Estos tres pasos se pnrden explicar ccrmo sigue:

1. El primer paso drfinr CURSO-MAT, el twnjunto tle todos 10s cursos tlr matemi- ticas y es idCntico a la definicih tle CURSO-MAT (pie s r dio en la secri6n anterior.

2. El segundo paso define ESTUDIANTE-DE-TODAS-LAS-MAT, el ronjunto d r estutliantes que han tomado todos 10s cursos de matemitiras r inclnye nna n o t a c i h no familiar que se explicari a continuaci6n.

Page 477: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS AVANZADOS: SISTEMAS DE BASES DE DATOS ORIENTADOS A OBJETOS ... 465

Rrcwerclr que para cada estudiante queremos comparar el c-onjunto dr 10s cnrsos de matemiticas -CURSUS-MAT- con el eonjunto d r 10s cnrsos clue ha tomado (a1 estudian- tc. En el paso 1 sc: tlefinii) el conjunto d r 10s cursos (le niatemitiras. i,C6mo ciefinimos el conjunto de eursos tomado por cada estudiante en particular? Esto sr haw con la cons- trnccibn:

S E T - O F ( c u r s o QUE HA-SIDO-TOMADO-POR e s t u d i a n t e )

Esta construrcihn SET-OF se usa para grnrrar el conjunto de cursos que han sicio tomados por el t-stutliante p a r t i d a r que es t i sientlo evaluaclo por la consnlta. Por rjem- plo. si el rstudiantr es Ann, entonces esta construccihn es equiva1c:nte a:

{ curso : curso HA-SIDO-TOMADO-POR 'ANN' }

Este es un ejrmplo d r un conjunto generado dinrimicnm~nte. Esto es, se genera un conjunto difrrrnte para cada valor de la variable estudiantr. ill ejecutar la consulta, la construccibn SET-OF grnerar i un conjunto para Mary, un conjunto para John, un con- junto para ,4nn, un conjunto para KrIly y un conjunto para Roger.

En el paso 2 , el sistema rvalua cada estudiante en ESTUDHNTE comparantio cl conjunto CURSO-MAT con el wnjunto clr cursos tornados por c.1 estudiante, usando el operador de comparacibn IS-CONT-4INED-IN, Si rl conjunto completo de cursos de mate- miticas es t i contrnido en el conjunto de cursos del estucf ante, entoncrs la expresibn de calificacihn clue usa el operador IS-CONTAINED-IN se evalia como "verdadero". En ese caso se seleceiona el estudiante para incluirlo r n el conjunto ESTUDIANTE-DE-TODAS- LAS-MAT.

3. NOMBRE-ESTUDIANTE-DE-TODAS-LAS-MAT nos (la 10s nomhres de 10s rstuciiantes clue hau tomado todos 10s cursos de matemiticas. Se podria haher evitado vste paso anipliando la expresihn cle califiracibn del paso 2 para incluir estr paso de exprrsibn de c.alificacii)n, p r o csto huhiera complicado el paso 2 y tlificnltado su c.omprensi6n. Po r la misma razbn hrmos roto el paso 1 como un paso separado. Por tanto, se puedr vr r que la facilidad dr asignarle nomlr rs a 10s conjuntos clrrivatlos perniite descomponer la solu- ciOn d r la consulta rn una serir de pasos. Esto hace al proceso mi s simple y ficil de ma-

dplicando mta consulta a la base de datos de nurstro ejemplo y usando la informa- rihn de la Figura 11.7(c) y 14.7(e). vrrtios clue Roger es el hnico es~utliantr clue ha tomado todos 10s cursos de niattmiticas. Por tanto. la respursta a la consulta es { ROGER}.

El inverso del operatlor IS-CONTAINED-IN es el oprrador CONTAINS. Silo hubii- semos usado en r l rjemplo preredente, el paso 2 de la solucibn hubirsr sido:

ESTUDIANTE-DE-TODAS-LAS-MAT : =

{ e s t u d i a n t e : S E T - O F ( c u r s o QUE HAN-SIDO-TOMADO-POR e s t u d i a n t e ) CONTAINS CURSO-MAT }

Veamos otro rjrmplo.

Consu l ta u s u a r i o : iQue e s t u d i a n t e s han tomado cada uno de 10s cursos o f r e c i d o s por e l departamento en e l que e s t a m a t r i c u l a d o ?

En r1 problema anterior coniparamos cada conjunto de cursos tle un estudiantr con un conjunto fijo de cursos (CURSO-ML4T). En estr problema debemos coniparar los cur- sos d r cada estudiantr con un conjunto cle cursos que varia por cada estudiante, puesto que el departamento en r l que r s t i matriculado varia de un estudiante a otro.

Page 478: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

So luc ion TextQuery: ESTUDIANTE-DE-TODOS-LOS-CURSOS := { e s t u d i a n t e :

SET-OF ( c u r s o QUE HA-SIDO-TOMADO-POR e s t u d i a n t e ) CONTAINS SET-OF (curso QUE ES-OFRECIDO-POR

departamento QUE ESTA-DIR IGIENDO-ESTUDIANTE e s t u d i a n t e ) }

Estc: cjernplo rnnestra qucS se ~ ) u r d e n cornparar (10s conjuntos clue han sido genrra- (10s dinimicarnente. P o r supuesto? esto sOlo nos da los estudiantes, no sus norn1)rrs. K1 (*on- junto de noml~res s r obtirne cle la inisma forma q u r s r h i m en la consulta anterior.

Conectores booleanos

E n cl primer rjernplo de TextQurry st. us0 el corzector boolearro ( o lbgico) AND t:n la rxprr- sibn d e calific:ac.ii,n. Las cxprrsiont.~ de calific*acihn para las otras consultas sc: consitlera- ron ntbrnicc~s en el sentitlo tle q u r rstahan constituidas por rxprcsiones simples no cwrwc- tadas por ningiln AND, OR o NOT. Como en la mayoria d r los lenguajes de computadores, TextQuery nos permitr wm1)inar exprc:siones d r calificacihn at6micas usantlo 10s conecto- r r s 1)oolranos. Ademis sea pueden w a r parbntrsis para agrupar las exprrsionrs y tdirninar amhigiiedac1rs. Esto It* (la a TextQnery una mayor potencialidad.

Consul ta usuar io : iQue e s t u d i a n t e s es tan r e p i t i e n d o c l a s e s ?

So luc ion en TextQuery: ESTUDIANTE-REPITENTE := { e s t u d i a n t e : e s t u d i a n t e ESTA-TOMANDO curso

AND e s t u d i a n t e HA-TOMADO curso )

Kec~ortlernos que la varial~lv curso en esta expresihn tle calificaci6n tieuc el rnismo valor a lo largo de la e x p r e s i h . Esto es. el significado d e curso en

e s t u d i a n t e ESTA-TOMANDO curso

e s t u d i a n t e HA-TOMADO curso .

El conec,tor hooleano AND, que h a s ~ d o usado aqui para juntar (10s expresiones ath- micas, significa yuc la expresi6n de calificaci6n como un todo es verdadera para un estu- diante y un curso shlcr si nrnbos

e s t u d i a n t e ESTA-TOMANDO curso

e s t u d i a n t e HA-TOMADO curso

son vertladeras. Como antes, s r nrcesita otro paso para obtener 10s non~l,. res de 10s rstudiantes. Para

mantener simple esta presentaci611, omitiremos este paso a lo largo d e esta secci6n.

Consu l ta usuar io : iQue e s t u d i a n t e s ban tornado o e s t a n tomando un curso de h i s t o r i a ?

Page 479: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS AVANZADOS: SISTEMAS DE BASES DE DATOS ORIENTADOS A OBJETOS ...

{ e s t u d i a n t e : e s t u d i a n t e HA-TOMADO c u r s o QUE ES-OFRECIDO-POR depa r tamen to QUE TIENE-NOMBRE 'HISTORIA' OR e s t u d i a n t e ESTA-TOMANDO c u r s o QUE ES-OFRECIDO-POR depa r tamen to QUE TIENE-NOMBRE 'HISTORIA' )

Una segunda versihn mris simple cwa el subconjunto l~istoria de CURS0 y Lisa el operador IN.

CURSO-HISTORIA := { c u r s o : c u r s o ES-OFRECIDO-POR depa r tamen to QUE TIENE-NOMBRE 'HISTORIA'}

ESTUDIANTE-HA-TOMADO-HISTORIA : = { e s t u d i a n t e : ( e s t u d i a n t e HA-TOMADO c u r s o AND

c u r s o I N CURSO-HISTORIA) OR ( e s t u d i a n t e ESTA-TOMANDO c u r s o AND

c u r s o I N CURSO-HISTORIA ) )

Aqui el operador booleano OR se interpreta para llacer la expresihn de calificacihn verdadera bien coantlo sea verdadera la primera parte o la segunda parte (o ambas) de la expresibn de calificacihn. TarnbiCn usamos AND en cada parte, por lo que agruparnos las partes entrr parSntcsis para prevenir ambigiieclatles potenciales.

Consu l ta u s u a r i o : LQue e s t u d i a n t e s asesorados en matematicas a h no han tornado un curso de matematicas?

CURSO-MAT := { c u r s o : c u r s o ES-OFRECIDO-POR depa r tamen to QUE TIENE-NOMBRE 'MAT' )

ESTUDIANTE-HA-TOMADO-MAT := { e s t u d i a n t e : ( e s t u d i a n t e HA-TOMADO c u r s o AND

c u r s o I N CURSO-MAT ) OR ( e s t u d i a n t e ESTA-TOMANDO c u r s o AND

= c u r s o I N CURSO-MAT ) )

NUEVO-ESTUDIANTE-MAT : = { e s t u d i a n t e : e s t u d i a n t e ESTA-MATRICULADO-EN depa r tamen to QUE

TIENE-NOMBRE 'MAT' AND e s t u d i a n t e NOT I N ESTUDIANTE-HA-TOMADO-MAT )

La iltima linea de la expresihn de calificacihn podria haber sido escrita:

AND NOT e s t u d i a n t e I N ESTUDIANTE-HA-TOMADO-MAT

Es decir, el NOT se puede meter dentro de la parte athmica de la expresi6n para negar el efecto del IN. o puede ser parte del conector booleano AND para negar la expre- sihn athmiea completa. El NUT tarnbih se puede aplicar a otros operadores de compara- cihn (CONTAINS, IS-CONTAINED-IN, <, >, = ).

TextQuery proporciona un medio simple, elegante y natural de extraer 10s datos de una base de datos orientada a objetos. Es similar a muchos lenguajes de programacibn tradicionales que usa la representacihn textual de 10s datos, las variables y las senten- cias. Tiene tambidn una atractiva conexihn con el lenguaje natural, puesto que 10s con- juntos de objetos y las interrelaciones sobre las que opera se modelan como nornbres y verbos '.

' Aqui el lector hahri notado una combinacibn de terminns en i n g k del TextQuery con nombres y ver- hos del espafiol. Para sentir mis aim esta conexibn del TextQuery con el lrnguaje natural tendriamos que tener un TextQurry para el espafiol (N. del T.).

Page 480: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACI~N DE BASES DE DATOS

sisteina ha3ado en c1 c ~ o n o c i ~ ~ ~ i e n t o . o t r a Sor~ua tlc nombrar a un sistenia de base de t ~ o n o c i ~ n ~ t ~ n t o ~ .

sistema d e gestiotl tie base ile conocin~ientos. Sistelna de software clue

Introduccih a 10s sistemas basados en el conocimiento

El clc~sarrollo de los sistemas tlc I~ases tle datos inirialniente rstnvo motivatlo por la nrwsi- dad t\r un almat:cnamiento rficientc y tle recnperar grandes cantidadcs d r t\if'errntt.s tipos tle clatos. En la medicla tw que s r ha ido 1)rogresantlo vn el rumplimirnto de rstos o1)jetivos. ha ido surgicntlo uii interks 1)aralrlo en extender la potenrialitlad tle 10s sistemas tie I m e s dt: clatos, clc moth que inc*luyan rr$as que opc.ren sohrt: los herhos (dator;) a l m a c w d o s , permiticmdo inferir otros hechos (datos). Esta es una prrspectiva cw*itante. 11ncsto que la incorporarihn tit: tal exl)resivitlad en un sihtc*tna d r base d r clatos eleva sus c a p a d a d e s para servir a las nrcesiclades d r informacihn a otro nivc.1.

Il~c*orporar rotiociiiiiento en un sisteina d r hsc: tle clatos fnc sugeritlo por 10s desa- rrollos csn el camp0 tle la inteligencia artificial (IA), que es t i dctlicada a1 rstutlio d r cbmo p r o p m a r c:o~l~portamirnto inteligmtc.. La invt-stigacibn en 1.1 inc.lnyc cstudios sohre la represeritati6n tlr rvglas IOgicas que operan sohrr 10s tlatos. l,os sistenias expertos son un t i p espt.c:ial clr clcsarrollo en 1-4 qne h~is(.a representar Ias rrglas y 10s procwliniic.ntos qnr usan 10s rxpcrtos para resolver prol)lcn~as en n n dominio particular tlr prol)lrmasl tal romo la n~cdicina, la rel)aracii~n dt: motores, (:I diseiio por coinputador y otros. Tales siste- mas d twansan s o l m nna base tlv conociniicntos para razonar sohre conjuntos d e ilatos.

Aunt~rw 10s estudios tle 10s sistertias exl~ertos han estaclo fuertementc iiif1uent:iados por 10s mktotlos clc rr1)resentacihn tlcl conot*irniento usantlo reglas lhgicas. los sistcnias c-xpertos no son siste~uas hasados (xi el c:onotiniiento porqur no ofrcsc.en todas las rapaci- tlades clr gestihn (I(, tlatos clc un SCBD. ['or t.jcmplo, PROLOG, clue es un leugnaje p111n1- lar d r sistemas rxyrrtos. yodria verse conlo que proporciona u n pnrntr, natural r n t r r los sistemas de 1)ast.s d r datos y los sistc.mas 1)asatlos en el conorimiento, ya que PROLOG estL hasatlo en r l c.&lculo tit, prtdic.atlos y siis predicados pueden vrrsc como re lac io~~es . 'I'aiii- 11i~r1 tiene la rapat:idad d r expresar la 16gira t p : puede usar una persona para ronvertir h e t h ) s en la base d r tlatos c ~ i informachion de ayucla a la toma d r det:isionc.s. No ol)sta~itc. las vwsiones actualrs dt. PROLOG no ofrcc~w el rango necesario d c capei t lades tie los SGBD -taltss conlo el procesaniicnto dr transaecioncs, la srgiiritlacl y la rrcilprracihn. 4. la gcsticin tlcl almac~enaniirnto secundario- que rc:clurriria n n sistrma hasatlo en el rot1oc.i- miento. DrlTALOC: y 1,ogic:al Data Language (LDL) ' son versiones extrnditlas d r PROLOG qne estfhn en tlesarrollo y clue atiendvn rste prohlenia.

C o n ~ o el estudio de 10s s is t rn~as hasados r n 01 ronocimicnto es nuevo, hay l~ar ias dtbfi- t1iciont.s rrlat:ionatlas con csto qur a h no lian sitlo tlefinidas -un prohlcma t p e purt l (~ os rurwer una tlisc.usi6n sol~rca 10s sistcmias 1)asatlos en el c.onoc:iniiento-. P o r rjrmplo, algunos aatores usan cl tkru~ino sisternas basados e n e l ronocilniento (knou:lrclge based systems), mientras clue otros dicen sistemas d e base de conocin~ientos (knowledge-buse systems). Aml~os tkrminos han sido ampliainentr utilizados para representar el misnio tema. Hrmos srguidcr el ejenlplo d r Ullinan (1990), quieri ha sitlo una figura i)ronlinrntr en el drsarrt)llo tlr 10s concrptos tie los sistrmas d r base d e cont)c.iniientos.

P a r a a d a r a r este tkrmino. varnos a ofrecer una clrfinici6n de t r a l ~ a j o tie un sistemu tie base de conocirr~ien~tos SBC (kno~clrdge base system KBS) como siguts:

1. Una l ~ a s r de tlatos d e hechos basicos, conlo 10s d r un sistenla d e base clc datos. 2. Una base de clatos de reglas que permiten hacrr drdncciones a part i r cle 10s

hechos clue es t in en la base d e datos. 1

solwrta el rango usual de 3. Un software llarnado s i s ten~a d e gestibn d e base d e ronocin~ientos (SGBC) }lqur las fnnciones de los SGRD, soporta las funciones usuales tle 10s SGBD, asi conlo la grstion d e procrsos deduc- asi romo gestiona el tivos tle las base dr datos tle reglas que operan s o l m la base tie datos d r hechos. p r w e w detlnctivo de la I~asc de reglas clue opera s o l ~ r r la base de heclios. ' Lmguaje de da~os lbgico ( N . tIeI T.).

'I Conocidn en inglGs por la +is KUMS (Knowledgr Base Mnnagerncv~t System) ( N . dcl T.).

Page 481: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS AVANZADOS: SISTEMAS DE BASES DE DATOS ORIENTADOS A OBJETOS ... 469

conocimiento estructural. Conocimirnto sohre depcndrnrias y restrirrionrs rntrr 10s datos.

conociniiento general procediinental. Conocimirnto que d o he puede ctescrihir por un procdimirnto.

conocimiento especifico de Ia aplicacibn. Conocimirnto yue sr drtermina por las reglas y lab convmciones clue sc aplican a un dominio especifico ctc prohlema.

conociniiento de direccibn-empresa. conocimiento qur ayuda a una empresa a tomar decisiones.

4 u n t p . hay \arias definiciones ligrramente difrrrntes rn la literatura. pensainos qur la drfinitihn anterior recoge las ideas esencialrs.

En la actualidad hay un numero de ireas activas de desarrollo de los SBCC. Se ha diseiiado hardware para mrjorar la velocidad (*on la que razonamos (.on las rrglas. Se han desarrollado m6todos para el mantcnimirnto automitico de la integridad sc.rn2intic.a d r las hases de conocimientos usando reglas expresadas en lenguajes hasados en la lbgica formal. El 1150 dc la lbgica para expresar y razonar con el conocimiento, involucrando la incerti- dumhre, las suposiciones y rl tiempo, est& siendo estudiado y refinado.

En ]as secciones signientrs nos extenderemos en algunos tlr eitos temas. Primero examinarrmos rl cwnwpto de conocimiento ) chmo sc relaciona twn lai haws tle datos.

Conocimiento y bases de datos El amplio Pxito de los sistemas de hases de datos, comhinado con las ncccsidatlrs de grstihn de informac.iOn y 10s desarrollos que han emanado del estudio de la intrligencia artificial. han dado como resultado un inter& crecientr en extender los sistemas de 1)ases d r datos a sistcmas de base de conocimirntos. Esta es una transicihn a altos niveles de ahstraccihn de la informaciOn, Por ejemplo,

E l vendedor S m i t h r a d i c a en Los Ange les

('s un hecho tipico que se puede mantrner en una haw de datos. Hay una pequeiia dificul- tad para pensar en rsta informacihn rn tbrminos tle r6mo podria estar contenitla en una tupla rdacional:

vendedo r (Smi th , Los Ange les , . . . )

Por otro lado, informacihn como

E l vendedor S m i t h es un s u m i n i s t r a d o r d e p e n d i e n t e

no es precisamrnte un hecho, pcro represrnta una alta forma de informacihn. Tales formas d r informacihn a menudo dependen tlr interrrlariones lhgiras entrr 10s hechos de la haw de datos. Por ejrmplo, un " vendedor dependiente" puede identificarse a partir de las inte- rrelaciones entre frchas de hrdenes y fechas de envio, asi como t a m h i h como emharques parciales y completes. Ser capaces de especificar tales interrelaciones eleva la utilidad de la base de datos hasta tlonde se puede usar el conocimiento para definir, controlar e inter- pretar los datos cjue ksta mantiene. Qui. significa rsto se resume cn la taxonomia siguiente desarrollada por Wiederhold (1984):

1. Conocimiento estructural es el conocimiento sobre las dependrncias y restric- ciones entrr 10s datos. Por ejemplo, la "insercion en la rrlacihn CLIENTE depende cte estahlecrr qur el cliente tenga un huen crCditon.

2. Conoci~niento general procedimental es el conocimiento que s6l0 puede ser descrito por un procedimiento. Por ejernplo, " haga corresponder el total de producto ordenado con el total de producto recihitlo para autorizar 10s pagos".

3. Conocimiento especifico d e la aplicaci611 rs el conocimiento que esta determi- nado por las reglas y convenios que se aplican m un dominio de problerna en particular. Por ejernplo, "determine el plan de mrnor-costo para dos sernanas de vac:ac:iones en IIawai".

4. Conocimiento direcci6n-empresa es el conocimiento que ayutla a una empresa a tomar decisiones. Por ejemplo, un fabricante de alirnentos ligeros integra informacih sohre 10s costos, las ganancias, las ventas y 10s productos competiti- vos para auxiliarse en la toma de decisiones estratkgicas.

Page 482: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

El conot : i~n i t~~to que existe cn 10s sistemas ch: 1)asrs tlr tlatos analizados t w l anteriori- clad a rs t r capitulo es t i constitnitlo por hechos e instanrias clue r s t in almacenados eu las rrla- ciones. Esto sr conow como ronociiiiento e n extenso. El twnocimiento que s r tlefinc. ~ n i s alli drl cxmtrrlido tlr hvchos de la hasc cle clatos. usualincnte mettiante nirc*anismos lhpjcos. sr tlenonlina euriocnnielito e n intenso. La mayoria de los sistemas dv 1)ascs de coilociii~ientos t p e rs t in m tlcsarrollo almncrnan conociiilirnto eu intenso en la forma rlr rrglas 16git.a~.

Ac:laremos rhtas itlras con n n ejen~plo. Examine la Figura 14.15. Nurstra hasr de tlatos consiste tle una i111ic.a talda, PAIITES, tpr contiene el a t r i l~u to SIJRPAliTE !. PAIR- TE. Podemos rrcnperar los nom1)res tie todas las partrs. 1)ara la cnal250 sea una snhpar- tt. riiediantr la consulta del (.iilciilo relational:

Esta sintaxis rs s6lo ligcrarrwntr d i f (wnte de la quc' hcmos visto prt>\iamcmtr \. 5e intcrprr ta d r una forma familiar. En espaiiol podria Irt*rse corrlo "De la rc4atiOn P4RTES rwulwrar todas las tuplas que tiruen el valor 250 r n la columna SUBPARTE, lurgo asig- uar el baler correspondicnte d e P-1RTE a la variahlv X y alrrlacenar r l \ alor de X conlo una tulda rri la r e l a c i h GET''.

En rste ejemplo, 10s valorrs resultantes para X son 300 j 315.

PARTES = SUBPARTE PARTE

Llcvando la iufornlaci6n cle rsta c.cmsulta un paso m i s adelante, vrmos qut' la par te 300 tle la cual 250 rs una suhparte. rs a su vez una suhparte de la part? 324. Esto se pne- tlr v r r i n s p r t ~ i t ) l ~ a n d o la rrlacihn P.4RTES. Por transitividad, entoncrs. 250 rs taiii1)itn una suhpartr tlr la par t r 324 y por lo tanto la par t r 324 drheria rs tar prol)al)lrliicmte en la solucihn d r la cwnsuha. l,hgic:ali~rnte, esta transitividad entre parte y suhpartr podria seguir y- seguir, p r o cm rstr rjeinplo d r PARTICS hay sOlo do5 nivrles d r su1q)artes. Sin rulhargo, rsto basta para apreciar que seria c:onveniente si pudibramos escrihir urla con- snlta para r n w n t r a r todas las partes para la ma1 una parte dada es una suhparte prilniti- va (segundo nivel). (Por ejrmplo, la par te 250 c:s una suhparte primitiva tle la pai~Lc. 324.) lJna alternativn rs aiiadir una tahla clue rrlacione las partes p sus suhpartrs priti~itivas, tal romo se ilustrn en la Figura 1.16. La consulta para cncontrar las par trs para la t.ual la par- te 250 es una subparte primitiva tSs

KI rrsultado es 324 y 330.

I PARTES-PRIMITIVAS = PARTE PRIM PARTE I

Page 483: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS AVANZADOS: SISTEMAS DE BASES DE DATOS ORIENTADOS A OBJETOS ... 47 1

Drsafort~inadamrntr, la tahla PAKTES-PRIMITIVAS contirnr tlatos redundantrs, esto rs. datos quv ya r s t i n dispor~iblrs en P-ARTES. Esta s r drrivb th! la tabla PARTES, usando nuestro cwnocimicnto d r qutb una s ~ h p a r t r primitiva es una su1q)ai-t~ de segundo nivrl. Construir tahlas rspeciales para responder a cada nrcesidad imaginablr de informa- cihn srria muy incficirntr. Es mrjor si s6lo tenrmos clue darle a la base datos una rrgla clue esta1)lrzc.a las interrr1ac:ionrs drsradas y oprre dirrctamentr sohre la hasr de datos rxtrn- sional original. Este rs precisamrntr el t i p cle capacidad que s r consigur con nn SBC.

Volvirndo a1 ejrmplo, sea PARTES la hase dr datos r n rstenso. S r define entonrrs la h a w dt, datos en intenso como

PARTES-PRIMITIVAS(X, Z ) : - PARTES(X, Y ) AND PARTES(Y, Z )

Esto se purtlt. leer como

En la rrlaci6n PARTES-PRIMITIVAS , 9 es una subparte primitiva de Z [P-AR- TES-PRIMITTVAS(X, Z)] si (:-) en la relaci6n PARTES, X es una subparte de Y [PARTES(X.Y)] r Y es una subparte de Z [PARTES(Y.Z)]

tlrmos delinitlo simplrmente una regla para operar sobre la tabla PARTES para recllprrar informaci6n sohi-t. las s u l p r t e s primitivas. Ahora podemos rscrihir una con- sulta simple para rwuperar la informaci6n drsrada de PAKTET:

El rcwltado es d r nurvo 324 y 350 y se ha rliminatlo el problema tie estar mantr- nirndo datos redundantes.

[[no put& imaginarse lo trdioso qur resulta nn sistema en el clue tales consultas se satislagan creando ta l~ las separadas, tales como PARTES-PRIMl'rIVAS. La forma r n intrnso prrmite la esprcif icacih d r 10s rnismos datos, pero dr forma comparta: Se reduce la redundaneia y se ahorra espacio tlr almacenamirnto.

Para ilustrar mas los conceptos fnndamentalrs y darle a1 lrctor conocimirnto sufirien- t r para tjur llevr a caho por sus propios medios rjrrcicios y proyrctos. vamos a introducir un lrnguajr tlr implemcntacihn 16@ca. Los conceptos tlr ltmguaje qur sc presentarin son simples y p roprc ionan una via concrrta y lkil d r transici6n da 10s rjrmplos que s r han discutido a aplicaciones n ~ i s amplias. Sr h a rscogido PROLOG, m a implrmcntaci6n tlr las mismas itlras dr l c:tilculo relational q u r estlldian~os antes, q w tamhibn inclnyr capacidades para cre- a r rcglas c p r o p e n sobre 1)asrs de datos en extenso. Mas a h , PROLOG forma la lmr para algunos d r 10s lcnguajrs d r SBC que se est in drsarrollando, talcs como DATALOG y I B L .

h n q w la mayoria clr las versioncs d e PROLOG usan nna notaci6n n ~ i s o menos rs t iudar , purdrn aparrcer algunas pequrfias diferencias. Usa~nos m a forma general.

Representacibn del conocimiento con reglas En esta scc-ci6n rlaborarrmos 10s mrcanismos para expresar l6gic:;r con reglas. Descriljire- mos la siutaxis cle las rrglas hasicas y daremos un rjemplo general de coml)inaci6n de las reelas r n las r s t r a t e i a s d r evalnaciim con encaclenamiento hacia atras (bnckuard-chai- ning) y (.on ent-aclcnamiento hacia adrlaute (forward-chaining). Luego se presentarii la rxpresi6n ck las rrglas en PROLOG.

Formaci6n de reglas

Las reglas son un mbtodo muy iutuitivo de representar el conocimiento. Confiamos en la intuicihn del lector en la interprrtaci6n d e las reglas que ilustramos en la disrusi6n ante- rior, a su vez tam1)ii.n pd rL probablemente escribir algunas d e sus propias reglas a1 estu- diar dichos ejrmplos.

Page 484: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

encadena~niento hacia detras. Una cadena 1ipic.a rlr rrglas clue \an dr m a ronclusi6n a m a hipltcsis.

encadenamiento hacia clelante. Una catirna d r regfas clue van tle una hiphtrsis a una ronclusi6n.

l lna regla estli constituida por una hiphtcsis y nna eonc:lusi6n. Si sr satisfare la hip0- tcsis entonces se purde inferir una conclnsihn. Por ejrmplo. "Si fJ rs un perro (Itipcitesis), entoncm 1) tierw cuatropntns (cortclusibrl)". La conc:l~~sii,n tamhibn pntdr scr m a ac.ciOn, como r n el caw, "Si lnfiebrc? estri ncornpr~indn cle unn congestirin (hipcitesis): debiera irsc? (1 cer a1 rrikdico (t~or~c1zisicir~-acciort)".

Reglas simples como Gstas a menudo no son iltilrs si no sr coml)inan con rs tprmas mas r ims d r representacihn tlel conoeimiento. Hay dos mi:todos grnrralcs tlr conhinar las rrglas: ITno rs el enc:adrnamicmtt, haeia adalante (forward chninirlg) y la otra es r l enc*atlr- namirnto hacia atrlis (bnckzcnrd chaining). Para rxl~l icar rstos conceptos usaremos m a analogia muy simple.

Piensc: en un vurlo drsdr Salt Lake City hasta Bangkok coma en un twnjunto tlr reglas en las qu r Salt Lakt: City es t.1 punto tlr partida y Bangkok rs c.1 punto de destino. La deciuccihn. qu r conhina las rrglas, se ap1ic.a a la tarca tlr en(-ontrar los vurlos quc concr- ten las ciudatles.

No hey vuelos dirrtstos entrr Salt Lalir City y Bangkok. Lo ijnc dehemos flawr es rxaminar el lihro de r rn ta (.on (4 cronograma que drscrihe todos 10s vuelos y t ratar dc rncontrar los vnelos clue conecaten. Qur vayan? ciigamos, a 10s Angrlrs, 111rgo a Honolnlil. Iurgo a Tokio y luego a Bangkok. En(-ontranlos, por ejrmplo, qu r hay varios vuelos lle- gando desde Tokio. Cada segmento (It% Ilegada destle m a rindad hast;] Banglioli purtlt. Ie r - se r o ~ n o una rrgla. De rnotlo quc

genera uua lista de ciutlades drstlc las cuales hay vne10s hasta Bangkok. Toliio estaria en esta lista. En espariol monclo y lirondo rsto se diria de la forma signientc:

Si una ciutlad tie~lr vnrIos a Bangkok (hiPOtrsis). entoncw rsa cindatl rh 1111 cantlidato para n~lestro viaje (ronrlusiin).

Simplificando rsto un poc*o, ya cpe Tokio cs nna d r estas ciutlades. podrmos haccr dt: Tokio nuestro destino y vc:r todos 10s vuelos clue llrguen a Tokio? rntre los cuales hay uno saliendo ilrsdc Honolulu. Pode~nos convertir entonces a Honolnlil en nuestro dcstino y continuar trahajando d r rsta manrra hasta cpr enrontrrmos una conexibn con Salt Lake City. En este c a w estamos trabajando hacia atrhs drsde Bangkok, por 10 qne cl proceso se llama encadena~niento hacia a t r i s (backword chnirring).

Alternativamrnte podriamos haher comenzado cn Salt Lake City y comrnzar haria atlelante. En estr caso buscamos todos 10s vuelos qu r salen de Salt Lake City y vemos quc. van, digamos. a LOR Angrlrs o Honolulil, o Denver o Chicago para ir a Tokio y de Tokio a Bangkok. Esta rs a grandes rasgos la metodologia cpr se conocr como encadena~niento hacia adelante (forumrd chaining).

Reglas en PROLOG

En PROLOG las reglas se expresan de forma familiar.

Dondr el simbolo ":-" stt purde lcer como "if' . algo que hrmos estado hacirndo informalrnente. La clliusula anterior de PROLOG se lee twmo

C PS uerdudero, si H , y HL . . . y asi sucesivamente hasta Hk son v~rdadrros.

Page 485: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS AVANZADOS: SISTEMAS DE BASES DE DATOS ORIENTADOS A OBJETOS ... 4 7 3

TamtGn podria usarse "or" r n lugar tle " and". El punto (.) clenota t.1 fin de la c l iu- sula d r la regla.

Estos son algunos ejmmplos cbont.rctos y faniiliares.

(S igu icdo rl twn\rnio tic. PROLOG hrnios pasado a usar lctras r n minil,cula para denotar las rc.laciones.)

Esto p d i - i a l r r rsr romo

iC011io drtrrniinamos la vcraridad d r rsta prrgunta? i E s X un progenitor d r Y o no'! P a r a e n w n t r a r la respuesta, X c Y deben asociarsr a instanvias r c d r s (valores) d r la h a w tlc datos. Luego la vrrdad d r una srntrncia dependerli d r la vrrdad de ,us partes. Supon- ganios clue 10s siguicntes hrchos rxistcn r n la base d r datos rxtrnsional. (Los valorrs r n PROLOG drlwn tmipe7ar con l r t ras rnini~sculas, por eso "Jane" sr esc.rilw '- janr" y asi . )

madre ( j ane , a l e x ) madre ( tam i , anne) p a d r e ( j o h n , ane)

Ahora nob plantratnos la ronsulta PROLO(;,

? p r o g e n i t o r ( j o h n , a l e x ) .

En la regla d r progrnitor, X r s t i ahcrra asoriado con john j I cwn alcx. Para ralcu- l a r la soluriOn, sc drbe demostrar q u r la regla es verdadera o falsa. En rste caso, tenenios

m a d r e ( j o h n , a l e x )

n o rs nn hctsho d r la 1)asr tlr datos, y

p a d r e ( j o h n , a l e x )

tanipotw rs un 1iec.ho de la base tle datob. Por lo tanto,

p r o g e n i t o r ( j o h n , a l e x )

no sr puedr drdi~ri i - d~ la haw tle datos y la rcspuesta es FALSE (falso). Sin rnilm-go, la t.onsulta

? p r o g e n i t o r ( t a m i , anne)

s r intrrpretarh como verdadera puesto q u r

m a d r e ( t a m i , anne)

es un hecho d r la Imw de datos, lo q u r rs sufiriente para determinar q u r

p r o g e n i t o r ( t a m i , ane)

es TRUE (verdadero).

Page 486: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Supongamos que lo qne se cp iwe es wuocer q n i h e s sou 10s progeuitorrs de Anne. E ~ t o r s ,

? p r o g e n i t o r ( X , a n n e ) .

En pa l a lms estarianios tlicie~itlo:

(Los nomlrws de vari;il)le en PROLOG dclwn etnprzar con una letra mayuscnla.) Una h s q u e d a en 10s hechos tle la base de dato5 rnruentra

m a d r e ( t a m i , a n n e ) , y p a d r e ( j o h n , anne)

Luego el resultado de la consiilta s e r i

X = t a m i X = j ohn

Los lrnguajes basados en la lhgica brindan las capacidades tlr responder a pregnntas que no sc pnedrn responder ficilmentr con 10s lrnguajes d r manipnlacibn dc: datos de 10s lrnguajes convencionalcs. Aunipe la c r e a c i h de vistas en 10s lenguajes convenrionales es similar a1 uso de reglas para definir ljases d r datos en intenso, las capacidades d r dvfini- ci6n dc vistas de 10s SGBDs relacionalcs no son tan podrrosas como las rcglas 16gicw. En particular. 10s lrnguajee rrlacionales no pueden expresar consultas rec:nrsivas clue son a rnenudo utiles para formular consultas complejas (ver Ulltnan, 1991, para drtalles.) Las intcrrelaciones transitivas tales cotno la jerarquia entrtb partes, las listas d r ancwtros y las jerarquias de dirrcribn son rjrmplos importantrs,

Supongamos clue tenemos trahajadores qur son dirigidos por los jefrs de departti- mento y q u r los jrfrs de departamento son dirigidos por 10s jefes d r divisihn. Tanto 10s jefes d r tlivisi6n como 10s jrfrs de departamento pueden entonres estar implicados en la evalua- cihn del rendimiento del trahajador. Esta interrelaci6n l6gica se purdr rxpresar rrcursi- vamente d r la forma siguientr:

e v a l u a ( X , Y) : - j e f e d e ( X , Y ) . ( 1

( se l e e como " X e v a l u a a Y s i X es j e f e de Y " ) .

e v a l u a ( X , Y) : - e v a l u a ( Z , Y) & j e f e d e ( X , Z ) . ( 2 )

( s e l e e como " X e v a l u a a Y s i Z e v a l u a a Y y X es e l j e f e de 2 " )

Suponga qne 10s hechos siguientes existen en la base de datos en extrnso:

j e f e d e ( j o h n , bob)

j e f e d e ( j o h n , r a y )

j e f e d e ( b o b , f r a n k ) .

Podemos plantrarnos la siguiente consults:

Page 487: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS AVANZADOS: SISTEMAS DE BASES DE DATOS ORIENTADOS A OBJETOS ...

? e v a l u a ( j o h n , bob)

j e f e d e ( j o h n , bob)

es un hctaho. Sra ahora la c.onsulta

? e v a l u a ( j o h n , f r a n k ) .

El resultado es vercladero por la rrgla ( 2 ) . ya que

e v a l u a ( b o b , f r a n k ) y j e f e d e ( j o h n , bob)

son amhas verdadero. Supongarnos qnc se cpirre una lista de todos 10s cmpleados clue son eva luado~ por

John. Esto poclria expresarse como sigue:

? e v a l u a ( j o h n , X ) .

El resultatlo scria

X = bob p o r l a r e g l a ( 1 ) X = r a y p o r l a r e g l a ( 1 ) X = f r a n k p o r l a r e g l a ( 2 ) .

Se ha p s e n t a d o un rjrmplo en el clue el camino de la evaluaciOn (jerirquico) e i de longitud (10s -hay un mixinlo de dos niveles en la evaluacih-. El uso de m a regla rccur- siva extirntle con farilidad el camino a cnalquier longitud. Veanlos una sin1~11e demostra- ciOn de extender el canlino a longitud tres. Supongamos que se aiiade un hecho a la hase de datos anterior:

j e f e d e ( f r a n k , c a r l )

Y hacrmos la consulta:

? e v a l u a ( j o h n , c a r l )

El resultado sera berdadero mediante la secuencia lhgica siguirnte:

1. La regle (2) estahlece la veracidad de "t.valua(bob, carl)," ya que "evalua(frank, carl)" es verdatlero por la regla (1) y " jefede(bob, frank)" es un hecho tlr la hase de datos.

2. De nnevo una aplicacibn de la regla ( 2 ) nos lleva a1 resultado. ya clue "evali~a(hob, carl)" ya ha sido establecido y " jefede(joht~, hob)" es un hecho de la base de datos.

Los conceptos bisicos clue se han presentado son:

1. Las reglas se pueden expresar como cliusulas que tienen la forma

Page 488: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

clausuln. En I'KOLOG t.1 in t~l io par rl cual se ~ T ~ ) I Y ~ I I los hrt.hos ! rl t~)noc~iinien t t ~ : <c.c~nt*l~~siOn> :- <lists tlr hili~tc~.sis>

La p r t c de la izqnirrtla tlrl ":-" es vtwladera si s r pnrtle esta1)lrcrr la vei-atidat1 dc la parte u la tlerrt-ha tlel '-:-" a 11artir d r Ilechos d r la I m r rlr ( h t o s o de la wracitlatl d r otras rrglas.

2. St, pnrdt.11 clrsarrollar I ~ a s r s tlt. tlatos en intrnso (tlrdwtivas) a partir d r I ~ a s r s dc tlatos r u c.xtriisc) a las true s r 1t. atiadcn tales rrglas.

L't~mos ahora mi8 tir t*t.rc*a a PROLOG tw~no lrnguajc para cxprrsar rrglas.

Una aplicaci6n simple de base de datos en PROLOG En rsta scwiBn clrstacxrrn~os la iiiitaais fundarnrntal d r PRO1,0(; J t lrnlostrarrn~os iina al)licacibn motlrsta tlr 1)ase d r tlatos.

Aspectos fundamentales de PROLOG

rl I t q y ~ a j e fnndacional dcl proyccto (It. quinta gtwrraci0n d r c.onil)ntadorri. cnyo ol)jrti\ o r, t lwwrollar sistcnias dt. chlculo altamrntr intrligrntrs qnr 1)uedan almacrnar bastes \oliirnr- . . nt.? tlr int'oriiiatihn. PROJ20G t.s tan1l)iC.n una hrrraniirnta importantr en la prograinacibn r n intr l igtwii artificial. partit*ularmtwtr r n rl tlrsarrollo d r sistrnlas c.xpertos.

La cBornl~onc.ntr lilntlamrutal tlr F'ROLOC rs la 1-lliasda, rl nirdio rnrtliantt. el cwal sr rxlwtbsan 10s Ilrchos y (:1 conocimirnto. La Figira 1-l.17 mrmtra dos clinsnlas 1)isic.a~: pa(lrr(liarry, janr) y patlrriX, janr). La primvra c l ius~da dice. -' Ilarry rs el patlrr drjanc.." La srgnntla cXn~sula c*sprc:ifit~~ qilr " X rs el padre dc janr, " tlondr X rspet:ificaa a m a \~arial)lt:.

Tani1)ii.n podcnios rscrihir c*ltinsulas condicionalrs qne rxprrsen rvglas d r la fornia qiie I~cwos \isto. La Fignra 1-i.17 nos mnrsti-a (10s rrglas: La prirnrra dice qiic "X rs el ~ w o - gcnitor d r k " cs vrrtlatlero si " X c,s la madr r d r Y" es vrrdadrro (progrnitor(X,Y) :- inatlrr(X,J-)); la segnnda dice. " X rs progrnitor de Y" cs vrrdadrro si " X rs padrr tlr Y rs \ertlatlrro" (progcnitoriX, Y ) :- padrr(X. Y)) .

Las cwniuncionrs (ANTIS\ sc, denotatl usantlo comas v las disvnnc:ionc.s iOKs) sc drno- tan par puntosy coma. P o r rjrmplo. podenios ttmrr una regla lhsica twmo " X t3s el a h - lo dl. 1.. si X c s r l p l r e d r Z, y Z rs nn progenitor d r Y."

abuelo(X, Y ) : - padre(X, Z ) , p r o g e n i t o r ( Z , Y ) .

Toda cliusnla r n PROLOG tlrlw terminar Ison iin p in to .

padre ( h a r r y , j ane) padre ( X , j a n e ) .

p r o g e n i t o r ( X , Y ) : - rnadre (X, Y ) . p r o g e n i t o r (X, Y ) : - padre (X, Y ) .

I ( c ) CONJUNCIONES Y DISYUNCIONES

abuelo ( X , Y ) : - padre ( X , Z ) , p rogeni to r ( Z , Y ) . p rogeni to r (X, Y ) : - rnadre (X, Y) ; padre ( x , y ) .

" En in&, Progrumming in Logic ( N . drl T.).

Page 489: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS AVANZADOS: SISTEMAS DE BASES DE DATOS ORIENTADOS A OBJETOS ...

dominio. El t6rinino I'KOLOG para la rspccificacicin tlr un tipo cle clato.

predicado. Una cxprcsicin quc cxvalha vercladero o falso.

La estructura de una aplicacih en PROLOG Las initruccioncs cbn PROLOG ie c30mponen de fhrmulas c p incluqtw si~nhulus cle precli- cados (talei cwmo '" progenitor". " adre re" o " a l~wlo") aplicadas a 10s argnincntoi para proclwir balorei '*\erdatlcro" o 'Talso". Estos argnuicntos ~)ucdc*n inc*lnir c*onstantcbs (talc5 como "harry" y '* janr" ) y varia1)les (tales corm X , E ? Z). (La5 constantei tam1)ibn pue- den ie r cmtwoi.) El convenio es clue en PROTAIG loi simlmlos pretlicatlos ! la i constantes comienren (*on 1c.tr.a n~inilicwla.

Vamos a acalarar cstai nocioncs. Intlic~ucmos ~)rirnc.ro la sirnilitud cntrc un nornhrc relational y sui atrihutoi ? la noci0n 1hgic.a clc un ~)rc*clic*aclo cwn i i ~ i arpumcmtoi. RcafiCra- i c b clc nnevo a la Fignra 14.15. Esta maeitra nna relacicin de nomlwe PARTES cwn 10s atrt- hntoi aiociatloi, SIJBPIRTE y PAIWE. En PROLOG. esta r e l a c i h es nn predicatlo. PZRTES, clw tiene loi argumentoi SLBPARTE y PLZRTE. De moclo clue ii cy)rc~iaiiio, el

c1c.h-l retornarse como respnesta TKUE (~erclaclero). ya que la tnpla < N O . 31' a> es una cle la i tuplas de la relacaihn correiponcf ente.

Se puetle cwistruir un ejemplo algo n i l i cwmplejo nianclo la Fignra 14.18. Los nom- h i tle tabla y 10s noml~re i tic. atri1)uto ticmcm la intc*rpretac*ihn iiguientcl:

VI' f ' nhmv nom1)r.e~ localiclad nilmp nivel-c nombrep tipop grado

c cmcicdor vencledor cle partes partes nhmeros de vendedor nomhrc de vcndcdor localidad nhmcro dc. parte nivel cle caliclad nomhre cle parte t i p de parte graclo

Observe clue 10s doininius c:orresponclcn a los t i p s de datos, los predicados corres- ponclm a estructuras relac.ionales y las c:lLusulas representan las tnp lasde las re1ac:iones. 1)efinimos " vistala" mediante la f6rmula l6gica

v i s t a l a ( l 2 , Smi th ) : - v ( 1 2 , s m i t h , l a )

La regla dice clue (12, smith) es un hecho cle la vistala si (12, smith. la) es un herho clel prtdicado v (bendetlor). Un balor tal cwmo "la" '" aparwienclo a la clerecsha cie (pero no a la izquiercla) puede interpretarse como una c o n d i c i h euistencial. Esto es, pa ra la regla antwior pudih-amos decir clue

v is ta la (nu rnv , nombrev) es ve rdadero s i e x i s t e una t u p l a en v t a l que ~ ( n u r n v , nornbrev, l a ) es ve rdadero .

ilustraremos ahora la estrnc*tilra 1)iisic.a cle una implemmtac.i6n PROLOG usando una wr- sihn simplificacia cle la Figura 14.18.

I * E jemplo * I

S~glas rnrrlo sr ronocr rn lnglPs a la rludad dr Loi Angrlrs (N. drl T.).

Page 490: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

domains nombrev, l o c a l i d a d , nombrep, t i p o p , grado = s t r i n g numv, nump, n i v e l - c a l i d a d = i n t e g e r

p r e d i c a t e s v(numv, nombrev, l o c a l i d a d ) vp(numv, nump, n i v e l - c a l i d a d ) p(nump, nombrep, t i p o p , grado)

clauses v ( 1 , james, l a ) . v ( 2 , c l i n e , l ondon ) . v ( 3 , marx, denver ) . v ( 4 , myers, s f ) .

VP( l , 25, 8 ) . VP(1, 37, 9 ) . V P ( ~ , 28, 6 ) . V P ( ~ , 29, 7 ) . VP(1, 39, 9 ) . VP(2, 25, 9 ) . VP(2, 37, 9 ) . VP(3, 28, 7 ) . vp (3 , 37, 7 ) . vP(3, 29, 8 ) . vP(4, 37, 8 ) . vP(3, 39, 8 ) . VP(4, 28, 7 ) .

vp(4 , 29, 7 ) . p(25, reborde, acero, a ) . p (28 , e s t r i b o , l a t o n , a a ) . p(29, c e r r o j o , h i e r r o , a ) . p(37, p inza , l a t o n , a a ) .

domains rwmbrevi goeal idad-= s t r i n g numv = i n t e g e r

p r e d i c a t e s v(numv, nombrev, l o c a l i d a d )

clauses v ( 1 , james, l a ) . v ( 2 , c l i n e , l ondon ) . v ( 3 , marx, denver ) . v ( 4 , myers, s f ) .

La set:t%n "domains" (tlominios) permite rsprcificar los t i p de 10s valores (tipos de datos) clue sr brindarhn por el esyuenla relational ckfinido en la set:cihn "pretiicados". La sec:ci6n cliusulas permitr la entrada tlr datos. o valorrs, para 10s rrspectivos atrihutos relacionales. La secci6n clau,ses (t:liusular) p ~ l r d e verse conlo las instancias de una base cle datos rrlacional. Esta rs la estrurtura bisica tle todas las implementaciones PROLOG.

A partir d r nuestra vrrsihn simplificada tle la Figura 14.18 hernos rreado una base tle datos extensional. Esta contirne hrchos y podemos ejrcutar consultas ordinarias de for-

Page 491: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS AVANZADOS: SISTEMAS DE BASES DE DATOS ORIENTADOS A OBJETOS ... 479

ma rlrinrntal. S q ~ o n ~ a n i c ~ s que querernos listar los nombres de totlos los \rntletlorrs tlr Los \ngrlei (" la" I .

I,a consulta seria:

v ( - , Nombre-vendedor, l a ) .

El resultado serh

Nombre-vendedor = james,

1COmo se interprcta csta c~onsulta? Ehrnc.irrlinrnte Gsta t ranwurr r tle la manera siguicntc:

1. Mira (w la relaciOn \ las tnplas qnc, trngan " la" wino kalor tlr loc.:rlidad. R w u - p ' ra ('1 valor asociado para nonil)rr\ \ asign;~ k t r a la \ariirl~lr d r nomhrc h o n - 11rc.-vcndcdor.

2. Toda 11alal)ra q u r comience con Irtra mayilicnla i r consiclrra m a \arial)le -esttb (*s ~1 ('a50 de Nonibre-vendrllor.

3. Toda palabra que comirnce con l r t ra minuicula se interprrta coino tin valor cle atrilmto.

4. El uso tle "- " significa q u r rl l a lo r cor respndien te de atributo no t i m e n i n p h significatlo r n la solucGn tic la consulta y por lo tanto sr ignora.

AplicaciGn de base de datos

T)emostrarrinos ,rhora una ~rplicacii~n tle hase de datos usando PROTJOG. Esta base de (lato5 se representari wino se itincbstra en la Figura 14.18. Los datos clue se introducen son flicilmrntr reconoc*il)les. Ohservv q ~ i c las cadenas de caracteres son todas letras en milifis- cwlas. Hemcrs entrdtlo 1as instantias d r la hase de datos en la secci6n de progrania PRO- LOG idrntificala par L-c*lansc.s" (c*lansnlas). Asi las cosas tenemos una hase de datos en c.xtcnso. Hrcordemos qne la sewibn "prerli(.atrs" (predicados) requiere una definici6n d r la 1,asc de datos en tbrminos cle noinlm~s de relacicin y snr corre5pondientes atrihntos \. qne la s r c ~ i 6 n "'domains" (tlominios) tlefinc. los t i p s d r tlatos quc* rorrvspond(m a 10s tlonunios tlr los atrihntos.

Cuanto niis lejos \a jainos, mejor. Para implrtiirntar una hasr d r tlatos r n intrnso nwesitanios hacer algo mis . Su1)ongainos q n t ~ drst~;~nios c*onoccr aqnellos vrndedore5 cuyos produc.tos w a n todos de nivel 8 o s u p r i o r . Una forma de 1~1crr rsto es encwnti-ai- ,~quellos vendeclores que suministren partes que rs t ln rvaluatlas con inerios de 8. La infor- tnac+')n deseada podrnios encontrarla buscando aqurllos suministradores clue estan r n rl primer grupo, p r ro no en el srgundo. Esto se i h s t r a a continuacicin:

Pr imer Grupo : a l t o n i v e l ( X ) : - pv(X, -, Q ) and Q >= 8 .

Intrrpretac~ihn: altonivel(X) es el resultaclo q u r qurrrmos para el primer grnpo. La relaci6n dr nomhrr "altonivel" sr ha escogido arhitrariamente. Los noinhres de rrlari6n p11c.(lrn 5er cualquirr cwmhiac.10n de letras, digitos y caracteres de suhrayado, pero delwn r i q w z a r (-011 una letra minusenla. 7i r,s nna variahle y el hecho de que la usemos en nia!k- cula significrr tjne quvrenios imprimir el resultado. E n espariol esta consulta podria intrr- pi-etarw coino: Si a lpma tupla de la relaci6n pv t i m e un valor Q mayor o igual que 8. entoncrs su \a lo r ?i (n6mero tle kenclrdor) rs una sol1ici6n y s e r i por lo tanto miemhro de la relaci6n altoni\rl.

Segundo Grupo: ba jon ive l (X) : - -pv(X, -, Q ) and Q < 8

Page 492: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

S o l u c i o n : rne jo rca l idad(X) : - - a l t o n i v e l ( X ) and ( n o t ( b a j o n i v e l ( X ) )

lnterpretacihrl: 1Jr1 sumistrador rstri en la relaciim rntbjor wlitlatl si vsti en r l g r n p qn r snniinistru las partes twn niveles tle t.alitlatl mayor I> ignal 11w 8, fwro no vsth en r.1 g r q w tlr los suministradores de 1,artc.s tine tienrn nivel de t-alitlatl ulenor clue 8.

En la F i p r a 13.19 stb rnuestra una t.c1ml)inaci6n tle nna I~ase dc tlatos t.n intrnso y en t.xte~~so. 1)d)eria wrnl)rol)ar cjnr t i p a(X) prodlice nna lista (11% los si~~ninistrutlores qne p t rporc io i~an 1)artes tlr gratlo-a.

- ~ - - - - - -

domains nombrev, l o c a l i d a d , nombrep, t i p o p , grado = s t r i n g nurnv, nump, n i v e l - c a l i d a d = i n t e g e r

p r e d i c a t e s v(numv, nornbrev, l o c a l i d a d ) vp(nurnv, nump, n i v e l - c a l i d a d ) p(nump, nornbrep, t i p o p , grado)

clauses v ( 1 , jarnes, l a ) . v ( 2 , c l i n e , l o n d o n ) . v ( 3 , marx, d e n v e r ) . v ( 4 , myers, s f ) . V P ( l , 25, 8 ) . VP(1, 37, 9 ) . V P ( ~ , 28, 6 ) . V P ( l , 29, 7 ) . VP(1, 39, 9 ) . v p ( 2 , 25, 9 ) . VP(2, 37, 9 ) . VP(3, 28, 7 ) . v p ( 3 , 27, 7 ) . VP(3, 29, 8 ) . v ~ ( 4 , 37, 8 ) . VP(3, 39, 8 ) . VP(4, 28, 7 ) . VP(4, 29, 7 ) . p (25 , reborde, acero, a ) p (28 , e s t r i b o , l a t o n , aa p (29 , c e r r o j o , h i e r r o , a p (37 , p i n z a , l a t o n , a a ) .

a l t o n i v e l ( X ) : - vp(X, -, Q ) and Q >= 8 . b a j o n i v e l ( X ) : - vp(X, -, Q) and Q < 8 . rne jo rca l idad(X) : a l t o n i v e l ( X ) and n o t ( b a j o n i v e l ( X ) ) . t i p o l ( X ) : - p (Y , -, -, a ) and vp(X, -, -) and n o t (vP(X, Y ) ) . t i p o 2 ( X ) : - vp(X, -, - ) . t i p o a ( X ) : - t i p o 2 ( X ) and n o t ( t i p o l ( X ) ) .

Page 493: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS AVANZADOS: SISTEMAS DE BASES DE DATOS ORIENTADOS A OBJETOS ...

Datalog Micntras PROLOG es m a implrmentari6n iltil de la prograniae16n I6gica. no tienr la lun- r~onalid;ltl completa d r nn sistema de h e tle datos. Estr no es rl prtrphsito 1~u.a el cnal fnr eliit.riatlo. Sin e m h a r p , su podrrosa implen1entaci6n tlr la l6gic.a cle primer orrlen ha lleva- do ,I qur ir intent? acwplarlo con 10s sistrmas tradicionalrs tle haws tle tlatos relwionales. I,a ma!oria tlv csos es fner~os no han protlucitlo sistc~nias itlt.al(%i. DATALOG es nn intento tlr intvgrw twnceptos de la lh@a (*on plcmas rapa(i(lat1ri tle sistrn~as de haws tle tlatos.

DIIT\I,OG se h a en la programacibn l6gic.a y la demostrari6n antolnatira de teo- rcmas. l),\'r4LOG es en murhos sentidos una vrrsi6n simplifirada de la programari6n l6gi- ca. E n partirular, DATALOG no p r m l t e simholoa d r fnnriones r n 10s argnlnentos. cwmo si lo p m n i t e PROLOG. DATALOG niantlrne una estrerha relari6n con las bases tle tlatos rchcionalrs. nsando sini ldos tit* ~ ~ r r t l ~ r a c l o s para reprrsentar las rrlariones, tal conio sr h im con PKOLOG.

Lenguaje de datos 16gicos (LDL) IJ)L ~-eprcw~nta 1111 intrnto tle proportionar 1.n nn solo lmgoajc. la c.xprc~si\itlacl tlr PRO- LO(; cwnhinado con la rapacitlatl (It. ejrcutar transaccionrs (actualizar. 1)orrar y otras) tlr 1111 rntorno de hase d r clatos rclacional. T,a difrrrncia m i s importante entre PlZOLOG ! LDI, es que LDL nos (la la c*xprc~sividad de la lbgira, asi romo la completa fllncionalitlatl tle nn SGHI). El rjemplo siguicntr es similar a1 q u r (la Chinienti ! o t r w (1990). El rrgiitro tle nn c~npleado l ~ ~ l r i a tener la forma siguientr:

empleado (nombre ( j o e , s m i l e y ) , admin, e d u c a c i o n ( s e c u n d a r i a , 1 9 6 7 ) ) .

Si (~urrr t t iost twer mas informatihn s o h 10s tmplcaclos. rndn su1)arguinrnto potlria rrlinarse (YI una desrripribn miis (1t.tallatla. Esto nos llevaria a un registro edncacional wrnplrto para una Iwrsona:

empleado(nombre( joe , s m i l e y ) , admin, education( { ( s e c u n d a r i a , 1967 ) , ( e s c u e l a ( h a r v a r d , l i c e n c i a t u r a , m a t ) , 1971) ( e s c u e l a ( h a r v a r d , m a e s t r i a , i n g ) , 1973) ) ) ) .

El anidamirnto de cwnjuntos le (la una gran potencia y flexi1)ilidatl. Memiis LDL ha adaptado 10s convenios para exprrsnr reglah de PROLOG en un lenguaje clue t i m e alnplias rapacitlades tlv gcxsti6n tlr haws d r tlntos.

E n este rapitulo hrmos introducido 10s ronreptos fundamentalrs tle las SGBDO y los SRC. Primero ilustramos c6mo un lenguaje de 00 implements 10s t-onceptos qrlr scs p u -

sentaron en el Capitulo 4. I ~ i e g o hicimos un resumen de 10s p r o t o t i p s d r SGBDOs y de 10s SGBDOs c:omercialrs y presentamos u n lrnguaje oricntado a ohjrtos. Los sistemas basados r n r l c-onocimiento intentan extender la potencialidad de 10s sistemas de haws de tlatos mas alla tle 10s (Iatos propiamentr hacia informac:i6n cjur se puede deducir de 10s datos. Con rsto romo premisa, consideramos el papel d r l conocimiento e n 10s sistemas de bases de tlatos y c6mo las reglas permiten la representacihn del conocimiento. Estr trma se ilustrb ron la construccibn de m a base de datos que incluia conocimirnto, usando PROLOG como whiculo de drscripci6n.

Luego (limos un resnmen de LDL, que ha extendido las capacidades de PROLOG m funrionrs tle gesti6n tle bases de tlatos, asi corno en la representaci6n del conocirniento.

Page 494: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Hay nna nccrsidatl t ~ r t . i t . 1 ~ d r rxtrndcr 10s sistrmas de 1,ast.s tlr datos para incor- porarlrs las rarac.trristitu analizadas t:n rs tr capitulo. Es d r rsperar qrie en la p-6xirna dPcada otwrran drsarrollos interrsnntrs y titiles en estas b r a s . .Uortunadamt.~~tr . 10s mbto- dos tlr modelatlo drsarrollados anteriormrnte sr adaptan adecuadamc:ntr a estos avantst:s.

1. Dvfina con sns propias I)alaljras catla uno tlr 10s t6rn~inos siplie11tt.s: a. claw 1). ol)jt:to vomplcjo c. sistema exprrto d. sistema tlr Imse d r twnotiinirntos e. t:onocimirnto r n ext tmo f. twm:imiento r n intrnso

2. 1Por (1116 un sistema d r bases d r tlatoh orientado a ohjetos t.5 prvfrrihle a un sistt.ma de I ~ a w de tiatos relational?

3. Contraste 10s pretlicados j las c12insulas en PROLOG. Db url rjemplo tlr cada uno.

4. ;Poi- qub pudirra s r r prvferil)le un sistema hasado rn el conocimiento a un A tema de hase de clatob'!

Parte A

1. Haga corresponder cada tcrmino con su definicih:

-rlasc. derivurla

-0bjeto

-sistc.ma de base dc. datos de objetos

-~ncadenarrriento hacia atrus --uncudenarrriento hacia adelante

-16gicu de primer orden

-sisternu de gestibn basado en c.1 conocimiento

Parte B

a. Una formn de comhinar reglas. q u r va d r la hipbtesis a la conclusi0n.

h. Una estructura lhgica hasada en ohjetos, p r r - dicados y funcicrnrs.

c . Sistrma de software clue gestiona el alrnace- namiento de datos y la nianipulaci6n de datos y reglas.

d. Una instancia d r clase. e. Una forma de conibinar rrglas. clue va de la

t:onclusibn a la hipbtesis. f. Una clase que hereda caractrristicas de otra

clase. g. Un sistema de software clue gestiona el alma-

cenarriiento de datos y la manipulaci6n de datos y objetos.

1. Dibuje un fragniento d r un rnodelo orientado a objetos que trnga dos conjuntos de objetos base: ESTUDIANTE y EMPLEADO. Luego rnuestrr las especializaciones res- pectkas d r esos conjuntos: INGENIERO y DIRECTOR. Haga que EMPLEADO tenga lot atributos NUMEMP y NOMBRE. Haga que ESTUDIANTE tenga 10s atributos NUMEST y NOMBRE. INGENIERO tiene 5u propio atributo T I P 0 (ingmec, inge- lee. etc.) j DIRECTOR tiene su propio atributo DPTO.

Page 495: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SISTEMAS AVANZADOS: SISTEMAS DE BASES DE DATOS ORIENTADOS A OBJETOS ...

(CAMION#( CAMI~N 1-1 CONDUCTOR I

Siguieutlo el rje1111)lo d e e ~ t v capitulo, h a p cwrresponder sii modelo orientado a ol~jetos con claw, m C++.

RENTA NOMBRE

4 FUE-EMBARCADO-EN NOMBRE

2. Usando el modelo de la Fignra l-E.lE, cree soluciones para cwla una d e las consi~ltas sigiiientcls en TextOuerv:

AN UAL

\

. ,

U11a lista dr nimeros dr t:mharques para erivios que pesen m i s de 20 liljras. No11ilx-e t r rs compaiiias con ~ n i s de $10 niillones de renta anual. La poblacibn tle Atlanta. El conductor del rarnihri #45. El nombre y la poblac%h tle las ciudades qiie hayan recibido e m l ~ a r q i ~ e s clue p e n mas de 100 lihras. El ilonihre y la renta aniial d c los rlientes que hari enviado em1)arques que pesen m i s d e 100 lilwas. Los nu~iieros tle 10s camiones que han transportado embarques de mas de 100 libras. Los noml~rcs de 10s c*ontirwtores q u r han transportado r m l ~ a r q i ~ e s que p e s m mas dt: 100 libras. (:iudades que hall reci1)ido emhartIues c k clientes que tengan m i s de $15 rnillones tlt: renta a n d Clientes q u r ttmgan $5 millones d e renta anual p que hay a n hecho envios de menos tle 1 libra. Clientes qnc tengan m i s tle $5 millonrs de renta anual clue hayan hecho envios d e menos de 1 lihra o qne hayan hecho envios a San Francisco. Clientes que hayan herho envios transportados por el c a n i i h ronducido por Jensen. Conductores quc han contiucido embarqnrs a clientes con renta anual superior a $20 millones a ciudades con poblaci6n por rncima del m i l l h . Clientes clue hayail herho envios conducidos por cada eoriductor. (Idea: Para la soluciones TextQuery tle 10s ejercicios 11-(I use la construt:t:ib~i SET-F y la compa- raci6ri de ronjuntos.) Ciudatles que hayan recibido embarques d e todos 10s clientes. Conductores que hayan transportado embarques para cada una dr las ciu-

+ CARGA *

dades.

CL'ENTE

I

+ I ENV~A

* FUE-ENVIADO-POR

4

EMBARQUE

+ * FUE-ENVIADO-A I

RECIBIO + ClUDAD

Page 496: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

madre(X, Y) : - p r o g e n i t o r ( X , Y ) , f e rnen ino (X ) . p a d r e ( X , Y) : - p r o g e n i t o r ( X , Y ) , m a s c u l i n o ( X ) . h i j a ( X , Y) : - p r o g e n i t o r ( Y , X ) , f e m e n i n o ( X ) . h i ] o ( X , Y) : - p r o g e n i t o r ( Y , X ) , r n a s c u l i n o ( X ) . herrnanos(X, Y) : - p a d r e ( Z , X ) , p a d r e ( Z , Y ) ,

rnadre(W, X ) , Madre(W, Y ) , (X Y ) . hermano(X, Y) : - hermanos(X, Y ) , m a s c u l i n o ( X ) . herrnana(X, Y) : - hermanos(X, Y ) , f e rnen ino (X ) . t i o ( X , Y) : - herrnano(X, Z ) , p r o g e n i t o r ( Z , Y ) . t i o ( X , Y) : - p r o g e n i t o r ( Z , X ) , herrnanos(W, Z ) .

casado(W, X ) , r n a s c u l i n o ( X ) .

c a s a d o ( a l a n , b e l i n d a ) . m a s c u l i n o ( a 1 a n ) . f e m e n i n o ( b e 1 i n d a ) . r n a s c u l i n o ( c h a r 1 e s ) . f e rnen ino (da r1ene ) . m a s c u l i n o ( e d w a r d ) . p r o g e n i t o r ( a l a n , c h a r l e s ) . p r o g e n i t o r ( a l a n , d a r l e n e ) . p r o g e n i t o r ( a l a n , edward ) . c a s a d o ( c h a r l e s , f e l i c i a ) . casado(edward, g r a c e ) . f e rnen ino (g race ) . f e r n e n i n o ( f e 1 i c i a ) .

p r o g e n i t o r ( f e l i c i a , j o h n ) . p r o g e n i t o r ( f e l i c i a , rnary) . p r o g e n i t o r ( n e v a , d a r l e n e ) .

q. Clirntrs que hayan herho envios a catla ciudatl cwtl 1)ol)lacihn sohrr 500.000. (Idea: Crcar primero el wnjunto de ciutlaclrs con poblacicin por encitua de 10s s00.0oo.)

r. Dar una lista de dientrs J- dr las rrntas atlualrs de ae~uellos c-lirntes cauyas I-mtas anualrs sea la mLxima tlr los clientes en la base dc datos.

s. Dar una lista tlr 10s rlientes que tienen todos 10s rmharquc.~ por c-ncima cle las 25 lihras.

t. Ilar una lista d r 10s c.lientrs qur ruvian todos sns emharcjurs a una unica ciuclad. (Nota: 1,a ciudatl puede o no p r d r ser la misma para cada uno tlr 10s clientes.)

3. Para cada una de las cwnsnltas sipuientrs:

i. Si la ronsulta sr pnedr rrspouder nsatido la Figura 14.1E, dC. un procwlitniento paw a paso para enrontrar el rrsultaclo.

ii. Si la con5dta no se puede responder usando la Figura lS . lE , indiquc por (pi.

a. ~QuiCnes son los hrrnlanos tle Alan? b. ~Quihnrs son 10s hijos de Felicia? c. ;QuiC.nrs son 10s padres tie Darlene:' d. iQuiSnes son 10s hijos de Alan? e. iQui6nes son 10s hermatios de Edward? f. ~ E s Charles hrrmano de Darlene? g. iEs Grace hermana de Charles? 11. iTiene algutia hrrmana Belinda? i. iQuiCn es el tio d r Belinda? j. ~Quihnrs son 10s tios cle Grace?

4. Para rada m a de lab consultas en (2) qur no purda rrsponderse a partir tle la Figu- ra 14.1E modifiynt la hase d r datos para poder satisfacw &has ronsultas.

Page 497: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

3. Modifiqnr las rrglas tlr la 1)aw tlr datos ! afiatla 10s hwhos nrcrsarios llara detrrminar la intrrrt4aciOn tlr a1)nelo.

6. E s t d ) a consultas r n PROLOG para 10s siguirntrs proldrmas. IJsr la Figura 14.18. ;,QuS vcndetlores snminiatran partcs con nivrlrs tlr t.alitlat1 niayorrs qntX 8? i,Q& wndrdor rs snniinistran twrojos? i,Q& vcwtlrdorrs suministran pinzas? i , Q ~ i . p a r t r w s t i n ht:chas d r acrro? i ,Ct~ i l r s son las loralidades tlr 10s vc:ndrdores clue suministran rstrihos clr hirrro? ,C)n6 vendtdorrs snniinistran partrs dr latcin? ~C)IIC. vrndrtlorrs suministran partrs tlr grado aa? ;,Qni. partes suministra Jamrs? 1Cuilt.s son 10s nivrlrs de calidacl de las partes suministrat l ;~~ 11or el ventlrdor IVY i,Q& partt 'swn s~nninistradas por vrntlt~tlorrs localizados r n L!lY

1. H a p algnna in~rstigacitin hi1)liogrif'ica hol~rr 10s SGBDOs. Escril);~ Iin tbnsayo clue se w n t r e r n las siniilitutlc:~ y t1ifrrrnt:ias vn estos p~.o~lut.tos.

2. IIaga una invt~stigacibn 1d)liogrif'ic.a so1)rt. 10s sistemas l m a d o s en el conocimic~nto. ksc-riha un rnsayo sobi-r t1u6 rvl)rrsentacihn d r l c:onocimieuto (16git:a, redes srminti- (:as o arn1;lzonrs 7frurn~s- es nibs apropiada para t:onstrnir 10s futuros SBCs). Kxplique las razoncs tle su twnc:lnsicin.

3. (Amere m a pcquriia 1)aw de datos para nna emprrsa tle ventas hipot6tic.a. Mwst re chmo extentliendo 6sta a nna base tlr t:onocimientos s r nwjoraria la toma de clrcisionrb d r la (,mprrsa.

Page 498: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

P A R T E

EL LEGADO DE LOS SISTEMAS

DE BASE DE DATOS v

L os primeros siste~iias de basc.5 tle tlatos han ttmido un aniplitr uso co1nt.r- rial. .4unque no tan elrgantcs como 10s sistemas relacionales, orientatlos a objrtos y las bases de conocimitwtos, tlichos sistrnlas s r siguen utilizantlo

en la actualidad, t i rnrn capatidades poderosas para m w h a s aplicacionrs y son tli gnos cle rstndio.

En el Capi tdo 15 s r prrsrnta la drfinicibn tlrl modrlo en red. Se definr e ilustra la representat~ibn del modelo cont.eptua1 y s r introduce y se muestra el lenguaje de mani- ~ d a c i b n tle 10s datos del modelo en red.

El Capitulo 16 presenta el motlrlo jerrirquico. Examina la representacibn del modrlo conceptual d e manrra similar a como se hizo con el modelo en red. .4tlemis, se presents '1 lrnguaje dr manipulacibn d e 10s datos del IMS.

Page 499: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS EN RED v

Antecedentes historicos Conceptos basicos y definiciones

Estructura de tres niveles Registros y conjuntos

Interrelacion del modelo en red con la semantica del modelado conceptual Transformacion de conjuntos de objetos e interrelaciones uno-muchos Transformacion de interrelaciones n-arias Transformacion de interrelaciones muchos-

muchos Lenguaje de definicion de 10s datos (DDL) del

D BTG De l modelo de datos al esquema Del esquema al subesquema

Lenguaje de manipulacion de 10s datos (DML) del D B T G Facilidades de recuperacion y actualizacion del

D B T G Ejemplo I : Recuperacion simple de un

registro Ejemplo 2: Recuperacion de 10s registros

con una caracteristica particular Ejemplo 3: Eliminacion de registros utili-

zando la orden ERASE

Ejemplo 4: Modificacion del contenido de un registro

Ejemplo 5: Adicion de un nuevo registro a la base de datos

Facilidades del DBTG para el procesamiento de conjuntos Operaciones de conjuntos

Ejernplo 6: Inclusion de un registro en un conjunto

Ejemplo 7: Anulacion de un registro de un conjunto

Ejemplo 8: Modificacion de la asociacion de un conjunto

Clasificacion Ejemplo 9: Estado de la insercion y de la

retencion en un conjunto IDMSIR-Un SGBD del DBTG Evaluacion de CODASYL D B T G

Representacion de 10s datos Lenguaje de manipulacion de 10s datos Restricciones de integridad Implernentacion

Resumen Preguntas de repaso Problemas y ejercicios Proyectos y cuestiones profesionales

Page 500: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

490 DISENO Y ADMINISTRACION DE BASES DE DATOS

Ritu Minkowski. lu tlirectorcj de 10s sistemus de informucion de la Corporucion Zeus, usis- tiu (I lu reunibn rnenbuu/ de 1(1 .s(wihn 1o (~d d~ 11 Asociation jor Computing Machinery l-iClrl). El tern(; de esu turde era " L ~ s .sisternus ( 1 ~ ~ ( I S P S d~ (h to s rclacionalc~s vcJrsus 10s sister nu^ ( 1 ~ hus~.\ OP clatos jer4ryuicosjj.

John Stiller. (11 udministrudor regioi~crl de ventus paru un SGHI) en red popular, conienzo: "Se puetle esperur c p J 10s sisternus relacionules t rab(~jen bien en cuunto a la sutisli;ccibn de Ins necesidades de consultus at1 hor por p r t e de 10,s usuurios. pero nun- ccr puc~clrn logrc~r el rendimiento necesurio puru 10s sistc~mus clc~ procluccihn. Sin c~mbur- go. lo nmyoritr de 10s sisternus cle I K I S ~ S de datos se convierten en m u rnezcla de trunsuc- ciones de produccion -tales ( ~ m o Iu u(~tuu1izncibn de in~lenturios y el envio de fuc turu~- I ( Y N L S I L ~ ~ U S at1 hoc, con Qnf(~sis en 10s sistemus d~ procluc.cihn. Dc~sufortuna- rlomentr. 10s sistemus de produccicin ulturncnte efirientes y lus consultus a d hoc son acti- ~ i d u d r s n~u t~rornen t~ e x c h ) entes. Por eso nosotros continuamos soportando el modelo en red. Este rnodelo upoyu lus necesicludes de In ~nuyoriu de 10s usuurios con lu mayor velo- citlocl j c$cic.ircia."

El cor~fer(~ilc.iai~t(~ .siguiente f i e Andreu Villu, profesoru titulur tle unu universidad locwl. Los s i s tenm jerciryuicos y cJn rcd se dedicun tipicumente cusi por entero a actici- dctcles cle produccion poryue es lo yue hueen mc~jor. )i Continub: ''L\o obstante, no propor- cionctrr lu jlc.tibilidud i~eces (~r i (~ para soportur completainc~ntc~ lus corrsultus a d hor. Con r t i ~ SGHI) err recl, scJ puede uburcur lu informacibn de lus ventas por rg iones , per0 pue- tle consrtrnir nrcis tiempo recuperur el t i p tle resumen de 10s datos yue necesita un geren- tcJ con~c.rc-itrl. l i ln n&. existe un(1 generuci6n cwinpletu de directivos que quieren -y esperait- este t i p C I P ( ~ ~ p u c i d u d . Esta es lu ruzbn por la c u d tar~tos profesionales han u p ! udo el rrrodelo relacional, yue o frwe la jlc~xibilirlud necesariu para responder u la chse de cons~rltcts at1 hor que scJ pluntean 10s directivos en cuunto u informaciones resu- inidus."

En la refutacibn, Stiller cith su propiu investigacibn, yue mostrb yue 10s sistemus relucionules tienden (I ser nrcis lentos yue 10s sistemus de bases de dutos jercirquicos y en red. yue han registrado rlc-ords de rendimiento. Seiialb yue 10s usuurios tendriun yue emprrnder una renovucibrt muy cura de su equipamiento y rediseiiar su sisterna purcl coil- seguir el inisino rendimiento con u n rnotlelo relucionul.

Villa rnooib su cubezu. "Desde luego, ulgunos de 10s sistemus relucionales mas recientes no pueden tener el inismo comportanliento estadistico en cu(into a1 r~rtdimiento yue ulgunos de 10s sisterrrus jercirquicos y en red ya estublecidos durunte mucho tiempo. Y, en situaciones en las yue lus estructurus de 10s datos y 10s putrones de /us trunsuccio- nes se conocen muy bien con antelucibn a1 diseiio y u In irrrplenlentcieibn, 10s sisternus jer&-quicos y e n red pueden prepurarse pura producir rendirrrientos mas impresionantes que algunos de 10s SGRDs relucionules." Preguntb: " ~ P e r o qu i swede si las mtructurus de 10s datos cumbiur~? 20 si el gerente cornerrial yuiere resumenes de dutos yue no son parte de la estructuru de 10s datos o de 10s patrones de /as transucciones origincdes? Para obtener la informucibn. se &be escribir url n u e ~ ~ o progruma de aplicucibn o , inclu- sive, rediseiiar parte del sistemu de base de datos. Cualquiera de estas opciones consume mucho tiempo y es muy cara. Sin embargo, en el rrrodelo relacional se puede extraer fcicil- rnente esta informacibn. Esto sign$ca yue es posible durle u 10s directivos la informacibn que necesitun para fundamentar sus decisiones estrutigicus. A largo pluzo, esta capaci- dud huce que 10s sistemas relacionules sean rrrris qficientes para u n mayor numero de usuarios. "

Entonces la reunibn se abrib a preguntas y r-espuestus. Lo yue dio como resultado una rica discusibn yue sugirib yue hoy dia las bases de datos jer6rquicas y en red estcin vivas y gozan de buenu salud, pero que, quizcis, no son 10s modelos del futuro.

Page 501: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS EN RED

(hnfrrrnce on Data S> & m ~ s Languages (CODASYL). Una organizac-ihu cunpuesta por reprcscntantrs tlr ~endedorcs dt. hardware, I endetlores de sol'twarr ! uiuarios: eonocida principalmente por el dcsarrollo tlel lenguaje COBOL.

Databaw Task Group (DBTG). Un subgrupo dr (,OD 1st L rou la responsabilitlad de tlcsarrollar normas pdra los sistr~nds tlc geiti6n tle h a w tlc ddtoi.

In~egrated Data Store (IDS). I'no dc lo* primeros qi\teuias dc grstihn d r I)asrb tlr datos: su arquitet.turd influ! 6 p~ antlrmrnte cn las rrcomtmtlac~onei tlel DRTG para un motlelo de haw de datos en red.

E n estt3 taapitulo se presentan 10s funtlamt'ntos tlt'l n~odelo de datos en retl. I)t*sl)116s tle leer este t.apitulo. tlelwria svr cbal,;lz t le:

Destmlm- la t.strnc*tnra de datos t1isit.a a par t i r tie la twal st. twnstrnyr r.1 niodelo de datos en r t d . Explkar la ternnnologia utilizarla para t lescd)ir el nioclelo tie tlatos en red. I t i l i ~ a r los nibtotlos f ~ n i d a m e n t ~ l e s [lard representar un niotlelo orientado a ol)jt.- tos ell un nodel lo tie tlatos tan r r d . E x l ~ l i t w tv')u~o s r utilim r l lrnguajc- tle tlescripti0n de 10s datos para iniplementar las estrut-turas clr ( h o b r n rrtlrs. D c s t d ) i r t h n o oprra (*I lenguajr tle nianipul~ci6n de 10s datos del DBTG para retwl~t~rai- y at'tuahzar 10s d'itos. K':\aluar el niotlt.10 COD I S 1 1, DBTG.

Antecedentes hist6ricos 1,as reties twnstituyeu nna 111;rnri-a natural dc reprcscmtar las interrelacionrs r n t r r 10s objetos. St: utilizan aniplianirnte en las niateniiticas, la investigaci6n operativa, la qui- mica, la fisira, la sociologia y otros c a m p s . Como 10s ohjetos y sus interrelariones cons- titnyen maneras iitilcs de rnodelar niuchos de 10s fen6nicnos que nos conriernen r n ltrs ncgocios, no es sorprendtmte que la arquitectura de reticules se aplique ta111bii.n a la trrga- nizatiOn tie las bases tlr tlatos.

Generalnientv, las retles se pueden representar metliante una estructura matemitica llaniatla grafo oricutado. Los grafos orientatlos tienen una estructura simple. Se ronstru- yen con 11untos o nodos conectados por arcos orientados o aristas. Dentro del marco d r 10s motlelos tlr tlatos, 10s notlos pueden considerarse como tipos de registros de 10s datos y las aristas puetlen twnsiderarse como la representaci6n de las interrelaciones uno-uno o uno- ni~ic.lios. h i . rl i u ~ d e l o d e datos e n red representa 10s datos en estructuras de reticules de 10s tipos de registros t~onec~tados por interrelaciones uno-uno o uno-niuchos. La estructura dr l grafo l'arilita la rel~rrsentaci6n simple de las interrelaciones jerirquicas (como 10s datos grnralt;giros), las intrrrelaciones de pertenencia (como el departamento a1 clue se asigna un rml)lvado) y niuchas otras. Ademis, una vez clue sr ha estahlecido m a interre- laci6n r n t r r tlos ohjrtos, la recuperacihn y la nianipulat:ihn tle los tlatos asociados puede rcalizarse eficienteniente.

Conio se explicari en breve, una jerarquia es a n raso particular de un reticulo. E n t:orrespondencia con ello, el modelo de datos jer i rquiro, que s e r i discutido en el pr6xinio c.apitnlo, es un caso particular del niodelo de datos en red. Si hien el motlelo tle tlatos j e r i r - tp ico hist6ricaniente precede a1 modelo de datos en red, parece util discutir primero la estructura de grafos del motlelo en red que es m i s general. De este modo, en este capitulo sc. trata el modelo de datos en red y en el capitulo siguiente el modelo jerirquico.

La organizaci6n Conference o n Data Sys ten~s Languages (CODASYL) ', formada p r representantes de 10s vendedores de hardware, de los vendedores de software y tle 10s usuarios m i s importantes, inicialmente desarroll6 y normaliz6 el lenguaje COBOL a1 comienzo de la dtcada de 10s aiios sesenta. A finales de esta dCcada, esta o rgan izac ih noni- 11ro un su1)grupo denoniinado Database Task Group (DBTG) para desarrollar las normas para 10s sistemas de gestiGn de bases de datos. Este subgrupo DBTG estaba fuertemente intluido por la arquitectura utilizada para el prirnero de los SGBDs, el Integrated Data Store (IDS), desarrollado por General Electric. Esta influencia condujo a las recomenda- ciones para un modelo en red que aparecen publicadas en un informe preliminar en 1969.

' Confrrmria sobrr 1,mguajrs dr Sistrmas dr Dator. Por rrr un nomhrr rstahlrrido, sr mantienen las sigh rn in& (U. tlrl T.).

Page 502: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACI~N DE BASES DE DATOS

esqaelna. I,a vista lhgica tle todos los datos y sus interrelat.iones en la base de datos.

subesque~na. lies snbconjuntos del rs tprma que w clcfinen por la vista drl usuario d r la hase de datos.

tipo d e registro. Una colerri6n d r elemrntos d r 10s datos lbgicamentr relarionados.

conjunto. En el modelo DBTG, una interrrlaci6n uno- muchos rntrr dos tipos cir registros.

tip0 d e registro daeiio. El tipo d r registro en el lado "uno" de la interrelacibn uno- muchos d r un conjnnto DBTG.

tipo d e registro miembro. El tipo de rrgistro en el lado "muchos" de la interrelacibn uno- murhos de un conjunto DRTG.

Estr primer informe din lugar a nnmerosas sugerrnrias para SII pt~rfbccionamirnto y sr p~ihlicb un informe oficial revisatlo en 1971 clue st. sometii, a la consitlerat*ihn del Ame- rican National Standards Institute (ANSI) para sn posihle adopt%n como m a norma national para 10s SGHDs. La organizacibn ANSI no realiz6 acci6n algnna a1 rrspec*to y 10s informes modifit*aclos de 1978, 1081 y 1984 surt:dirron a1 inf'ormr d e 1971.

Sin enihargo, el documento tle 1071 permanecr como la proposit-ihn fnntl;in~ental del modrlo en red, q u r st. convirtib en el motlrlo DBTG de CODASYL. H a servido cle hase para r l drsarrollo de 10s sistemas d e grstiim tlr bases de datos r n rrtlrs por parte dr varios vendtdorrs. El IDS (Honeywell) y r l IDMS (Computer hssoriatrs) son dos d e las imple- mentarionrs romrrriales mejor ronociclas.

Annqur el modelo tlr datos en red ratla vez m i s p a r r w retlrr el paso cm el future al motlrlo d r tlatos rrlac.iona1 romo el SGBD a rlrgir. actualmrnte se ntiliza con efretividacl en nnmrrosos sistemas d r hasrs d r datos.

Conceptos bLicos y definiciones Estructura de tres niveles

El modelo r n retl D B ' K twrrrspontlr a la arquitertura tle tres niveles tlr una h a w ile datos d e la ANSIISPARC (Capitnlo 3), como se intlira a continuaci6n:

El nivel conceptual (la vista l6git:a d e todos 10s datos y sus interre1at:iones en la hasr tlr datos) s r denomina esquema. El nivrl rxtrrno (las vistas d r 10s usuarios de 10s datos nrcesarias para tliversas aplic.arionrs) se tlrnomina subesqueina. El nivel intcrno (10s drtaHes fisicos de almacenamiento) rstli implicito en la imple- mentacibn.

Registros y conjuntos

Solamente hay dos estructuras d e tlatos fundamrntales en el modelo en red, 10s tipos d e registros y 10s conjuntos. Las tipos d e registros s r definrn de manera usual como colrccio- nrs de elrrnentos de 10s datos lbgicamentr rrlacionados. Por ejrmplo, el tipo tlr registro d e un cliente podria incluir 10s elrmentos de,los datos siguientes: ID-Clientr. Nomlwt:, Dire(:- c i h , Cantidad-Que-Dehe y Fecha-DdIltimo-Pagc,. Observe qur rsta colecribn s r iden- tifica como nn tipo tle registro del clientr, dc manera yue el tipo d e registro s r especifica por un nombre. Todos 10s t i p s de registros recilwn nombres como CLIENTE, FACTURA. REPRESENTANTE-DE-VENTAS y asi sucesivamentr.

Un conjunto en el modelo DBTG rxpresa una interrelacibn nno-muchos (o uno- uno) entre dos tipos d e registros. (Observe qne ksta no rs la definicibn matemlitica usnal de conjunto, que es simplemente una colect:ii,n dr elementos.) P o r ejemplo, un conjunto poclria expresar la interrelacibn uno - muchos entrr 10s registros de 10s clientes y sus fac- turas pendientes. En cada ronjunto tlr un rrticulo, un tipo d e registro es el tlneiio y el otro tipo de registro es r l miemhro. En el ejemplo r r c i h planteado, el t i p ile registro del clirn- te es el dueiio y el tipo tle registro d r la factura es el miem1)ro. La interrelacibn uno- muchos comprentle la posibilidad de que rero, uno o muchos registros dr factura puedan estar interrelacionados con el rebistro de un cliente dado. Esto es, en un momento tlrtrr- minado, un cliente puede tenrr, digamos. tliez, una o ninguna facturas pendientes. El latlo "muchos" realmente expresa una c:apaciclad m i s que una res t r i cc ih .

P o r supuesto, hay situaciones en las que una interrelaci6n es estrictamentr uno- uno, tal como ocurrr con un camibn y su conductor, pero esto se maneja d r l mismo modo. Una vez que s r determinan el tip0 cle registro due60 y el tipo d e registro miembro, todas las definiciones anteriorrs son aplicables.

Page 503: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS EN RED

instanria. Falows actuales del registro euprtwulos en m a cstrwtura dc datos.

orurrencia. U11

iinhnirno para instanria

1 CLIENTE I I CONJUNTO

CLINTE-OC

DUENO VENDEDOR DUENO

CONJUNTO VENDEDOR-OC

ORDEN-DE- I COMPM(0C) / MIEMBRO

CONJUNTO OCART~CU LOS

Diagrama de la estructura de datos

(a)

CLIENTE VENDEDOR A -

'I I" Ocurrencia

(b)

Estas convenriones se ilustran en el ejemplo mostrado qn la Figura 15.1. La Figu- ra lS. l(a) presenta la forma general de la rstrurtura de datos. Esta se denomina diagrama de Bachnian en honor a Charles Bachman, quien cooper6 en el desarrollo del sistema IDS en General Elertrir. La Fizura 15.lib) muestra los v&res reales denominados instancias " , , 11 ocurrencias, qur pueden encontrarse en la estructura del diagrama de Bachman.

En la Figura 15.l(a) sr observan cirrtas convrnciones representadas en 10s diagra- mas. Primrro, 10s conjuntos se denotan por una arista rntre 10s tipos de registros, con la flecha indirando el tido de registro miehbro iel lado "muchos" en la inte;relacihn ano- " muchos). Segundo, cada tipo de conjanto se constraye a partir de un tipo de rrgistro dae- iio, un tipo de registro miembro y a n nombre para el tipo de conjunto. El nomhre del con- junto es la etiqueta que se le asigna a la arista. Esto corresponde a un grafo en el qae 10s nodos son 10s tipos de registros y las aristas se representan por lineas con flechas que conectan 10s tipos de registros. Tercero, la estructura de datos se constraye a partir de las interrelaciones de 10s conjuntos simples. La Figura 15.l(a) maestra tres conjuntos: el con- junto CLIENTE-OC con CLIENTE como dueiio y ORDEN-DE-COMPRA como miem- bro; el ronjunto VENDEDOR-OC con VENDEDOR como dueiio y ORDEN-DE-COM- PRA como miembro; y e1,conjunto OC-ELEMENT0 con ORDEN-DE-COMPRA como dueiio y LINEA-DE-ARTICULOS como miembro.

Page 504: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~~N DE BASES DE DATOS

retirulo ro~nplejo. 1Jna t3structura insormhtira en qur una o ~ n i s inttw&cioucs ])inaria\ wn n~uchos-murhos.

tipo dc registro enlace. Un rrgistro firticio qur -e r r ra para convrrtir un reticwlo romplrjo en un rr t icdo simple rquivalmte; tam1)iin sr dri~omina una intrrsrrribn.

l,a Figura 1,5.l(a) prol~orciona n n ejt.ml)lo tle la difermcia entre rl ntotlrlo tlc datoi en rctl y el modelo de datos jrrirtjuiro. Fijese qne OIWEN-DE-(:OMPI<l r i tin tipo dt. re~6str.o miemlwo dc dos roniuntos: CLIENTE-OC \ VENDEDOR-OC. En el motldo jerirtjuitw. ningun tipo tle registro pnede ser mit:ml)ro clr (10s cwnjuntos diferentrs. Sin eml)argo, esto se prrmitt. en el motlelo dtl datos en rcd. Asi. en la rstructura de datos en red sr garantiza nn potlrr tlr rrpresentacibii adicional. Esta distincihn rs importante portjue es una d r las tliferrncias prinril)ales entrr el modrlo dc datos en red y el motlrlo de datos jrrarqnico, que se distmtiri en el capitulo siguirnte.

Coiiio ('1 inodelo en rcd permite ilniranirnte lab intrrrelarionei iiiio m u r h o s rntre loi t i p de regiitroi, alguien se podria prrpuntar cbmo ie modvla una interrrlari6n murhos- miit*hos. I,a Figiira 15.2 r i Iin t~jemplo t.l&iitw de m a interrt.laci6n n~uchoi-iniirhoi. In eitndiantc- puede estar matrirulatlo cn niuc-hoi ~ I ~ O S 4 un grupo drterminatlo puetlt. tenrr ~nuchos eitudiantei. El modelo DBTG permite solaniciite retirulos ai~nples en la i que twlai las interrclariones son nno-uno o uno-iiinchoi. Un rt.tic.ulo complejo. qutb inclli- ye una o \ar ias interrt.lariones m u t ~ h o ~ - mut'hos. no p e i l e iniplenic~tai-se diret*tamrntc en rl modelo DRTG. Sin rmbargo, hay 1111 mbtotlo para transformar un retirulo twnplc- jo. coino la dc la Figura 1.5.2. r n un rctic.ulo iimplc. conlo requiert. la i~nplrinentac~ihn tlel 1)BTC.

El mbtodo es i i n d a r a1 mStodo m t ~ l i a n t e el twal los morleloi t*onccl)tnalei se t rani- forman r n t;~l)las relationales. Ket~ortl~wwi que cwando la vardinalidad rntre dos t-onjurl- tos tle ohjetos es muc.hos-niuc.hos, i e t w a una tabla relational clue twutiene lob atrihutos (.laves tle 10s tlos wnjuntos de ohjetos rt.lacionatlos. Aqui se alr1it.a un nijtodo similar. Cuando (10s t i p s d r registros, como ALUMYO v GRUPO, se cont,ctan en una interrela- ri0n mwhos-muchos, se rrea m a intersercihn o t i p d e registro enlace qur ronsistc. por lo nienos, en las claws d r 10s registros ALUMNO y GRUPO. A disc:ret*iOn del tliseiiatlor 1)uetlen aiiadirse otros atri1)utos.

E n la Figura 15.3 s r ilustra rste proredimicnto. Se r rea nn tipo d e registro rn1at.r nomhrado AC, que rontirne 10s campos ID-ALUMNO t, ID-GKUPO. C h n o se muestra en la Figura 15.3(a), el tipo de registro AG particiona la in te r re lac ih muvllos-muchos en dos interrelacionrs uno-niuchos. P o r ronsiguiente. el ti110 tle registro AG sr ronvierte en mirmlrro de dos conjuntos, el SET PERTENECE-A1,-GRUPO y el SET TlENE-M.4- TRICULADO. La Figura 15.3(1)) ilustra chmo se (area una instanria del registro AC para cada p a r alumnolgrupo. P o r ejemplo, Rex I , U ~ I I C S poser tres registros AG, uno por cads grupo e n 10s cjue 61 e s t i matrirulado. D r manera similar, Botiriica 500 posrr dos registros AG. uno nor vatla estudiantr matriculado. La necesidad d r mrmoria v ltrs rrcruisitos de ~)rocrsamiento adirionales son inherentes a la r r e a r i h d r estos registros artifitiales. "

pero ahora el modelo d e datos e s t i en forma de r e t i t d o simple y satisfaw 10s recpisitos del DBTG.

Page 505: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS EN RED

ALUMNO rn CONJUNTO PERTENECE-A-GRUPO

ALUMNO GRUPO I AG CONJUNTO TIENE-MATRICULADO

GRUPO n

Interrelacih del modelo en red eon la sema'ntica del modelado conceptual

Como hrmos considerado el enfoque del modelado conceptual de 10s datos para cstudiar 10s sistemas dr bases d r datos, resulta apropiado examinar la intcrrelacibn entre el mode- lo de datos en red y el modelo de datos conceptual. En esta seccibn se muestra c6mo un modelo de datos conceptual sr puede transformar en un modelo en red.

Page 506: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

enlare f'i4c.o. I111 oietlio (It. c.onrt.t;rr 11,s rtyistros utilizantlo bus tlirtwioncs r n tlisco.

Transformacicin de conjuntos de objetos e interrelaciones uno-muchos

El mc~tlrlo en red put& t:onsitlerarsr conlo Iln modrlo de dntos c o n t q ~ t u a l w n todas las intrrrc1acionc.s rrstringitlas a c o n j ~ ~ n t o s hinarios (tle tlos ol)jetos) r interrrlavionrs uno- ~nnvhos o nno-uno. Esto perniite una rrprc~sentatihn g r i l i t : ~ ~ de las rs t ror tnras dtb tlatos sin conq)licac.ioncs. E n lugar dc 10s twnjnntos d r ohjvtos del modrlo tlr datos t ~ o n t ~ c p t ~ d . sts tirue11 registros 16gicos que s r concctan con otros rrgistros l6gicos m d i a n t r vnlaces fisi- cws tlue t*onsistcn r n dirrcciones tle 10s rrgistros r n 1.1 disco. ( M a rn1at.e reprrsenta rxac- t;nnrnte m a interrelatiOn en t r r dos rt.gistros. I ln wnjunto es la intrrrelnciim entrv dos t i p o d e registros conrt.tatlos por un enlac-c* h n a r i o .

P a r a a d a r a r esto. veamos otro t.jemplo dr la t w m p h i a International Protlnrt Dis- t r i l ~ n t i o ~ i (IPD). (:onsidt:remos 10s mismos herhos tlrl vaso anterior y agregutwios q u r la con~paiiia IPD s r organizu en 10s departanwntos funcionalcs nsualt.~, talrs twn~o contaldi- dad, t:omrrcializirtii,n y otros. La Figura 15.4(a) rs 1111 f r a p w n t o dc un modt:lo tlr tlatos contq)tnal para la IPD tlut, ilnstra la intt.rrrlacihn rntre los clientes y las mentas cle 1PD. La Figura 15.4(1)) mwhtra 141no el fragmcnto tlrl motlrlo sc translorma tw nna cstrnctui-a d r tli~tos r n r d .

La corrrspondencia tbs bastante tlirccta. Los noml)res d r los objetos s r wnvi r r t rn cn 10s no~nhres tlr los rcgistros. 1,os atri1)utos d r 10s ol~jetos st, convi r r t t .~~ en 10s twnpos tlv 10s rcgistros. La interrelacihn entrr los objrtos se convierte r n la iuterrelacihn rntrc los regis- tros. Si la rralidad es qne nn cliente puetlr t r n r r rnuchas t*urntau y que una curnta pnrtle 1wrtt'nwt1r a UII imico clientr, como sc intlica en la F i g ~ ~ r a 15.4(a), rntonces s r ahade m a f l rrha en el t>xtrelno CIJENTA tlel en1at.r TlKNE-CUENTA (Figuras 15.4(1)) y 15.5(a)). Si un clirntr puede tener m a unica twtmta. p r o esir twenta j)uctle prr tenccrr a varios clirn- tes. rntonces la flrcha se aha& r n el rxtremo tlrl clirnte tlrl rnlace TIENE-CUEN'M, conio se muestra m la Figura lm5.5(b).

LOS r j m ~ p l o s anteriores nos cotitlut*en a la exprrsibn de estas reglas clr transfor- macihn:

Kegla 1: Para ratla twnjunto tlr oljjetos 0 1.n un rsqncma twnrrptnai, rrrar nn t i p dl* registro K rn la r s t r u r t ~ ~ r a tit. datos I W rrd. Todns 10s atri1)utoz dr 0 se rrpresrntau coma t-aunpos dt. K.

ID-CLIENTE NOMBRE -> GRECCI~

CONJUNTO CLIENTE-CUENTA (b)

CLIENTE

CLIENTE CUENTA

I *

BALANCE ID-CLIENTE

CUENTA

NOMBRE DIRECCI~N NUMCUENTA

Page 507: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS EN RED 497

CLIENTE CUENTA

U n cliente puede tener varias cuentas, per0 una cuenta debe pertenecer a un solo cliente

CLIENTE CUENTA

Una cuenta puede pertenecer a varios clientes, per0 cada cliente debe tener solo una cuenta

Re@ 2: Para intrrrrlarionrs uno-rnuvhos. VI t i p de registro en rl latlo "uno" (Iv la intc.rrt.lacwn sv ronvirrtr rn VI t lo~lio. y VI t i p de registro en el latlo "muc.hos" dt. la interre- lavihn se cwnviertr m el t i p de registro rniernhro. Si la Vartlinalitlad d~ una intrrrrlarihn es estrirtamente uno-uno, entonrcs los t i p s tle rehdstros dut-lio y n~irinhro pacden elrgirsr arb- trariarnmtc..

Transformaci6n de interrelaciones n-arias

La rornpaiiia IPD tamhibn t ime algunas interrelaciones ternarias, como 3r mnr3tra en la Fig11ra 15.6(a), que no satisfacen el requisito de interrelaci6n binaria. Sin rmlrargo, exihte nn camino srnrillo para satisfacer ese requisito, como SP ilustra en la Figura 15.6(1)). Se

PRODUCTO

PRODUCTO PA~S

CONJUNTO FECHA-

CONJUNTO PRODUCT0 ENLACE PAIS-ENLACE

u REGISTRO ENLACE

Page 508: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

c w a nn registro enlace, tlut-. a1 n~t~i ios , dehe e ~ t a r (-ornpt3sto [)or el I ' ; I I ~ I ) O c.l;~\r (*atla ( ~ 1 1 -

junto dc ohjetos. \,a creatihn (I t , tsstt. rtyfistro enlace l)tbrni~ttb la rel)resr~ltac*~On (It' 121 t'struc- tnra dcl rnodelo cont~el)tual chu forn~a dt. retitalo. -\horn las trt.5 intt~rrel:ic.io~i(~s son I~ioariai .

Ohserve que In intc.rrc.lacii111 entre loi wgiitros c,xiitc*ntc.s \. c.1 rcyistro c.1i1ac.c. 1,s 11110-

rnnchos, con el rvgistro c.nlac.e sirnil)re twnio rcbgistro ~nic.nll)ro en c.1 conjimto. 1,as oc8i1- rrencias be muvstran cLn la F i ~ n r a 15.7. La t*stratt.gia tle crtnar t i p s (It. registros r1ilac.e pue- de extendt-rsv sin modificacibn Ijara la tr;~nsforu~at-ihn (11. 1'1s interrt~1acionc.s 11-arias a la forrna requrrida. La tercera regla tle transforniati&n i(* t ~ l ~ r t ~ s a con~o:

Transformacih de interrelaciones muchos-muchos

Como se vio en el clJemplo anterior itI,lJ MNO-GRUPO, nna sitnacihn siniilar podria snrgir c:uando aparecen interrrlacionw nnic*hos-~nnchos.. Como otro ejemplo, cwisidrreinos una situaci6n que existe en la c.onipaiiia I PI). 111 fahricante 1)netle protlncir nint*hos l)roclnc*tos y cualquiera de estos prod11c.tos 1)urcIe srr. r1at)orado por varios fahricaritt.~. En la Figu- r a 15.8(a) se muestra un dingrama tle rsta situ;~ciOri. La implcmcntaci6n rcqnicrc qut* sc crec un rcgistro enlace, clue se no~nhra REG-KNLACE. Esto se mnestra en la Fignra 15.8(1)). La interrelacibn entre PRODIJCTO y REG-KN LACE es uno - niwhos. asi caorno la intc.rrc:lacibn entre FABRICANTE y REG-ENLACE. Se satisfacen 10s requisites tlel moclrlo en red DBTC.

E n la Figura 15.9 se presenta tin c.j(:mplo de este motlelo cle datos. El fahricante Smith suministra los protluc*tos 115 y 116. El produeto 115 tnm11ii.n sc suministra por Shirdlu, lnc. ~ P u e d e ver qub surtderia si Joe Kean Mfg. t;~nil)iPn snrninistra el proclucto 116, o si Shirtllu c:omienza a f a h i c a r el ~)roclncto 120 o un nuevo p r o d ~ ~ c t o I X ?

La idtima regla se refiere a esta situaci6n mnchos-murhos.

Keg10 4: Para catla intrrrrlacihn murhos - rn~whos rlltrr 10s twr~juntos tlr objrtos 0, ! O,, (:rear un t i p tlr rcgistro rnlacr I , y ronvrrtirlo rn rl t ip ) tlr rrgistro ~nirml)ro tiv 10s 111,s tiposdr t-onjuntos, en los t.ua1t.s los tluefios dr 10s t i p s tle ronjuntos son 10s t i p s dr regis tr~)~ rorrt:spondirntrs a 0, y 02.

LK?!As F<j<T DK. 5, 1988 Ene. 13, 1989 [l Ene. 15, 1989

Page 509: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS EN RED

FABRICANTE LREC PRODUCT0

PRODUCT0 FABRICANTE

FABRICANTE

Ron Smrth 450 Maple St. 115 Grampa

dlrectamente

PRODUCT0

Shrdlu. Inc. 68 Industrial Road 115 Pdea

-

CONJUNTO CONJUNTO FABRICANTEIREG-ENLACE PRODUCTOIREG-ENLACE

Joe Bean Mfg. 266 Harm Ave. 120 Correa

MUCHOS-MUCHOS 4 b

No lrnplementable

Lenguaje de definici6n de 10s datos (DDL) de DBTG i h ~ a l i r e ~ n o i , ahora. loi 1i.neuait.s metliante los cuales se im~,lcmenta el modelo d r datos r n

< <

rcvl. Estos Ivngll;~jrs c.oustituyen 10s mctlios mrdiante los clue sc: cy)rc.iTic:a la c-strucatura dr tl;~tos o (4 esqut:ma y metliantc. 10s q u r sc alrnacenan y nlanipulan 10s datos. El lwguaje uti- liz;~clo 11ar;1 eslwcific.ar el rscpc:ma se tlcnomina Icnguaje d e dcfinicicin d r los datos (Data 1)cfiiiitioii Language-DDL) y c.1 Ienguajv utilizado para almaeenar y manipular 10s datos W , tlenomina l e n p a j e d e manipulaeiim d e 10s datos (Data Marripulation L a n p ~ a g c - D\IL). Rn esta seccihn sr p~-csenta r l D1)1, I)RT(; y CII la siguic.ntc' rl DML DU'I'CJ.

Del modelo de datos a1 esquerna

(:or110 se l)lantc.h anteriormente, la dcfinicihn genc.ral de una 1)asc de datos en red -sus rrgistros y (wljuntos- s r clenoniina rsquenia. k;';n partic:ular, el rsqucm;r tlesc:rih las ill-

terrrlacionc~s entrr 10s tipos tlr rcgistros, identifica 10s rlenimtos de los d;r~os clue cwnstitu- yen ratla tilw tle rrgistro y define 10s tipos cle rrgistros dueiio-niiemhro quc deterniinan 10s

Page 510: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

La stwiirn tlrl equcma tlrl I)l3T(; ( fur tlrfinc, 10s

t i p s d r rrgistros durlios los tipos de rrgistros niit~mhros.

tipos d r cw~jnntos. A cwntinuacibn b r intlica un procedinlirnto 11ara la utili7acihn tlel DDL (,n la tlrfinicihn de un e q u t m a :

Crear cl motlrlo (It. datos conwptual. Transformar el motlelo tle datos conceptual r n 10s diagramas de la es t rwtura d r clatos tan ~wl.

V-vrificar si existen interrrlationes nno-muchos r n t r r los t i p s tle rtxgistros. P~ivclcw implemcntarse directnmente como ronjnntos DHTG. Si t.xisten inte~wlaciones mnchos-mnchos, transformarlas r n tlos cwnjnntos clue tengall interrclaciones uno-muchos. t.onstruyendo los rrgistros en1acc.s nec:esarios. Si hay interrelaciones 11-arias. cwnvertirlas r n intrrrelariones 11inarias ~netlian- te el 1116todo ilnstrado lrrrviamt~nte.

Utilizur el DDL para iinplrnirntar v1 t w p w a .

IJna seccicin clel esquenla, cjne nomhra cl escjnenln. Secciol~es d e registros, quc proportionan las esl)c*eific*ac*io~~c.s dt- vatla estructw r a de rrgistro, s r ~ s elemcmtos d r 10s datos y sn l o c ~ ~ l i z a r i h . Seccioncs tle conjuntos, qne rspecifiran todos los ronjuntos, in thyrn t lo 10s tilros (It. registros tluc:fios y miemhros.

Consider(: (-1 modelo tlt. dntcrs t~onc.c:ptnal en la Fignra 15.10. La compaiiia IPD tltw.a in~plemmtar r l esquema corrrsl)ontlitmtr. En la Fignra 15.11 sr murstra la transfo1maci6n en la cstrnctura tlr tlatos en rcd. El nso dr l DDL para implenicntar r l rsquema sr murstra t.n la Fignra 15.1%. Las linras tlr c.6digo se nnmt~ran para la refercmcia en nuestra tliscusi5n.

La seccihn dcl rsqnema st, representa en la linea 1. Esta linea identifiva lo clue sign(. conlo una drsc:ripc.i6n drl rstlnthma para una h e d r datos non11)rada REGISI'ItO-DE- CUEIUTAS. Rste nomhrr s r suministra por r l nsuario.

D r la linea 2 hasta la linra 15 c.orrrs1wndr la scccibn dy rrgistros. Cadat ipo d e rrgis- t ro se itlrntifica por el nombre: CLIENTE, FACTUR.4 y LINEA-1)K-ARTICULO. P a r a ratla t i p de registro. s r definrn 10s rlt~inentos tlr 10s jlatos d c los componrntrs. Para CLIENTE bstos son ID-CUST, NOMBRE, DIRECCION y R.4LA4N(:E-DE-(:ITEN'1':\. P a r a cxda elemento de 10s datos s r (la un tipo de datos y nna r q ~ c i f i c a c i 5 n d r l o n g i t d . P o r ejemplo, a BALANCE-DE-CUENTA s r It: asigna el t i p (lr clatos NUMERIC y nna

CONTIENE +

Page 511: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS EN RED

CLIENTE-FACTURA CLIENTE FACTURA i

FACTURA- ART~CULO

longitud tlr cinco caractrrta.s. con dos caractrrrs a la tlerecha del punto drcimal. 12qubllos q w sr idmtifican como INTEGER tienen una longitud implicita.

Los conjuntos pueden rspt.c.ific*arze cnando se hayan ckfinido todos 10s registros. En la Figura 15.12, dv la linea l h hasta la linea 21 se murstran rjrmplos para el esquema REGISTRO-DE-CUENT I S . La d r f i n i r i h (it. nn conjunto requirrr poi- lo mrnos las t r r s linras mostratias. La primera linra sc utiliza para n o m l m r r l t i p de (.onjunto, la segnnda linra para n o m l m r rl tipo tle registro ducno J la tererra linra para nomhrar r l tipo de rrgistro n ~ i e m l ~ r o . En la Figura 15.12, un cwnjunto br n o n h r a CLIEIVTE-F4CTURl y tie- ne a CLIENTE como sn tipo de registro tlurfio 4 a FACTURA como su t i p tlr registro miemhro.

1 . SCHEMA NAME I S REGISTRO-DE-CUENTAS 2 . RECORD NAME I S CLIENTE 3 . ID-CLIENTE TYPE I S NUMERIC INTEGER 4 . NOMBRE TYPE I S CHARACTER 1 5 5 . DIRECCION TYPE IS CHARACTER 2 0 6 . BALANCE-DE-CUENTA TYPE I S NUMERIC ( 5 , 2 )

7 . RECORD NAME I S FACTURA 8 . NUM-FACTURA TYPE I S NUMERIC INTEGER 9 . FECHA TYPE I S CHARACTER 9

1 0 . CANTIDAD TYPE I S NUMERIC ( 5 , 2 ) 1 1 . ESTADO TYPE I S CHARACTER 2

1 2 . RECORD NAME IS LINEA-DE-ARTICULO 1 3 . NUM-INVENTARIO TYPE I S NUMERIC INTEGER 1 4 . DESCRIPCION TYPE I S CHARACTER 2 0 1 5 . PRECIO TYPE I S NUMERIC ( 4 , 2 )

1 6 . CLIENTE-FACTURA 1 7 . OWNER I S CLIENTE 1 8 . MEMBER I S FACTURA

1 9 . FACTURAARTICULO 2 0 . OWNER I S FACTURA 2 1 . MEMBER I S ARTICULO

Page 512: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

divisiGn de titulo. 1':sta 1~orci6n ( i d sul)est~uema del I)I%TG permite nomhrar (4 sohesquema y sn est1uc:ma asociado.

divisi6n d c correspondencia. Ida porciiin dcl sul~esquema del I)I%T(; clue pcrmite cambiar los nombres ntilizados t:n (:I esquema por Ins nom1)res elegitios para el suhcst~uema.

divisicin cic: estructura. La tlivisi6n tlel suhtw~uema del DRTC clontit: se definen los registros, los elrrnentos cir los ilatos y los I-onjuntos a partir dcl vsqut:ma.

seccicin dt: rc:gistros del suhesquema. 1.a wccibn de la divisiiin de cstructura que cyeeifit:a 10s reb$tros, Ins clemt:ntos tie 10s datos y los t i p s tie ciatos del subcsquema.

seccihn de conjuntos del esquema. La set:ei6n tie la divisiiin dc estructura que define Ins conjuntos que sc incluyen cn el su1)esquema.

Del esquema a1 subesquema

Mientras clue el esquema dcfinc: la estructura Ihgica grnrral cle la I)ase tle tlatos, el snl)- c:scperna desc:ril)e la vista vxterna de un usuario o 1)rograma tle aplit~at%m. L,os snl)es- c~uemas bisic:arnentc: son sn1)c:onjuntos del esqnerna. Sin ernllargo. la intlel)endencia tle los datos (para pvrmitir la variedad de terrninologia ( I ( . 10s nsuarios) se garantiza lwr~ni - tiendo que tiifieran algnnos de 10s elementos del esquema. Los elenwntos de los datos clue no se agruparon m c:1 csqucrna puetlen agruparse; 10s elementos de los datos. 10s regis- tros y los conjuntos st. p w d r n rt .no~nl)rar: > el orclen tle las desc*ripc:iones 1)uede can)- 1)iarsv.

No se ha awptatlo nna norrna DBT(; 1)ara 10s s u l ~ c y u t ~ n l a s ; sin c*nil)argo. usual- mt:ntc5 st: utilizan las divisioncs signientes:

Ilna divisi6n d e titulo, qut* garantiza noml)txr el snl~escluerna y su escluema aso- tiado. IJna division d e corrc-sponclenria, (1ncS garmtiza 10s t*aml)ios t.11 10s noml)rt*s cntrt. r l esqurma y r l sul,rsc~nt~nia, si scb tlcstha. 1Jna division d e e s t r w t u r a , (lu(. espcc*ifica los rc.gistros. 10s chnc.ntos de 10s datos y 10s conjuntos clel escluema ( ~ n c t.sttin l)rchscmtc:s (:n el s n l ~ c ~ s c ~ n c ~ n ~ a . Esta divisihn st. twmpone tle set.t*iones d e registros y tle c -on j~~ntos . I,a srcciGn d r regir t ros del s u h e s q u e n ~ a tlvfine 10s registros clue se i n ( ~ l n y ( ~ n ('11 ('1 s n I ~ t w ~ n ( m a y 10s elementos tle 10s tlatos tie tw)s registros c w ~ ~ n n t a n ~ e n t e con sus t i p s de datos. La secr ion d e c o ~ ~ j u n t o s del s u b e s q u c n ~ a itlentifica los conjnntos qne se incluyen en 61.

Una aplicacihn tic: la cwmpaiiia TPD quc. c.alcula cI ninnc.ro tlv facluras pcnr1icmtt.s por cliente, asi (:orno las cantidades atleudadas en esas Sacturas. se utiliza cwuo nn elern- plo. A part i r dc:l csquema REGISrI'RO-I)E-CIJENTTISt la aplit.aciOn hni t . ;~n~rntr r r tp ie re los t i p s dc reb+tros CTJKN'l'E y FFICT1!RA y el conjunto CLIENTE-F.I(:TITRA. En la Fignra 15.13 se muestra el sul)esqnc.ma.

El nornbre del sul~esquema (SS) t-s ESTADO-DE-FA(:TI!RSS. La tlivisihn ( I t -

c.orrc:sl)on(lc:n':ia murstra clue el registro CLIENTE del cyuc:nia se ha renon~l)r;~cio DEU- DOR y el conjunto CLIENTE-FACTURA se ha renom1)rado DEUDOR-FA(:TIIR-\ rn rl subrsquema ESTADO-DE-FL4CTUR,4S. Esto se realiza en la secciOn ALIAS. dontlt. I D tlrnota "descripci6n del alias." El registro CLIENTE dcl esquerna se ha renom1)ratlo (-on el alias DEUDOR en el su1)c:squcma y se han invluido jnstamrnto trvs dr lob twatro (.It.-

mentos (if: 10s datos que conlprenden el registro CLIENTE en el escluema. I A instruwihn

SS ESTADO-DE-FACTURAS WITHIN REGISTRO-DE-CUENTAS. MAPPING DIVISION. ALIAS SECTION. AD RECORD CLIENTE IS DEUDOR. AD SET CLIENTE-FACTURA IS DEUDOR-FACTURA. STRUCTURE DIVISION. RECORD SECTION. 0 1 DEUDOR.

05 ID-CLIENTE. 05 NOMBRE. 05 BALANCE-DE-CUENTA.

01 FACTURA A L L . SET SECTION. SD DEUDOR-FACTURA.

Page 513: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS EN RED 503

ordenes clc uavcgacirin. Ortlenei tlel DhlL DBTG utilizatlos para txiicontrar 111s registros clc la l~asc~ (It . tlatos.

ortlenes tlr ac,tualizari6ii dt. regiitros. Ordt-nrs tlel DhlL DRTC utilizatlas para ran11)iar los \ a1ort.s tlc los r t y stros.

6rdeues cle at-tyalizacioii tle c.oujuiitos. 0rdt.ilt.s tlel DhlL DBTC ~~tilizatlas para carcar. t.ainl)iai. o rliniinar las instantias tlr Ios l~oll,j~llltcls.

iiiclicaclores actualeh. hlarratloi-es tlt- la nl)ic.at-ihn (It- los registros que se 11an t,neontrado.

plantillas de 10s registros. Formatos ntilixados para los registros clue st- leen en el UWA.

FACTLRA ALL intlic-a clue sr lian incliiiclo todoi lob elementos tlr 105 d a t o ~ del rrglstro FACT11 I(4 en el eitluelna. 11or lo qiitl no hay necesidad dt, t.sptifit.arloi nuevamente.

Coino se puetle \er. el sul)c.iqut.ma permite a1 nsnario utilizar un esquema preckfini- do para aclaptarlo a lo- rc.quisitoi cle una aplicacG~n p a r t i t d a r .

Lenguaje de manipulaci6n de 10s datos (DML) del DBTG

El lenguaje t l ~ iiianipnlac.ihn (It. 10s clatos (DMI,) clel DBTG proporciona 6rdenc-s potlero- sas para m a i ~ i l ~ n l a r un sistenia tle base de datos en red. Rsto es, 10s metlios a trav6s de 10s ( * i d e s puetlei~ utilizarse los datos contenitlos en la base de tlatos pare soportar Ios requisi- tos de infoi-niac.iOn tlv la organizatihn. Una vez clue se diseiia la 1)ase de tlatos y sc. c w a uti- lizando ~1 DUL. c.1 DML pwmite a 10s usuarios ejeeutar oprac iones sobre la llasc: tle tlatos con el prop6sito tic prolwrtionar inforniacih e i n f o r m r ~ , asi como tamhi6n actualizar ! niotlifit*ar (4 contc.t~itlo tle 10s registros.

A tliferencia tle 111s DMLs de los sistemas tle Ilasrs tle tlatos relacionales, cuyos trlw ratlores prowsan relationes completas tle una vez. 10s ol~c.ratlores d d DML DBTG 1)rot.e- san 10s registros tle uno en uno. hlemris, el DML tiene q u r estar inmerso en un lengua,jr anfitrihn. tal wnio COBOIJ. 1,as 6rdenes 1)iisic.a~ utilizadas por DML pueden clasificx- sr en 6rdcnes tle navegaci6n, 6rtlenes d e recuperacion: o r d r n r s d e actualization tle registros y 6rtlenes tle artnalizacihn d e conjuntos. E n la Figura 15.14 sc prcsentan las 6rctcnc,s t k ratla nno t k estos grupos.

Antes tle ilustrar el DMI, DBTG con t.jemplos. se ncwsita tlef'inir los tCrminos qut. st. reqneririii pt11-a la tlist*iisihn.

El ~ w i m e r c.tnic2epto es el de i r e a d e t rabajo del usuario (User Working Area- UWA). Catla usuario o prograiiia de aplicati0n tiene un UWA. Los registros en el s11l)cw qnema se altnacenan e n el UWL4, c:onjnntameiite con lob indieadores actualrs y 10s int1ic.a- tlores tle estatlos. La forma c:n clue el registro sr r s t r w t u r a en el 1JWA se tlt~noliiina plan- tilla del registro.

Coiisitlei-emos la Figlira 15.15. Aqui se tiuwstra un i r e a de t rahajo ~111si1)lr I -orrrs- pondientc, a1 s n h ~ s t ~ u t ~ m a tlt,finitlo en la Figura 15.13. El puntero actual DEUDOH intli- c.a la localizacihn tlel illtimo registro procesado de ese tipo tle registro. El p~l t i tero actual FI:1CTCR.4 int1ic.a la localizarihn del ultimo registro pro(-csado de ese tipo de registro. El puntero actual DKlj DOR-FACTURA intlica la 1ocalizat.ihn del idtimo registro asotiatlo a ese cor~junto al clue se 11a tenitlo acxeso, sea dueiio o miemhrtr. El puntero actnal RCN- UNIT int1it.a la lot*alizat~ii,n tlel hltimo rrgistro tle cualqiiit~r t i p a1 qne se ha tenido at*- 1-eso.

Se drlw ohservar (IIW c:sos int1it:adores ar tualw f'unciman cotno mart.atlores tle lora- lizarihu. Cuando 1.1 usnario emite m a ordeli FIND (pendiente tle dist.nsihn), se encuentra el registro y sc. iii;irc*a su posicihn en el indirattor at*tual correspontlicnte. (:uantlo se emite

T i p o Orden Navegac ion FIND Recupe rac ion GET A c t u a l i z a c i o n de r e g i s t r o s ERASE

STORE MODIFY

A c t u a l i z a c i o n de c o n j u n t o s CONNECT DISCONNECT RECONNECT

Page 514: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

14 Bean I50 I / I PLANTILLA DE DEUDOR I

I APUNTADORES ACTUALES I

205

fl DEUDOR

0 FACTURA

PLANTILLA DE FACTURA

3 1-05-90

DEUDOR-FACTURA

u RUN-UNIT

25

~ r e a de trabajo del usuario en la memoria primaria

01

INSTANCIAS DE DEUDOR .

10 Smith 10

INSTANCIAS DE FACTURA

un seguncto orclen, el SGBD sc remite al indicador actual para cteteruiinar con quC. re,' mi~tro t r a h j a r . Brevementv, (4 tipo ) la funribn de los punteros actuales son 10s siguientes:

Indicndor de la unidad de ejecucibn: La uniclacl cle ejecucihn (Rnn Unit) se relie- r e a1 programa dvl usuario. El indirador tle la unidad de ejecucibn rontiene la direcci6n del registro, o ( 1 ~ la instancia de un ronjunto, a la rual el programa de aplicaribn ha tenido acreso nt is recieiiteniente. E n la Figura 15.15 es la factw r a 205. Indicador de tipo de registro: Hay un indicador actual para cada tipo de rvgistro en el subesquema. Para cacla tilw dv rcgistro, el UWA contiene la dirwcihn del registro de ese t i p ) a1 rual el progrania tuvo acccso mris rccicntemente. E n la Figu- r a 15.15 se tienen 10s indicadores actualcs para 10s t i p s dc rcgistros DEIJDOR j FACTURA y apuntan a los registros qne corresponden a Rean y a la far tura 205.

Indirc~dor de tipo de conjunto: Un pnntero ar tual rontiene la dirercibn del regis- t ro dc un tipo determinado de roniunto a1 rlial se tuvo arceso m i s rerientemente. Para cada t i p dv conjunto se mantiene por separado un pnntero artual. El pun- tero p u d e seiialar un registro dueiio o miembro, dependiendo de a r u i l se tuvo acreso m i s recientementt.. La Figura 15.15 mnestra el indirador actual para r l liniro ronjunto en este snl)esquema, DEUDOR-FACTURA, y st.iiala un registro miembro, la far tura 205.

Los punteros precedentrs st: actualizan automiticamente en la medida clue o c u r r m 10s arcesos a1 sistema dr h e d r datos. Es instructive pensar en 10s indicadores actualcs

Page 515: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS EN RED 5 0 5

como variahles en una t a b . La Figura 15.15 ~lnstr;r lob ~ndicadore i artuales posil)lei para el suhesquema EST4DO-DE-FACTURAS.

Lai 1,antlwai tic, eitados constituyen un conjnntcr d r \ ariablrs utilizatlo para c~onui- nicar el reiultaclo (le la illtinla operaci6n ejecntada r n rl progrania de aplicari6n. I,a ban- tlcra mlis frecuentemente utilizatla e i db-stutus. Sn \ a h se ignala a "0" si la operacii~n mas reciente t111o bxito; dt. lo contrario, se le asigna 1111 c6dlgo dc crror. El uso mlis cermhti cle vita handcra t,s ieiialar el final de 10s datos. Ent r r otras handeras de estados se inrlu- yen db-s~t - i~arne , rlb-rword-nume y db-rluta-i~anw. Estas Ixm-lrras toman vdlores apro- piados cuando la hltilna operacihn falla, como un meclio para identificar la fuente de nn prohlema. 4 rontinnacihn se prcicntarlin cjcmplos dc sn uso en las coniultai.

Facilidades de recuperaci6n y actualizaci6n del DBTG I,as 6rdenei FIND iclcccionan y localizan un rrgistro deseado o una instancia determina- da de un conjunto. Esta es la raz6n por la cual i e denominan 6rdenes de navegaci6n. 1)es- pu6s. tiene que ntilizarw una orden GET para recuperar realmente 10s datos. La orden FTND tamhibn podria cstar seguitla tle una orden de actnalizaci6n, tales como ERASE o MODIFY.

S~ntl i r t~camentr . hay tIos formas dc 1'1 ordcn FIND. como i r muestra a rontinuaciOn. partei opcionalt-i tlt, las 6rdenes se denotan mediante rorchetes ([...I) y 10s nomhres

que i e snminiitran 1)or el nsuario 3e ind icm~ por corchetes angulares (< ... >).

F I N D ANY w o m b r e de r e g i s t r o > [USING <lists de campos>] F I N D DUPLICATE sombre de r e g i s t r o > [ U S I N G <lists de campos>]

Ejeinplo 1: Recuperaci6n s i r ~ ~ p l e d e 1111 registro. Supongamoi clue la twmpaiiia IPD qni r r r la informarihn del Clirntr 105. Sc aplican la i brdcncs siguientei:

MOVE 105 TO ID-CLIENTE I N CL IENTE F I N D ANY CL IENTE USING ID-CLIENTE GET CL IENTE

La orclen FIND provoca clue el indicador de la unidad dc cjccucibn, el indicador CLIENTE j (11 indicador CLIENTE-FACTUKA seiialen el registro del Cliente 105. Enton- ces la o r d m GET trae el registro a la plantilla C1,IENTE en el UWA.

Ejemplo 2: Re(-uperacion d e 10s registros c o n uria caracteristica particular. Supongi~- mos ahora clue la compaiiia TPD (p ie re todos los registrob de lob clirntes que tengan 10s ha lan tw de .;us cuentas iguales a rero.

MOVE 0 TO BALANCE-DE-CUENTA I N CL IENTE F I N D ANY CL IENTE USING BALANCE-DE-CUENTA DOWHILE DB-STATUS = 0

GET CL IENTE ( p r o c e s a m i e n t o de un r e g i s t r o de c l i e n t e ) F I N D DUPLICATE CL IENTE USING BALANCE-DE-CUENTA

END-DO

E n r i t e ejemplo se tiene un lazo controlado por DB-STATUS. Esto es, DB-STATUS tomar i un valor d r c6digo diferente de cero cuando no h a l a rnis ruentas de CLIENTE con balances iguales a rero. El primer FIND localiza el primer reglstro de CLIENTE cuyo balance sea cero. El siguiente FIND husca u n DUPLTCADO (DUPLICATE), que se refie- re a otro registro que tenga el mismo valor de BALANCE-DE-CUENTA que el que tiene el CLIENTE actual.

Page 516: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

MOVE 0 TO BALANCE-DE-CUENTA I N C L I E N T E F I N D FOR UPDATE ANY C L I E N T E USING BALANCE-DE-CUENTA DOWHILE DB-STATUS = 0

ERASE C L I E N T E F I N D FOR UPDATE DUPLICATE CL IENTE USING BALANCE-DE-CUENTA

END-DO

MOVE 5 0 2 TO ID -CL IENTE I N CL IENTE F I N D FOR UPDATE ANY C L I E N T E USING ID -CL IENTE GET CL IENTE I F DB-STATUS = 0

THEN MOVE ' 4 5 5 C h e r r y L a n e , S a n M a r i n o , C A ' TO D IRECCION I N CL IENTE

MODIFY DIRECCION ELSE ( e j e c u t a r u n a r u t i n a d e e r r o r )

END-IF

MOVE 5 0 3 TO ID -CL IENTE I N CL IENTE MOVE 'HARRY Z . S M I T H ' TO NOMBRE I N CL IENTE MOVE ' 2 0 1 S. MAIN, SAN MARINO, C A TO DIRECCION IN CL IENTE

Page 517: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL M O D E L 0 D E D A T O S E N R E D

MOVE 500.00 TO BALANCE-DE-CUENTA I N CL IENTE STORE CL IENTE

Faeilidades del DBTG para el proeesamiento de conjuntos

Operaeiones tle eonjuntos

E j r ~ n p l o 6: InclusiGll d r 1111 r(-gktvo e n u11 (wnjunto. Snponga clue 1x1 Cliente 431 el(. la cwnpi i i a I PI) ac.al)a de liac.er nna colnl)ra tle $100.00 s t ~ l ~ r e sn rucXnia ! clue se 11a prtsl)a- I-atlo la fac*tnra asochtla (#231). El (:lirntc. 431 rh aliora el prol)ietaric, tlc nna m e \ a ins tanria de furtura. Ticwc. clnc. e * r e a ~ - ~ e la orurrenria tlel rcy+tro P'4CTI~R1 ?. tlespni.. . set

c*onec*ta al twnjnnto CLIENIE-F \CTITR1. Ehto se waliza d r la n ~ a n e ~ r ; ~ s ipuient~~:

MOVE 231 TO NUM-FACTURA I N FACTURA MOVE ' 717190 ' TO FECHA I N FACTURA MOVE 100.00 TO CANTIDAD I N FACTURA STORE FACTURA MOVE 431 TO ID -CL IENTE I N CL IENTE F I N D ANY CL IENTE USING ID -CL IENTE CONNECT FACTURA TO CL IENTE

Page 518: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

Rlodo an to~ui t i co de inserritn. En cl DBTG, v ~ ~ a n d o un nnevo rrpistro miemhro se (area, el SGRD lo concctari ntornaticammte a la orurrenria drl conjunto

MOVE 254 TO NUM-FACTURA OF FACTURA F I N D ANY FACTURA USING NUM-FACTURA DISCONNECT FACTURA FROM CLIENTE-FACTURA

1,as 1)rinwras tlos instrutviont~s localizan la fac twa deseada. I,a i n i t r u c c i h final la desronecta del twnjnnto del t-nal es , rc t~~almente un registro mieml)ro. El registro perma- ntw, totlabia en la I ~ a i e de datos con bistas a su verificaci6n y couiervat*ihn.

La orden DISCONNECT permite clue nn registro t*an~l) i r st1 aiotiat.ihn (.on nn con- junto. Por ejemplo. inpongamos que la Fartura 510 se asigna errhnran~t.nte irl conjunto cn!o tluello e i el Cliente 425, enantlo deheria hal)erw conectatlo con rl twnjunto tauyo t h e - iio txs el Cliente 431. Para twniegnir el camhio clue rcrrrige esta sitnirtihn se procederid twmo ic mlwstra en el ejemplo siguiente.

Ejeniplo 8: Modifit-arihn cle l a asociacion cle 1111 conjunto

MOVE 510 TO NUM-FACTURA OF FACTURA F I N D ANY FACTURA USING NUM-FACTURA MOVE 431 TO ID-CLIENTE I N CLIENTE F I N D ANY CLIENTE USING ID-CLIENTE RECONNECT FACTURA I N CLIENTE-FACTURA

Las dos primeras initrnt~.ioues localizan el registro deseado P4C71'U I < \ . I,as ins- truwiones tercera j cuarta localizan el registro tleseado CLIENTE. La d t i m a iustrucci6n conetata la Fat-tura 510 al conjunto r u ) o t l n e h es el Clientc 431. Esto taml)ii.n cfecti~a la supreii6u tle la Fat-tura 510 tlrl conjunto ( . ~ ~ j o tluefio es el Cliente 42,;.

Clasificaci6n de la asociaci6n de conjuntos

La c l a w d e inbercion vn un c o ~ ~ j u ~ ~ t o ! la c h e d e retenci6n e n u n conjunto son dos (*la- ics de asoc-1aci6n de ronlnntos. La insercGm de nn conjnnto se rcfiere a la manvra tbn qoe nn 1nienl1)ro consigne colocarse en uua ot*urrenria del cwnjnnto. 1Jna bez qne un regiitro mie~nl)ro sc a+na a nn conjunto, Id ('lase tle retentihn tlel twnjnnto tlctt.rmina t4mo y cwhntlo nn rcyystro miem1)ro pnede snl)ri~uirse tle ese twnjnnto.

Los 1no1105 de ~ n s e r c i h tle un twnjnnto se definen por la instrnt*tihn

INSERTION I S <mod0 de i n s e r c i o w ,

dondc las opciones del motlo tle inserrihn son manual o a~~tomhti tw.

El niodo manual (It. insercion reqniere tjnr el rrgihtro m i c d ) r o scb cdoque en el twnjnnto utilizantlo m a orden CONNECT para enlazarlo con la ocnrrencia de- yeatla tlel twnjunto. La inserci6n manual se realiza mrtliante la instrncci0n

CONNECT < t i p 0 de r e g i s t r o > TO < t i p 0 de c o n j u n t o >

Supongamos clue tenemos el f ragn~ento de sulwsqucma signientc:

SET NAME I S CLIENTE-FACTURA. OWNER I S CLIENTE MEMBER I S FACTURA INSERTION I S MANUAL RETENTION I S OPTIONAL.

Un ejemplo de su uso se present6 en el Ejrmplo 6.

El mod0 d e insercion automit ico significa que cuando se crea un nuevo registro miemhrcr. el SGBD lo conectari auto~niticamente a la ocnrrencia corrrcta d r l conjunto. Esta t w u r x i h ocur r i r i siempre que se ejecuten instruccioncs tiel tip0 siguientr:

Page 519: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS EN RED

STORE < t i p 0 de r e g i s t r o >

retrnci611 fija. I h 1.1 DRTG. una t ez cjne 1n1 regiftlo ~n ien~l ) ro ie ha asignado a una oc11rrt.nria cle un conjunto, no p u d e anularse de esa oc>urrenria del cwnjnnto a int*nos que el re,' 1r15tro se snp ima tlr la I)a-e cle tlatos.

retenci6n obligatoria. En el UlWG, m a vrz (IN(. un registro miemhro sc ha roloc*ado rn una orurrrncia tle tin ronjnnto. siernpre tienc. c111r eitar en alguna ocwrrenria dc rsr cwnjunto.

rrtencion optativa. En 1x1 DBTG no hay restrirrionrs impurstas sohre Ins ronrxiones o las reconexiont~s para 10s t i p s de conjnnttrs.

Supougamos clue en el fragmc*nto tlrl s ~ ~ l w s q u e m a precwlcnte, A1 IN 1 - \ I , se reen- plaza por -Il1TOMATIC. R I ejemplo h c-amhiaria tle la manvra siguiente:

MOVE 431 TO ID-CLIENTE I N CL IENTE F I N D ANY CL IENTE USING ID -CL IENTE MOVE 231 t o NUM-FACTURA I N FACTURA MOVE ' 717190 ' TO FECHA I N FACTURA MOVE 100.00 TO CANTIDAD I N FACTURA STORE FACTURA

Las (10s primeras lincas twnvierter~ a1 Clientc: 4.31 en el registro artnal (1~1 c . t ) ~ ~ j u ~ l - to C1,IENTE-FACTURA. Las trcx ins t r~~cc ionrs s iguimtt .~ crean el n w \ o regis- t ro FACTUKA. La orden STORE insert& el registro en el c w n j ~ ~ n t o deseatlo CLIENTE-FiiCTURA, ya q u r la conexicin para thste conjunto se M i n e wrno AUTOML4TIC. 1,as ol~ciones dc rrtent:iOn en un conjunto son:

Fija, significa clue una vez clue un registro mieml~ro se ha asignaclo a una o c w rrrncia de tin conjnnto, no purtle anularsc tle esa ocurrencia tIc1 co~ijunto a menos que el rrgistro sc suprima rle la I)asr clc datos. 0l)li;ratoria. signifira c~uc una vez cjue un registro mirml)ro se ha cdocxclo cn una owrrrncia tie un (.onjunto. siempre t ime cIur rstar en alguna ocurrencia dv esr col~junto. No pnede tlrwonwtarse- o reronrrtarsr. a 1111 conjunto tle otro t i p . Optativa. signifira cjue no hay restricciones i ~ n p ~ w s t a s s o l m las c o ~ ~ e ~ i o n e s o las rcvwnexiones a 10s t i p s tle conjuntos. C n registro designatlo tlr esta mane- ra no necwita estav conec:tado a algim conjunto cwalquic.ra.

El modo de rctencicin en un conjunto tan~hi;n rige, lo clue se permite c.uanc1o s r suprilne 1111 rrgistro clucfio tle un conjnnto. Si el modo de retenci6n es fijo. se l~orrai-& el con jmto completo. Si el no do d r retencihn c:s obligatorio. entoncrs la operacihn de elimi- nacihn es ilegal, puesto que 10s registros mirmbros tienen q n r p r r t r n c w r a una ocurrenria del conjunto. Si el mode dtb retencihn es optativo, entonces el rrgistro se suprimir i y 10s registros mie~nhros del conjunto para 10s wales es dueiio se descwnec.tarin y permanew- r i n en la 1)ase d r datos sin asociacihn al conjnnto.

Ejernplo 9: Estado d e la inserci6n p d e la retenci6n c n u n conjunto. Considerrnlos el e s q u m a dc la Figura 15.12. Se ilustra el uso d e la esprc:ificacibn d r l estado de la insercihn y d r la retenci6n en nil conjunto extendiendo la definicibn dr CLIENTE-FACTURA y FACTURai-ARTICULO. Supongamos clue qurremos especificar una insert-ion MANUAL y nna retenci6n OPTIONAAL. En la Fignra 15.16 se lnnrstra el esqliema modificaclo.

CLIENTE-FACTURA OWNER I S CLIENTE MEMBER I S FACTURA

INSERTION I S MANUAL RETENTION I S OPTIONAL

FACTURA-ARTICULO OWNER I S FACTURA MEMBER IS LINEA-DEARTICULO

INSERTION I S MANUAL RETENTION I S OPTIONAL

Page 520: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

IDMS/R - UN SGBD del DBTG IDRISIR significa I i i t ty~ i t r t l Datiil)asr Managemelit Sl;strm/Rclational. St. I m a en r l mode- 11) r n r r d DBTG y . 11nizLs. rs t.1 qne lia tcwitlo mhs ;xito dr 10s proclnt*tos I)asados tSn rste ~ n o t l t h . La R s r inrluyi) 1)al-a intlit-ar In aditihn tlr ciertas c.arat*tt.ristit~as rr1arion:iles al IDMS. E n prinvipio. la int t~f 'az rel;~tiorial rtwilta d r i n t t ~ b s para t.1 nsuario. La rs t rur tnra 1)hsit.a tlt.1 IDMS cwrresl)ondr rsti-t~c~l~ainentt~ twn las t.sl~et.ifit.ac*ionrs r n rvdt.s drl I)BT(;.

El IDMS ap1it.a los cont8rptos c'strut.tul-ales tlr rtyistro y d r twnjunto. cwmo s r drfi- 11c.n poi- 1.1 DHTG. El rscjnmia tlel IDMS rsth c*ompl~esto por uno swci;m tle dtwriprihn tlvl t w p r m a (SCHEMA DKSCRIP'I'IOY). una s e t ~ i h n tlr dcscript.ibn dt, registros (RECORD DES(:l<IPTION) ! nna set.tihri d r drst-rilwi5n dtb twnjnntos (SET DESCRIPTION). de acuertlo con el tlisriio dt.1 DHI'C. . h l e ~ n i s , incluye nna srccihn de tlrst,rilwiOn tle arrhivos (FlI,E DESCRIPTION) tpw tlrfinv totlos 10s archives intrrnos y l t~s asigna a arcliiws vsternos. El 1DMS taml,i6n i n t ~ l u ! ~ ~ una srwi0n d r (It-stsri~wihn clr Arras (AREA UES-

Awn. En rl 11)111411~. CRl I'TION). t~ut ' asigna l~art i r ionrs dt. awhivos a hrras rspet:ific~as. 1Jn irva cs nna zona una Z O I I ~ I tlr tit, a ln~atwmnitmto q n r t*ont ir~ir uno o mas t i p s d e re,' w t r o s . i~lnlac.c~t~ainir~~tc, c l r i cb El sn l~rsqu t~ma tlrl IDMS 110 t-ontirur nna divisibn d r eorrc.sr)or~tlelic.ia (MAPI'ING) t.onticwt. uno ( I ttllis lmrqur. 011 grnt'ral. I I O scblw~.~nitru alias Ilara 10s rrgistros, 10s cw~ijuntos o 10s rlenwntos d r ti1)os (It , rt*gist~.os. los di~tos. Cnando nu rt'gistro de1 tw1nrni;1 s v ntiliza twml)lrtamcnte r n t:l snlwscpw~na, (410

se ral)wsa 1)or

ELEMENTS ARE ALL

Si s r r t y ~ i r r r alghn sul)cwiunto dl. 10,s r lrmrntos tle 10s datos tlt.1 registro. i r d ~ m o - ta por

ELEMENTS ARE <e lemen to d e 10s d a t o s 1> <elernento d e 10s d a t o s 2>. . . <e lemen to d e 10s d a t o s n > ,

tlondr 10s rlrnientos tlr 10s datos sr putvlrn permutar srghn las nrt.t:sidatles d r la al~licacihn. I,os conjuntos s r dt*finrn dr nianrra similar a la pr twri ta por el 1)HTG. cwn algnnas

difrrmcias i~nlmrtantrs. No rsth tlislwnil~lt. la retrnciih FIXED t w 1111 t*onjnnto. SOlo sc. lwindm las t~apat:idades tle rrtrnribn MAND-4TOKY y OPTlONIL. Taml~ibn t*sisten cirrtas rrstrit*tionrs I ~ a j o las cua1t.s 10s rrgistros p~~rclct i inclnirst. r n el s ~ ~ l ~ r s t l l ~ e n i a . El IUMSIK ohli- ga a t p c . lusconjuntos quc pntlirran snpri~nirsc. borrando un rrbistro dnriio e s t h inthidos r n cuc~lqziier snlwsc~uema qur contmga rsr rebistro. Esto evita la propapacihn d r la orden ERIISE a 10s rrgistros clue no se iurlnj-rw en r l twnjunto definido r n tXste snlwstInrma. Ello podria sutwiw si el rrgistro clnriio se borrara. ocasionando el lwrrado de 10s rvgistros mieni- hros y istos, a $11 vrz, fiwran 10s tlueiios dt: otro conjunto no inc:luitlo en rstt: csqnenla.

E n grnvrall las t-strnrturas drl IUMS son firlcs a las recomendat.ionrs del informe dr l DBTG.

Evaluaei6n del CODASYL DBTG En esta serc.ihn se compara el motlelo COD-ASYL del DBTG twn rl tnodelo rt.laciona1 para evalnar comparativamente sus fortalezas y dcbilidacles.

Representacih de 10s datos

Una diferencia importante entrr el modelo rtlacional y el mocklo en red rs la manera m que s r representan las interrelaciones. En el mode10 relational, 10s enlaces entre dos rela- ciones s r establecen incluyendo un atributo con el mismo dominio de valores -frccuente- nientr con el mismo nomhrr- en amhas relaciones. Las filas que rstAn lhgicamentr rela-

Page 521: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS EN RED 5 1 I

c-iouadas tendrhn en c.acla rdacihn los mismos valorrs para esc atrihuto. En r1 ulotlelo rll rc:d DKTG. la c~ardinaliclad Ilno - murhos cntre d m t i p s cle rrgistros se esta1)lcc.r rnr(liau- tt: la definicihn csplirita dr l tipo tlr c-onjunto. Entonws. el SGBU ront*cata 10s rcyistrok en w d a t i p (I(: cwr~jnnto mcxliante punteros fisicos.

Esto signifie;i tlucb 10s registros sc t:onect;~n fisic*amcnte c ~ ~ a i ~ d o j)arti(il)an en la inis- ma ocurrcncia d r un cwnjuuto. Esta represent;~rihn cy l ic i t a de los t i l~os de (*onjunto st. ha considvrado c.omo una ventaja tlcl motlelo en r ~ 1 . 1711 argumento a t ruer en rurnta cbs cliw el n~odvlo r n retl utiliza (10s w n c q ~ t o s tle n~otlclado, el t i p tle registro y el tipo tle ( W I I ~ I I ~ I -

to. micwlr;~s clue el modelo relational lltiliza un h i c o conwpto. la r c l a c i h .

Lenguaje de manipulacicin de 10s datos

Las ol~eraciones tlc navegacihu y tle rwupt.raciOn del 1 ) M L DRTC sc e fe r t i~an sohrr rcyis- tros simples. en cwntraste c20u las ol)rrac.ionc.s tlel ~uoclelo relachual t p e se e f e c d ~ a r ~ s o l ~ r e r c h i o n e s c*onlplctah. M a s oprrariones tlvl UBTG tlehen estar inmrrsas ell un leugnsj(~ tle

. , 1~rogramac:lon aufitri5n w m o vl COBOL. C o ~ n c ~ las oprrac.iouc.s ( I t ) rnanipulac-iOn orieuta- das a los registros s r hasau earl las o1wrac.iont.s tratlicionales tlv prowsamiento tlr arcsl~i~-os. t.1 ~)rograrnador newsita tbst;lr intiman~cmte familiarizatlo ron 10s intlicatlorc.~ artilales y sus signifitwlos para e t i t a r crrores.

Parweria que (11 niodelo relacioual 11rwtle t enw vcwtaja cualldo st. titwr en consitl(w- eiOn el DML. Ksto esth ~~are ia lmeutc c.onfiriuwdo por la adicibn a1 IDIMS tlr una interlaz (11, ~ i suar io rclac.io11al. ronvirtibndolo en I I)YSIR. Los Imguajes de 10s sisttwas re1acionalt.s posrt3u ht:rramient;~s (I( , alto nivt.1 1)ara nperar sohrc los conjuntos dv ~ l q ~ l a s . I,as iinl~l,'- mentaciones c.omerc.ial(.s tle estcls sistemas han incwrj~oratto hrrramientas c*oml)lemrnt:t~.i:~s 1m-a el agr~cpamicnto. la ortltmaribn !. el c*ilrulo aritmbtiro siml~lc. :hleniis. 10s DMLs rela- (ionales pwtlen utilizarse tlirec.tamrnte o pucden estar iumersos c.n nn lenguaje a ~ l f i t r i i ~ i ~ .

Restricciones de integridad

El motlrlo en red UHTG ~ ~ r o l ~ o ~ c i o n a un t:oujunto iltil clv restric.ciones tltl intcvp-idad. F:s par t i r i~larmentc fuerte en w a n t o a s11 c.aparitlatl para 11roteger la integritlatl tle 10s ron- juntos. Las c:ar;~c.trristic.as dc retenci01i cSn 10s c.onji~ntos permiten a1 tliseiiatlor dcterminar (-61110 se delwn romportar 10s registros dueiios ron resl~erto a 10s registros miem1)ros. y viwversa. P o r t.jrmplo. las rrtenciones FIXED y MAUU.1TORY rccpieren qur catla rrgis- tro tcmga un duc.iio. mientras clue la OPTIONAL no lo rrquiere.

La capnc*idatl quc cxpwsa lina restric.c:ii,n scmhntira. tal cwmo la limitaeihn tlr Ias horas t ra l~a jadas a 60 o nienos para almarenarlas en nn registro d r empleado, solanientr pu:de inil~lmicntarse en el programa d r al~licac.ibn (pie opera s o l ~ r c cws registros.

El niodelo en rrtl DBTG es espccialmente eonvenicnte para 10s sisten~as de hases tle datoi q w se carat-trrizan por:

Tan~afio grande. Cc~nsnltas rcp t i t ivas 11irn definidas. Transaccionrs Ijien clefinicias. Aplicaciones hien definidas.

Si totlos estos factores se presentan, entonces 10s usuarios y 10s disefiadores clel sis- tema de base de datos j)ueden centrar sus esfuerzos en asegurar que las aplicariones se programen de la manera m i s eficiente. El lado negativo es que las aplicaciones futuras no antieipadas l~ueden no marrhar h e n , e inclnso pueden requerir una reorganizacih~ del sistema de hase cle datos con un alto grado de dificultad.

Page 522: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

En estv t~apitulo scb han lmwuta t lo los funda~nrntos dcl rnodelo tlv clatos eu r ~ t l 1)KrI'G. Este modelo tirnv nn historial r i w !~ es la hasc para wr ios SGBDs t~sitosos. S c putlo o l~s r r - var tlue un re t i cdo lorma nna ea t r~wtura d e grafo, q n r es la manr ra natural cle represl.11- t a r las intc-rrelacionvs entrr 10s tlatos. Sr j h n t c 0 la historia tle las rt:con~mtlaci)nrs del DH'I'G 11ara la norrnas en rrdv.; y se utilizaron esas rrc*oiricndaric)nes cwmo I)ase para rl res- t ~ , del cxpitnlo.

Sc- encontr i~ clue el moclelo dc datob en red utiliza (11)s (*oi~str~~('(:iolies 1)isicas: el t i p dr registro y el til)o d e (.onjunto. Los registros se drfincw t:orno rolwc:iones d r 10s rlrmen- tos d e 10s tlatos 1Ogic.amrnte rc*lationados. 1,os twnjmtos sc definen nicdiante rek+tros t l lw l iob y 1nirin1)ros ~ I I P t iwen un t d a w Ihgieo. Un diagrania dr la estrurtura cle datos para el modrlo ti(: clatos en rt:d tsonsiste en rajas. que rq)rt:srntan 10s t i p s 1.rgistt.o~. j- arcos. clue e s t a l ~ l e t w ~ las interrrlac*iorws cantre los t i p s tle rcgistros. Estas intrrrt&~c:iones nonl- h a d a s forman los t i p s tlr c o ~ ~ j u n t o s .

S c b ~nos t rh la Inanera en clue los modrlos d e datos conc.eptua1t.s se t ransforn~an en las estrut~tui~as d e datos en rtvles y sc proporcionaron las reglas para guiar cstv prowso. Sc prc-sentaron los tnbtodos tle t rans formacib~~ (I t . interrelacionrb uno-nno, nno-n~nchob y m~~chos- rnn t~ l~os . Tanhibn sc: mostr;) c:hmo cwnwrtir intrrrrlaciones warias a nn conjunto c.quivalentc. de interrr1ac:iont:s I~inarias creando uri registro en1ac.e.

Entoncrs s r preseutaron los lengnajes DBTG. El DDL DHTC proporciona I I I ~ medio para (:rear y clrrinir la I ~ a s e tlv datos. Los conwptos utilizados par;] t ldinir la 1)asc. d e datos incluyeron el esqurma, qne tlef'ine la rstructure lhgica tlrl retic111o r n t6rininos tlr sus t i p s de rt.gistros y de sus t i l~os d r conjnntos.

l lna vtbz clue se tlcfiue el c w p m a , se tlrlinc:u las vistas rs ternas dv esa e.struc*tlua seghu las necc~sidatles tlc los ~ ~ s u a r i o s 4 las aplic*at.ionrs de la base tlr clatos ntiliz;lntlo n n s u l ~ c w p m a p a r a vada nna de las vistas. El su l )esq~~ema lwrmite la s r lec~ihn d e aquellos datos del esqntma quc: imiratnente se nvcwitan. Los elemrntos de los datos purtlen rtbnom- lwarse o rrordenarsc: para ajnstarlos a las nrt.t:sidadrs de la aplivacihn.

Despnbs sr discntih el D3lL DBTG y se dicron varios rje~nplos. Se tlestach que el DML DBTG s r orienta a rcgistros sin~ples y que proport-iona divvrsas hrrramirntas para asegurar la integridatl de la hasr (I(: datos. Las hrdenes DML l,ueckn clasificww en hrdr- nrs dc navegac ih , 6rdent.s tle rrc11prraci6n y hrdenrs de ar:tualizaciAn. Las hrdenes de act1ializac~i6n scb utilizan tanto para actnalizar los rcgistros romo para actualizar las o r w rrentias d r los ronjuntos.

S r rslwz0 l)revemente la implemrutat~iirn comercial dr l modelo d r clatos en red DBTG mhs ampliamcnte utilizatla. IDMSIII. Annqur la R indica qur sc han afiatlitlo algw nas tie las caracteristicas de la interfaz tlr usuario relarional, IDMSIR sigue hisicamente las rec.on~c~ndacio~ies rle disrfic~ dr l DBTG.

Poste1,iormente se 11rt:senth una evaluavihn rrsumida del motlelo DBTG. General- merite stb acepta qnc para transat.ci~nt:s 1)redct1~1-minatlas s o l m la 1)ase de datos, los pro- gramas p~leden drsarrollarse tie modo que el motlrlo en red sea mny eficirntr. Sus deswn- tajas parecrn wnt ra rse c:n peas facilidadcs para adaptarsr a requisites varial)les y a consultas r ~ r l hoc.

1. Delina con sus propias pa1al)ras rada uno tlv 10s tbrminos siguientt.~: a. CODASYL b. DBTG c. IDS d. modelo de tlatos en r t d

Page 523: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS EN RED

DML registro lbgico enlare fisico DDL tlivisi6n tle titulo divisihn tle c~orresl~ondencia divisi611 (11. c.structllra o~.urrent ia tle rrgistro s ec~ i6n (I(. repistros tld sul~c~sqneiua ocurrencia de 1111 c*onjnnto t i p tle registro tlueiio tilw tle rrgistro mienil)ro srt:c.icin de ronjuntos dvl sul)twluema Area dl, t r a l ~ j o tlcl usuario indivatlor actual 1)andcra dc estado hrdrnes (11. ret*uperacihn brt l r~irs tlc navc*gacihu

2. Defina I~rr\enit.nte (pi. funcicin ejetwta catla m a de las Ortlenrs iiguientes tlrl DMI, IIBTG: a. F'IND 1 . GET r . STORE tl. KR1SE

3. Exl~liquc I)re\cmentc la arqoitertura dr tres ni\clc,i tlel modelo en red DBTG. Centw su atenrihn en las funcioncs de cada uno de 10s tres de nilelei ? r h o se relacionan llllos roll otros.

4. ;,De c p i rnotio difirre la definicicin dc conjunto tlel DBTG tlv la definicicin rnaterniticsa clr vonjnnto conio una rolet*vi6n de ol)jetos?

5. Muestre ccimo el nso de un registro rn1ac.r perniitr transformar un ret icdo com1)lejo en un retitwlo simple. ~~t i l i za i~ t lo t u ~ ejernplo.

6. ;,()uC sucederia si m a intrrrelaci6n TI-aria (11 > 1) no fuera transformatla en intvrrela- viones binaria5 equivalent t~ en la ehtrurtura dv datoi en red?

m A. Compare las maneras en qn r (4 mocklo tlr tlatos relavional y el moclelo DBTG r e p - sentan ]as interrelariones.

8. iC6mo tiifiereri 10s lenguajes de ruanipulacihn de daters relavionalrh del DML DBTGY

9. Suponga que s11 jefe le pidici que explicara las vrntajas y las deswntajas relativas a 10s sisternas de h s e s (le datos relacionales versus el modelo en red. ~ Q u C tliria?

1. Haga corresponcler los tkrmincrs siguientes con sus definiciones: --esquerna a. Un nombre dado a la interrelacicin entre un t i p

de registro duefio y un tipo de registro miemhro.

Page 524: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

2. F : \ p t n p las ~xbglas tlt. caste* ral1it111o c j ~ l t ~ st' utilizarian 1w.a transi;~r.~nar t.1 ~ n o t l ~ ~ l o ~ W I I -

I T ~ ) ~ I I ; I ~ tlt. la Figura 15.1 E 1.n I,[ vitrut-tura cle tlatoi tlt.1 DH'I'i;. Mnt'strt' la estruvtura ( I t , tlatc~s ~ ~ c ~ s u l t a n t t ~ .

* CLIENTE CUENTA

Page 525: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS EN RED

VENDEDOR

I

HECHO-POR

5. 4 p r t i r (1~1 esquelna en ('1 1'rol)lema 4. wee un s u h q u r m a para una aplicacihu en 13 que sdamente sc. \en11 los t i p tlr rc.gistros \ ENDEDOII y OKDEN.

(DESCRIPCION) \ *

6. 1 p r t i r ti(. la estrurtura de tiatos DHTG 1.reat1a en rl Proldema 4, eswiba las instrut,- tiones clel DML para rc.alizar lo siguicnte: a. Kecuperar rl registro tlrl Vendedor 13. 1 . Recuperar todas lab 6rdenes con total igiial a 100.00$. c. Elirninar la orticw #2%. (1. Camhiar la (lire(-cibn del Vrndedor 13 a '912 Itlams Street, C;ainesville. FL'. e. Afiatlir el V ( d e d o r 15 a la base de ddtos. El nombrr tlel \cndrtlor 13 es 'Mike

Otteson' y su dirrccihn es -Bustc.i- Building, Suite 95, Toronto. Canadi' . f. Afiadir la Factura #%85 a la hast, rle datos; co~lertar la al Vendedor 15. g. Eliminar la Factura #842 tle la h s e de datos.

NL'MERO )

1. Investigw la literatura sohre las bases tle tlatos con vistas a encontrar discusionrs solwe 10s d ive r s~s modelos de hases de datos. En base a sns hallazgos, desarrolle un informr para ayudar a Rita Minkowski a tomar una resoluci6n aeerca del debate qne ella escnchh en la reuni6n de la ACM.

2. Encuentre ciescripciones miis detalladas del1DMSIR. 2,QuC. caracteristicas relacionales se ha11 aiiadido? iPuetie concluir que estas caracteristicas superan cualesquiera de las ventajas que puedan habersr prodarnado para 10s sistemas de hases tle datos rrlacio- nales? Explique sn respuesta.

PRODUCT0

3. 1QuS sugerencias haria si se le encargara el desarrollo de rrcomentlaciones para el per- feccionarniento tlel motlelo en rtd DBTG? Sea especifico.

4. i,Puede prrfeccGnar el nidtodo para transformar iin modelo de datos conceptual en una rstructura de datos DBTGY iCuiiles serian sus propuestas y en cjuk m d i d a mejo- rarian el mttodo de transformaci6n?

FECHA

* INCLUYE * IMPUESTO

ORDEN

TOTAL

Page 526: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS

lntroduccion Conceptos basicos y definiciones Las interrelaciones del modelo jerarquico para la

semantica del modelado conceptual Transformando interrelaciones uno-muchos

Regla I Regla 2

Transformar interrelaciones muchos-muchos Regla 3 Regla 4

La arquitectura del sistema de gestion de informa- cion de IBM (IMS) ' Definir la base de datos fisica, la DBD Definir la base de datos Iogica, el BEP

Metodos de acceso del IMS HSAM HlSAM HDAM HlDAM

El lenguaje de manipulacion de datos del IMS El area de trabajo del programa DL/ I : Una panoramica GET UNIQUE (GU)

Ejemplo I: Una simple recuperacion de un segmento

Ejemplo 2: Recuperacion de un segmento dependiente

Ejemplo 3: Recuperacion del segmento

dependiente cuando no se conoce la ocurrencia del padre

GET NEXT (GN) Ejemplo 4: Recuperacion de un conjunto

de segmentos Ejemplo 5: Recuperar todos 10s segmen-

tos de un tip0 particular GET NEXT WITHIN PARENT (GNP)

Ejemplo 6: Recuperar segmentos para un solo padre

Ejemplo 7: Recuperar segmentos para un solo padre

GET HOLD REPLACE (REPL)

Ejemplo 8: modificando valores de campos de segmentos

DELETE (DLET) Ejemplo 9: Borrar un segmento

INSERT (INSRT) Ejemplo 10: AAadir un segmento

La evaluacion del modelo de datos jerarquico La representacion de 10s datos El lenguaje de manipulacion de datos

Resumen Preguntas de repaso Problemas y ejercicios Proyectos y cuestiones profesionales

Page 527: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS JERARQUICO 5 17

William (Rill) Orange. ~1, jqfc. cle l a s e t ~ i h n local tle lu As.sociatior~for Cornputircg Machi- nery ( A C W ) . estaba hablnrrdo p o r telhforco con Rita Virth-owski. "Kito, nuestra tliscu- sirin en It1 liltirna rcwnicin dc~ 10s sistc~mus d e b a w de d a t ~ ~ s f i ~ e hien recibiclu, p o r lo cpzcJ hemos decidido dedicar las prcixinras tres rcwrriones (11 urrcilisis d e 10s rnodelos j f ~ r i l r q u - co, en rcvl y relacional. kPiensas q w podrius discutir e l motldo jerrirquico r n lu prhxi- ma reunicin?"

"haturolrnente, Bill. iQuC te gustrcria clue preserctarn?" "La jilosojici clel moddo y alg~rrtos de 10s aspectos ir~cis peiw-ales ile lu irr~plern~rctcc-

cicirr de base r l ~ datos. Quizris podrius indicar c~lgunas d e las rnsones qucJ puederl st~leccio- norlo p o r c~rccinlcc dr 10s rnodelos err cornpetenciu. Creo que has tenido una experierzci(1 conrplt~tm con PI .sisternc~ d e bose tle datos l l lS de lRlM ?* eso solarrrentt~ deberitr busturte p a r a describir r l rnotlelo jerrirtlrcico."

"Hu(wI, he i ~ l w r t i d o inucho tiernpo con el IWIS y .sericc clpracloble reprtwrctar ese punto d e cistrc PIL In prcixirnu reunihn. Grucias p o r tu inuituci6rc."

E n taste capitulo .sr prrLwntan los fundainentos tlrl modelo d r datos jerirquico. Deip116i tle l r r r vste capitulo, tleberia w r capaz tle:

IMS ( I KkI's Information Management Sy btem), SGBU hasatlo rn el rnotlelo tle datos jerirquieo.

TDMS (Systcni Debelopmrnt (hporat ion 's 'lime- Shared Data Managenlent System), SGBD hasado en el inotlelo ile datos jerirquico.

MARK IV (Control Data Corporation's Multi-Access Retrieval System), SGBU basatlo cn el modclo de datob jerirquico. System-2000 (del SAS Institute), SGBU l~asado en el n~odelo dc datos jrrirquiro.

Drscribir la es t rwtura de clatos hisica drscle la cual se construye el nlotlelo tlr datos jrrhrqnico. Explic.ar la terminologia tisada en la descripcibn tlrl modelo de datos j r r i rquico. Usar 10s mGtodos funtlainentalrs dr transformacibn de un rnodelo d r datos con- ceptiial a un nlotlrlo de datos jerirquico. Drsrribir la trrminologia !- la rstructura d r la imp1emrntac:ibn de M S . Explicar c6mo el lrnguajr de descripi6n de datos tlr IMS se usa para implen~rn- t a r estructuras t k datos jerirquicos. Discutir c6mo opera r l lrnguaje de ~nanipulacihn de datos d r IMS para la rrcupe- raci6n y la actualizaci6n tie datos. Discutir las vrntajas p las desventajas pricticas tkl modelo j r r i rcpico.

A diferencia del modelo tle datos relacional, que se fundamenta firmemente e n las mate- miticas, p dr l modelo cle datos en red, que s r desarroll6 a part i r de un esfuerzo p a r a rsta- hlecer rs t indares drtallados, el modelo de datos j r r i rqu ico se ha drsarrollado a part i r de la prictica. No existrn tlocumrntos originalcs que definan el modelo jrriirquico, como 10s hay para 10s otros dos 1nodt.10~. D r l ~ i d o a que el niodelo jerirquico no t ime u n rs t indar . su estudio rt:quierr el examrn de 10s SGBDs usados en la prictica. Afortunadamente p a r a el rstudiantr, las implemrntacionrs debases d r datos jerirquicas es t in dominaclas por un sistema, IMS (Sistrma de Grstibn d e informaci6n de IBM). De hecho, IMS es actualmen- te el SGBD q u r grneralmente rnis s r usa. Las exposiciones en el modelo jerirquico inva- riablemente incorporan el vocahulario y las conwnciones de IMS. Nosotros haremos lo misn~o.

Sin embargo, se usan otros sistemas jer i rquicos, incluprndo el TDMS (System Devrlolrment Corporation's Time-shared Data Management Spstem), el MARK IV (Con- trol Data Corporation's Multi-Access Retrieval Systrm) p el Sys tem-2000 (SA4S Insti- tute).

Page 528: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

:Imhos SGBDs? j rr i rquico y en red, fileron tlrsarrollatlos a principios d r 1960. El IMS s r rlrsarrollh (:on 1111 rsfurrzo conjiinto entrc IBM 1 North dmcrican Aviation (mis tar& conrrrticla en liockwrll) para drsarrollar un SGHD c-omo soporte al proyrrto lnnnr dpolo -nno d c 10s niayorrs l~royectos tlr ingcnirria acomrtitlos cii rsr tiempo-. 1Jn fat*- tor c l a w en el drsarrollo tlc IMS fur la nccrsiclatl tlr n~anipn la r rriillonrs (lc piczas que se rrlac.ional)an nnas taon otras tlr una nianera j r r i r t p i c a . Ksto sig11ific.a cjue pirzas mis 1)t~quriias se usa1)an para cmstrriir montajrs mlis grandrs, q u r a su vcz s r convrrtian cm 10s c~ompoiirntrs tit. rn6tlulos mlis grantlrs. y asi sncrsivamrntv.

I n n q i i r 1'1 bistrma rt.lacit~nal, DB2, c s t i s u p r a n d o twn r a l ~ i d r z a IMS en t i rmi- nos d r nilnirro d r instalacaionrs, para grandrs sistcmas d r t r a n s a t ~ i o n e s dirigidas clue iwpi t : r rn resput:stas r ip idas , IMS continiia s imdo un sistcma cwmpetitivo. Una razhn ctrml)lt.mrntaria IInra la dura1)ilitlad d r IMS t.s que muchas t:strnt~tnras dr datos so11 i n l i r ~ . r ~ ~ t e m c n t e jrrirtlnicas. P o r rjt~inplo, una t.oinl,aliia pueclr cwnttmrr t k p a r - tanientos ( p i n i e r iiivrl), 10s departan~cntos t i rn rn cmplrados (srguntlo nivel) ! 10s cnipleados ticnrn ofirios ( t c rc r r 11i1c.l). : Iunqur rs ta estrur tura (It. datos podria i n - 1)lrnirntarsc en r l inoclch en red , qn(. es el n ~ o t l d o nnis rohnsto en cwanto a c a p a c A d tlr rrprrsc.ntacihn. 1 ) n t ~ l t ~ of 'rrrrr uiia c*onil)lrjidacl d e sistrma mayor q u r la nrcwaria .

,,acl,.r. ~1 , , l l l l t o (1,. la D r hwlio. uua razhn poi- la qut- 10s q u r drsarrol laron IMS no acloptaron el cmfocpe 1I)S

c.t,l;l la f l r t . ~ l a t . n 11wdo ell Grucral Elrt-trir ( v r r Capitulo 9) f n r clue r r t p r ~ . i a mlis cspatio tlr disco

c3structura tlr tlatos q i ~ r ]MS. jrriircl uira.

I~ijo. 1'1 pullto tlr la c a h z a d r la flcrlia en

Conceptos ba'sicos y definiciones

i r l d L-na rstructura tlr tlatos jrrirquica. rso es. m a rstructura cn red tlondr un t i p d r srgniwto hijo r s

rdazaclo a shlo ~ I I tipo tlr s r p r u t o paclrr.

modelo de datos jel&-quico. Un motlrlo dc tlato m el vual todas lab i11tt.rrr1acionc.s son rslructnradas conlo lirl~oles.

tip" d e sepnrnto. Corrrsponde a nn ohjctc~ r n el ~nodclo cle dato orientado a ol)jetoi. taml~iln llainatlo un srpnento.

tipo d e intrrrelacion padre-hijo (tipo IPH).Interrelacibn lbgica entre un tipo d r srgmcnto padre y un tilw de segmento hijo.

En cl nivel c*oncqtual, r l moclrlo tlr tlatos j r r i rquico cbs simplrmrntr un raso esprrial drl n ~ o ( M o dr datos r n red. Con10 se drsc:rihiO r n rl capitulo anterior, una r(:d rs un grafo tliri- gido construitlo d e puntos tw~evtados por flrchas. Aplicando estr c:onc:epttr a los moilrlos tle datos, 10s puntos son t i p s d r rrgistros de datos y las flrchas representan interrrlacio- nes d r nno-uno o intrrrrlat.ionrs clr nno-muchos. Una flrcha en iina red tirnr un punto a1 final. El p1111to en la cola tle la flccha r n la trrminologia tlel modelo jrrirtluico s r llama padre. y el punto r n la cahrza de la flrcha se llama hijo. La d ikr rnc ia principal entrr 10s modelos en rc:d y jrrirquic*o es q n r el modrlo r n red pcrmitr a im til)o tlc rrgistro hijo t r n r r m i s d e un t i p d e registro padre. mirntras que r l motlclo jerirqi1it.o no. El tipo tlr rstruc:- tnra r n rrtl prrmitida 11or rl motlrlo jer i rquiro st. llaina i rbo l . Las interrelac-iones en el modelo cle datos j e r i rqu ico sr organizan como c:olrccionrs tlr &rI)oles inis hirn quch twmo grafos arhitrarios.

Ai~nqiir ~1 vocabulario drl modrlo j r r i rquico varia un tanto r n rrlacibn con el modr- lo r n r t d , hay muc:hns sirnilituclcs de ar tpi tectura natnral. Igual q u r con el motlrlo en red, hap tlos concrptos hisicos asociados con la rstrnctnra ti(. tlatos jerirqnic*a: tipos de seg- mentos o siml~lrmente srgmentos y t i p m d e interrelaciones padre-hijo (tipos IPH) . Los srgmentos s r usan anilogamcnte a1 t i p clr registro m red. I!n t i p I P H rs similar a un t i p cle conjunto r11 red, excrpto clue un t i p de segmento s0lo puedr participar como un hijo r n nn tipo I P H .

Como ejemplo, considirrsr la Figura 10.1. La Figura l(, . l(a) iiiuestra un motlclo d e datos conceptual, definiendo interrrlaciones uiio-m~lchos entre DEE4RT.lMENTO y EMPLE-lDO, y r n t r r PLAN DE JUBILlCION y EMPLE-lDO. Cada conjuntos tlr ohje- tos DEP-iRTAMENT0, EMPLEAADO y PL.1N DE JUHIL.-ICI~)N tirne sus propios atri- hutos, aunque para el ejemplo considerado s r omiten 10s nomhrcs ile 10s atributos. Adr- mis . la cardinalidad d r las interrrlaciones indica quc cada drpartaniento tiene muchos cmpleados, micntras clue (:atla rniplratlo s r asigna a s6lo un departamento. ridemis cada empleado t i m e sblo un plan tle juhilaciim, pero u11 plan cle j~ihilacicin dado se hr inda p a r a m ~ ~ c h o s empleados. La representaci6n cle estos conjuntos de o1)jetos y las interre- laciones en el modelo en rr t l y en el modrlo jer i rquico s r ~nnes t ran en la Figura 16. l (h) y 16. l(c) .

Page 529: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

(a) Un modelo conceptual

DEPARTAMENTO PLAN DE

JUBllAClON

CONJUNTO CONJUNTO DEPARTAMENTO1 P~AN DE JUBIIACION/

EMPLEADO EMPLEADO

EMPLEADO - (b) Un modelo de datos en red

IPH DEPARTAMENTOI

EMPLEADO

EMPLEADO m PLAN DE

JUBllAClON

IPH PIAN DE JUBILACIONI

EMPLEADO

EMPLEADO

(c) Un modelo de datos jerirquico

La Figura IO.l(h) ilnstra una estructura dr datos doudr (rn la terminologia rn rrd) el tipo de registro EMPLEADO rs iin miembro de1 conjiinto DEPAKTAMENTOI EMPLEADO, asi como tambiin lo es del conjiinto PLAN DE JUBIL4CIONlEMPLE I- DO. Mirntras esta estructura d~ datos piiede implementarse dirertamentc, en el modelo

Page 530: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

t i p d e begn~ento tlependiente. Totlo5 los t i l~osde re,' ~ristros menos cl tipo dr seginento raiz.

en red. no 1)ut~lt. iinl)lenientarse dirertamtwte en el modelo jer&rquicw. l'ara ser iniplr- nientado en el inotlelo jerlirtluiw. t l e h ~iiodilit.arse tal como se muestra tb i i la Figu- ra 16.1((.). h o t e clue en la Figura l6.1((.) 10s twnjnntos DE:l"ZlZ'I' ZV EUTOIEMPLE I D 0 ! P I A h DK JIJHII , ZCIONIKM P I X $110 se han transformados a 511s aiiii1:)gos jt.r&rtluiros: 10s t i l~os I P H D~l'AIZTAME:NrI'OIEM I'I,E:Al)O y PI, ZN DE JUHII, ZCIONIEMPLEADO. Ademis. el segnlento EMl'LEA1)O se ha mostrado dos veces. dehido a qne en r1 inotlelo j e r l i ~ y i t w un segniento no 1)uede p a r t i c i p r como un hijo en m i s tle 1111 t i p IPH. El svg- ~nei i to KMl'LEA1)O puede realnlente par t i t ipa r s61o en m a de estos IPEIs. Conlo se expl icar i nilis adelante. E:MPI,E.\I)O en otra 11'H wnsistira de punteros a1 st.gmento EMPLE 1DO original.

La razhn para la t r a n s f o r m a t i h (It. la Figura 16.1((.) t.5 quv ('1 n iod th jerirquico usa el &rl)ol romo sn estrut*tnra fundamental. L na estrnctura de datos en &rl)ol se cornpour d r nna jt.rarcpia de segmentos de atwerdo con los siguit.ntt.5 ronvrnios:

1. IIay tin segmento siniplt., llamatlo raiz, en el nivel superior. El srgiiicnto raiz no partitipa romo segniento hijo en ningun t i p 11'H.

2. Con ext.eptGm tlel segiiiento raiz. todo segmento partitipa wino uii st~gmrnto hijo en exactametite un t i p 11'H.

3. lTn wgmento pnede p a r t i c i p r conlo un segmento padre en nilis tle un t i p IPH (por ejemplo. E:MPIAE:41)0 en la Figura 16.2).

4. l l n a owrrencia tle nn seprnento padre p e d e tener cualquier n i ~ i n c ~ o tlr ot.11- r r t w i a s dr sepnento hijo (hijos). p r o catla segniento hijo 1)uc.d~ t m c r shlo 1111

seginrnto 1)adrc. Esto rsta1)ltw una rcstricri0n uno-iinlt.hos en la interrelacihn entre 10s seguientos padre e hijo en nn l i r l d .

5 . Un sc.giiic~uto que no tiene hijos sc denoinina un segmento hoja. 6. Para cual tpier tipo de segmeuto A. existe nn (.amino simple en el Lrl)ol tlesde la

ra i l hasta A . Los registros a lo largo tle ese ramino se llaman ancestros d r A. 4 cs un seginento dependiente de todos 10s segmentos de ese raniino. inrluyentlo la raiz.

7. Un segmento A puetle ser la raiz d r on snl)irl)ol.

DEPARTAM ENTO

NOMBRE-DPTO

EMPLEADO

NOMBRE-EMP

JEFE

7 ,

ANOS-SERV

OFlClO ASIGNADO A

COD-OFICIO OFICIO-NOMBRE PROY-NOMBRE DIVISION

Page 531: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS JERARQUICO 52 I

i r t d de la base tlr tlatos. Iln i r l d t p

tirrir una raiz.

regibtro dc la hahe tlr datos. lJna ocurrcntia tlr rlna raiz y totloi sus t i p . dr scgmtmtos dcpcndientez.

segmrutos grn~elos. Ocurrrntias de t i p de sepirntos qnr tienrn la mima ocui-rencia tlr ti])" t k segrnento padre (mis d r dos tw~rrericias c k irgrncnto. I)uetlen califiearse romo geniclai).

Brbol tle orurrenria jerirquico. R~~re se n t ac ibn tle segmerrtos d r orurrencias en m a rstrnctnra d r Brlrol yur rrflqja toclos 10s tipos IPIi.

recorrido pre-orden. Un mitodo de ronvr rAh de una estructura de irhol a un arrhivo plano que contiene la informacibn necesaria so lm las interrelacionr5 jerirquicas.

La Figura 16.2 c-s un rjrmplo de un i r l d clr trcs nivelrs, en estc caso rrprrsentando 10s t i p s dv srgmrntos DEPARTAMENTO, EMPLEADO, OFICIO y ASIGN4I)O A y sus interrrlacionrs. Un rsqucma de hasr d r datos jrrirquic*o v s una colecxi6n tle ir1)oles rnrai- zados tlr estc tipo. Cada tal i rbo l s r drnomina i r ho l d e la base d c datos. El i r l d tle la Figura 16.2 t ime DE:I'.4RTA4MENrr0 t ~ ~ m o su segmrnto raiz y tienr (10s t i p de s u l ) i r l d . cnraizados en cl segmento EMPLEdDO. Uno d r rstos tipos d r su l~ i r l )o l va desde EM- PLEADO hastn OFICIO y el otro tlesclr EMP1,EADO hasta AASIGNAiDO El srgmento EMPLEADO ticnc dos tipos dc subi r l~ol , rnraizatlos r n 10s t i p d r srgmrntu OFICIO ) ASIGNADO A. Estos ilos ultin~os tipos d r su1)irl)oles son, en csencia. tri\ialrs. c lc ldo a qur consisten simplrmcnte d r OFICIO s6lo y d r -4SIGNADO A sdo . Una ocurrrncia d r una raiz y todos sus srgmrntos drprnclirntes se denomina un registro d e la base d e datos. Un rrgistro tle la hasc de datos para el modelo clr la Figura 16.2 cwnsiste en una ocurrrn- cia de un srgmmto DEPARTAMENTO. junto con todos sus segmrntos asociados OFICIO y ASIGNADO ,4.

Ohsrrvr yu r DEPARTAMENTO r s el tipo tlr srgmento padre dr l t i p I P H DEPARTAMENTO-EMI'LEADO. l'oclos 10s tipos tlr srgmcntos qu r qur(1an (esto es. EMPLEADO. OFICIO y ISIGN:iI)O -1) son tipos d r srgmrntcrs deper~dientes. EMPLEA- DO es un t i p tlcb segmento hijo d r l t i p I P H DEPARTAMENTO-EMPLEA4D0. .idemis EMPLEADO funriona tanto como un t i p d r s r p e n t o padre d r l t i p IPH EMPLEADO- OFICIO como un srgmrnto 11adre del t i p I P H EMPLEADO-A4SIGN4D0 A. Tal como en el inodrlo r n red , la cahrza dc la flrcha intlica el lado "mucho" de la intrrl-rlaritjn uno- muchos.

La Figura 16.2 tambikn nos da una oportunidad para comparar el modelo de datos j rr i rquico con rl mtrdelo d r datos relacional. Las interrrlaciones qu r en el moclelo relacio- nal estarian reprrsrntadas por (:laves rxternas sr rrpresentan en el modelo jrrirquic:o por enlaces padre-hijo. Po r ejemplo, el enlace entre DEPARTAMENTO y EMPLEAADO potlria rralizarsr en el modelo relacional poniendo el atrihuto DPTO-NAME en el rrgistro EMPLEADO. En el modrlo d r datos j rr i rquico d r la Figura 16.2, rsta interrdacibn sr rrpresenta por el enlace DEPARTAMENTO-EMPLEADO, el cual se implrmenta en las bases d r datos jerirquicas, poniendo iina d i r ecc ih a disco fisica ( o puntero) en el srg- mrnto DEPARTAMENTO.

Volvamos a una cons idwacih de ocurrencias d r i r l d e s de bases clr clatos. La Fi- gura 16.3 exponr una muestra d r una ocurrrncia de segmrnto para r l niodrlo d r la Figu- r a 16.2. Para catla ocurrencia drl i r bo l de la base d r datos, rxistr por tlefiniciih rxarta- mente m a ocurrencia d r DEPARTAMENTO. Eso significa que cada tlrpartamento s e r i la raiz clr una ocurrmcia distinta d r i r ho l d r base clr datos. En estr rjrmplo. el tlepartamcn- to de Mercadotrcnia esth r n un segmento raiz que t ime dos srgmentos de emplraclos. Cada srgniento tle empleado poser uncr o m i s segmrntos OFlCIO y uno o m i s srgmentos A4SIG NADO L4. Esta ocurrencia del i rbo l dr la hase d r clatos incluye rntonces tanto el segmrnto DEPARTAMENTO 1)at-a Mercadotrrnia ccrmo todos sus segmentob EMPLEADO, OFlCIO y ASIGNADO A asociaclos.

Se usa la Figura 16.3 para afiadir una nurva definici6n a nuestro voca1)ulario. Las orurrencias tIrl mismo tipo tle srgmmto que tienrn el mismo padre se denominan gerrlelas (twins). Para el segmento drl Departamento de Mercadotrcnia, 10s empleados Bond y Hill son ocurrencias de segrnentoa gemelos (aunqur 10s segmentos grmrlos no es t in limitados s6lo a dos). El ar1)ol mostrado en la Figura 16.3 se llama tamhidn i r bo I d e ocurreneia jerirquico.

Los irholes de ocurrencias jeriryuicos puedcn almacrnarse usando el ~lrdtodo d e recorrido e n pre-orden de creavihn d r un archivo. Dm~ostraremos el mktotlo en el i rho l un poco mis complejo d r la Figura 16.4. El procedimiento es como sigue:

1. Comenzar en la raiz del i rho l y registrar el segmento raiz en el archivtr (el srg- mento A en la Figura 16.4).

Page 532: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

5 22 DISENO Y ADMINISTRACION DE BASES DE DATOS

DEPARTAMENTO NOMBRE~DPTO JEFE

Venta Manuel -1 Ingenieria

EMPLEADO \

2. Kn t*nalqnirr pnnto, t1rspni.s tlel registro de nn srgmento, riiarrar t:l segniento hijo nias a la iztpiertla d r l srgmento rcgistrado. Si el seginrnto no t ime segmrn- tos hijos. niovrrsr h x i a at& dr l lirhol un nivrl y marcar t:l segmrnto hijo no rt+straclo mas a la izquirrda tlrl srgmento en rse nivrl. Continliar hasta qnr todos 10s segmrntos r s t h twntabilizados.

Estr procrtliniiento grnrraria el siguicnte archivo:

El indicador tipo-segmrnto (D para DEPARTAMENTO, E para EMPLEADO) es necesario para la imp1ementat:iOn porque el numero tle posibles segmentos hijos en cads IPH varia. Debicio a que en el archivo st: escribe secrient:ialmente, el sistenia necesita wno- t:rr cnando termina nn grupo de srginrntos tle un tipo y cuintlo comienza un grupo de un nuevo tipo.

La Figura 16.4 muestra un i r ho l halanceado (ver Capitulo 10) en donde cada cami- no tlel segmento raiz a1 segmento hoja t ime la misma longitud ( 2 ) . Estcr es una coincidencia

Page 533: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

INDICADOR TIPO-SEGMENT0 --..+

TlPO DE SEGMENTO DEPARTAMENTO:

TlPO DE SEGMENTO EMPLEADO:

TlPOS DE SEGMENTOS OFlClO Y ASIGNADO A:

523

NlVEL I

NlVEL 2

s NlVEL 3

con nuestro rjrmplo y no es un requisito. La Figura 16.5 es un ejemplo de 1111 i r bo l no balanceado. El (:amino del segmento G es de longitud 2 , per0 el camino tlel segmento L r s tlr longitud 3.

Las interrelaciones del modelo jera'rquico para la semintica del modelado conceptual

La transformaci6n de un modelo conceptual a una estructura de datos jerirquica es mup similar a la transformaci6n a1 modelo en red, per" con algunas ~ar iac iones importantes tlrbido a1 rrquisito de la rstructura tie iirbol del modelo jeriirquictr. Se examinan varias rstructuras del modelatlo tie ciatos conceptual p se muestra c6mo se pueden transformar en rstructuras clel modelo jrrirquico.

INDICADORTIPO-SEGMENT0 --+

TlPO DE SEGMENTO DEPARTAMENTO:

E

TlPO DE SEGMENTO EMPLEADO:

C

TlPOS DE S A SEGMENTOS OFlClO G H NlVEL 3 Y ASIGNADO A:

TlPO DE SEGMENTO CERTIFICACION:

NlVEL I

NlVEL 2

Page 534: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRAC~ON DE BASES DE DATOS

Transformar interrelaciones uno-muchos

Exanline rl moddo conc*eptual tle la Figura l(,.(,(a). E n la Figura lh.S(b) se nluestra la transformaciOn tlc rste modelo a la rstructura de datos jer i rquica correspondicnte. El r j en~plo sugiere tjnr la transforrnaci6n cs idkntica a acjurlla a p l i d a para el modrlo en red. Cada conjunto de oljjrtos con sus atr i l~utos s r twnvirrte en un srgrrlento lhgico. Cada intrrrrlacicin se conviertr en un enlace binario y ]as interrelacionrs s r restringrn a ser nno- n~nchos.

Sin t:ml)argo, recordemos q u r r n el modrlo e n rtd el t i p tlr rrgistro emplcatlo podia p r r tmecer a m i s de n n rrgistro duriio, conlo se sugiere en el modclo de datos con- rcptual d r la Figura lS.:(a). E n m a versibn del modclo en red. el tipo d e rrgistro EMPLEADO pc-rtenecrria a (10s t i p s d e rrgistros: DEPARTAMENrrO y PLAN DE JURIL.1CION. E n el modrlo jcrlirqnicw. esto no s r permitr. La rs t ructura tle datos correspondirnte rrqnerir ia dos i rho l r s . como se sugiere en la Figura 16.7(11). Ol)sc.rve

ocurrencia tlel q u r rsto introduce rrdnndancia drhido a q u r ratla ocur renc ia de l segrnento EM1'LE.A- septneuto. Tern~inologia DO se registra (10s veces. tlcl IMS para ocurrmrias Sin e m l ~ r g o , esta rcdundancia purdr liniitarse. La primera oc*urrrncia de un srg- rlr rrgistros. mrnto (en rs t r caso. EMPLEADO) srria almacrnada de la manrra usual. La siguirnte oru-

rrrncia no almacrnaria el segmento actual. sino un puntero en forma tie dirrcci6n a tlisco fisica, dando la localizacihn tlrl srgmrnto almacenado. h i , n o hay reclnndancia d e datos. p r o hay un espacio d r almacrr~amirnto adicional requerido para el puntero.

Las primeras r r ~ l a s para la tranrforniacibn son:

Keglu 1. Para ratla conjnnto rlr o1)jrlo 0 rn nn motlrlo ronwptual, crrr un t i p tlr srg- ~nrnto S rn r1 motlrlo jt:rirqaic~). Todos 10s atrihutoc; tlr 0 sr rcLprrsrutan como (.amps tlr S.

Regltr 2. Para las interrr1aric1nc.s nno-muc.hos tmtrr (10s cwnjnntos tlr ~jhjetos, c-rrr diagramas, los diagramas wrrrspondirntr~ dr irholrs, hacicndo vatla conjunto tlr ol)jrtos nn schgmrnto >. hacirndo tlr la intrrrrlaci6n uno-murhos una intrrrrlari6n pa&-hijo. El srg- mmto tm la partr "rnuc-ho" de la interrrlaci6n sr convirrtr en el srgmrnto hijo y el srgmcnto m la part? .'unom dr la intrrrrlaci6n sr ronvicrte en el srgmento p a t h .

~ M B R E - D P - -LIZACIO@

* DEPARTAMENTO EMPLEADO

DEPARTAMENTO

EMPLEADO

NOMBRE-DPTO

NOMBRE-EMP

LOCALIZACI~N JEFE

DIRECCI~IN ANOS-SERV

Page 535: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS JERARQUICO 525

NOMBRE-EMP DIRECCION ANOS-SERV v

<NOMERE-D* C&CALIZACIO@ < TIPO -> C F E C H A - I N I C ~

DEPARTAMENTO PLAN DE JUBILACION

DEPARTAMENTO

,EMpLEADo , , , ,EMPLEADO , , , Nombre-Emp Direccion Anos-Sew Nombre-Emp Direccion Atios-Serv

(b)

PLAN DE JUBILACION

Transformar interrelaciones muchos-tnuchos

I I

I a rrglas 1 )- 2 cuhr rn nn gran numaro de requisites de transformaciones. Sin etnhargo, s r p e d e general- un modelo orirntado a ohjetos qiir r rcpiera la t rans formacih de in- terrrlaciones binarias muchos-muchos. Recuerdr q u r 1111ho situac:ionrs similares para h a c w correspondrr el modrlo orirntado a ohjrtos con el modelo m red.

La Figlira 16.8ia) ilustra o n frapnlmto dr un modelo orientatlo a objetos de una in- trrrelacihn 1)roducto-fal~ricante. La interrrlaci6n es tlr muchos-n~nrhos, tiehido a qur un protlucto dado puede suministrarse por muchos fabricantes, y un fahricantr dado sumi- iiistra un numrro de productos. El fragmrnto orientado a objeto se corrrspondr coil la estructura tlr tlatos jerrirquica, tal como muestra la Figura 16.8(h). Se h a n crrado dos rirholes, uno d a d o PRODUCT0 como la raiz y otro dando FMRICANTE corm su raiz. Esto proporriona la interrrlacibn uno-muchos deseada en cada rirhol. La regla que s r h a srguido es:

Keglu 3. Para los conjuntos de objetos, 01 y 0 2 , clue tienen intrrrrlaciones hillarias mnchos-muchos y dr los cuales sr hati definido 10s segmentos S1 y S2, construya dos IPHs

Page 536: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

SUMINISTRADO- & I FABRICANTE K

FABRICANTE NOMBRE LOCALIZAC~ON I I I FABRICANTE

Una situaribn un tanto mhs compleja surge ruando la interrelacihn oricwtada a ohje- tos t ime lin atrihuto. conio se muestra en la Figura 16.9. El atrihuto CANTIDAD se ha aiiatlido a1 agrrgado d r la intrrrelaci6n ES-SUMINISTRA1)O-POR para indirar la canti- ( I d mixima de 1111 producto que puede surninistrarse en un encio de un fain-irante. En caws 5imilares a bste, se crea un t i p de segrnento adirional cbn correspondencia a la estrur- tnra cle datos ierirquica.

L t o stx muestra en la Figura 16.10. Anihos ronjuntos de ohjetos involnc.rados en la interrelacih hinaria muchos-muchos fnnrionarin romo un tirm de scgmento r d r e en irholes separados. Un nnevo tipo de segrnento CANTIDAD se inserta entre los segn~entos PRODUCTO y F.ABRJCANTE para indicar la cantidad mixima clue nn fabricante par- ticular enviarh de un determinado producto. En un irhol . el rnlare uno-milrhos se esta- hlere de PRODUCT0 a CANTlDAI) y dr CANTIDAI) a FABRICANTE. Este 1)roreso se invierte en el otro i rho l . Se tienrn dos interrelaciones padre-hijo en cada e5tructura (le i rho l cle tres-nivelrs. Este procedimiento se I-aptura en la signiente regla:

Regla 4. Si nna interrelarrnn bmaria murhos-murhos tlrnr un dato dr atrihuto. crrr un nurvo q p m t o tlr interscwih I . qw rontrnga caw &to. Catla uno de 10s t i p s de \rg-

Page 537: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

PRODUCT0

FABRICANTE

mrnto rrrados a 11artir de ronjuntos de objetos funrionari como la raiz de un irhol difrren- te. Inserte rl nuevo segment0 entrr 10s s r p r n t o s padre-hijo. Si cwalquiera dr estas intrrre- laciones padre-hijo son rxartamente uno-uno, el dato dr atrihnto potlri romhinarse en 10s scgmrntos crrados a partir dr conjuntos tlr otbjetos.

La arquitectura IMS Debido a que el modelo d r datos jerirquico no tiene est indar , se contincia usando su imple- mrntacicin m i s ampliatnente utilizada, el IMS, como una base para la rxposicicin. E n este c a w , si bien no es verdaderamente un estandar. el IMS se presenta como un modelo je r i r - (p ica hisico.

Los registros de IMS dehrn ordenarse jrrirquicamrnte. tal como s r sugiere en la Figura 16.l(c). En la misma sr ve un p a r d e iirholes d e dos-niveles. E n la Figura 16.2 se vr

Page 538: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Definir la base de datos fisica - El DBD ( : I I INO st' di,io antt.riormrntr. t.1 DK1) rs similar al estluwla rn red y rl B E P r s similar al s ~ ~ l ) e s q ~ ~ c w ~ a tlr red. :\t . larrnw 1)rirnrro las f i~~~c . i on t~s tlrl DRD con un c*jt.ml)lo. La Figw ra 16.12 I~rrsenta cwatro t i p s (11. segnwntos: DEPART-1MENTO. EMPLEADO. OFTCIO y ASI(;3!\1)0 A. El IIHD para estr h r l~o l sr presriita en la Figllra 16.11. Las instr~tt't-io~lt's se ha11 1111111rrado I)ara su explicaacihn.

La i r~s t r~~c . t ihn 1 es la instrucci6n DBD. Ksta instrwcihn idrntifit*a (.I no1ii1)re tlr la I ~ a s r d r (liltoh. en (:st? caso K1ME = UEPTPERS. 1,a i~~stiwccibrl taml)ibn esp t :cdh el mbtodo tit. a twso a la 1)asr d r datos clue sr ~ i s a r i ; r n rstr c aw IIISiIM, (pie tlrnota (,I nlbto- (lo tle acwso s r twe~~cia l iutlexado jt.rlii.tj~~icw. (Los ~nitot los tle ntwso tle I MS sr rstutliarhn

adrlantt: ell unu stwihn postrrior tlr rstr c-apitulo.)

1 DBD NAME = DEPTPERS, ACCESS = HISAM 2 SEGM NAME = DEPARTAMENTO, PARENT = 0 , BYTES = 2 0 3 F I E L D NAME = (NOMBRE-DPTO, SEQ, U ) , BYTES = 1 0 , START = 1 , TYPE = C 4 F I E L D NAME = JEFE, BYTES = 1 0 , START = 1 1 , TYPE = C

5 SEGM NAME = EMPLEADO, PARENT = DEPARTAMENTO, BYTES = 2 2 6 F I E L D NAME = (NOMBRE-EMP, SEQ), BYTES = 2 0 , START = 1 , TYPE = C 7 F I E L D NAME = ANOS-SERV, BYTES = 2 , START = 2 1 , TYPE = P

8 SEGM NAME = O F I C I O , PARENT = EMPLEADO, BYTES = 1 7 9 F I E L D NAME = (COD-OFICIO, S E Q ) , BYTES = 2 , START = 1 , TYPE = P

1 0 F I E L D NAME = OFICIO-NOMBRE, BYTES = 1 5 , START = 3 , TYPE = C

1 1 SEGM NAME = ASIGNADO A , PARENT = EMPLEADO, BYTES = 4 1 2 F I E L D NAME = (PROY-NOMBRE, SEQ), BYTES = 2 , START = 1 , TYPE = P 1 3 F I E L D NAME = D I V I S I O N , BYTES = 2 , START = 5 , TYPE = C

1 4 DBDEN

1.n siglas rn i n g l b ~ w n t,~rnl)i;u L)UD (ntrttr Rtrw 1)~scription) ( N . tlrl T.).

Page 539: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS JERARQUICO 5 2 9

La instruwii'm DKD vn srguitla poi- nna seritl d r instrut.tionrs de srgmmtos (SECM). SEGN. Una instrnwihn La instrnt~icin SEGM define t.1 g r q o t1t. elrmentos tle datos (t:ampos r n el IMS) qne uhar- tlel IMS clue tlrfint. 10s (-a r s r segmt:nto > t.brno se ordt:nan. El l~r inier segnit.nto en la Fignra 16.11 stb identifira (.on campos t111e se la instrncti6n 2. El st:gmrnto st: n o n h r a DEPAHT.4MENTO. La asignacihn PAREYT = 0 int*lnyen t.11 nn srpnento significa (jutb UF:I?ARTAMENTO es nn segmrnto raiz, "0" signifka que no t i m e srgmmto 1 ~ 1 . a w a n e ptw tin padre. Bl-TES = 20 t~stal)let:t: la Iongitnd drl segnwnto. En la instrucci0n 3, NOMBRE- programs. DPTO es el primer tnanq)o en (:1 srgmento DF:PAARTAMF:NrlTl. St: itlentifit-a t80mo un r a n -

I N ) srr'wnt:ial para t.1 srgmento D E P R T A M E N T O par la asignarihn NAME = (NOMBRE- DPTO. SEQ. I!). Eso sign if it.:^ que t w ~ n d o sr a ln~accnan las nncvas ocurrt*ncias tle 10s srgint~ntos. s r o r t l e n a r h c.n set*nrneia tlr atwcrdo con el valor tle estr cn:tnipo en el segmeil- to. La "IT* significa qne NOMKRE-DPTO tlelw ser h i c o -tlos segmentos no pnrtlcn t rner t.1 mismo NOMKRE-DP'IY-. Como puedr verse. las especifit*at:iones que qu tdan tlef'inm la loralizat-i0n tle initit, tlel camlw en el segmrnto, la longitutl d r l t - a m p y el tilm de dato. Ims t i p s tle tlatos m i s tsomunrs son P (park td der in~a l ) y C (charactrr).

St, neeesita t l e s t ~ i l h - al mrnos un segmento m i s lbnra ver c6mo sc r s ta l~ lewn las in- ter~.rl:rtionrs patlre-hijo. La instrueticin ,5 comienea con 1;) tlefinieihn dr l segmento EM- PLE.1I)O. Drsp116s de tlurlt) Iin nomhre, st. le usigna el 1)arimt:tro PARENT = DEP_\RT.-4- MENTO. Esta t.stal)let.r que la interrelac-iim padre-hijo es rntrc los srgmentos DEPART.AME;NTO j- F:MPLEAI)O. Las oenrrent:ias d r 10s st:gn~entos st. afiaden en ortlen par r l n o n h r e dt.1 twpleado [N.IME = (NOMBRE-KMP. SEQ)]. per0 vstos nom1)r.e~ n o nwesitan scr ilniros twmo (-on NOMBRE-DPTO tan el segmento anterior.

Con tlstns tlos dtwrip.iont.s, el resto tlr la Figura 16.11 s r interprets ficilnieute.

Definir la base de datos 16gica - El BEP Reeuvrde qne B E P es algo similar a1 snlwsqntma de rrtl. porqne se espeeific;~ la vista tle 10s datos que st3 usan r n nna aplicati6n. El B E P contirne uno o mLs 1)loques de twmnnica- ciim de programas (KCPs). El BCP c.sl)ecifit*a 10s segmentos tjur llna nplieacihn 11uetle acceder. Los 1)rogramas no ~)uet len aweder a segmentos qne no se drfinen cn el BCP. Por t ~ ~ n s i g n i t ~ ~ t e . r l B(:P idrntifica la 1)ast. de datos adecuatla y espwifica twalqnier scgnrento

seg~nrn to snswpti1,le. s u s c e p t i l h a s r r int.lnitlo (SENSEG) :'. U I I wgmento (lut* t S i Considere el cjemplo mostrado tan la Figura 16.12. Suponge que la Corporacihn Z e w atw.sil)lt. para nn t i m e nna aplicatihn qne reqiiirre exartarnente 10s noni1)res tle los DH'LART.AMEYTOS y Im)granla. los nornlwes de 10s EMPLEADOS d r estos (10s segmrntos. Comenzando con la linea 1. st.

r eqn i tw TYPE = DH para cada B C P a tlefinirse. La I m e tit- tlatos de la twal se extrae este B C P se llama DEPTPKRS (DBNAME = DEPTPERS). PROCOPT se usa para indivar olwionrs tle protaesos. t p r signifit-a las 01)eracionrs tine la aplicaci6n puede ejetmtar en un BCP. Estas olwionrs inc*lnyen:

G = GET I = INSERT R = REPLACE D = DELETE A = A L L

GET tbspecifit*a accesos tlr &lo lrctnra a 10s segmentos en el BCP. LNSERT permite afiatlir nurvos segmrntos al BCP. REPLACE permite qnc 10s segmrntos sean recuprratlos y motlificatlos. DE1,ETE permite que 10s segmentos sean recuperados 1- borrados. PRO- COPT = A7 como st. muestra cBn la Figura 16.12, significa que totlas estas opciones tle pro- wsos se permiten para esta al1licaci6n. Cuando un segmento se usa por el programa, IMS

c law cuncatenada itlentifica su lot.alizaci6n en la I m t . d e datos iy$strantlo una c l a w eoncatenada total- totdn~ente. Significado

mrnte. KEI-LEN = 18 ' indica la mayor (:lave coneatcnatla clue el programa puede aweder. (Ic la identificaciirn tle la ItralizaciOn dc un segnwnto en la base ' Drl ing1i.i S E X s i t i w SiCGmrr~t 13. drl T.). de datos. ' S i g h tlrl i n g l b ~ KEY LEJgth (longi~utl tic la Ilaw) ( Y . rlrl T.).

Page 540: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Bisic.ainentc. rsto sr refirre a la niayor clabr qur sr obtrnclria afiadirntlo los cainpos cla- VPS que periiiitcn cualquirr camino a travCs d r la jerarquia.

1 BCP TYPE = DB, DBNAME = DEPTPERS, PROCOPT = A, KEYLEN = 18 2 SENSEG NAME = DEPARTAMENTO, PARENT = 0 3 SENFLD NAME = NOMBRE-DPTO, START = 1 4 SENSEG NAME = EMPLEADO, PARENT = DEPARTAMENTO 5 SENFLD NAME = NOMBRE-EMP, START = 1

Las instrucciones SENSEG y SENFLD (liueas 2-5) itlentifican aqurllos scgmentos y campos clue son ac:cwil)les a la aplicaci6n En la Figura 16.12 hay tlos s epcn tos suscyti- bles (accesi1)les a1 programs): DEPARTAMENTO y EMPLEADO. Los cmnpos suscrpti1)les para 10s respectivos segnirntos sr tlrnotan por la instruecibn SENFLD. con el niismo signi- ficado (accesibilidad). Observe clue 10s srgiiientos tleprndientrs de1)rn identificar explicita- inrnte sus segmentos patlres. I'or ejemplo. el padre d r EMPLEADO es DEI'AKTAMENTO. tal como se indica en la linea 4 por la cliusula PARENT = DEPARTAMENTO. START = 1 significa clue el c a m p comirnza en el primer hytr del s r p c n t o .

Mktodos de acceso de IMS IMS proporciona cuatro mhtodos tle acceso: HS 4M, IIIS4M. IID4M c IIIDAM. Recwerde que esta opcibn sc reflrja en la DBD por la entrada "ACCESS = <mbtotlo tle acceso rlegi- do>". Las siguientes subsecciones resumen 10s cuatro mbtodos.

HSAM. Mbtodo dr acceso HSAM indica el mdtodo de wcceso secuenciwl j~rbrquico ' dv acwso a la hase d r datos. Los dcl IMS. mu) rhpido segmentos estin contigios fisicamentr en 10s medios d r almacenamiento, ademis HSAM para recuperaelones podria implrmentarse en cinta o disco. Los srgmentos se ordenan de acuerdo con el esqur- de segnientos ma transversal pre-orden, clue permite mantener la estrurtura de datos jrrArquic'a. sccuenrialc~. HSAM es pricticamrnte solo para la lectura de 10s datos. Esto quiere decir que la

estructura no es lo siificientemente flexil~le para soportar con efertividad la artualizacihn de la 1)ase de datos. La actualizaci6n de los segmentos requiere qnr se crre y se almacene una nueva versihn de la 1)ase de datos.

HIS AM IIISAN. Mbtotlo HISAM, mdtodo de ucceso secuencial-indexado jerbrquico, almacena segmentos en tle acwso de IMS, secuencia jerirquica, conio en el HSAM, pero brinda la capacidad para mejorar r l acceso hrintla la t.apat.idatl direrto a segnientos raices especificos de acuerdo a un indice. Despubs d r eso. 10s srgmen- para rerupcrariones tos dependirntrs drl segmento raiz que se ha accedido se accrdcn sccwmc*ialmrnte. como dc scgmcntos tanto con el HSAM. directa como secnencial.

" Pol. w r s i g h c.stablecidas, se mantimen en inglGs HSAM (Hierarchic. Seqiier~tiol Access Method). HISAM (Hiercirchir Indexed-Sequerrtiol Arress Method), I I O l M (llierorrhir L h r t Arress Method) (N. del T . ) .

Page 541: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

HDAM. Mbtodo HDAM soporta el nidtodo de ucceso-direct0 j~rurqu ico . Este iiibtodo no relacmna sep~lmtos dc nee-eso drl IMS. por un indice o por la proximidad fisica. excrpto ihlo a travbs de punteroi (t.ampos quc' c-oll- 1)1wtla acceio-tli~wto de tienen direcciones fiiicas a disco). El aweso a las raiccs sc, mcjora a trakbs tlel uio de un algo- iegnlentoi nluy r ip~dos . ritnio dtl I~uiqiieda (ver Capitdo 10). Examine el i rho l tlc t)twrrencia tle In F i g - prro no la capacitlad de ra 16.13. Los puntcroi qnt' ~m1az~;m stymtAutos de m a ocurrencia 1)uetlen s r r j~rurquic~os. tnl procwamlento secuencial. wino ie mueitra en la Fignra 16.14 o Irijos , g-cw~c40~. t ~ m o sr muestra en la Figlira 16.1-5.

NOMBRE-DPTO IEFE

Mercadotecnia

(Puntero) NOMBRE-DPTO IEFE

NOMBRE-EMP NOS-SERV h-

Cuando se u i i ~ n punttLroi jerirqui(wi, cadd segmento apunta a su suceior en la secwencia trans\erial pre-orden ("0" indica clue 10s se,mentos no iiguen). Por ejemplo, para a t w d r r a1 regiitro del empleado Hill en la Figura 16.14. i e cwmenzaria por el registro del departamento de Mercadotecnia, usando su puntero se llega a1 registlo para el emplea- d o Bond. entonccs i c i i g w el puntcro de ese registro hasta el regstro de oficio Programa- dor, tlesde alli hasta el registro d r ofirio Gnalista y finalmente habta el registro de Hill.

Cuando ie usan puntrros hijoi-y-genielos, cada segmento c ~ ) u t i r n r un puntero a1 seg- mento inmediato en el miimo nivrl (gemelo) y un puntero a1 segmento hijo inmediato. En la

Page 542: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

, . , 1 rMBRE-DpT[ JEFE , Mercadotecnia Smith

(Puntero (Puntero hiio) gemelo)

1 NOMBRE-EMP A[;IoS SERV I NOMBRE-EMP ANOS-SERV

COD-OFICIO OFICIO-NOMBRE COD-OFCO OFICIO-NOMBRE COD-OFICIO OFlClO NOMBRE

:i 2 Programador 0 5 Analista de sistema

-

Figura 16.15, r1 l w n t t w ~ i i i i i a la i z t p i t d a rs r l puntr iv hilo el p i n t t w ~ a $11 t i r lwha rs rl piuitrro gemrlo. Los p l~n t r ros grmt.los son siinplrs dt. i rnplrn~rntar drlbido a qur catla itbpiiit~iito twiitirncb rxactaniriitr (10% puntrros.

Para accrtlrr a1 registi-o tlr Hill r n la Figlira 16.15. st. romirn7n urla \ r z iiilis por c.1 i ~ g i s t r o tlrl dt.partanirnto tlv Mrrcarlotrcmia, st, sigur r l p n t r r o hijo al rrgistro tlrl prinirr c.iiil)lrado (Bontl) y s r sigltr r l 1 ) ~ r i t t ~ ~ o gemelo tlv t v rrgistro hasta r l rtyistro d r Hill. Para a t w d r r al rrgistro (It. of'ivio \c*ntltdoi- tlr Hill. sc. sigur simplrmrnte 1.1 puntt,ro hijo rn rl 1-rgistro tlr Hill t l i i - t~* tsn~ru t r a1 r q i s t r o tlrirado.

HID AM HID411. Mbtotlo tit* HIDAM, mitodo de t rcc~so-d i r~c to ir~cic~xado jercirqlrico". r s 1)isicarnentr siniilar a1 ~ I I T I ~ W tlrl 11s. hrintla HDAM. lwro pwmitr tanto a c r t w intli~atlo a raiws twnio acwso por p u i i t t ~ o s a srgnwntos tanto ~ 1 1 . t rsl) tlirrrto a los drptwtlirntrs. srgnlrntos ~.aicv,s ~ Y I I I I O

r c w l ) t u t i h i twt~nt ia l .

El lenguaje de la manipulacih de datos del IMS En vita i r t ~ * i h n se tlefinrn r ilustran lab rnracteristit*as d r l lenguaje tlr inanipula(i6n dt, datos. I)L/1. Sr ntwsi ta rnteiitlri- r l aweso y la manipnlatibn del programatlor r n una 11asr tit* tlatos tle IMS 1,ara intrractuar twrrrt*tameiite con rllos.

El airea de trabajo del programa

Para rl DL11 ejecutar operarionri r n una 1)asr d e datos rle IMS, el sistrma mantiene un Area d r t r a l ~ a j o tlel progrania qur contirne las siguirntes variablrs:

p h t i l l a d e $eglnento. El Las plantillas d c s c g ~ w m t o s (segment tpmpk~tes). que tian la cwnposit.i6n dr l wg- foriliato tlrl i r r a tlr mrnto para cads tipo clr srgmcLnto en la basr d r tlatos. traljajo tlrl progralna

Page 543: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS JERARQUICO 5 3 3

I~andera tle ehtatlo. (:an111o cn!o jalol- intlica 1.1 rc'sult:~- tlo (11. la idtima opcwcii~u tlr la I ) ; ~ s t k tle datoi (1""' c.j(wplo. si tn to 6xito o no).

I,os punterns actualrs \KIM vada i r h l de la base dtb datos. Pktos contieuc~n la t l i re t~ i6n dt.1 segrnento en el iirl~ol (pie se h a accectido iniis r t~t~ir i~telnente. [,as bandrras d e ehtado t ~ n v indic;~n el re5ultado cte la illtinla operaci6n tle la I)ast- tle tlatos. P o r cjtwplo. ljotlria asign;~rsr uu "0" si la ultima opt~racibn tu\ o 6xitt1 \ otro simlwlo t-n t.aso contrario. Siguir~itlo una ol)eraci6n. el progrania 1)uetle ~ d e - rirse a la I)antlera de estado para drterrriinar club hataer a wntinuacihn.

DWl: Una panora'mica

El lenpuaje (It* manipulatihn t1c tlatos para IRIS se tlenomina DL/]. \ continuat~ihu st, t h n t~jvmplos tlr Iw Ortlcnes miis t~oiniinnit~nte usatlos del DL/l:

- -

GKT UILIQIT (GlI) Rtvwperacihn tlel 1)rinwr sc.gmcnto tle tlatos clue satisfaw lina contlici6n ( M a .

G K ' ~ NEXT (GY) R t ~ c n p t ~ a t ~ i 6 n del prhxinio segmcnto. GET NEXT VITHIN Rvcnpt~at~iOn d r l prOuimo segmcnto. per0 sin el segintmtt~ PARENT (GNP) padre actual.

GHC. CIIN. GHN 1' Ccrrar la I)aw de datos para GIT. (;N, GNP. INSERT (ISRT) Iiiaclir nn nuevo sepmento u la 11asc tlc clatos RF: t'LL4CE (HEPL) Motlific-ar el valor tle nn c a m p (11.1 wgn~ruto. DELETE (DLET) Horrar 1111 s tyi~c~ri to .

Veainos algunos ejrnqllo:, tlel uso tlr estas Ortltm~s

Get Unique (GU) La olden GET st. usa 11ara selcccionar un,i ocurrent.ia dvl svgmtmto. GET UNIQUE st.11~-

tiona un segint.nto. tlantlo nn valor partit.ular a1 Area tlr t r a l~a jo . El segmento tleseath sci drfine r n t r r pnrintvsis por un retpisitn eliminatorio l l a n d o 1111 ilrgumrnto d r I ) i~vpe t la del segmtwto ( A M ) .

E j r u ~ p l o 1: Una siniple rccnperacion d e un segulento

G U DEPARTAMENTO (NOMBRE-DPTO = ' M e r c a d o t e c n i a ' )

E u cste ejemplo, el argumento tie l i ~ s q u r d a del srgmento es NOMBRE-DPTO =

= 'Mert*atlotecnia'. La ortlen GU ret~iperar i i el primer sepmento que satisface el -1RS. En el prhximo ejemplo. ol~scrve la ctiferentia cuando se desea r e t - u p r a r el segmento para el empleatlo Strve Smith, t1uit.n file asignado a1 Dcpartamento tle Mercatlotrrnia.

Ejeinplo 2: Rrcnperaci6n d e u n segmento dependiente

G U DEPARTAMENTO (NOMBRE-DPTO = ' M e r c a d o t e c n i a ' ) EMPLEADO (NOMBRE-EMP = ' S t e v e S m i t h ' )

Debido a que el srginento EMPLEADO es dependiente. s r t.sIwcifica un camino jerirquitw. El operatlor GlJ recuprrarii sblo el ultimo segmento del t.amino. Eso significa que el segmcnto Mercadotrtmia no se re tywrar t i .

Page 544: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

S11110iiga qutA 110 w wno(v' el t l tp r tan ien to a1 cual Stevv Smith fur asignado. I,a con- s d t a podria tratarsv conlo se iiiuestre t.11 el pr6ximo ejeniplo.

Ejeniplo 3: Rccupr~raci6n de l segniento depcndi rn t r coanclo n u sc couocar la ocur renr ia padre

GU DEPARTAMENTO EMPLEADO (NOMBRE-EMP = ' S t e v e S m i t h ' )

Esta wnsul ta examinari srcwencialnwnte 10s segnwntos c\r DEPAII'I'AMENTO has- ta q w sea ent:ontrarlo el s t p i e n t o tlcpendientc para S t t~vr Sniith.

Get Next (GN) Si en higar de simple~iirntt. reculjerar la 1,rimcra ocurrrncia d e un svgmento ( ~ u c tiene un valor t.sprcifico. sc desea rcLcuperar todos 10s scgmentos quc tienen esc \ a h , he pucde nsar GU en c.oordinac.ii,n con la orden GET NEXT (GN). Por ejemplo, suponga clue se tpriere r w u p r a r todos lo3 segmcbntos de EMPI,EADOS para (%I Departamento tle Mercadoternia. Esto se haria dt. la zigl~iente mallera:

Ejeiuplo 4: Recuperacibn d e un conjunto tlr srgmentos

GU DEPARTAMENTO (NOMBRE-DPTO = ' M e r c a d o t e c n i a ' ) EMPLEADO

GN EMPLEADO

El operadoi- G I efcctnarl la rec.ul,erac,i6n del prinier sebmi~nto de EMPLEADO para el D r j ~ a r t a ~ n e n t o de hk-catlotecmia. El o l~erador (;N controla mtonces la recupera- c i h dcl pr6ximo s e g ~ w n t o d e r~ i i l~ leado ~ m - a cl Del~artamento de Mcrcadotecmia. Mientrak exista una segunda ocuri-twia d e cwil)leaclo para el t leprtaniento d e Mrrc.atlotecnia. t15ta consulta hare lo cjne se c111ier.e. Sin embargo. si no existieran los tleuiis segnwntos d e em- pleados cnmtlo s(. ejecuta la ortlen CN. el sistcwa iria a tmeontrar el pr6ximo scynento de EMPLEATIC) indifvrente a1 departaniento a1 c-ual el empleatlo file asignado. Esta posihili- dad p d e prevenirse usando la ortlen GNP. cwmo s r deniostrari en el Ejemplo 6. p r o antes ,sr ver i una motlificac%'m simple a la cwnsulta del Ejemplo 4, que perliiite la recbupt.- rac*iim de totlos 10s segmentoz tle empleatlos en la h e de datos.

Ejrnlplo 5: Recuperar todos los segmentos d e u n tip0 particular

GU DEPARTAMENTO EMPLEADO

MAS GN EMPLEADO GOT0 MAS

Mientras evista otra owrr rnc ia cle un segmento EMPLEADO, se ejecutar i el &lo iclcntificado por la rtiqueta d e instrucci6n M 4s .

Get Next Within Parent (GNP) El GNP tlifiere del GN en qne IMS s d o rwupera 10s segmentos (ILK son dependientes en una simple orurrencia padre. Volviendo nuevanwnte a1 Ejemplo 1, csa consulta podria rnodificarse usando el GNP, como en el Ejemplo 6.

Page 545: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS JERARQUICO

Ejemplo 6: Recuperar segmelltos para u n solo padre

GU DEPARTAMENTO (NOMBRE-DPTO = ' M e r c a d o t e c n i a ' ) EMPLEADO

GNP EMPLEADO

E n este ejt*inplo. si no hu1)iera otro segmrnto d r EMPLEADO r n el Drpartamrnto tlr Mrrc.aclotrc.nia, la r j rcwi6n 1)araria y el uwar io tendria la r r s t r i c 4 m tlesrada para 10s emplrados clel D r p r t a m e n t o cle Mervatloternia.

Conio otro r jen~plo, snponga q u r br l)i~bcan todos 10s segmentoh (le OFICIO para (4 empleado Strvr Smith. que trahaja en rl Dtyartamrnto d r Mrrcadotecnia. St, aplic-aria la signicntc ordcn:

Ejemplo 7: Recuperar segmentos para u n solo padre

GU DEPARTAMENTO (NOMBRE-DPTO = ' M e r c a d o t e c n i a ' ) EMPLEADO (NOMBRE-EMP = ' S t e v e S m i t h ' ) OFICIOS

PROXIMO GNP OFICIOS GOT0 PROXIMO

La ortlrn GU recupera el primer segmrnto d r OFICIOS para S t e w Smith. La ordrn GNP cbntonws rwupcra sccnencialmrnte 10s restantes segmentos de OFICIO para Strvr Smith.

Get Hold

La o r d r n GET HOLD puede ocurr i r r n nna cle las tres formas: GET IIOLD UNIQUE (GHU). GET IIOLD NEXT (GIIN) y GET HOLD WITHIN PARENT (GHNP). El pro- graniador iisa rstas Ordrnrs de la misma forma que GU, GN J GNP, r w e p t o cple las Ordc- nes GET IIOLD dehen usarsr para informar a la h e it(. datob c p r nrl camhio o iina eli- minarihn sr realizarb rn r l srgmrnto rrcuperado. Esto significa qne, GHU, GHN \. GHNP sr usan conjimtanirntr con las Ordenes REPLACE (reemplazar) o DELETE (horrar) .

Replace (REPL)

I'ara n~otlificar un srgmrnto ewistentr, Gste drl)e transferirse a1 Area de trabajo, dontle sr realizan 10s eamhios deseados a 10s earnpos de 10s segmentos. Usando el lengiiaje DLI1, rl segmento objetivo dehe recuperarse usando primero una d r las hrdenes GET HOLD. El segmento se modifica entonces y la orclen REPL eserihe el segmento artiializado. El siguiente ejemplo ilustra chmo se proccdcria si sr drsea camhiar el salario de I n i n g Schatz, (p ien es einpleado del Departamento de Mrrt-adotecnia, d r $20.000 a $25.000.

Ejemplo 8: Modificar valores d e campos d e segn~entos

GU DEPARTAMENTO (NOMBRE-DPTO = ' M e r c a d o t e c n i a ' ) EMPLEADO (NOMBRE-EMP = ' I r v i n g S c h a t z ' ) MOVE 25000 TO SALARIO REPL

Page 546: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

Delete (DLET) Un i t yn rn to i r twrra p r i n~ r ro tlrl irgmrnto ohjetivo mando line i n~ t ru r t i hn GET HOLD ) l u c y ~ uiantlo la instrut~icin DLET. Suponga quc Irving Schatz a tm~ t lona la firma. Sr al)lic*aria r l Ejrmplo 9.

Ejenlplo 9: Borrar u n scgniento. Lab 0rdrnt.s

GU DEPARTAMENTO (NOMBRE-DPTO = ' M e r c a d o t e c n i a ' ) EMPLEADO (NOMBRE-EMP = ' I r v i n g S c h a t z ' )

DLET

Insert (INSRT) 1,os nurvos srgmcntos sr afiac1c.n a la hasr tlv datos usantlo la orclrn INSRT. Los k~alorrs clr los c a m p s asocintlos p i i n r r o sr rnucwn a un i r r a d r tral,ajo. Entoncw tstos sc rnlazan con 10s noml)l-rs tlr 10s styrnrntos patlrrs rrlacionatlos con rllos. Asi. si 1.1 srgmrnto tplr sc. insrrta t.s in1 srgmvnto ( l q ) r n ( h l t r . el srgnicnto patlrr ) a t l r h raistir.

Bol) I x t ~ ha trrminaclo su (wr~~i(*nllnn tlr lugrnicria r u 1111 ( d r g i o Io('a1. Se drsra aiia- tlir 1111 111irvo segnirnto OFI(:IO para Bol) L r r r n la h sc* tie clatos.

MOVE 598 TO COD-OFICIO MOVE 'INGENIERO DE REDACCION' TO OFICIO-NOMBRE MOVE 0 TO ANOS -SERV INSRT DEPARTAMENTO (NOMBRE-DPTO = ' I n g e n i e r i a ' ) EMPLEADO (NOMBRE-EMP = "Bob L e e ' ) OFICIO

El s r p e n t o sr insvrtarh romo c.1 i~ltirno s rg~nrn to tlr of'ioio t1el)ajo tlcl norn1)re d r Bol) Ler.

La evaluaci6n del modelo de datos jeriirquico En esta scccicin se rxaminan las fortalezas j tirhilidatlrs tie1 motlelo tlr datos jerirclnico. Cramos la reprrstmtacihn j la manipnlari6n de lob tlatos.

La representacih de 10s datos

Existrn t r r s carat.tt4stic.a~ qur definrn la estrurturn del modrlo tlr datos jcrarquiro: irl)oles, srgrnrntos y canlpos tlr segmentos. Drhitlo a que cualtpier motlelo oricntado a ohjrtos l)uecle transfornlarsr tan un modelo de datos je r i r tp i ro . r l reqnisito de qur todos 10s rc.gistros de la haw cir datos wan i r l d r s puedr provocSar duplit~ari6n d r segmentos. Cualqnirr situaci6n myos rrsultaclos naturales sr enlazan rn un segnirnto qu r sra un srg- rnrnto hijo de dos segmrntos padres distintos rrtjuierr clue estos segmrntos padres se rnruentren en irholes separados.

A ~ ~ n q u r tal t1uplirac:iGn elirnina cirrtas tlificultacles cle iruplernmtaribn, tienr rstos resultados nrgativos:

Page 547: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

1. El rspatio d r almat*t~namirnto se nsa inrfit+ntrnwntr del)icio a qnr rl segmento est i relwtitlo.

2. Sr crea la posilditlad tlr inconsistencia tlr lo5 datos. Si 10s datos sr twnhian tan una c y i a dcl wgnlcnto, pcro no c.n la otra , la hasr de datos es inconsistrnte.

Estr p r o l ~ l r n ~ a se ha clin~inatlo con el uso ck 10s S P ~ I I I P ~ ~ O S ~irtuclles y 10s pnnt(w)s. Un scynrnto virtnal no contirnr 10s datos, p:ro tirnr un puntero a un segmento d r tlatos fisitws tloncle s r alnlacrnan 10s datos. Cuantlo st. rrquirl.e un seginentol se r rprodnw en tlos o mks i r l d r s (It- la I)asc: tlr tlatos, 10s clatos verdaderos sc a l n ~ a t w u n rn s61o 11110 de estos h r l d r s . Todas las otras instancias cle 10s clatos contentiran 1111 puntero a la localiztrtibn ~loncie se almawnan 10s datos vrrtlatlrros. Refibrase a la Figura 16.16. Note clue rl pnntr- ro nlostratlo por la linca distwntinua apnnta a la raiz tlel irl)ol clue contime 10s tlatos wr- tladrros r n un scynrnto tlrpenclientc.

Una limitaci6n importante drl tnotlrlo jrrirquicw 1.s cjur cxisten tnuchas aplit*at:io- nrs, para 1"s cnalrs un i r l d no cs la rstructura de datos natnral. Sc: ha visto rsto, por rj(~nq)lo, en las rnanipulacionrs t4ur se rrqltierrn para convcrtir r n dos c.strnctni-as t l v

i r l d una situacihn tlontle un segmrnto hijo prrtenecr tle manera natural a dtrs patlrt,s. Estos t i p s cie ot*urrenc:ias pueclen grnrrar n~uchos irlroles y una ineficicmcia asociatla a1 uso tiel espacio cir almacrnamirnto.

Para las aplit*aciones qur son in1ic:rentrmentr jerircjuicas por naturaleza y para h a rnalrs las transac.t:ionrs dc consultas son estahles, el modelo j rr i rqnico pnetle s r r bastan- t r satisfartorio. El hwho qur vxistan tarrca clr 7.000 instalaciones cie IMS apoja csta taon- clusihn, annqur algtlnas rstLn canhiantlo a sistemas d r hascs de datos relacionalcs.

El lenguaje de manipulacih de datos

Grnt:ralmentc, la intrrfaz drl lrnguajr proporcionh al motlelo jrrhrcjnitw discrt:pancias con el vrnclcdor. Esto significa cjur 10s programadores nrcrsitan ser conscirntcs de (pi! intrrrelaciones tleben estar j~r rdr l i~ i idas por el sistrma y cualrs no. Esta confianza r n cl programador no rs totalmente satisfactoria, dehido a clue el progran~ador I n~cde no s r r rntrndido en tocios 10s rrtpisitos que han sido construidos en el sistcma. I d r m i s . si se reorganiza la h a w dt- datos j rr i rquica, rso purde t rner efecto negativo en la cjrcurihn tle programas, t l d~ ido a clue la rstructura que soporta la aplic.ac:ibn A pnede no ser la nwjor t:strut.tura para soportar la aplic*acibn B.

En el lado positive, debido a que IMS do~aina las implementariones jrrirquic:as, 1111

programador que ha trahajatlo con IMS puede estar totahnente familiarizatlo con r l t ra- ljajo interno drl lenpuaje DLII . Atlcwis, para rl uso esta1,le de la base dc datos, la reorga- nizacibn pnrde s r r s rwndar ia .

- (dato real)

VENDEDOR l-7

PUNTER0 A FACTURA

Page 548: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

La nomenth tura del motlelo jerirqnitw 1)urde r e s~~n~ i r s t t m la siguimte forma:

1. lJna estrnrtura tle datos jt.rirqiiit~a SP t~onstruyt~ a partir ( I t ' un grupo tle sthg- mtmtos.

2. Catla t~ s t rw tu ra tle tlatos jerirquica tlelw tomar la forma tit. un i r l d . Un i r l ~ o l ar t-aracteriza pol- una o mi's interre1aciont.s padrr-hijo, tlontle ratla intcrrela- ci6n rs uno-muchos. Catla Lr1)ol tcmtlri' on segmrnto qu r f'untiona 4110 conlo 1111 st.gmmto padre. h e wgmento s r llama raiz.

3. Todas las interrelaciones padre-hijo en un L r l d st. rxtielitlen a partir d r la raiz hacaia a l~a jo .

4. C u a l q ~ ~ i r r srgmmto en un a r l~ol . rxccytuando r l st~gmento raiz, es un segniento hijo dt, algiin segnic~~to padre. Si se s i y e nn r i~mino tle intrrrrlacionrs padrr- hijo desde un s t y w n t o tle nivel superior. H, l~as ta 1111 sclgmento tle nivel inferior, S. totlos los srgrwntos en esr t.anlino7 inel~iyendo S. son segnwntos t l rpr~~dirnt t ls (tamhi611 tlestwdirntes) de H.

5. El srgiiieuto no puecle aparewr en mi s tle un camino a partir del srgmento raiz. Si en el modelo natural resulta tan mLs tlr un (.amino: tlelw cvearw un Arid srpa- rado para catla camiuo atlitional.

El modrla dc tlatos j t ~ rhyu i eo (.ontinha jugando nn iml~oi-tantt. papel r n las i~nplt.- mrntacionrs tlr I~aaes tle datos. Es rspecialint~nte corrientr en grandes ccntros de prowsa- miento tle tl:~tos qu r son sol~ortatlos pol- grandrs twmpiitatlores (It. IBM.

l lna 1)ase de tlatos jerlirt~uica se construye a 1)artir dr rolewiont~s clt, scglnentos quc sc. twnrctan unos (*on otros par j)unteros. (Catla srgmrnto es una coltwihn tie canlpos, twia uno (It* 10s c d e s contienr trn solo valor tle ciato. Un puntero estahlet*e los enlaces Ihgiros ntwsa- rios entre dos segmrntos. En rstr hentido, r l motlclo jerirquico tBs nuiy similar al ~notlelo r n red, tlonilr 10s datos y las intrrrelachnes st. representan por t i p s tle r . e @ w s y pnntcros.

El nlotlrlo jerai-quic>o tlifim: m que 10s segulentos se organizan como tdwciones de Brlmles (un solo scgnttmto padre prrnlitido) ~ n J s h e n i p e como grafos arljitrarios (tlonde se permite luis de 11n segnitnto padr r ) .

Alpmas limitaciones tlel n~otielo jerirquico son:

1. [,as caractrriiticas lhgiras y fiiicas dr l modelo no est in th ramente yeparadas. 2. Sr requieren n~an i~~u l a t i oues para representar iutrrrelat*ionrs tle datos no jrrlir-

qi i ico~. 3. Los requisites d r twnsultas ad hod pueden reqaerir la reorganizaci6n dr la \)as(.

de tlatos.

4 partir del punto tlr vista tlrl procrsaniirntn efirientr de una base (ic ciatoy, el mode- lo tlr tlatos jerirquico es comlwtiti\o. Sm rmhargo, conio lideres tie nept.ios t p e utilizan crrcicntrmrnte la informat%h como una hr r ramir~ i ta estratGgica. el moclelo cle datoi j r r i rcpico a1 parrcer no proporciona toda la capacidad nrcriaria.

(Las prrguntas marcadas con on asterisco son opcionalrs.)

1. Defina cada uno tie los siguientrs tirminos con sus propias pa1al)ras: a. Ins b. TDMS

Page 549: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS JERARQUICO

c . MARK IF (I. S! stern 2000 e. moddo d r datoi jerirquico f. i r h l g. ocnrrrnria tlrl s tywnto h. ancrstro i. registro d r la ])air d r datoi j. srgmrntw g~mrlos k. t i p IPH 1. i r t ~ o l d r wurrencia jerirquicw in. rrrorrido prcwi-den 11. HS 4 M 0. 111s 111 p. IID4M (1. IIID,\M r. DL11 s. plantilla d r rrgistro t. puntrro actual 11. J~andri-a de estado

2. Drfina la funribn qnr rcdizan cada m a tle las siguientrs brdenes del DL11 GU G N CNP GHU GHN GHNP ISRT REPL DLET

3. Brevemente analice rl DBD, su estructura y sa funcibn.

4. Describa la t~on1~1orici6n y la funcihn del BEP.

5. jCuil es el propbsito de crear un registro de interseccihn para corresponder 10s mode- 10s orientados a ohjetos con 10s motlrlos jerirqaicos?

6. En IMS. jcuintos suharboles pueden existir en un irhol?

7. * Compare 10s niitodos de representaci6n de 10s datos de 10s modelos de datos relacio- nal, en red y jerirquico.

8. *iPiensa que el lenguaje DL11 es mis simple clue el DBTG DML? Justifique su res- puesta.

9. iQuk ventajas ofrece IMS en comparaciim con el modelo DBTG y el modelo relacional?

1. Enlace 10s siguientes tbrminos con sus definiciones: -tip0 del segment0 a. La forma en que 10s ciatos se almacenan fisi-

camente en el IMS.

Page 550: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

-ir1terrelaci6n pc~dre-hijo h. Una cwmponcmtc dc.1 BEP. -DBD c. 1Jna colecci6n de RCPs. -REP d. Segment() qur purdr s r r ac*cwIido por un

programa tlr aplicwihn. -BCP e . Un tipo dc svgmento c p e no participa como

un srgmento hijo en ningiln IPH. -segmento susceptible f. Un tilw d r segmrntos q u r no tic-nc. tipoh dc

segmc3nto+ hijoh. -segrnrrtto raiz pn. Corrrspondr a un ohjcto en rl modelo orien-

tado a objrtos. -segrnertto hoja 11. 1ntrrrrlac.ibn 10Bc.a entre un t i p tle srg-

tnrnto padr r y un t i p d r q n ~ e n t o hijo.

2. Rxponga c d q u i r r regla d r l c*apitulo clue usaria r n la transforn~acihn del diagrama orirntado a objrtos d r la figura 16.1E r n una rstructura d r datos jerircjuica. Muestrr la transformacihn rrsnltantc..

3. Haga corresponder rl diagrama orientado a objrtos de la Fignra 16.2E ron una estruc- turg de datos jer i rquica.

( NO- VENDEDOR

HECHA-POR

I \ *I

PROD UCTO

FECHA

(PROVISION) < PRECIO

* INCLUYE * IMPUESTO

ORDEN TOTAL

Page 551: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

EL MODEL0 DE DATOS JERARQUICO 5 4 1

6. Para la r i t ru r tu ra tlr tlatos j r r i rqu i ra del prohlema 3, e w i l ) a las hrt1enrs tlel DL11 para h a t w lo s i g ~ ~ i r n t r : a. R r t y r r a r rl rrgistro para rl vrndrdor 13. I . Rrtwlwrar totlas las hrtlrnrs con la rantitlad tlv $100.00. (# . Borrar la ortltw 256. tl. C N I I I ) M ~ la direwiOn para el \en(ledor 13 a * 4tlanis Strcrt 912. Gainrh\illr,FL'. e. tiiatla rl krntlrtlor 15 a la h a w tlr datos. El nomhre tlelvendrdor 15 rs "Mike Ottr-

son' 4 la tlirec-ribn es Buster Building, Suite 95. 'l'oronto, Canadii. f. Ziiatla Id f'actura #285 a la hasr d r datos. g. Borrr la factnra #842

1. Est*ril)a nn pcqueiio informe cornparando lab ventajas y desventajas del mode10 d r (latos jt'riirqui(w. Conipiirclo y contriistelo con 10s modelos relacional y r n red.

2. Knruentrr m a firma romerrial que use el IMS. ~ L o s usuarios es t in satisferhos con sus c.aparit1advsP iChmo sr usa? iEstii la firma planificando ramhiar?

3. Si fuera responsahle con las recomendaciones drsarrolladas para mejorar el modelo jerhrqnicw, ~clui. sugerencias inrluiria?

4. iPuede rrfinar y ~ n r j o r a r rualquiera de lab rrglas sugeridas para la transformacibn tle 10s modrlos orirntacios a objetos en rs t rur turas de datos jerirquicas? iCuales? i ,Cuin- d o se aplican?

Page 552: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

GLOSARIO

acccso s610 para recuperar. Arwso a la hase de datos pero sin poder haccr artualizarihn

administraci6n de la basc de datos. Per- sonal con la responsahilitlatl de con- trolar y p r o t r p r la haw d r tlatos.

administrador d c archives. Software clue administra la rrscrvaci6n de lo- calizariones de almawnamiento y es- tructnras de datoh.

adrninistrador de buffer. Software que rontrola rl movimiento d r datos entre la memoria principal y el almacena- miento en disco.

admhistrador dc la base de datos. Per- sonas cnyas responsal~ilidades se ren- tran en la ges t ih de 10s aspectos t& nicos del sistenia dr base de datos.

adnlirlistrador de 10s datos. Persona ~ I I -

)as rrsponsa1)ilidades se centran en el estahlerimirnto de las politicas y 10s procedimientos para el sistema clr informacihn de la organizari6n.

agente. 1Jn proceso que coopera para ejecutar una transaccihn.

agregado. Una intrrrelaci6n vista eo- mo un conjunto de ohjetos.

agrupamiento (clustering). U1)icacihn en un mismo bloque d r rrlaciones que sr r r i~nen con frecuencia.

i lgebra relational. Un lrnguajr proce- dimental para la manipulac~ibn de relaciones.

alias. Un nornlre altrrnativo clnc se le da a una relaticin.

ancestro. En una jerarqnia. un t ~ p n tle segment0 qur se encnentra rn el niis- mo ramino en nn ni\el snprrior rn rl irbol.

anomalias de actualizaribn. Inconsis- tencia de los datos romo resultado de datos rcdundantes y artualizacionrs parciales.

anomalias de borrado. Pbrdida no in- tencionada de datos drhido a cmr 5r han horratlo ntrns datos.

anomalias de insercicin. Imposihilidad d r adirionar datos en la h e de datos dehido a la ausencia de otros tlatos.

Application painter. Un paintrr que se m a para definir 10s aspertos genrrales d r una aplicacihn, tales romo rl nom- Ilrc y la bi1)lioteca de la aplicaciirn.

i r l~o l . Una estructura de datos jrrbr- quica. esto es, ima estructura rn red donde un tipo d r srgmrnto h j o es enlazado a shlo nn tipo de srgmento padre.

irbol de la base de datos. Un lirbol que tiene una raiz.

irbol de oeurrcnria jvrircpico. Repre- sentacihn de swmrntos de ocurren- cias en una estrnrtnra de irhol que refleja todos 10s t i p s IPH.

i rbo l enraizado. l h a jerarqnia de re- gistros indives clue tiene un unico registro indicr m el nivel mis alto; estr registro se llama raiz.

i rea . En IDMSIR es nna localizacihn en el almacenamiento que rontienr uno o mbs tipos de registro.

i r e a de trahajo del usuario. Porrihn dr la mcmoria primaria qne se usa para runtener las variables de pro- grama qur apuntan y contienm 10s registros tle 10s diferentes tipos de rcgistro. mientras que sus contenidos se oyeran por el programa anfitribn o principal.

arista. Parte de una estrnctura en red represmtada por una flecha.

arquitcctura tres-niveles. Estrurtura es- tandar de base de datos eonsistente en 10s niveles ronceptual, extemo r interno.

asignaribn. Operaci6n del ifgehra re- lacional que da un nomhre a una rckicibn.

asociar (rnnp). Asociar elementos de una esfera con elementos en otra esfera.

atributo. Una interrelaci6n funcional de un conjunto de objrtos con otro conjimto de ohjrtos.

atributo de la rrlacicin. Una columna m una relaci6n.

banderas d~ c3tado. Variables que se usan para denotar el bxito o el fraca- SO tie la idtima nperacih ejecutada yor el programa de apliea-i6n.

Page 553: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

I'iramt.ntt.. haze dc datos cxtcrna. La \ihtn tlcl nsna-

rio tlr los tlatos rn rl IRIS. bloqnc. tlc eomunicaei611 tle pruprama

(RCP). 111 t~oml~onrntt~ drl BEP. 11loqnc de especificacibn dc programa

(BEP). Esl)t~vifica lok nomhrrs tlr catla irglnt.uto ~ I I uua aplieati6n dr I"."grallla 'Ill' "'.'."lrri. t~orrt.sl,olltlv a la v-ihta tlr usnario o ~nl)rhcl~~t.~na.

hlocpeo. 1rnl)itlr rl acreso a ou rrpistro tit. la haw tlr tlatos 11or una srguntla trankartibn hasta true la nrinw-a

sus arriollri. I)loqueo de csrritura. El usuario tivnr

tlt.rwho a 1rt.r ! a artnali7ar rl rrgis- tro dado.

h l o ~ ~ u e o de lectnra. El osuario tirnr tlt.rt.t.ho a Itvr rl rrpstro tlatlo.

I)locInco en dos fases. ITn mltotlo dr (*ontrol 1 1 ~ 1 I)rocv.sa~nlrnto c*onru- rrrntr ru rl rnal todai las olwratio- nrs tlr 1)loqnro prrvrdrn a la l~rirnrra ol)rraciOn tlr lil)rrarii,n.

But611 Open Tahle. ( Z l ~ r ~ r Tabla.) Botbn Run Q u t q . (Ejvtwtar twnsulta.) Bovre-Codd (FRBC). Todo tlrtrrmi-

nanttx PS nna t-labr. BREAK. Palahra rrsrrvada clur c.aiisa

la salida de la cjccurii,n tlc un lazo WHILE.

caja de condicibn. En QBE es una raja rn la cual sr purde rxprrsar una ron- di&n compleja dc una consulta.

rilrulo relational. Ln lrnguajr no pro- rrdiulrntal para la drfinirihn de soh- rionrs a c*onsnhas.

camino. Un conjunto t k puntrros qur Ilrvan drsdr un rrgistro intliw haria otro.

caurino de expansibn. El ramino tlrsde r1 oriprn a la unidatl tlr rvferrntia m el anilisis AED.

aracteres colnodines. Simholos espe- cialcs clue valen por cualquirr cadma dr caractrres.

cardinalidad. El numwo miximo tlr ins-

purtlt. cstar relationatlo twn ana sola instanria tlrl ot1.o t.onjnnto tlr o1)jrto.s

ratilopo. En SOL-9%. una c~olt~t~t.iOn dc

para hawr sus propios t~hml)utt~s. riclo cle vicla dcl tlcsarrollo tlc la base

clc tlatos (CVDBD). I'n prowso 1)ara 1.1 tlisvfio. iml)lt*rnrn~atihn y ~nanttmimitw~o tlr una haw dr tlatos.

eiclo cle vicla del tlesarrollo tlc sistcn~as (SVDS). Un I)rorrao 1 ~ r a '1 tlrsa- rrollo tlr hihtru1a.i.

cifraclo. Cotlifit~acihn tit. los tlatos ~)m-a hawrlos inintc.1igil)lt.h a 11n-sonas no an torizadas.

rlasc. Lna rrl)rrst.ntat%'~n abstrarta (~dantilla) tlr un ronjnnto tlr o1)jrtos.

claw cle inscrribn tlc roniunto. Es la

rlasc clc rctenci6n tle coujunto. 1':s lo qur DBTC tlrttwn~na c6mo y cwintlo un rrgistro m~twhro sr 1)urdr ( p a r tlr n n twnlnnto; 1)urtlr srr ohligatoria

rual SP rx1)rrsan 10s hrchos y ('1 no- timitmto; <c*onrlnsii)n> :- < h a dr hiphtrsio.

cliusula FROM. Lista lab tal)lak clue son rrfrritlas por la consulta.

cliusula GROUP BY. 1ndit.a cju; fias drhm agruparsr sohrr un valor ro- mi~n tlr las cdumna(s) rsprtifitdi(s).

cliusula HAVING. Una rliusnla clue imponr rondicionrs a 10s grupos.

rliusula SELECT. Srfiala las roluninas clue dewan cn la consnlta.

clinsula WHERE. Nos da la rondirihn para wkrrionar las filas tlr las t a l h s indiradas.

clave. Campos (ir datos quc identifiran univocamrntc nn rrgistro rn un

clave. Un valor que siernprr purde uti- lizarsr para idrntifirar univoramrntr una instancia

clave candidata. Caalqairr ronjanto de atrihutos clue puede ser elegido co- mo una clave de una rr lacih.

clavc conipuesta. Ilna rlavr compurs- ta tlc mis dc un atrihuto.

datos. t.la\e crtcrna. Un ronjnnto t l t b a t r i h -

tos Irxic.ogri('icos cuyos va1orr.s .sirln- prts idtmtil'ican una il11it.a instanvia tlr

clave externa recurska. ITna rla\r 1;)- r inra tlnr rrfrrrnria a ~ I I 1)ropla rt.lacii,n.

clme interseccibn. 01wrac4hn tlrl ilgr- I)ra rrlarional quth twa un t w ~ ~ , j ~ ~ n t o iutrrsrrci6n dr tlos rrlar~ont*s 1in16n cwnl)atil)lr: randitlata tlrsignada t.0- 1110 uso principal para ~tlvntificar uni- ~o t~amrnt r las filas dr una rrlar10n.

clabe secundaria. I n rlrlnrnto tlr dato I.II)O valor idrritifira a nu twnlunto tlr rt~gistros.

CODASYL (Conference on Data Sps- terns 1,anguapes). lJna organizat~15n c.ornl)ursta dc rrprcsc.nt.111tc.s dr 10s fahrirantrs tlr hardware y software y tle 10s usuarios; ronocida p r i n r i l d mrntc par el (Icsarrollo drl Irnguaj(x COBOL.

ronjunto. En rl modrlo dr DBTG, una intrrrrlaci6n uno-ruuchos rntrr tlos

'wtros. tipos dr rc,' completo relacionahneute. Qnr tirnr

rl rnisnw podrr 16gico clur rl ilgrhra o rl rilrulo.

cunertores booleanos. .4ND, OR, NOT. ronjunto de ohjetos. Un ronjunto dr

rosas dr la misn~a rlasr. conjunto de objetos ahstractus. Un ron-

jnnto tlr o1)jcto.s qnr twnsistr dr las ins- tanrias clur no sc l)ut~dvn imlwimir.

ronjunto de objctos agregado. Una in- trrrrlarihn vista ronio un ronjunto de o1)jctos.

conjunto de ohjetos fisicos. Un twnjun- to de ohjetos ruyas instancias son ohjrtos fisiros.

conjuntu de ul~jetos ldxico. Un cwnjun- lo tlr o1)jctos quc ronsiste de las ius- tancias clue sr purtlm imprimir.

conjunto soluci6n. IJn ronjunto de va- lorrs dr datos dr la 1)asr dr tiatos clue sa~isfaetx las condiriones de nna ron- sul~a.

conoci~niento de direcci6u-empresa. Co- norirnirnto qur ayuda a nna em1)rrsa a tomar dreisionrs.

Page 554: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

c o n o r i ~ ~ ~ i t ~ u l o espreifiro d r la aplica- cihn. (:onotiniiruto trnr sr drtrruti- na j)or las rrglas y las con\t.nrionrs t ~ u r sr aldivan a un dominio rspwifi- ro d r ~)rol)lcn~a.

to solwr drprntlrntiis y rrstrict%)nrs rn tw los datos.

conocin~iento e n extenso. Ilrchos clnr sr alnlat-man rn lab rrlac~onrs tlr la 1)asc tlr datos.

ronoriinit~nto yrorediu~rutal . Conovimirnto qnr shlo s r purtlr tlcs- 13ril)ir ])or nn prwrdim~ruto .

ronor in~ ie~ i to en intenso. Conor~~nivn- to t p c w dvt1ut.r tlrl conotimirnto rn cxtmso !)or la aplirarihu d r rrglas.

ronsulta tiisvuntiva. Una comulta ru-

pa1 t 1 w t'ontisnr a las suhu~nsultas. consulta muhi-tabla. Una t.or~snlta clue

involutm a mas tlr una tabla. ronsulta simple. Una twnsult;~ qnr in-

\oluc.ra a ona sola tabla d r la base d r tlatos.

CONTINUE. Palalwa rtwrvada tint: causa clur rI t*oi~trol tlr ejt.cucihn (11, un I)ut,lr WHILE rrtornr a la prime- ra instrwci011 tlrl 11uclr.

control. Un dispositivo grafico por rl cual rl nsnario interartua ron el sis- t r ~ n a .

control de integridad (restrircicin). Una rrstrit:c:i6n aplicada a un con- junto dt~t r rn~inado dc datos: ntilizado nara ruinimizar 111s rrrorcs r n la rntrada dt. los datos.

controles d e accesu. Con~rolcs qur li- mitan rl acrrso del nsuario a los pro- gramas y a 10s datos.

controles d e concurrencia. Contro1t.s qut* n~ant i rnrn la intrgridad d r la hasr llr datos cwando (111s o mis nsua- rios siniult~nramrntr solicitan un rrrristro d r la haw d r datos.

controles d e respaldo y rtcuyrracibn. Aqudlos controlrs qur proporeionan mrdios para restaurar la I)asr dv datos en raso d r fallos tie1 sistema.

coulroles d e visla. Aqurllos controlrs que rrstringrn el acceso a lab vistas (subronjuntos d r las rrlaciones clr la base).

cuantificador existencial. Exl~res~bn del cilrulo relational qu r afirma la cuis- tencia d r a1 mrnos m a fila a la cual se

Ir aplica la condivibn.

cua~~t i f icador uni~ersa l . Exprrsibn tlrl rilrulo rrlarit~nal clue rsta1)lt:er qur nua cirrta twndicitin st. Ir al)lit-a a to-

du fila tlr algi~n ti])(). cuarta formu ~ ~ o r m a l (4,FN). Una rrla-

cihn t p r r s t i en 3FN y no tirnr tlr- 1)rutlrncias ~nnl t i rval~~adas .

cursor. Una fac*ilidatl drl SOL i n r n w tado en la t p r w a h ~ w n a n lob r ~ s u l - tatlos d r nna t.onsulta SOL Imra in ultrrior ~~~ .ocwami rn to .

UataWindow painter. Un puintt~r tjur twnstruyt. o1)jrtos DataE"intlow quc. acrrtltm a la h s r d r datos y Ijonrn los rrsultatlos rn vrntanas.

datos. 11rt.hos aislados. tlalos globales. Datos tpv w mant ivnr~~

m una hasr d r tlatos cnya u1)iracihn rs tlifrrmtr para al mrnos uno d r los usnarios.

datos locales. Datos tbr i misrno sitio o lo- calitlad ron sn prolia hasr th. datos.

DBGT (Database Task Group). Un s d - grupo d r CODASYL qnc tirnr la r tw ponsahilitlad d r drsarrollar los rst in- tlarrs tlr los sistrmas d r gestibn d r bas(-s (I(: datos.

drfinicibn d e dominio. Un tipo (It. da- tos rsperializado clefinitio tlcntro d r un esqnrma y usado m las definirio- nrs tlr rolumnas.

drfinicibn de esquema. Drst.riprihn tic una l m r d r datos para (-1 SGRD.

definicibn d e requisites. Drtrrmina- vibn d r 10s rcquisitos de informavi6n d r las i r r a s administrativas I; funrio- nalrs.

DELETE. Oprratihn tlnr cluita filas tic m a rt:laribn.

drvrndencia f'uneional. El valor tle nn alrihito tan nna tupla drtcrmina el la lor d r otro atrihuto rn la tupla.

dependenria ~nidtievaluada (DMV). IJna rrstritvGn qur prant iza la intlr- I)rntltwria mutua d r a t r~hutos mnlti- rbaluados.

dependencia tramitiva. Aparrct. ruan- do un atrihuto no t h v e rs funrional- nlrntr dr~wnditwtr d r uno o mis atri- hntoc no rlavrs.

descornposicicin d e relaciones. Dibi- sibn tlc una rrlari6n en multip1t.s r r - lationes.

descripcibn d e la base d e datos (DBD). La nlanrra m quc 10s tlatos son alma- rrnados fisicamentr m IMS (estruc- tura interna d r la haw d r datos).

dt.terniinante. El atriljuto tlr la 1)artr izqnirrda dc m a I)F drtcrn~ina rl valor d r 111s otros atrillntos rn nna tnpla.

tiiario d e operaciones. lJn rtyistro d r todas la3 transacrionrs j- 111s cam- Ilios t.orrty)ontlientr.; rn la I ~ a s r de ttatos.

cliccionario d r dalos. Parte tlrl SGDR clue tlrfinr la rstroctura tlr 10s tlatos tlrl usuario y t~timo Cstos son usatlo\.

diferencia. Opt~rariOn tlrl iilgc4)ra rrla- rional tlur r r ra nn twr~,iunto dikrenria tlr 110s rrlatic~nrs u ~ ~ i b ~ ~ - c o ~ i ~ ~ ) a t i l ) l c ~ .

deterrihn de interbloqnro. Una con- proharihn prrii~dit-a tiel SGRI) para dvtrrminar si la t d a dv esprra para algunos rrrursos cxtwtc un litnitr prctlrtrrnnuado.

diseiio conrevlual. Crracibn drl rs q w m a dtl n i \ r l r o n t q t u a l para la I m r dv datos.

tiisriio concrptnal d e hases d e clatos. Itlrntific*ariin tlr 111s elctnentos dr

para nna 11asr dc tiatos. cliseiio fisico d e la base d e clatos. Dr-

trrminatibn clr 10s tlispositivos de almacrnamirnto. mitodos tlr accrso (%

inclirrs para usar la 1)akr tle datos. disparaclor. Un programa clue se ejrcu-

ta automiticanwnte ruando sr intrn- ta harr r una drtrmminada actualiza- ciOn sohrr una tallla especifiva.

DISTINCT. Oprrador qur rlimina las filas duplicadas.

Distributed INGRESS. Un SGBDD co- mercializado por Relational Trchno- logy.

dirigida-por-eventos. Una carartrris- tiva de la aplicaciim (rue significa clue se escrihrn scripts para responder a 10s rlrntos qur tirnrn lugar.

divisihn. Oprrari6n drl algebra rela- rional qu r crra una nurva rrlaribn srlrccionando las filas en una rela- ri6n clue sr corrcsponcien con todus las fila m olra rrlari in.

divisibn d e correspondencia (mapping division). La porcibn dr l subrsqur- ma drl DBTC: qur prrmite cambiar

- -

10s nombres qur s r usan en el rsque- ma por 10s nombres rscogidos para el subesqurma.

divisicin d e estructura. La porcibn del subesqurma del DBTC; donde se drfi- nen 10s registros, 10s elemmtos de datos y 10s conjuntos del esquema.

Page 555: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

tli\isicin d e titulo. La portii,n tlrl s u b ric111r111a tlrl UBTC t ~ n r p r r m ~ t ( ~ tldr

L11 (Data language 1). Lrnguajr (11. ma- nipulaci611 tlr tlatoh tlc1 [MS.

dou~inio. El tbrmino PRO1,OG 11ara la rhlwific*ac*ii,n tlr un tilw tlr dato.

do~ninio del atrihnto. El conjunto 111s \ alorrs (111r 11nrtk tomar un atriljuto.

tlnriio d e un esquenla. Prrsona clur tirnr autoriclatl y rrspou~alditlat1 1)a- r a otorgar arwso a taldas. cwlumnas ? bistas rn un rscpenla tlr hasr clr tlatos.

r jrrnci6n r n serie. 'Arrionrh ( p e sr rjc- txtan una tlrspnis cle otra; no hay avrionc-s en paralrlo.

r l r~nento ejen~plo. Una , arialdr rn QRE t ~ n r rrprehrnta un valor no csprcifi- cado tw nna rolun~na (1e una tahla.

eneadenamicntu haeia delante. Una ratlrna d r reglas tjur van tlr una hipcitesis a mla ronr lus ih .

eneadenaniiento Iiaria detris. Una radrna lcigira tlr rcglas qur van tlr m a ronrlusi6n a m a hiphtrsis.

enfoqur urirntaclu a datus. Crntra la atenricin rn r1 anilisis clr los datos utilizaclos por las f h r i o n r s .

enfuqne orientadu a funeiones. Vrr a un sistrma desdr la perspertiva tle las fnnciones qur drbr rralizar.

enlace. Canalrs d r comunicariim entrr dos sitios d r la red y que provrrn las raparidades tlr tranbfrrrntia de tlatos.

enlaee fisico. Un rnetlio de conectar los registros usando las dirrcciones (I(, registros m disco.

equirreunibn. Keunicin theta 1)asada en la ignaldad de colnrnnas esperi- firas.

esquenla. Una definieihn de la estruc- tnra lcigira de la hasr d r datos corn- pleta.

esquenla de informacion. Esquerna en un catilogo que contiene metadatos.

rspecializacion. IJn conjunto dc obje- tos qne es un sulronjunto dr otro ronjunto de ohjetos

especifieacibn d e consulta. Definicicin de una consulta que se usa en una definicicin d r vista, declararicin d r cursor u otra instruccicin.

atrihutos y las rlavrs forinvas. rstndio tie ~iahilidad. Partr tlrl C W B U

(1ur tletrnnina la vial~iliclatl rtwnhmi- (.a. tc,c*nolhgic*a y olwrac*ioual tlr la hasr tle tlatos.

EXCEPT. Olwrat~ihn qur vrra rl (.on- junto tlifrrrnria rn t r r doh rrlarionrs.

expresibn dc ralifiraricin. llna twntli- cihn vrrtlatlrra o lalsa tlur sr rrficw a la lista rcwdtatlo y cluv drlw rumplir- sr para 10s t*ltwwntos rn (.I twnjunto holnt*ihn.

Forma Norn~al Uo~uinio Claw (FNDLL). Hrquirrc. qur ('atla rrstrit*c.ii,n hra rrsultatlo tlr tlrlinitiont~s 111s dominios y 1-laves.

fu rn~as norn~ales. Rrglas para relario- ncxs c~strurturaclas clue rliminan ano- maliah.

fu rn~a to ruenta-dato. Un lormato tlr tlatos 1)ara p i s t a ~ ( ~ u r no usan rlavrs rxtrrnah.

formato rurnta-rlavr. Un lormato dt, tlatos para pistas ( I I I ( ~ nsan davrs rxtt'rnas.

frag~nentacion de datos. La partiricin (Ie una rrlarihn 1.n un SBDD.

frapnentacicin horizontal. Pa r t i r ih clr una rc lavih rn su1)conjnntos tle sns tuplas.

frWnentaeicin vertical. Particionar una rrlacicin por la proyrcciim tlrl sul)- conjunto d r SIIS atributos.

frontera de la eficiencia. La frontrra rxtrrior rn rl anilisis AED.

funcion integrada. Una funcicin esta- distica clue opera sohrr un conjunto d r filas - SUM, (AVG, COUNT, MAX, MIN.

funci6n de conjuntos. Una fnncicin in- trgrada.

generalizacicin. Cn ronjunto de objr- tos que rs un supcrronjunto de (o clue conticmc a) otro conjunto de ohjetus.

grado d r la relacion. El nilmrro dr atributos m una rrlacicin.

grafo dirigido. Una rstrurtura matrmii- tira en la que 10s puntos o nodos e s t i r~ ronertados por flerhas o aristas.

tlr rsl~ct~ializatihn tlur cansa clur i s t r t r n p todos los atributos tlrl (sonjunto grnrralizatlo.

hijo. Un rrgistro "sulmrdinatlo" cw una intrrrrlarihn jrrircluica.

hon16nimo. Un tirmino c ~ u r tivnr clifr- rrntrs signifirados rn difrrrntrs (son- trxtos.

HDAM. Mbtodo dr a twso drl IMS.

Ijrinda la t*apac.~dad para r r c y r r a - 1-ionrs dr s r p c n t o s tanto dirrrta I Y -

rno securncxd. hoja. El rrgistro indire en el nivel rnas

hajo de un i r l d rnra i~at lo . HSAM. Mbtodo de arrrso del IMS. muy

ripitlo para reruperariones de srg-

identificador. Una rlave externa. IDS (Integrated Data Store). Uno de

10s primcros sistcmas dv grsti6n tle hases de datos; sn arquitrctura estu- vo muy influenciada por las recomen- dacionrs drl DBTG para un rnodelo de hasr d r datos cw red.

IMS (IBM's Information Managrrnrnt Systrm). SGBD hasado en el rnodelo d r datos jrrirquico.

indicadures de actualizacicin. Marcas tlr posicicin cle los rrgistros clue han sido encontrados.

informaeibn. Datos organizatlos o r r -

informaci6n para la gesticin. lnforrna- ricin de apoyo a los qur tornan drci- sionrs y a las oprracionrs drutro d r nna cornpaiiia.

instancia de un objeto. Un rniernhro particular de nn conjunto tlr objetos.

integridad d e 10s datos. La exartitutl y la consistencia de los datos alrnacena- dos en el sisterna d r base tlr datos.

interbloqueu (deadlock). Dos transac- ciones sr rxrluyen rnutnarnrntr del acceso al siguirntr registro requeri- do para wmpletar cada una de sus

Page 556: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

transarciones: t;~ml)ibn i t . drnomina "altrazo mortal".

instruecibn FETCH. lTna instrurc10n qne toma nna fila a 11artir d r nn twr- ior qne pa ha s~tlo ahirrto.

inbtrurcibn hloqur. (1 nna sola ins- t ru tGm SOL sin tlelirnitadorrs ( I un t-onjunto dc tlos o n15s instrucciont.~ SQI, dcliinitatlas 11t1r BE(;IN ... END.

iuetruecion IF. Una iristruccihn ruva rjrt~nticin t irpmdr tle la vt.raridatl d r uua cwndiciinr.

i l ~ s t r u r c i i , ~ ~ OPEN cursor. 1nstrnccit1- nrs SOL qur causan qur rl SGBU prot.t:w nna t:onsulta y "almatww" 1.1 rt:sultatlo en el cursor.

illstrucricin Una instruecihn qut- usa una t:on1lici6n para controlar la rjrrurihn itrrativa tlr un bloqur d r instrurrionrs.

instrurci6n conclirional. Una inbtrut.- ci6n que pregnnta por una twdicicin y tleterm~na el procrsam~c~nto a wgulr segul~ el cwmplimitmto d r la rondi- t i h .

instruccibn CASE. Sr uia (*on el SWlTCH para intlirar m i l rs el procesamirnto a srguir cuantlo nna condicihn sea verdatlrra.

instrucci611 SWITCH. Una instruccihn clue permite preguntar por una serie de rontliciones.

instruction tlr califirari6n. Una (.on- dici6n en una instrucrihn tlel riilculo relacional c p t : restringr la mrmbrrsia en una rrlaribn soluci611.

instrucri6n iterativa. Una instruccibn clue se pua'lr reprtir una t irrta canti- dad d r veers.

instrurciones de serializa&n wag ssta- ternents). lnstrurcionrs SQL clue st. incrustan en un programa de aplira- cihn uara sefialar d6nde comienza o termina nn ronjunto de instrurciones SQL.

integracibn d e los datos. Combinar 10s clatos para un uso cornin.

integridad de 10s datos. Prer~sibn y consistrnria tle 10s valores de lo5 clatos en la base d r tlatos.

lnterfaz G r X ~ e a de [Jsuario (GUI). Pan- \ ,

tallas y funciones que proporcionan a1 usuario final un medio gral'ico pa- ra tener acceso a1 sistema cle compu- tacihn.

interoperabilidad. El estado que carac- teriza a multiples sistrmas heteroginr- os q u u e comunican y contrihyen a la terminarihn de una tarea comin.

interrelaci6n. 1111 rnlarr rntrr instan- tias d r dos conjuntos tlr olbjetos.

iuterrrlacibn hinaria. Iina intrrrela- cihn m t r e doh c:onjnntos tlr ol)jetos.

i n t r r r e l ac ih de alto nivel. Ilna intr- rrrlaci6n rnt r r tres o n ~ i s t:onjuntos tlr ol~jetos

interrelacibn funrional. lina intrrrr- lacihn que t ime una rartlinalidatl nlixima tlr valor 1 rn a1 menus una d i r t ~ ~ : i b n .

interrelaricin n-aria. Una in t r r re lac ih rn t r r 17 conjnntos dt* ol~jrtos.

intrrreIaci6n rcrursiva. Una rrlacihn qnr rrlat*iona un ol~j r to ronsigo nrismo.

INSERT. Oprraci6n qur causa que se aiiadan filas a una relaci6n.

Intrrfaz Grifica d e Usuariu (GUI). Pantallas y funtionrs clue hrindan medios grificos para qur un usuario final accrda a un sisten~a de c:hmpnto.

INTERSECT. Oprrari6n qur crea el c~tnjunto interset.c:ihn tlr dos rcla- cionrs.

JOIN ON. Ol)rrar1Sn clue ronerta las relacionrs cuando orurre una ron- diribn

JOIN IJSING. Operarihn clue conrrta la5 relacionrs ruantlo las rolumnas rorunnes designatlas tienen igualrs valores.

lewaje anfitrion (host language). Lm- guajr de 10s programas en 10s cuales stb puedrn Inrrustar las instrueclones SQL.

Lenguaje d e Definici6n d e Datos (LDD) (Data Dejinition Languagr) (DDL). El lrnguaje que se usa para esprcifirar el esqucma de una h s e cle datos.

Lenguaje cle Manipulaci6n d e Datos (LMD) (Dnta Manipulation Lanpua- ge) (DML). El lenguaje qur se usa para almarenar y manipular 10s tlatos.

lenguaje flujode-control. Lenguaje de manivulaci6n tlr datos tie SOL Server.

lenguaje grifico. Un lenguaje cle corn- putadoras que usa representacio- nes pict6ricas para resolver 10s pro- blrmas.

lenguaje textual. Un Irnguaje de rom- [butadoras cuyas instrurciones ron- sisten en c*aclenas d r vararterrs.

lista inverticla. IJn dircctorio en don& cada entrada t,ontic:nr un apuntador a todos 10s rrgistros f'iskos von 1111

valtrr csprt:ific:o. lista resultado. Una lista c:n una instrnc.-

ci6n 1lr1 ci1t:ulo relational cp r drf'inr los atrihitos tlr la relaciOn solucihn.

literal cadena de caracteres. Litcrales formados por carac:tertbs alfanun~iri- I-os y por carartcares "espetiales".

Iogica clr primer orden. Una estrnrtw ra l6giea qur hr caracteriza por un conjunto d r objetos. un ronjunto d r l~redit.atlos (rada uno tlr los ruales cvalim vertladertr o falso) y un ron- junto ale funtiones.

nlarca de tiempo (tirnesturnp). Un mi- toclo para identific:ar 10s n~ensajes con la hora de transmisih.

IMARB IV (Control Data Corporation's Multi-Acress Retrieval System), SGBD 1)asado m el modrlo d r datos jerir- quico.

memuria principal. ;ilmac-in localiza- tlo en la uniclad de prowsan~icmto central: usatlo para harr r disponil~le los tlatos para lab oprrarionrb d r lo\ usuarios.

metaclato. Informaci6n tlescriptiva so- I r e las hasrs tle datos.

nletaclatos. Datos en el tlicrionario d r datos qur descrihen la hase tlr tlatos.

modelo. Una rrpresentarihn de la rra- lidad qur retiene s6lo tletallrs selrc- cionaclos.

modclo de datos. Un mitotio roncep tual para estructurar 10s datos.

modelo de datos jerirpuico. Un mo- tlelo d r tlato en el cual todas las inte- rrelaciones son estrurturaclas c:onio i d ~ o l e s .

modelo de datos relaeional. Un mode- lo de datos dontle 10s clatos se repre- sentan en fbrnla de tabla.

modelo cle datos en red. Representa 10s datos en estrueturas en rcdes de tipos de reestro conectados en interrrla- rimes uno-uno o muchos-muclios.

modelo jerirpuico. Un modelo de da- tos que presume que totlas las inte- rrelaciones entre 10s datos puetlen estructurarse como jerarquias.

modelo orientado a objetos. Un mo- delo que representa las eutidades del

Page 557: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

R.iTlTR.4L JOIN. Op t~a r i6n qor con(.(,- ta las rrlacionrs c.uantlo las t~olnmnas t ~ o n n ~ ~ ~ t ~ s tirurn ignalrs valorrs.

nivel ronrrptnal. Rivd rstr~wtural tlr la I)asca tlr thtos qut* tlefinr 1.1 cwlur- ula li~giro tlr la I~ase tlr tlatos.

nivel rxterno. Nivrl rstrut.tnral d r la 11aw tlr tlatos qur def'inr las vistas tlr los usnarios.

11ivc1 interno. Nivrl c.strnrtnra1 d r la 1)asr tit* datos qnr tlrfint. la vista Gsira tlv la I)as~s tlr datos.

110 procedimental. Lrnguajt. qnr pro- 1)ort.iona IIII nwtlio (It* rstal)lrtvr t p6 st2 I I rsri~ tw Ingar d r r6i11o hawrlo.

nodo. Par t r tlv una rstrorturu (.II red rt~prrst*nlatla par nn pnnto.

~~orn~al izaci r in . El 1)rorvso de twnvrr- si611 tlv nna rrlatihn 1.n una forma wthndar.

ul!jetu roinpleju. Correspondr a 1111

a p q a t l o o intrrrrlacihn tle alto nivel. ohjetu runccptnal. Un ol~j r to quc rr-

prrsenta nn t i p d r ( m a . uhjctu fisicu. Un ol)jrtt~ qur rrprtSsrnta

nna row fisica esprt*iSica. orurrenr ia . Sincinimo d r instancia. ucurrenria del sepnento. Trrminolo-

gia d d 1MS para oc.nrrencias d r r r - gistroa.

operador EXISTS. Evaliia vrrtlatiero si rl conjunto resultante es no v a t h .

operador NOT EXISTS. Evalila \ I T

datlrro si r l twnjunto rt.snltantr rs vatio.

uperaclures d r con~parar ic i~~. =. o, <. >. <=. >=

iirdcnes ,de a r tna l i za r ih de conjun- tos. 0rtlt.nt.s tlel LMI) tlrl I)RT(; t p r sr I I S ~ I I 1)ara ( w a r . t.;~nll)iar o borrar twnjuntos instanrias.

rirdynra de artualizari6n tlr registros. Ortltwrs tltd 1,Ml) dt.1 DKT(; qnr sr usan 11ara vatnhiar los valorrs tlr los rrgistros dt. la I)aw tlr tlat!~s.

cirdrnes de rernperaci61i. Ordrnrs tlrl 1,MD t l d 1)UTG clnr sr usan llara rr- rnlwrar rrgistros tlr la hasr ~ l r tlatos.

rirdenes navegarionales. llna ortlrn drl LhlD tlrl 1)BTG t ~ u r sts nsa Ilara rntwntrar rtyistros t l v la I~asr tlr clatos.

1)atIrr. l111 rrcistro "tl~~riio'. ITI una in-

hasr tlr datos p r a n~i t~rotwn~~ntat lo- ras ruyo Irup~ajt . tlr twuinlta rs QBE.

p a r i ~ n r t r o . llna varial~lc clue st3 nsa para pasar o wcd)ir tlatos tit. nn 1)ro- twlin~irnto alrnat.rnatlt~.

nlanifiracicin tle la haw tle datus. Ks- fut*rao rstrat&ro para drterminar las nrrrsidadrs tlr inforniacihn tlr un rutrnso ~wriodo 111, tirmpo.

planifiraririn prelin~inar. Planif'itwihn tlr nna I ~ s t . tlr tlatos qur ocwrrr tlurantr el 1)rotwo dt* planifit.acihn rstrat6gica d r la hasr tlt- datos.

plantilla dc sepnentu. El formato drl 6rt.a d r trallajo del p r o p i m a para un srgmento.

p1;lntillas tle registru (record templo- tes). For~natos nsatlos por los rrgis- tros qnr i r Iwn en r l Lrra d r trahajo del osuario.

plataforn~a rliente/servitlur. Una rrtl loral qnr roi~sistr en t.oml~ntadoras clientrs. las t*nalrs retihen servicios tle una cornputadora s r r ~ i d o r .

PLISQI,. L r n g o a j ~ tlr manip1tlaci6n d r datos tlr Orark .

predicadu. lJna rxprrsiim (lor rvali~a trrt ladwo o falio.

preview (uistn pre/iminar). Lln rrcurso que p ~ r m i t r al qnr drsarrolla la apli- carinn vrr r6mo a r j a rcc~r i la Data- Window cuantlo sr ponga en una vcn- tana.

prinier;~ forma nurn~a l (1FN) . l'otlos 10s valorrs tit. los atrihutos tlrlwn srr atiln~itws.

pruredin~ental . 1,rngoajr qur lwnvtht' nn rnbtotlo paso-po~.-l)aso l ~ r a la solurihn tlr 1)rol)lrmas.

I)rucetli~nientu. Tnstrurc*ionrs rscritas tlur t lewri l~m 11,s p s o s nrwsarios 1,ar.a rralizar una tarra tlrtvrminatla cw nn sistrma.

prorctlimiento a ln~arenado. Lrn pro- grama rompilatlo a Irngnajr tlv m&- quina y 111w sr salva para "1 t j . i ' t '~~- cihn rrprtitla mis rf'icirntr.

prucecli~nicntos de rccuprrari6n de la hasr de datos. Los mcdios n~rtliantr los rnalrs una I I M - d r dat~js qnr sr ha vorrompitlo 1"". t1csl)rrt't~*tos piirth* 1~rs t~ l l~ l l~ t~ r r s r a Ull rst:1tI0 rorrtTtt1 y consistrntr.

pruresa~nirntu runcurrente (runcn- rrencia). Ocurrl t.aando tlos o ~ n i s transarcioncbs I d e n a w t w ron tw rrrntrmcmtr a un n~ismo rrgistro d r la I m t . d r ~latos aproxin~atlamtwte al ~nismo tirmpo.

prucesan~ientu con arrcso directo. Un m6totlo tlr awrso a Iln arrhivo clue ~wrmitc t.1 a twso t h r t o a 1111

~,tyistro rslwrif'i~w. proccsan~iento electriiniro de tlatos.

.4utomatixatihn cwnl~ntacional tlrl ~ ~ q w l r o al 11ivt.l ol~rrarional d r nna organizatihn.

pruducto. Oprraricin dt.1 blpl)ra rrla- rional qur c'rea rl l)rotlnt.t~) rartwia- no tit, dos relacionc~s.

protlnrto cartesiano. Resultado d r apa- rvar ratla fila d r nna tal)la (.on todrrs I;w f'ilas d r otra tallla

prufesiunales de la romputacirin. Per- sonas responsal)lrs del sisttvna d r I ~ a s r tlc tlatos y del paqurtr tlr pro- grarnas d r apliracihn asotiadn.

prugrarna de apliraririr~. L!n programs dc t~ornp~itatlora qur rraliza ona tarra rspcrifi~:a d~ valor 1)rLt.tico m nua sitnariOn d r nrgotios.

propiedad importante. LTna propirtlad de un SGBD qur no rs ol)ligatoria p r o h a w a1 SGBD rnis atravtivo.

propiedad indeseable. Una propiedat1 dc un SGBD qnr Ir rrsta valor al SGBD para la Sirma.

propiedad innccesaria. I!na propirtlad tlc un SGBD clue no contrihuyr rn nada al valor del SGBD para la firma.

propiedad ol~ligaturia. Una propiedat1 d r un SGBD qut. ticnc qnr s r r pro- I~ortionada.

Page 558: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

protorol t~ de ci r r re de dos-fases. Un peotocd~) qur c.onsistr rn una fasr d r 11rrl)arado-l~ara-rl-c.irrrr y una fasr tlt- totarihn I r r r rar u a h t a r .

proyrcricin. Krlacihn qur rcsulta tit. ona opcrat%'~n tit: proyrt.tar.

~royeccicin de una rrlacibn. Ln;r ~ I L - tibn cornllursta dr atril~ntos srleccio- natlos tlr otra rrlat.ihn.

proyrctar. Oprracihn drl ilgt.l)ra rrla- cional yne crra nnii rclaciim 1)orrantlo tduninas tlc nna rrlati i~n rxistrntt..

p r u r l ~ a s de evaluari611. Un mbtodo tit. c.onq)a~wihn drl rendimirnto tlr un SGBD nicdiantr 11rurl)as sol)rt. apli- t.ac:ionrs rrales.

puntero. Una dirrccihn fisica tlur idcn- tifira tl6ndr I)urdr rnt:ontrarsr nn rrgistro sollrr el tlistw.

puntero actual. Conticnr la dircccihn tlrl ultimo srgmcnto qur scb acc:rtlih c:n el ir1)Ol.

punto de expansibn. Cualqoier punto r n rl (.amino d r rxpansihn rn rl anili- sis AED.

punto d e frontera. Cualqoirr p u ~ ~ t t ~ whrc la frontrra m r l anilisis AED.

puntos tle comprol1aci611. Copias d r la base d r tlatos rn rnomrntoi prrtlrtrr- minados tlurantr rl procrsan~iento: la rrcuperacihn d r la haw d r datos romicnsa o trrinina rn 1.1 punto d r cl~equeo mis rrricntr.

quinta forma normal (.SFN). Una for- ma normal yur dimina Ias deprndrn- rias de unihn.

recorrido pre-orden. Un n16todo de eonvcrsihn tlr m a rstructura de i r - 1101 a nn arrhivo plano que contitme la informacihn nrrrsaria sobrr las intrrrrlaciones jrrirquicas.

red. Una intrrrelacihn tle datos en la cual un registro puedr estar subor- dinatlo a regstros d r mis d r un at.- rhivo.

red de Area anrplia (WAN). Una rrtl de computadoras en la clue 10s sitios estin bastante disprrsos geogtifica- mmtr .

red dc i r e a local (LAN). llna red tlr c o m ~ ~ ~ t a d o r a 1.11 la (jar 10s sitios t-stin 111)it:adus a corta tliatancia (por 11) gent:raI nlrnos dtl una milla) uno d r otro.

rctlundancia de datos. RrprtitiOn (It. da t~ ) s tbn una 11asv tle datos.

rcgistro fisico. Un 1)loqnr Sisiro dt. datos.

reirnicin. Oprracihn drl algebra rrla- ci~jnal qur conrcta rrlac.ioncs.

reunibn extrrna. Expansihn tlr la r r w nihn nalural qnr iut.luyr todns las Silas d r an11)as rrlarionrs.

reunibn natural. Oprracibn de reunihn qor coneeta rrlaciones t w d o las wlurnnas comunrs tienen igualrs va- lorrs.

rrunibn theta. Opr ra~ ibn d r rrunihn qur ronwta rrlat.iones cnando los valorrs d r tivtrrniinadas ~:olumn;rs tirnrn nna interrelarihn esprcifica.

registro de la base de datos. Una ocri- rrt:nc:ia d r una raiz y todas sus tipos tic. srgmrntos deprutlirntrs.

rrgistro l6gic0. Un t i p de rrgistro como sr vc drsdr la prrsprrtiva drl usuario.

regla. Una rrstrircihn sohrr rl valor ynr sr lwrrnitr m una rolnmna. rstahlrci- (la por una cxprrsihn condicional.

rrgla tlr in tepidad de la entidad. El atributo qur es (.lave de una Lila no purdr s r r nulo.

regla dc integridatl referenrial. El va- lor no nulo d r una clavr forinra d r h w r un valor real d r la (.lave d r otra rclaci0n.

relacion. Una tabla d r dos dimensio- nrs yur contirnr filas y columnas de datos

relacion de intcrseccicin. Una relacihn qur reprrsrnta instancia dondr otras tlos rrlaciunrs sr enc:urntran en una intrrrelarion muchos-niuchos

restriecion (cor~stmint). Una regla clue restringe los valores en una Ibasr de datos.

restricricin CHECK. Una rcstriccihn general, l~asada en una rxpresihn condicional, que se imponr s o h e una columna o sobre una tallla.

restricri6n de columna. Una restric- cihn que sr esta1)lrer en la definicihn de m a columna en una tabla.

restriccicin de tabla. Una restriccihn que se aplica simultinean~ente a rnfil- tiyles colun~nas de una tallla.

rrstricci6n UNIQUE. Una restricci6n qur garantiza que tius tuplas de una

rnihrna relaciOn no trnpan rl mismo valor en una columns.

restriccibu dc valor. Una rrgla qur 1lr8- fine 10s valorrs l~rrniisil)les para 11n dato rn rsprt:iSi'ic:o.

retencicin r?ja. Es cuando rrl DBTC;. una vcxz qur nrl rrgistro mirml)ro ha kitlo asicrnado a una wurrentia d r un wnjunto, bstt. d r h sirmprc. rstar rn alguna ornrrrncla d r tiicho corljunto.

retencicin opcional. Es cuando en DBTG no w hail impursto rrstr~rcio- nrs so1)r.e las twnexiunrs o rtwnrxio- urs a t i p s d r ronjunto.

r r t rnc ib l~ obligatoria. Es cuando ru DBTG, una vcz qur un regstro miemhro ha sido asignatlo a una ocu- rrrncia d r onju junto, 6str no sr puedr quitar tlel conjunto a mmos qur el reeistro se borrr d r la hasr de datos.

reticulo complejo. Una e s t ru~~ tu ra d r datos en la rual las intrrrrlacionrh t)inarias son muchos-mucahos.

reticulo sirnde. Una estructura d r datos en la twal totlas las intrrrrlavio- nrs binarias son uno-muchos.

R*. Un SGBDI) t~~mrrcializado por IBM.

secci6n cle conjuntos. La sect-i6n drl rs- qnmla drl DBTC; qur tlrf'inr 10s con- juntus r inrluyr el tipo d r reb4stro dur- iio y 10s t i p s tlr rrgistros miem1)ros.

srwicin dc rsquenra. La scccihn drl rsqurma del DBGT ynr nomllra a1 esqurma.

secricin d e rcgistro. La seccihr~ tlel DBGT qur drfine ratla registro. sus elemrntos de datos y sus loraliza- cionrs.

seceicin de subcsquema de conjun- tos. La srrrihn d r la divisihn dr la rstructura qur drfinc los ronjuntoh qur sr van mcluir.

seccicin de sohrsquema d e registros. La wcrihn d r la di\isi&n de la estrur- tura que rspecifica los registros de 10s suhrsqurmas: ltrs elementos d r tlatos y los tipos de tlatos.

SEGM. Una instruccih tlel IMS uue drfinr 10s ranipos que se incluyrn rn on segmento para usarse por un pm- grama.

segment0 hoja. En un irbol, rualquier tipo de segmcnto que no tirne tipos d r sr,pentos hijos.

Page 559: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DISENO Y ADMINISTRACION DE BASES DE DATOS

s rp~nen to raiz. En lln Lrlwl. 1111 tilm tlr wpnruto qnr no partitipa taorno un srpmrnto hijo r n ninpiln IPH.

wpniento s l~scep t i lh . IJn scgniento qnr rs at~twil)lr para un progranla.

wpnltntos pemelos. Ot~urrent~ias tle ti]"' tlr s rpn~rntosqur titww la mis- me ot,~~r~x.ncia d r t i p de srpmtwto 1)atIrr (mis tlr (10s ornrr rnt iw tlv srg- nwntos p~~tvltw t.alifit.arst. t ~ ) m o ;I.- n~r las) .

sepmtla forma n o r n ~ a l (2FN). 1,os a t r i l ,~~tos no t.1avt.s no purtltw sr r f i ~ i ~ t . i o n ; l l i ~ ~ r ~ ~ t r dqwndirntrs dtl nlla p r t t ' tlr la t~lavv.

wguritlad c l t los datos. Sr rt&w a la ~~rutrt.t 'ihn drl sisttma d r 1)ast. tle tl;~to.; antr usos mal intrnc~ionados o no antorizatlos.

wlecribn. Op .ac ihn drl ilgrl)ra rrla- cional clue nsa nna contlivihn para vrlrrrionar f'ilas d r nna ~Art. ihn.

se l t r lor tle tstrategia. Softwarr tlnr tri~nsf'orma una consulta drl nsuario t.11 nna forma rf'wtiva para 1;) t jr- t~llt~ihll.

srrx-idor tlt hasrs i lr tlatos. ITn pro- panla t~nt ' 1 ~ 1 n r rn nna ~ ~ ~ n n l ~ ~ t a t l o r a srnit lor para da r wrvivio.; 111. I~asrs tlr tla~oh a 1i1s mitluinas t.lit*ntrs.

?iiml)olos I~rrt l icados. Nt11111)rrs t111r h v

a p l i t w ~ a 10s argllmmtos para txl)rr- car 1111 prrtlit.:do.

i n h n i ~ n o . l'i.rminos t111t' signif'ic.;it~ lo mi.snio.

~ i s t e m a hasaclo cn el conocin~iento. Otra f 'o~wa d r nomljrar a un sistrn~a 111% h s r d r t . o ~ ~ o c ~ i ~ ~ ~ i r ~ ~ t o s .

sistema clt I~ase tle conoc.imientos. I!n s i s t r~n ;~ t111t. prover r l ranpo conll~lrto tlv c.apat.itlatlt-s para aln~acrnan~irnto ) ~nanipulatihn ~ l r tlatos, asi como f'acilidadrs para la t.r1~1ti611, a11nac.r- nimitm~o !- 13jtvwti6n tlr rrplas tlr infrrr~lvia rn tahlas dc datos almarc- nados.

sistema d r base dc tlatos. Una 1)ast' dt' tlatos. nn sistrma d r gr.stihn d r 1)ast.s tlv tlatos. con el hurdluore y rl prrso- nal al)~.opiados.

sistema tle hasc tle datos distrihit la. Iln s i s t r~ i~a d r Imsr d r datos twmpnrs- to tlr varios sistrmas r n sitios loralrs, ~ w n r r ~ a d o s por lineae tlr comuni-

. , t'atslon.

sistema de base de datos orientado a ohjetos. Sistcvnas tie bases tlr datos clue purdan i~n~~le rnen ta r mo~lrlos ronccptuales dirretamt,nte y qnr pnr- ~ l r n rrprrsrntar complrjitlaties qnt:

sl5trrnas rrlar~onalt~s. sisten~a d t grsticin d t hake d r ronori-

~n i tn tos . S15trma tIr softwarr trno so1wrta rl ranpo n.sual tlr las f'nnrio- nrs tlr 10s SGRI), hi cv~mo tlur prs-

hrrhos. si*ttma de pesticin ale basts tlr datos

(SGRD). Iln sistrma c ~ t ~ n ~ ~ ~ u t a r i o n a l t p r f'acilita la prstihn tit. la* I~asrs tit. datos.

sistema de gestion clt bases tlt clatos distrihuitla (SGBDD 1. El sof'twarr ~ I I I I ' grstiona t.1 sistrnia d r Ilasrs tlr tlatos t1istril)nida.

sistelna tle inforn~acihn. Sistrma auto- matizado qut. orpaniza 111s datos Imra protlwir informat~ihn.

si i t tmas c l t informacicin tlr pesticin. Sistrnia a~~tomat izado t v \ o fotw tit.

nivd d r dircwiOn intrrn~tdio. sistema d t informari61i para la g r+

tion. Sistrma t1nr Ilrovrr inf'orma- vi6n I)ara la prstihn o la adminis- travi61i.

sistema de procesan~iento de tlatos. UII sistrma a~~tomatizado para prorr- sar los tlatos dt. los rrpistros d r nna organizacihn.

sistelnas abiertos. El twncq~to tlr (.(I- nrc.tar nna varirdatl tlr c o n ~ ~ , ~ ~ t a t l t ~ - ras (.on difrrtmttb* h n r d w n r ~ y aofi- Iiwre para tr;ll)ajar wordinadamrn~r con rl fin tlr loprar los olljrtivos drl 115nario.

sistemaa tle soporte para la toma d r decisiolws. Sistrma antomatizatlo clue I K I I V ~ Y informac~ihn rstrat6git.a Ijara 10s altos dirretivos.

rirtcwas expertor. ~ ' I I sistrma qur mo- tlda rl procrw d r toma d r d tws~hn d r los rxprrtos en varlos tlominios d r problrma, tales twno diagnhst~t .~ 1116dic.o. deciiionr. tit* anditoria. rtr.: IIII tilm r spwa l tlr drsarrollo d r I t .

soliritid tle propuesta (SDP). Un tlo- rumrnto formal tlur drlmra lo5 rr- quisitos d r rentlin~iento y Ir pidr a los vmdrdorcs qur respondan con una ~ ropnes ta qnr satisf'aga aqnrllos rrqnisitos.

SQL inrrustado (embedded SOL). Un conjnntu d r instrnrriones qur perm- t r qur SQL sea utilizado con Irngna- jcs tle ~jrogramarihn trat1it:ionalrs.

siibconiulta. Una consulta tlrntro tlr nna consulta.

sulwonsnlta n o correlationatla. Una ~ul)ronsulta rnyos valorrs no tlrlwn- den dc ninpnna twnsnlta mLs txtrrna.

sohesquema. Sn1)t~mjuntos drl rsqar- ma t1ur ~mdrf ' init los por las vistas d r lo?; usuarios d r la hare t11. tlatos.

superclavc. Un conjunto d r atril~utos t1ur idrritil'ica nnivovamcnte rada f'ila en nna relarihn.

~nstraccicin. La ol~t.raciOn difrrrntia tlrl ilgeljra rt.lariona1.

System-2000 (drl SAS Institute.). SGRI) 1)asatlo rn t.1 modrlo tlr datos jtarir- tpit.o.

System for Distributed Dataljasts (SSD). SGBDD romrr~kilizado pol. Co~nputr r Corporation of rin~rriva.

tabla e j e n ~ ~ l o . En QBE rs una t a l h rsqnrlrto qur n~uestra 1.1 nonhr r d r la t a l h y los nonll~rrs d r las rolum- nas arrilja tit. c.spatios en 11lantw qnr sr usan para la rntratla tlr las twntli- tionrs tlr t.onsnlta.

tabla rcsultado. En QRF nna tal~la sin rncalwzanlicmto?; por r o l ~ ~ m n a . Sr usa para drfinir la salida d r m a twn- sulta.

tahlas cle verifiracicin tle tlisparadorcs. Tal)las actualizadas con las tul~las insrrtadas y Iwrratlas rada vt-z qut* otwrrc. nna at~tualizat~i011 tSn nna tallla t~orrrsl)ondirntr d r la Imsr d r tlatos.

painter. Un suhprograma intrrartibo clue Ilr\ a a caho nn t i p t.sprt-if'ico d r fu~itionalitlad nectwria para r l d r s - rrollo complrto tit. una apliracihn.

TDMS (System Urvr l~q~mt~n t Corpora- tion's Tin~c-Shared Data Manap- inrnt Systrni). SGBD I)as;a4o tsn rl modelo d r ~latos jrrir tpitw.

teoria de la serializacicin. Esta1)lrt.r qur IIII algoritmo d r t-ontrol d r (.on- rurrtmcia es corrrvto t.uando sus resnltatlos son 111s mismos qar hi i r hnhiese proccsatlo serialn~rntr.

tercera forma normal (3FN). Catla determinantr rs nna rlave.

tcxto cifrado. Trxto lrgihlr tifratlo. trxto legihk. Trxto que sp purdr Irrr. tiempo de actiracion de la caheza. El

tirmpo necesario para activar m a rabeza d r Irrturalcscritura.

tiyo d e dato definido por el usuario. Un suhtipo d r uno d r los t i p s tlc datos suministrados por el sistmia. el

Page 560: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

(ma1 es atlaptatlo a las rleresidades del esqurrna tlr Id 1 ~ s ~ (It, tiato5.

tipo de intrrrrlaeicin padre-hijo ( t ~ p o IPII). Intrrrrlari611 l6gira rrltrr a n t ~ p o tlr srgmcnto padre y on t ~ p o d r srgmrilto h ~ j w

tipo d r s r p r n t o . Corrc.sl~onde a un ohjrto m rl motlrh dr dato orientatlo a ol)jctw. t;nmhSn Ilamatlo on srgnmto.

tipo clr srgmrnto dcpendirnte. Totios los t ~ p s d r rrglstros rnrilos qur rl t i p tlc sri,'nwnto raiz.

t i p registro. Cna rolrrci6n dr rlemrn- tos t1r tldtos rrlacionatlos 10gitwnmtc..

tipo registro eulacr. [Ti1 rrbqstro qur se t w d para convcrtir un reticulo complc jo ~ I I 1111 rrtic.nlo siiiiple rtluivalentr.

tipo registro ~rlielrlhro. El t ~ p o dr re- gistro de la p ,~r t r *. mnchw" tle nna ir~trrrrlarii,n iuurhos-mnrhos (11. un c.onjui~to DIITG.

t i p registro propietarin. El t ~ p o rrgis- tro tlr Id p r t r *.uno'* t1r nna Intcrrr- lat.10r1 nno-inuc.hos tie 1111 t~onjunto DBTG.

transaccicin. Cna ~ i r ~ ~ t l a t i tlr programa tau! a cjt3t~lir16n twnstm a la ronslstrn c.la d r la hasr tlr datos.

trnnsarricin ahortada. Transacri6n quc sr t.;lncrla antes tlr aplirar 10s (.am- has a la hasr dr datos.

transac.rii,n at61uic.a. lTna transacri6n r11 Id rual totias las dt.tionc.s asocia- tlas con la traniac.t.~hn sr r jrrutan t*omplt%mrutr o nlnplna sr rjrt*nta.

transarriblr local. Una transac*r~bn qnr r r q u ~ r r r un un~tw dgc.ntc..

transarcion global. Una transarrii,n qur rt't~nlt'r" \ ar10s "pent"\.

tnpla. I'na f ~ l a rn urla rrlaci611.

mlidad d r refernlcia. El SGRD tlur rs t i sirndo r\d111atio m rl arlilisis AEU.

union. Oprrari6n drl ilgrbra relatio- nal t p r t w a un ronjnnto unihn de tlos rrlat*ioncs uni5n-rompati1)lr.

uuicin-compatible. Uos o mhs relacio- ilrs t ~ u e tirnrii rolurnr~ai rtpivalrntrs en n i l m t ~ o v tlominios.

uno-uno. Una rardinalitlad tlr la in- trrrrlari6n clue rs 1 rn amhas tlirrr- tionrs.

uno-mucl~os. Una rartlinalidad d r la intrrrrlati6n qnr es 1 rn urla tiirec- c.iOn y murhos en la otra.

UPDATE. OprrariOn clue ranhia 10s \alorrs dr las tdumnas rrl las filas.

usuarios. Personas true newsitan in-

tlrsarrollar SII rrsponsal)ilitlacl pri- maria rn el nrgorio.

valor at6mico. Un valor qur no rs nn twnjanto de valorrs o un grupo r e p - titivo.

valor nulo. El valor dado a un atrihuto en una tupla si el atrihuto rs inaplica- hlr o su valor rs drsconocido.

valor nulo d e un atrihuto. Un valor dt. atri1)uto qnr no rxiste en nna instan- ria rslwifira.

valor por dcfccto. Un valor clue sr inscrta antomiticammtr si r l nsuario no lo rspwifira m tuna rntrada.

valor por defecto del pariinetro. El valor dr un parimrtro clue suminis-

tra el sistema si el progama qur lla- ma lo omitr.

variahle. Un norr~hre simh6lico qur r r - prrsenta una instancia no rspecifira- da en un cor~junto tle objetos.

variable local. Ur~a variahle tlrfinitla para usar dentro de un proredimirn- to y almarenar valores trmporalrs tlr trahajo.

velocidacl d c transfcrencia d e da- tos. La vrlocidad a la cual 10s datos sr lrrn drl disco hacia la mrmo- ria principal, o rquivalrntemrntr. la razhn en la rual 10s datos sr esrri- hen drsdr la memoria principal a1 disco.

viahilidad ccon6n1ica. Estndio tlr cos- to-1)enrficio del sistema de I m r dc datos propuesto.

vialdidad operational. Uetrrminari6n tlr la disponibilidad de expertititlad y drl prrwnal qur sr neresita para el sistrma tlr hasc dr datos.

viabilidad trcnol6gica. LktrrminariOn dr la disponibilidad d r hardware ) rl software para el sistrma d r hasr tlr datos.

vista. Una clrfinici6n tlr ona porri6n rvstringida dr la I~as r tie datos: tam- 11iC.n llamacia vista d r datos.

vista d e 10s datos. Una drfiniri6n d r ona porri6n rrstringitla tlr la 1)ast. d r datos; t a m h i h llamatla m a vista.

Window painter. Un painter qnr sr usa para wnstruir vcntanas tlc una apli- rarihn.

Page 561: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

BIBLIOGRAFIA

Las sigui~ntes ahreviaturus se usarorl PII esta bibliogrojia:

1CW

4C'IPS

CA C bl

I ) E

E1)S

ER

IClS

IFIP

1 CC

OOPS LA

PODS

SIGMOD

TODS

TOOIS

T S E

VLDB

Association for Conq~uting Marhiner! . Imerican E'edcration of Information Processing Socirties.

Conimunicationi of thr ACM.

Proceding3 of the IEEE Computer Socirt! International Conference on Data Engineering.

Pro(-eedinp of thv International Confc.rence on Data Engineering.

1'rocwdinr;s of thv International Conferenvr on Entity-Relationship Zpproarh.

Prcwedirigs of t h International Confewme on Information S!strms.

lntc~rnational Fedrration for Information ProceAng.

Proceedingi of the National Computer Conference.

Pro(-redings ol' thv 4CM Conferenc-e on Ol).jec*t-Oriented Programming S! s- tvms, T,anguagrs, and Apl)licationi.

Procevtlings of the ACM Symposium on Principles of Datahaw S! stems.

Proreedings of thv ACM SICJMOD International Conference on Management of Data.

ACM Transavtions on Database S!str~ns.

ACM Transaction on Office Information Systems.

IEEE Transartions on Software Engineering.

Proceedings of the International Conference on Ver) Large Data Basrs.

Page 562: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

ABRIAL, J. "Data Semantics." In Klimbie and Koffeman, 1974. AGRAWAL, R., GHOSH, S., IMIELINSKI, T., IYER, B., AND SWAMI, A. "An Interval Classifier

for Database Mining Applications." In VLDB 1992. AHO, A,, BEERI, C., AND ULLMAN, J. "The Theory of Joins in Relational Databases."

TODS, 4 3 , September 1979. AHO, A.V., HOPCROFT, E., & ULLMAN, J.D. The Design and Anabsis of Computer Pro-

g ram, Addison-Wesley, 1975. ALASHQUR, A.M., SU, S.Y.W., AND m, H. "OQL: A Query Language for Manipulating

Object-Oriented Databases." In VLDB 1989. ALBANO, A,, DE ANTONELLIS, V., AND DE LEYA, A. (editors). Computer-Aided Database

Design: The DATAID Project, North-Holland, 1985. ALBANO, A,, BERGAMINI, R., GHELI.~, G.. AND ORSINI, R. "An Object Data Model with

Roles." In VLDB 1993. ALLEN, F., LOOMIS, M., AND MANNINO, M. "The Integrated Dictionary/Directory Sys-

tem." Computing Surveys, 14:2, June 1982. ANDANY, J., LEONARD, M., AND PALISSER, C. "Management of Schema Evolution in

Databases." In VLDB 1991. ANDREWS, T. AND HARRIS, C. "Combining Language and Database Advances in an

Object-Oriented Development Environment." In OOPSOl 1987. ANDRIOLE, S. J., ED. 1985. Applications in Arltjicial Intelligence, Princeton, NJ: Petro-

celli Books, 1985. ANSI 1981. Proposed American National Standard for a Data Definition Language for

Network Structured Databases. American National Standards Institute, Document ANSI X3H2, 1981.

ANSI 1 9 8 6 ~ . American Xational Standards Institute: The Database Language NDL, Doc- ument ANSI X3.133, 1986.

ANSI 1 9 8 6 ~ . American National Standards Institute: The Database Language SQL, Doc- ument ANSI X3.135, 1986.

ANSI 1989. American National Standards Institute: Information Resource Dictionary Systems, Document ANSI X3.138, 1989.

ASHTON-TATE CORPORATION. dBASE IVLanguage Reference, Ashton-Tate, 1988. ASTRAHAN, M. ET AL. "System R: A Relational Approach to Data Base Management."

TODS, 1:2, June 1976. ASTRAHAN, M. ET AL. "A History and Evaluation of System R." IBM Research Reporl

RJ2843, June 1980. ATRE, S. Data Base: Structured Techniques for Design, Performance, and Management,

New York: Wiley, 1980. ATRE, S. Data Base Management System for the Eighties. QED Information Sciences,

1983. BABAD, Y. M., AND J. A. HOFFER. "Even No Data Has a Value." CACM 27:8, August,

1984. BACHMAN, C. "Data Structure Diagrams." Data Base (Bulletin of ACM SIGFIDET), 1:2,

March 1969. BACHMAN, C. "The Programmer as a Navigator." CACM, 16:11, November 1973. BACHMAN, C. "The Data Structure Set Model." In Rustin 1974. BANERJEE, J., CHOU. H., GARZA, J., KIM, W., WOELK, D., BALLOU, N., AND KIM, H. "Data

Model Issues for Object-Oriented Applications." ACM Transactions on Database Systems 5, 197-208, 1987.

BAROODY, A. AND DEWITT, D. "An Object-Oriented Approach to Database System Im- plementation." TODS, 6:4, December 1981.

BATINI, C., LENZERINI, M., AND NAVATHE, S. "A Comparative Analysis of Methodologies for Database Schema Integration." Computing Surveys, 18:4, December 1986.

BATORY, D. ET AL. "GENESIS: An Extensible Database Management System." TSE, 14:11, November 1988.

BATRA, D., J. A. HOFFER, AND R. P. BOSTROM. "A Comparison of the Representations Developed Using the Relational and Entity-Relationship Data Models." CACM, 33:12. December 1990.

Page 563: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

BAYER, R. AND MCCREIGHT, E. "Organization and Maintenance of Large Ordered In- dexes." Acta Informatics, 1:3, February 1972.

BEECH, DAVID. 'Collections of Objects in SQL3." In VLDB 1993. BEERI, C. AND MILO, T. "A Model for Active Object Oriented Database." In VLDB 1991. BELL, D. AND GRIMSON. J. Distributed Database Systems. Reading, MA: Addison-

Wesley, 1992. BERNSTEIN, P. AND GOODMAN, N. "The Power of Natural Semijoins." SIAMJournal of

Computing, 10:4, December 1981. BERNSTEIN, P. AND GOODMAN, N. "Concurrency Control in Distributed Database Sys-

tems." Computing Sumeys, 132, June 1981. BERNSTEIN, P., HADZILACOS, V., AND GOODMAN, N. Concurrency Control and Recovery

in Database Systems, Reading, MA: Addison-Wesley, 1988. BERNSTEIN, PHILIP A,, GYLLSTROM, PER O., AND WIMBERG, TOM. "STDL-A Portable Lan-

guage for Transaction Processing." In VLDB 1993. BERNSTEIN, P. "Synthesizing Third Normal Form Relations from Functional Dependen-

cies." TODS, 1:4, December 1976. BETRA, D., J. A. HOFFER, AND R. B. BOSTROM. "A Comparison of User Performance Be-

tween the Relational and Extended Entity Relationship Model in the Discovery Phase of Database Design.'' In ICIS 1988.

BHARGAVA, B. (editor). Concurrency and Reliability in Distributed Systems, New York: Van Nostrand-Reinhold, 1987.

BILLER, H. "On the Equivalence of Data Base Schemas-A Semantic Approach to Data Translation." Information Systems, 4:1, 1979.

BJORNER, D. AND LOVENGREN, H. "Formalization of Database Systems and a Formal Definition of IMS." In VLDB 1982.

BLASGEN, M. AND ESWARAN, K. "On the Evaluation of Queries in a Relational Database System." IBM Systems Journal, 16:1, January 1976.

BLASGEN, M., ET AL. "System R: An Architectural Overview." IBM System Journal, 20: 1, January 1981.

BLOOMBECKER, J. J. "Short-Circuiting Computer Crime." Datamation, October 1, 1989. BOAR, B. H. Application Protopping, New York: Wiley, 1984. B o c c ~ , J . "EDUCE-A Marriage of Convenience: Prolog and a Relational DBMS." Pro-

ceedings of the Third International Conference on Logic Programming, New York: Springer-Verlag. 1986.

BOEHM, B.W. Softuare Engineen'ng Economics, Englewood Cliffs, NJ: Prentice Hall, 1981.

BOHL, M. Introduction to IBM Direct Access Storage Devices, Chicago: Science Research Associates, 1981.

BORLAND INTERNATIONAL. Paradox3.0 User's Guide, Scotts Valley, CA: Borland, 1988. BOUZEGHOUB, M. AND METAIS, E. "Semantic Modeling of Object Oriented Databases."

In VLDB 1991. BRACCHI, G. AND PERNICI, B. "The Design Requirements of Office Systems." TOOIS,

2:2, April 1984. BRACCHI, G. AND PERNICI, B. "Decision Support in Office Information Systems.'' In

Holsapple and Whinston 1987. BRACHMAN, R. AND LEVESQUE, H. "What Makes a Knowledge Base Knowledgeable? A

View of Databases from the Knowledge Level." In EDS 1984. BRADLEY, J. File and Data Base Techniques, New York: Holt, Rinehart & Winston, 1982. BRANT, D.A., GROSE, T., LOFASO, B., AND MIRANKER, D.P. "Effects of Database Size on

Rule System Performance: Five Case Studies." In VLDB 1991. BRAY, 0. Distributed Database Management System, Lexington, M A : Lexington Books,

1982. BRODIE, M., MnOPOULos, J., AND SCHMIDT, J. (editors). On Conceptual Modeling,

New York: Springer-Verlag, 1984. BRODSKY, ALEXANDER, JAFFAR, JOXAN, AND MAHER, MICHAEL J. "Toward Practical Con-

straint Databases." In VLDB 1993.

Page 564: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

BROSEY, M. AND SHNEIDERMAN. B. "TWO Experimental Comparisons of Relational and Hierarchical Database Models." Znternational.Journa1 of Man-Machine Studies, 1978.

BROW. R. "Data Integrity and SQL." Database Programming and Design, March 1988. BROWNING, D. "Data Managers and LANs." PC Tech.Journa1, 5:5, May 1987. BRUCE, T., J. FULLER, AND T. MORIARTY. "SO YOU Want a Repository." Database Pro-

gramming and Design, May 1989. BUBENKO, J., BERILD, S., LINDERCRONA-OHLIN, E., AND NACHMENS, S. "From Informa-

tion Requirements to DBTG Data Structures." Proceedings of the ACM SZGMOD/SZGPLAN Conference on Data Abstraction, 1976.

BUNEMAN, P. AND FRANKEL, R. "FQL: A Functional Query Language." In SIGMOD 1979. CAMPBELL, D., EMBLEY, D.. AND CZEJDO, B. "A Relationally Complete Query Language

for the Entity-Relationship Model." In ER 1985. CAVPBEI.L, D., EMBLEY, D., AND CZEJDO, B. "Graphical Query Formulation for an

Entity-Relationship Model." Data and Knowledge Engineering, 2 (19871, 89-121. CARDENAS, A. Data Bare Management Systems, Second Edition. Newton, MA: Allyn

and Bacon, 1985. CAREY, M., DEWITT, D., AND VANDENBERG, S. "A Data Model and Query Language for

Exodus." In SIGMOD 1988. CAREY, M., DEWITT. D., RICHARDSON, J. AND SHEKITA, E. "Object and File Management

in the EXODUS Extensible Database System." In VLDB 1986. CAREY, M. ET AI.. "The Architecture of the EXODUS Extensible DBMS." In Dittrich and

Dayal 1986. CARLIS, J. AND MARCH, S. "A Descriptive Model of Physical Database Design Problems

and Solutions." In DE 1984. CASANOVA, M. AND VIDAL, V. "Toward a Sound View Integration Method." PODS, 1982. CERI, S. (editor). Methodology and Tools for Database Design, North-Holland, 1983. CERI, S. AND PELAGATTI, G. Distributed Databases: Principles and Systems, New York:

McGraw-Hill, 1984. CERI, S., NAVATHE, S., AND WIEDERHOLD, G. "Distribution Design of Logical Database

Schemas." TSE, 9:4, July 1983. CHA, S.K. AND WIEDERHOLD, G. "Kaleidoscope Data Model for an English-like Query

Language." In VLDB 1991. CHAMBERLIN, D. AND BOYCE, R. "SEQUEL: A Structured English Query Language." In

SIGMOD 1984. CHAMBERLIN, D., ET AL. "SEQUEL 2: A Unified Approach to Data Definition, Manipula-

tion, and Control." IBM,/ournal of Research and Development, 20:6, November 1976.

CHAMBERLIN, D., ET AL. "A History and Evaluation of System R." CACM, 24:10, October 1981.

CHAMPINE, G. A. "Six Approaches to Distributed Data Bases." Datamation, May 1977. CHAN, A,, AND H. K. T. WONG. "Serving Up dBASE." Data Base Programming & De-

sign, February 1990. CHANG, C. AND WALKER, A. "PROSQL: A Prolog Programming Interface with SQL/DS."

In EDS 1984. CHEN AND ASSOCIATES. E-R Designer Reference Manual, 1988. CHEN. I.A., AND MCLEOD, D. "Derived Data Update in Semantic Databases." In VLDB

1989. CHEN, LING TONY AND ROTEM, DORON. "Declustering Objects for Visualization." In

VLDB 1993. CHEN, P. "The Entity Relationship Model-Toward a Unified View of Data." TODS, 1:1,

March 1976. CHEN, P. The Entity-Relationship Approach to Logical Data Base Design, Q.E.D. Infor-

mation Sciences, Data Base Monograph Series no. 6, 1977. CHIMENTI, D., GAMBOA, R., KRISHNAMURTHY, R., NAQVI, S., TSUR; S., AND ZANIOLO, C.

"The LDL System Prototype." ZEEE Transactions on Knowledge and Data Engi- neering, 2:1, March 1990.

Page 565: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

CHOUINARD, P. "Supertypes, Subtypes, and DB2." Database Programming and Design, October 1989.

CHRISTODOULAKIS, S. ET AL. "Development of a Multimedia Information System for an Office Environment." In VLDB 1984.

CLAYBROOK, B. File Management Techniques, New York: Wiley, 1983. CODASYL. Data Base Task Group April 71 Report, ACM, 1971. CODASYL. Data Description Language Journal of Development, Canadian Government

Publishing Centre, 1978. CODD, E. "A Relational Model for Large Shared Data Banks." CACM, 156, June 1970. CODD, E. "Relational completeness of data base sublanguages." Courant Computer Sci-

ence Symposium 6, Data Base System& Englewood Cliffs, NJ: Prentice Hall, 1971. CODD, E. "A Data Base Sublanguage Founded on the Relational Calculus." Proceedings

of the ACM SZGFZDET Workhop on Data Description, Access, and Control, No- vember 1971.

CODD, E. "Further Normalization of the Data Base Relational Model." In Rustin 1972. CODD, E. "Recent Investigations in Relational Database Systems." Proceedings of the

ZFZP Congress, 1974. CODD, E. "Hoy About Recently? (English Dialog with Relational Data Bases Using Ren-

dezvous Version I)." In Shneiderman 1978. CODD, E. "Extending the Database Relational Model to Capture More Meaning." TODS.

4 4 , December 1979. CODD, E. "Relational Database: A Practical Foundation for Productivity." CACM, 25:2,

December 1982. CODD, E. "Is Your DBMS Really Relational?" and "Does Your DBMS Run By the Rules."

Computenuorld, October 14 and October 21, 1985. CODD, E. "An Evaluation Scheme for Database Management Systems That Are Claimed

to be Relational." In DE 1986. COMER, D. "The Ubiquitous B-tree." Computing Surueys, 11:2, June 1979. CONTE, P. "In Search of Consistency." Database Programming and Design, August

1989. CREASY, P.N. "ENIAM: A More Complete Conceptual Schema Language." In VLDB 1989. CURTICE, R., AND CASEY, W. "Database: What's in Store." Datamation. December 1.

1985. CURTICE, R. "Data Dictionaries: An Assessment of Current Practice and Problems." In

VLDB 1981. CZEJDO, B., ELMASRI, R., RUSINKIEWICZ, M., AND EMBLEY, D. "An Algebraic Language

for Graphical Query Formulation Using an Extended Entity-Relationship Model." Proceedings of the ACM Computer Science Conference, 1987.

DATE, C. AND WHITE, C. A Guide to SQVDS. Reading, MA: Addison-Wesley, 1988. DATE, C. AND WHITE, C. A Guide to DB2, Second Edition, Reading, MA: Addison-

Wesley, 1988. DATE, C. An Introduction to Database Systems, Volume 2, Reading, MA: Addison-

Wesley, 1983. DATE, C. "The Outer Join." Proceedings of the Second International Conference on

Databases, 1983. DATE, C. "A Critique of the SQL Database Language.'' ACM SZGMOD Record, 143, No-

vember 1984. DATE, C. An Introduction to Database Systems, Vol. I (4th ed.), Reading, MA: Addison-

Wesley, 1986. DATE, C. "Where SQL Falls Short." Datamation, May 1. 1987. DATE, C. AND DARWEN, H. A Guide to the SQL Standard, 3rd Edition, Reading, MA:

Addison-Wesley, 1994. DAMES, C. "Recovery Semantics for a DB/DC System." Proceedings of the ACM National

Conference, 1973. DAYAL, U., HSU, M., AND LADIN, R. "A Transactional Model for Long-Running Activi-

ties." In VLDB 1991.

Page 566: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DBTG. Report of the CODASYL Data Base Task Group, ACM. April 1971. DELIS, A. AND ROLISSOPOULOS, N. "Performance and Scalability of Client-Server Data-

base Architectures." In VLDB 1992. DEMAKCO. T. Structured Analysis and System Spec?fication, Prentice-Hall Yourdan,

Inc., 1979. DENNING, D. ANI) DENNING, P. "Data Security." Conlputing SilrvevS, 11:3, September

1979. DIAZ, O., PATON. N. AND GRAY, P. "Rule Management in Object-Oriented Database: A

LJniform Approach." In VLDB 1991. Dl BATrrsTA, G. AND LFNZEKINI, M. "A Deductive Method for Entity-Relationship

Modeling." In VLDB 1989. DIFFIE, W. A N D HELLMAN. M. "Privacy and Authenticat~on." Proceedings of the IEEE.

67:3, March 1979. DITTRICH, K. AKI) DAYAI., LT. (editors). Proceedings ofthe Internationa/ Workshop on

Object-Oriented Database Systems, IEEE CS, September 1986. D I ~ R I C H , K. "Object-Oriented Database Systems: The Notion and the Issues." In Dit-

trich and Dayal 1986. DODD, G. "Elements of Data Management Systems." Computing Sumeys, 1:2, June

1969. Dos SANTOS, C., NEUHOLD, E., AND FURTADO, A. "A Data Type Approach to the Entity-

Relationship Model." In ER 1979. DUMPALA, S. AND ARORA, S. "Schema Translation Using the Entity-Relationship Ap-

proach." In ER 1983. EICK, C.F. "A Methodology for the Design and Transformation of Conceptual Schemas."

In VLDB 1991. ELLIS, C. AND N L ~ , G. "Office Information Systems and Computer Science." Complrt-

ing Surveys, 12:1, March 1980. ELLZEY, R.S. Data Structures for Computerlnformation .!vstems. Science Research Asso-

ciates. 1982. ELMASIII, R. AND LAKSON, J. "A Graphical Query Facility for ER Databases." In ER 1985. ELMASRI, R. AND NAVATHE. S. "Object Integration in Logical Database Design." In DE

1984. ELMASKI, R. AND NAVATHE. S. Fl~ndamentals of Database Systems. Menlo Park, CA: Ben-

jamin/Cummings, 1989. ELMASRI, R. AND WIEDERHOLD, G. "Data Model Integration Using the Structural Model."

In SIGMOD 1979. ELMASRI. R. AND WIEDERHOLD, G. "Structural Properties of Relationships and Their

Representation." NCC, AFIPS, 49, 1980. ELMASRI, R. A N D WIEDERHOLD, G. "GORDAS: A Formal. High-Level Query Language

for the Entity-Relationship Model." In ER 1981. ELMASRI, R., WEELDREYER. J., AND HEVNER, A. "The Category Concept: An Extension to

the Entity-Relationship Model." Internntional Journal on Duta and Knowledge Engineering, 1:1, May 1985.

FAGIN, R. "Multivalued Dependencies and a New Normal Form for Relational Data- bases." TODS. 2:3, September 1977.

FAGIN, R. "Normal Forms and Relational Database Operators." In SIGMOD 1979. FAGIN, R. "A Normal Form for Relational Databases That is Based on Domains and

Keys." TODS, 6:3, September 1981. FERNANDEZ, E., SUMMERS, R., AND WOOD, C. Database Security and Integri!)!, Reading,

MA: Addison-Wesley, 1981. FISHMAN, D. ET AL. "IRIS: An Object-Oriented DBMS." TOOIS, 4:2, April 1986. FISHMAN, D., BEECH, D., CATE, H., CHOW, E., CONNORS. T., DAVIS, J., D E R R E ~ , N.,

HOCH, C., KENT, W., LYNGBAEK, P., MAHBOD, B., NEIMAT, M., RYAN, T., AND

SHAN. M. IRIS: An Object-Oriented Database Management System. TOOIS 5: 216- 226, 1987.

FLAVIN, M. Fundame~ltal Concepts of'lnformation Modeling, Englewood Cliffs, NJ: Yourdon Press. 1981.

Page 567: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

FLEMING, C., AND VON HALLE, B. "An Overview of Logical Data Modeling." Data Re- source Management, Winter 1990.

FRANKLIN, MJ., CAREY, M.J., AND LIVNY. M. "Global Memory Management in Client- Server DBMS Architectures." In VLDB 1992.

FRANKLIN, MICHAEL J.. CAREY, MICHAEL J., AND LIVNY, MIRON. "Local Disk Caching for Client-Sewer Database Systems." In VLDB 1993.

FRY, J . AND SIBLEY, E. "Evolution of Data-Base Management Systems." Computirzg Sur- veys, 8:1, March 1976.

FURTADO, A. "Formal Aspects of the Relational Model." Information Systems, 5 2 , 1978. GABBAY, D. AND MCBRIEN, P. "Temporal Logic & Historical Databases." In VLDB 1991. GADIA, S. "A Homogeneous Relational Model and Query Language for Temporal Data-

bases." TODS. 13.4, December 1988. GALIAIRE, H. AND MINKER, J. (editors). Logic and Databases, Plenum Press, 1978. GALIAIRE. H.. MINKER, J., AND NICOIAS, J. "Logic and Databases: A Deductive Ap-

proach." Computing Surveys, 162, June 1984. GAL-OZ, NURITH, GUDES, EHUD, AND FERNANDEZ, EDUARDO B. "A Model of Methods

Access Authorization in Object-Oriented Databases." In VLDB 1993. GARDARIN, G., CHEINEY, J-P.. KIERNAN, G., PASTRE, D., AND STORA, H. "Managing Com-

plex Objects in an Extensible Relational DBMS." In VLDB 1989. GARDARIN, G., AND VALDURIEZ. P. Relational Databases and Knowledge Bases, Read-

ing, MA: Addison-Wesley, 1989. GAREY, M. Computers and Intractability: A Guide to the n e o y of NP-Completeness,

W.H. Freeman and Company, 1979. GEHANI, N.H., JAGADISH. H.V., AND SHMUELI. 0. "Composite Event Specification in Ac-

tive Databases: Model & Implementation." In VLDB 1992. GEHANI, N.H. AND JAGADISH. H.V. "Ode as an Active Database: Constraints and Trig-

gers." In VLDB 1991. GHANDEHARIZADEH, SHAHRAM, HIJLL. RICHARD, JACOBS, DEAN, CASTILLO, JAIME, ES-

COHAK-MOLANO, MARTHA, LU, SHIH-HUI, LUO, JLTNHLII, TSANG, CHILI, AND

Zk-rorr, GANG. "On Implementing a Language for Specifying Active Database Ex- ecution Models." In VLDB 1993.

GOLDFINE, A. ANI) KONIG, P. A Technical Overview of the Information Resource Dic- tionary System (IRDS), Second Edition, NBS IR 88-3700, National Bureau of Stan- dards, 1988.

GORMAN, K., AND CHOOBINEH, J. "An Overview of the Object-Oriented Entity Rela- tionship Model (OOERM)." Proceedings ofrbe Twenty-nird Annual Hawaii In- ternational Conference on Information Systems, 1990.

GOTLIEB, L. "Computing Joins of Relations." In SIGMOD 1975 GRAY. J.. MCJONES, P., AND BIASGEN, M. "The Recovery Manager of the System R Data-

base Manager." Compuring Surveys, 13:2, June 1981. GRAY, J. "The Transaction Concept: Virtues and Limitations." In VLDB 1981 GREENBIAT, D., AND J. WAXMAN. "A Study of Three Database Query Languages." In

Shneiderman 1978. GREFEN. PAUL W.P.J. "Combining Theory and Practice in Integrity Control: A Declara-

tive Approach to the Specification of a Transaction Modification Subsystem.'' In VLDB 1993.

GUIMARAES, T. "Information Resources Management: Improving the Focus." Irforma- tion Resources Management Journal, Fall 1988.

GUPTA. A,. WEYMOUTH, T.E., AND JAIN, R. "Semantic Queries with Pictures: the VIM- SYS Model." In VLDB 1991.

HAMMER. M. AND MCLEOD, D. "Semantic Integrity in a Relational Data Base System." In VLDB 1975.

H ~ M E R , M., AND D. MCLEOD. "The Semantic Data Model: A Modelling Mechanism for Data Base Applications." In SIGMOD 1978.

HAMMER, M. AND MCLEOD, D. "Database Descriptions with SDM: A Semantic Data Model." TODS, 6:3, September 1980.

HAN, J., CAI, Y.. AND CERCONE, N. "Knowledge Discovery in Databases: An Attribute-

Page 568: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

Oriented Approach." In VLDB 1992. HANSEN. G . Database Processing with Fourth Generation Languages, Cincinnati: South-

Western, 1988. HANSEN, G. AND HANSEN. J. "Procedural and Non-procedural Languages Revisited: A

Comparison of Relational Algebra and Relational Calculus." International Jour- nal of Matz-Machine Studies, (19871, 26, 683-694.

HANSEN. G. AND HANSEN, J. "Human Performance in Relational Algebra, Tuple Calcu- lus, and Domain Calculus." International Journal of Man-Machine Studies, (19881, 29. 503-516.

HARRINGTON. J. Relational Database Management for Microcomputer, Design and Im- plementation. Yew York: Holt, Rinehart, and Winston, 1987.

HARRIS, L. "The ROBOT System: Natural Language Processing Applied to Data Base Query." Proceedings of the ACM National Conference, December 1978.

HASKIK. R. AND LORIE, R. "On Extending the Functions of a Relational Database Sys- tem." In SIGMOD 1982.

HAWRYSZKIEWCA, IT. Database Ana(vsis and Design. 2nd Ed., New York: Macmillan, 1991.

HAYES-ROTH, R., WATERMAN. D., AND LENAT. D. (editors). Building @el? Systems, Reading, MA: Addison-Wesley, 1983.

HEIMIHGNER, D. "Experiences With an Object Manager for a Process-Centered Environ- ment." In VLDB 1992.

HELD, G. AND STONEBRAKER, M. %Trees Reexamined." CACM, 21:2, February 1978. WIMMELSTEIN, M. "Cooperative Database Processing." Database Programming and De-

sign, October 1989. HOFFER. J., MICHAELE, S., AND CARROLL, J. "The Pitfalls of Strategic Data and Systems

Planning: A Research Agenda." Proceeditzgs of the Twenty-Second Annual Hauaii International Conference on System Sciences. Vol. Ili, 1989.

HOFFER, J. "An Empirical Investigation with Individual Differences in Database Mod- els." In ICIS 1982.

HOLLAND, R. H. "Data Base Planning Entails Return to Basics." Computenuorld, Octo- ber 27, 1980.

HOLSAPPLE. C. AND WHINSTON, A. (editors). Decision Suppol? Theory and Application, New York: Springer-Verlag, 1987.

HUBBARD, G.U. Computer-Assisted Data Base Design, New York: Van Nostrand Rein- hold, 1981.

HULL, R. AND KING, R. "Semantic Database Modeling: Survey, Applications, and Re- search Issues." Computing Sunjeys, 195, September 1987.

HULL, R. AND JACOBS, D. "Language Constructs for Programming Active Databases." In VLDB 1991.

IMIEI.INSKI, T. AND LIPSKI, W. "On Representing Incomplete Information in a Relational Database." In VLDB 1981

ISHIKAWA, HIROSHI AND KUBOTA, KAZUMI. "An Active Object-Oriented Database: A Multi-Paradigm Approach to Constraint Management." In VLDB 1993.

JACKSON, M.A. Principles of Program Design, Orlando: Academic Press, 1975. JAQUA, D. "SQL Database Security." Database Programming and Design, July 1988. JARDINE, D. (editor). The ANSUSPARC DBMSModel, North-Holland, 1977. KAPP, D. AND LEBEN, J. IMS Programming Techniques, New York: Van Nostrand-

Reinhold, 1978. KENT, W. Data and Reality, North-Holland, 1978. KENT, W. "Limitations of Record-Based Information Models." TODS, 4:1, March 1979. KENT, W. "A Simple Guide to Five Normal Forms in Relational Database Theory."

CACM, 26:2, Februan 1983. KENT, W. "Solving Domain Mismatch and Schema Mismatch Problems with an Object-

Oriented Database Programming Language." In VLDB 1991. KHOSHAFIAN, S., CHAN, A,, WONG, A,, WONG, H.K.T. Clienflemer SQL Applications,

Morgan Kaufmann, 1992.

Page 569: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

KIM, W. "Relational Database Systems.'' Computing Surveys, 113, September 1979. KIM, W. "On Optimizing an SQL-like Nested Query." TODS, 3:3, September 1982. KIM, W., REINER, D., AND BATORY, D. (editors). Query Processing in Database Systems,

New York: Springer-Verlag, 1985. KIM, W. "A Model of Queries for Object-Oriented Databases." In VLDB 1989. KLIMBIE, J. AND KOFFEMAN, K. (editors). Data Base Management, North-Holland. 1974. KNUTH, D. The Art of Computer Programming, Volume 3: Sorting and Searching, Read-

ing, MA: Addison-Wesley, 1973. KORTH, H. AND SILRERSCHATZ, A. Database System Concepts. New York: McGraw-Hill,

1986. KORTH, H. AND SILBERSCHATZ, A. Database System Concepts, 2nd Edition, New York:

McCraw-Hill, 1991. KROENKE, D. AND DOLAN, K. Database Processing, Third Edition, Chicago: Science Re-

search Associates, 1988. KKOENKE, D. "Developing Object-Oriented Database Applications on Microcomput-

ers." Proceedings of the Second International Conference on Computers and Ap- plications, Beijing, June 1987.

KULL, D. "Anatomy of a 4GL Disaster." ComputerDecisions, February 11, 1986. KUNTZ, M. AND MELCHERT, R. "I'astd-3's Graphical Query Language: Direct Manipula-

tion, Cooperative Queries, Full Expressive Power." In VLDB 1989. LAMPSON, BUTLER AND LOMET, DAVID. "A New Presumed Commit Optimization for

Two Phase Commit." In VLDB 1993. LARSON, P. "Dynamic Hashing.', BIT 18, 1978. LARSON. P. "Analysis of Index-Sequential Files with Overflow Chaining." TODS, 6:4.

December 1981. L ~ C L U S E , C., RICHAR, P., AND VELEZ, F. .'02, An Object-Oriented Data Model." ACM In-

ternational Conference on the Management of Data. Chicago. IL, 1988. LECI.LJSE, C. AND RICHARD, P. "The O2 Database Programming Language." In VLDB

1989. LEDERER, A., AND SETHIK, V. "Pitfdk in Planning." Datamation, June 1, 1989. LEE, S.K. "An Extended Relational Database Model for Uncertain and Imprecise Infor-

mation." In VLDB 1992. LEFKOVITZ, H. C. Proposed American National Standards In formation Resource Dictio-

nary System, QED Information Sciences, 1985. LEISS, E. Principles of Data Secwity, New York: Plenum Press, 1982. LENZERINI, M. AND SANTLICCI. C. "Cardinality Constraints in the Entity Relationship

Model." In ER 1983. LIEN, E. AND WEINGERGER, P. "Consistency, Concurrency, and Crash Recovery." In SIG-

MOD 1978. LITWIN, P. "Faking Multi-Table Forms." Data Based Adt8isor, October 1989. LITWIN, W. "Virtual Hashing: A Dynamically Changing Hashing." In VLDB 1978. LITWIN, W. "Linear Hashing: A New Tool for File and Table Addressing." In VLDB 1980. LIU, K. AND SUNDERRAMAN, R. "On Representing Indefinite and Maybe Information in

Relational Databases." In DE 1988. LIVADAS, P. File Structwes: Theory and Practice, Englewood Cliffs, NJ: Prentice Hall,

1989. LOCKEMANN, P. AND KNUTSEN, W. "Recovery of Disk Contents after System Failure."

CACM, 11:8, August 1968. LOMET, DAVID B. "Key Range Locking Strategies for Improved Concurrency." In VLDB

1993. LOZINSKII, E. "A Problem-Oriented Inferential Database System." TODS, 113, Septem-

ber 1986. LYON, L. "CASE and the Database." Database Programming and Design, May 1989. MAIER, D., STEIN, J., OTIS, A,, AND PURDY, A. "Development of an Object-Oriented

DBMS." OOPSLA, 1986. MAIER, D. AND STEIN, J. "Development and Implementation of an Object-Oriented

Page 570: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

DBMS". In B. Shriver and P. Wegner, eds. Research Directions in Object-Oriented Programming, 355-392. Cambridge, MA: MIT Press, 1987.

MAIER. D. The Theory of Relational Databases, Rockville, MD: Computer Science Press, 1983.

MANOLA, F. AND DAYAL, U. "PDM: An Object-Orieinted Data Model." International Workshop on Object-Orieinted Database Systems. Pacific Grove, CA, 1986.

MARKC~WITZ, V. AND RAZ, Y. "ERROL: An Entity-Relationship, Role Oriented. Query Language.'' In ER 1983.

MARTIN, E., DEHAYES, D.. HOFFER, J . , AND PERKINS, W. Managing Information Tech- nology: What Managers Need to Know, New York: Macmillan, 1991.

MARTIN, J. Computer Data Base Organization. 2nd ed., Englewood Cliffs, NJ: Prentice Hall. 1977.

ARTIN IN, J. An End-l.'ser's Guide to Data Base, Englewood Cliffs, NJ: Prentice Hall, 1981. MARTIN, J. Strategic Data Planning Methodologies, Englewood Cliffs, NJ: Prentice Hall.

1982. MARTIN, J . Managwzg the Data-Base Environment, Englewood Cliffs, NJ: Prentice Hall.

1983. MCFADDEN, F. AND HOFFER, J. Database Management, Third Edition, Menlo Park, CA:

Benjamin/Cummings, 1991 MCGEE, W. "The Information Management System IMS/VS, Part I : General Structure

and Operation." IBM Systems Journal. 16 2, June 1977. MELTON, J. AND SIMON, A. Understanding the New SQL: A Complete Guide, Morgan

Kaufmann, 1993. MEYER, B Object-oriented Software Construction, Englewood Cliffs, NJ: Prentice Hall,

1988. MICRORIM, INC. R:BASE for DOS User5 Manual. Redmond, WA: Microrim, 1987 MILLER, R.J., IOANNIDIS. Y.E., AND UMAKRISHNAN, R . "The Use of Information Capac-

ity in Schema Integration and Translation." In VLDB 1993. MISSIKOFF, M. AND WIEDERHOLD, G. "Toward a Unified Approach for Expert and Data-

base Systems." In EDS 1984. MITSCHANG, B. "Extending the Relational Algebra to Capture Complex Objects." In

VLDB 1989. MOTRO, A. "Using Integrity Constramts to Provide Intensional Answers to Relational

Queries." In VLDB 1989. NAFFAH, N. (editor). Ofjce Information Systems, North-Holland, 1982. NAL7ATHE. S. AND GADGIL, S. "A Methodology for View Integration in Logical Database

Design." In VLDB 1982. NAVATHE. S. AND KERSCHBERG, L. "Role of Data Dictionaries in Database Design." In-

formation and Management, 10:1, January 1986. NAVATHE, S. AND PILLALAMAKRI, M. "Toward Making the ER Approach Object-

Oriented." In ER 1988. NAVATHE, S. AND SCHKOLNICK, M. "View Representation in Logical Database Design."

In SIGMOD 1978. NAVATHE, S., ELMASRI, R., AND LARSON, J. "Integrating User Views in Database Design."

IEEE Computer, 19:1, January 1986. NAVATHE, S. "An Intuitive View to Normalize Network-Structured Data." In VLDB 1980. NG, P. "Further Analysis of the Entity-Relationship Approach to Database Design." TSE,

7:1, January 1981. NIEVERGELT, J. "Binary Search Trees and File Organization." Computing Suweys, 6:3,

September 1974. NIJSSEN, G. (editor). Modelling in Data Base Management Systems, North-Holland,

1976. OHSUGA, S. "Knowledge Based Systems as a New Interactive Computer System of the

Next Generation." In Computer Science and Technologies, North-Holland, 1982. OLIVE, A. "On the Design and Implementation of Information Systems from Deductive

Conceptual Models." In VLDB, 1989.

Page 571: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

OLLE. T. W. The CODASYL Approach to Data Base Management, Chichester, England: Wiley, 1980.

O Z S O Y ~ G L U , G., O z s o ~ o G ~ u , Z., AND MATROS, V. "Extending Relational Algebra and Relational Calculus with Set Valued Attributes and Aggregate Functions." TODS, 12:4, December 1985.

OZSOYOGLLJ, Z. AND YUAN; L. "A New Normal Form for Nested Relations." TODS, 12:1, March 1987.

PAPADIMITRIOU, C. The Theory of Database Concurrenc,y Control, Rockville, MD: Com- puter Science Press, 1986.

PARENT, C. AND SPACCAPIETRA, S. "An Algebra for a General Entity-Relationship Model." TSE, 11:7, July 1985.

PARKER. D.S., SIMON, E., AND VALDUKIEZ, P. "SVP: A Model Capturing Sets, Streams, and Parallelism." In VLDB 1992.

PERCY, T. "My Data, Right or Wrong." Datamation, June 1, 1986. PONCELET. P., TESSEIRE, M., C I C C H E ~ I , R., AND LAKHAL. L. "Towards a Formal Ap-

proach for Object Database Design." In VLDB 1993. POULOVA~~~LI~ , ALEXANDRA AND SMALL. CAROL. "A Domain-theoretic Approach to Inte-

grating Functional and Logic Database Languages." In VLDB 1993. ~ M A K R I S H N A N , R., SRIVASTAVA. D., AND SUDARSHAN, S. "CORAL: Control. Relations

and Logic." In VLDB 1992. RAz, Y. "The Principle of Commitment Ordering, or Guaranteeing Serializability in a

IIeterogeneous Environment of Multiple Autonomous Resource Managers Using Atomic Commitment." In VLDB 1992.

READ, R.L., FUSSELL, D.S., AND SILBERSCHATZ, A. "A Multi-Resolution Relational Data Model." In VLDB 1992.

REISNER, P. "Use of Psychological Experimentation as an Aid to Development of a Query Language.'' TSE, 3:3, May 1977.

REISNER, P. "Human Factors Studies of Database Query Language: A Survey and As- sessment." Computing Surueys, 13:1, March 1981.

RETTIG, M. "Gourmet Guide to the DB2 Catalog." Data Base Programming and Design, February 1989.

RICHARDSON, J. "Supporting Lists in a Data Model (.4 Timely .4pproach)." In VLDB 1992.

RISCH. T. "Monitoring Database Objects." In VLDB 1989. KOSENTHAL, A,, CHAKRAVARTHY, U.S., BLAUSTEIN, B., AND BLAKELY, J. "Situation Moni-

toring for Active Databases." In VLDB 1989. ROTH, M. AND KORTH, H. "The Design of Non-1NF Relational Databases into Nested

- - Normal Form." In SIGMOD 1987. - - - - -

ROTHNIE, J . ET AL. "IntTobuction-to-a S y ~ e m for i%xritmted Batabws-(%&lV TODS, 5:1, March 1980.

RUBEL, M. C. "Keeping The Garbage Out." Data Based Adtl&or, .4pril 1989. RUBEL, M. C. "Entering Data into Screen Forms." Data Based Advisor, May 1989. RUBEL, M. C. "Creating a Report." Data Based Adu&or, July 1989. RUDENSTEINER, E.A. "Multiview: A Methodology for Supporting Multiple Views in

Object-Oriented Databases." In VLDB 1992. RUSTIN, R. (editor). Data Base Systems, Englewood Cliffs, NJ: Prentice Hall, 1972. RUSTIN, R. (editor). Proceedings of the ACM SIGMOD Debate on Data Models: Data

Structure Set Versus Relational, 1974. SAYLES, J. S. "All in a row." Data Based Advisor, December 1989. SCHAEFFEK, H. Data Center Operations, Englewood Cliffs, NJ: Prentice Hall, 1981. SCHEUERMANN, P. (editor). Improving Database Usability and Responsiveness, Orlando:

Academic Press, 1982. SCHKOLNICK, M. "A Survey of Physical Database Design Methodology and Tech-

niques." In VLDB 1978. SCHMIDT, J. ANL) SWENSON, J . "On the Semantics of the Relational Model." In SIGMOD

1975.

Page 572: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

SCHREIER, U.. PIRAHESH, H., AGRAWAL, R., AND MOHAN, C. "Alert: An Architecture for Transforming a Passive DBMS into an Active DBMS." In VLDB 1991.

SCHUR. S. G. "Building an Active Distributed Database." Database Programming and Design, April 1989.

SEGEV, A. AND ZHAO, J.L. "Data Management for Large Rule Systems." In VLDB 1991. SHANK, M., BOYNTON, A. AND ZMUD, R. "Critical Success Factor Analysis as a Method-

ology for IS Planning." MIS Quarterly, 9 2 , June 1985. SHETH, A,, LARSON, J., CORNELIO, A., AND NAVATHE, S. "A Tool for Integrating Concep-

tual Schemas and User Views." In DE 1988. SHIPMAN, D. "The Functional Data Model and the Data Language DAPLEX." TODS, 6:1,

March 1981. SHNEIDERMAN, B. (editor). Databases: Improtling Usability and Responsiveness, Or-

lando: Academic Press, 1978. SHOENS, K., LUNIEWSKI, A,, SCHWARZ, P., STAMOS, J., AND THOMAS, J. "The Rufus Sys-

tem: Information Organization for Semi-Structured Data." In VLDB 1993. SIBLEY, E. "The Development of Database Technology." Computing Surveys; 8:1, March

1976. SIEGEL, M. AND MADNICK, S.E. "A Metadata Approach to Resolving Semantic Conflicts."

In VLDB 1991. SIEGELMANN, H.T. AND BADRINATH, B.R. "Integrating Implicit Answers with Object-

Oriented Queries." In VLDB 1991. SIMON, E., KIERNAN, J., AND DE MAINDREVILLE, C. "Implementing High-Level Active

Rules on Top of Relational Databases." In VLDB 1992. SMITH, J . AND SMITH. D. "Database Abstractions: Aggregation and Generalization."

TODS, 2:2, June 1977. SMITH, P. AND BARNES, G. Files C; Databases: An Introduction, Reading, M A : Addison-

Wesley, 1987. SMITH, K. AND WINSLETT, M. "Entity Modeling in the MLS Relational Model." In VLDB

1992. SNODGRASS, R. AND AHN, I. "A Taxonomy of Time in Databases." In SIGMOD 1985. SPRAGUE. R., AND MCNURLINK, B. Information Systems in Practice, Englewood Cliffs,

NJ: Prentice Hall, 1986. SPRAGUE, R. AND WATSON, H. Decision Support Systems, 2nd Edition, Englewood Cliffs,

NJ: Prentice Hall, 1989. SRIVASTAVA, DIVESH. RAMAKRISHNAN, RAGHU, SESHADRI, PRAVEEN, AND SUDARSHAN, S.

"Coral++: Adding Object-Orientation to a Logic Database Language." In VLDB 1993.

STONEBRAKER, M., WONG, E., KREPS, P. AND HELD, G. "The Design and Implementa- tion of INGRES." TODS, 1 3 , September 1976.

STOREY, V. C., AND R. C. GOLDSTEIN. "A Methodology for Creating User Views in Data- base Design." TODS, 133, September 1988.

SU, S.Y.W. AND CHEN, H-H.M. "A Temporal Knowledge Representation Model 0SAM6/T and its Query Language OQL/T." In VLDB 1991.

TALENS, G., OUSSALAH, C., AND COLINAS, M.F. "Versions of Simple and Composite Ob- jects." In VLDB 1993.

TAYLOR, R. AND FRANK, R. "CODASYL. Data Base Management Systems." Computing Surveys, 8: 1 , March 1976.

TEOREY, T. AND FRY, J. Design of Database Structures, Englewood Cliffs, NJ: Prentice Hall, 1982.

TEORY, T., YANG, D., AND FRY, J. "A Logical Design Methodology for Relational Data- bases Using the Extended Entity-Relationship Model." Computing Surveys, 18:2, June 1986.

THOMAS, J. AND GOULD, J. "A Psychological Study of Query By Example." NCC, AFIPS, 44, 1975.

THOMAS, J . AND DEBLOCH S. "A Plan-Operator Concept for Client-Based Knowledge Processing." In VLDB 1993.

TODD, S. "The Peterlee Relational Test Vehicle-A System Overview." IBM Systems Journal, 15:4, December 1976.

Page 573: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

TSICHRITZIS, D. AND KLUG, A. (editors). The ANSUX.j'/SPARC DBMS Framework, AFIPS Press, 1978.

TSICHRITZIS, D., AND LOCHOVSKY. F. "Hierarchical Data-base Management: A Survey." Computing Surveys, 8:1, March 1976.

TSICHRITZIS, D., AND LOCHOVSKY, F. Data Base Management Systems. New York: Aca- demic Press, 1977.

TSICHRITZIS, D. AND LOCHOVSKY, F. Data Models, Englewood Cliffs: Prentice Hall, 1982.

TSICHRITZIS, D. "Forms Mangement." CACM, 25:7, July 1982. UHROWCZIK, P. "Data Dictionary/Directories.2 IBM Systems Journal, 12:4, December

1973. ULLMAN, J. Principles of Database Systems, Second Edition. Rockville, MD: Computer

Science Press, 1982. ULLMAN, J. Principles of Database and Knowledge-Base Systems, Rockville, MD: Com-

puter Science Press, 1990. UMBAUGH, R., (editor). The Handbook ofMIS Management, Auerbach, 1985 VALIIURIEZ, P. AND GARDARIN, G. Ana1ysi.s and Comparison of Relational Database Sys-

tems, Reading, MA: Addison-Wesley, 1989. VE-ITER, M., ANII MADDISON, K.N. Database Design Methodology, Englewood Cliffs, NJ:

Prentice Hall, 1981. VETTER, M. Strategy forData Modeling, Wiley, 1987. WELDON, J . Data Base Administration, New York: Plenum Press, 1981. WELTY, C., AND STEMPLE, D. "Human Factors Comparison of a Procedural and a Non-

procedural Query Language." TODS. 6:4. December 1981. WERTZ, C. The Data Dictionary: Concepts and Uses, QED Information Sciences, 1986. WHI-ITEN, J., RENTLEY, L., ANI) Ho, T. Systems Analysis and Design Methods, St. Louis:

Times Mirror/Mosby, 1986. WIEDERHOLD, G. Database Design, Second Edition, New York: McGraw-Hill, 1983 WIEDERHOLD, G. "Knowledge and Database Management." IEEE Software, 8:1, January

1984. WIEDERHOLD, G. "Views, Objects, and Databases." Computer, 19:12, December 1986. WITKOWSKI, ANDREW, CARINO, FELIPE, AND KOSTAMAA. PEKKA. "NCR 3700 - The Next-

Generation Industrial Database Computer." In VLDB 1993. WYLIE, C. 101 Puzzles in Thought and Logic, Mineola. NY: Dover Publications, Inc.,

1957. WINKLER-PARENTZ, H. B. "Can You Trust Your DBMS?" Database Programming and

Design, July 1989. WIORKOWSKI, G., AND D. KULL. "Distributed DBL." Database Programming and De-

sign, April 1989. WOOD, D. "A Primer of Features and Performance Issues of Relational DBMSs." Data

Resource Management, 1: 1, Winter 1990. YAO, S. (editor). Principles of Database Design, Volume I: Logical Organizations, En-

glewood Cliffs, NJ: Prentice Hall, 1985. YOURDON, E., & CONSTANTINE, L. Structured Design, Englewood Cliffs, NJ: Prentice

Hall, 1979. ZANIOLO, C. ET AL. "Object-Oriented Database Systems and Knowledge Systems." In

EDS 1984. ZLOOF, M. "Query By Example." NCC, AFIPS, 44, 1975. ZLOOF, M. M. "Query-by-Example: A Data Base Language." IBMSystems Journal, 16:4,

1977.

Page 574: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

INDICE ANALITICO

Acceso scilo para recy~eracihn, 65 Administrador de arehivos, 325 Agente. 394 Agregacibn ,445-446 Agrrgado, 11 I , 133 Agrupamirnto, 350 Algebra relacional, 178-98 Ancrstro, 519 Anomalia dc actualizac.ibn, 118 Anomalias de horrado, 148 .inomalias de insercihn, 148 +puntatlor; 340-341 -4rhol enraizatio, 343 Archivo de acceso dirccto, 20 Arista, 489 >4rquitectura tres-niveles, 68-69, 80 Atributo, 97-100

Banderas de estado, 501, 531 Base de datos crntralizada. 57-58 Base de datos externa. 526 Base de datos orirntada a ohjetos Bloque de comunicacibn de programa, 526 Bloque de rspecificaci6n de programa, 526. 527-528 Bloqur de imtruccionrs, 294 Bloqueo dt. escritura, 373 Bloquro de levtura, 373 Bloquro, 371

Cajd dc condicicin, 260 (:hlculo relacional. 198-204 Camino, 343 Campo, 38 Cardinalidad, 95-97, 102-103. 133 Catilogo. 212-213 Ciclo de vida ciel dcsarrollo de la base dr datos (CVDBD).

62-63,69. 71-72 Cifrado. 381-382.424 Cilindro, 326-327 Clase dcrivada, 445 Cia\ c candiciata, 145 Clavc externa. 99. 126. 133. 144 Clavr for&nc.a, 145-146 Claw primaria, 145.353 Clave srcundaria, 353 Clave subrogada, 92.98-99,144 Clavr, l l ,98-99, 143-144 Clirnte/ser\idor, 279-32 1 Conceptual. 68 Conrctores booleanos, 221,466-47 (:onjunto de objetos abstractos, 92 Conjunto dr, objrtos agregado, 94-95 Conocimirnto extrnsional, $70 Conocirniento intensional, 470 Consulta conjuntna. 271 Consulta extcrna, 227 Consultando por ejemplos (QBE), 20 Contraseiia, 65,375 Control dr acceso, 423 Control de concurrencia, 370-375.423

Page 575: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

Ejet-ut*ihn ser~al . 406 Enc*adenan~iento hacia atlelantcl. $72 I<ncadenam~ento hacia tlctris. $72 EnSoq~~t. orwntatlo a datos. 70-71 Knfotlue orientatlo a f~~nciont.i. 70 Enlaccx fis1t.o. k94 l<lllat*e" 394 Equi r r rnn i ih~ I01 I3;sl)era de la rotaciOn. 329 E s t ~ ~ ~ ( ~ n ~ a tit. intorn~at~ihn. 216-247 Estintlar. 366-367 li\ aluaci011. 426-427

Factor tle carpa. 336 Forma Norn~al Bo! t 4 : o d t l (FNBC), 152 Forma Normal don~inio/Llave (FNDLL), 155 E'rapentat*ihn I ertiral. 400-401 F ~ ~ n c i h n tlr h a ~ h tlinamico. 338-340

(;raSo tlirigitlo. 489

Hash eutrntliblc. 338 IIijo. 17. 316 Iloja. 343

Itlt~ntitlatl drl ol~jr to . 92 l~n t t~r r t~ la t ihn patlrt.-hijo. 5 I0 lustancia dt- ot~jr to , 91 I11s1rnt~c~i6n tlr t*alil'icaci6n, 199-200 1nstrnct.iOn t l t , itt.raciOn. 27.5 lns t ru t~~ion t~s (svntcwias) co~~dici t~nal t~s . 275 ln t tya t ihn tit. 10s tlatos. .53. SO lntrgridatl tlr los datos, 65. 148. 307 Ir~tt~gritlatl rrfrrrntial. 147 Intrgritlatl. 367. 368-375 lntrrhlot l~~t~o. a l ~ r a ~ o mortal. 372-373 IntrrSaz (;riGt.a (11. Usuario (GLII). 22% 281 Iutrroperati\itlad. 22

86- Interrelat~iOn tle alto nivel. 1 I 1 Interrc~lat.iOn. 93-95

I,t'ngua,je anfitrihn. 242-243 Lvnguajt. tlt, tit-linicihn tlc datos (LIID). 197 Lt,nguajt* tle twnsulta rstrut.turatlo (SOL). 20 Lenguajc tlc twnsnlta, 27,45-49 Tmguajt~ tlc datos lhgico, 481 1,mguajt. tlr flujo tle control, 293-298 Lrnguajt. tlc manipulacihn tle datos (T,Ml)). 77. 497. 501-

.i 0 7 Lrnguajt* tt.xtual, 256 Lista vnla~ada. 340-342 Lista intertida, 342 Lista resrdtado. 199-200 LOgica de primer orden, 476

Manipulac~hn d r datos, 19-20 Marca de tirmpo, 409-410 Memoria principal, 325-326 Metadatos. 26, 246 Mbtodo de at*t*eso directo indizado jcrirquico. 530 Mbtotlo tle a twso diretato-jerirt1uic.o. 528-.i30 Mbtodo de acreso srcurncial jrrirqnico, 528 Mbtodo de acceso securncial-indizadn. 528 Mbtodo del cocirntr c l~adri t ico, 337 Modclado, 87-91 Modrlo concrptiial de ciatos, 90, 132 Modelo de datos en red. 487-513 Moddo d r datos jerirqiiico, 514-531 Mocielo de datos relational. 139-173 Modelo orientado a objetos, 90 Ml~c*hos-nniehos, 97. 133 Miilticonjunto. 219

Page 576: DISEÑO Y ADMINISTRACION DE BASES DE DATOS (GARY W. HANSEN)

Ohjrto c.oiiiplt~lo. 4 15-146, 448 ODB(: (Ol?jctos dc Conrctividad d r Ihs r d r 1)atos). 413 Ordcn rial rgat-ional. 340

Painter. 303 Pista. 320, 330 Prc.dicatlo, 1.9 7 Procctlimirntos ullnacrnatlos, 293 Prorrsaniirnto d r accrso tlirrrto. 8-11 Procrsaniirnto rlrcatr6nic.11 de datos (PED). 5.5 Progenitor. 17. 316 Propa ina dc aplicari6n , 8 P r o g r a n ~ r i 6 n orirntada a ol~jrtos. 443-448 Protocolo tlr cierre de tlos-llses. 406-407 Punto dc chcquro. 386

Kecorrido en prrorden. 520-321 Red local. 58.396 Rrd. 17 Rrgistro li,+. 491 Regla. 283 Rrndimientc~, 65-66 Rratricci6n tle cwluniria, 288 Restrit~icin tlc tahla. 288 Rc.triccii~n de valor. 63 Restricci6n. 214. 287-291 Retencii~n fija, 507 R r t r n c i h ol~ligatoria, 507 Reunibn euterna, 190, 194 Reuni6n natural, 188-192,240 Reimihn thcta. 192-194

Segmtmto hoja, 51 9 Segmento raiz, 518 Segmento scniihle. 527-328 Segmentos gen~elos. 519-520 Seguridad de 10s datos. 65. 367 Scmirreuni6n.104-405

Sistrma cle apliraciOn. 8 sistcma clr hase dr concw~mic~ntos (SHC), 442,468-481 Sistrriia d r base d r h t o s d i s t rhu~dd . .i8. 391-417 Sistema tlr 1)asr d r tlatos orientddo d ot~jt'toi, 91, 441-467 S ~ s t n n a d r l ~ s r d r tlatos. 3-32 S~stcwa tie base, tlr (ldtos r r l ~ ~ o n : ~ I r s . 17-20 Sistrmd d r grsti6n d r 1)asr tlc conoc~mientos (SGB(:), 468 Sistrrna d r grstiOn de haw dr datos (SGBD). 12, 25-27, 59 S~strina cle infor inar ih para la grsti6n (MIS), 11. 53-36.

107 S~s tnna d r procwamiento de datos, 7. 107 Sistema experto, 468 Sisteina orientatlo a arrhivos. h- 14 Sistemas dc soporte a la toma d r clrc.isioncs. 55-56 Software d r apliracihn, 24-23 Solicitud tlr propuesta, 426 SQL inc.rustado, 242-243 Suhronsulta corrrlacionada. 228-229

Tahla hasc. 2'3 Tiihla dc rrsultatlo. 238-259 Tahla tlr vrrificacihn de tlisparadorrs. 301 Troria tlc la wrializacibn. 406 Texto cifratlo. 3111-382 'kuto lrgil~le. 381 Tiempo tle acticacii~n d r la cabrza, 329 Toma d r dccisionrs, 11 Transaccibn abortada, 370 Transacribn atbmica. 369-370 Transaccibn crrrada. 382 Transacci6n local, 394 Transaccih, 394 Tupla, 143

\'alor at6mic0, 148 Yariahle local, 297-298 Vista, 26.63. 131, 243

Window painter. 31 3-31;