CapituloORA12 Otros Objetos de La Base de Datos 30

download CapituloORA12 Otros Objetos de La Base de Datos 30

of 30

Transcript of CapituloORA12 Otros Objetos de La Base de Datos 30

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    1/30

    Universidad del Cauca FIET Departamento de Sistemas

    CAPITULO 12Otros Objetos de la Base de

    Datos

    http://www.ucauca.edu.co/index.html
  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    2/30

    Universidad del Cauca FIET 12-2

    Despus de este captulo, ustedestar en capacdad de! Crear, "antener # usar secuencas

    Crear # "antener ndces Crear sn$n"os pr%ados # p&blcos

    Objet%os

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    3/30

    Universidad del Cauca FIET 12-3

    Desarrollar un corto e'a"en decnco ()* pre+untas en "odo deaprendaje (Learnn+ "ode*,

    selecconados en -or"a aleatora. /ealar una corta real"entac$n

    de cada una de las pre+untas.

    Te"a! Creatn+ Ot0er DatabaseObjects

    'a"en pre%o

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    4/30

    Universidad del Cauca FIET 12-4

    Objetos de la base de datos

    OBJETO DESCRIPCINTabla Undad bsca de al"acena"ento,

    co"puesta de las # colu"nas. Puedenser creadas en cual3uer "o"ento, no senecesta denr el ta"a4o del

    al"acena"ento (se reco"enda* # suestructura se puede redenr en lnea.

    5sta /epresentac$n l$+ca de un subconjuntode datos de una o "s tablas

    6ecuenca 7enerador de %alores nu"rcos

    8ndce 9ejora el rend"ento de al+unasconsultas

    6n$n"o :o"bre alternat%o de los objetos de unabase de datos

    Otros Proced"entos, -uncones, dsparadores,clusters, enlaces a bases de datos #

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    5/30

    Universidad del Cauca FIET 12-5

    6ecuencas

    Auto"tca"ente +enera n&"eros ;&ncos< s un objeto 3ue puede ser co"partdo por

    "&ltples usuaros 6e usa tpca"ente para crear un %alor 3ue se usa

    en una colu"na 3ue dentca (lla%e pr"ara* unatabla

    6r%e para re"plaar c$d+o en las aplcacones(-uncones +eneradoras de n&"eros* # por estoa#uda a ds"nur te"po en el desarrollo desolucones

    6on "s ecentes cuando el %alor se accede

    desde un cac0e en la "e"ora 6on +enerados # al"acenados en -or"a

    ndependente de las tablas, por eje"plo, unasecuenca 3ue +enera %alores para dos tablas

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    6/30

    Universidad del Cauca FIET 12-

    6nta's para crear secuencasC/AT 6=U:C :o"bre6ecuenca

    >I:C/9:T B? Incre"ento@>6TA/T IT Inco@>9A5ALU 9'"o E :O9A5ALUF@>9I:5ALU 9n"o E :O9I:5ALUF@>C?CL E :OC?CLF@>CAC Ta"a4o E :OCACF@G

    :o"bre6ecuenca! s el no"bre del objeto(secuenca* a crear I:C/9:T B? Incre"ento! specca el %alor

    con el 3ue se ncre"entaHdecre"enta el %alor dela secuenca. s un n&"ero entero

    6TA/T IT Inco! specca el pr"er n&"ero(Inco es entero* 3ue se +enera con la secuenca 9A5ALU 9'"o! Dene el %alor "'"o 3ue

    puede +enerar la secuenca. s un n&"ero entero

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    7/30Universidad del Cauca FIET 12-!

    6nta's para crear secuencasC/AT 6=U:C :o"bre6ecuenca

    >I:C/9:T B? Incre"ento@>6TA/T IT Inco@>9A5ALU 9'"o E :O9A5ALUF@>9I:5ALU 9n"o E :O9I:5ALUF@>C?CL E :OC?CLF@>CAC Ta"a4o E :OCACF@G

    9I:5ALU 9n"o! Dene el %alor "n"o 3uepuede +enerar la secuenca (&tl para secuencas3ue descrecen*. s un n&"ero entero

    C?CL! specca s la secuenca +enera %aloresrepetdos (nca el cclo* despus de lle+ar al

    "'"o o el "n"o dendo CAC Ta"a4o! specca cuantos %alores debecrear Oracle en la "e"ora. Por de-ecto Oracle+enera 2 %alores en cac0e

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    8/30Universidad del Cauca FIET 12-"

    Crear una secuenca

    Crear una secuenca 3ue se use para los%alores de la lla%e pr"ara de la tablaDeparta"entos

    :o se deben repetr %alores

    6e debe arrancar en ) e ncre"entarde 1 en 1 0asta un "'"o de J

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    9/30Universidad del Cauca FIET

    12-#

    Consultar las secuencas deles3ue"a

    La %sta del dcconaro de datos U6/K6=U:C6"uestra n-or"ac$n de las secuencas del usuaro La colu"na LastK:u"ber "uestra el s+uente

    %alor 3ue +enerar la secuenca. 6$lo aplcacuando no se usa cac0e

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    10/30Universidad del Cauca FIET

    12-1$

    6eudocolu"nas :T5AL #CU//5AL

    :T5AL retorna els+uente %alordsponble. l %alores d-erente paratodos los usuarosconcurrentes

    CU//5AL retorna el&lt"o %alor+enerado para la

    ses$n de usuaro Antes de usarCU//5AL, se debeusar :T5AL

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    11/30Universidad del Cauca FIET

    12-11

    /e+las para usar :T5AL #CU//5AL

    :T5AL #CU//5AL sepueden usar en loss+uentesconte'tos!

    La clusula 6LCT de una sentenca 6LCT3ue no es parte de una subconsulta

    La clusula 6LCT de una subconsulta en unasentenca I:6/T

    La clusula 5ALU6 de una sentenca I:6/T

    La clusula 6T de una sentenca UPDAT:T5AL #CU//5AL :O sepueden usar en loss+uentesconte'tos !

    La sentenca 6LCT de una %sta Una subconsulta en una sentenca 6LCT,

    DLT o UPDAT Una sentenca 6LCT con la palabra cla%e

    DI6TI:CT Una sentenca 6LCT con una clusula

    7/OUP B?, A5I:7 u O/D/ B? La e'pres$n DMAULT en una sentenca

    C/AT TABL o ALT/ TABL

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    12/30Universidad del Cauca FIET

    12-12

    Lnea"entos para el uso desecuencas

    acer cac0e de %alores de una secuencaen "e"ora 0ace "s rpdo el acceso aesos %alores. l cac0e se llena la pr"era%e 3ue se solcta un %alor a la secuenca,lue+o se usan 0asta 3ue el cac0e se %aca.

    n la pr$'"a solctud se %uel%e a llenar

    uecos en los %alores de una secuencapueden ocurrr cuando!

    Ocurre un rollbacN l sste"a se cae Un %alor de la secuenca se usa en otra tabla

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    13/30Universidad del Cauca FIET

    12-13

    9odcar una secuencaALT/ 6=U:C :o"bre6ecuenca

    >I:C/9:T B? Incre"ento@>9A5ALU 9'"o E :O9A5ALUF@>9I:5ALU 9n"o E :O9I:5ALUF@>C?CL E :OC?CLF@>CAC Ta"a4o E :OCACF@G

    6 una secuenca alcana el %alor "'"o # no es

    cclca, la pr$'"a %e 3ue se le solcte un %alorOracle en%ar un error. Con el co"ando ALT/ se puede ca"bar el

    ncre"ento, el %alor "'"o, el %alor "n"o, ses o no cclca # s usa o no cac0e # el ta"a4o del"s"o

    Para alterar una secuenca se debe ser el due4o oposeer el pr%le+o de ALT/ sobre la secuenca

    Al alterar una secuenca, s$lo se a-ectan los%alores -uturos

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    14/30Universidad del Cauca FIET 12-14

    9odcar una secuencaALT/ 6=U:C :o"bre6ecuenca

    >I:C/9:T B? Incre"ento@>9A5ALU 9'"o E :O9A5ALUF@>9I:5ALU 9n"o E :O9I:5ALUF@>C?CL E :OC?CLF@>CAC Ta"a4o E :OCACF@G

    Con la sentenca ALT/ no se puede ca"barel %alor ncal, para ello se debe borrar #recrear la secuenca con el %alor deseado

    Al alterar una secuenca se ejecuta certa

    %aldac$n, por eje"plo, no se puede as+narun %alor a 9A5ALU 3ue sea "enor al %aloractual de la secuenca. n este caso elco"ando no se ejecuta

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    15/30

    Universidad del Cauca FIET 12-15

    l"nar una secuenca

    D/OP 6=U:C :o"bre6ecuencaG

    l"na la secuenca #borra la denc$n deldcconaro de datos

    Despus de borraruna secuenca, no sepuede usar :T5AL #CU//5AL sobre ella

    6e debe ser el due4ode la secuenca oposeer el pr%le+o deD/OP A:? 6=U:C

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    16/30

    Universidad del Cauca FIET 12-1

    8ndces

    s un objeto de un es3ue"a s usado por el 6er%dor Oracle para au"entar

    la %elocdad de recuperac$n de las las deuna tabla usando apuntadores

    Per"ten reducr la H6 de dsco usando un"todo de acceso rpdo para ubcar los datos 6on l$+ca # -sca"ente ndependentes de la

    tabla 3ue nde'an 6on usados # "antendos auto"tca"ente

    por el 6er%dor Oracle Cuando se borra una tabla, los ndces

    relaconados se el"nan

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    17/30

    Universidad del Cauca FIET 12-1!

    Cundo se crean los ndces

    Auto"tca"ente Un ndce &nco se crea auto"tca"ente

    cuando se dene una restrcc$n P/I9A/?? o U:I=U. l no"bre del ndcecorresponde al no"bre dado a la restrcc$n

    9anual"ente Los usuaros pueden crear "anual"ente

    ndces &ncos # no &ncos en las colu"nasde una tabla para "ejorar la %elocdad de

    acceso a las las :o se reco"enda crear ndces &ncos en

    -or"a "anual

    6 l $ d

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    18/30

    Universidad del Cauca FIET 12-1"

    6nta's para la creac$n dendces

    C/AT >U:I=UEBIT9AP@ I:D :o"breDelIndceO: >s3ue"a.@:o"breTabla ( Colu"na1 >, Colu"na2, Q@ >A6C E D6C@*G

    Para crear un ndce! l usuaro debe ser due4o de la tabla, o l usuaro debe tener per"so de nde'ar (I:D* la tabla, o l usuaro debe tener el pr%le+o de C/AT A:? I:D

    a# dos tpos de ndces bscos Rrboles BS! 9s co"&n"ente usados 9apas de bts! Para operacones l$+cas en ca"pos con

    pocos %alores dstntos, por eje"plo una clusula

    / 7enero9V O/ stadoC%lCV Otros! 8ndces 0as0 sobre clusters, Rrboles BS sobre clusters,

    8ndces de cla%e n%ersa, 8ndces basados en -uncones

    6 t l $ d

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    19/30

    Universidad del Cauca FIET 12-1#

    6nta's para la creac$n dendces

    Por eje"plo, crear un ndce para "ejorar la%elocdad de consulta por el no"bre de lose"pleados

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    20/30

    Universidad del Cauca FIET 12-2$

    Cundo crear un ndce

    6e debe crear un ndce s! La colu"na contene un a"plo ran+o de %alores La colu"na contene un bajo ran+o de %alores (Bt"aps* La colu"na contene una +ran cantdad de %alores :ULL

    # las consultas buscan un %alor deter"nado (W de :ULL* Una o "s colu"nas son -recuente"ente usadas en una

    clusula / o una condc$n de XOI:. s nor"al crearndces en colu"nas con restrcc$n de lla%e -ornea La tabla es "u# +rande # se espera 3ue la "a#ora de las

    consultas recuperan "enos del 2 o YZ (1)Z* de las lasde la tabla

    Crear ndces sobre una tabla :O s+nca "s

    %elocdad en las consultas Cada D9L sobre la tabla debe "odcar los ndcesasocados

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    21/30

    Universidad del Cauca FIET 12-21

    Cundo :O crear un ndce

    :or"al"ente :O es apropado crear unndce s! La tabla es pe3ue4a (2)[H)12 las* La colu"na o colu"nas :O son usadas

    -recuente"ente en una clusula / o unacondc$n de XOI:

    La "a#ora de consultas por la colu"narecuperan "s del YZ (1)Z* de las las de latabla

    La tabla es "odcada -recuente"ente Las colu"nas del ndce son re-erencadas co"oparte de una e'pres$n en la clusula /

    C lt d l

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    22/30

    Universidad del Cauca FIET 12-22

    Consultar ndces en eldcconaro

    UserKInde'es # UserKIndKColu"ns

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    23/30

    Universidad del Cauca FIET 12-23

    8ndces basados en -uncones

    s un ndcebasado en unae'pres$n

    La e'pres$nnclu#e colu"nasde la tabla,constantes,

    -uncones 6=L #-uncones dendaspor el usuaro

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    24/30

    Universidad del Cauca FIET 12-24

    l"nar ndcesD/OP I:D :o"breDelIndceG

    l"na un ndce del es3ue"a # su denc$ndel dcconaro de datos

    Para el"nar un ndce debe ser el due4o o

    tener el per"so de D/OP A:? I:D Para "odcar un ndce se debe borrar #

    recrearlo Cuando se el"na una tabla se el"na los

    ndces # las restrccones asocadas pero las%stas # las secuencas se "antenen. Las%stas 3uedan en estado n%aldo

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    25/30

    Universidad del Cauca FIET 12-25

    l"nando un ndce

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    26/30

    Universidad del Cauca FIET 12-2

    6n$n"osC/AT >PUBLIC@ 6?:O:?9 :o"bre6non"oMO/ >s3ue"a.@ObjetoG

    6r%en para s"plcar el acceso a los objetos(otro no"bre para un objeto, s"lar a unacceso drecto de ndo\s*

    Con los sn$n"os se puede! Macltar el acceso a objetos de otro es3ue"a, #a 3ue

    no se necesta el prejo del es3ue"a stablecer no"bres cortos para objetos 3ue tenen

    no"bres lar+os

    /estrccones l objeto no puede estar contendo en un pa3uete l no"bre de un sn$n"o pr%ado debe ser d-erente

    al de cual3uer otro objeto del es3ue"a del usuaro

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    27/30

    Universidad del Cauca FIET 12-2!

    6n$n"os

    l ad"nstrador del sste"a puede crearsn$n"os p&blcos a todos los usuaros

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    28/30

    Universidad del Cauca FIET 12-2"

    n esta lecc$n usted deb$ aprender! 7enerar n&"eros secuencales en -or"a

    auto"tca para dentcar tablas 5er la n-or"ac$n de las secuencas del

    es3ue"a en U6/K6=U:C6 Crear ndces para "ejorar la %elocdad de

    acceso a las las de una tabla 5er la n-or"ac$n de los ndces del es3ue"a

    en U6/KI:D6 # U6/KI:DKCOLU9:6 Usar sn$n"os para dar no"bres alternat%osa objetos del "s"o es3ue"a o de otro

    /esu"en

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    29/30

    Universidad del Cauca FIET 12-2#

    /ealar una prctca de oc0o (]*puntos 3ue per"te practcar! La creac$n de secuencas

    l uso de secuencas La creac$n de ndces no &ncos l desple+ue de la n-or"ac$n del

    dcconaro de datos relaconada consecuencas e ndces Borrar ndces

    Practca 12

  • 7/24/2019 CapituloORA12 Otros Objetos de La Base de Datos 30

    30/30

    Universidad del Cauca FIET 12-3$

    Desarrollar un e'a"en de de(1* pre+untas en "odo deaprendaje (Learnn+ "ode*,

    selecconados en -or"a aleatora. /ealar una corta real"entac$n

    de cada una de las pre+untas.

    Te"a! Creatn+ Ot0er DatabaseObjects

    'a"en posteror