capituloora12 otros objetos de la base de datos 30

Upload: mily-abanto

Post on 22-Feb-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 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