Zde je příklad protokolu na předmět Dekompozice databázových systémů (18DDS), který jsem úspěšně obhájil u zkoušky.
Motivace
Kdysi dávno jsem si začal zapisovat vtipné hlášky, které řekli lidé kolem mě (původně šlo o vyučující na mém gymnáziu, následně se to rozšířilo). K zapisování jsem využíval vlastní aplikaci obsahující jednoduchou databázi, kterou jsem postupně vylepšoval, ovšem nevěděl jsem v té době, jak správně navrhnout relační databázi. Zde je pokus o tento správný návrh, který bych v budoucnu mohl prakticky využít.
Model
Lidé
Fyzické osoby, které mohou být autory nebo zapisovateli hlášek. Relevantní údaje:
ID
Primární klíč.
Skutečné jméno
Jméno dané osoby, využívané při zapisování hlášky pro identifikaci.
Zobrazované jméno
Jméno využívané při zobrazování hlášek. Může se lišit od skutečného jména v případě, že daná osoba požádala o anonymizaci hlášek.
Pohlaví
Využívané pro správnou gramatiku ve frázích jako „Zapsal Adam Blažek“.
Hlášky
Hlavní obsah databáze. Hláška se může skládat z více částí řečených různými lidmi.
ID
Primární klíč.
Části
Jednotlivé části hlášky, z nichž každá má autora a text. Jelikož jde o seznam, musí být reprezentován další tabulkou.
Kontext
Řetězec popisující, v jaké situaci byla hláška řečena, je-li tato informace relevantní.
Čas
Datum a čas, kdy byla hláška řečena.
Zapisovatel
Osoba, která hlášku zapsala. Může být anonymní.
Skupiny
Tematické skupiny lidí (např. FJFI vyučující) využívané ke generování „Hláškotestů“.
ID
Primární klíč.
Název
Název skupiny.
Členové
Členové skupiny. Jelikož jde o seznam, musí být reprezentován další tabulkou.
ERA diagram
Primární klíče jsou vyznačeny tučně, cizí klíče kurzívou.
Pohledy
Hlášky podle autora
Umožňuje zjistil, kolik hlášek řekla (nebo se na nich podílela) daná osoba a kdy byla pro danou osobu řečena nejstarší a nejnovější hláška. Nezobrazuje osoby, které nejsou autorem žádné části hlášky.
Hlášky podle zapisovatele
Umožňuje zjistil, kolik hlášek zapsala daná osoba a kdy zapsala nejstarší a nejnovější hlášku. Nezobrazuje osoby, které nezapsaly žádnou hlášku.
Členové skupiny
Umožňuje zjistil, kolik členů má daná skupina osob.