|
![]() | Systémový jazyk a znaková sada | ![]() | Databáze | Zkompaktnění databáze | ![]() |
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"
Tyto konstanty označují jednotlivé kategorie objektů 602SQL. Jsou to konstanty typu Integer:
kategorie objektů aplikace | ||
CATEG_TABLE | tabulka | 0 |
CATEG_CURSOR | dotaz | 3 |
CATEG_PGMSRC | popis přenosu dat | 4 |
CATEG_APPL | aplikace | 7 |
CATEG_ROLE | role v aplikaci | 10 |
CATEG_DRAWING | diagram | 13 |
CATEG_PROC | uložená procedura | 16 |
CATEG_TRIGGER | trigger | 17 |
CATEG_FOLDER | složka (folder) | 19 |
CATEG_SEQ | sekvence | 20 |
CATEG_INFO | fulltext | 21 |
CATEG_DOMAIN | doména | 22 |
CATEG_STSH | stylesheet | 23 |
CATEG_XMLFORM | XML formulář | 24 |
kategorie objektů databáze | ||
CATEG_USER | uživatel | 1 |
CATEG_GROUP | skupina 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.
![]() | Systémový jazyk a znaková sada | ![]() | Databáze | Zkompaktnění databáze | ![]() |