Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.
IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Databáza: Tvorba konceptuálneho modelu z business zadania

Návrh databázy spravidla začína pri business zadaní. 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 zadanie - vzdelávací projekt

Skupina študentov IT so záujmom o programovaní hier sa rozhodla napraviť nepriaznivú situáciu ohľadom materiálov na programovanie na českom 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 nasledujúca:

Na webe sú uložené články, ktoré patria určitému užívateľovi a obsahujú pod sebou komentáre. Článok môže patriť do viacerých sekcií av 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. Pri sekciách článkov sa uchováva iba 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 používateľa. Obsahuje iba dátum vloženia a text.

Študenti sa tiež rozhodli implementovať novú funkčnosť a to znalostné testy z programovacích jazykov, na ktorých si použí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 váži sa vždy na jeden konkrétny test. Otázka obsahuje text a vždy štyri možnosti (model ABCD), kedy 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ý, používateľ má viac článkov, ale článok patrí vždy jednému užívateľovi.

Podobu výsledku testu zatiaľ nepoznáme, preto naznačíme len jednoduchú väzbu. Medzi sekciou a článkom máme väzbu M:N. Článok môže patriť do viacerých sekcií av 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 - Databázy v C# - ADO.NET

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


 

Všetky články v sekcii
Databázy 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