(VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR (6758&785$6'($/0$&(1$0,(172<0e72'26'($&&(62 /RV GDWRV TXH FRQVWLWX\HQ OD %' HVWiQ DOPDFHQDGRV ItVLFDPHQWH HQ XQ PHGLR GH DOPDFHQDPLHQWRHQHO RUGHQDGRUPiV FRQFUHWDPHQWH HQ DOPDFHQDPLHQWRVHFXQGDULR GH GLVFR PDJQpWLFRTXHHVHOVRSRUWHPiVGLIXQGLGRSDUDDOPDFHQDUILFKHURVGHEDVHVGHGDWRVHQOtQHD SRUYDULDVUD]RQHV · ODV %' VXHOHQ FRQVLVWLU HQ JUDQGHV FDQWLGDGHV GH LQIRUPDFLyQ SHUPDQHQWH FX\R WDPDxRQRFDEHHQPHPRULDSULQFLSDO · (Q HO DOPDFHQDPLHQWR VHFXQGDULR HV PiV GLItFLO TXH RFXUUD XQ IDOOR TXH VXSRQJD OD SpUGLGDGHGDWRV · 6XFRVWHHVLQIHULRU (VWXGLDUHPRVIRUPDVGHRUJDQL]DUILFKHURVGHGDWRVHQGLVFRSDUDFRQVHJXLUXQDFFHVRDOD%' FRQ UHQGLPLHQWR DFHSWDEOH HV GHFLU GLIHUHQWHV WpFQLFDV SDUD DOPDFHQDU HQ GLVFR JUDQGHV FDQWLGDGHVGHGDWRVHVWUXFWXUDGRV /RV DGPLQLVWUDGRUHV '%$ \ ORV GLVHxDGRUHV GH EDVHV GH GDWRV GHEHQ FRQRFHU ODV YHQWDMDV H LQFRQYHQLHQWHVGHFDGDWpFQLFDTXHRIUHFHXQ6*%'SDUDGLVHxDUHLPSOHPHQWDUOD%'\SDUD RSHUDU FRQ ORV GDWRV HO 6*%' VXHOH RIUHFHU YDULDV RSFLRQHV SDUD RUJDQL]DU ORV GDWRV \ HQ HO 'LVHxR)tVLFRGHOD%'HVQHFHVDULRHOHJLUODWpFQLFDGHRUJDQL]DFLyQDGHFXDGDSDUDOD%'TXHVH GLVHxD $GHPiV ORV LPSOHPHQWDGRUHV GH ORV 6*%' GHEHQ FRQRFHU ODV SRVLEOHV WpFQLFDV GH RUJDQL]DFLyQ SDUD LPSOHPHQWDUODV GH PDQHUD HILFLHQWH \ SRQHUODV D GLVSRVLFLyQ GHO '%$ \ ORV GLVHxDGRUHV 8QDDSOLFDFLyQHQXQPRPHQWRGDGRQHFHVLWDDFFHGHUDSDUWHGHOD%''HEHUiORFDOL]DUODHQ GLVFR FRSLDUOD HQ PHPRULD SULQFLSDO SURFHVDUOD \ HQ HO FDVR GH TXH OD KD\D PRGLILFDGR UHHVFULELUODHQGLVFR &RQFHSWRVJHQHUDOHV /RVGDWRVHQGLVFRVHRUJDQL]DQHQ),&+(526GH5(*,67526 8QUHJLVWURHVXQDFROHFFLyQGHYDORUHVRHOHPHQWRVGHLQIRUPDFLyQUHODFLRQDGRVHQWUHVtTXH WLHQHQTXHYHUFRQXQPLVPRFRQFHSWRGHODUHDOLGDG/RVUHJLVWURVGHVFULEHQµHQWLGDGHV¶\VXV µDWULEXWRV¶&DGDDWULEXWRFRUUHVSRQGHDXQFDPSRGHOUHJLVWURTXHWRPDYDORUHVGHFLHUWRWLSR GHGDWRV (MHPSOR 120%5('(/7,32'(5(*,6752 120%5('(/&$032 7,32'('$726'(/&$032YDORUHVTXHSXHGHDFHSWDU W\SH(03/($'2 UHFRUG 120%5( SDFNHGDUUD\>@RIFKDUDFWHU SDFNHGDUUD\>@RIFKDUDFWHU LQWHJHU LQWHJHU SDFNHGDUUD\>@RIFKDUDFWHU 166 6$/$5,2 &Ï',*2B38(672 HQG '(3$57$0(172 /RV UHJLVWURV VH DOPDFHQDQ GH IRUPD WDO TXH VHD SRVLEOH UHFXSHUDUORV OHHUORV GH IRUPD HILFLHQWHVLHPSUHTXHVHQHFHVLWHQ +HPRVGHUHFRUGDUTXHXQGLVFRPDJQpWLFRHVWiGLYLGLGRHQSLVWDV\pVWDVHQVHFWRUHV /DGLYLVLyQGHXQDSLVWDHQ EORTXHVGHLJXDOWDPDxRSiJLQDVODUHDOL]DHO6LVWHPD2SHUDWLYR FXDQGRGDIRUPDWRDOGLVFR ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR &RQVLGHUDUHPRV OD WUDQVIHUHQFLD GH GDWRV HQWUH OD PHPRULD SULQFLSDO \ HO GLVFR HQ XQLGDGHVGHEORTXHV &XDQGRVHQHFHVLWDODLQIRUPDFLyQ FRQWHQLGD HQ FLHUWR EORTXHVHOH SDVDDOGLVSRVLWLYRGH(6 GHO GLVFR OD GLUHFFLyQ KDUGZDUH HQ GLVFR GHO EORTXH \ WDPELpQ OD GLUHFFLyQ GH XQ EXIIHU GH PHPRULD 8QD RSHUDFLyQ GH lectura FRSLDUtD HO EORTXH GHO GLVFR DO EXIIHU 8QD RSHUDFLyQ GH escrituraFRSLDUtDHOEORTXHGHOEXIIHUDOGLVFR (OWLHPSRWRWDOGHORFDOL]DFLyQ\WUDQVIHUHQFLDGHXQEORTXHGHVGHHOGLVFRDPHPRULDSULQFLSDO W7 VXHOH VHU OD VXPD GHO WLHPSR GH E~VTXHGD PiV HO UHWDUGR URWDFLRQDO PiV HO WLHPSR GH WUDQVIHUHQFLD GH EORTXH (VWH WLHPSR W7 HV PXFKR PD\RU TXH HO WLHPSR TXH OD &38 WDUGD HQ SURFHVDUODLQIRUPDFLyQFRQWHQLGDHQGLFKREORTXHHO³FXHOORGHERWHOOD´HVWiHQODORFDOL]DFLyQ GH ORV GDWRV HQ GLVFR /D VROXFLyQ HV FRQVHJXLU HVWUXFWXUDU ORV ILFKHURV GH IRUPD TXH VH PLQLPLFHHOQ~PHURGHWUDQVIHUHQFLDVGHEORTXHVQHFHVDULDVSDUDORFDOL]DU\WUDQVIHULUORV GDWRVVROLFLWDGRVGHVGHHOGLVFRDPHPRULDSULQFLSDO 8Q ILFKHUR HV XQD VHFXHQFLD GH UHJLVWURV /R PiV FRP~Q HV TXH WRGRV ORV UHJLVWURV VHDQ GHO PLVPRWLSRSRUHMHPSORHQXQILFKHUR$6,*1$785$6WRGRVORVUHJLVWURVVHUiQGHOPLVPRWLSRFRQ FDPSRVSDUDHOFyGLJR\HOQRPEUHGHODDVLJQDWXUDVXQ~PHURGHFUpGLWRVHWF6LQRHVDVt HOILFKHURVHGHQRPLQDPL[WR 8Q ILFKHUR PL[WR HV DTXHO TXH FRQWLHQH UHJLVWURV GH GLIHUHQWHV WLSRV TXH HVWiQ tQWLPDPHQWH UHODFLRQDGRV HQWUH Vt VH DOPDFHQDQ MXQWRV HQ ORV EORTXHV GH GLVFR IRUPDQ SDUWH GHO PLVPR ILFKHUR ItVLFRDXQTXH FRUUHVSRQGHUtDQDGLIHUHQWHVUHODFLRQHVR WDEODV (VWR UHVXOWD YHQWDMRVR SDUD DXPHQWDU OD HILFLHQFLD GH FRQVXOWDV X RSHUDFLRQHV HQ ODV TXH LQWHUYLHQHQ DPEDV WDEODV -2,13RUHMHPSORHQXQPLVPRILFKHURMXQWRDOUHJLVWURGHFDGD(678',$17(SRGUtDQFRORFDUVH ORVUHJLVWURV%2/(7Ë1B127$6GHGLFKRHVWXGLDQWH 6LWRGRVORVUHJLVWURVGHOILFKHURWLHQHQH[DFWDPHQWHHOPLVPRWDPDxRHQE\WHVVHGLFHTXHHO ILFKHURVHFRPSRQHGHUHJLVWURVGHORQJLWXGILMD9pDVHODILJXUDDOILQDOGHOWHPD 6L QR HV DVt \ ORV UHJLVWURV GHO ILFKHUR SXHGHQ WHQHU WDPDxRV GLVWLQWRV VH GLFH TXH HO ILFKHUR HVWDFRPSXHVWRSRUUHJLVWURVGHORQJLWXGYDULDEOH 9DULDVVRQODVFDXVDVSRUODVTXHORVUHJLVWURVGHXQILFKHURSXHGHQVHUGHORQJLWXGYDULDEOH 9 6LHOILFKHURFRQWLHQHUHJLVWURVGHOPLVPRWLSR\ · $OJ~QFDPSRWLHQHORQJLWXGYDULDEOHSRUHMHPSORHOnombre de las asignaturasR · $OJ~QFDPSRSXHGHWHQHUP~OWLSOHVYDORUHVDWULEXWRPXOWLYDOXDGRSDUDORVteléfonosGH ORVHVWXGLDQWHVR · $OJ~QFDPSRHVRSFLRQDODOJXQRVUHJLVWURVQRFRQWLHQHQGLFKRVFDPSRV 9 6LHPSUHTXHHOILFKHURFRQWLHQHUHJLVWURVGHGLVWLQWRWLSRILFKHURPL[WR /RVUHJLVWURVGHXQILFKHURVHDVLJQDQDEORTXHVGH GLVFRSXHVHO EORTXH HVOD XQLGDGGH WUDQVIHUHQFLDGHGDWRVHQWUHODPHPRULDSULQFLSDO\ODVHFXQGDULDHOGLVFR(VWiFODURTXHVLHO WDPDxRGHEORTXHHVPD\RUTXHHOGHUHJLVWURHQFDGDEORTXHGHGLVFRVHDOPDFHQDUiPiVGH XQUHJLVWURGHGDWRV 1 El buffer es un área reservada contigua, en memoria principal, que (normalmente) tiene el tamaño de un bloque. Puede denominarse también “área intermedia”. 2 En este caso, es necesario utilizar, dentro de los registros, una marca de “fin de campo”. Véase figura 1(b). 3 Será necesario, además de la marca de “fin de campo”, una marca de separación entre los distintos valores. 4 En este caso, se almacena en cada campo un par <nombre-campo=valor-campo>, además de la marca “fin de campo” y otra de “fin de registro”. Véase figura 1(c). 5 Cada registro irá precedido de un código indicativo de su tipo de registro. ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR &RQVLGHUDPRVXQEORTXHGHWDPDxRBE\WHV • (QXQILFKHURFRQUHJLVWURVGHORQJLWXGILMDGHRE\WHVVLB≥R,HOQ~PHURGHUHJLVWURVSRU EORTXHHOIDFWRUGHEORTXHVfblVHUi fbl = B/R 1RUPDOPHQWH OD ORQJLWXG GHO UHJLVWUR QR VHUi XQ GLYLVRU H[DFWR GHO WDPDxR GH EORTXH HV GHFLUQRVXHOHVXFHGHUTXHHQXQEORTXHTXHSDXQQ~PHURHQWHURGHUHJLVWURVDVtTXHHQ FDGDEORTXHVHWHQGUiXQHVSDFLRGHVRFXSDGR B - ( fbl * R ) 3DUDDSURYHFKDUHVWHHVSDFLRQRXWLOL]DGRSRGUtDDOPDFHQDUVHDKtXQDSDUWHGHXQUHJLVWUR\ HOUHVWRGHOUHJLVWURHQRWUREORTXHTXHVHUtDHOEORTXHFRQVHFXWLYRRVLQRHVDVtHOSULPHU EORTXHFRQWHQGUtDXQSXQWHURKDFLDHOEORTXHTXHFRQWLHQHHOUHVWRGHOUHJLVWUR (VWH WLSR GH RUJDQL]DFLyQ VH OODPDH[WHQGLGD SXHV ORV UHJLVWURV ³SXHGHQ H[WHQGHUVH PiV DOOi GHO ILQDO GH XQ EORTXH´ nota: siempre que el tamaño del registro sea superior al del bloque será necesario utilizar una organización extendida 6LQRVHSHUPLWHTXHXQPLVPRUHJLVWURHVWpDOPDFHQDGRSDUWHHQXQEORTXH\SDUWHHQRWUR EORTXHODRUJDQL]DFLyQGHOILFKHURVHUiQRH[WHQGLGD9pDVHODILJXUD • (Q HO FDVR GH XQ ILFKHUR FRQ UHJLVWURV GH ORQJLWXG YDULDEOH SXHVWR TXH FDGD EORTXH SXHGH FRQWHQHU XQ Q~PHUR GLVWLQWR GH UHJLVWURV VH GHILQH HO IDFWRU GH EORTXHV fbl FRPR HO número medio de registros por bloque. 'HHVWDIRUPDHVSRVLEOHHVWLPDUFXiQWRVEORTXHVVHUiQQHFHVDULRVSDUDDOPDFHQDUXQWRWDO GHrUHJLVWURV b = r/fbl &RQHVWHWLSRGHILFKHURVWDPELpQSXHGHQXWLOL]DUVHDPERVWLSRVGHRUJDQL]DFLyQH[WHQGLGDR QRH[WHQGLGD6HUiQHFHVDULDXQDRUJDQL]DFLyQH[WHQGLGDVLHOWDPDxRPHGLRGHORVUHJLVWURV HVJUDQGHSXHVDVtVHUHGXFLUiHOHVSDFLRSHUGLGRSRUEORTXH 'HVFULSWRUGHILFKHURFDEHFHUD &RQWLHQH LQIRUPDFLyQ QHFHVDULD SDUD SHUPLWLU D ORV SURJUDPDV DFFHGHU D ORV UHJLVWURV GHO ILFKHUR,QFOX\HSRUHMHPSORLQIRUPDFLyQSDUDGHWHUPLQDUODGLUHFFLyQGHORVEORTXHVHQGLVFR DVtFRPRGHGHVFULSFLyQGHOIRUPDWRGHORVUHJLVWURV · )LFKHURGHRUJDQL]DFLyQQRH[WHQGLGD\UHJLVWURVGHORQJLWXGILMD ORQJLWXG\RUGHQGHORVFDPSRV · )LFKHURGHORQJLWXGYDULDEOH FyGLJRVGHWLSRGHFDPSRSDUDUHJLVWURVFRQFDPSRVRSFLRQDOHV FDUDFWHUHVVHSDUDGRUHVHQWUHFDPSRV FyGLJRVGHWLSRVGHUHJLVWURSDUDILFKHURVPL[WRV 2SHUDFLRQHVFRQILFKHURV 6XHOHQGLYLGLUVHHQRSHUDFLRQHVGHREWHQFLyQ\GHDFWXDOL]DFLyQGHGDWRV • 2SHUDFLRQHVGHREWHQFLyQGHGDWRVQRDOWHUDQODLQIRUPDFLyQSXHVVyORORFDOL]DQFLHUWRV UHJLVWURVSDUDH[DPLQDU\SURFHVDUORVYDORUHVGHVXVFDPSRV • 2SHUDFLRQHV GH DFWXDOL]DFLyQ PRGLILFDQ HO ILFKHUR SXHV LQVHUWDQ HOLPLQDQ UHJLVWURV R FDPELDQORVYDORUHVGHORVFDPSRVGHDOJXQRVUHJLVWURV\DH[LVWHQWHV (Q DPERV FDVRV QRUPDOPHQWH VHUi QHFHVDULD XQD RSHUDFLyQ SUHYLD GH selección GH ORV UHJLVWURV TXH VH GHVHD REWHQHU R DFWXDOL]DU FRQ EDVH HQ XQD condición de selección R GH 6 En algunos libros aparece como “factor de bloqueo”, pero es más correcto llamarlo “factor de bloques”. ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR búsquedaeVWDHVXQDH[SUHVLyQERROHDQDTXHLQGLFDDTXHOORTXHGHEHQVDWLVIDFHUORVYDORUHV GHORVUHJLVWURVSDUDVHUVHOHFFLRQDGRV6LYDULRVUHJLVWURVVDWLVIDFHQODFRQGLFLyQVyORVHORFDOL]D HOSULPHURGHHOORVVHJ~QHORUGHQItVLFRGHQWURGHOILFKHUR (ORegistro ActualHVHOUHJLVWURORFDOL]DGRPiVUHFLHQWHPHQWH /DVRSHUDFLRQHV³UHDOHV´SDUDORFDOL]DUOHHU\DFWXDOL]DUORVUHJLVWURVGHXQILFKHURGHSHQGHQGHO VLVWHPDODVLJXLHQWHVVRQDOJXQDVUHSUHVHQWDWLYDV • • • • • • • BuscarR LocalizarEXVFDHOSULPHUUHJLVWURTXHVDWLVIDFHXQDFRQGLFLyQGHE~VTXHGD 7UDQVILHUHHOEORTXHTXHORFRQWLHQHDXQEXIIHUGHODPHPRULDSULQFLSDOVLQRHVWi\DDKt (OUHJLVWURVHORFDOL]DHQHOEXIIHU\SDVDDVHUHOUHJLVWURDFWXDO Leer X Obtener FRSLD HO UHJLVWUR DFWXDO GHO EXIIHU D XQD YDULDEOH GH SURJUDPD R D XQ iUHDGHWUDEDMRGHOSURJUDPDGHXVXDULR BuscarSiguiente EXVFDHQHOILFKHURHOVLJXLHQWHUHJLVWURTXHVDWLVIDFHODFRQGLFLyQGH E~VTXHGD 7UDQVILHUH HO EORTXH TXH OR FRQWLHQH D XQ EXIIHU GH OD PHPRULD SULQFLSDO VL QR HVWi\DDKt(OUHJLVWURVHORFDOL]DHQHOEXIIHU\SDVDDVHUHOUHJLVWURDFWXDO Eliminar ERUUD GHO EXIIHU HO UHJLVWUR DFWXDO \ DQWHV R GHVSXpV DFWXDOL]D HO ILFKHUR HQ GLVFRSDUDTXHUHIOHMHODHOLPLQDFLyQ Modificar FDPELD DOJXQRV YDORUHV GH FDPSRV GHO UHJLVWUR DFWXDO \ DQWHV R GHVSXpV DFWXDOL]DHOILFKHURGHGLVFRSDUDTXHUHIOHMHODPRGLILFDFLyQ InsertarDxDGHXQQXHYRUHJLVWURHQHOILFKHURSDUDHOORORFDOL]DHOEORTXHGRQGHVHGHEH LQVHUWDUWUDQVILHUHGLFKREORTXHDOEXIIHUVLQRHVWi\DDKtLQWURGXFHHOQXHYRUHJLVWURHQ HOEXIIHU\DQWHVRGHVSXpVHVFULEHHOFRQWHQLGRGHOEXIIHUHQHOGLVFRSDUDTXHHOILFKHUR UHIOHMHODLQVHUFLyQ 2WUDV RSHUDFLRQHVVHUtDQ SRUHMHPSOROD lectura ordenadaGHWRGRV ORV UHJLVWURV OD GH buscarTodos SDUD REWHQHU WRGRV ORV UHJLVWURV TXH FXPSOHQ FLHUWD FRQGLFLyQ R OD reorganizaciónGHORVUHJLVWURVGHOILFKHURVHYHUi\SRUVXSXHVWRODVGH abrirTXH LQFOX\HOHHUHOGHVFULSWRUGHOILFKHUR\SUHSDUDUHOEXIIHU\cerrarHOILFKHUR 25*$1,=$&,Ï1'(),&+(526 /D RUJDQL]DFLyQ GH ILFKHURV HV OD HVWUXFWXUDFLyQ GH ORV GDWRV GH XQ ILFKHUR HQ UHJLVWURV EORTXHV\HVWUXFWXUDVGHDFFHVRORFXDOLQFOX\HFyPRVHFRORFDQORVUHJLVWURV\ORVEORTXHV HQHOGLVFR\FyPRVHLQWHUFRQHFWDQHQWUHVtSXHVWRTXHORVGDWRVGHEHQDOPDFHQDUVHGHIRUPD WDOTXHVHDSRVLEOHORFDOL]DUORVHILFLHQWHPHQWHFXDQGRVHQHFHVLWHQ (QFDPELRXQPpWRGRGHDFFHVRFRQVLVWHHQXQJUXSRGHSURJUDPDVTXHSHUPLWHUHDOL]DUODV RSHUDFLRQHVDQWHVFLWDGDVOHHULQVHUWDUHWFVREUHORVGDWRVGHXQILFKHUR (QJHQHUDO HV SRVLEOH DSOLFDU YDULRV PpWRGRV GH DFFHVR GLVWLQWRV DFFHGHU XWLOL]DQGR GLIHUHQWHV WpFQLFDV GH DFFHVR D XQD PLVPD RUJDQL]DFLyQ GH ILFKHUR DXQTXH DOJXQRV GH ORV PpWRGRV GH DFFHVR VyOR SRGUiQ DSOLFDUVH D ILFKHURV RUJDQL]DGRV GH GHWHUPLQDGD PDQHUD SRU HMHPSOR QR SXHGHDSOLFDUVHXQmétodo de acceso indexadoDXQILFKHURVLQtQGLFH /R DGHFXDGR HV FRQVHJXLU XQD FRPELQDFLyQ ³RUJDQL]DFLyQ´ ´PpWRGR GH DFFHVR´ WDO TXH VH PD[LPLFHODHILFLHQFLDGHODVRSHUDFLRQHVTXHVHUHDOLFHQVREUHHOILFKHURPiVIUHFXHQWHPHQWH 7 Se utilizan dos verbos diferentes para indicar si el registro sólo se va a obtener (buscar) o también se va a actualizar (localizar) ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR 7LSRVGH2UJDQL]DFLyQGH)LFKHURV 2UJDQL]DFLyQ3ULPDULD )LFKHURVQRRUGHQDGRVRUJDQL]DFLyQHQPRQWtFXORRPRQWyQ )LFKHURVRUGHQDGRVRUJDQL]DFLyQVHFXHQFLDO )LFKHURVGLVSHUVRVRUJDQL]DFLyQGLUHFWD 2UJDQL]DFLyQ6HFXQGDULDILFKHURVLQGH[DGRVRLQGL]DGRVRUJDQL]DFLyQLQGH[DGDRLQGL]DGD ËQGLFHVRUGHQDGRVGHXQQLYHO ËQGLFHVPXOWLQLYHO 25*$1,=$&,Ï135,0$5,$ ),&+(526'(5(*,675261225'(1$'26 /RVUHJLVWURVVHFRORFDQHQRUGHQGHLQVHUFLyQ\DOILQDOGHOILFKHUR /DRSHUDFLyQGHinserciónGHXQQXHYRUHJLVWURUHVXOWDPX\HILFLHQWHHOGHVFULSWRUGHILFKHUR DOPDFHQD OD GLUHFFLyQ GHO ~OWLPR EORTXH FRQ GDWRV VH FRSLD HQ XQ EXIIHU GLFKR EORTXH VH OH DxDGHHOQXHYRUHJLVWUR\VHFRSLDHOEORTXHGHOEXIIHUDOGLVFRUHHVFULWXUD /D búsqueda GH XQ UHJLVWUR TXH VDWLVIDJD FLHUWD FRQGLFLyQ QHFHVLWD XQD E~VTXHGD OLQHDO EORTXH D EORTXH OR FXDO UHVXOWD FRVWRVR SXHVWR TXH H[DPLQD \ SRU WDQWR WUDQVILHUH PXFKRV EORTXHVVLHOILFKHURFRQVWDGHbEORTXHVH[DPLQDUiXQDPHGLDGHb/2EORTXHVSDUDHQFRQWUDU HOSULPHUUHJLVWURTXHFXPSOHODFRQGLFLyQ\VLQLQJ~QUHJLVWURODFXPSOHRODVDWLVIDFHQYDULRV ORVH[DPLQDUiWRGRVb /D eliminación GH XQ UHJLVWUR H[LVWHQWH VXSRQH a) HQFRQWUDU HO UHJLVWUR TXH VH GHVHD ERUUDU E~VTXHGDOLQHDOHQHOILFKHURb)FRSLDUHOEORTXHTXHORFRQWLHQHHQXQEXIIHUGHPHPRULDc) HOLPLQDUHOUHJLVWURGHOEXIIHU\d)FRSLDUHOEORTXHGHOEXIIHUHQHOGLVFRUHHVFULWXUD 2WUDRSFLyQVHUtDOD eliminación por marca HQ OXJDU GHO ³ERUUDGR ItVLFR´ GHO UHJLVWUR GHQWUR GHOEORTXHa)HQFRQWUDUHOUHJLVWURTXHVHGHVHDERUUDUE~VTXHGDOLQHDOb)FRSLDUHOEORTXH TXHORFRQWLHQHHQXQEXIIHUGHPHPRULDc)PDUFDUORFRPRQRYiOLGRRHOLPLQDGR\d)FRSLDU HOEORTXHGHOEXIIHUHQHOGLVFR2EYLDPHQWHHVQHFHVDULRTXHFDGDUHJLVWURLQFOX\DXQFDPSR DGLFLRQDO HO PDUFDGRU GH HOLPLQDFLyQ TXH LQGLTXH VL HV YiOLGR FRQWLHQH GDWRV ³UHDOHV´ R QR $GHPiV HO DOJRULWPR GH E~VTXHGD GHEHUi H[DPLQDU VyOR ORV UHJLVWURV YiOLGRV GHQWUR GH FDGD EORTXH (QDPEDVWpFQLFDVGHERUUDGRVHGHVSHUGLFLDHOHVSDFLRTXHRFXSDEDQORVUHJLVWURVHOLPLQDGRV 3DUDUHFXSHUDUHOHVSDFLRGHVRFXSDGRSXHGHUHDOL]DUVHSHULyGLFDPHQWHXQDreorganizaciónGHO ILFKHUR HV GHFLU DFFHGHU GH IRUPD OLQHDO DO ILFKHUR HPSDFDQGR ORV UHJLVWURV SDUD HOLPLQDU KXHFRVRUHJLVWURVQRYiOLGRVORVEORTXHVTXHGDQOOHQRVGHUHJLVWURV (Q OXJDU GH UHRUJDQL]DU FDGD FLHUWR WLHPSR HO ILFKHUR SRGUtDQ DSURYHFKDUVH ORV KXHFRV R ORV UHJLVWURV PDUFDGRV FRPR QR YiOLGRV SDUD DOPDFHQDU QXHYRV UHJLVWURV HVWR FRPSOLFDUtD HO DOJRULWPR GH LQVHUFLyQ TXH KDVWD DKRUD HUD PX\ VLPSOH SXHVWR TXH VHUtD QHFHVDULR VHJXLU OD SLVWDGHODVSRVLFLRQHVTXHYDQTXHGDQGRYDFtDV /D modificación R DFWXDOL]DFLyQ GH XQ YDORU GHQWUR GH XQ UHJLVWUR VXSRQH a) ORFDOL]DU HO UHJLVWUR E~VTXHGD OLQHDO b) FRSLDU HO EORTXH TXH OR FRQWLHQH HQ XQ EXIIHU GH PHPRULD c) PRGLILFDUHOYDORUGHOUHJLVWURHQHOEXIIHU\d)UHHVFULELUHQHOGLVFRHOEORTXHGHOEXIIHU ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR (VWHWLSRGHILFKHURVGHUHJLVWURVQRRUGHQDGRVSXHGHXWLOL]DUXQDRUJDQL]DFLyQH[WHQGLGDRQR H[WHQGLGDDVtFRPRUHJLVWURVGHORQJLWXGILMDRYDULDEOH 6LORVUHJLVWURVVRQGHORQJLWXGYDULDEOHSXHGHVXFHGHUTXHXQDYH]PRGLILFDGRHOUHJLVWURQR TXHSDHQHOHVSDFLRTXHDQWHVRFXSDEDHQHOEORTXH(QHVWHFDVRVHGHEHHOLPLQDUHOUHJLVWUR DQWLJXRHLQVHUWDUXQRQXHYRPRGLILFDGR /D lectura ordenada VHJ~Q HO YDORU GH FLHUWR FDPSR GH ORV UHJLVWURV GHO ILFKHUR VXSRQH OD FUHDFLyQGHXQDFRSLDRUGHQDGDGHOILFKHUR&RPRHVWRUHVXOWDPX\FRVWRVRVREUHWRGRVLHO ILFKHUR RFXSD PXFKR HVSDFLR SDUD FUHDU OD FRSLD VH VXHOH XWLOL]DU XQD WpFQLFD HVSHFLDO GH RUGHQDFLyQ H[WHUQD SRU HMHPSOR DOJXQD YDULDFLyQ GH OD RUGHQDFLyQ SRU IXVLyQ GH EORTXHV R mergesort ),&+(526'(5(*,6752625'(1$'266(&8(1&,$/(6 (VWRV ILFKHURV FRQVWDQ GH UHJLVWURV DOPDFHQDGRV GH IRUPD RUGHQDGD ItVLFDPHQWH VHJ~Q HO YDORU GH FLHUWR FDPSR GHQRPLQDGR campo de ordenación 8Q HMHPSOR VHUtD XQ ILFKHUR /,%526FX\RVUHJLVWURVHVWXYLHUDQDOPDFHQDGRVHQRUGHQDOIDEpWLFRGHVXVWtWXORV 6L GLFKR FDPSR HV XQD FODYH FDQGLGDWD GHO ILFKHUR HV GHFLU VX YDORU LGHQWLILFD XQtYRFDPHQWH FDGDXQRGHORVUHJLVWURVVHOHOODPDclave de ordenación6HUtDHOFDVRGHWHQHUHOILFKHURGH ORVOLEURVFRQORVUHJLVWURVRUGHQDGRVVHJ~QVXFyGLJR,6%1 (VWHWLSRGHRUJDQL]DFLyQWLHQHYHQWDMDVFRQUHVSHFWRDODRUJDQL]DFLyQQRRUGHQDGD /Dlectura ordenada UHVXOWD PX\ HILFLHQWH VL HO RUGHQ HV HO GH ORV YDORUHV GHO FDPSR GH RUGHQDFLyQlistado de títulos de libros en orden alfabéticoSXHVWRTXHHVXQDOHFWXUD VHFXHQFLDOGHOILFKHURTXHQRQHFHVLWDGHRUGHQDFLRQHVDGLFLRQDOHV (QFRQWUDU HO siguiente registro en orden VHJ~Q HO FDPSR GH RUGHQDFLyQ dado un título de un libro, encontrar el siguiente en orden alfabético QR VXHOH QHFHVLWDU DFFHVR D RWUR EORTXH SXHVWR TXH HVWi HQ HO PLVPR EORTXH TXH HO UHJLVWUR DFWXDO H[FHSWR FXDQGRHOUHJLVWURDFWXDOHVHO~OWLPRGHOEORTXHFODUR 6L OD FRQGLFLyQ GH búsqueda HVWi EDVDGD HQ HO YDORU GHO FDPSR GH RUGHQDFLyQ HO DFFHVR UHVXOWDPXFKRPiVUiSLGRSXHVWRTXHSXHGHXWLOL]DUVHHODOJRULWPRGHbúsqueda binaria 1yWHVHTXHVLHVQHFHVDULRleerHOILFKHURVLJXLHQGRXQRUGHQGHORVYDORUHVGHXQFDPSRQR GH RUGHQDFLyQ listado de libros ordenados por su fecha de publicación R VL OD FRQGLFLyQGHODbúsquedaHVWiEDVDGDHQHOYDORUGHXQFDPSRQRGHRUGHQDFLyQlistado de libros publicados en Madrid, antes del 16-Nov-1999) XVDU HVWH WLSR GH RUJDQL]DFLyQ QR VXSRQHQLQJXQDYHQWDMDFRQUHVSHFWRDODGHORVILFKHURVQRRUGHQDGRVSXHVODE~VTXHGDVHUtD OLQHDO\ODOHFWXUDRUGHQDGDVXSRQGUtDXQDFRSLDRUGHQDGDGHOILFKHUR /DLQVHUFLyQ\HOLPLQDFLyQGHUHJLVWURVVRQRSHUDFLRQHVFRVWRVDVSXHVWRTXHGHEHQFRQVHUYDUHO RUGHQGHORVUHJLVWURV /DinserciónVXSRQHa)HQFRQWUDUODSRVLFLyQFRUUHFWDGHQWURGHXQEORTXHVHJ~QHOYDORUGH VX FDPSR GH RUGHQDFLyQ HQ HO TXH GHEH VHU DOPDFHQDGR VH SRGUtD HQFRQWUDU PHGLDQWH E~VTXHGDELQDULD\b)DEULUHVSDFLRHQHOILFKHURORFXDOLPSOLFDHOGHVSOD]DPLHQWROHFWXUD\ HVFULWXUDGHORVUHJLVWURVRSHUDFLyQTXHSXHGHOOHYDUPXFKRWLHPSRVLHOILFKHURHVJUDQGH 8 Si consideramos que el fichero contiene r registros en total, el número promedio de desplazamientos es de r/2 registros en cada operación de inserción. ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR /DeliminaciónGHUHJLVWURVWLHQHHOPLVPRSUREOHPDDXQTXHHVPHQRVJUDYHVLVHXWLOL]DHO ERUUDGRSRUPDUFD\VHUHRUJDQL]DHOILFKHURSHULyGLFDPHQWH 3DUD KDFHU PiV HILFLHQWH OD inserción SRGUtD GHMDUVH espacio libre HQ FDGD EORTXH SDUD QXHYRVUHJLVWURV3HURXQDYH]DJRWDGRHVWHHVSDFLRVXUJHGHQXHYRHOSUREOHPDLQLFLDO 2WUD RSFLyQ VHUtD XWLOL]DU XQ fichero no ordenado auxiliar 6HUtD XQ fichero WHPSRUDO de desborde $O ILFKHUR RUGHQDGR VH OH OODPD DKRUD fichero maestro R principal /RV QXHYRV UHJLVWURV VRQ DOPDFHQDGRV DO ILQDO GHO ILFKHUR GH GHVERUGH PRQWtFXOR \ SHULyGLFDPHQWH VH UHDOL]DXQDIXVLyQUHRUJDQL]DFLyQGHORVILFKHURVSULQFLSDO\DX[LOLDU'HHVWDIRUPDODLQVHUFLyQ HV PX\ HILFLHQWH SHUR OD E~VTXHGD UHVXOWD PiV FRPSOLFDGD SXHV HO UHJLVWUR GHEH EXVFDUVH SULPHURHQHOILFKHURSULQFLSDOPHGLDQWHXQDE~VTXHGDELQDULD\VLQRHVHQFRQWUDGRDKtGHEH EXVFDUVHHQHOILFKHURGHGHVERUGHPHGLDQWHE~VTXHGDOLQHDO (Q OD modificación GHO YDORU GH XQ FDPSR GH XQ UHJLVWUR GHWHUPLQDGR SRGHPRV GLVWLQJXLU YDULRVFDVRV - 6LODFRQGLFLyQGHE~VTXHGDGHOUHJLVWURVHEDVDHQHOFDPSRFODYHGHRUGHQDFLyQVHXWLOL]D ODbúsqueda binariaSDUDORFDOL]DUOR6LQRVHGHEHUHDOL]DUXQDbúsqueda lineal - $GHPiV VL HO FDPSR TXH VH GHVHD PRGLILFDU QR HV HO GH RUGHQDFLyQ HO UHJLVWUR HV DFWXDOL]DGR\UHHVFULWRVLQSUREOHPDVLORVUHJLVWURVVRQGHORQJLWXGILMD - 0LHQWUDVTXHVLHOFDPSRTXHGHEHVHUPRGLILFDGRHVHOGHRUGHQDFLyQHOQXHYRYDORUSXHGH SURYRFDU HO FDPELR GH OXJDU SDUD PDQWHQHU HO RUGHQ GHO UHJLVWUR HQ HO ILFKHUR OR FXDO VXSRQGUtD OD HOLPLQDFLyQ GHO UHJLVWUR DQWLJXR \ OD LQVHUFLyQ GHO PRGLILFDGR HQ HO OXJDU DGHFXDGR /Dlectura ordenadaVHJ~QHOFDPSRGHRUGHQDFLyQHVPX\HILFLHQWHFRQVLVWHHQXQDVHQFLOOD OHFWXUDVHFXHQFLDOGHORVUHJLVWURVVLHPSUHTXHQRVHWHQJDHQFXHQWDHOILFKHURGHGHVERUGH SHURVLpVWHVHFRQVLGHUDHVQHFHVDULRa)UHRUJDQL]DUORVILFKHURVHVGHFLURUGHQDUORVUHJLVWURV GHOILFKHURDX[LOLDU\IXVLRQDUORVFRQORVGHOILFKHURSULQFLSDOGHVHFKDQGRORVUHJLVWURVPDUFDGRV FRPRHOLPLQDGRVSDUDGHVSXpVb)OHHUGHIRUPDVHFXHQFLDOHOILFKHURREWHQLHQGRORVUHJLVWURV HQRUGHQ %),&+(5266(&8(1&,$/(6(1&$'(1$'26 /RVUHJLVWURVHVWiQGLVSXHVWRVVHFXHQFLDOPHQWHGHIRUPDOyJLFD\QRItVLFDFRPRKDVWDDKRUD KHPRV YLVWR XWLOL]DQGR SXQWHURV SDUD HVWDEOHFHU HO RUGHQ GH ORV UHJLVWURV VHJ~Q HO YDORU GHO FDPSRGHRUGHQDFLyQ $Vt FDGD UHJLVWUR FRQWLHQH XQ FDPSR FRQ OD GLUHFFLyQ GHO VLJXLHQWH UHJLVWUR HQ RUGHQ 'LFKR UHJLVWURVLJXLHQWHSXHGHHVWDUDOPDFHQDGRHQ³FXDOTXLHUOXJDU´GHQWURGHOILFKHUR 'H HVWH PRGR VH WLHQH HO ILFKHUR RUGHQDGR VLQ QHFHVLGDG GH TXH ORV UHJLVWURV OR HVWpQ ItVLFDPHQWH /Dinserciónmodificación\eliminaciónVRQDKRUDRSHUDFLRQHVPXFKRPiVIOH[LEOHV3RU HMHPSORDOLQVHUWDUXQQXHYRUHJLVWURHVDOPDFHQDGRDOILQDOGHOILFKHURVHORFDOL]DHOOXJDUTXH OHFRUUHVSRQGHVHJ~QHORUGHQ\VHUHDMXVWDQORVSXQWHURVFRQYHQLHQWHPHQWH 6XHOHVHUQHFHVDULRPDQWHQHUXQSDUGHUHJLVWURVHVSHFLDOHVTXHDOPDFHQDQODVGLUHFFLRQHVGHO SULPHU\~OWLPRUHJLVWURVVHJ~QHORUGHQ (VWH WLSR GH RUJDQL]DFLyQ SXHGH LPSOHPHQWDUVH FRQ GLYHUVDV HVWUXFWXUDV GH GDWRV FRPR ODV OLVWDVOLQHDOHVODVOLVWDVP~OWLSOHVORVDQLOORVROLVWDVFLUFXODUHVORViUEROHVELQDULRVHWF ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR /LVWDVOLQHDOHV · ... $FDGDUHJLVWUROHSUHFHGH\DQWHFHGHRWURHQRUGHQGHFODYH&DGDUHJLVWURDSXQWDDOVLJXLHQWH 15 70 57 100 z 900 1RHVSRVLEOHDFFHGHUGHIRUPDGLUHFWDDXQUHJLVWURGHWHUPLQDGRSXHVWRTXHHVQHFHVDULROHHU FDGD UHJLVWUR SDUD VDEHU GyQGH HVWi HO VLJXLHQWH $Vt OD búsqueda GH FXDOTXLHU UHJLVWUR HV VLHPSUHOLQHDODSDUWLUGHOUHJLVWURLQLFLDO /D inserción VH OOHYD D FDER FRORFDQGR HO QXHYR UHJLVWUR HQ XQD ]RQD OLEUH GHO ILFKHUR \ UHDMXVWDQGRORVDSXQWDGRUHV /D modificación GH XQ UHJLVWUR VXSRQH a) OD E~VTXHGD OLQHDO GHO UHJLVWUR VLJXLHQGR ORV SXQWHURVb)DFWXDOL]DFLyQGHOUHJLVWUR\c)UHHVFULWXUDGHOUHJLVWURHQGLVFR (VWDUHHVFULWXUDVHUHDOL]DUiHQODPLVPD]RQDGHOILFKHURVLORVUHJLVWURVVRQGHORQJLWXGILMD 6LODORQJLWXGGHORVUHJLVWURVHVYDULDEOH\QRFDEHHQHOHVSDFLRTXH\DRFXSDEDHVQHFHVDULR HOLPLQDUHOUHJLVWURDQWLJXRDOPDFHQDUHOUHJLVWURHQRWUD]RQDGHOGLVFR\UHDMXVWDUORVSXQWHURV DGHFXDGDPHQWH 6LODPRGLILFDFLyQKDLPSOLFDGRODYDULDFLyQGHODSRVLFLyQGHOUHJLVWURGHQWURGHOILFKHURFDPELR GHO YDORU GHO FDPSR GH RUGHQDPLHQWR HV SUHFLVR UHDMXVWDU ORV SXQWHURV SDUD PDQWHQHU HO RUGHQ(VWRQRVHUiQHFHVDULRVLODPRGLILFDFLyQQRDIHFWDDORUGHQGHORVUHJLVWURV /D eliminación WDQ VROR VXSRQH HO UHDMXVWH GH ORV DSXQWDGRUHV /RV UHJLVWURV ERUUDGRV VRQ ]RQDVGHHVSDFLRTXHVHGHVSHUGLFLDQ (V SRVLEOH DSURYHFKDU WDOHV HVSDFLRV GHVRFXSDGRV SHUR VL pVWRVQR VH UHFXSHUDQ ORV ILFKHURV PX\YROiWLOHVTXHGDQFRQPXFKRVKXHFRVHVSDFLRGHVSHUGLFLDGRVLDGHPiVORVILFKHURVWLHQHQ XQD DOWD WDVD GH LQVHUFLRQHV DO ILQDO GHO ILFKHUR VX WDPDxR FUHFH PXFKR GH IRUPD TXH OD lectura ordenada UHVXOWD XQ SURFHVR PX\ OHQWR DO WHQHU TXH UHDOL]DU PXFKRV PRYLPLHQWRV DFFHVRVDEORTXHVGLVWLQWRVDGHPiVVHUiQQHFHVDULDVIUHFXHQWHVUHRUJDQL]DFLRQHVGHOILFKHUR 9 Ficherossobre los que se realiza muchas inserciones, eliminaciones y/o modificaciones ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR /LVWDVP~OWLSOHV /RV UHJLVWURV HVWiQ HQFDGHQDGRV SRU PiV GH XQD OLVWD (VWH WLSR GH HVWUXFWXUDV SHUPLWH SRU HMHPSOR 5HFRUULGRKDFLDDWUiV $FFHVRDUHJLVWURVDQWHULRUHVVLQQHFHVLGDGGHUHFRUUHUGHQXHYRHOILFKHURGHVGHHOSULQFLSLR GHODOLVWD d1 • d2 d3 dn ... • /DVRSHUDFLRQHVGHERUUDGRLQVHUFLyQ\PRGLILFDFLyQVRQDQiORJDVDODVGHODVOLVWDVVLPSOHV SHURUHTXLHUHQHOUHDMXVWHGHXQQ~PHURPD\RUGHDSXQWDGRUHV 5HGXFFLyQGHOWLHPSRGHDFFHVR 3RU HMHPSOR VL GLVSRQHPRV GH XQ ILFKHUR TXH FRQWLHQH LQIRUPDFLyQ KLVWyULFD GHVGH KDVWDHOGtDGHKR\SDUDUHDOL]DUODH[WUDFFLyQGHGDWRVUHIHUHQWHVDSRGUtDPRVXWLOL]DU XQD VHULH GH UHJLVWURV HVSHFLDOHV TXH DSXQWDUDQ DO FRQWXYLHUDQ OD GLUHFFLyQ GHO SULPHU UHJLVWURGHFDGDGpFDGDSDUDDFFHGHUUiSLGDPHQWHDOD]RQDDGHFXDGD\EXVFDUDSDUWLUGH DKt )LFKHURVFODVLILFDGRVSRUPiVGHXQDFODYH 3DUDHOORVHXWLOL]DQODVOODPDGDVlistas cruzadas /RV UHJLVWURV VH DOPDFHQDQ RUGHQDGRV ItVLFDPHQWH VHJ~Q XQR GH ORV FDPSRV \ HO UHVWR GH RUGHQDFLRQHVVHLPSOHPHQWDPHGLDQWHDSXQWDGRUHV &DGDUHJLVWURWLHQHWDQWRVFDPSRVSXQWHURFRPROLVWDVGLIHUHQWHVKD\D (QHVWHFDVRSRUHMHPSORODRSHUDFLyQGHinserciónLPSOLFDUtDa)LQVHUFLyQItVLFDGHOQXHYR UHJLVWUR VHJ~Q HO YDORU GHO FDPSR GH RUGHQDFLyQ ItVLFD b) UHFRUULGR VHFXHQFLDO GH XQD OLVWD KDVWD HQFRQWUDU XQ YDORU GHO FDPSR FRUUHVSRQGLHQWH D GLFKD OLVWD VXSHULRU DO GHO QXHYR UHJLVWUR\UHRUJDQL]DFLyQGHSXQWHURV\c)UHSHWLUHOSDVRbSDUDFDGDXQDGHOUHVWRGHOLVWDV 7DPELpQSXHGHQLPSOHPHQWDUVHWRGDVODVRUGHQDFLRQHVGHIRUPDOyJLFDPHGLDQWHOLVWDVHQ HVWHFDVRORVUHJLVWURVHVWDUiQDOPDFHQDGRVGHVRUGHQDGDPHQWH (VWHWLSRGHHVWUXFWXUDUHGXFHHOWLHPSRGHDFFHVRDORVUHJLVWURVGHOILFKHURVHJ~QHOYDORU GHFDGDXQRGHORVFDPSRVVREUHHOTXHKD\DFRQVWUXLGDXQDOLVWD ([LVWHQPiVHVWUXFWXUDVFRPRODVGHDQLOORROLVWDVFLUFXODUHVVLQUHJLVWURVGHLQLFLRQLGHILQ SHURFRQXQindicador de fin\ORViUEROHVELQDULRV 8QiUEROELQDULR • (VXQDHVWUXFWXUDQROLQHDO • /RVUHJLVWURVHVWiQDOPDFHQDGRVVLQVHJXLUXQRUGHQItVLFRQLOyJLFR • 6RQODEDVHSDUDLPSOHPHQWDUFXDOTXLHURWURWLSRGHiUERO • /RV árboles binarios de búsqueda SRVLELOLWDQ OD LPSOHPHQWDFLyQ GH ILFKHURV SHUPLWLHQGRXQSURFHVDPLHQWRGHVXFRQWHQLGRPX\HILFLHQWH ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR ),&+(526'($&&(62',5(&727e&1,&$6'(',63(56,Ï1+$6+,1* (VWH WLSR GH RUJDQL]DFLyQ GH ILFKHURV SHUPLWH XQ DFFHVR PX\ UiSLGR D GHWHUPLQDGRV UHJLVWURV VHJ~QFLHUWDVFRQGLFLRQHVGHE~VTXHGD/DFRQGLFLyQGHE~VTXHGDGHEHVHUXQDLJXDOGDGVREUH XQVRORFDPSRHOcampo de dispersión6LpVWHHVXQFDPSRFODYHVXHOHVHUORVHOHOODPD clave de dispersión (VWHWLSRGHRUJDQL]DFLyQVHEDVDHQHOHVWDEOHFLPLHQWRGHXQDIXQFLyQhGHGLVSHUVLyQTXHVH DSOLFDDOYDORUkGHOFDPSRGHGLVSHUVLyQGHORVUHJLVWURVGHXQILFKHUR\SURGXFHODGLUHFFLyQ GHO EORTXH GH GLVFR HQ HO TXH HVWi DOPDFHQDGR HO UHJLVWUR TXH FRQWLHQH GLFKR YDORU /D ORFDOL]DFLyQGHOUHJLVWURGHQWURGHOEORTXHSXHGHUHDOL]DUVHHQHOEXIIHUGHPHPRULDSULQFLSDO $OJXQRVHMHPSORVGHIXQFLRQHVh D Módulo. h(k) = K mod M E Plegado (folding) 6L k= k1k2k3k4 HQWRQFHV h(k) = k1k2 ⊕ k3k4 GRQGH OD RSHUDFLyQ⊕SXHGHVHUODVXPDDULWPpWLFDRODRSHUDFLyQOyJLFD;25 F Truncamiento6Lk= k1k2k3k4HQWRQFHVSRUHMHPSORh(k) = k1k3 8QD GH ODV GHVYHQWDMDV GH OD GLVSHUVLyQ HV TXH QR JDUDQWL]D TXH YDORUHV GLVWLQWRV GH k SURGX]FDQGLUHFFLRQHVGLIHUHQWHV<HVWRHVGHELGRDTXHHOespacio del campo de dispersión HOQ~PHURGHSRVLEOHVYDORUHVGHkHVPXFKRPD\RUTXHHOespacio de direccionesQ~PHUR GHGLUHFFLRQHVGLVSRQLEOHVSDUDORVUHJLVWURV 7LSRVGHGLVSHUVLyQ InternaHQILFKHURVLQWHUQRVILFKHURVWHPSRUDOHVSHTXHxRVHQPHPRULDSULQFLSDO ExternaHQILFKHURVGHGLVFRHVODTXHPiVQRVLQWHUHVD (QODGLVSHUVLyQLQWHUQDHOHVSDFLRGHGLUHFFLRQHVGHVWLQRHVXQFRQMXQWRGHMUHJLVWURVHV GHFLU HOILFKHURVHLPSOHPHQWD HQPHPRULD SULQFLSDOPHGLDQWH XQarray GH M SRVLFLRQHV /D IXQFLyQ GH GLVSHUVLyQ SRU WDQWR WUDQVIRUPDUi HO YDORU GHO FDPSR GH GLVSHUVLyQ HQ XQ HQWHUR HQWUH0\M-1FRUUHVSRQGLHQWHDORVtQGLFHVGHOarray9pDVHILJXUDD 8QDFROLVLyQWLHQHOXJDUFXDQGRDODSOLFDUhDOYDORUGHOFDPSRGHGLVSHUVLyQGHXQUHJLVWURTXH VHGHVHDLQVHUWDUHQHOILFKHURVHREWLHQHXQDGLUHFFLyQSRVLFLyQHQODTXH\DHVWiDOPDFHQDGR RWURUHJLVWUR(VQHFHVDULRLQWURGXFLUHOQXHYRUHJLVWURTXHVHGHQRPLQDsinónimoGHOTXH\D RFXSDVXSRVLFLyQHQHOILFKHURHQRWUROXJDUPHGLDQWHXQDWpFQLFDGHUHVROXFLyQGHFROLVLRQHV 7pFQLFDVGH5HVROXFLyQGH&ROLVLRQHV 'LUHFFLRQDPLHQWRDELHUWR6HH[DPLQDQVHFXHQFLDOPHQWHODVVLJXLHQWHVSRVLFLRQHVKDVWD HQFRQWUDUXQDYDFtDGRQGHVHDOPDFHQDHOQXHYRUHJLVWUR(VXQSURFHGLPLHQWRPX\OHQWR (QFDGHQDPLHQWR 6H PDQWLHQH XQ área de desbordamiento VH H[WLHQGH HO array FRQ YDULDV SRVLFLRQHV GRQGH DOPDFHQDU FDGD VLQyQLPR &DGD SRVLFLyQ FRQWLHQH XQ FDPSR PiV SXQWHUR 6H FRORFD HO UHJLVWUR QXHYR HQ XQD SRVLFLyQ GH GHVERUGH GHVRFXSDGD \ HV DSXQWDGD GHVGH OD GLUHFFLyQ TXH OH FRUUHVSRQGtD SRU VX GLUHFFLyQ GH GLVSHUVLyQ R ELHQ GHVGH XQ VLQyQLPR DQWHULRU \D HQ OD ]RQD GH GHVERUGDPLHQWR $Vt VH WHQGUi XQD OLVWD GH VLQyQLPRVUHJLVWURVGHGHVERUGHSDUDFDGDGLUHFFLyQGHGLVSHUVLyQ9pDVHILJXUDE /RVDOJRULWPRVGHLQVHUFLyQHOLPLQDFLyQFRQVXOWD\PRGLILFDFLyQVRQPiVVHQFLOORVTXHSDUD HOGLUHFFLRQDPLHQWRDELHUWR 'LVSHUVLyQP~OWLSOH6HDSOLFDXQDVHJXQGDIXQFLyQGHGLVSHUVLyQ6LVHSURGXFHGHQXHYR XQDFROLVLyQVHDSOLFDGLUHFFLRQDPLHQWRDELHUWRRELHQXQDWHUFHUDIXQFLyQGHGLVSHUVLyQ\ OXHJRGLUHFFLRQDPLHQWRDELHUWR ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR /D IXQFLyQ h GHEH VHU VHQFLOOD \ UiSLGD GH FDOFXODU $GHPiV VX SULQFLSDO REMHWLYR HV FRQVHJXLU XQD GLVWULEXFLyQ XQLIRUPH GH ORV UHJLVWURV HQ HO HVSDFLR GH GLUHFFLRQHV HV GHFLU VLQ DFXPXODPLHQWRVHQ]RQDVGHWHUPLQDGDVGHOILFKHUR'HHVWDPDQHUDVHPLQLPL]DUiHOQ~PHUR GH FROLVLRQHV \ VH RFXSDUi HO Pi[LPR Q~PHUR GH SRVLFLRQHV GHO ILFKHUR VH UHGXFLUi HO GHVDSURYHFKDPLHQWRGHOHVSDFLRHQGLVFR (QODGLVSHUVLyQH[WHUQDHOHVSDFLRGHGLUHFFLRQHVGHVWLQRHVXQFRQMXQWRGHFXEHWDV 8QD FXEHWD HV XQ FRQMXQWR GH UHJLVWURV GH IRUPD TXH SXHGH FRQWHQHU XQ EORTXH GH GLVFR R ELHQYDULRVEORTXHVFRQWLJXRVGHGLVFRItVLFDROyJLFDPHQWH /D IXQFLyQ h DKRUD VH DSOLFD DO YDORU GHO FDPSR GH GLVSHUVLyQ GH XQ UHJLVWUR \ GHYXHOYH HO Q~PHURGHFXEHWDGRQGHVHDOPDFHQDUiGLFKRUHJLVWUR (QHOGHVFULSWRUGHOILFKHURVHPDQWLHQHXQDWDEODTXHHVWDEOHFHODFRUUHVSRQGHQFLDHQWUHFDGD Q~PHURGHFXEHWD\ODGLUHFFLyQGHGLVFRHQODTXHpVWDFRPLHQ]D9pDVHILJXUD (OXVRGHFXEHWDVGHFUHPHQWDHOQ~PHURGHFROLVLRQHVSXHVORVUHJLVWURVVLQyQLPRVTXHTXHSDQ HQODFXEHWDVHGLVSHUVDQVLQSUREOHPDVGHQWURGHpVWDVHDOPDFHQDQVHFXHQFLDOPHQWH (O SUREOHPD VXUJH FXDQGR OD FXEHWD HVWi FRPSOHWD \ XQ QXHYR UHJLVWUR GHEH DOPDFHQDUVH HQ HVD FXEHWD /D VROXFLyQ VHUtD TXH FDGD FXEHWD FRQWHQJD XQ SXQWHUR DO SULPHU UHJLVWUR GH XQD lista de registros de desbordeDOPDFHQDGRVHQXQDcubeta de desbordeFRP~QDWRGDVODV GHPiV6LpVWDVHFRPSOHWDSXHGHHQFDGHQDUVHFRQRWUDFXEHWDGHGHVERUGH9pDVHILJXUD /DGLVSHUVLyQSRVLELOLWDHODFFHVRPiVUiSLGRSRVLEOHDFLHUWRUHJLVWURGDGRVXYDORUGHFDPSRGH GLVSHUVLyQ HV XQ DFFHVR GLUHFWR VLQ WHQHU HQ FXHQWD HO UHVWR GH UHJLVWURV /D PD\RUtD GH ODV YHFHVEDVWDXQDFFHVRDEORTXHSDUDlocalizarXQUHJLVWUR 6LQHPEDUJRHVWDWpFQLFDQRUHVXOWDPX\~WLOVLVHGHVHDleer en ordenORVUHJLVWURVSXHVOD PD\RUSDUWHGHODVIXQFLRQHVGHGLVSHUVLyQQRPDQWLHQHQORVUHJLVWURVRUGHQDGRVVHJ~QHOYDORU GHOFDPSRGHGLVSHUVLyQDXQTXHDOJXQDVVtORKDFHQFRPRODfunción identidad, SHM 3RU RWUD SDUWH WDPELpQ WLHQH HO LQFRQYHQLHQWH GH DVLJQDU XQD FDQWLGDG ILMD GH HVSDFLR D FDGD ILFKHUR9HDPRVVLVHGLVSRQHGHM FXEHWDV FDGD XQD FRQ FDSDFLGDG SDUDm UHJLVWURV FRPR Pi[LPR $ OR PiV FDEHQ m*M registros HQ HO HVSDFLR DVLJQDGR 6L HO Q~PHUR UHDO GH UHJLVWURV GHO ILFKHUR HV PXFKR PHQRU TXH m*M, VH GHVDSURYHFKDUi PXFKR HVSDFLR 6L HO Q~PHUR GH UHJLVWURV HV PX\ VXSHULRU D m*M HO Q~PHUR GH FROLVLRQHV VHUi PX\ HOHYDGR GH IRUPD TXH OD REWHQFLyQ GH UHJLVWURV VHUi PX\ OHQWD GHELGR D ODV ODUJDV OLVWDV GH UHJLVWURV GH GHVERUGH /DbúsquedaGHXQUHJLVWURFRQEDVHHQHOYDORUGHXQFDPSRTXHQRVHDHOGHGLVSHUVLyQHV WDQFRVWRVDFRPRHQXQILFKHURQRRUGHQDGRSXHVGHEHUHDOL]DUVHXQDE~VTXHGDVHFXHQFLDO /D eliminación GH XQ UHJLVWUR LPSOLFD VDFDUOR GH OD FXEHWD HQ OD TXH VH HQFXHQWUD 3RGUtD SDVDUVHXQRGHORVUHJLVWURVVLQyQLPRVGHVGHODOLVWDGHGHVERUGHDODFXEHWDSDUDDSURYHFKDU HVH HVSDFLR 6L HO UHJLVWUR TXH VH GHVHD HOLPLQDUD \D HVWXYLHUD HQ XQD OLVWD GHVERUGH EDVWDUtD FRQVDFDUORGHGLFKDOLVWD 9HPRVTXHHVQHFHVDULRVHJXLUODSLVWDGHODVSRVLFLRQHVYDFtDVGHOiUHDGHGHVERUGHPHGLDQWH XQDOLVWDHQOD]DGDGHSRVLFLRQHVGHGHVERUGHGHVRFXSDGDV (Q OD modificación GH XQ YDORU GHQWUR GH XQ UHJLVWUR VL OD FRQGLFLyQ GH E~VTXHGD HV XQD FRPSDUDFLyQ GH LJXDOGDG VREUH HO FDPSR GH GLVSHUVLyQ OD ORFDOL]DFLyQ GHO UHJLVWUR HV PX\ HILFLHQWHDSOLFDQGRODIXQFLyQhHQFDVRFRQWUDULRHVQHFHVDULRUHDOL]DUXQDE~VTXHGDOLQHDOGHO UHJLVWUR$GHPiVVLGHEHPRGLILFDUVHXQ FDPSRQRGHGLVSHUVLyQVHDFWXDOL]D HOUHJLVWUR\VH UHHVFULEHHQODPLVPDFXEHWDGRQGHHVWDEDHQFDPELRVLHOFDPSRFX\RYDORUGHEHFDPELDUVt TXH HV HO FDPSR GH GLVSHUVLyQ OD PRGLILFDFLyQ SXHGH LPSOLFDU TXH HO UHJLVWUR ³VDOWH´ D RWUD FXEHWDORFXDOSURYRFDODHOLPLQDFLyQGHOUHJLVWURDQWLJXR\ODLQVHUFLyQGHOQXHYR ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR 25*$1,=$&,Ï16(&81'$5,$),&+(526'(Ë1',&(6 /RV tQGLFHV VRQ HVWUXFWXUDV GH DFFHVR DGLFLRQDOHV GH DKt OD GHQRPLQDFLyQ GH RUJDQL]DFLyQ secundaria SXHVWR TXH XQ FDGD tQGLFH HV XWLOL]DGR MXQWR FRQ XQ ILFKHUR GH GDWRV fichero principalFX\RVUHJLVWURVHVWiQRUJDQL]DGRVVLJXLHQGRDOJ~QWLSRGHRUJDQL]DFLyQSULPDULD (O tQGLFH DJLOL]D OD REWHQFLyQ GH UHJLVWURV GHO ILFKHUR SULQFLSDO HQ UHVSXHVWD D FLHUWDV FRQGLFLRQHVGHE~VTXHGDRGHVHOHFFLyQ 7LSRVGHtQGLFHV ËQGLFHVRUGHQDGRVGHXQQLYHO D 3ULPDULRV E 6HFXQGDULRV F 'H$JUXSDPLHQWR ËQGLFHVPXOWLQLYHO D ÈUEROHV% E ÈUEROHV% Ë1',&(25'(1$'2'(8162/21,9(/ (VXQDHVWUXFWXUDGHGDWRVGHILQLGDFRQEDVHHQORVYDORUHVGHXQFDPSRGHOILFKHURSULQFLSDO OODPDGRJHQpULFDPHQWHcampo de indexaciónRLQGL]DFLyQ (O ILFKHUR GH tQGLFH FRQWLHQH XQ FRQMXQWR GH UHJLVWURV OODPDGRV entradas &DGD HQWUDGD FRQWLHQHXQFDPSR SDUD FRQWHQHU ORV YDORUHV GHO FDPSR GH LQGH[DFLyQ MXQWR FRQ XQD OLVWD GH SXQWHURVFDGDXQRGHORVFXDOHVDSXQWDDXQRGHORVEORTXHVTXHFRQWLHQHQDOJ~QUHJLVWURFRQ GLFKR YDORU HQ WDO FDPSR GHQWUR GHO ILFKHUR SULQFLSDO GH IRUPD DQiORJD D FRPR FDGD OtQHD HQWUDGD GHO tQGLFH GH XQ OLEUR ILFKHUR FRQWLHQH FDGD SDODEUD LPSRUWDQWH R WySLFR YDORU GH LQGH[DFLyQ MXQWR FRQ ORV Q~PHURV SXQWHURV GH WRGDV ODV SiJLQDV EORTXHV HQ ODV TXH DSDUHFHWDOWySLFR /DVHQWUDGDV GHO tQGLFH HVWiQ RUGHQDGDV VHJ~Q HO YDORU GHO FDPSR GH LQGH[DFLyQ DVt TXH HV SRVLEOHUHDOL]DUE~VTXHGDVELQDULDVHQHOtQGLFHGHIRUPDHILFLHQWHSXHVWRTXHHOtQGLFHVXHOHVHU GH SRFR WDPDxR 6L HO tQGLFH FRQWLHQH EL EORTXHV OD E~VTXHGD ELQDULD QHFHVLWD DFFHGHU D XQD PHGLDGHORJELEORTXHV 8QtQGLFHHVGHQVRVLFRQWLHQHXQDHQWUDGDSRUFDGDUHJLVWURGHOILFKHURGHGDWRV(QRWURFDVR HO tQGLFH HV QR GHQVR SRU HMHPSOR FXDQGR FRQWLHQH XQD HQWUDGD SRU FDGD EORTXH GHO ILFKHUR SULQFLSDO ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR $Ë1',&(635,0$5,26 6RQtQGLFHVQRGHQVRV\VHFRQVWUX\HQVREUHILFKHURVGHGDWRVFRQUHJLVWURVRUGHQDGRVVHJ~Q ORVYDORUHVGHXQFDPSRTXHHVFODYHVXHOHVHUODFODYHSULPDULD (Ocampo de indexaciónHVHOFDPSRFODYHGHRUGHQDPLHQWRGHOILFKHURGHGDWRV (OtQGLFHHVXQILFKHURFRQUHJLVWURVHQWUDGDVGHGRVFDPSRV\ORQJLWXGILMD /RVFDPSRVVRQ - 8QR(K)GHLJXDOWLSRGHGDWRVTXHODclave de ordenamientoGHOILFKHURGHGDWRV - (ORWUR(P)XQpuntero a bloqueGHGLVFR 8QD HQWUDGD FRQWLHQH ORV YDORUHV <K(i), P(i)>, GRQGH K(i) HV HO YDORU GH OD FODYH GHO SULPHU UHJLVWURGHOEORTXHi OODPDGRUHJLVWURancla del bloque\ P(i)HVODGLUHFFLyQGHFRPLHQ]R GHObloque i (OQ~PHURWRWDOGHHQWUDGDVHQHOtQGLFHHVHOQ~PHURGHEORTXHVGHOILFKHURGHGDWRVRUGHQDGR HQGLVFR (OILFKHURGHtQGLFHHVWiRUGHQDGRVHJ~QORVYDORUHVK(i). 9pDVHILJXUD (OQ~PHURGHEORTXHVGHOILFKHURtQGLFHHVPXFKRPHQRUTXHHOQ~PHURGHEORTXHVGHOILFKHUR GHGDWRVSXHVWRTXH - (OQ~PHURGHHQWUDGDVGHOtQGLFHHVPX\LQIHULRUDOGHUHJLVWURVGHOILFKHURGHGDWRV WLHQHXQDHQWUDGDSRUFDGDEORTXH - (OWDPDxRGHFDGDHQWUDGDHVPXFKRPHQRUTXHHOWDPDxRGHXQUHJLVWURGHGDWRV SXHVVyORWLHQHGRVFDPSRV $VtTXHHQXQEORTXHGHGLVFRFDEHQPiVHQWUDGDVGHtQGLFHTXHUHJLVWURVGHGDWRV 3RUWDQWRODE~VTXHGDELQDULDHQHOtQGLFHQHFHVLWDPXFKRVPHQRVDFFHVRVDEORTXHVTXHVLVH UHDOL]DUDGLUHFWDPHQWHODE~VTXHGDHQHOILFKHURGHGDWRV /DbúsquedaGHXQUHJLVWURFX\DFODYHWLHQHHOYDORUkLPSOLFDa)UHDOL]DUXQDE~VTXHGDELQDULD HQHOtQGLFHKDVWDHQFRQWUDUXQDHQWUDGDiWDOTXHK(i)≤ k <K(i+1)HQWRQFHVHOUHJLVWUREXVFDGR HVWi HQ HO EORTXH FRQ GLUHFFLyQ P(i) \ b) XQD YH] TXH HO EORTXH FRQ GLUHFFLyQ P(i) \D VH KD FRSLDGRHQHOEXIIHUOHHUORGHIRUPDVHFXHQFLDOKDVWDHQFRQWUDUHOUHJLVWUR /D inserción HQ OD SRVLFLyQ FRUUHFWD GH XQ QXHYR UHJLVWUR HQ HO ILFKHUR GH GDWRV LPSOLFD DGHPiVGHORTXH\DYLPRVSDUDODLQVHUFLyQHQXQILFKHURFRQUHJLVWURVRUGHQDGRVYHUVHFFLyQ ODPRGLILFDFLyQGHODVHQWUDGDVGHOtQGLFHHQHOFDVRGHTXHODLQVHUFLyQKD\DDOWHUDGRORV UHJLVWURVDQFODGHDOJXQRVEORTXHV (OborradoGHUHJLVWURVWDPELpQSXHGHVXSRQHUODPRGLILFDFLyQGHOILFKHURGHtQGLFHVLVHKD HOLPLQDGRDOJ~QUHJLVWURDQFODGHEORTXH 10 11 Si K(i) contiene el valor de la clave del último registro del bloque i se mejora el tiempo de acceso. Esto es posible gracias al ordenamiento (físico o lógico) del fichero de datos según el valor de la clave. ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR %Ë1',&(6'($*583$0,(172 7DPELpQVRQtQGLFHVQRGHQVRV\VHFRQVWUX\HQVREUHILFKHURVGHGDWRVFRQUHJLVWURVRUGHQDGRV VHJ~QORVYDORUHVGHXQFDPSRTXH12HVFODYH (O campo de indexación HV HO FDPSR GH RUGHQDPLHQWR GHO ILFKHUR \ HV SRVLEOH TXH H[LVWDQ YDULRVUHJLVWURVGHGDWRVFRQHOPLVPRYDORUSDUDWDOFDPSRTXHVHGHQRPLQDDKRUD campo de agrupamiento (VWHWLSRGHtQGLFHDFHOHUDODREWHQFLyQGHWRGRVORVUHJLVWURVTXHWLHQHQHOPLVPRYDORUHQHO FDPSRGHLQGH[DFLyQRDJUXSDPLHQWR (OtQGLFHHVXQILFKHURFRQHQWUDGDVGHGRVFDPSRV\ORQJLWXGILMD - 8QRK,GHLJXDOWLSRGHGDWRVTXHHOcampo de agrupamientoGHOILFKHURGHGDWRV - (ORWURP, XQpuntero a bloqueGHGLVFR 8QD HQWUDGD FRQWLHQH ORV YDORUHV <K(i), P(i)>, GRQGH K(i) HV XQ YDORU GLVWLQWR GHO FDPSR GH DJUXSDPLHQWR \ P(i) HV XQ SXQWHUR DO SULPHU EORTXH GHO ILFKHUR GH GDWRV TXH FRQWLHQH XQ UHJLVWURFRQHVHYDORUK(i)HQ HOFDPSRGHDJUXSDPLHQWRORVUHJLVWURVGH GDWRV FRQ HO PLVPR YDORU K(i) HVWiQ WUDV pO HQ HO ILFKHUR SULQFLSDO SXHV pVWH HVWi RUGHQDGR SRU HVH FDPSR QR FODYH (OtQGLFHFRQWLHQHXQDHQWUDGDiSRUFDGDYDORUGLVWLQWRGHOFDPSRGHDJUXSDPLHQWRGHOILFKHUR GHGDWRV (OILFKHURGHtQGLFHHVWiRUGHQDGRVHJ~QORVYDORUHVK(i) 9pDVHILJXUD /Dinserción\eliminaciónGHXQUHJLVWURVRQRSHUDFLRQHVFRVWRVDVGHELGRDODRUGHQDFLyQ ItVLFDGHORVUHJLVWURVGHGDWRV (VWR SXHGH DOLYLDUVH UHVHUYDQGR XQ bloque completo SDUD FDGD valor distinto GHO FDPSR GH DJUXSDPLHQWR GH IRUPD TXH ORV UHJLVWURV FRQ GLFKR YDORU VH FRORFDQ HQ HVH EORTXH \ VL VH QHFHVLWDPiVHVSDFLRVHHQOD]DXQQXHYREORTXHYDFtRFRQHOTXHVHKDFRPSOHWDGR 9pDVHILJXUD ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR &Ë1',&(66(&81'$5,26 (QHVWHFDVRHOcampo de indexaciónHVXQFDPSRGHORVUHJLVWURVGHXQILFKHURGHGDWRV TXHQRHVGHRUGHQDPLHQWR &DGDHQWUDGDGHOtQGLFHFRQWLHQHGRVFDPSRV - 8QR, KGHLJXDOWLSRGHGDWRVTXHHOcampo de indexación - (ORWURPXQpunteroa bloque RELHQ a registroGHOILFKHURHQGLVFR 3XHGHQ H[LVWLU PXFKRV tQGLFHV VHFXQGDULRV PXFKRV FDPSRV GH LQGH[DFLyQ SDUD XQ PLVPR ILFKHURGHGDWRV Ë1',&(6(&81'$5,262%5(81&$032&/$9('(/),&+(5235,1&,3$/ 5HFRUGHPRV TXH HO FDPSR QR HV GH RUGHQDPLHQWR \ SXHVWR TXH HV FODYH DKRUD VH OH OODPD clave secundaria (VXQtQGLFHGHQVRSXHVFRQWLHQHXQDHQWUDGDLSRUFDGDUHJLVWURGHOILFKHURGHGDWRV &DGDHQWUDGDHVXQUHJLVWURGHORQJLWXGILMD\GRVFDPSRV<K(i), P(i)>,GRQGHK(i)HVHOYDORUGH ODFODYHVHFXQGDULDGHXQUHJLVWUR\P(i)HVXQDSXQWDGRUELHQDHVHUHJLVWURRELHQDOEORTXH GRQGH HVWi GLFKR UHJLVWUR HQ FX\R FDVR XQD YH] FRSLDGR HO EORTXH HQ HO EXIIHU GH PHPRULD SDUD DFFHGHU DO UHJLVWUR VHUi QHFHVDULR EXVFDUOR VHFXHQFLDOPHQWH GHQWUR GHO EORTXH KDVWD GDU FRQpO /DV HQWUDGDV HVWiQ RUGHQDGDV VHJ~Q HO YDORU GH K(i), GH IRUPD TXH HV SRVLEOH UHDOL]DU E~VTXHGDVELQDULDVHQHOtQGLFH 9pDVHILJXUD /RV UHJLVWURV HQ HO ILFKHUR GH GDWRV QR HVWiQ RUGHQDGRV VHJ~Q ORV YDORUHV GH OD FODYH VHFXQGDULDDVtTXHQRHVSRVLEOHXWLOL]DUDQFODVGHEORTXHSRUHVWRVHQHFHVLWDXQDHQWUDGDGH tQGLFHSRUFDGDUHJLVWUR\QRSRUFDGDEORTXHHOtQGLFHHVGHQVR &XDQGRVHFRQVWUX\HXQtQGLFHVHFXQGDULRVREUHXQILFKHURGHGDWRVVHJ~QORVYDORUHVGHXQR GH VXV FDPSRV VH PHMRUD PXFKR OD E~VTXHGD GH XQ UHJLVWUR DUELWUDULR GDGR VX YDORU SDUD GLFKRFDPSRSXHVWRTXHVLHOtQGLFHQRH[LVWLHUDGHEHUtDUHDOL]DUVHXQDE~VTXHGDOLQHDO 3RURWUDSDUWHXQtQGLFHVHFXQGDULRQHFHVLWDPiVHVSDFLRTXHXQtQGLFHSULPDULR\VXWLHPSRGH E~VTXHGDHVVXSHULRUSXHVFRQWLHQHPiVHQWUDGDV ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR Ë1',&(6(&81'$5,262%5(81&$03212&/$9('(/),&+(5235,1&,3$/ 5HFRUGHPRV TXH HO FDPSR QR HV GH RUGHQDPLHQWR \ SXHVWR TXH QR HV FODYH HV SRVLEOH TXH YDULRVUHJLVWURVGHGDWRVFRQWHQJDQHOPLVPRYDORUHQHOFDPSRGHLQGH[DFLyQ $ODKRUDGHFRQVWUXLUtQGLFHVGHHVWHWLSRH[LVWHQYDULDVRSFLRQHVHVWDVVRQDOJXQDV D ,QFOXLU YDULDV HQWUDGDV GH tQGLFH FRQ HO PLVPR YDORU GH K(i) (V GHFLU FDGD HQWUDGD VHUiXQUHJLVWURGHORQJLWXGILMDTXHFRQWHQGUiORVYDORUHV<K(i), P(i)>GRQGHP(i)HV XQSXQWHURDXQRGHORVUHJLVWURVFRQGLFKRYDORUK(i) HQHOFDPSRGHLQGH[DFLyQ. (QHVWHFDVRHOtQGLFHHVGHQVR E ,QFOXLUXQD~QLFDHQWUDGDGHtQGLFHSRUFDGDYDORUGLVWLQWRGHOFDPSRGHLQGH[DFLyQ\ SHUPLWLU TXH ODV HQWUDGDV GHO tQGLFH WHQJDQ ORQJLWXG YDULDEOH GH IRUPD TXH FDGD HQWUDGD GH tQGLFH SXHGD FRQWHQHU YDULRV SXQWHURV <K(i), [P(i1), P(i2)..P(in)]>, GRQGH FDGD P(ij) DSXQWD DO EORTXH GRQGH HVWp XQR GH ORV n UHJLVWURV FRQ YDORU K(i) HQ HO FDPSRGHLQGH[DFLyQ (Q ORV FDVRV D \ E VHUi QHFHVDULR PRGLILFDU HO DOJRULWPR GH E~VTXHGD ELQDULD HQ HO tQGLFH F ,QFOXLU XQD ~QLFD HQWUDGD SRU FDGD YDORU GLVWLQWR GHO FDPSR GH LQGH[DFLyQ SHUR ODV HQWUDGDV VRQ GH ORQJLWXG ILMD $KRUD VH XWLOL]D XQ nivel adicional de indirección SDUDPDQHMDU³SXQWHURVP~OWLSOHV´ (VGHFLUFDGDHQWUDGDFRQWHQGUiORVYDORUHV<K(i), P(i)>GRQGHP(i)HVXQSXQWHURD XQEORTXHGHDSXQWDGRUHVDUHJLVWURVFDGD XQR GH ORV FXDOHV DSXQWD D XQ UHJLVWUR GHO ILFKHUR GH GDWRV FRQ YDORU K(i) HQ HO FDPSR GH LQGH[DFLyQ 6L KD\ PXFKRV UHJLVWURV FRQ YDORUK(i) \ VH DJRWD HO HVSDFLR HQ HO EORTXH GH DSXQWDGRUHV pVWH VH HQOD]DFRQXQQXHYREORTXHGHDSXQWDGRUHV $KRUD OD REWHQFLyQ GH GDWRV QHFHVLWD XQ DFFHVR D EORTXH DGLFLRQDO SXHV KD\ XQ QLYHOH[WUDSHURORVDOJRULWPRVGHLQVHUFLyQE~VTXHGD\HOLPLQDFLyQVRQVHQFLOORV 9pDVHILJXUD 8QD DOWHUQDWLYD DO XVR GHO QLYHO DGLFLRQDO VHUtD TXH P(i) DSXQWDUD D XQ UHJLVWUR GH GDWRVFRQYDORUK(i),HOFXDOHVWXYLHUDOLJDGRDOUHVWRGHUHJLVWURVFRQHOPLVPRYDORU SDUDODFODYHVHFXQGDULDPHGLDQWHXQDOLVWDHQOD]DGDHQHOILFKHURGHGDWRV /RV tQGLFHV VHFXQGDULRV HQ JHQHUDO UHSUHVHQWDQ XQ ordenamiento lógico GH ORV UHJLVWURV VHJ~QORVYDORUHVGHOFDPSRGHLQGH[DFLyQ 12 Debido a que el campo apuntador es multivaluado. ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR Ë1',&('(0Ò/7,3/(61,9(/(6 3DUDFRQVWUXLUXQtQGLFHGHHVWHWLSRVHSDUWHGHODH[LVWHQFLDGHXQtQGLFH\DFUHDGRVREUHHO ILFKHURGHGDWRVHQGLVFRSULQFLSDO &RQVLGHUDHVWHtQGLFHTXHDKRUDOODPDUHPRVtQGLFHGHSULPHUQLYHORGHQLYHOEDVHFRPRXQ ILFKHURRUGHQDGRFRQXQYDORUGLVWLQWRSDUDFDGDK(i),GHPRGRTXHHVSRVLEOHFUHDURWURtQGLFH SULPDULRVREUHGLFKRILFKHUR\pVWHVHUiHOtQGLFHGHVHJXQGRQLYHO 3DUDFUHDUORSRGHPRV XWLOL]DU anclas de bloqueSRUORTXHHOtQGLFH GHVHJXQGRQLYHOWHQGUi XQDHQWUDGDSRUFDGDEORTXHGHOtQGLFHGHSULPHUQLYHOVHUiQRGHQVR 'HODPLVPDPDQHUDHOWHUFHUQLYHOHVXQtQGLFHSULPDULRVREUHHOGHVHJXQGRQLYHO\WHQGUiXQD HQWUDGDSRUFDGDEORTXHGHOtQGLFHGHQLYHO9pDVHILJXUD 6yORHVQHFHVDULRFUHDUHOtQGLFHGHXQQLYHOPiV, t+1VLHOtQGLFHDQWHULRUGHQLYHOtQHFHVLWD PiVGHXQEORTXHGHDOPDFHQDPLHQWRHQGLVFR $VtSXHGHUHSHWLUVHHVWHSURFHVRKDVWDTXHWRGDVODVHQWUDGDVGHXQQLYHOtGHOtQGLFHTXHSDQ HQXQ~QLFREORTXH(QHVHPRPHQWRVHKDEUiFRPSOHWDGRHOtQGLFH\HOtQGLFHGHQLYHOtVHUi HOGHQLYHOVXSHULRU (VWH HVTXHPD GH P~OWLSOHV QLYHOHV HV ~WLO SDUD FXDOTXLHU WLSR GH tQGLFH SULPDULR GH DJUXSDPLHQWRRVHFXQGDULRVLHPSUHTXHHOtQGLFHGHSULPHUQLYHO WHQJDYDORUHVGLVWLQWRV SDUD K(i)\HQWUDGDVGHORQJLWXGILMD (VWHWLSRGHRUJDQL]DFLyQUHGXFHHOQ~PHURGHEORTXHVOHtGRVDOEXVFDUXQUHJLVWURGDGRVXYDORU GHO FDPSR GH LQGH[DFLyQ (O SURFHGLPLHQWR GH E~VTXHGD VREUH XQ tQGLFH GH YDULRV QLYHOHV GHVHFKDHQFDGDSDVRPiVUHJLVWURVTXHODE~VTXHGDELQDULDHQXQtQGLFHGHXQVRORQLYHO 2EVHUYDUTXHHQHOFDVRGHTXHHOtQGLFHGHP~OWLSOHVQLYHOHVIXHUDGHQVRHVGHFLUHOtQGLFHGH QLYHO EDVH HV GHQVR HV SRVLEOH GHWHUPLQDU VL XQ UHJLVWUR HVWi R QR HQ HO ILFKHUR SULQFLSDO VLQ QHFHVLGDGGHDFFHGHUDGLFKRILFKHUR¢FyPR"PLHQWUDVTXHVLHOtQGLFHGHP~OWLSOHVQLYHOHVQR HV GHQVR Vt VHUi QHFHVDULR DFFHGHU DO ILFKHUR SULQFLSDO SDUD SRGHU GHWHUPLQDU VL FRQWLHQH HO UHJLVWUR 3XHVWR TXH WRGRV ORV QLYHOHV GHO tQGLFH VRQ ILFKHURV RUGHQDGRV ItVLFDPHQWH VXUJHQ ORV FRQVDELGRV SUREOHPDV GH LQHILFLHQFLD DO UHDOL]DU RSHUDFLRQHV GH LQVHUFLyQ HOLPLQDFLyQ R PRGLILFDFLyQGHUHJLVWURVGHGDWRVTXHLPSOLTXHQLQVHUFLyQRHOLPLQDFLyQGHHQWUDGDVGHOtQGLFH (VWRVSUREOHPDVVHUHGXFHQGHMDQGRHVSDFLRHQWRGRVORVEORTXHVGHORVILFKHURVGHtQGLFHSDUD QXHYDV HQWUDGDV $Vt VXUJHQ ORV índices dinámicos de múltiples niveles TXH VXHOHQ VHU LPSOHPHQWDGRV FRQ HVWUXFWXUDV GH GDWRV OODPDGDV árboles B \ árboles B+, TXH SHUPLWHQ DO tQGLFHH[SDQGLUVH\FRQWUDHUVHGLQiPLFDPHQWH ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR Ë1',&(6',1È0,&26'(0Ò/7,3/(61,9(/(6&21%$6((1È5%2/(6%<% $QWHVGHQDGDUHFRUGHPRVDOJXQRVFRQFHSWRV 8QiUEROHVWiFRPSXHVWRSRUXQFRQMXQWRGHQRGRV &DGDQRGRVDOYRHOQRGRUDt]WLHQHXQQRGRSDGUH\QLQJXQRRYDULRVQRGRVKLMRV/RVQRGRV FRQKLMRVVHOODPDQQRGRVLQWHUQRVPLHQWUDVTXHORVTXHQRWLHQHQKLMRVVRQQRGRVKRMD (OQLYHOGHSURIXQGLGDGGHOQRGRUDt]HV\HOGHXQQRGRFXDOTXLHUDHVHOQLYHOGHOSDGUH (OVXEiUEROGHXQQRGRHVHVHQRGR\HOFRQMXQWRGHVXVdescendientesVXVKLMRVORVKLMRV GHVXVKLMRV\DVtVXFHVLYDPHQWHKDVWDOOHJDUDQRGRVKRMD 8QiUEROHVWiHTXLOLEUDGRVLWRGRVVXVQRGRVKRMDHVWiQHQHOPLVPRQLYHOGHSURIXQGLGDG (OTXHXQiUEROHVWpHTXLOLEUDGRHVXQDVLWXDFLyQGHVHDEOHSXHVJDUDQWL]DTXHQRH[LVWHQQRGRV HQQLYHOHVPX\DOWRVTXHHQXQDE~VTXHGDQHFHVLWDUtDQPXFKRVDFFHVRVDEORTXHV ÁRBOL DE BÚSQUEDA (VXQiUEROJXtDHQODE~VTXHGDGHXQUHJLVWURGDGRHOYDORUGHXQRGHVXVFDPSRV 8QiUEROGHE~VTXHGDGHRUGHQpHVXQiUEROFX\RVQRGRVFXPSOHQ - &RQWLHQHQXQPi[LPRGHp-1YDORUHV - &RQWLHQHQFRPRPXFKRpSXQWHURVDQRGRVKLMRV <FDGDQRGRHVGHODIRUPD3.3.3T.T3T!GRQGHq≤p\ 3LHVXQSXQWHURDXQQRGRKLMRRQXOR .LHVXQYDORUGHE~VTXHGD~QLFRGHQWURGHOiUEROGHE~VTXHGD <DGHPiVFXPSOHQHVWDVGRVUHVWULFFLRQHV D (QFDGDQRGRVHFXPSOHTXH...T E 3DUDWRGRYDORU;GHQWURGHOVXEiUERODOTXHDSXQWD3LVHFXPSOH .L;.L SDUD1<i<q ;.L SDUDi=1 .L; SDUDL=q (VWDV GRV UHJODV LQGLFDQ HO SURFHGLPLHQWR GH XQD E~VTXHGD GH XQ UHJLVWUR FRQ YDORU X HQ VX FDPSRGHLQGH[DFLyQVHJXLUVLHPSUHHOSXQWHUR3LTXHODVFXPSOD 3DUDXVDUORViUEROHVGHE~VTXHGDFRQHOREMHWLYRGHORFDOL]DUUHJLVWURVDOPDFHQDGRVHQILFKHURV HQGLVFR • /RVYDORUHVHQORVQRGRVVHUiQORVGHXQRGHORVFDPSRVGHOILFKHURSULQFLSDOHOOODPDGR FDPSRGHE~VTXHGDLJXDODOFDPSRGHLQGH[DFLyQVLHVXQtQGLFHGHP~OWLSOHVQLYHOHVHO TXHJXtDODE~VTXHGD&DGDYDORUHVWDUiDVRFLDGRDXQSXQWHURDUHJLVWURRDEORTXH • &DGD SXQWHUR VHUi XQ DSXQWDGRU DO UHJLVWUR GHO ILFKHUR HQ GLVFR TXH FRQWLHQH HO YDORU FRUUHVSRQGLHQWH R ELHQ DO EORTXH HQ HO TXH HVWi GLFKR UHJLVWUR R ELHQ D XQ EORTXH GH SXQWHURVFDGDXQRGHORVFXDOHVDSXQWDUiDXQRGHORVUHJLVWURVFRQLJXDOYDORUHQHOFDPSRGHE~VTXHGD • (OiUEROGHE~VTXHGDVHDOPDFHQDUiWDPELpQHQGLVFR\VHDVLJQDFDGDQRGRGHOiUEROD XQEORTXHGHOGLVFR 13 Aunque no tiene por qué ser único dentro del fichero de datos ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR /D inserción GH XQ UHJLVWUR GH GDWRV LPSOLFD DFWXDOL]DU HO iUERO GH E~VTXHGD DxDGLHQGR HO YDORUGHOFDPSRGHOQXHYRUHJLVWUR\XQSXQWHURDpVWH6RQQHFHVDULRVDOJRULWPRVGHLQVHUFLyQ \ HOLPLQDFLyQ GH YDORUHV HQ HO iUERO TXH QR YLROHQ ODV GRV UHVWULFFLRQHV DQWHULRUHV (VWRV DOJRULWPRVHQJHQHUDOQRJDUDQWL]DQTXHHOiUEROHVWpHTXLOLEUDGR /D eliminación GH XQ UHJLVWUR GH GDWRV SXHGH GHMDU DOJXQRV QRGRV GHO iUERO EORTXHV GH GLVFRFDVLYDFtRVFRQORTXHVHGHVSHUGLFLDUiHVSDFLR\VHDXPHQWDUiHOQ~PHURGHQLYHOHVHQ HOiUERO È5%2/%%$/$1&($'2 (VXQiUEROGHE~VTXHGDDOTXHVHOHDxDGHQPiVUHVWULFFLRQHVGHPRGRTXHUHVXHOYHQORVGRV LQFRQYHQLHQWHVTXHDFDEDPRVGHFLWDU(VWDVUHVWULFFLRQHVDVHJXUDQTXHHVWHWLSRGHiUEROHVHQ WRGR PRPHQWR HVWp HTXLOLEUDGR \ TXH HO HVSDFLR GHVSHUGLFLDGR SRU HOLPLQDFLRQHV QXQFD HV GHPDVLDGRSHURDOPLVPRWLHPSRHVWRLPSOLFDTXHORVDOJRULWPRVGHLQVHUFLyQ\HOLPLQDFLyQGH YDORUHVHQHOiUEROVHDQPiVFRPSOHMRV I. Árbol B de orden p, utilizado como estructura de acceso según un campo clave para buscar registros de un fichero de datos 'HILQLFLyQ &DGDQRGRLQWHUQRHVGHODIRUPD 3.3U!3.3U!3T.T3UT!3T!GRQGHq≤p\ 3LHVXQpuntero de árbolDRWURQRGREORTXHGHGLVFRHQILFKHURGHtQGLFH RQXOR .LHVXQYDORUGHE~VTXHGD 3ULHVXQSXQWHURGHGDWRVDOEORTXHGRQGHHVWiHOUHJLVWURGHGDWRVRDOSURSLRUHJLVWUR EORTXHGHVSOD]DPLHQWRFX\RYDORUGHOFDPSRFODYHGHE~VTXHGDHV. L (QFDGDQRGRVHFXPSOHTXH...T 3DUD WRGR YDORU X GHO FDPSR FODYH GH E~VTXHGD HQ HO VXEiUERO DO TXH DSXQWD 3L VH FXPSOH .LX.L SDUD1<i<q SDUDi=1 X.L .LX SDUDi=q &DGDQRGRFRQWLHQHFRPRPXFKRpDSXQWDGRUHVGHiUERO &DGDQRGRVDOYRODUDt]\ODVKRMDVWLHQHXQPtQLPRGHp/2SXQWHURVGHiUERO /DUDt]WLHQHXQPtQLPRGHdosVDOYRVLHVHO~QLFRQRGRGHOiUERO 8QQRGRFRQqSXQWHURVGHiUEROq≤pWLHQHq-1YDORUHVGHOFDPSRFODYHGHE~VTXHGD\ q-1SXQWHURVGHGDWRV 7RGRVORVQRGRVKRMDVXVSXQWHURVGHiUEROVRQWRGRVQXORVHVWiQHQHOPLVPRQLYHOGH SURIXQGLGDG ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR II. Árbol B de orden p, utilizado como estructura de acceso según un campo NO clave para buscar registros de un fichero de datos (QHVWHFDVRORVSXQWHURV3ULDSXQWDQDXQEORTXHROLVWDHQOD]DGDGHEORTXHVGHSXQWHURVD ORVUHJLVWURVFRQHOPLVPRYDORUHQVXFDPSRGHE~VTXHGD Inserción en un árbol B. • 7RGRiUERO%FRPLHQ]DFRQXQ~QLFRQRGRUDt]\KRMDHQHOQLYHO • 8QD YH] FRPSOHWDGR FRQ p-1 YDORUHV LQVHUWDU XQD QXHYD HQWUDGD LPSOLFD OD SDUWLFLyQGHOQRGRUDt]HQGRVQRGRVGHQLYHOGHIRUPDTXH - (OQRGRUDt]TXHGDFRQHOYDORUGHOPHGLRm\GRVSXQWHURVDVXVKLMRV - /RVYDORUHVPHQRUHVTXHmSDVDQDOQRGRGHODL]TXLHUGD - /RVYDORUHVVXSHULRUHVDmTXHGDQHQHOQRGRKLMRGHODGHUHFKD • 6LVHFRPSOHWDXQQRGRQRUDt]\VHGHEHLQVHUWDUXQDQXHYDHQWUDGDHQGLFKRQRGR pVWHVHGLYLGHHQGRVQRGRVGHVXPLVPRQLYHO - (OYDORUGHOPHGLRmSDVDDOQRGRSDGUHDVtFRPRORVSXQWHURVDVXVKLMRV - /RVYDORUHVPHQRUHVTXHmSDVDQDOQRGRGHODL]TXLHUGD - /RVYDORUHVVXSHULRUHVDmTXHGDQHQHOQRGRKLMRGHODGHUHFKD 6L HO SDGUH WDPELpQ HVWi FRPSOHWR VH GLYLGLUi D VX YH] HQ GRV SURSDJiQGRVH HVWR KDVWDODUDt]$OGLYLGLUVHHOQRGRUDt]VHFUHDXQQXHYRQLYHOHQHOiUERO Eliminación en un árbol B. • 6L OD HOLPLQDFLyQ GH XQ YDORU KDFH TXH XQ QRGR TXHGH RFXSDGR KDVWD PHQRV GH OD PLWDGVHFRPELQDFRQVXVQRGRVYHFLQRVHOSDGUHRFXSDODSRVLFLyQGHOKLMR\HO VLJXLHQWHQRGRYHFLQRSDVDDVHUHOQRGRSDGUH (Explicación más o menos informal) Cuando se elimina una entrada de un nodo que sólo contiene esa entrada, debe eliminarse ese nodo junto con el puntero que lo apunta desde el padre; esto conlleva que el valor que lo apuntaba ha de “saltar” de tal nodo padre: para saber “dónde” hay que colocarlo hay que pensar que ya no está ahí y que hay que insertarlo (seguir algoritmo de inserción de una nueva entrada). Cuando se elimina una entrada de un nodo con más entradas, (a) si al eliminar la entrada, no existe “insuficiencia”, pues ‘no pasa nada’, pero (b) si el nodo queda con menos entradas de la cuenta (insuficiencia), primero se echa mano de algún nodo hermano con el que fusionar el nodo actual; si no tiene hermanos, se acude al padre (el valor padre pasa a ocupar la posición del valor eliminado; si no tiene padre, se acude a los nodos hijos: el último valor del primer hijo pasa a ocupar la posición del eliminado. Cualquiera de estos cambios puede implicar reestructurar los subárboles, etc. 14 Cada nodo interno debe tener un mínimo de p/2 punteros de árbol ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR ÁRBOL B+ 9DULDFLyQGHiUERO%WDPELpQHPSOHDGRSDUDLPSOHPHQWDUtQGLFHVGLQiPLFRVGHP~OWLSOHVQLYHOHV /D SULQFLSDO GLIHUHQFLD HV TXH HQ ORV iUEROHV % WRGRV ORV YDORUHV GHO FDPSR GH E~VTXHGD DSDUHFHQHQDOJ~QQLYHOGHOiUEROMXQWRFRQVXVSXQWHURVGHGDWRVFRUUHVSRQGLHQWHVPLHQWUDV TXHHQORViUEROHV%ORVSXQWHURVGHGDWRVDSDUHFHQVyORHQORVQRGRVKRMD 1RGR+RMD - 8QDHQWUDGDSRUFDGDYDORUGHOFDPSRGHE~VTXHGDMXQWRFRQXQSXQWHURDOUHJLVWURRDVX EORTXH HQ GLVFR VL HO FDPSR GH E~VTXHGD HV FODYH R VL QR OR HV D XQ EORTXH GH DSXQWDGRUHVQLYHOGHLQGLUHFFLyQDGLFLRQDO - 7RGRV ORV QRGRV KRMD HVWiQ HQOD]DGRV HQWUH Vt SDUD SHUPLWLU HO DFFHVR RUGHQDGR D ORV UHJLVWURVVHJ~QHOFDPSRGHE~VTXHGD - (VWUXFWXUDGHXQQRGRKRMD &DGDQRGRKRMDHVGHODIRUPD .3U!.3U!.T3UT!3VLJ! GRQGHq≤p3ULHVXQSXQWHURGHGDWRV\3VLJHVXQSXQWHURDOVLJXLHQWHQRGRKRMD (QFDGDQRGRKRMDVHFXPSOHTXH...T &DGD3ULHVXQSXQWHURDGDWRVGHOILFKHURHQGLVFR ÂDOUHJLVWURFX\RYDORUGHOFDPSRGHE~VTXHGDHV.LR ÂDOEORTXHTXHFRQWLHQHHOUHJLVWURR ÂDOEORTXHGHSXQWHURVDORVUHJLVWURVFRQYDORU.LVLHOFDPSRGHE~VTXHGDQRHVFODYH &DGDQRGRWLHQHXQPtQLPRGHp/2YDORUHV 7RGRVORVQRGRVKRMDHVWiQHQHOPLVPRQLYHO 1RGR,QWHUQR - $OJXQRVYDORUHVGHOFDPSRGHE~VTXHGDGHORVQRGRVKRMDVHUHSLWHQHQORVQRGRVLQWHUQRV SDUDJXLDUODVE~VTXHGDV - (VWUXFWXUDGHXQQRGRLQWHUQR &DGDQRGRLQWHUQRHVGHODIRUPD 3.3.3T.T3T!q≤p3LXQSXQWHURGHiUERO\.LXQYDORUGHE~VTXHGD (QFDGDQRGRLQWHUQRVHFXPSOHTXH...T 3DUDWRGRYDORUGHE~VTXHGDX HQHOVXEiUERODOTXHDSXQWD3LVHFXPSOH .LX ≤.L SDUD1<i<q X ≤.L .LX SDUDi=1 SDUDi=q &DGDQRGRFRQWLHQHFRPRPXFKRpDSXQWDGRUHVGHiUERO &DGDQRGRWLHQHXQPtQLPRGHp/2SXQWHURVGHiUERO/DUDt]WLHQHXQPtQLPRGHGRV VDOYRVLHVHO~QLFRQRGRGHOiUERO 8QQRGRFRQq SXQWHURVGHiUEROq≤pWLHQHq-1YDORUHVGHOFDPSRFODYHGHE~VTXHGD - /DVHQWUDGDVGHORVQRGRVLQWHUQRVFRQWLHQHQYDORUHVGHE~VTXHGD\DSXQWDGRUHVGHiUERO SHUR QR DSXQWDGRUHV GH GDWRV SRU OR TXH FDEHQ PiV HQWUDGDV HQ XQ QRGR LQWHUQR GH XQ iUERO%TXHHQXQQRGRVLPLODUHQXQiUERO%$VtTXHVLHOWDPDxRGHEORTXHQRGRHVHO PLVPRHORUGHQpGHXQiUERO%VHUiPD\RUTXHSDUDHOiUERO%FRUUHVSRQGLHQWHHVGHFLU HOiUERO%WHQGUiPHQRVQLYHOHVFRQORTXHVHUHGXFLUiHOWLHPSRGHE~VTXHGD ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR I. Árbol B+ de orden p, utilizado como estructura de acceso según un campo clave para buscar registros de un fichero de datos /RVSXQWHURV3LHQORVQRGRVLQWHUQRVVRQapuntadores de árbolDEORTXHVQRGRVGHiUERO /RVSXQWHURV3ULHQORVQRGRVKRMDVRQapuntadores de datosDUHJLVWURVREORTXHVGHOILFKHUR GHGDWRV6DOYR3VLJTXHHVXQpuntero de árbolDOVLJXLHQWHQRGRKRMD *UDFLDVDHVWHHQFDGHQDPLHQWRGHORVQRGRVKRMDHVSRVLEOHHODFFHVRRUGHQDGRDORVUHJLVWURV GH GDWRV UHFRUULHQGR ORV QRGRV GH L]TXLHUGD D GHUHFKD PHGLDQWH ORV SXQWHURV 3VLJ 'H HVWD IRUPDHOtQGLFHSXHGHXWLOL]DUVHWDQWRSDUDSURFHVDPLHQWRVHFXHQFLDOGHUHJLVWURVFRPRSDUD HODFFHVRGLUHFWRDXQUHJLVWURLQGLYLGXDOGDGRHOYDORUGHOFDPSRGHE~VTXHGD II. Árbol B+ de orden p, utilizado como estructura de acceso según un campo NO clave (QHVWHFDVRORVSXQWHURVHQORVQRGRVKRMDV3ULVRQDSXQWDGRUHVDEORTXHVGHSXQWHURVD ORVUHJLVWURVGHOILFKHURGHGDWRV 3RU VXSXHVWR FDGD QRGR GH XQ iUERO % FRQWLHQH OD LQIRUPDFLyQ QHFHVDULD SDUD OD LPSOHPHQWDFLyQGHORVDOJRULWPRVGHLQVHUFLyQ\HOLPLQDFLyQGHYDORUHVHQHOiUEROHVGHFLU Â7LSRGHOQRGRLQWHUQRXKRMD Â1~PHURGHHQWUDGDVDFWXDOHVq Â3XQWHURDOQRGRSDGUH\DORVKHUPDQRV BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 15 También sería posible incluir en cada nodo hoja un puntero al nodo anterior (Pant) ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR $/*81$6&216,'(5$&,21(6 (QODPD\RUSDUWHGHORVVLVWHPDVFRPHUFLDOHVGH%'HOtQGLFHQRHVSDUWHGHOILFKHURVLQR TXHHVXQDHVWUXFWXUDGHDFFHVRLQGHSHQGLHQWHTXHVHFUHD\GHVWUX\HGLQiPLFDPHQWH 6L VH YD D DFFHGHU FRQ IUHFXHQFLD D XQ ILFKHUR GH GDWRV VHJ~Q FRQGLFLRQHV GH VHOHFFLyQ R E~VTXHGD FRQ EDVH HQ ORV YDORUHV GH GHWHUPLQDGR FDPSR HV FRQYHQLHQWH FUHDU XQ tQGLFH VREUHHOPLVPR1RUPDOPHQWHHOVLVWHPDFUHDUiXQtQGLFHVHFXQGDULRSXHV - (YLWDODRUGHQDFLyQItVLFDGHORVUHJLVWURVGHOILFKHURGHGDWRV - 3XHGH FUHDUVH XQ tQGLFH VHFXQGDULR FRQ FDVL FXDOTXLHU RUJDQL]DFLyQ GH UHJLVWURV GH IRUPD TXH VXSRQH XQ FRPSOHPHQWR GH RWURV PpWRGRV SULPDULRV hashing RUGHQDPLHQWR,QFOXVRSXHGHXVDUVHFRQDUFKLYRVPL[WRV 3DUDFUHDUXQtQGLFHVHFXQGDULRLPSOHPHQWDGRFRQXQiUERO%HVQHFHVDULR ([DPLQDUWRGRVORVUHJLVWURVGHOILFKHUR &UHDUODVHQWUDGDVDQLYHOGHKRMD 2UGHQDUGLFKDVHQWUDGDV\OOHQDUORVQRGRVKRMDFUHDQGRHOUHVWRGHQLYHOHVGHOiUERO (VSRVLEOHXWLOL]DUORVíndices para imponer XQD restricción de claveYDORUHV~QLFRV VREUHHOFDPSRGHLQGH[DFLyQGHODUFKLYR&DGDYH]TXHVHLQVHUWDXQQXHYRUHJLVWURHQHO ILFKHUR GHGDWRVSULPHURVH EXVFD HQ HO tQGLFH HO OXJDU GRQGH GHEH VHU LQWURGXFLGR \ DO PLVPRWLHPSRSXHGHFRPSUREDUVHVLH[LVWH\DXQUHJLVWURHQHOILFKHURFRQHVHPLVPRYDORU GHOFDPSRGHLQGH[DFLyQHQFX\RFDVRVHUHFKD]DODLQVHUFLyQ 8Q fichero totalmente invertido HV DTXHO TXH WLHQH XQ tQGLFH VHFXQGDULR FRQVWUXLGR VREUHFDGDXQRGHVXVFDPSRV&RPRWRGRVORVtQGLFHVVRQVHFXQGDULRVORVUHJLVWURVQXHYRV SXHGHQVHULQVHUWDGRVDOILQDOGHOILFKHURGHGDWRVQRHVQHFHVDULRFRQVHUYDUQLQJ~QRUGHQ ItVLFRSRUORTXHpVWHSXHGHVHUXQILFKHURQRRUGHQDGR 8QILFKHURWLHQHXQDorganización secuencialindexadaVLHOILFKHURHVWiRUGHQDGRSRU XQ FDPSR FODYH \ WLHQH XQ tQGLFH SULPDULR GH P~OWLSOHV QLYHOHV EDVDGR HQ GLFKD FODYH GH RUGHQDPLHQWR (VWR SHUPLWH HO DFFHVR D ORV UHJLVWURV GHO ILFKHUR WDQWR GH IRUPD VHFXHQFLDO FRPRGLUHFWD 16 17 Ver “especificación de índices en SQL”, en el anexo A Implementado mediante un árbol B+ ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR $1(;2$Especificación de índices en SQL estándar. 'HELGRDTXHORVtQGLFHVVRQFDPLQRVItVLFRVGHDFFHVRDORVGDWRV\QRFRQFHSWRVOyJLFRVQRVH LQFOX\HURQHQ64/ODVLQVWUXFFLRQHVSDUDFUHDU\HOLPLQDUtQGLFHV 6LQ HPEDUJR YHUVLRQHV DQWHULRUHV GH 64/ \ PXFKRV 6*%' DFWXDOHV Vt FXHQWDQ FRQ GLFKDV LQVWUXFFLRQHVGHFUHDFLyQ\HOLPLQDFLyQGHtQGLFHV (QODVSULPHUDVYHUVLRQHVGH64/ODSDUWH''/data definition languageQRLQFOX\HFOiXVXODV SDUD GHILQLU restricciones de clave QL GH integridad referencial HQ OD LQVWUXFFLyQ CREATE TABLE. (Q SDUWLFXODU QR GLVSRQtD GH ODV FOiXVXODV PRIMARY KEY R UNIQUE SRU OR TXH SDUD HVSHFLILFDU XQD restricción de clave HUD QHFHVDULR FUHDU XQ tQGLFH OODPDGR índice único GHELGRDTXHSUHFLVDPHQWHVHXWLOL]DSDUDDVHJXUDUODQRUHSHWLFLyQGHYDORUHVGHVXFDPSRGH LQGH[DFLyQ (Q OD YHUVLyQ 64/ HVWH WLSR GH UHVWULFFLyQ GH LQWHJULGDG VH LPSRQH LQFOX\HQGR OD FOiXVXOD 35,0$5<.(<R81,48(HQODGHILQLFLyQGHODWULEXWR(VWRLPSOLFDODGHILQLFLyQDXWRPiWLFDSRU SDUWHGHOVLVWHPDGHXQtQGLFH~QLFRVREUHGLFKRDWULEXWR (QODPD\RUSDUWHGHORV6%'UHODFLRQDOHVXQILFKHURFRUUHVSRQGHDXQDUHODFLyQWDEODEDVH XQtQGLFHVHFRQVWUX\HVREUHXQDUHODFLyQEDVHVHJ~QORVYDORUHVGHXQRGHORVDWULEXWRVGHOD UHODFLyQDWULEXWRGHLQGH[DFLyQ (QORV6*%'UHODFLRQDOHVORVtQGLFHVSXHGHQFUHDUVH\HOLPLQDUVHGHIRUPDGLQiPLFDVLQDIHFWDU DODUHODFLyQVREUHODTXHKDQVLGRFRQVWUXLGRV /D H[LVWHQFLD GH XQ tQGLFH VREUH XQ DWULEXWR LQFUHPHQWD OD YHORFLGDG GH ODV FRQVXOWDV HQ FX\D FRQGLFLyQGHVHOHFFLyQGHUHXQLyQVHHVSHFLILFDXQYDORUSDUDWDODWULEXWR 3RURWURODGRFDGDtQGLFHFRQVWUXLGRSDUDXQDWULEXWRGHXQDUHODFLyQKDFHTXHODVLQVHUFLRQHV ERUUDGRV\DFWXDOL]DFLRQHVGHODUHODFLyQFRQVXPDQPiVWLHPSR\VHDQPiVFRPSOHMDV 3DUDFUHDUXQtQGLFHVREUHHODWULEXWRgeneroGHODUHODFLyQPELICULAVHXWLOL]DUtDODVHQWHQFLD CREATE INDEX INDICE_GENERO_PELICULA ON PELICULA(genero); (VSRVLEOHLQGLFDUDOVLVWHPDVLVHGHVHDTXHODVHQWUDGDVGHOtQGLFHHVWpQHQRUGHQDVFHQGHQWH ASC,RSFLyQSRUGHIHFWRRGHVFHQGHQWHDESCVHJ~QORVYDORUHVGHODWULEXWRGHLQGH[DFLyQ 7DPELpQSXHGHFUHDUVHXQtQGLFHVREUHODFRPELQDFLyQGHYDULRVDWULEXWRV CREATE INDEX INDICE_NOMBRES_DIRECTOR ON DIRECTOR(apellido1 ASC, apellido2 ASC, nombre DESC); 64/RIUHFHGRVRSFLRQHVDGLFLRQDOHVDOFUHDUtQGLFHV 3DUDLPSRQHUXQDrestricción de claveVREUHHODWULEXWRGHLQGH[DFLyQPHGLDQWHXQtQGLFH HVQHFHVDULRFUHDUORLQGLFDQGRTXHHODWULEXWRGHLQGH[DFLyQKDGHFRQWHQHUYDORUHV~QLFRV XWLOL]DQGRODFOiXVXODUNIQUE CREATE UNIQUE INDEX ON DIRECTOR(nif); INDICE_NIF_DIRECTOR 6LVHLQWHQWDFUHDUHVWHtQGLFHVREUHXQDWDEODEDVHFX\DVWXSODVQRFXPSODQTXHHOYDORUGH nifVHD~QLFRHOVLVWHPDQRFUHDUiHOtQGLFH 'HHVWDIRUPDHVPiVHILFLHQWHLPSRQHUODXQLFLGDGGHORVYDORUHVGHXQDWULEXWRTXHVLQR H[LVWLHUD HO tQGLFH VREUH HO PLVPR ¢3RU TXp" ¢4Xp KDUi HO VLVWHPD VL QR H[LVWH tQGLFH SDUD FRPSUREDUODXQLFLGDGGHORVYDORUHVGHXQDWULEXWR" 18 La unicidad de un atributo es un concepto lógico, ligado a la definición de la tabla donde está el atributo, y conviene separarlo de cuestiones de almacenamiento físico. ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR 64/SHUPLWHFUHDUíndices de agrupamientoFRQODFOiXVXODCLUSTERJUXSR 'HHVWHPRGRHOVLVWHPDDOPDFHQDUiHQHOILFKHURGHGDWRVORVUHJLVWURVRUGHQDGRVVHJ~Q HOYDORUGHOFDPSRGHLQGH[DFLyQ\FRQVWUXLUiXQtQGLFHVREUHGLFKRDWULEXWR/DVVHQWHQFLDV '0/ TXH LQFOX\HQ GLFKR DWULEXWR HQ OD FRQGLFLyQ GH UHXQLyQ R GH VHOHFFLyQ VRQ PiV HILFLHQWHV 3DUD FRQVHJXLU TXH ODV WXSODV UHJLVWURV GH SHOtFXODV HVWpQ LQGH[DGRV \ DJUXSDGRV ItVLFDPHQWHHQHOILFKHURGHGDWRVSRUGLUHFWRUFUHDUHPRVHVWHtQGLFH CREATE INDEX INDICE_DIRECTOR_PELICULA ON PELICULA(director) CLUSTER; 8QDUHODFLyQEDVHSXHGHWHQHU 9 8QRRQLQJ~QtQGLFHGHDJUXSDPLHQWR 9 &XDOTXLHUQ~PHURGHtQGLFHVQRGHDJUXSDPLHQWR 3DUD HYLWDU FRQIXVLRQHV OD VLJXLHQWH WDEOD HVWDEOHFH OD FRUUHVSRQGHQFLD H[LVWHQWH HQWUH ORV FRQFHSWRVGH64/HVWiQGDU\ORVHVWXGLDGRVHQODWHRUtDGHHVWHWHPD SQL índice de agrupamiento único índice de agrupamiento no único índice no de agrupamiento Teoría índice primario índice de agrupamiento índice secundario 3DUDGHVWUXLUXQtQGLFHVHXWLOL]DODVHQWHQFLDDROPFRQYLHQHHOLPLQDUXQtQGLFHFXDQGR\DQR VHYDQDUHDOL]DUFRQVXOWDVHQODVTXHLQWHUYLHQHXQDWULEXWRLQGH[DGR\DVtHYLWDUHOFRVWHGHO PDQWHQLPLHQWRGHOtQGLFH\DSURYHFKDUHOHVSDFLRTXHRFXSDHQGLVFR DROP INDEX INDICE_DIRECTOR_PELICULA; &DGD 6*%' LPSOHPHQWD ORV tQGLFHV XWLOL]DQGR VX SURSLD WpFQLFD SRU HMHPSOR SXHGH XWLOL]DU iUEROHV % R % FRPR 2UDFOH R ELHQ XWLOL]DU HVWUXFWXUDV GH DOPDFHQDPLHQWR EDVDGDV HQ GLVSHUVLyQHWF ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR Algunas notas sobre los índices en Oracle (Q2UDFOHVHUHFRPLHQGDFUHDUXQtQGLFH 9 FXDQGRODWDEODFRQWLHQHJUDQFDQWLGDGGHGDWRVRFXSDPXFKRHVSDFLR 9 VREUHFROXPQDVTXHVXHOHQDSDUHFHU HQFOiXVXODVWHEREFRQXQDFRPSDUDFLyQGHigualdadRGHmenorRmayor que HQjoinsGHYDULDVWDEODVHVGHFLUFROXPQDVTXHVXHOHQVHUDWULEXWRVGHUHXQLyQ HQHVWRVFDVRVHO6*%'12XWLOL]DHOtQGLFHFXDQGRODFRQVXOWD QRLQFOX\HWHERE FRQWLHQHGROUP BY\RDISTINCT PRGLILFDXQDFROXPQDLQGH[DGDPHGLDQWHXQDIXQFLyQSUBSTR, || \HO6*%'6ËSXHGHXWLOL]DUHOtQGLFHVLODFRQVXOWD FRQWLHQHORDER BY DSOLFDODVIXQFLRQHVMIN\RMAXVREUHXQD~QLFDFROXPQD 9 VREUHFROXPQDVFRQJUDQYDULHGDGHQVXVYDORUHVSXHVHOtQGLFHVXSRQGUiXQDPD\RU GLVFULPLQDFLyQHQODVE~VTXHGDV 3RUHMHPSORQRFRQYHQGUtDFUHDUXQtQGLFHVREUHXQDFROXPQDes_valido FX\RVYDORUHV VyORSXHGHQVHU (SI, NO).6tFRQYHQGUtDKDFHUORVREUHXQDFROXPQDcod_postal. (QHOFDVRGHTXHODFODYHDEDUTXHPiVGHXQDFROXPQDHVFRQYHQLHQWHGHILQLUHOtQGLFH SRQLHQGR ODV FROXPQDV HQ RUGHQ GH mayor a menor variedad HQ VXV YDORUHV < VL WLHQHQvariedadSDUHFLGDSRQLHQGRSULPHURODVFROXPQDVDFFHGLGDVPiVDPHQXGR (VLQWHUHVDQWHKDFHUQRWDUTXHHQ12H[LVWHHQWUDGDHQHOtQGLFH2UDFOHSDUDXQDILODTXHWHQJD XQYDORU18//HQODFROXPQDRDWULEXWRGHLQGH[DFLyQ6LHOtQGLFHHVWiFRQVWUXLGRVREUHYDULDV FROXPQDVQRH[LVWHHQWUDGDSDUDXQDWXSODFRQDOJXQDGHHVWDVFROXPQDVFRQYDORU18// 3DUDPiVLQIRUPDFLyQDFHUFDGHORVtQGLFHVHQ2UDFOHSXHGHDFXGLUVHDORVPDQXDOHVGH UHIHUHQFLDGH ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR $1(;2%Clusters en Oracle 3RU~OWLPR\SDUDHYLWDUFRQIXVLRQHVGDUHPRVXQDSHTXHxDLQWURGXFFLyQDXQPpWRGRRSFLRQDO SDUDDOPDFHQDUGDWRVGHOTXHKDEOD2UDFOHODHVWUXFWXUDGHGDWRVOODPDGDcluster 8Q FOXVWHU HV XQ JUXSR GH XQD R PiV WDEODV DOPDFHQDGDV MXQWDV ItVLFDPHQWH GHELGR D TXH FRQWLHQHQ LQIRUPDFLyQ FRP~Q /RV ILFKHURV GH HVWH WLSR VRQ ORV TXH KDVWD DKRUD KHPRV GHQRPLQDGRficheros mixtos8QHMHPSORVHUtDXQILFKHURHQHOTXHVHDOPDFHQDUDQUHJLVWURV GHHPSOHDGRV\GHORVGHSDUWDPHQWRVDORVTXHpVWRVSHUWHQHFHQ 1RUPDOPHQWH VH FRQVWUX\H XQ FOXVWHU SDUD WDEODV TXH a) HVWiQ UHODFLRQDGDV HQWUH Vt PHGLDQWH XQD R PiV FROXPQDV FRPXQHV D GLFKDV WDEODV SRU HMHPSOR (03 \ '(37 FRPSDUWHQ HO FDPSR deptno –número de departamento \ b) FRQ PXFKD IUHFXHQFLD ODV WDEODV VRQ UHIHUHQFLDGDV FRQMXQWDPHQWHHVGHFLUHQFRQVXOWDVTXHLQFOX\HQODreunión GHODVPLVPDV /D FROXPQD R FRQMXQWR GH FROXPQDV TXH WLHQHQ HQ FRP~Q ODV WDEODV HQ XQ FOXVWHU IRUPDQ OD clave del clustercluster key(QQXHVWURHMHPSORdeptnoHVODFODYHGHOFOXVWHU (O TXH DPEDV WDEODV HVWpQ DOPDFHQDGDV HQ HO PLVPR ILFKHUR LQFUHPHQWD OD HILFLHQFLD GH ODV FRQVXOWDV TXH LQFOX\HQ OD reunión GH ODV WDEODV TXH IRUPDQ HO FOXVWHU SXHVWR TXH ODV WXSODV UHODFLRQDGDVHVWiQItVLFDPHQWHDG\DFHQWHV 2WUDYHQWDMD HVTXHGHELGRDTXHORV GDWRVHQXQDFODYHGHO FOXVWHU ORV YDORUHV GHO deptno VyOR VH DOPDFHQDQ XQD YH] SDUD ODV WDEODV TXH OR IRUPDQ ORV FOXVWHUV SHUPLWHQ DOPDFHQDU XQ FRQMXQWR GH WDEODV DSURYHFKDQGR PiV HO HVSDFLR TXH VL ODV WDEODV HVWXYLHUDQ DOPDFHQDGDV GH IRUPDLQGLYLGXDOVLQFOXVWHU 2UDFOHLQGLFDTXHVHGHEHFUHDUXQtQGLFHVREUHHOFOXVWHUGHIRUPDPDQXDOXQDYH]FUHDGRHO FOXVWHUGHWDEODV/ROODPDíndice de cluster (cluster index)SXHVHVWiFUHDGRVREUHODFODYHGHO FOXVWHU\FRQWLHQHXQDHQWUDGDSRUFDGDYDORUGHGLFKDFODYHGHFOXVWHU 3DUDORFDOL]DUFLHUWDILODHQXQFOXVWHUVHXWLOL]DHOtQGLFHGHFOXVWHUSDUDHQFRQWUDUHOYDORUGHOD FODYHGHFOXVWHUTXHDSXQWDDOEORTXHGHGDWRVDVRFLDGRDWDOYDORU3RUWDQWR2UDFOHDFFHGHD XQDILODGHOFOXVWHUFRQXQPtQLPRGHGRVRSHUDFLRQHVGH(6VHUiQPiVGHGRV (OtQGLFHFOXVWHUGHEHVHUFUHDGRFRQ CREATE INDEX VREUHODFODYHGHFOXVWHUDQWHVGHSRGHU HMHFXWDUFXDOTXLHUVHQWHQFLD'0/LQFOX\HQGRINSERT\SELECTVREUHODVWDEODVHQHOFOXVWHU 3RUWDQWRQRHVSRVLEOHLQWURGXFLUGDWRVHQXQDWDEODGHFOXVWHUKDVWDTXHQRVHKD\DFUHDGRHO tQGLFHFOXVWHU 'LIHUHQFLDVHQWUHXQíndice de tabla\XQíndice de cluster • /DVFODYHVTXHVRQNULLVtWLHQHQXQDHQWUDGDHQHOtQGLFHFOXVWHU • /DVHQWUDGDVGHOtQGLFHDSXQWDQDOSULPHUEORTXHHQODFDGHQDSDUDXQYDORUGHFODYHGHFOXVWHUGDGR • 8QtQGLFHFOXVWHUFRQWLHQHXQDHQWUDGDSRUYDORUGHFODYHGHFOXVWHUHQYH]GHXQDHQWUDGDSRUILODGH FOXVWHU • /DDXVHQFLDGHXQtQGLFHGHWDEODQRDIHFWDDORVXVXDULRVSHURORVGDWRVHQXQFOXVWHUQRSXHGHQVHU DFFHGLGRVDPHQRVTXHH[LVWDXQtQGLFHGHFOXVWHU6LVHGHVWUX\HXQtQGLFHGHFOXVWHUORVGDWRVHQHO FOXVWHUSHUPDQHFHQSHURVHUiQLQDFFHVLEOHVKDVWDTXHVHDFUHDGRXQQXHYRtQGLFHGHFOXVWHU 3DUD PiV LQIRUPDFLyQ DFHUFD GH ORV FOXVWHUV HQ 2UDFOH SXHGH DFXGLUVH D ORV PDQXDOHV GH UHIHUHQFLDGH 19 3DUDFDGDFROXPQDHVSHFLILFDGDDOFUHDUHO FOXVWHUFRPRSDUWHGHOD FODYHGHFOXVWHUFDGDWDEODLQFOXLGDHQHO FOXVWHUGHEHWHQHUXQDFROXPQDTXHVHFRUUHVSRQGDHQWDPDxR\WLSRFRQGLFKDFROXPQDHQODFODYHGH FOXVWHU 20 9pDVHODILJXUDGHODSiJLQDVLJXLHQWH ©%DVHVGH'DWRVª&XUVR (VWUXFWXUDVGH$OPDFHQDPLHQWR\0pWRGRVGH$FFHVR &RPRHMHPSORVHPXHVWUDQODVWDEODVEMP\DEPTTXHFRPSDUWHQODFROXPQDdeptnoHVSRU WDQWRODFODYHGHOFOXVWHU(QODILJXUDVLJXLHQWHDSDUHFHQODVGRVSRVLELOLGDGHVELHQFUHDUXQ FOXVWHUSDUDDPEDVWDEODVRELHQDOPDFHQDUFDGDXQDSRUVHSDUDGR (Q FDVR GH FUHDU XQ FOXVWHU 2UDFOH DOPDFHQD HQ ORV PLVPRV EORTXHV GH GDWRV OD ILOD GH FDGD GHSDUWDPHQWR \ ODV GH ORV HPSOHDGRV TXH SHUWHQHFHQ D pVWH 2EVpUYHVH TXH ORV YDORUHV GH OD FODYHGHFOXVWHUdeptnoVyORVHDOPDFHQDQXQDYH]SDUDODVGRVWDEODV Nota: aunque en el dibujo aparezca así, las tuplas de departamento dentro del cluster no tienen por qué estar en orden según los valores del atributo deptno; las tuplas de empleados correspondientes a cada departamento tampoco tienen por qué estar almacenadas en orden según los valores del atributo empno. (DEPTNO) ©%DVHVGH'DWRVª&XUVR