top 24 data modeling interview questions with detailed answers
Lista med de vanligaste frågorna och svar på datamodelleringsintervjuer och svar som hjälper dig att förbereda dig för den kommande intervjun:
Här ska jag dela några frågor om datamodellering och detaljerade svar baserat på min egen erfarenhet under intervjuinteraktioner i några kända IT-MNC.
Nedan kan frågesvar vara till stor hjälp om du får en chans att möta eller ta en intervju om datamodellering.
Vanliga frågor om datamodelleringsintervjuer
Låt oss börja!
F # 1) Vad förstår du av datamodellering?
Svar: Datamodellering är den schematiska framställningen som visar hur enheterna är relaterade till varandra. Det är det första steget mot databasdesign. Vi skapar först den konceptuella modellen, sedan den logiska modellen och flyttar slutligen till den fysiska modellen.
Generellt skapas datamodellerna i dataanalys och designfas i programvaruutvecklingens livscykel.
F # 2) Förklara din förståelse för olika datamodeller?
Svar: Det finns tre typer av datamodeller - konceptuella, logiska och fysiska. Nivån av komplexitet och detaljer ökar från konceptuell till logisk till en fysisk datamodell.
Den konceptuella modellen visar en mycket grundläggande hög designnivå medan den fysiska datamodellen visar en mycket detaljerad bild av designen.
- Konceptuell modell kommer bara att skildra enhetsnamn och enhetsrelationer. Figur 1 som visas i den senare delen av denna artikel visar en konceptuell modell.
- Logisk modell kommer att visa upp enhetsnamn, enhetsrelationer, attribut, primära nycklar och främmande nycklar i varje enhet. Figur 2 visas i fråga nr 4 i den här artikeln visar en logisk modell.
- Fysisk datamodell kommer att visa primära nycklar, främmande nycklar, tabellnamn, kolumnnamn och kolumndatatyper. Denna vy utarbetar faktiskt hur modellen faktiskt kommer att implementeras i databasen.
F # 3) Kasta lite ljus på din erfarenhet av datamodellering med avseende på projekt du har arbetat med hittills?
Notera: Det här var den allra första frågan i en av mina datamodelleringsintervjuer. Så innan du går in i intervjudiskussionen bör du ha en mycket tydlig bild av hur datamodellering passar in i de uppgifter du har arbetat med.
Svar: Jag har arbetat med ett projekt för ett sjukförsäkringsföretag där vi har gränssnitt inbyggda Datoranvändning som omvandlar och bearbetar data som hämtas från Facets-databasen och skickar ut användbar information till leverantörer.
Notera: Facetter är en slut-till-slut-lösning för att hantera all information för vårdindustrin. Facetsdatabasen i mitt projekt skapades med SQL server 2012.
Vi hade olika enheter som var länkade ihop. Dessa enheter var abonnent, medlem, vårdgivare, anspråk, faktura, inskrivning, grupp, behörighet, plan / produkt, provision, capitation, etc.
Nedan följer den konceptuella datamodellen som visar hur projektet såg ut på hög nivå
Figur 1:
Var och en av dataenheterna har sina egna dataattribut. Till exempel, ett dataattribut från leverantören kommer att vara leverantörsidentifieringsnummer, få dataattribut för medlemskapet kommer att vara abonnent-ID, medlems-ID, en av dataattributet i kravet kommer att kräva ID, varje vårdprodukt eller plan kommer att ha ett unikt produkt-ID och så vidare.
F # 4) Vilka är de olika designscheman i datamodellering? Förklara medexempel?
Svar: Det finns två olika typer av scheman i datamodellering
- Stjärnschema
- Snöflingaschema
Nu kommer jag att förklara vart och ett av dessa scheman en efter en.
Det enklaste av scheman är stjärnschema där vi har en faktatabell i mitten som refererar till flera dimensionstabeller runt den. Alla dimensionstabeller är kopplade till faktatabellen. Den primära nyckeln i alla dimensionstabeller fungerar som en främmande nyckel i faktatabellen.
De IS-diagram (se figur 2) av detta schema liknar formen på en stjärna och det är därför detta schema heter som ett stjärnschema.
Figur 2:
Stjärnschemat är ganska enkelt, flexibelt och det är i normaliserad form.
I ett snöflingaschema ökar normaliseringsnivån. Faktatabellen här förblir densamma som i stjärnschemat. Dimensionstabellerna är dock normaliserade. På grund av flera lager av dimensionstabeller ser det ut som en snöflinga och därför heter den som snöflingaschema.
vad ska du använda när du felsöker en live nätverkskabel
Figur 3:
F # 5) Vilket schema använde du i ditt projekt och varför?
F # 6) Vilket schema är bättre - stjärna eller snöflinga?
Svar: (kombinerat för Q # 5 & 6): Valet av ett schema beror alltid på projektkrav och scenarier.
Eftersom stjärnschemat är i normaliserad form behöver du färre sammanfogningar för en fråga. Frågan är enkel och går snabbare i ett stjärnschema. Kommer till snöflingaschemat, eftersom det är i normaliserad form, kommer det att krävas ett antal sammanfogningar jämfört med ett stjärnschema, frågan blir komplex och körningen blir långsammare än stjärnschemat.
En annan signifikant skillnad mellan dessa två scheman är att snöflingaschemat inte innehåller överflödiga data och därför är det lätt att underhålla. Tvärtom har stjärnschemat en hög nivå av redundans och det är därför svårt att upprätthålla det.
Nu, vilken ska du välja för ditt projekt? Om syftet med ditt projekt är att göra mer av dimensionen analys, bör du gå till snöflinga schema. Till exempel, om du behöver ta reda på det 'Hur många prenumeranter är knutna till en viss plan som för närvarande är aktiv?' - gå med snöflingamodellen.
klocka in klocka ut programvara gratis
Om syftet med ditt projekt är att göra mer av en måttanalys bör du använda ett stjärnschema. Till exempel, om du behöver ta reda på det ”Vad är skadebeloppet som betalas till en viss abonnent?” - gå med ett stjärnschema.
I mitt projekt använde vi snöflingaschema eftersom vi var tvungna att göra analyser över flera dimensioner och generera sammanfattande rapporter för verksamheten. En annan anledning till att använda snöflingaschemat var att det är mindre minneskonsumtion.
F # 7) Vad förstår du med dimension och attribut?
Svar: Mått representerar kvalitativa data. Till exempel, plan, produkt, klass är alla dimensioner.
En dimensionstabell innehåller beskrivande eller textattribut. Till exempel, produktkategorin och produktnamnet är attributen för produktdimensionen.
F # 8) Vad är ett faktatabell och ett faktatabell?
Svar: Fakta representerar kvantitativa data.
Till exempel, nettobeloppet är ett faktum. En faktatabell innehåller numeriska data och främmande nycklar från relaterade dimensionstabeller. Ett exempel på faktatabellen kan ses från figur 2 som visas ovan.
F # 9) Vilka är de olika typerna av dimensioner du har stött på? Förklara var och en av dem i detalj med ett exempel?
Svar: Det finns vanligtvis fem typer av dimensioner.
a) Konformerade mått : En dimension som används som en del av olika områden kallas en anpassad dimension. Det kan användas med olika faktatabeller i en enda databas eller över ett flertal datamärken / lager.
Till exempel, om abonnentdimensionen är ansluten till två faktatabeller - fakturering och anspråk skulle abonnentdimensionen behandlas som en anpassad dimension.
b) Skräpdimension : Det är en dimensionstabell som består av attribut som inte har någon plats i faktatabellen eller i någon av de nuvarande dimensionstabellerna. Rent generellt , dessa är egenskaper som flaggor eller indikatorer.
Till exempel, det kan vara en medlemskvalificeringsflagga inställd som 'Y' eller 'N' eller någon annan indikator som sant / falskt, eventuella specifika kommentarer, etc. om vi behåller alla sådana indikatorattribut i faktatabellen blir dess storlek ökad. Så , vi kombinerar alla sådana attribut och lägger i en enda dimensionstabell som kallas en skräpdimension med unika skräp-ID med en möjlig kombination av alla indikatorvärden.
c) Rollspelande dimension : Dessa är de dimensioner som används för flera ändamål i samma databas.
Till exempel, en datumdimension kan användas för 'Datum för anspråk', 'Faktureringsdatum' eller 'Plan Term datum'. Så , en sådan dimension kommer att kallas en rollspelande dimension. Den primära nyckeln till datumdimensionen kommer att associeras med flera främmande nycklar i faktatabellen.
d) Långsamt förändrad dimension (SCD): Dessa är viktigast bland alla dimensioner. Det här är dimensionerna där attributvärdena varierar med tiden. Nedan följer de olika typerna av SCD-skivor
- Typ-0: Det här är dimensionerna där attributvärdet förblir stabilt med tiden. Till exempel, Abonnentens DOB är en typ-0 SCD eftersom den alltid kommer att förbli densamma oavsett tid.
- Typ 1: Dessa är dimensionerna där attributets tidigare värde ersätts med det aktuella värdet. Ingen historik upprätthålls i typ 1-dimensionen. Till exempel, Abonnentens adress (där företaget behöver behålla den enda aktuella adressen för abonnenten) kan vara en typ 1-dimension.
- Typ-2: Det här är dimensionerna där obegränsad historia bevaras. Till exempel, Prenumerantens adress (där företaget behöver registrera alla prenumerantens tidigare adresser). I detta fall kommer flera rader för en abonnent att infogas i tabellen med hans / hennes olika adresser. Det kommer att finnas några kolumner som identifierar den aktuella adressen. Till exempel, 'Startdatum' och 'Slutdatum'. Raden där 'Slutdatum' kommer att vara tomt innehåller abonnentens nuvarande adress och alla andra rader kommer att ha tidigare adresser till abonnenten.
- Typ 3: Det här är den typ av dimensioner där begränsad historik bevaras. Och vi använder en extra kolumn för att behålla historiken. Till exempel, Abonnentens adress (där företaget behöver registrera aktuell och bara en tidigare adress). I det här fallet kan vi lösa upp 'adress' -kolumnen i två olika kolumner - 'aktuell adress' och 'tidigare adress'. Så istället för att ha flera rader har vi bara en rad som visar aktuell såväl som den tidigare adressen till prenumeranten.
- Typ-4: I denna typ av dimension bevaras historiska data i en separat tabell. Huvuddimensionstabellen innehåller endast aktuella data. Till exempel, huvuddimensionstabellen har bara en rad per abonnent som har sin nuvarande adress. Alla andra tidigare adresser för prenumeranten kommer att sparas i den separata historiktabellen. Denna typ av dimension används knappast någonsin.
e) Degenererad dimension: En degenererad dimension är en dimension som inte är ett faktum utan presenteras i faktatabellen som en primär nyckel. Den har inte sin egen dimensionstabell. Vi kan också kalla det som en enda attributdimensionstabell.
Men , istället för att hålla det separat i en dimensionstabell och lägga till en ytterligare koppling lägger vi detta attribut i faktatabellen direkt som en nyckel. Eftersom den inte har sin egen dimensionstabell kan den aldrig fungera som en främmande nyckel i faktatabellen.
F # 10) Ge din idé om faktiska fakta? Och varför använder vi det?
Svar: Faktatabell är en faktatabell som inte innehåller något faktamått i den. Den har bara dimensionstangenterna i sig.
Ibland kan vissa situationer uppstå i branschen där du behöver ha en saklös faktatabell.
Till exempel, antar att du upprätthåller ett anställningssystem för anställdas närvaro, kan du ha en saklös faktatabell med tre nycklar.
Anställnings-ID |
Department_ID |
Time_ID |
Du kan se att tabellen ovan inte innehåller något mått. Om du nu vill svara på frågan nedan kan du göra det enkelt med ovanstående enstaka faktatabell i stället för att ha två separata faktatabeller:
'Hur många anställda på en viss avdelning var närvarande en viss dag?'
Så, den faktiska faktabordet erbjuder designens flexibilitet.
F # 11) Skiljer du mellan OLTP och OLAP?
Svar: OLTP står för Online transaktionsbehandlingssystem & OLAP står för Online analytiskt bearbetningssystem . OLTP upprätthåller affärsdata för transaktioner och normaliseras i allmänhet. Tvärtom är OLAP för analys- och rapporteringsändamål och det är i normaliserad form.
Denna skillnad mellan OLAP och OLTP ger dig också sättet att välja design av schemat. Om ditt system är OLTP bör du gå med stjärnschemadesign och om ditt system är OLAP bör du gå med snöflingaschema.
F # 12) Vad förstår du av datamart?
Svar: Datamärken är till största delen avsedda för en ensam bransch. De är utformade för de enskilda avdelningarna.
Till exempel, Jag brukade arbeta för ett sjukförsäkringsföretag som hade olika avdelningar som finans, rapportering, försäljning och så vidare.
Vi hade ett datalager som innehöll informationen för alla dessa avdelningar och sedan har vi få datamärtor byggda ovanpå detta datalager. Dessa DataMart var specifika för varje avdelning. Med enkla ord kan du säga att en DataMart är en delmängd av ett datalager.
F # 13) Vilka är de olika typerna av åtgärder?
Svar: Vi har tre typer av åtgärder, nämligen
- Icke-tillsatsåtgärder
- Halva tillsatsåtgärder
- Tillsatsåtgärder
Icke-tillsatsmått är de som ingen aggregeringsfunktion kan användas på. Till exempel, ett förhållande eller en procentkolumn; en flagga eller en indikatorkolumn som faktiskt finns i tabellen med värden som J / N, etc. är ett icke-tillsatsmått.
Halvadditiva mått är de som vissa (men inte alla) aggregeringsfunktioner kan tillämpas på. Till exempel, avgiftssats eller kontosaldo.
Additiva mått är de som alla aggregeringsfunktioner kan tillämpas på. Till exempel, köpta enheter.
var kan jag titta på anime gratis online
F # 14) Vad är en surrogatnyckel? Hur skiljer det sig från en primär nyckel?
Svar: Surrogatnyckel är en unik identifierare eller en systemgenererad sekvensnummernyckel som kan fungera som en primär nyckel. Det kan vara en kolumn eller en kombination av kolumner. Till skillnad från en primär nyckel plockas den inte upp från befintliga applikationsdatafält.
F # 15) Är detta sant att alla databaser ska finnas i 3NF?
Svar: Det är inte obligatoriskt att en databas finns i 3NF. i alla fall , om ditt syfte är enkelt underhåll av data, mindre redundans och effektiv åtkomst bör du gå med en avnormaliserad databas.
F # 16) Har du någonsin stött på scenariot med rekursiva relationer? Om ja, hur hanterade du det?
Svar: En rekursiv relation inträffar när en enhet är relaterad till sig själv. Ja, jag har stött på ett sådant scenario.
När vi talar om hälso- och sjukvårdsdomänen är det en möjlighet att en vårdgivare (säg en läkare) är patient till någon annan vårdgivare. Eftersom , om läkaren själv blir sjuk och behöver operation, måste han besöka någon annan läkare för att få kirurgisk behandling.
Så , i detta fall är enheten - vårdgivaren relaterad till sig själv. En utländsk nyckel till vårdgivarens nummer måste anges i varje medlems (patient) journal.
F # 17) Lista upp några vanliga misstag som uppstått under datamodellering?
Svar: Få vanliga misstag som uppstått under datamodellering är:
- Bygga massiva datamodeller : Stora datamodeller är som att ha fler designfel. Försök att begränsa din datamodell till högst 200 tabeller.
- Brist på syfte : Om du inte vet vad din affärslösning är avsedd för kan du komma med en felaktig datamodell. Så det är väldigt viktigt att ha klarhet över affärsändamålet för att komma med rätt datamodell.
- Olämplig användning av surrogatnycklar : Surrogatnyckel bör inte användas i onödan. Använd surrogatnyckel endast när den naturliga nyckeln inte kan tjäna syftet med en primärnyckel.
- Onödig avnormalisering : Avnormalisera inte förrän och om du inte har en gedigen och tydlig affärsmässig anledning att göra det eftersom avnormalisering skapar överflödiga data som är svåra att underhålla.
F # 18) Vad är antalet underordnade tabeller som kan skapas från en ensamstående föräldertabell?
Svar: Antalet underordnade tabeller som kan skapas ur ensamstående föräldertabell är lika med antalet fält / kolumner i modertabellen som inte är nycklar.
F # 19) Information om anställdas hälsa är dold för sin arbetsgivare av vårdgivaren. Vilken nivå av datadöljande är det här? Konceptuell, fysisk eller extern?
Svar: Detta är scenariot för en extern nivå av datadömning.
F # 20) Vad är formen för faktatabell och dimensionstabell?
Svar: I allmänhet är faktatabellen i normaliserad form och dimensionstabellen är i avnormaliserad form.
F # 21) Vilka uppgifter behöver du för att komma med en konceptuell modell i ett vårddomänprojekt?
Svar: För ett hälso- och sjukvårdsprojekt är nedanstående detaljer tillräckliga för att utforma en grundläggande konceptuell modell
- Olika kategorier av vårdplaner och produkter.
- Typ av prenumeration (grupp eller individ).
- Uppsättning av vårdgivare.
- Översikt över anspråk och fakturering.
F # 22) Tricky: Om en unik begränsning tillämpas på en kolumn kommer det att kasta ett fel om du försöker infoga två nollor i den?
Svar: Nej, det kommer inte att ge något fel i det här fallet eftersom ett nullvärde är ojämnt med ett annat nullvärde. Så, mer än en null kommer att infogas i kolumnen utan något fel.
F # 23) Kan du citera ett exempel på en sub-typ och super-typ enhet?
Svar: Ja, låt oss säga att vi har dessa olika enheter - fordon, bil, cykel, ekonomibil, familjebil, sportbil.
Här är ett fordon en super-typ enhet. Bil och cykel är dess underenheter. Dessutom är ekonomibilar, sportbilar och familjebilar underenheter av dess supertypenhet.
En super-typ enhet är den som ligger på en högre nivå. Undertypenheter är sådana som grupperas på grundval av vissa egenskaper. Till exempel, alla cyklar är tvåhjulingar och alla bilar är fyrhjulingar. Och eftersom båda är fordon, så är deras super-typ enhet 'fordon'.
F # 24) Vilken betydelse har metadata?
Svar: Metadata är data om data. Den berättar vilken typ av data som faktiskt lagras i systemet, vad är dess syfte och för vem det är avsett.
Slutsats
- Praktisk förståelse för Datamodellering koncept och hur det passar in i de uppdrag som du gör är mycket nödvändigt för att knäcka en datamodelleringsintervju.
- De vanligaste frågorna i Datamodellering intervju är - olika typer av datamodeller, typer av scheman, typer av dimensioner och normalisering.
- Var också väl förberedd på scenariobaserade frågor.
Jag föreslår att när du besvarar en fråga till intervjuaren är det bättre att du förklarar idén genom ett exempel. Detta skulle visa att du faktiskt har arbetat inom det området och att du förstår kärnan i konceptet mycket bra.
Med vänliga hälsningar!!