top 24 data modeling interview questions with detailed answers
Lista najczęściej zadawanych pytań i odpowiedzi do wywiadów dotyczących modelowania danych, które pomogą Ci przygotować się do nadchodzącej rozmowy kwalifikacyjnej:
W tym miejscu zamierzam podzielić się kilkoma pytaniami z wywiadu i szczegółowymi odpowiedziami opartymi na moich własnych doświadczeniach podczas rozmów kwalifikacyjnych w kilku renomowanych korporacjach IT MNC.
Poniższe pytania i odpowiedzi mogą być bardzo pomocne, jeśli będziesz miał okazję porozmawiać lub wziąć udział w rozmowie na temat modelowania danych.
Najczęściej zadawane pytania do wywiadów na temat modelowania danych
Zaczynajmy!
Pytanie 1) Co rozumiesz przez modelowanie danych?
Odpowiedź: Modelowanie danych to schematyczne przedstawienie pokazujące, w jaki sposób jednostki są ze sobą powiązane. To pierwszy krok w kierunku projektowania bazy danych. Najpierw tworzymy model koncepcyjny, następnie model logiczny, a na końcu przechodzimy do modelu fizycznego.
Ogólnie rzecz biorąc, modele danych są tworzone w fazie analizy danych i projektowania cyklu życia oprogramowania.
Pytanie nr 2) Wyjaśnij, jak rozumiesz różne modele danych?
Odpowiedź: Istnieją trzy typy modeli danych - koncepcyjne, logiczne i fizyczne. Poziom złożoności i szczegółowości wzrasta z koncepcyjnego przez logiczny do fizycznego modelu danych.
Model koncepcyjny przedstawia bardzo podstawowy, wysoki poziom projektu, podczas gdy fizyczny model danych przedstawia bardzo szczegółowy widok projektu.
- Model koncepcyjny będzie po prostu przedstawiać nazwy jednostek i ich relacje. Rysunek 1 pokazany w dalszej części tego artykułu przedstawia model koncepcyjny.
- Model logiczny pokaże nazwy jednostek, relacje między encjami, atrybuty, klucze podstawowe i klucze obce w każdej encji. Rysunek 2 pokazany w pytaniu nr 4 w tym artykule przedstawia model logiczny.
- Fizyczny model danych pokaże klucze podstawowe, klucze obce, nazwy tabel, nazwy kolumn i typy danych kolumn. Ten widok wyjaśnia, w jaki sposób model zostanie faktycznie zaimplementowany w bazie danych.
Pytanie nr 3) Rzuć trochę światła na swoje doświadczenie w modelowaniu danych w odniesieniu do projektów, nad którymi pracowałeś do tej pory?
Uwaga: To było pierwsze pytanie w jednym z moich wywiadów z modelowaniem danych. Tak więc, zanim przystąpisz do rozmowy kwalifikacyjnej, powinieneś mieć bardzo jasny obraz tego, jak modelowanie danych pasuje do zadań, nad którymi pracowałeś.
Odpowiedź: Pracowałem nad projektem dla firmy oferującej ubezpieczenia zdrowotne, w którym mamy wbudowane interfejsy Przetwarzanie danych który przekształca i przetwarza dane pobrane z bazy danych Facets i wysyła przydatne informacje do dostawców.
Uwaga: Facets to kompleksowe rozwiązanie do zarządzania wszystkimi informacjami dla branży opieki zdrowotnej. Baza danych aspektów w moim projekcie została utworzona za pomocą programu SQL Server 2012.
Mieliśmy różne byty, które były ze sobą połączone. Podmiotami tymi były abonent, członek, świadczeniodawca, roszczenie, rachunek, rejestracja, grupa, kwalifikowalność, plan / produkt, prowizja, kapitalizacja itp.
Poniżej znajduje się koncepcyjny model danych pokazujący, jak projekt wyglądał na wysokim poziomie
Rysunek 1:
Każda z jednostek danych ma własne atrybuty danych. Na przykład, atrybutem danych dostawcy będzie numer identyfikacyjny dostawcy, kilka atrybutów danych członkostwa to identyfikator subskrybenta, identyfikator członka, jeden z atrybutów danych roszczenia będzie identyfikatorem roszczenia, każdy produkt medyczny lub plan będzie miał unikalny identyfikator produktu i wkrótce.
P # 4) Jakie są różne schematy projektowe w modelowaniu danych? Wyjaśnij za pomocąprzykład?
Odpowiedź: W modelowaniu danych istnieją dwa różne rodzaje schematów
- Harmonogram Gwiazda
- Schemat płatka śniegu
Teraz wyjaśnię każdy z tych schematów jeden po drugim.
Najprostszym ze schematów jest schemat gwiaździsty, w którym pośrodku znajduje się tabela faktów, która odwołuje się do wielu tabel wymiarów wokół niej. Wszystkie tabele wymiarów są połączone z tabelą faktów. Klucz podstawowy we wszystkich tabelach wymiarów działa jako klucz obcy w tabeli faktów.
Plik Schemat IS (patrz rysunek 2) tego schematu przypomina kształt gwiazdy i dlatego schemat ten nazwano schematem gwiazdy.
Rysunek 2:
Schemat gwiazdy jest dość prosty, elastyczny i ma postać zdenormalizowaną.
W schemacie płatka śniegu poziom normalizacji wzrasta. Tabela faktów pozostaje taka sama jak w schemacie gwiazdy. Jednak tabele wymiarów są znormalizowane. Ze względu na kilka warstw tabel wymiarów wygląda jak płatek śniegu i dlatego jest nazywany schematem płatka śniegu.
pytania i odpowiedzi dla doświadczonych testerów mobilnych
Rysunek 3:
P # 5) Z jakiego schematu korzystałeś w swoim projekcie i dlaczego?
P # 6) Który schemat jest lepszy - gwiazda czy płatek śniegu?
Odpowiedź: (łącznie dla pytań nr 5 i 6): Wybór schematu zawsze zależy od wymagań i scenariuszy projektu.
Ponieważ schemat gwiaździsty ma postać zdenormalizowaną, do zapytania potrzeba mniej połączeń. Zapytanie jest proste i działa szybciej w schemacie gwiazdy. Przechodząc do schematu płatka śniegu, ponieważ jest on w znormalizowanej formie, będzie wymagał wielu sprzężeń w porównaniu ze schematem gwiazdy, zapytanie będzie złożone, a wykonanie będzie wolniejsze niż schemat gwiaździsty.
Inną istotną różnicą między tymi dwoma schematami jest to, że schemat płatka śniegu nie zawiera zbędnych danych, a zatem jest łatwy w utrzymaniu. Wręcz przeciwnie, schemat gwiazdy ma wysoki poziom nadmiarowości, a zatem jest trudny do utrzymania.
Który z nich wybrać do swojego projektu? Jeśli celem twojego projektu jest wykonanie większej ilości analizy wymiarów, powinieneś wybrać schemat płatka śniegu. Na przykład, jeśli chcesz się tego dowiedzieć „Ilu subskrybentów jest powiązanych z konkretnym planem, który jest obecnie aktywny?” - idź z modelem płatka śniegu.
Jeśli celem twojego projektu jest wykonanie większej ilości analiz metryk, powinieneś wybrać schemat gwiazdy. Na przykład, jeśli chcesz się tego dowiedzieć „Jaka jest kwota roszczenia wypłacona danemu subskrybentowi?” - idź ze schematem gwiazdy.
W moim projekcie użyliśmy schematu płatka śniegu, ponieważ musieliśmy przeprowadzić analizę w kilku wymiarach i wygenerować raporty podsumowujące dla firmy. Innym powodem używania schematu płatka śniegu było mniejsze zużycie pamięci.
P # 7) Co rozumiesz przez wymiar i atrybut?
Odpowiedź: Wymiary przedstawiają dane jakościowe. Na przykład, plan, produkt, klasa to wszystkie wymiary.
Tabela wymiarów zawiera atrybuty opisowe lub tekstowe. Na przykład, kategoria produktu i nazwa produktu to atrybuty wymiaru produktu.
P # 8) Co to jest tabela faktów i faktów?
Odpowiedź: Fakty przedstawiają dane ilościowe.
Na przykład, należna kwota netto jest faktem. Tabela faktów zawiera dane liczbowe i klucze obce z powiązanych tabel wymiarowych. Przykład tabeli faktów można zobaczyć na rysunku 2 pokazanym powyżej.
P # 9) Z jakimi typami wymiarów się spotkałeś? Wyjaśnij szczegółowo każdy z nich na przykładzie?
Odpowiedź: Zwykle występuje pięć typów wymiarów.
a) Zgodne wymiary : Wymiar używany jako część różnych obszarów nazywany jest wymiarem zgodnym. Może być używany z różnymi tabelami faktów w jednej bazie danych lub w wielu bazach danych / hurtowniach.
Na przykład, jeśli wymiar abonenta jest połączony z dwiema tabelami faktów - fakturowaniem i roszczeniem, wówczas wymiar abonenta byłby traktowany jako wymiar zgodny.
b) Wymiar śmieci : Jest to tabela wymiarów zawierająca atrybuty, które nie mają miejsca w tabeli faktów ani w żadnej z bieżących tabel wymiarów. Ogólnie , są to właściwości takie jak flagi lub wskaźniki.
Na przykład, może to być flaga kwalifikowalności członka ustawiona jako „Y” lub „N” lub jakikolwiek inny wskaźnik ustawiony jako prawda / fałsz, dowolne konkretne komentarze itp. jeśli utrzymamy wszystkie takie atrybuty wskaźnika w tabeli faktów, jego rozmiar zostanie zwiększony. Więc , łączymy wszystkie takie atrybuty i umieszczamy w jednej tabeli wymiarów zwanej wymiarem śmieci zawierającej unikalne identyfikatory śmieci z możliwą kombinacją wszystkich wartości wskaźników.
c) Wymiar odgrywania ról : Są to wymiary, które są używane do wielu celów w tej samej bazie danych.
Na przykład, wymiar daty może być użyty jako „Data roszczenia”, „Data rozliczenia” lub „Data obowiązywania planu”. Więc , taki wymiar będzie nazywany wymiarem odgrywania ról. Klucz podstawowy wymiaru Data zostanie powiązany z wieloma kluczami obcymi w tabeli faktów.
d) Wolno zmieniający się wymiar (SCD): Są to najważniejsze spośród wszystkich wymiarów. Są to wymiary, w których wartości atrybutów zmieniają się w czasie. Poniżej przedstawiono różne typy dysków SCD
- Typ 0: Są to wymiary, w których wartość atrybutu pozostaje niezmienna w czasie. Na przykład, Data urodzenia abonenta to SCD typu 0, ponieważ zawsze pozostanie taka sama niezależnie od czasu.
- Typ 1: Są to wymiary, w których poprzednia wartość atrybutu jest zastępowana wartością bieżącą. Żadna historia nie jest przechowywana w wymiarze typu 1. Na przykład, Adres subskrybenta (gdzie firma wymaga zachowania jedynego aktualnego adresu subskrybenta) może być wymiarem typu 1.
- Typ 2: To są wymiary, w których zachowana jest nieograniczona historia. Na przykład, Adres abonenta (gdzie firma wymaga prowadzenia rejestru wszystkich poprzednich adresów abonenta). W takim przypadku do tabeli zostanie wstawionych wiele wierszy dotyczących abonenta z jego różnymi adresami. Pojawi się kilka kolumn, które będą identyfikować aktualny adres. Na przykład, „Data rozpoczęcia” i „Data zakończenia”. Wiersz, w którym wartość „Data zakończenia” będzie pusty, będzie zawierał aktualny adres abonenta, a wszystkie pozostałe wiersze będą zawierały poprzednie adresy subskrybenta.
- Typ 3: Są to wymiary, w których zachowana jest ograniczona historia. Używamy dodatkowej kolumny, aby zachować historię. Na przykład, Adres abonenta (w przypadku gdy firma wymaga prowadzenia rejestru aktualnego i tylko jednego poprzedniego adresu). W tym przypadku możemy podzielić kolumnę „adres” na dwie różne kolumny - „aktualny adres” i „poprzedni adres”. Tak więc, zamiast wielu wierszy, będziemy mieć tylko jeden wiersz zawierający bieżący i poprzedni adres abonenta.
- Typ 4: W tego typu wymiarze dane historyczne są przechowywane w oddzielnej tabeli. Główna tabela wymiarów zawiera tylko aktualne dane. Na przykład, główna tabela wymiarów będzie zawierała tylko jeden wiersz na abonenta posiadającego aktualny adres. Wszystkie inne poprzednie adresy abonenta będą przechowywane w oddzielnej tabeli historii. Ten typ wymiaru jest rzadko używany.
e) Wymiar zdegenerowany: Wymiar zdegenerowany to wymiar, który nie jest faktem, ale jest prezentowany w tabeli faktów jako klucz podstawowy. Nie ma własnej tabeli wymiarów. Możemy również nazwać to tabelą wymiarów pojedynczego atrybutu.
Ale , zamiast trzymać go oddzielnie w tabeli wymiarów i wstawiać dodatkowe sprzężenie, umieściliśmy ten atrybut w tabeli faktów bezpośrednio jako klucz. Ponieważ nie ma własnej tabeli wymiarów, nigdy nie może działać jako klucz obcy w tabeli faktów.
Q # 10) Podaj swój pomysł dotyczący faktów? A dlaczego go używamy?
Odpowiedź: Tabela faktów bez faktów to tabela faktów, która nie zawiera żadnej miary faktów. Zawiera tylko klucze wymiaru.
Czasami w firmie mogą zaistnieć pewne sytuacje, w których trzeba mieć tabelę faktów.
Na przykład, załóżmy, że prowadzisz system rejestru obecności pracowników, możesz mieć tabelę faktów zawierającą trzy klucze.
Numer identyfikacyjny pracownika |
Department_ID |
Time_ID |
Widać, że powyższa tabela nie zawiera żadnej miary. Teraz, jeśli chcesz odpowiedzieć na poniższe pytanie, możesz to łatwo zrobić, korzystając z powyższej pojedynczej tabeli faktów, zamiast dwóch oddzielnych tabel faktów:
„Ilu pracowników danego działu było obecnych w danym dniu?”
Tak więc tabela faktów bez faktów zapewnia elastyczność projektu.
P # 11) Rozróżnić OLTP i OLAP?
Odpowiedź: OLTP oznacza System przetwarzania transakcji online & OLAP oznacza System przetwarzania analitycznego online . OLTP przechowuje dane transakcyjne firmy i jest ogólnie wysoce znormalizowany. Wręcz przeciwnie, OLAP służy do celów analizy i raportowania i ma postać zdenormalizowaną.
jak tworzyć oprogramowanie sztucznej inteligencji
Ta różnica między OLAP i OLTP umożliwia również wybór projektu schematu. Jeśli twój system to OLTP, powinieneś przejść z projektem schematu gwiazdy, a jeśli twój system to OLAP, powinieneś przejść ze schematem płatka śniegu.
Pytanie 12) Co rozumiesz pod pojęciem zbiorczej bazy danych?
Odpowiedź: Magazyny danych są w większości przeznaczone dla jednej gałęzi biznesu. Przeznaczone są dla poszczególnych działów.
Na przykład, Kiedyś pracowałem dla firmy oferującej ubezpieczenia zdrowotne, która miała różne działy, takie jak finanse, sprawozdawczość, sprzedaż i tak dalej.
Mieliśmy hurtownię danych, która zawierała informacje dotyczące wszystkich tych działów, a potem mamy kilka baz danych zbudowanych na tej hurtowni. Te DataMart były specyficzne dla każdego działu. W prostych słowach można powiedzieć, że DataMart jest podzbiorem hurtowni danych.
P # 13) Jakie są różne rodzaje środków?
Odpowiedź: Mamy trzy rodzaje środków, a mianowicie
- Środki nieaddytywne
- Środki póładdytywne
- Środki addytywne
Miary nieaddytywne to te, na których nie można zastosować funkcji agregacji. Na przykład, współczynnik lub kolumna procentowa; flaga lub kolumna wskaźnika obecna w rzeczywistości w tabeli przechowującej wartości, takie jak T / N itp., nie jest miarą addytywną.
Miary póładdytywne to te, do których można zastosować niektóre (ale nie wszystkie) funkcje agregujące. Na przykład, stawka opłat lub saldo konta.
Miary addytywne to te, do których można zastosować wszystkie funkcje agregacji. Na przykład, zakupione jednostki.
P # 14) Co to jest klucz zastępczy? Czym różni się od klucza podstawowego?
Odpowiedź: Klucz zastępczy to unikatowy identyfikator lub wygenerowany przez system klucz numeryczny, który może działać jako klucz podstawowy. Może to być kolumna lub kombinacja kolumn. W przeciwieństwie do klucza podstawowego nie jest pobierany z istniejących pól danych aplikacji.
P # 15) Czy to prawda, że wszystkie bazy danych powinny znajdować się w 3NF?
Odpowiedź: Baza danych nie musi znajdować się w 3NF. jednak , jeśli Twoim celem jest łatwe utrzymanie danych, mniejsza redundancja i efektywny dostęp, powinieneś wybrać zdenormalizowaną bazę danych.
P # 16) Czy kiedykolwiek spotkałeś się ze scenariuszem relacji rekurencyjnych? Jeśli tak, jak sobie z tym poradziłeś?
Odpowiedź: Relacja rekurencyjna występuje w przypadku, gdy jednostka jest ze sobą powiązana. Tak, trafiłem na taki scenariusz.
Mówiąc o domenie opieki zdrowotnej, istnieje możliwość, że świadczeniodawca (powiedzmy, lekarz) jest pacjentem innego dostawcy opieki zdrowotnej. Dlatego , jeśli sam lekarz zachoruje i będzie wymagał operacji, będzie musiał udać się do innego lekarza w celu poddania się operacji.
Więc , w tym przypadku podmiot - świadczeniodawca jest ze sobą powiązany. Klucz obcy do numeru ubezpieczyciela będzie musiał znajdować się w kartotece każdego członka (pacjenta).
P # 17) Wymień kilka typowych błędów napotkanych podczas modelowania danych?
Odpowiedź: Kilka typowych błędów napotykanych podczas modelowania danych to:
- Tworzenie ogromnych modeli danych : Duże modele danych mają więcej błędów projektowych. Spróbuj ograniczyć model danych do nie więcej niż 200 tabel.
- Brak celu : Jeśli nie wiesz, do czego jest przeznaczone Twoje rozwiązanie biznesowe, możesz wymyślić nieprawidłowy model danych. Zatem jasność co do celu biznesowego jest bardzo ważna, aby znaleźć odpowiedni model danych.
- Niewłaściwe użycie kluczy zastępczych : Klucz zastępczy nie powinien być używany niepotrzebnie. Użyj klucza zastępczego tylko wtedy, gdy klucz naturalny nie może służyć jako klucz podstawowy.
- Niepotrzebna denormalizacja : Nie denormalizuj, dopóki nie masz solidnego i jasnego powodu biznesowego, aby to zrobić, ponieważ denormalizacja tworzy zbędne dane, które są trudne do utrzymania.
P # 18) Jaka jest liczba tabel podrzędnych, które można utworzyć na podstawie pojedynczej tabeli nadrzędnej?
Odpowiedź: Liczba tabel podrzędnych, które można utworzyć z pojedynczej tabeli nadrzędnej, jest równa liczbie pól / kolumn w tabeli nadrzędnej, które nie są kluczami.
P # 19) Szczegóły dotyczące zdrowia pracownika są ukrywane przed jego pracodawcą przez pracownika służby zdrowia. Jaki to jest poziom ukrywania danych? Koncepcyjne, fizyczne czy zewnętrzne?
Odpowiedź: To jest scenariusz zewnętrznego poziomu ukrywania danych.
jak otwierać pliki bin w systemie Windows 7
P # 20) Jaka jest forma tabeli faktów i tabeli wymiarów?
Odpowiedź: Zwykle tabela faktów ma postać znormalizowaną, a tabela wymiarów ma postać zdenormalizowaną.
P # 21) Jakich szczegółów potrzebowałbyś, aby wymyślić model koncepcyjny w projekcie domeny opieki zdrowotnej?
Odpowiedź: W przypadku projektu opieki zdrowotnej poniższe szczegóły wystarczyłyby jako wymóg zaprojektowania podstawowego modelu koncepcyjnego
- Różne kategorie planów i produktów opieki zdrowotnej.
- Rodzaj subskrypcji (grupowa lub indywidualna).
- Zestaw lekarzy.
- Omówienie procesu reklamacji i fakturowania.
P # 22) Podstępny: jeśli unikalne ograniczenie zostanie zastosowane do kolumny, to czy zgłosi błąd, jeśli spróbujesz wstawić do niej dwa null?
Odpowiedź: Nie, w tym przypadku nie zgłosi żadnego błędu, ponieważ wartość null jest nierówna innej wartości zerowej. Zatem więcej niż jedna wartość null zostanie wstawiona do kolumny bez żadnego błędu.
P # 23) Czy możesz podać przykład encji podtypu i nadtypu?
Odpowiedź: Tak, powiedzmy, że mamy te różne podmioty - pojazd, samochód, rower, samochód ekonomiczny, samochód rodzinny, samochód sportowy.
Tutaj pojazd jest bytem nadrzędnym. Samochód i rower to jego podtypy. Ponadto samochody ekonomiczne, samochody sportowe i samochody rodzinne są podtypami jego nadrzędnego samochodu osobowego.
Istota nadrzędna to taka, która jest na wyższym poziomie. Podtypy to takie, które są grupowane na podstawie pewnych cech. Na przykład, wszystkie rowery to jednoślady, a wszystkie samochody czterokołowe. A ponieważ oba są pojazdami, ich nadtypem jest „pojazd”.
P # 24) Jakie jest znaczenie metadanych?
Odpowiedź: Metadane to dane o danych. Informuje, jakie dane są faktycznie przechowywane w systemie, jaki jest ich cel i dla kogo są przeznaczone.
Wniosek
- Praktyczne zrozumienie Modelowanie danych koncepcja i to, jak pasuje do wykonywanych przez Ciebie zadań, jest bardzo potrzebne do złamania wywiadu dotyczącego modelowania danych.
- Najczęściej zadawane tematy w Modelowanie danych wywiad to - różne typy modeli danych, typy schematów, rodzaje wymiarów i normalizacja.
- Bądź również dobrze przygotowany na pytania oparte na scenariuszach.
Sugerowałbym, że zawsze, gdy odpowiadasz na pytanie ankieterowi, lepiej wyjaśnić pomysł na przykładzie. To pokazałoby, że rzeczywiście pracowałeś w tej dziedzinie i bardzo dobrze rozumiesz sedno tej koncepcji.
Wszystkiego najlepszego!!