ID: dbdoc-MYSMojmír Němeček
Revize: 0.1SIS Spektrum
Klíčová slova: technická dokumentace, databáze
Statut: oficiální7.10.2005

Databázová struktura modulu MYS


Statut tohoto dokumentu

Toto je automaticky vygenerovaná část oficiální technické dokumentace.

Abstrakt

Tento dokument byl vygenerován automatem a popisuje databázovou strukturu modulu MYS - Jádro pro podporu modulů a SQL abstrakce.

Obsah

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

1. Úvod

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.

2. Tabulky

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.

2.1. Interní tabulka Users

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:

IDnázevpopis
Users.UserIDUserIDInterní kód uživatele
Users.UserNameUserNamePřihlašovací jméno uživatele
Users.UserPwdUserPwdMD5 kód přihlašovacího hesla
Users.UserFlagsUserFlagsPole 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
1N
Users.UserIDSessions.UserID

2.2. Interní tabulka Props

Záznamy v tabulce Props ( Paměť pro bloky parametrů ) jsou jednoznačně identifikovatelné hodnotou atributu PropID. Tabulka obsahuje tyto atributy:

IDnázevpopis
Props.PropIDPropIDIdentifikátor bloku ( např. jméno modulu )
Props.PropDataPropDataBlok pojmenovaných parametrů typu Variant kódovaný ve formátu TPropSet stream

2.3. Interní tabulka Apps

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:

IDnázevpopis
Apps.AppIDAppIDIdentifikátor modulu ( aplikace )
Apps.VersionVersionVerze modulu, který je v databázi nainstalovaný

Na záznamy v tabulce Apps se odkazují i jiné tabulky svými atributy:

Relace 1 <- N
1N
Apps.AppIDSessions.AppID

2.4. Interní tabulka Sessions

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:

IDnázevpopis
Sessions.SessionIDSessionIDJednoznačné číslo připojení
Sessions.AppIDAppIDIdentifikátor použitého modulu
Sessions.UserIDUserIDKó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
N1
Sessions.AppIDApps.AppID
Sessions.UserIDUsers.UserID

Na záznamy v tabulce Sessions se odkazují i jiné tabulky svými atributy:

Relace 1 <- N
1N
Sessions.SessionIDLocks.SessionID

2.5. Interní tabulka Locks

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:

IDnázevpopis
Locks.LockNameLockNameIdentifikátor zámku, jednoznačný v rámci databáze
Locks.SessionIDSessionIDIdentifikač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
N1
Locks.SessionIDSessions.SessionID

2.6. Interní tabulka Regions

Záznamy v tabulce Regions jsou jednoznačně identifikovatelné hodnotou atributu RegionName. Tabulka obsahuje tyto atributy:

IDnázevpopis
Regions.RegionNameRegionNameTODO:
Regions.RegionIDRegionIDTODO:
Regions.RegionAgeRegionAgeTODO:

2.7. Interní tabulka Generators

Záznamy v tabulce Generators jsou jednoznačně identifikovatelné hodnotou atributu GeneratorName. Tabulka obsahuje tyto atributy:

IDnázevpopis
Generators.GeneratorNameGeneratorNameTODO:
Generators.GeneratorValueGeneratorValueTODO: