Estructuras Almacenamiento y Metodos Acceso

download Estructuras Almacenamiento y Metodos Acceso

of 67

Transcript of Estructuras Almacenamiento y Metodos Acceso

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    1/67

    1

    Estructuras de almacenamientoEstructuras de almacenamientoy mtodos de accesoy mtodos de acceso

    Objetivos Conocer diferentes tcnicas para colocarlos

    registrosde un chero en el disco Entender la teora y aplicacin de las tcnicas de

    dispersin(hashing) internay externa Conocer cmo usar dispersin para facilitar la

    expansin dinmicade cheros Comprender la teora y aplicacin de los ndices

    primarios secundariosy de agrupamiento !istinguir entre ndices densosy nodensos "denticar y comprender las #enta$as e

    incon#enientes de cada tcnica de organi%acin decheros

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    2/67

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    3/67

    *

    5os datos de una /! estn almacenadosen un medio

    de almacenamientoen el ordenador67 8lmacenamiento secundario de disco magntico

    Estudiaremostcnicas de almacenamiento en disco7 ormas de organi%ar cheros de datos en el disco7 9ara conseguir acceso a /! con rendimiento acepta.le

    Cada tcnica tiene #enta$as:incon#enientes conocidaspor7 !ise;adores y 8/!s7 "mplementadores de 3eescri.irla en disco (si se modic)

    Conceptos generales de organizacinde fcheros

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    4/67

    +

    Datosen disco organi%ados en fcherosde registros Registro

    7 Coleccin de #alores de datos relacionados entre s7 Cada #alor (1 o ms bytes) corresponde a un campo7 Cada campo tiene asociado un tipo de datos7 !enicin de Tipo de Registro6 ? (nom.re@campotipo@datos) A

    Conceptos generales de organizacinde fcheros

    Registros tipos de registro y blo!ues

    B/>E !E5 D"9 !E >EE 6 pacGed array H1''*IJ of characterKB33 6 pacGed array H1''LJ of characterK3858>"( 6 integerKCM!"D8EBD( 6 pacGed array H1''&IJ of characterK)ECO8NC(BD>8D( 6 pacGed array H1''+J of characterK

    endK

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    5/67

    ,

    5os registros son almacenados en disco de forma uecuando se necesiten su recuperacinsea efciente

    Trans"erenciade datos entre memoria principaly

    discoen unidades de blo!ue7 =n disco magntico est estructurado en pistasy sectores7 !i#isin de pista en blo!ues(pginas) por el 3 al formatear el

    disco

    3i se necesita informacin contenida en cierto .loue'''7 3e pasa al dispositi#o hardwarede E:3 del disco6 !ireccin hardPare del .loue !ireccin de un b#"er(memoria intermedia)

    Lectura6 copia el .loue del disco al .fer Escritura

    6 copia el .loue del .fer al disco

    Conceptos generales de organizacinde fcheros

    Registros tipos de registro y blo!ues

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    6/67

    2

    Registros tipos de registro y blo!ues(y &)

    Diempo(locali%acinQtransferencia)

    $Diempo(procesamiento C9=)

    5a solucin'''estructurar los fcherosparaminimizarelnR de

    trans"erencias de blo!uesnecesarias paralocali%ar y transferir datos del disco a memoria principal

    Conceptos generales de organizacinde fcheros

    Bsqueda+ Retardo Rotacional+ Transferencia

    Cuello de botella

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    7/67S

    %ichero7 3ecuencia de registros con igual estructura

    ichero mi&to

    7 Contiene registros de diferente tipo7 8umenta la eciencia de operaciones de reunin

    ichero de registrosde longitud fja

    ichero de registros de longitud variable de.ido a'''

    7 >egistros del mismo tipo pero con algn campo T de longitud #aria.le

    multi#alorado

    opcional

    7 ichero mixto

    %icheros registros de longitud fja y

    variable

    Conceptos generales de organizacinde fcheros

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    8/67U

    5os registros se asignan a .loues de disco7 tama;o(.loue) F ' bytes7 3i 'V tama;o(registro)#arios registros por .loue

    ichero con registros de longitud fjaR7 3i 'R"actor de blo!ues"blF B / R registros7 Espacio desocupado F B ( fbl * R )bytes

    7 Organizacin e&tendida6 apro#echar este espacioalmacenando ah (una parte de) otro registro (y el resto enotro .loue)

    7 Organizacin no e&tendida6 no se permite ue un registroest almacenado en #arios .loues

    (rabacin de registros en blo!ues

    registros e&tendidos y no e&tendidos

    Conceptos generales de organizacinde fcheros

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    9/67L

    ichero con registros de longitud variable7 Cada .loue contiene un nR distinto de registros7 "blF nmero mediode registros por .loue

    7 Es posi.le estimar el nR de blo!ues necesarios paracontener rregistros6

    r / fbl.loues

    7 9uede utili%arse organizacin e&tendida ono e&tendida6 rgani%acin e&tendidasi el tama;o medio de los registros es

    grande pues se reduce el espacio desperdiciado por .loue

    (rabacin de registros en blo!ues

    registros e&tendidos y no e&tendidos (y &)

    Conceptos generales de organizacinde fcheros

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    10/67

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    11/6711

    peraciones de o.tencinde datos7 5ocali%ar ciertos registros para examinar y procesar su

    contenido

    peraciones de actuali%acin

    7 "nsertar eliminar o modicar registros

    3uele ser necesaria una seleccin pre#ia con .ase enuna condicin de .sueda7 3i #arios registros la satisfacen se locali%a el primero de ellos

    >egistro8ctual67 El locali%ado ms recientemente en el .fer (memoria

    intermedia)

    Operaciones con fcheros

    Conceptos generales de organizacinde fcheros

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    12/671&

    peraciones so.re un solo registro Buscar(Localizar) Leer(Obtener) BuscarSiguiente Eliminar Modificar Insertar

    peraciones so.re un con$unto de registros Lectura Ordenada Buscar Todos Reorganizar

    peraciones para Abrir yerrar cheros

    Operaciones con fcheros(y &)

    Conceptos generales de organizacinde fcheros

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    13/671*

    Organizacin de fchero67 Estructuracin de los datos de un chero en registros

    .louesy estructuras de acceso7 Dcnica de organi%acin de cheros6 cmo colocar los

    registros y .loues en el medio de almacenamiento y cmointerconectarlos

    7 .$eti#o6 locali%acin eciente de los datos

    )todo de acceso67 Con$unto de programas ue permite reali%ar operaciones

    so.re los datos de un chero7 9roporciona acceso a los datosK hace uso de las estructuras

    de acceso (si existen)

    Com.inados de.en maximi%ar la efcienciade las

    operaciones m*s "recuentesso.re el chero

    Organizacin de fcheros vs+ )todo de

    acceso

    Conceptos generales de organizacinde fcheros

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    14/67

    1+

    Organizacin ,rimaria !etermina la forma en ue los registros del chero se colocan

    fsicamente en el disco y cmo se puede acceder a ellos7 %ichero -o Ordenado .montn/

    7 %ichero Ordenado .secuencial/7 %ichero )i&to7 %ichero Disperso .direccionamiento directo o hashing/7 0rboles ' y otras estructuras de datos .en el tema/

    Organizacin 1ecundaria(oinde&ada)7 2ndice Ordenado de un nivel7 2ndice )ultinivel

    Tipos de organizacin de fcheros

    Conceptos generales de organizacinde fcheros

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    15/67

    1,

    >egistros almacenados al nal del chero en ordende insercin Inserci!nmuy eciente Bsquedalineal

    Eliminaci!nfsicao por marca7 Reorganizacinpara recuperar espacio desocupado7 apro#echar huecos para nue#os registros

    Modificaci!nde un registro

    7 3i longitud #aria.le puede pro#ocar eliminacin W insercin Lecturaordenadasupone creacin de una copia ordenada

    del chero7 3uele utili%arse una tcnica de ordenacin externa

    %ichero no ordenado(montculo o montn)

    Organizacin primaria

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    16/67

    12

    %ichero ordenado(secuencial)

    Organizacin primaria

    >egistros almacenados de forma ordenada segn#alores de cierto campo7 campo de ordenacin7 3i el campo es cla#e se le llama cla#e de ordenacin

    Xenta$as respecto a los cheros no ordenados Lectura ordenadamuy ecientesi el orden es el de los #alores

    del campo de ordenacin6 lectura secuencial Buscar siguiente(en el orden del campo de ordenacin)no suele

    necesitar otro acceso a .loue Buscarun registro dado su #alor del campo de ordenacin es

    rpido6 .sueda .inaria 9ero si la Lectura ordenadao Buscarno estn .asados en

    el campo de ordenacin estas #enta$asYdesaparecenZ

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    17/67

    1S

    %ichero ordenado(&)

    Organizacin primaria

    Inserci!n7 supone encontrar posicin correctapara el registro y7 a.rirle espacio mediante despla%amientode registros

    (costoso[) Eliminaci!nfsica o por marca

    7 con pro.lemas de eciencia similares a la insercin

    9ara aumentar la eciencia de la insercin7 !e$ar espacio li.re en cada .loue para nue#os registros7 ichero de des.ordamientoauxiliar no ordenado ue

    peridicamente se ordena y fusiona con el chero principalBuscarse complica6 .inariaen principal W linealen auxiliar

    Modificaci!n7 3i la condicin de .sueda se .asa en el campo de

    ordenacin usar .sueda .inaria' 3i no .sueda lineal7 3i el campo modicado es el de ordenacin el nue#o #alor

    puede pro#ocar su cam.io de u.icacin6 eliminacin W

    insercin

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    18/67

    1U

    %ichero ordenado(y *)

    Organizacin primaria

    %ichero secuencial encadenado >egistros ordenados de forma lgica(no fsica) =so de punterosayor \exi.ilidad

    Estructuras de datos para implementar este tipo decheros7 5istas lineales

    7 5istas mltiples7 8nillos o listas circulares7 -r.oles .inarios de .sueda

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    19/67

    1L

    %ichero )i&to

    Organizacin primaria

    3lmacena registros de di"erente tipo 5os registros pro#ienen de distintas tablas '''7 Estn relacionadasmediante una o #arias columnas

    Cla#e externa y cla#e candidata7 5as operaciones ms "recuentesson las consultasy noes

    ha.itual modifcarlas columnas comunes7 3olicitudes "recuentesde las relacionadas de am.as ta.las peraciones ue implican la reunin(JOIN) de las ta.las

    En el chero'''7 5os registros relacionados estn fsicamente adyacentes

    7 clave del fchero mi&to6 campos YcomunesZ de los registros 4entajasdel uso de cheros mixtos7 ayor eciencia de las operaciones con JOINentre las ta.las7 Xalores de la cla#e del chero mixto almacenados slo una #e%

    En Oraclese denominan cluster de tablas

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    20/67

    &I

    (DEPTNO)

    Organizacin primariaE$emplo deuso de

    un

    fcheromi&to#s'dos

    cherosindi#iduale

    s

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    21/67

    &1

    %ichero de direccionamiento calculado(Hashing)

    Organizacin primaria

    9ermite acceso rpido a registros segn unacondicin de .sueda de igualdad sobre un solocampo7 Campo de dispersin (columna de dispersin)7 3i es cla#e del chero se llama cla#e de dispersin

    %uncin de dispersinh7 3e aplica al #alor Gdel campo de dispersin de un registro

    (la)

    7 ] produce la direccin del .louede disco en el ue est elregistro 5a locali%acin del registro dentro del .loue se hace en el

    .fer

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    22/67

    &&

    %ichero de direccionamiento calculado (&)

    Organizacin primaria

    E$emplos de funciones h !"lo6 h.5/ 6 5 mod ) Plega!o6 3i GFG1G&G*G+ h.5/65758595: ? W xor A Tr"nca#iento6 h.5/ 6 5759

    !es#enta$a del direccionamiento calculado7 -o se garantiza !ue valores distintos de 5

    produzcan direcciones di"erentes en el fchero

    Espacio de dispersin $Espacio de direcciones

    Estudiaremos las tcnicas de dispersin'''7 "nterna7 Externa7

    !inmica

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    23/67

    &*

    %ichero de direccionamiento calculado (*)

    Organizacin primaria

    Espacio de direccionesdestino7 Con$unto de ) registros7 =n arrayde posiciones en memoriaprincipal

    %uncin de dispersin"7 Draduce el #alor del campo de dispersin en un enteroHI

    @1J

    Colisin

    7 8l aplicar $a un registro ue se desea insertar en el cherose o.tiene una direccin ocupada7 El nue#o registro es un sinnimo

    Dispersin ;nterna

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    24/67

    &+

    %ichero de direccionamiento calculado (+)

    Organizacin primaria

    Dcnicas de resolucin de colisiones7 Direccionamiento abierto

    '#s!ueda secuencialde una posicin #aca7 Encadenamiento

    =so de listas de sinnimosen un *rea de desbordamiento7 Dispersin m#ltiple

    8plicacin de una segunda "uncin " 3i se produce colisin se aplica direccionamiento abierto

    hde.e ser sencilla y r*pida de calcular 3uobjetivo esconseguir unadistribucinuni"orme de los registros(sin acumulamientos)7 nimo nmero de colisiones7 ximo nmero de posiciones ocupadas

    Dispersin ;nterna

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    25/67

    &,

    %ichero de direccionamiento calculado (,)

    Organizacin primaria

    Espacio de direccionesdestino7 Con$unto de cubetas7 Cu.etaFgrupo de registros del fchero(1 o ms .loues

    contiguos)

    %uncin de dispersin"7 Draduce el #alor del campo de dispersin en un n#mero de

    cubeta7 El descriptor de chero contiene para cada cu.eta la

    correspondencianmero de cu.eta direccin en disco Decrece el n#mero de colisiones7 5os sinnimos se dispersan dentro de una cu.eta7 =so de cu.eta de des.ordamiento(comn al resto) y listas de

    registros sinnimospara insertar registros en cu.etas ya

    completas

    Dispersin E&terna

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    26/67

    &2

    Bsquedao Localizaci!n7 8ccesodirectosi condicin de .sueda .asada en campo de

    dispersinel ms rpido6 1 acceso a .loue7 3i no .sueda lineal

    Lectura ordenada7 Costosa6 h no suele mantener registros ordenados Eliminaci!n

    7 3acarlo de la cu.eta y ocupar espacio con un sinnimo7 sacarlo de la lista de des.ordamiento (si esta.a ah)

    Modificaci!n7 3i la condicin de .sueda se .asa en el campo de dispersinusar hpara locali%ar registro' 3i no .sueda lineal

    7 3i el campo modicado es el de dispersin el nue#o #alorpuede pro#ocar su cam.io de cu.eta6 eliminacin W insercin

    %ichero de direccionamiento calculado (2)

    Organizacin primaria

    Dispersin E&terna

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    27/67

    &S

    8signa al chero una cantidad de espacio fja7 ) cubetas7 Cada cu.eta con capacidad para mregistros7 Espaciodisponi.le F m

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    28/67

    &U

    %ichero de direccionamiento calculado (U)

    Organizacin primaria

    Representacin del resultado de la "uncin dedispersin" como una cadena de bits7 Xalor de direccionamiento calculadodel registro

    >os registros se distribuyen en cubetas seg#nlos primeros bits de su valor de direcc+calculado

    Tipos de dispersin dinmica7 !ireccionamiento calculado e&tensible7 !ireccionamiento calculado lineal

    Dispersin Din*mica

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    29/67

    &L

    %ichero de direccionamiento calculado (L)

    Organizacin primaria

    %ichero ? Directorio7 !irectorio6 arrayde8ddirecciones de cubeta

    d es lapro"undidad global del directorio

    Determinacin de la posicin de un registro@7 El #alor de los primeros !.its del #alor de direccionamientocalculado indican una posicin del directorio

    7 !icha posicin contiene la direccin de cubetaen la uealmacenar el registro

    En el directorio'''7 Xarias posiciones pueden contener la mismadireccin de

    cu.eta

    7 5a pro"undidad locald#de cada cu.eta indica el nR de .its

    considerados6 determina su contenido

    Dispersin Din*mica@ !ireccionamiento CalculadoExtensi.le

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    30/67

    *I

    %ichero de direccionamiento calculado (1I)

    Organizacin primaria

    Obtencin de un registro7 !os accesos a .loue6 directorio W cu.eta

    dpuede disminuir oaumentar en 1 .itreducir a la mitad oduplicarel tama;o del

    directorio

    7 Duplicarsi se des.orda una cu.etacuya (!%F !)7 Reducir a la mitadsi (!%_ !) en todaslas

    cu.etas

    Dispersin Din*mica@ !ireccionamiento CalculadoExtensi.le

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    31/67

    *1

    %ichero de direccionamiento calculado (y 11)

    Organizacin primaria

    Dispersin din*mica vsDispersin est*ticaXenta$as7 El rendimientono se degrada a medida ue crece el chero7

    Bo se asigna espacio para futuros crecimientos6 se a;adencubetas adicionalescon"orme se necesitan Espacio extra para directorio insignicante Como mucho 85G F nR .its del #alor de direccionamiento calculado

    7 >eorgani%acionesde registros Ypoco importantesZ 3i se di#ide o duplica una cu.eta slo se reorgani%an sus registros

    5a ms costosa6 duplicacin o reduccin a la mitad del directorio

    "ncon#eniente(le#e[)7 Becesarios 8 accesos a blo!ue para locali%ar un registro

    Dispersin Din*mica@ !ireccionamiento CalculadoExtensi.le

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    32/67

    *&

    Organizacin secundaria@%icheros de Andices

    =n Andicees una estructura de acceso adicional

    7 8lmacenado en disco7 =tili%adojunto con el fchero de datos (fchero principal)7 ichero principal estructurado seg#n una organizacin

    primaria

    3giliza la obtencin de registrossegn #alores de

    cierto campo del chero6campo de inde&acin7 9rimero se accede al ndice ue apunta al .loue del cherodonde est almacenado el registro

    Es posi.le crear '''7 un Andice sobre cual!uier campode un chero

    7 varios Andicesso.re un mismochero

    =n ndice puede ser de uno de estostipos7 Ordenado de un nivel6 ,rimario de 3grupamiento

    1ecundario7 De m#ltiples niveles6 0rbol' '? 'egistros ordenadossegn #alores de un campocla#ey7 Con un ndice primario de mltiples ni#eles so.re dichacla#eacilita acceso secuencial e indi#idual (directo a tra#s del

    ndice)

    Cada 3 comercial implementalos ndicesempleando sus propias tcnicas7 racle emplea entre otras estructuras la de r.ol /^

    Tipos de fcheros en "uncin de suinde&acin

    E if i d A di 1B>

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    40/67

    +I

    Especifcacin de Andices en 1B>

    3ntiguas versiones del 345 estndar conta.an consentencias para creary destruirndices7 El 5!! no inclua clusulas PRIR+ ,E+o -NI.-E

    restriccin de integridadde cla#emediante creacin deAndice #nico

    5a #ersin 1B>8 no considera los Andices7 9ues los ndices son caminos "Asicosde acceso a los datos

    7 >estriccin de cla#emediante clusulas $RIMAR% &E%y '(I)'E 5a unicidadde una columna es un concepto lgico

    2ndices y el 1B> est*ndar

    E if i d A di 1B>

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    41/67

    +1

    Especifcacin de Andices en 1B>

    En muchos 3

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    42/67

    +&

    Especifcacin de Andices en 1B>

    Dipos de ndices segn su implementacin7 2ndices de *rbol ' o normalesK los creados por defecto 0ndices detablas 0ndices declusters

    7 2ndices bitmap

    7 2ndices particionados7 2ndices basados en "unciones7 2ndices de dominio

    9or defecto racle almacena las las de una ta.la

    como una coleccin desordenada de las7 Bo ca.e ha.lar de Andices primarioso de agrupamiento

    tal y como los hemos denido en este tema

    8unue es posi.le almacenar una ta.la con una

    estructura de ndice (r.ol /^)6 index organized table

    2ndices en Oracle

    Especifcacin de Andices en 1B>

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    43/67

    +*

    Especifcacin de Andices en 1B>

    Dipos de ndices segn la columna (o campo) deindexacin

    7 2ndice nico /asado en una columna de ta.la cuyos #alores son nicos

    7 2ndice ,rimario(un caso particular de 0ndice bnico) /asado en una cla#e primaria de ta.la

    7 2ndice 1ecundario /asado en una columna con #alores no nicos

    7 2ndice Compuesto tam.in 0ndice Concatenado /asado en & o ms columnas de una misma ta.la 9uede ser bnico 9rimario o 3ecundario

    7 =n 0ndice Compuesto bnico es til para imponer la unicidad de lacom.inacin de #alores de #arias columnas

    En Oracleel signifcado de los conceptos *ndice rimarioe *ndice secundariono coincide con la teorAa e&plicada

    en el aartado ,-.de este tema

    2ndices en Oracle (&)

    Especifcacin de Andices en 1B>

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    44/67

    ++

    Especifcacin de Andices en 1B>

    3entencia 5!! paracrearAndicesREATE I(/E0 Indice12enero1$elicula O( $elicula 3 genero 4 5

    Especicacin del orden ascendente o descendentede las entradas del ndice

    REATE I(/E0 Indice1A6o1$elicula O( $elicula 3 a6o /ES4 5

    2ndicecompuestoREATE I(/E0 Indice1(ombres1/irector

    O( /irector 3 aellido7AS8 aellido9AS8 nombre/ES 4 5

    7 El ndiceincrementa lavelocidad de lasconsultas ue accedenpor'''

    aellido7 aellido7 : aellido9 aellido7 : aellido9 : nombre

    7 9ero el 3

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    45/67

    +,

    Especifcacin de Andices en 1B>

    8lgunos 3 como racle crean un

    Andice sobrecada clave(primaria o alternati#a) de forma automtica7 Campo de indexacin6 columna (o con$unto de columnas)

    especicada como '(I)'Eo $RIMAR% &E%en el esuema de /!

    7 El 3

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    46/67

    +2

    Especifcacin de Andices en 1B>

    3entencia 5!! paradestruirAndices/RO$ I(/E0 ;ndice12enero1$el*cula 57 Con#iene eliminar un ndice cuando ya no se esperareali%ar

    consultas .asadas en el campo de indexacin7 !esaparece el coste de mantenimientodel ndice

    7 3e recupera el espaciode almacenamiento ocupado por elndice

    Bo se puede eliminar un ndice creado

    automticamente por el sistema (de.ido a laespecicacin de una restriccin de integridad -NI.-Eo PRIR+,E+so.re una o #arias columnas)sino ue se de.eeliminar (DROP)o desacti#ar (DI2BLE)la restriccin de

    integridad correspondiente

    2ndices en Oracle (y ,)

    1eleccin de la organizacin de fcheros y

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    47/67

    +S

    5a mayora de 3 representa cada tabla basecomo un fcherode /! para el cual es necesarioespecicar'''

    7 Tipode chero

    7 Columnasso.re los ue denir estructuras de acceso(Andices)

    Decisiones de diseFo "Asico

    3o.re estructuras de almacenamiento(organi%acin de cheros) 3o.re Andices(estructuras de acceso)

    1eleccin de la organizacin de fcheros yestructuras de acceso1eleccin@ decisiones de diseFo "Asico

    1eleccin de la organizacin de fcheros y

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    48/67

    +U

    Cu*ndo emplear un fchero no ordenado 5a ta.la es peue;a

    7 >egistros peue;os o factor de .loues ele#ado

    7 Es inspeccionada con pocos accesos a .loue Bormalmente las consultas u operaciones ms

    frecuentes so.re la ta.la seleccionan o acceden amuchas las (es decir ms del &I del total de las

    las)

    1eleccin de la organizacin de fcheros yestructuras de acceso1obre estructuras de almacenamiento

    1eleccin de la organizacin de fcheros y

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    49/67

    +L

    Cu*ndo emplear un fchero ordenado 5a ta.la es de tama;o medio@grande y con

    "recuenciaes'''

    7 ordenadaseg#n#alores de una columna ccaparece en clusulas ORDER B+ 3RO-P B+ DI2TIN0T o como

    columna de RE-NI4No de -NION

    7 accedida con criterios de seleccinue

    incluyen un rango de valoresde c7 procesada secuencialmenteen el orden de los#alores de c(lect"ra or!ena!a)

    5a ta.la noes frecuentemente modifcadaconIN2ERT5 -PDTE (c) o DELETE

    1eleccin de la organizacin de fcheros yestructuras de acceso1obre estructuras de almacenamiento

    1eleccin de la organizacin de fcheros y

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    50/67

    ,I

    Cu*ndo emplear un es!uema de dispersin 5os accesosa la ta.la son "recuentes individuales

    y aleatorios y seg#n#alores de una columna c

    ue'''7 Es muy utili%ada en operaciones de seleccin por igualdad7 Es muy usada en condiciones de reunin(JOIN) 7 e6"i7re"nin 77 3us #alores apenasson modifcados7 5os valoresde cson muchos y variados6 permiten una .uena

    distri.ucin de los registros e#itando colisiones 3e conoce el tamaFodel chero y no se espera un

    crecimiento o reduccin considera.le7 En caso contrario puede usarse !i&'er&in !in8#ica

    1eleccin de la organizacin de fcheros yestructuras de acceso1obre estructuras de almacenamiento

    1eleccin de la organizacin de fcheros y

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    51/67

    ,1

    Cu*ndo evitarun es!uema de dispersin 5os accesosa la ta.la son

    7 por rango de valoresde a sal#o si es una lista6 aIN (9:5 9;5

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    52/67

    ,&

    Cu*ndo emplear un fchero mi&to (clusterde ta.las) 3on muy frecuentes las consultas ue implican'''

    7 5a reuni!nentre dos (o ms) ta.las relacionadas E$emplo6 relacin 16B#aclave primariaGclave e&terna

    7 El agruamientode las de la ta.la del lado B segn #alor de lacla#e externa

    En Oraclecrear un chero mixto signica crear un cl"&ter denircla9e !e cl"&ter crear n!ice cl"&ter y almacenar las ta.las dentro

    4entajas 8celera la e$ecucin de las reuniones entre las ta.las

    7 registros relacionados estn en el mismo .loue menos accesos a.loue

    8pro#echamiento del espacio

    1eleccin de la organizacin de fcheros yestructuras de acceso1obre estructuras de almacenamiento

    1eleccin de la organizacin de fcheros y

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    53/67

    ,*

    Cu*ndo emplear un fchero mi&to(cont')

    ;nconvenientes Consultas a cada ta.la por separado muy poco ecientes >ecorrido completo de las las de cada ta.la indi#idual

    ms costoso (demasiados accesos a .loue) 5a inserci!nes poco eciente de.ido a ue se de.e'''

    7 mantener la agrupacinfsica (las con igual #alor de cla#e decluster) y a la #e%

    7 desaprovecharel mAnimo espaciode almacenamientomuchos encadenamientos entre registros (%onas de des.orde etc')menor eciencia de la .sueda segn la cla#e del clusterreduccin del rendimientode las consultas

    1eleccin de la organizacin de fcheros yestructuras de acceso1obre estructuras de almacenamiento

    1eleccin de la organizacin de fcheros y

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    54/67

    ,+

    Cu*ndo emplear un Andice

    7 5a ta.la es de tama;o medio:grande6 3i la ta.la es

    pe!ueFa resulta ms eciente cargarlas enmemoria

    7 5as consultas ms frecuentes acceden a peue;osporcenta$es del total de las (&I)6 me$or

    recorrido secuencial para acceder a muchas las

    3e desea e#itar'''7 el recorridode la ta.la completa@ usamos b#s!ueda

    binaria en el Andice

    1eleccin de la organizacin de fcheros yestructuras de acceso1obre Andices

    1eleccin de la organizacin de fcheros y

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    55/67

    ,,

    Cu*ndo emplear un Andice

    (continuacin) 3e desea e#itar'''

    7 el acceso al fchero para determinadas consultas .E=I2T2IN ''') 6si el ndice es denso .asta con acceder a l para sa.ersi existe

    7 la ordenacinde los registros en el chero (ORDER B+ 3RO-PB+ -NION DI2TIN0T JOIN)>

    al crear "n n!ice 'ri#ario o !e agr"'a#iento el fic$ero &e al#acena or!ena!o l tener "n n!ice or!ena!o &e '"e!e "tilizar 'ara o'eracione& 6"e i#'li6"en or!enacin

    7 el acceso al fcheropara consultas ue incluyen un peue;osu.con$unto de columnas6 usar ndices compuestos

    2ea la tabla PER2ON(nif5 no#bre5 a'elli!o5 fec$a?naci#5 ci"!a!5 telef)0RETE INDE= i!?'er&ona ON PER2ON( aellido8 nombre)@

    1eleccin de la organizacin de fcheros yestructuras de acceso1obre Andices

    1eleccin de la organizacin de fcheros y

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    56/67

    ,2

    Cu*ndo inde&ar una columna Es una clave )uy usadaen condiciones de reunin o deseleccin

    7 3uele aparecer en clusulas AEREen comparaciones de igualdad

    o rango de valores6 C BETAEEN7 3uele ser columna de reunin (join) de ta.las (e$' cla#es a$enas)7 Diene gran variedadde #alores (ms discriminacin en

    .suedas)7 -oes modifcadamuy a menudo

    Emplear un Andice compuestosi ha.itualmente seaccede por medio de #arias columnas utili%adascon$untamenteEl 3

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    57/67

    ,S

    Cu*ndo evitarun Andice 5a ta.la es muy peue;a6 cargarla en memoria 3o.re columnas'''

    7 modifcadasmuy a menudo7 con distribucin irregular de valores6 confunden al O'ti#iza!or7 ue sloaparecen en "uncionesGoperadores

    (distintos de =o IN)6 pueden hacer ue el ndice no se use 3e degradan los reuisitos de procesamiento crtico6 si se le

    da al 3

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    58/67

    ,U

    1eleccin de la organizacin de fcheros yestructuras de acceso

    1obre Andices

    Consejospara la utilizacin de Andices ximo Fndices por ta.la

    ndices necesidad de espacio y #elocidad al modicarel 3ecomendacin para aplicaciones con muchas IN2ERT y DELETE ;ndices rimario o de agruamientoen el mismo *rea !ue los datos

    5a mayora de 2ELE0Ty todas las IN2ERT, DELETE los leen

    ;ndices secundarios en un espacio de almacenamiento di"erente e$or balanceode carga6 IN2ERT5 DELETEactuali%an el ndice7 =n ndice ,rimarioo de 3grupamientono tiene por u #erse modicado con cada

    IN2ERT DELETEo -PDTE(col"#na&?in!eacin) mientras ue uno 1ecundariocon seguridad sde.er ser modicado'

    Ej i i

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    59/67

    ,L

    Ejercicio

    Dadas las siguientes situaciones determinar el mtodo de acceso m*sapropiado .e&ploracin cluster Andices tabla hash para cada tabla o

    conjunto de tablas/+ Hustifcar las respuestas+7 Tenemos 9 tablas 3 ' y C de "orma !ue ' y C tienen como clave ajena

    un atributo de 3+ >as consultas son mayoritariamente sobre la tabla3 pero no a travs de la clave primaria ni de un atributo deordenacin+ 1e estima !ue las tablas ser*n de tamaFo reducido+

    7 Tenemos las 9 tablas del apartado anterior+ >as consultas son

    mayoritariamente joins sobre el atributo !ue ejerce como clave ajenaen ' y C y como primaria en 3+ >as consultas individuales sobre cadatabla individual son irrelevantes+

    7 Tenemos una tabla de : atributos con muchas tuplas+ E&isten muchasconsultas de modifcacin del atributo !ue genera la mejor ordenacinsobre la tabla+

    7 Tenemos la misma tabla del apartado anterior+ E&isten dos tiposmayoritarios de consultas@ consultas sobre rangos de valores sobre laclave primaria y consultas !ue re!uieren de la ordenacin de lastuplas obtenidas+

    Estructura lgica de una /!

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    60/67

    2I

    Estructura lgica de una /!racle

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    61/67

    21

    Estructuras lgicas dealmacenamiento

    3egmento datos 3egmento de ndices 3egmento de roll.acG

    3egmento temporal7 3E5ECD ''' >!E> /]'''7 C>E8DE "B!E'7 3E5ECD ''' =9 /]'''7 3E5ECD ''' =B"B '''7 3E5ECD !"3D"BCD '''7 3E5ECD T "B3E>3EC '''

    7 3E5ECD ''' "B=3 '''

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    62/67

    2&

    Estructura fsica de racle

    icheros dedatos

    icheros redo log

    icheros decontrol

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    63/67

    2*

    Entorno de memoria en racle

    3

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    64/67

    2+

    Elementos de dise;o fsico en>8C5E

    Da.lespaceC>E8DE D8/5E398CE D3N!8D3!8D8"5E :disco1:chero1j 3"kE 1II !8D8"5E :disco&:chero&j 3"kE &,I K

    Da.las y extensionesC>E8DE D8/5E 8lumnos (T) D8/5E398CE D3N!8D39CD>EE &I 9CD=3E! +I3D>8

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    65/67

    2,

    Elementos de dise;o fsico en>8C5E

    0ndices (dentro de create ta.le)TT'C>E8DE "B!E nomNind B 8lumnos (atri.utos)

    T'

    ClustersC>E8DE C5=3DE> C5N1(cla#e num.er(+)) 3"kE ,1&

    D8/5E398CE D3N!8D3 9CD>EE &I 3D>8E8DE D8/5E 8lumno (T') C5=3DE> C51N(a1)K

    Cl t

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    66/67

    22

    ClustersC>E8DE C5=3DE> EmpN!ept (departamento CO8>(+)) 3"kE ,1&TK

    C>E8DE D8/5E !epartamento ?codigo CO8> (+) 9>"8>] E]TTTTTTT) C5=3DE> EmpN!ept(codigo)K

    C>E8DE D8/5E Empleadoi$o ?nss CO8>(1&) 9>"8>] E]TTTT'dpto CO8> (+) BD B=55 >EE>EBCE3 !epartamento(codigo)TTTTTTT) C5=3DE> EmpN!ept(dpto)K

    C>E8DE "B!E idxNEmpN!pt B C5=3DE> EmpN!eptK

    !i i

  • 7/25/2019 Estructuras Almacenamiento y Metodos Acceso

    67/67

    !ispersin

    C>E8DE C5=3DE> !irecciones (codpostalB=/E>(,))T3"kE &G

    O83O "3 !(codpostal 1I1)

    O83OE]3 1IIIK