Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Databázy: Tvorba konceptuálneho modelu z business zadaní

Návrh databázy spravidla začína u business zadania. To je dokument, kde zákazník (alebo priamo vy :) ) Zhŕňa svoje požiadavky na systém. Zadanie často explicitne nehovorí, čo má systém obsahovať, ale skôr to, čo od neho klient očakáva alebo ako by mal fungovať. Našou úlohou bude v zadaní identifikovať tzv. Základné entity. Ide o prvky, ktoré sú pre nás zaujímavé ao ktorých má z databázového hľadiska zmysel udržiavať dáta. Model, v ktorom sú vyobrazené tieto entity a vzťahy medzi nimi, sa nazýva konceptuálne.

Pripravil som pre vás jednoduché zadanie informačného systému, prečítajte si ho a potom z neho spoločne vytvoríme konceptuálny model, z ktorého budeme ďalej pri návrhu databázy vychádzať.

Business zadania - vzdelávací projekt

Skupina študentov IT so záujmom o programovanie hier sa rozhodla napraviť nepriaznivú situáciu ohľadom materiálov k programovaniu na slovenskom internete. Študenti vytvorili sériu článkov a tutoriálov k rôznym vývojovým nástrojom a algoritmom, ktoré následne publikovali na webe, ktorý bol založený na redakčnom systéme WordPress.

Časom sa ukázalo, že je o ich tvorbu záujem, ale s pribúdajúcim obsahom webu sa začali prejavovať nevýhody hotového riešenia. Rozhodli sa teda, že si vytvoria redakčný systém na mieru. Najprv pristúpili k tvorbe databázového modelu, ich predstava je nasledovné:

Na webe sú uložené články, ktoré náleží určitému užívateľovi a obsahujú pod sebou komentáre. Článok môže patriť do viacerých sekcií a v jednej sekcii môže byť viac článkov. Článok okrem svojho obsahu (textu, ktorý sa následne prevádza do HTML) obsahuje ešte perex, identifikátor do URI (v tvare titulok-clanku), titulok, kľúčové slová do HTML hlavičky a dátum publikácie. U sekcií článkov sa uchováva len ich názov.

Užívatelia sa registrujú pomocou emailu a hesla, ďalším atribútom je prezývka.

Komentár sa viaže na konkrétny článok a užívateľa. Obsahuje iba dátum vloženia a text.

Študenti sa tiež rozhodli implementovať novú funkčnosť a to znalostnej testy z programovacích jazykov, na ktorých si užívatelia budú môcť testovať svoje znalosti. Samotný test obsahuje titulok a popis. Testovacích otázok môže byť ľubovoľný počet a viažu sa vždy na jeden konkrétny test. Otázka obsahuje text a vždy štyri možnosti (model ABCD), keď prvý uložená otázka v DB bude vždy správna (program sám si ich potom zamieša a do HTML kódu priradí pod určité hashe). Výsledky testov jednotlivých užívateľov sa samozrejme ukladajú a to aj s dátumom odoslania testu.

Identifikácia kľúčových entít

Z článku vyčítame niekoľko entít: Článok, Sekcia, Užívateľ, Komentár, Znalostná test a Otázka.

Teraz sa zamerajme na vzťahy medzi entitami. Máme tu niekoľko väzieb 1: N (jedna ku niekoľkým), tými sú užívateľ-článok, užívateľ-komentár, článok-komentár, znalostní_test-otázka. Princíp väzby 1: N je jednoduchý, užívateľ má viac článkov, ale článok patrí vždy jednému používateľovi.

Podobu výsledku testu zatiaľ nepoznáme, preto naznačíme len jednoduchú väzbu. Medzi sekcií a článkom máme väzbu M: N. Článok môže patriť do viacerých sekcií a v jednej sekcii môže byť viac článkov. Na tejto úrovni modelu ju však nebudeme riešiť, v ďalších dieloch tohto seriálu sa nám rozpadne na 2 väzby 1: N a väzobné tabuľku.

Konceptuálny model

Entity zakreslíme do modelu a pomocou UML notácie znázorníme väzby medzi nimi:

konceptuálny model pri návrhu databázy - Databázy v C # - ADO.NET

Model je len náčrt, časom napr. Zistíme, že znalostnej test bude mať nejaký výsledok a podobne. Tým sa však budeme zaoberať až nabudúce.

V nasledujúcom kvíze, Kvíz - Odpojená ap., SQL otázky, Manag. Štúdio v C#-ADO.NET, si vyskúšame nadobudnuté skúsenosti z predchádzajúcich lekcií.


 

Predchádzajúci článok
Kvíz - Databáza v C# - ADO.NET
Všetky články v sekcii
Databázy v C # - ADO.NET
Preskočiť článok
(neodporúčame)
Kvíz - Odpojená ap., SQL otázky, Manag. Štúdio v C#-ADO.NET
Článok pre vás napísal David Hartinger
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David sa informačné technológie naučil na Unicorn University - prestížnej súkromnej vysokej škole IT a ekonómie.
Aktivity