ID: dbdoc-MYS | Mojmír Němeček |
Revize: 0.1 | SIS Spektrum |
Klíčová slova: technická dokumentace, databáze | |
Statut: oficiální | 7.10.2005 |
Toto je automaticky vygenerovaná část oficiální technické dokumentace.
Tento dokument byl vygenerován automatem a popisuje databázovou strukturu modulu MYS - Jádro pro podporu modulů a SQL abstrakce.
1. Úvod
2. Tabulky
2.1. Interní tabulka Users
2.2. Interní tabulka Props
2.3. Interní tabulka Apps
2.4. Interní tabulka Sessions
2.5. Interní tabulka Locks
2.6. Interní tabulka Regions
2.7. Interní tabulka Generators
Tento dokument byl vygenerován automatem a popisuje databázovou strukturu modulu MYS - Jádro pro podporu modulů a SQL abstrakce.
Nedílnou součástí modulu MYS jsou programátorské knihovny pro přístup k databázi. Hlavní knihovna se jmenuje uMyskaDB a definuje mechanismy pro zachování integrity databáze a funkce pro zajištění podpory různých SQL databází.
Dokument zejména popisuje význam atributů v tabulkách které modul spravuje.Modul MYS definuje a spravuje tyto tabulky: Users ( Seznam uživatelů ), Props ( Paměť pro bloky parametrů ), Apps ( Seznam instalovaných modulů ), Sessions ( Seznam aktivních připojení ), Locks ( Seznam aktivních zámků ), Regions, Generators.
Záznamy v tabulce Users ( Seznam uživatelů ) jsou jednoznačně identifikovatelné hodnotou atributu UserID. Pro generování jednoznačných hodnot klíčového atributu se používá generátor MYS.UserID. Tabulka obsahuje tyto atributy:
ID | název | popis |
---|---|---|
Users.UserID | UserID | Interní kód uživatele |
Users.UserName | UserName | Přihlašovací jméno uživatele |
Users.UserPwd | UserPwd | MD5 kód přihlašovacího hesla |
Users.UserFlags | UserFlags | Pole bitových příznaků. ( 1 = přístup zakázán ) |
Na záznamy v tabulce Users se odkazují i jiné tabulky svými atributy:
Relace 1 <- N | |
---|---|
1 | N |
Users.UserID | Sessions.UserID |
Záznamy v tabulce Props ( Paměť pro bloky parametrů ) jsou jednoznačně identifikovatelné hodnotou atributu PropID. Tabulka obsahuje tyto atributy:
ID | název | popis |
---|---|---|
Props.PropID | PropID | Identifikátor bloku ( např. jméno modulu ) |
Props.PropData | PropData | Blok pojmenovaných parametrů typu Variant kódovaný ve formátu TPropSet stream |
Tato tabulka obsahuje seznam instalovaných modulů a jejich verze. Přístupové mechanismy v knihovně uMyskaDB a uMyskaApp automaticky zajišťují restrukturalizaci databáze tak, aby její struktura odpovídala požadavkům programu. Přístup programu který očekává starší verzi části databáze nebude povolen a nedojde tedy k narušení integrity. Program který očekává novější verzi části databáze spustí před přístupem instalační nebo aktualizační skripty.
Záznamy v tabulce Apps ( Seznam instalovaných modulů ) jsou jednoznačně identifikovatelné hodnotou atributu AppID. Tabulka obsahuje tyto atributy:
ID | název | popis |
---|---|---|
Apps.AppID | AppID | Identifikátor modulu ( aplikace ) |
Apps.Version | Version | Verze modulu, který je v databázi nainstalovaný |
Na záznamy v tabulce Apps se odkazují i jiné tabulky svými atributy:
Relace 1 <- N | |
---|---|
1 | N |
Apps.AppID | Sessions.AppID |
Každé připojení k databázi je podobu své aktivity identifikováno jednoznačným číslem připojení. Tato tabulka udržuje seznam aktivních připojení, včetně informace o používaných modulech a o identitě uživatele. Pokud není k databázi připojený žádný program, je tabulka prázdná.
Záznamy v tabulce Sessions ( Seznam aktivních připojení ) jsou jednoznačně identifikovatelné hodnotami atributů SessionID;AppID. Pro generování jednoznačných hodnot klíčového atributu se používá generátor MYS.Session. Tabulka obsahuje tyto atributy:
ID | název | popis |
---|---|---|
Sessions.SessionID | SessionID | Jednoznačné číslo připojení |
Sessions.AppID | AppID | Identifikátor použitého modulu |
Sessions.UserID | UserID | Kód autentikovaného uživatele |
Záznam v tabulce Sessions obsahuje identifikační odkazy na záznamy v jiných tabulkách:
Relace N -> 1 | |
---|---|
N | 1 |
Sessions.AppID | Apps.AppID |
Sessions.UserID | Users.UserID |
Na záznamy v tabulce Sessions se odkazují i jiné tabulky svými atributy:
Relace 1 <- N | |
---|---|
1 | N |
Sessions.SessionID | Locks.SessionID |
Pro zajištění integrity databáze je třeba provádět komplexnější sekvence příkazů atomicky - tj. nedělitelně, nepřerušitelně. Kromě transakcí je možno použít mechanismus exkluzivních zámků. K pojmenování zámků slouží textové řetězce blíže nespecifikovaného významu. Tato tabulka obsahuje seznam aktivních zámků, včetně informace o připojení, které je momentálním exkluzivním vlastníkem zámku.
Záznamy v tabulce Locks ( Seznam aktivních zámků ) jsou jednoznačně identifikovatelné hodnotou atributu LockName. Tabulka obsahuje tyto atributy:
ID | název | popis |
---|---|---|
Locks.LockName | LockName | Identifikátor zámku, jednoznačný v rámci databáze |
Locks.SessionID | SessionID | Identifikační číslo připojení, které zámek "drží" |
Záznam v tabulce Locks obsahuje identifikační odkazy na záznamy v jiných tabulkách:
Relace N -> 1 | |
---|---|
N | 1 |
Locks.SessionID | Sessions.SessionID |
Záznamy v tabulce Regions jsou jednoznačně identifikovatelné hodnotou atributu RegionName. Tabulka obsahuje tyto atributy:
ID | název | popis |
---|---|---|
Regions.RegionName | RegionName | TODO: |
Regions.RegionID | RegionID | TODO: |
Regions.RegionAge | RegionAge | TODO: |
Záznamy v tabulce Generators jsou jednoznačně identifikovatelné hodnotou atributu GeneratorName. Tabulka obsahuje tyto atributy:
ID | název | popis |
---|---|---|
Generators.GeneratorName | GeneratorName | TODO: |
Generators.GeneratorValue | GeneratorValue | TODO: |