ID: dbdoc-TODO | Mojmír Němeček |
Revize: 4.0 | SIS Spektrum |
Klíčová slova: technická dokumentace, databáze | |
Statut: oficiální | 3.6.2005 |
Toto je automaticky vygenerovaná část oficiální technické dokumentace.
Tento dokument byl vygenerován automatem a popisuje databázovou strukturu modulu TODO.
1. Úvod
2. Tabulky
2.1. Tabulka TaskGroup
2.2. Tabulka Task
2.3. Tabulka TaskNote
2.4. Interní tabulka PriorityEnum
2.5. Interní tabulka CategoryEnum
2.6. Interní tabulka StatusEnum
2.7. Interní tabulka ActivityEnum
Příloha A. SQL skripty pro založení tabulek
Tento dokument byl vygenerován automatem a popisuje databázovou strukturu modulu TODO. Dokument zejména popisuje význam atributů v tabulkách které modul spravuje.
Modul TODO definuje a spravuje tyto tabulky: TaskGroup ( Seznam skupin úkolů ), Task ( Seznam úkolů ), TaskNote ( Seznam doplňujících poznámek k úkolům ), PriorityEnum ( Číselník priorit ), CategoryEnum ( Číselník kategorií úkolů ), StatusEnum ( Číselník stavů úkolu ), ActivityEnum ( Číselník aktivit úkolu ).
Záznamy v tabulce TaskGroup ( Seznam skupin úkolů ) jsou jednoznačně identifikovatelné hodnotou atributu GroupID. Pro generování jednoznačných hodnot klíčového atributu se používá generátor TaskGroup. Pro alternativní identifikaci záznamu je doporučený výraz Description. Tabulka obsahuje tyto atributy:
ID | název | popis |
---|---|---|
TaskGroup.GroupID | Projekt | Interní identifikační kód projektu |
TaskGroup.Description | Název | Název projektu |
TaskGroup.NumSeed | NumSeed | Naposledy přidělený číselný identifikátor úkolu |
TaskGroup.Modified | Modified | Datum poslední změny projektu |
Na záznamy v tabulce TaskGroup se odkazují i jiné tabulky svými atributy:
Relace 1 <- N | |
---|---|
1 | N |
TaskGroup.GroupID | Task.GroupID |
TaskGroup.GroupID | TaskNote.GroupID |
Záznamy v tabulce Task ( Seznam úkolů ) jsou jednoznačně identifikovatelné hodnotou atributu TaskID. Pro generování jednoznačných hodnot klíčového atributu se používá generátor Task. Tabulka obsahuje tyto atributy:
ID | název | popis |
---|---|---|
Task.TaskID | TaskID | Interní identifikační kód úkolu |
Task.GroupID | Projekt | Kód bezprostředně nadřazeného projektu |
Task.Num | ID | Číselný identifikátor úkolu jednoznačný v rámci projektu |
Task.Module | Modul | TODO: |
Task.Created | Vloženo | Datum vložení úkolu |
Task.Resolved | Vyřešeno | Datum vyřešení úkolu |
Task.Closed | Uzavřeno | Datum uzavření úkolu |
Task.Notes | Text | Zadání úkolu |
Task.Priority | Priorita | TODO: |
Task.Category | Kategorie | TODO: |
Task.Status | Stav | TODO: |
Task.Activity | Aktivita | TODO: |
Task.Milestone | Milník | TODO: |
Task.ReporterID | Autor | Kdo úkol vložil do systému |
Task.SolverID | Řeší | Kdo zodpovídá za vyřešení úkolu |
Záznam v tabulce Task obsahuje identifikační odkazy na záznamy v jiných tabulkách:
Relace N -> 1 | |
---|---|
N | 1 |
Task.GroupID | TaskGroup.GroupID |
Task.Priority | PriorityEnum.Num |
Task.Category | CategoryEnum.Num |
Task.Status | StatusEnum.Num |
Task.Activity | ActivityEnum.Num |
Task.ReporterID | MYS\Users.Primární klíč |
Task.SolverID | MYS\Users.Primární klíč |
Na záznamy v tabulce Task se odkazují i jiné tabulky svými atributy:
Relace 1 <- N | |
---|---|
1 | N |
Task.TaskID | TaskNote.TaskID |
Záznamy v tabulce TaskNote ( Seznam doplňujících poznámek k úkolům ) jsou jednoznačně identifikovatelné hodnotou atributu NoteID. Pro generování jednoznačných hodnot klíčového atributu se používá generátor TaskNote. Tabulka obsahuje tyto atributy:
ID | název | popis |
---|---|---|
TaskNote.NoteID | NoteID | TODO: |
TaskNote.TaskID | TaskID | TODO: |
TaskNote.GroupID | Projekt | Kód bezprostředně nadřazeného projektu |
TaskNote.Created | Vloženo | Datum vložení poznámky |
TaskNote.Notes | Text | Poznámka k úkolu |
TaskNote.ReporterID | Autor | Autor poznámky |
Záznam v tabulce TaskNote obsahuje identifikační odkazy na záznamy v jiných tabulkách:
Relace N -> 1 | |
---|---|
N | 1 |
TaskNote.TaskID | Task.TaskID |
TaskNote.GroupID | TaskGroup.GroupID |
TaskNote.ReporterID | MYS\Users.Primární klíč |
Záznamy v tabulce PriorityEnum ( Číselník priorit ) jsou jednoznačně identifikovatelné hodnotou atributu Num. Pro alternativní identifikaci záznamu je doporučený výraz Description. Tabulka obsahuje tyto atributy:
ID | název | popis |
---|---|---|
PriorityEnum.Num | Num | TODO: |
PriorityEnum.NumCode | NumCode | TODO: |
PriorityEnum.Description | Description | TODO: |
Na záznamy v tabulce PriorityEnum se odkazují i jiné tabulky svými atributy:
Relace 1 <- N | |
---|---|
1 | N |
PriorityEnum.Num | Task.Priority |
Záznamy v tabulce CategoryEnum ( Číselník kategorií úkolů ) jsou jednoznačně identifikovatelné hodnotou atributu Num. Pro alternativní identifikaci záznamu je doporučený výraz Description. Tabulka obsahuje tyto atributy:
ID | název | popis |
---|---|---|
CategoryEnum.Num | Num | TODO: |
CategoryEnum.NumCode | NumCode | TODO: |
CategoryEnum.Description | Description | TODO: |
Na záznamy v tabulce CategoryEnum se odkazují i jiné tabulky svými atributy:
Relace 1 <- N | |
---|---|
1 | N |
CategoryEnum.Num | Task.Category |
Záznamy v tabulce StatusEnum ( Číselník stavů úkolu ) jsou jednoznačně identifikovatelné hodnotou atributu Num. Pro alternativní identifikaci záznamu je doporučený výraz Description. Tabulka obsahuje tyto atributy:
ID | název | popis |
---|---|---|
StatusEnum.Num | Num | TODO: |
StatusEnum.NumCode | NumCode | TODO: |
StatusEnum.Description | Description | TODO: |
Na záznamy v tabulce StatusEnum se odkazují i jiné tabulky svými atributy:
Relace 1 <- N | |
---|---|
1 | N |
StatusEnum.Num | Task.Status |
Záznamy v tabulce ActivityEnum ( Číselník aktivit úkolu ) jsou jednoznačně identifikovatelné hodnotou atributu Num. Pro alternativní identifikaci záznamu je doporučený výraz Description. Tabulka obsahuje tyto atributy:
ID | název | popis |
---|---|---|
ActivityEnum.Num | Num | TODO: |
ActivityEnum.NumCode | NumCode | TODO: |
ActivityEnum.Description | Description | TODO: |
Na záznamy v tabulce ActivityEnum se odkazují i jiné tabulky svými atributy:
Relace 1 <- N | |
---|---|
1 | N |
ActivityEnum.Num | Task.Activity |
Soubor instalace4.sql obsahuje příkazy v kódu Myška SQL, které založí popsanou databázovou strukturu:
/* AppID = "TODO" AppVersion = 4 */ create table TaskGroup ( GroupID {db.type.generator} not null primary key, Description {db.type.string(40)}, NumSeed {db.type.integer}, Modified {db.type.datetime} ); type.userID = '{db.type.integer}'; create table Task ( TaskID {db.type.generator} not null primary key, GroupID {db.type.generator}, Num {db.type.integer}, Module {db.type.string(40)}, Created {db.type.datetime}, Resolved {db.type.datetime}, Closed {db.type.datetime}, Notes {db.type.memo}, Priority {db.type.integer}, Category {db.type.integer}, Status {db.type.integer}, Activity {db.type.integer}, Milestone {db.type.date}, ReporterID {type.userID}, SolverID {type.userID} ); create table TaskNote ( NoteID {db.type.generator} not null primary key, TaskID {db.type.generator}, GroupID {db.type.generator}, Created {db.type.datetime}, Notes {db.type.memo}, ReporterID {type.userID} ); create table {app.table.name(PriorityEnum)} ( Num {db.type.integer} not null primary key, NumCode {db.type.string(40)}, Description {db.type.string(40)} ); create index Task_1 on Task(Num); create index Task_2 on Task(GroupID); create index TaskNote_1 on TaskNote(GroupID); @insert = 'insert into {app.table.name(PriorityEnum)}(Num, NumCode, Description) values'; {@insert} (1, 'highFix' , 'musí se vyřešit !!'); {@insert} (2, 'mediumFix' , 'musí se vyřešit !' ); {@insert} (3, 'lowFix' , 'musí se vyřešit' ); {@insert} (4, 'highWhenIdle' , 'až bude čas !!' ); {@insert} (5, 'mediumWhenIdle', 'až bude čas !' ); {@insert} (6, 'lowWhenIdle' , 'až bude čas' ); {@insert} (7, 'dontFix' , 'neřešit' ); create table {app.table.name(CategoryEnum)} ( Num {db.type.integer} not null primary key, NumCode {db.type.string(40)}, Description {db.type.string(40)} ); @insert = 'insert into {app.table.name(CategoryEnum)}(Num, NumCode, Description) values'; {@insert} (1, 'bug' , 'chyba' ); {@insert} (2, 'task' , 'úkol' ); {@insert} (3, 'feature' , 'námět' ); {@insert} (4, 'question', 'otázka' ); {@insert} (5, 'event' , 'událost'); create table {app.table.name(StatusEnum)} ( Num {db.type.integer} not null primary key, NumCode {db.type.string(40)}, Description {db.type.string(40)} ); @insert = 'insert into {app.table.name(StatusEnum)}(Num, NumCode, Description) values'; {@insert} (1 , 'active' , 'aktivní' ); {@insert} (2 , 'bugFixed' , 'opraveno' ); {@insert} (3 , 'bugNoReproduce' , 'neopakovatelné' ); {@insert} (4 , 'bugDuplicate' , 'duplicitní' ); {@insert} (5 , 'bugPostponed' , 'odloženo' ); {@insert} (6 , 'bugWontFix' , 'nebude se opravovat' ); {@insert} (7 , 'bugNotBug' , 'vlastnost není chyba' ); {@insert} (8 , 'taskFixed' , 'splněno' ); {@insert} (9 , 'taskDuplicate' , 'duplicitní' ); {@insert} (10, 'taskWontFix' , 'nebude se dělat' ); {@insert} (11, 'taskAlreadyImplemented' , 'už je to hotové' ); {@insert} (12, 'featureImplemented' , 'implementováno' ); {@insert} (13, 'featureWontImplement' , 'nebude se implementovat'); {@insert} (14, 'featureAlreadyImplemented', 'už implementováno' ); {@insert} (15, 'questionResponded' , 'zodpovězena' ); {@insert} (16, 'questionWontRespond' , 'nebude se reagovat' ); {@insert} (17, 'questionSPAM' , 'šum' ); {@insert} (18, 'questionWaitingForInfo' , 'je třeba více informací'); {@insert} (19, 'featureDuplicate' , 'duplicitní požadavek' ); create table {app.table.name(ActivityEnum)} ( Num {db.type.integer} not null primary key, NumCode {db.type.string(40)}, Description {db.type.string(40)} ); @insert = 'insert into {app.table.name(ActivityEnum)}(Num, NumCode, Description) values'; {@insert} (1, 'notStarted' , 'čeká' ); {@insert} (2, 'scheduledDevelopment', 'plánovaná výroba' ); {@insert} (3, 'developing' , 've výrobě' ); {@insert} (4, 'scheduledTesting' , 'plánované testování'); {@insert} (5, 'testing' , 'v testování' ); {@insert} (6, 'complete' , 'hotovo' ); {@insert} (7, 'closed' , 'uzavřeno' ); {@insert} (8, 'deleted' , 'smazáno' );