top 24 data modeling interview questions with detailed answers
Seznam nejčastěji kladených dotazů na otázky datového modelování a odpovědi, které vám pomohou připravit se na nadcházející rozhovor:
Zde se podělím o několik dotazovacích otázek týkajících se datového modelování a podrobných odpovědí na základě mých vlastních zkušeností během rozhovorových interakcí v několika renomovaných IT MNC.
Odpovědi na níže uvedené otázky vám mohou velmi pomoci, pokud máte šanci čelit nebo absolvovat pohovor o datovém modelování.
Nejčastější dotazy týkající se dotazování na datové modelování
Začněme!
Otázka č. 1) Co rozumíte datovému modelování?
Odpovědět: Modelování dat je schematické znázornění ukazující vzájemné vztahy entit. Je to počáteční krok k návrhu databáze. Nejprve vytvoříme koncepční model, poté logický model a nakonec přejdeme k fyzickému modelu.
Obecně se datové modely vytvářejí ve fázi analýzy a designu dat životního cyklu vývoje softwaru.
Otázka č. 2) Vysvětlete, jak rozumíte různým datovým modelům?
Odpovědět: Existují tři typy datových modelů - koncepční, logické a fyzické. Úroveň složitosti a podrobností se zvyšuje od koncepčního přes logický po fyzický datový model.
Konceptuální model ukazuje velmi základní vysokou úroveň designu, zatímco fyzický datový model ukazuje velmi detailní pohled na design.
- Konceptuální model bude jen zobrazovat názvy entit a vztahy entit. Obrázek 1 zobrazený v pozdější části tohoto článku zobrazuje koncepční model.
- Logický model bude zobrazovat názvy entit, vztahy entit, atributy, primární klíče a cizí klíče v každé entitě. Obrázek 2 zobrazený uvnitř otázky č. 4 v tomto článku zobrazuje logický model.
- Fyzický datový model bude zobrazovat primární klíče, cizí klíče, názvy tabulek, názvy sloupců a datové typy sloupců. Tento pohled ve skutečnosti zpracovává, jak bude model ve skutečnosti implementován v databázi.
Otázka č. 3) Vrhněte trochu světla na své zkušenosti s datovým modelováním s ohledem na projekty, na kterých jste pracovali do dnešního dne?
Poznámka: Toto byla úplně první otázka v jednom z mých rozhovorů o modelování dat. Než tedy vstoupíte do diskuse na pohovoru, měli byste mít velmi jasný obraz o tom, jak datové modelování zapadá do úkolů, na kterých jste pracovali.
Odpovědět: Pracoval jsem na projektu pro společnost poskytující zdravotní pojištění, kde máme zabudovaná rozhraní Výpočetní který transformuje a zpracovává data získaná z databáze Facets a odesílá užitečné informace prodejcům.
Poznámka: Facets je komplexní řešení pro správu všech informací pro zdravotnický průmysl. Fazeta databáze v mém projektu byla vytvořena s SQL serverem 2012.
Měli jsme různé entity, které byly propojeny. Těmito subjekty byly předplatitel, člen, poskytovatel zdravotní péče, nárok, účet, registrace, skupina, způsobilost, plán / produkt, provize, kapitulace atd.
Níže je koncepční datový model, který ukazuje, jak projekt vypadal na vysoké úrovni
Obrázek 1:
Každá z datových entit má své vlastní datové atributy. Například, datový atribut poskytovatele bude identifikační číslo poskytovatele, několik datových atributů členství bude ID předplatitele, ID člena, jeden z datových atributů nároku bude ID nároku, každý produkt nebo plán zdravotní péče bude mít jedinečné ID produktu a již brzy.
Otázka č. 4) Jaká jsou různá návrhová schémata v datovém modelování? Vysvětlete topříklad?
Odpovědět: V datovém modelování existují dva různé druhy schémat
- Plán hvězd
- Schéma sněhové vločky
Nyní vysvětlím každé z těchto schémat jeden po druhém.
Nejjednodušší ze schémat je hvězdné schéma, kde máme uprostřed tabulku faktů, která kolem ní odkazuje na několik dimenzí. Všechny tabulky dimenzí jsou propojeny s tabulkou faktů. Primární klíč ve všech tabulkách dimenzí funguje jako cizí klíč v tabulce faktů.
The IS diagram (viz obrázek 2) tohoto schématu se podobá tvaru hvězdy, a proto je toto schéma pojmenováno jako hvězdné schéma.
Obrázek 2:
Hvězdné schéma je poměrně jednoduché, flexibilní a je v normalizované podobě.
Ve schématu sněhové vločky se zvyšuje úroveň normalizace. Tabulka faktů zde zůstává stejná jako ve hvězdném schématu. Tabulky dimenzí jsou však normalizovány. Vzhledem k několika vrstvám tabulek dimenzí vypadá jako sněhová vločka, a proto je pojmenována jako schéma sněhové vločky.
c programování rozhovor otázky a odpovědi s vysvětlením pdf
Obrázek 3:
Otázka č. 5) Jaké schéma jste ve svém projektu použili a proč?
Otázka č. 6) Které schéma je lepší - hvězdné nebo sněhové vločky?
Odpověď: (Kombinováno pro Q # 5 a 6): Volba schématu vždy závisí na požadavcích a scénářích projektu.
Vzhledem k tomu, že hvězdné schéma je v normalizované formě, potřebujete pro dotaz méně spojení. Dotaz je jednoduchý a běží rychleji ve hvězdném schématu. Přijíždějící do schématu sněhové vločky, protože je v normalizované formě, bude vyžadovat počet spojení ve srovnání s hvězdným schématem, dotaz bude složitý a provádění bude pomalejší než hvězdné schéma.
Dalším významným rozdílem mezi těmito dvěma schématy je, že schéma sněhové vločky neobsahuje nadbytečná data, a proto je snadné jej udržovat. Naopak, hvězdné schéma má vysokou úroveň redundance, a proto je obtížné jej udržovat.
Který si vybrat pro svůj projekt? Pokud je účelem vašeho projektu udělat více z analýzy dimenzí, měli byste použít schéma sněhové vločky. Například, pokud to potřebujete zjistit 'Kolik předplatitelů je vázáno na konkrétní plán, který je aktuálně aktivní?' - jděte s modelem sněhové vločky.
Pokud je účelem vašeho projektu udělat více analýzy metrik, měli byste jít s hvězdným schématem. Například, pokud to potřebujete zjistit 'Jaká je výše nároku vyplacená konkrétnímu předplatiteli?' - jít s hvězdným schématem.
V mém projektu jsme použili schéma sněhové vločky, protože jsme museli provést analýzu napříč několika dimenzemi a vygenerovat souhrnné zprávy pro firmu. Dalším důvodem pro použití schématu sněhové vločky byla jeho menší spotřeba paměti.
Otázka č. 7) Co chápete podle dimenze a atributu?
Odpovědět: Dimenze představují kvalitativní data. Například, plán, produkt, třída jsou všechny rozměry.
nejlepší recenze softwaru pro převod textu na řeč
Tabulka dimenzí obsahuje popisné nebo textové atributy. Například, kategorie produktu a název produktu jsou atributy dimenze produktu.
Otázka č. 8) Co je tabulka faktů a faktů?
Odpovědět: Fakta představují kvantitativní údaje.
Například, čistá splatná částka je fakt. Tabulka faktů obsahuje číselná data a cizí klíče ze souvisejících dimenzionálních tabulek. Příklad tabulky faktů lze vidět na obrázku 2 zobrazeném výše.
Otázka č. 9) Jaké jsou různé typy dimenzí, na které jste narazili? Vysvětlete každému z nich podrobně příklad?
Odpovědět: Typicky existuje pět typů dimenzí.
a) Shodné rozměry : Dimenze, která se používá jako součást různých oblastí, se nazývá přizpůsobená dimenze. Může být použit s různými tabulkami faktů v jedné databázi nebo v mnoha datových tržištích / skladech.
Například, pokud je dimenze předplatitele propojena se dvěma tabulkami faktů - fakturace a nárok, bude se dimenze předplatitele považovat za konformní dimenzi.
b) Junk Dimension : Jedná se o tabulku dimenzí obsahující atributy, které nemají místo v tabulce faktů ani v žádné z aktuálních tabulek dimenzí. Obvykle , to jsou vlastnosti jako příznaky nebo indikátory.
Například, může to být příznak způsobilosti člena nastavený na „Y“ nebo „N“ nebo jakýkoli jiný indikátor nastavený na hodnotu true / false, jakékoli konkrétní komentáře atd. pokud ponecháme všechny tyto atributy indikátoru v tabulce faktů, zvětší se jeho velikost. Tak , kombinujeme všechny tyto atributy a vložíme do jedné dimenzní tabulky s názvem junk dimenze s jedinečnými ID junk s možnou kombinací všech hodnot indikátorů.
c) Dimenze hraní rolí : Toto jsou dimenze, které se používají pro více účelů ve stejné databázi.
Například, lze použít dimenzi data pro „Datum nároku“, „Datum fakturace“ nebo „Datum termínu plánu“. Tak , taková dimenze se bude nazývat dimenze hraní rolí. Primární klíč dimenze Datum bude přidružen k více cizím klíčům v tabulce faktů.
d) Pomalu se měnící dimenze (SCD): To jsou nejdůležitější ze všech dimenzí. Jedná se o dimenze, kde se hodnoty atributů mění s časem. Níže jsou uvedeny různé typy SCD
- Typ-0: Jedná se o dimenze, kde hodnota atributu zůstává stabilní s časem. Například, Účastnický DOB je SCD typu 0, protože vždy zůstane stejný bez ohledu na čas.
- Typ 1: Jedná se o dimenze, kde je předchozí hodnota atributu nahrazena aktuální hodnotou. V dimenzi Typ 1 není udržována žádná historie. Například, Adresa předplatitele (kde firma vyžaduje ponechat jedinou aktuální adresu předplatitele) může být dimenzí typu 1.
- Typ 2: To jsou dimenze, kde se zachovává neomezená historie. Například, Adresa předplatitele (pokud podnik vyžaduje vedení záznamů o všech předchozích adresách předplatitele). V takovém případě bude do tabulky vloženo více řádků pro předplatitele s jeho / jejími různými adresami. Bude existovat několik sloupců, které budou identifikovat aktuální adresu. Například, „Datum zahájení“ a „Datum ukončení“. Řádek, kde bude hodnota „Datum ukončení“ prázdná, bude obsahovat aktuální adresu předplatitele a všechny ostatní řádky budou mít předchozí adresy předplatitele.
- Typ 3: Jedná se o typ dimenzí, kde je zachována omezená historie. A udržujeme historii pomocí dalšího sloupce. Například, Adresa předplatitele (kde firma vyžaduje vedení záznamů o aktuální a pouze jedné předchozí adrese). V tomto případě můžeme sloupec „adresa“ rozpustit do dvou různých sloupců - „aktuální adresa“ a „předchozí adresa“. Takže místo toho, abychom měli více řádků, budeme mít pouze jeden řádek zobrazující aktuální i předchozí adresu předplatitele.
- Typ 4: V tomto typu dimenze jsou historická data uchována v samostatné tabulce. Tabulka hlavních dimenzí obsahuje pouze aktuální data. Například, tabulka hlavní dimenze bude mít pouze jeden řádek na každého předplatitele, který má svoji aktuální adresu. Všechny ostatní předchozí adresy účastníka budou uloženy v samostatné tabulce historie. Tento typ dimenze se téměř nikdy nepoužívá.
e) Degenerovaný rozměr: Degenerovaná dimenze je dimenze, která není skutečností, ale představuje se v tabulce faktů jako primární klíč. Nemá vlastní tabulku dimenzí. Můžeme to také nazvat jako tabulku dimenzí jednoho atributu.
Ale , místo toho, abychom jej udržovali odděleně v tabulce dimenzí a vložili další spojení, vložili jsme tento atribut do tabulky faktů přímo jako klíč. Protože nemá vlastní tabulku dimenzí, nikdy nemůže fungovat jako cizí klíč v tabulce faktů.
Otázka č. 10) Uveďte svůj názor na fakta bez fakta? A proč to používáme?
Odpovědět: Tabulka faktických faktů je tabulka faktů, která v sobě neobsahuje žádnou míru faktů. Má v sobě pouze rozměrové klíče.
Občas mohou v podnikání nastat určité situace, kdy potřebujete mít tabulku faktických faktů.
Například, Předpokládejme, že udržujete systém evidence docházky zaměstnanců, můžete mít tabulku faktických faktů se třemi klíči.
Employee_ID |
Department_ID |
Time_ID |
Vidíte, že výše uvedená tabulka neobsahuje žádné míry. Nyní, pokud chcete odpovědět na níže uvedenou otázku, můžete snadno použít výše uvedenou jedinou tabulku faktů, než mít dvě samostatné tabulky faktů:
'Kolik zaměstnanců konkrétního oddělení bylo v určitý den přítomno?'
Tabulka faktických faktů tedy nabízí flexibilitu designu.
Otázka č. 11) Rozlišovat mezi OLTP a OLAP?
Odpovědět: OLTP znamená Systém zpracování online transakcí & OLAP znamená Systém online analytického zpracování . OLTP udržuje transakční data podniku a je obecně velmi normalizovaná. Naopak, OLAP slouží pro účely analýzy a vykazování a je v normalizované formě.
Tento rozdíl mezi OLAP a OLTP vám také dává způsob, jak zvolit design schématu. Pokud je váš systém OLTP, měli byste použít návrh hvězdného schématu a pokud je váš systém OLAP, měli byste použít schéma sněhové vločky.
Otázka č. 12) Co rozumíte pod datovým martem?
Odpovědět: Datové trhy jsou z velké části určeny pro osamělé odvětví podnikání. Jsou určeny pro jednotlivá oddělení.
Například, Pracoval jsem pro společnost poskytující zdravotní pojištění, která v ní měla různá oddělení, jako jsou finance, výkaznictví, prodej atd.
Měli jsme datový sklad, který obsahoval informace týkající se všech těchto oddělení, a pak máme na tomto datovém skladu postaveno několik datových trhů. Tyto DataMart byly specifické pro každé oddělení. Jednoduše řečeno, můžete říci, že DataMart je podmnožinou datového skladu.
Otázka č. 13) Jaké jsou různé typy opatření?
Odpovědět: Máme tři typy opatření, jmenovitě
- Neaditivní opatření
- Poloaditivní opatření
- Doplňková opatření
Neaditivní opatření jsou opatření, na která nelze použít žádnou agregační funkci. Například, sloupec poměru nebo procenta; příznak nebo sloupec indikátoru přítomný ve skutečnosti s hodnotami tabulky jako Y / N atd. je neaditivní opatření.
Poloaditivní opatření jsou opatření, na něž lze použít některé (ale ne všechny) agregační funkce. Například, sazba poplatku nebo zůstatek na účtu.
Aditivní míry jsou ty, nad kterými lze použít všechny agregační funkce. Například, zakoupené jednotky.
Otázka č. 14) Co je náhradní klíč? Jak se liší od primárního klíče?
Odpovědět: Náhradní klíč je jedinečný identifikátor nebo systémově vygenerovaný klíč se sekvenčním číslem, který může fungovat jako primární klíč. Může to být sloupec nebo kombinace sloupců. Na rozdíl od primárního klíče není vyzvednut z existujících datových polí aplikace.
jak odlišné je c od c ++
Otázka č. 15) Je pravda, že všechny databáze by měly být v 3NF?
Odpovědět: Není nutné, aby databáze byla v 3NF. nicméně , pokud je vaším účelem snadná údržba dat, menší redundance a efektivní přístup, měli byste použít de-normalizovanou databázi.
Otázka č. 16) Už jste někdy narazili na scénář rekurzivních vztahů? Pokud ano, jak jste to zvládli?
Odpovědět: Rekurzivní vztah nastává v případě, kdy je entita spřízněná sama se sebou. Ano, narazil jsem na takový scénář.
Když mluvíme o doméně zdravotní péče, je možné, že poskytovatel zdravotní péče (řekněme lékař) je pacientem jiného poskytovatele zdravotní péče. Protože , pokud lékař sám onemocní a bude potřebovat chirurgický zákrok, bude muset navštívit nějakého jiného lékaře, aby podstoupil chirurgickou léčbu.
Tak , v tomto případě je subjekt - poskytovatel zdravotní péče ve vztahu k sobě samému. V záznamu každého člena (pacienta) bude muset být uveden cizí klíč k číslu poskytovatele zdravotního pojištění.
Otázka č. 17) Uveďte několik běžných chyb, ke kterým došlo během datového modelování?
Odpovědět: Několik častých chyb během datového modelování je:
- Vytváření masivních datových modelů : Velké datové modely mají více konstrukčních chyb. Zkuste omezit svůj datový model na maximálně 200 tabulek.
- Nedostatek účelu : Pokud nevíte, k čemu je vaše obchodní řešení určeno, můžete přijít s nesprávným datovým modelem. Takže mít jasno v obchodním účelu je velmi důležité přijít se správným datovým modelem.
- Nevhodné použití náhradních klíčů : Náhradní klíč by se neměl používat zbytečně. Náhradní klíč použijte pouze v případě, že přirozený klíč nemůže sloužit účelu primárního klíče.
- Zbytečná normalizace : Nenormalizujte, dokud a pokud k tomu nemáte solidní a jasný obchodní důvod, protože normalizace vytváří nadbytečná data, která se obtížně udržují.
Otázka č. 18) Jaký je počet podřízených tabulek, které lze vytvořit z jedné nadřazené tabulky?
Odpovědět: Počet podřízených tabulek, které lze vytvořit z jedné nadřazené tabulky, se rovná počtu polí / sloupců v nadřazené tabulce, která nejsou klíči.
Otázka č. 19) Poskytovatel zdravotní péče před zaměstnavatelem skrývá podrobnosti o zdraví zaměstnanců. O jakou úroveň skrývání dat se jedná? Konceptuální, fyzické nebo externí?
Odpovědět: Toto je scénář externí úrovně skrývání dat.
Otázka č. 20) Jaká je forma tabulky faktů a tabulky dimenzí?
Odpovědět: Obecně je tabulka faktů v normalizované formě a tabulka dimenzí je v normalizované formě.
Otázka č. 21) Jaké podrobnosti byste potřebovali, abyste přišli s koncepčním modelem v projektu domény zdravotní péče?
Odpovědět: U projektu zdravotní péče by níže uvedené podrobnosti stačily k požadavku navrhnout základní koncepční model
- Různé kategorie plánů a produktů zdravotní péče.
- Typ předplatného (skupinové nebo individuální).
- Sada poskytovatelů zdravotní péče.
- Přehled procesu reklamace a fakturace.
Otázka č. 22) Tricky one: Pokud je na sloupec aplikováno jedinečné omezení, vyvolá to chybu, pokud se pokusíte do něj vložit dvě nuly?
Odpovědět: Ne, v tomto případě nebude vyvolávat žádnou chybu, protože hodnota null je nerovná jiné hodnotě null. Takže do sloupce bude bez chyby vložena více než jedna null.
Otázka č. 23) Můžete uvést příklad entity podtypu a supertypu?
Odpovědět: Ano, řekněme, že máme tyto různé entity - vozidlo, auto, kolo, ekonomické auto, rodinné auto, sportovní auto.
V tomto případě je vozidlo entitou supertypu. Auto a kolo jsou jeho podtypové entity. Ekonomické vozy, sportovní vozy a rodinné vozy jsou dále subtypovými entitami jeho supertypu.
Subjekt supertypu je ten, který je na vyšší úrovni. Subjekty podtypu jsou ty, které jsou seskupeny na základě určitých charakteristik. Například, všechna kola jsou jednostopá a všechna auta jsou jednostopá. A protože obě jsou vozidla, je jejich entita supertypu „vozidlo“.
Otázka č. 24) Jaký je význam metadat?
Odpovědět: Metadata jsou data o datech. Říká vám, jaký druh dat je v systému skutečně uložen, jaký je jejich účel a pro koho jsou určeny.
Závěr
- Praktické porozumění Modelování dat koncept a to, jak zapadá do vámi zadaných úkolů, je velmi potřebný k prolomení rozhovoru pro modelování dat.
- Nejčastěji kladená témata v Modelování dat rozhovor - různé typy datových modelů, typy schémat, typy dimenzí a normalizace.
- Buďte také dobře připraveni na otázky založené na scénářích.
Navrhoval bych, že kdykoli odpovídáte na otázku tazatele, je lepší vysvětlit tuto myšlenku na příkladu. To by ukázalo, že jste do této oblasti skutečně pracovali a velmi dobře rozumíte jádru konceptu.
Vše nejlepší!!