top 24 data modeling interview questions with detailed answers
Popis najčešće postavljanih pitanja i odgovora za modeliranje podataka koji će vam pomoći da se pripremite za sljedeći intervju:
Ovdje ću podijeliti nekoliko pitanja o intervjuu za modeliranje podataka i detaljne odgovore na temelju vlastitog iskustva tijekom interakcija s intervjuima u nekoliko poznatih IT MNC-a.
Odgovori u nastavku mogu vam biti od velike pomoći ako imate priliku suočiti se ili uzeti intervju za modeliranje podataka.
Najčešće postavljana pitanja o intervjuu za modeliranje podataka
Počnimo!
P # 1) Što razumijete pod modeliranjem podataka?
Odgovor: Modeliranje podataka je shematski prikaz koji pokazuje kako su entiteti međusobno povezani. To je početni korak prema dizajnu baze podataka. Prvo stvaramo konceptualni model, zatim logički model i na kraju prelazimo na fizički model.
Općenito, modeli podataka kreiraju se u fazi analize i dizajniranja životnog ciklusa razvoja softvera.
P # 2) Objasnite svoje razumijevanje različitih modela podataka?
Odgovor: Postoje tri vrste modela podataka - konceptualni, logički i fizički. Razina složenosti i detalja raste od konceptualnog do logičkog do fizičkog modela podataka.
Konceptualni model pokazuje vrlo osnovnu visoku razinu dizajna, dok fizički model podataka pokazuje vrlo detaljan prikaz dizajna.
- Konceptualni model bit će samo prikaz imena entiteta i odnosa entiteta. Slika 1 prikazana u kasnijem dijelu ovog članka prikazuje konceptualni model.
- Logički model prikazat će imena entiteta, odnose entiteta, atribute, primarne ključeve i strane ključeve u svakom entitetu. Slika 2 prikazana unutar pitanja br. 4 u ovom članku prikazuje logični model.
- Fizički model podataka prikazivat će primarne ključeve, strane ključeve, nazive tablica, nazive stupaca i tipove podataka stupaca. Ovaj pogled zapravo razrađuje kako će se model zapravo implementirati u bazu podataka.
3. pitanje) Bacite svjetlo na svoje iskustvo u modeliranju podataka s obzirom na projekte na kojima ste do danas radili?
Bilješka: Ovo je bilo prvo pitanje u jednom od mojih intervjua za modeliranje podataka. Dakle, prije nego što uđete u raspravu o intervjuu, trebali biste imati vrlo jasnu sliku o tome kako se modeliranje podataka uklapa u zadatke na kojima ste radili.
Odgovor: Radio sam na projektu za tvrtku koja pruža zdravstveno osiguranje u koju imamo ugrađena sučelja Računarstvo koji transformira i obrađuje podatke preuzete iz baze podataka Facets i šalje korisne informacije dobavljačima.
Bilješka: Facets je cjelovito rješenje za upravljanje svim informacijama za zdravstvenu industriju. Baza podataka o aspektima u mom projektu stvorena je pomoću SQL servera 2012.
Imali smo različite entitete koji su bili povezani zajedno. Ti su entiteti bili pretplatnik, član, pružatelj zdravstvenih usluga, zahtjev, račun, upis, grupa, prihvatljivost, plan / proizvod, provizija, kapitalizacija itd.
Ispod je konceptualni model podataka koji pokazuje kako je projekt izgledao na visokoj razini
Slika 1:
Svaki od podatkovnih entiteta ima svoje atribute podataka. Na primjer, atribut podataka davatelja bit će identifikacijski broj davatelja, malo podataka atributa članstva bit će pretplatnički ID, ID člana, jedan od podatkovnih atributa zahtjeva potražit će ID, svaki zdravstveni proizvod ili plan imat će jedinstveni ID proizvoda i tako dalje.
P # 4) Koje su različite sheme dizajna u modeliranju podataka? Objasnite sprimjer?
Odgovor: Postoje dvije različite vrste shema u modeliranju podataka
- Zvjezdani raspored
- Shema pahuljica
Sad ću objasniti svaku od ovih shema jednu po jednu.
Najjednostavnija shema je zvjezdana shema, gdje u središtu imamo tablicu činjenica koja upućuje na više tablica dimenzija oko nje. Sve tablice dimenzija povezane su s tablicom činjenica. Primarni ključ u svim tablicama dimenzija djeluje kao strani ključ u tablici činjenica.
The IS dijagram (vidi sliku 2) ove sheme sliči obliku zvijezde i zato je ova shema imenovana shemom zvijezde.
Slika 2:
Shema zvijezda je prilično jednostavna, fleksibilna i u normaliziranom je obliku.
U shemi pahuljica, razina normalizacije se povećava. Tablica činjenica ovdje ostaje ista kao u shemi zvijezda. Međutim, tablice dimenzija su normalizirane. Zbog nekoliko slojeva tablica dimenzija izgleda poput pahuljice pa je stoga nazvana shemom pahuljice.
siguran besplatni youtube u mp3 pretvarač
Slika 3:
P # 5) Koju ste shemu koristili u svom projektu i zašto?
P # 6) Koja je shema bolja - zvijezda ili pahuljica?
Odgovor: (Kombinirano za Q # 5 i 6): Izbor sheme uvijek ovisi o projektnim zahtjevima i scenarijima.
Budući da je shema zvijezda u normaliziranom obliku, za upit vam je potrebno manje pridruživanja. Upit je jednostavan i brže se izvodi u shemi zvjezdica. Dolazeći do sheme pahuljice, jer je u normaliziranom obliku, zahtijevat će određeni broj spajanja u usporedbi sa shemom zvijezda, upit će biti složen, a izvršavanje će biti sporije od sheme zvijezde.
Još jedna značajna razlika između ove dvije sheme je ta što shema pahuljica ne sadrži suvišne podatke i stoga je jednostavna za održavanje. Naprotiv, zvjezdana shema ima visoku razinu suvišnosti i stoga ju je teško održavati.
Sada, koji odabrati za svoj projekt? Ako je svrha vašeg projekta više analizirati dimenzije, trebali biste odabrati shemu pahuljica. Na primjer, ako to trebate otkriti 'Koliko je pretplatnika vezano za određeni plan koji je trenutno aktivan?' - idi s modelom pahuljice.
Ako je svrha vašeg projekta napraviti više metričke analize, trebali biste koristiti shemu zvijezda. Na primjer, ako to trebate otkriti 'Koliki je iznos potraživanja koji se plaća određenom pretplatniku?' - idi sa shemom zvijezda.
U mom projektu koristili smo shemu pahuljica jer smo morali napraviti analizu u nekoliko dimenzija i generirati sažeta izvješća za tvrtku. Drugi razlog za korištenje sheme pahuljica palete bio je što je manja potrošnja memorije.
P # 7) Što razumijete pod dimenzijom i atributom?
Odgovor: Dimenzije predstavljaju kvalitativne podatke. Na primjer, plan, proizvod, klasa su sve dimenzije.
Tablica dimenzija sadrži opisne ili tekstualne atribute. Na primjer, kategorija proizvoda i naziv proizvoda su atributi dimenzije proizvoda.
P # 8) Što je tablica činjenica i činjenica?
Odgovor: Činjenice predstavljaju kvantitativne podatke.
Na primjer, neto dužni iznos je činjenica. Tablica činjenica sadrži numeričke podatke i strane ključeve iz povezanih dimenzijskih tablica. Primjer tablice činjenica može se vidjeti sa gore prikazane slike 2.
P # 9) Koje su različite vrste dimenzija na koje ste naišli? Objasnite detaljno svaku od njih na primjeru?
Odgovor: Tipično postoji pet vrsta dimenzija.
a) Sukladne dimenzije : Dimenzija koja se koristi kao dio različitih područja naziva se usklađena dimenzija. Može se koristiti s različitim tablicama činjenica u jednoj bazi podataka ili na brojnim martovima podataka / skladištima.
Na primjer, ako je pretplatnička dimenzija povezana s dvije tablice činjenica - naplata i polaganje prava, tada bi se pretplatnička dimenzija tretirala kao usklađena dimenzija.
b) Junk Dimenzija : To je tablica dimenzija koja se sastoji od atributa kojima nije mjesto u tablici činjenica ili u bilo kojoj od trenutnih tablica dimenzija. Općenito , to su svojstva poput zastavica ili indikatora.
Na primjer, to može biti zastava prihvatljivosti člana postavljena kao „Y“ ili „N“ ili bilo koji drugi pokazatelj postavljen kao istinito / netačno, bilo koji određeni komentar itd. Ako sve takve atribute indikatora zadržimo u tablici činjenica, tada se njegova veličina povećava. Tako , kombiniramo sve takve atribute i stavljamo tablicu s jednom dimenzijom koja se naziva bezvrijedna dimenzija s jedinstvenim neželjenim ID-ovima s mogućom kombinacijom svih vrijednosti pokazatelja.
c) Dimenzija igranja uloga : To su dimenzije koje se koriste u više svrha u istoj bazi podataka.
Na primjer, dimenzija datuma može se koristiti za „Datum potraživanja“, „Datum naplate“ ili „Datum isteka plana“. Tako , takva će se dimenzija nazvati dimenzijom igranja uloga. Primarni ključ dimenzije Date bit će povezan s više stranih ključeva u tablici činjenica.
d) Polako mijenjanje dimenzija (SCD): To su najvažnije među svim dimenzijama. To su dimenzije u kojima vrijednosti atributa variraju s vremenom. Ispod su različite vrste SCD-a
- Tip 0: To su dimenzije u kojima vrijednost atributa ostaje stabilna tijekom vremena. Na primjer, Pretplatnički DOB je SCD tipa 0, jer će uvijek ostati isti bez obzira na vrijeme.
- Tip 1: To su dimenzije u kojima je prethodna vrijednost atributa zamijenjena trenutnom vrijednošću. U dimenziji Tip-1 ne održava se povijest. Na primjer, Adresa pretplatnika (tamo gdje tvrtka zahtijeva jedinu trenutnu adresu pretplatnika) može biti dimenzija tipa 1.
- Tip 2: To su dimenzije u kojima se čuva neograničena povijest. Na primjer, Adresa pretplatnika (gdje tvrtka zahtijeva vođenje evidencije svih prethodnih adresa pretplatnika). U tom će slučaju u tablicu biti umetnuto više redaka za pretplatnika s različitim adresama. Bit će nekoliko stupaca koji će identificirati trenutnu adresu. Na primjer, ‘Datum početka’ i ‘Datum završetka’. Redak u kojem će vrijednost 'Datum završetka' biti prazna sadržavat će trenutnu adresu pretplatnika, a svi ostali retci imat će prethodne adrese pretplatnika.
- Tip 3: To su one dimenzije u kojima se čuva ograničena povijest. I koristimo dodatni stupac za održavanje povijesti. Na primjer, Adresa pretplatnika (tamo gdje tvrtka zahtijeva vođenje evidencije o trenutnoj i samo jednoj prethodnoj adresi). U ovom slučaju stupac 'adresa' možemo rastopiti u dva različita stupca - 'trenutna adresa' i 'prethodna adresa'. Dakle, umjesto da imamo više redaka, imat ćemo samo jedan red koji prikazuje trenutnu, kao i prethodnu adresu pretplatnika.
- Tip 4: U ovoj vrsti dimenzije povijesni podaci čuvaju se u zasebnoj tablici. Tablica glavnih dimenzija sadrži samo trenutne podatke. Na primjer, glavna tablica dimenzija imat će samo jedan redak po pretplatniku koji drži svoju trenutnu adresu. Sve ostale prethodne adrese pretplatnika čuvat će se u zasebnoj tablici povijesti. Ova vrsta dimenzija se gotovo nikada ne koristi.
e) Izrođena dimenzija: Izrođena dimenzija dimenzija je koja nije činjenica, ali je u tablici činjenica predstavljena kao primarni ključ. Nema vlastitu tablicu dimenzija. Možemo je nazvati i jednom tablicom dimenzija atributa.
Ali , umjesto da ga držimo odvojeno u tablici dimenzija i stavimo dodatno spajanje, ovaj atribut stavljamo u tablicu činjenica izravno kao ključ. Budući da nema vlastitu tablicu dimenzija, nikada ne može djelovati kao strani ključ u tablici činjenica.
tehnike izazivanja zahtjeva u softverskom inženjerstvu
P # 10) Iznesite svoju ideju o činjenicama bez činjenica? I zašto ga koristimo?
Odgovor: Tabela činjenica je činjenica koja u sebi ne sadrži mjeru činjenica. U njemu su samo tipke dimenzija.
Ponekad se u poslu mogu pojaviti određene situacije u kojima trebate imati činjeničnu tablicu bez činjenica.
Na primjer, pretpostavimo da održavate sustav evidencije posjećenosti zaposlenika, možete imati tablicu činjenica bez činjenica koja ima tri ključa.
ID zaposlenika |
ID_odjela |
ID_vremena |
Vidite da gornja tablica ne sadrži nikakve mjere. Ako želite odgovoriti na dolje postavljeno pitanje, možete jednostavno koristiti gornju pojedinačnu tablicu činjenica, umjesto da imate dvije zasebne tablice činjenica:
'Koliko je zaposlenika određenog odjela bilo prisutno određenog dana?'
Dakle, tablica činjenica bez činjenica nudi fleksibilnost dizajnu.
P # 11) Razlikovati OLTP i OLAP?
Odgovor: OLTP je kratica za Sustav za obradu mrežnih transakcija & OLAP je kratica za Mrežni analitički sustav obrade . OLTP održava transakcijske podatke o poslovanju i općenito je visoko normaliziran. Suprotno tome, OLAP je namijenjen analizi i izvještavanju te je u normaliziranom obliku.
Ova razlika između OLAP-a i OLTP-a također vam daje način za odabir dizajna sheme. Ako je vaš sustav OLTP, trebali biste koristiti dizajn zvjezdaste sheme, a ako je vaš sustav OLAP, trebali biste koristiti shemu pahuljica.
P # 12) Što razumijete pod data martom?
Odgovor: Data martovi su uglavnom namijenjeni samotnoj grani poslovanja. Dizajnirani su za pojedine odjele.
Na primjer, Prije sam radio za tvrtku koja se bavi zdravstvenim osiguranjem koja je u sebi imala različite odjele poput financija, izvještavanja, prodaje i tako dalje.
Imali smo skladište podataka u kojem su se nalazili podaci koji se odnose na sve ove odjele, a zatim imamo nekoliko podatkovnih marketa izgrađenih na vrhu tog skladišta podataka. Ovi DataMart bili su specifični za svaki odjel. Jednostavnim riječima možete reći da je DataMart podskup skladišta podataka.
P # 13) Koje su različite vrste mjera?
Odgovor: Imamo tri vrste mjera, naime
- Mjere bez aditiva
- Poluaditivne mjere
- Aditivne mjere
Neaditivne mjere su one povrh kojih se ne može primijeniti funkcija agregacije. Na primjer, stupac omjera ili postotka; zastavica ili stupac indikatora prisutan u tablici činjenica koja sadrži vrijednosti poput Y / N, itd. neaditivna je mjera.
Poluaditivne mjere su one povrh kojih se mogu primijeniti neke (ali ne sve) funkcije agregiranja. Na primjer, stopa naknade ili stanje na računu.
Aditivne mjere su one povrh kojih se mogu primijeniti sve funkcije agregiranja. Na primjer, kupljene jedinice.
P # 14) Što je zamjenski ključ? Po čemu se razlikuje od primarnog ključa?
Odgovor: Zamjenski ključ jedinstveni je identifikator ili sistemski generirani ključ sekvenci koji može djelovati kao primarni ključ. To može biti stupac ili kombinacija stupaca. Za razliku od primarnog ključa, on se ne preuzima iz postojećih polja podataka aplikacije.
P # 15) Je li točno da bi sve baze podataka trebale biti u 3NF-u?
Odgovor: Nije obavezno da baza podataka bude u 3NF. Međutim , ako je vaša svrha jednostavno održavanje podataka, manje suvišnosti i učinkovit pristup, tada biste trebali koristiti denormaliziranu bazu podataka.
P # 16) Jeste li ikad naišli na scenarij rekurzivnih veza? Ako da, kako ste to riješili?
Odgovor: Rekurzivni odnos javlja se u slučaju kada je entitet povezan sam sa sobom. Da, naišao sam na takav scenarij.
Govoreći o domeni zdravstvene zaštite, postoji mogućnost da je pružatelj zdravstvene zaštite (recimo liječnik) pacijent bilo kojem drugom pružatelju zdravstvene zaštite. Jer , ako se i sam liječnik razboli i treba mu operacija, morat će posjetiti drugog liječnika radi operativnog liječenja.
Tako , u ovom slučaju, entitet - pružatelj zdravstvene zaštite povezan je sam sa sobom. Strani ključ broja davatelja zdravstvenog osiguranja morat će se nalaziti u evidenciji (pacijenta) svakog člana.
P # 17) Nabrojite nekoliko najčešćih pogrešaka koje su se dogodile tijekom modeliranja podataka?
Odgovor: Nekoliko uobičajenih pogrešaka s kojima se susreću tijekom modeliranja podataka su:
- Izgradnja masivnih modela podataka : Veliki podatkovni modeli vole imati više pogrešaka u dizajnu. Pokušajte ograničiti svoj podatkovni model na najviše 200 tablica.
- Nedostatak svrhe : Ako ne znate za što je namijenjeno vaše poslovno rješenje, mogli biste doći do netočnog modela podataka. Jasnost poslovne svrhe je vrlo važna za stvaranje pravog modela podataka.
- Neprimjerena upotreba zamjenskih ključeva : Zamjenski ključ ne smije se nepotrebno koristiti. Zamjenski ključ upotrebljavajte samo kada prirodni ključ ne može služiti u svrhu primarnog ključa.
- Nepotrebna denormalizacija : Ne denormirajte dok to ne učinite ako nemate čvrst i jasan poslovni razlog jer denormalizacija stvara suvišne podatke koje je teško održavati.
P # 18) Koji je broj podređenih tablica koje se mogu stvoriti iz jedne nadređene tablice?
Odgovor: Broj podređenih tablica koje se mogu stvoriti iz nadređene tablice jednak je broju polja / stupaca u nadređenoj tablici koji nisu ključevi.
P # 19) Pružatelj zdravstvenih usluga od svog poslodavca skriva zdravstvene podatke. O kojoj se razini skrivanja podataka radi? Konceptualni, fizički ili vanjski?
Odgovor: Ovo je scenarij vanjske razine skrivanja podataka.
P # 20) Koji je oblik tablice činjenica i tablice dimenzija?
Odgovor: Općenito, tablica činjenica je u normaliziranom obliku, a tablica dimenzija u normaliziranom obliku.
P # 21) Koje pojedinosti trebate za osmišljavanje konceptualnog modela u projektu zdravstvene zaštite?
Odgovor: Za projekt zdravstvene zaštite dolje navedeni detalji bili bi dovoljni za izradu osnovnog konceptualnog modela
- Različite kategorije zdravstvenih planova i proizvoda.
- Vrsta pretplate (grupna ili pojedinačna).
- Skup zdravstvenih radnika.
- Pregled postupka potraživanja i naplate.
P # 22) Lukavo: Ako se na stupac primijeni jedinstveno ograničenje, hoće li se pojaviti pogreška ako pokušate umetnuti dvije nule u njega?
Odgovor: Ne, u ovom slučaju neće doći do pogreške jer je null vrijednost nejednaka drugoj null vrijednosti. Dakle, u stupac će se bez greške umetnuti više od jedne nule.
P # 23) Možete li citirati primjer entiteta podtipa i supertipa?
Odgovor: Da, recimo da imamo te različite cjeline - vozilo, automobil, bicikl, ekonomični automobil, obiteljski automobil, sportski automobil.
Ovdje je vozilo super-tip entiteta. Automobil i bicikl su njegovi podtipovi. Nadalje, ekonomični automobili, sportski automobili i obiteljski automobili su podtipovi njegovih supertipova.
Super-tip entitet je onaj koji je na višoj razini. Subtipovi su oni koji su grupirani na temelju određenih karakteristika. Na primjer, svi su bicikli dvokotači, a svi automobili četverotočkaši. A budući da su oba vozila, tako je i njihov supertip entiteta 'vozilo'.
P # 24) Koji je značaj metapodataka?
Odgovor: Metapodaci su podaci o podacima. Govori vam koji su podaci zapravo pohranjeni u sustavu, koja je njihova svrha i kome su namijenjeni.
Zaključak
- Praktično razumijevanje Modeliranje podataka Pojam i kako se uklapa u zadatke koje ste izvršili prijeko je potreban za probijanje intervjua za modeliranje podataka.
- Najčešće postavljane teme u Modeliranje podataka intervju su - različite vrste modela podataka, vrste shema, vrste dimenzija i normalizacija.
- Budite dobro pripremljeni i za pitanja temeljena na scenariju.
Predložio bih da kad god odgovarate na pitanje ispitivaču, bolje je da ideju objasnite na primjeru. To bi pokazalo da ste zapravo radili na tom području i vrlo dobro razumijete srž koncepta.
gdje mogu pronaći svoj mrežni sigurnosni ključ
Sve najbolje!!