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
Top Related