602SQL-Úplná dokumentace Index  

Systémové tabulky

Databáze obsahuje několik systémových tabulek, v nichž jsou uloženy například definice ostatních tabulek, definice dalších objektů, seznam uživatelů a další důležité údaje.

Nedoporučujeme pracovat přímo s těmito tabulkami. Pro vytváření, modifikování a mazání objektů používejte buď interaktivní vývojové prostředí nebo příslušné API funkce nebo SQL příkazy. Struktura systémových tabulek se může v dalších verzích 602SQL měnit.

Mezi systémové tabulky patří:

OBJTAB tabulka objektů všech aplikací (dotazy, procedury, role apod.) - přístupná pro čtení i zápis
TABTAB tabulka tabulek všech aplikací - pouze pro čtení
USERTAB tabulka uživatelů a skupin - pouze pro čtení

Přehled vybraných sloupců systémových tabulek:

Sloupec OBJTAB TABTAB USERTAB Typ Význam
OBJ_NAME ano -- -- CHAR(31) jméno objektu
TAB_NAME -- ano -- CHAR(31) jméno tabulky
LOGNAME -- -- ano CHAR(31) jméno uživatele nebo skupiny
CATEGORY ano ano ano CHAR kategorie objektu
APL_UUID ano ano -- BINARY(12) identifikace aplikace
USR_UUID -- -- ano BINARY(12) identifikace uživatele (skupiny)
DEFIN ano ano -- BLOB textová definice objektu
FOLDER_NAME ano ano -- CHAR(31) jméno folderu (složky) na řídicím panelu
LAST_MODIF ano ano -- TIMESTAMP datum a čas vytvoření nebo poslední změny

Příklad: zjistit jména uživatelů databáze

Řešení: položte dotaz

SELECT logname
FROM Usertab
WHERE (Usertab.category=Chr(CATEG_USER))

Příklad: vybrat objekty patřící aplikaci "APLIKACE1"

Řešení: položte postupně dva dotazy

SELECT T2.obj_name,Ord(T2.category)
FROM Objtab T1, Objtab T2
WHERE T1.apl_uuid=T2.apl_uuid
 AND (T1.obj_name="APLIKACE1" AND Ord(T1.category)=CATEG_APPL)

a

SELECT Tabtab.tab_name
FROM Objtab, Tabtab
WHERE Objtab. apl_uuid =Tabtab. apl_uuid
 AND Objtab.obj_name="APLIKACE1"

Konstanty kategorií objektů

Tyto konstanty označují jednotlivé kategorie objektů 602SQL. Jsou to konstanty typu Integer:

kategorie objektů aplikace  
CATEG_TABLEtabulka 0
CATEG_CURSORdotaz3
CATEG_PGMSRCpopis přenosu dat4
CATEG_APPLaplikace 7
CATEG_ROLE role v aplikaci10
CATEG_DRAWING diagram13
CATEG_PROCuložená procedura16
CATEG_TRIGGERtrigger17
CATEG_FOLDERsložka (folder)19
CATEG_SEQsekvence20
CATEG_INFOfulltext21
CATEG_DOMAINdoména22
CATEG_STSHstylesheet23
CATEG_XMLFORMXML formulář24
kategorie objektů databáze  
CATEG_USERuživatel 1
CATEG_GROUPskupina uživatelů9

POZOR! Sloupec CATEGORY v systémových tabulkách je typu Char, proto při porovnávání nezapomeňte provést konverzi funkcemi Ord nebo Chr.