Oracle Database дае інфармацыю аб усіх табліцах, прадстаўленнях, слупках і працэдурах у базе даных. Гэтая інфармацыя аб інфармацыі вядомая як метаданыя. Яны захоўваюцца ў двух месцах: табліцы слоўніка даных (доступ да якіх можна атрымаць праз убудаваныя прадстаўленні) і рэестры метаданых.
Іншыя сістэмы кіравання рэляцыйнымі базамі даных падтрымліваюць эквівалент стандарту ANSI, які называецца інфармацыйнай схемай.
Прадстаўленні метаданых Агульная колькасць прадстаўленняў залежыць ад версіі Oracle, але знаходзіцца ў дыяпазоне 1000.
Асноўных убудаваных прадстаўленняў для доступу да табліц слоўніка даных Oracle RDBMS некалькі, і яны наступныя:
ALL_OBJECTS — спіс усіх аб’ектаў бягучай базы даных, даступных бягучаму карыстальніку; ALL_TABLES — спіс усіх табліц бягучай базы даных, даступных бягучаму карыстальніку; ALL_VIEWS — спіс усіх прадстаўленняў у бягучай базе даных, даступных бягучаму карыстальніку; ALL_TAB_COLUMNS — спіс усіх калонак базы даных, даступных бягучаму карыстальніку; ALL_ARGUMENTS — спіс аргументаў функцый і працэдур, даступных бягучаму карыстальніку; ALL_ERRORS — пералічвае апісанні памылак на ўсіх захаваных аб’ектах (выглядах, працэдурах, функцыях, пакетах і целах пакетаў), якія даступныя бягучаму карыстальніку; ALL_OBJECT_SIZE — уключаны для зваротнай сумяшчальнасці з Oracle версіі 5; ALL_PROCEDURES — (ад Oracle 9 і далей) пералічвае ўсе функцыі і працэдуры (разам з звязанымі ўласцівасцямі), якія даступныя бягучаму карыстальніку; ALL_SOURCE — апісвае тэкставы (г.зн PL/SQL) зыходнік захаваных аб’ектаў, даступных для бягучага карыстальніка; ALL_TRIGGERS — спіс усіх трыгераў, даступных для бягучага карыстальніка.
Акрамя таго, ёсць эквівалентныя прадстаўленні з прэфіксам «USER_», якія паказваюць толькі аб’екты, якія належаць цяперашнему карыстальніку, і з прэфіксам «DBA_», якія паказваюць усе аб’екты ў базе даных. Натуральна, доступ да прадстаўленняў метаданых «DBA_» патрабуе пэўных правоў.
Прыклад 1: пошук табліц Знайсці ўсе табліцы, якія маюць PATTERN у назве табліцы: SELECT Owner AS Schema_Name, Table_Name FROM All_Tables WHERE Table_Name LIKE '%PATTERN%' ORDER BY Owner, Table_Name;
Прыклад 2: пошук слупкоў Знайсці ўсе табліцы, якія маюць хаця б адзін слупок, які адпавядае пэўнаму PATTERN у назве слупка: SELECT Owner AS Schema_Name, Table_Name, Column_Name FROM All_Tab_Columns WHERE Column_Name LIKE '%PATTERN%' ORDER BY 1,2,3;
Прыклад 3: падлік радкоў слупкоў Ацаніць агульную колькасць радкоў ва ўсіх табліцах, якія змяшчаюць імя слупка, якое супадае з PATTERN (гэта спецыяльны скрыпт SQL*Plus): COLUMN DUMMY NOPRINT COMPUTE SUM OF NUM_ROWS ON DUMMY BREAK ON DUMMY SELECT NULL DUMMY, T.TABLE_NAME, C.COLUMN_NAME, T.NUM_ROWS FROM ALL_TABLES T, ALL_TAB_COLUMNS C WHERE T.TABLE_NAME = C.TABLE_NAME AND C.COLUMN_NAME LIKE '%PATTERN%' AND T.OWNER = C.OWNER ORDER BY T.TABLE_NAME;Звярніце ўвагу, што NUM_ROWS запісвае колькасць радкоў, якія былі ў табліцы, калі яна была прааналізавана ў апошні раз. Гэта, хутчэй за ўсё, будзе адрознівацца ад фактычнай колькасці радкоў у табліцы.
Крыніцы
Спасылкі артыкул пра метаданыя Oracle
Катэгорыя:Метаданыя Катэгорыя:Oracle Катэгорыя:SQL Катэгорыя:Базы даных