Úkolem návrháře databází je převést obchodní požadavky klienta do datového modelu, který nejen správně ukládá obchodní data, ale také podporuje procesy, které data využívají.
Návrhář databází, někdy nazývaný databázový architekt nebo datový úředník, je zodpovědný za návrh databází v organizaci. Pečlivě vyhodnocuje obchodní požadavky a navrhuje datové modely. Poté proběhnou úvodní diskuse s firmou, aby se potvrdilo porozumění datům a obchodním procesům. Práce návrháře databáze také zahrnuje přípravu podpůrné dokumentace při budování fyzické databáze.
Co je datové modelování?
Datové modelování je proces, ve kterém návrhář databáze vytváří datový model, který podporuje jeho/její aplikaci. Jeho účelem je reprezentovat, jak databázové objekty interagují a jak řeší obchodní problémy.
Datový model popisuje strukturu dat v databázových tabulkách a vztahy mezi nimi. Je reprezentován řadou ER diagramů, které obsahují hlavní entity, jejich atributy a vztahy mezi entitami. Je velmi důležité vytvořit správný datový model od začátku.
Datové modelování musí také brát v úvahu flexibilitu. Žádný datový model není nikdy vytesán ani po nasazení databáze. Datový model se musí časem upravit, aby odrážel nová data a nové požadavky. Proto je při navrhování důležité zohledňovat flexibilitu.
Datové modelování vám pomůže převést obchodní požadavky do technických požadavků na snazší budování fyzické databáze. Pomáhá vám také najít potenciální problémy s výkonem u dotazů ještě před vytvořením databáze. Ze všech těchto důvodů je datové modelování velmi důležité.
Typy datových modelů
Při vytváření nové databáze vás práce návrháře databáze provede nejméně třemi hlavními fázemi. Datový model prochází evolučním procesem, který začíná koncepčním datovým modelem. Poté se rozvine do logického datového modelu. To je dále rozšířeno na fyzický datový model, později implementovaný pomocí SQL skriptů.
Každý typ datového modelu je navržen pro interakci s různými typy zúčastněných stran. Níže stručně popíšeme a vysvětlíme použití těchto datových modelů. Pokud byste chtěli podrobnější vysvětlení, podívejte se na tento článek.
Konceptuální datový model
Koncepční datový model je prvním datovým modelem, který vytváříme. V koncepčním datovém modelu jsou definovány hlavní entity, obvykle pomocí ER diagramů. To je také, když se účastní hlavní zainteresované strany z obchodní strany.
Koncepční datový model pomáhá identifikovat a definovat počáteční rozsah obchodního problému, entity zapojené do řešení problému a způsob jejich interakce. Tyto entity jsou obecnými reprezentacemi pojmů, jako je objednávka, obchod a zaměstnanec.
Vztahy mezi těmito entitami jsou typicky reprezentovány čarami spojujícími entity, které interagují v reálném světě. Jako příklad by tedy entity objednávky, obchodu a zaměstnanců měly mít vztahy, které je propojují.
Logický datový model
Logický datový model staví na konceptuálním datovém modelu. Používají se normalizační techniky, jako je 3NF (třetí normální forma). Zajišťujeme, aby všechny vztahy mezi entitami byly zastoupeny v našem datovém modelu. Tento krok je klíčovým rozdílem mezi koncepčním a logickým datovým modelem.
Fyzický datový model
Fyzický datový model je konečnou a nejpodrobnější verzí našeho datového modelu. V tomto kroku definujeme všechny tabulky v naší aplikaci. Definujeme také vztahy mezi tabulkami, nastavujeme jejich mohutnost, transformujeme atributy entit do sloupců a vybíráme nebo definujeme datové typy pro každý sloupec. Dbáme na to, abychom nastavili výchozí hodnoty nebo omezení pro hodnoty sloupců, omezení mezi tabulkami a nastavili kolace.
Jakmile je navržen fyzický datový model, obvykle sestavíme sadu SQL skriptů, které definují tuto strukturu, abychom vytvořili naši databázi. Místo pouhého psaní všeho ručně je mnohem lepší použít nástroj pro modelování databází, jako je Vertabelo Database Modeler.
Úloha návrháře databáze
Povinnosti návrháře databáze se neomezují pouze na technický vývoj a návrh diagramů. Typický den zahrnuje sledování nevyřízených obchodních požadavků a sledování, zda se něco změnilo.
Den v životě návrháře databází
Když dojde ke změnám, návrhář databáze analyzuje požadavky a sejde se s firmou, aby objasnil důsledky změn na datový model a databázi. Po těchto vyjasněních návrhář databáze aktualizuje model se změnami. To se může pohybovat od pouhé změny jednoho datového typu po přepracování vztahů entit a použití normalizace, pokud má změna větší dopad.
Pokud existuje metrika výkonu, kterou je třeba splnit, bude možná muset návrhář databáze najít a zadat indexy, které mají být vytvořeny. Pokud má být mapován proces ETL, může určit, jaké uložené procedury provádějí transformaci dat.
Návrhář databáze musí zvážit důsledky změn na úkoly údržby databáze, jako jsou zálohy, obnovy a odesílání protokolů. Pokud jsou změny zásadní, musí návrhář databáze projednat s týmem pro správu databáze nebo s vývojovým týmem, který databázi monitoruje. Další odpovědností návrháře je definovat a udržovat datový slovník pro databázi.
Rizika a problémy, kterým čelí návrhář databáze
Jako u každé práce jsou některé problémy předvídatelné, takže si můžete nechat načrtnout plán. Existují však problémy, které nelze předvídat, a práce návrháře databází není výjimkou.
Jednou z nejrizikovějších věcí, kterou může návrhář databáze udělat, je vytvářet předpoklady. To může způsobit neočekávané problémy později v projektu. Kdykoli máte pochybnosti, je nejlepší si to s firmou vyjasnit, než jít vpřed. Viděl jsem, že se to stalo mnohokrát, mně i mým kolegům.
Můžeme učinit malé předpoklady ohledně datových typů nebo množství dat pro konkrétní tabulku. Pokud se však mýlíme, může to ovlivnit fyzický datový model a způsobit spoustu přepracování, aby byly splněny cílové metriky výkonu.
Další problém je v předpokladu, že jste pokryli vše a že nikdy nebudou chyby. Problémy obvykle nastanou na konci projektu, kdy je již vše nasazeno.
Některé scénáře vyžadují úpravy, i když je databáze již nasazena. To může být způsobeno nárůstem uložených dat, změnami v obchodních požadavcích nebo potřebami nových sestav. Tyto události ovlivňují nejen vaše tabulky, ale také vaše databázové objekty, vaše indexy, případně datové typy, vztahy a mnoho dalších věcí.
Výhody a nevýhody práce návrháře databází
Jako u každé práce existují klady a zápory podle toho, jak se na věci díváte, co vás baví a jak chcete žít.
Výhodou je, že vždy najdete zajímavé obchodní kontexty, které můžete zmapovat do datového modelu a zabudovat do databáze. Je to skvělá práce pro lidi, kteří se umí soustředit a rádi řeší složité problémy. Je to skvělá práce, pokud rádi komunikujete a řešíte technické problémy a pokud umíte a jste zvědaví na pochopení jak obchodních, tak technologických souvislostí.
Jako u každé obtížné dovednosti je plat docela dobrý. Pokud pracujete na projektech s klienty z velkých společností, mohou být obchodní cesty bonusem, pokud rádi cestujete a poznáváte nové lidi v nových prostředích.
Záporů z mého pohledu není mnoho. Ale pro některé lidi jsou některé věci zmíněné v plusech ve skutečnosti zápory. Pokud se raději soustředíte na svou práci a minimalizujete komunikaci nebo pokud nemůžete nebo nechcete cestovat kvůli rodinným omezením, pak pro vás nemusí být práce návrháře databází vhodná.
Staňte se návrhářem databáze!
S určitými technickými znalostmi v oboru, určitým programátorským zázemím a otevřeností vůči komunikaci si myslím, že každý může mít kariéru návrháře databází, i když nezaškrtnete všechna políčka. Ideální požadavky na dovednosti být návrhářem databází jsou stručně uvedeny níže.
- Techniky modelování a normalizace dat.
- Znalost dotazování v databázi a ladění výkonu.
- Interní údaje databáze specifické pro databázový stroj požadovaný zákazníkem.
- Znalost procesů ETL.
- Znalost business intelligence a reportingu.
- Znalost obecné softwarové architektury a designu.
- Dovednosti projektového řízení.
- Dobré komunikační schopnosti.
Přemýšlíte o tom, že se stanete návrhářem databází? Pokud zjistíte, že odškrtáváte některé položky ve výše uvedeném seznamu, neváhejte – držíme vám záda! Ať už se ucházíte o svou první práci jako databázový návrhář nebo se jen chcete seznámit s nejdůležitějšími tématy pro tuto roli, připravili jsme seznam otázek k pohovoru souvisejících s modelováním databáze.
Právě začínáte s modelováním databáze? Je důležité mít nástroj, jako je Vertabelo Database Modeler, který vám pomůže s návrhem, sdílením a verzováním vašich datových modelů.
Doufáme, že se vám článek líbil! Neváhejte a projděte si další informace o úžasném světě databází.