top 24 data modeling interview questions with detailed answers
Liste der am häufigsten gestellten Fragen und Antworten zum Datenmodellierungsinterview, um Sie auf das bevorstehende Interview vorzubereiten:
Hier werde ich einige Fragen und detaillierte Antworten zu Data Modeling-Interviews teilen, die auf meinen eigenen Erfahrungen bei Interviewinteraktionen in einigen renommierten IT-MNCs basieren.
Die folgenden Fragen und Antworten können eine große Hilfe sein, wenn Sie die Gelegenheit haben, sich mit Data Modeling auseinanderzusetzen oder ein Interview zu führen.
Am häufigsten gestellte Fragen zum Datenmodellierungsinterview
Lasst uns beginnen!
F # 1) Was verstehen Sie unter Datenmodellierung?
Antworten: Datenmodellierung ist die schematische Darstellung, die zeigt, wie die Entitäten miteinander in Beziehung stehen. Dies ist der erste Schritt zum Datenbankdesign. Wir erstellen zuerst das konzeptionelle Modell, dann das logische Modell und wechseln schließlich zum physischen Modell.
Im Allgemeinen werden die Datenmodelle in der Datenanalyse- und Entwurfsphase des Softwareentwicklungslebenszyklus erstellt.
Q # 2) Erklären Sie Ihr Verständnis für verschiedene Datenmodelle?
Antworten: Es gibt drei Arten von Datenmodellen - konzeptionelle, logische und physische. Der Grad an Komplexität und Detailgenauigkeit steigt von konzeptionell über logisch zu einem physischen Datenmodell.
Das konzeptionelle Modell zeigt ein sehr grundlegendes hohes Designniveau, während das physikalische Datenmodell eine sehr detaillierte Ansicht des Designs zeigt.
- Konzeptmodell wird nur Entitätsnamen und Entitätsbeziehungen darstellen. Abbildung 1 im späteren Teil dieses Artikels zeigt ein konzeptionelles Modell.
- Logisches Modell In jeder Entität werden Entitätsnamen, Entitätsbeziehungen, Attribute, Primärschlüssel und Fremdschlüssel angezeigt. Abbildung 2 in Frage 4 in diesem Artikel zeigt ein logisches Modell.
- Physikalisches Datenmodell zeigt Primärschlüssel, Fremdschlüssel, Tabellennamen, Spaltennamen und Spaltendatentypen an. In dieser Ansicht wird tatsächlich erläutert, wie das Modell tatsächlich in der Datenbank implementiert wird.
Q # 3) Licht auf Ihre Erfahrungen in der Datenmodellierung in Bezug auf Projekte werfen, an denen Sie bisher gearbeitet haben?
Hinweis: Dies war die allererste Frage in einem meiner Data Modeling-Interviews. Bevor Sie in die Interviewdiskussion eintreten, sollten Sie sich ein klares Bild davon machen, wie die Datenmodellierung in die Aufgaben passt, an denen Sie gearbeitet haben.
Antworten: Ich habe an einem Projekt für eine Krankenkasse gearbeitet, in dem Schnittstellen eingebaut sind Computing Dadurch werden die aus der Facets-Datenbank abgerufenen Daten transformiert und verarbeitet und nützliche Informationen an Anbieter gesendet.
Hinweis: Facets ist eine End-to-End-Lösung zur Verwaltung aller Informationen für die Gesundheitsbranche. Die Facettendatenbank in meinem Projekt wurde mit SQL Server 2012 erstellt.
Wir hatten verschiedene Einheiten, die miteinander verbunden waren. Diese Entitäten waren Abonnent, Mitglied, Gesundheitsdienstleister, Anspruch, Rechnung, Registrierung, Gruppe, Berechtigung, Plan / Produkt, Provision, Kapital usw.
Das folgende konzeptionelle Datenmodell zeigt, wie das Projekt auf hoher Ebene aussah
Abbildung 1:
Jede der Datenentitäten hat ihre eigenen Datenattribute. Zum Beispiel, Ein Datenattribut des Anbieters ist die Anbieteridentifikationsnummer, wenige Datenattribute der Mitgliedschaft sind die Abonnenten-ID, die Mitglieds-ID, eines der Datenattribute des Anspruchs beansprucht die ID, jedes Gesundheitsprodukt oder jeder Gesundheitsprogramm hat eine eindeutige Produkt-ID und bald.
F # 4) Was sind die verschiedenen Entwurfsschemata bei der Datenmodellierung? Erklären Sie mit demBeispiel?
Antworten: Bei der Datenmodellierung gibt es zwei verschiedene Arten von Schemata
- Stern Zeitplan
- Schneeflockenschema
Jetzt werde ich jedes dieser Schemata einzeln erklären.
Das einfachste der Schemata ist das Sternschema, in dessen Mitte sich eine Faktentabelle befindet, die auf mehrere Dimensionstabellen um sie herum verweist. Alle Dimensionstabellen sind mit der Faktentabelle verbunden. Der Primärschlüssel in allen Dimensionstabellen fungiert als Fremdschlüssel in der Faktentabelle.
Das IS-Diagramm (siehe Abbildung 2) dieses Schemas ähnelt der Form eines Sterns. Deshalb wird dieses Schema als Sternschema bezeichnet.
Figur 2:
Das Sternschema ist recht einfach, flexibel und in de-normalisierter Form.
In einem Schneeflockenschema steigt der Normalisierungsgrad. Die Faktentabelle bleibt hier dieselbe wie im Sternschema. Die Dimensionstabellen sind jedoch normalisiert. Aufgrund mehrerer Ebenen von Dimensionstabellen sieht es wie eine Schneeflocke aus und wird daher als Schneeflockenschema bezeichnet.
Lade alle Videos von der YouTube-Wiedergabeliste herunter
Figur 3:
F # 5) Welches Schema haben Sie in Ihrem Projekt verwendet und warum?
F # 6) Welches Schema ist besser - Stern oder Schneeflocke?
Antwort: (kombiniert für Q # 5 & 6): Die Auswahl eines Schemas hängt immer von den Projektanforderungen und -szenarien ab.
Da das Sternschema nicht normalisiert ist, benötigen Sie weniger Verknüpfungen für eine Abfrage. Die Abfrage ist einfach und wird in einem Sternschema schneller ausgeführt. Wenn Sie zum Schneeflockenschema kommen, da es in normalisierter Form vorliegt, sind im Vergleich zu einem Sternschema eine Reihe von Verknüpfungen erforderlich, die Abfrage ist komplex und die Ausführung ist langsamer als das Sternschema.
Ein weiterer wesentlicher Unterschied zwischen diesen beiden Schemata besteht darin, dass das Schneeflockenschema keine redundanten Daten enthält und daher leicht zu warten ist. Im Gegenteil, das Sternschema weist ein hohes Maß an Redundanz auf und ist daher schwierig beizubehalten.
Welches für Ihr Projekt? Wenn der Zweck Ihres Projekts darin besteht, mehr Dimensionsanalysen durchzuführen, sollten Sie sich für ein Schneeflockenschema entscheiden. Zum Beispiel, wenn Sie das herausfinden müssen 'Wie viele Abonnenten sind an einen bestimmten Plan gebunden, der derzeit aktiv ist?' - Gehen Sie mit dem Schneeflockenmodell.
Wenn der Zweck Ihres Projekts darin besteht, mehr Metrikanalysen durchzuführen, sollten Sie ein Sternschema verwenden. Zum Beispiel, wenn Sie das herausfinden müssen 'Wie hoch ist der an einen bestimmten Abonnenten gezahlte Anspruchsbetrag?' - Gehen Sie mit einem Sternschema.
In meinem Projekt haben wir das Schneeflockenschema verwendet, da wir Analysen über mehrere Dimensionen hinweg durchführen und zusammenfassende Berichte für das Unternehmen erstellen mussten. Ein weiterer Grund für die Verwendung des Schneeflockenschemas war der geringere Speicherverbrauch.
F # 7) Was verstehen Sie unter Dimension und Attribut?
Antworten: Dimensionen repräsentieren qualitative Daten. Zum Beispiel, Plan, Produkt, Klasse sind alle Dimensionen.
Eine Dimensionstabelle enthält beschreibende oder Textattribute. Zum Beispiel, Die Produktkategorie und der Produktname sind die Attribute der Produktdimension.
F # 8) Was ist eine Faktentabelle?
Antworten: Fakten repräsentieren quantitative Daten.
Zum Beispiel, Der fällige Nettobetrag ist eine Tatsache. Eine Faktentabelle enthält numerische Daten und Fremdschlüssel aus verwandten Dimensionstabellen. Ein Beispiel für die Faktentabelle ist aus der oben gezeigten Abbildung 2 ersichtlich.
F # 9) Auf welche verschiedenen Arten von Dimensionen sind Sie gestoßen? Erklären Sie jeden von ihnen ausführlich anhand eines Beispiels?
Antworten: Es gibt normalerweise fünf Arten von Dimensionen.
a) Angepasste Abmessungen : Eine Dimension, die als Teil verschiedener Bereiche verwendet wird, wird als angepasste Dimension bezeichnet. Es kann mit verschiedenen Faktentabellen in einer einzigen Datenbank oder über zahlreiche Data Marts / Warehouses verwendet werden.
Zum Beispiel, Wenn die Abonnentendimension mit zwei Faktentabellen verbunden ist - Abrechnung und Anspruch -, wird die Abonnentendimension als konforme Dimension behandelt.
b) Junk-Dimension : Es handelt sich um eine Dimensionstabelle mit Attributen, die keinen Platz in der Faktentabelle oder in einer der aktuellen Dimensionstabellen haben. Allgemein , Dies sind Eigenschaften wie Flags oder Indikatoren.
Zum Beispiel, Dies kann ein Mitgliedschaftsberechtigungsflag sein, das als 'Y' oder 'N' gesetzt ist, oder ein anderer Indikator, der als wahr / falsch gesetzt ist, bestimmte Kommentare usw. Wenn wir alle diese Indikatorattribute in der Faktentabelle behalten, wird seine Größe erhöht. So , Wir kombinieren alle diese Attribute und fügen sie in eine einzelne Dimensionstabelle ein, die als Junk-Dimension mit eindeutigen Junk-IDs und einer möglichen Kombination aller Indikatorwerte bezeichnet wird.
c) Rollenspieldimension : Dies sind die Dimensionen, die für mehrere Zwecke in derselben Datenbank verwendet werden.
Zum Beispiel, Eine Datumsdimension kann für 'Anspruchsdatum', 'Abrechnungsdatum' oder 'Planlaufzeitdatum' verwendet werden. So , Eine solche Dimension wird als Rollenspieldimension bezeichnet. Der Primärschlüssel der Datumsdimension wird mehreren Fremdschlüsseln in der Faktentabelle zugeordnet.
d) Langsam wechselnde Dimension (SCD): Diese sind unter allen Dimensionen am wichtigsten. In diesen Dimensionen variieren die Attributwerte mit der Zeit. Nachfolgend sind die verschiedenen Arten von SCDs aufgeführt
- Typ 0: Dies sind die Dimensionen, in denen der Attributwert über die Zeit konstant bleibt. Zum Beispiel, Das DOB des Abonnenten ist ein SCD vom Typ 0, da es unabhängig von der Zeit immer gleich bleibt.
- Typ 1: Dies sind die Dimensionen, in denen der vorherige Wert des Attributs durch den aktuellen Wert ersetzt wird. In der Dimension Typ 1 wird kein Verlauf verwaltet. Zum Beispiel, Die Adresse des Abonnenten (bei der das Unternehmen die einzige aktuelle Adresse des Abonnenten behalten muss) kann eine Dimension vom Typ 1 sein.
- Typ 2: Dies sind die Dimensionen, in denen unbegrenzte Geschichte erhalten bleibt. Zum Beispiel, Adresse des Abonnenten (wenn das Unternehmen alle vorherigen Adressen des Abonnenten aufzeichnen muss). In diesem Fall werden mehrere Zeilen für einen Abonnenten mit seinen unterschiedlichen Adressen in die Tabelle eingefügt. Es wird einige Spalten geben, die die aktuelle Adresse identifizieren. Zum Beispiel, 'Startdatum' und 'Enddatum'. Die Zeile, in der der Wert für 'Enddatum' leer ist, enthält die aktuelle Adresse des Abonnenten, und alle anderen Zeilen enthalten die vorherigen Adressen des Abonnenten.
- Typ 3: Dies sind die Arten von Dimensionen, in denen eine begrenzte Geschichte erhalten bleibt. Und wir verwenden eine zusätzliche Spalte, um den Verlauf zu pflegen. Zum Beispiel, Adresse des Abonnenten (wenn das Unternehmen eine Aufzeichnung der aktuellen und nur einer vorherigen Adresse benötigt). In diesem Fall können wir die Spalte 'Adresse' in zwei verschiedene Spalten auflösen - 'aktuelle Adresse' und 'vorherige Adresse'. Anstatt mehrere Zeilen zu haben, haben wir nur eine Zeile, in der sowohl die aktuelle als auch die vorherige Adresse des Teilnehmers angezeigt werden.
- Typ 4: Bei dieser Art von Dimension werden die historischen Daten in einer separaten Tabelle gespeichert. Die Hauptdimensionstabelle enthält nur die aktuellen Daten. Zum Beispiel, Die Hauptdimensionstabelle enthält nur eine Zeile pro Teilnehmer, die ihre aktuelle Adresse enthält. Alle anderen vorherigen Adressen des Teilnehmers werden in der separaten Verlaufstabelle gespeichert. Diese Art von Dimension wird kaum jemals verwendet.
e) Entartete Dimension: Eine entartete Dimension ist eine Dimension, die keine Tatsache ist, sondern in der Faktentabelle als Primärschlüssel dargestellt wird. Es gibt keine eigene Dimensionstabelle. Wir können es auch als einzelne Attributtimensionstabelle bezeichnen.
Aber , Anstatt es separat in einer Dimensionstabelle zu speichern und einen zusätzlichen Join einzufügen, fügen wir dieses Attribut direkt als Schlüssel in die Faktentabelle ein. Da es keine eigene Dimensionstabelle hat, kann es niemals als Fremdschlüssel in der Faktentabelle fungieren.
bester Registry Cleaner für Windows 7 64 Bit
F # 10) Geben Sie Ihre Vorstellung von Tatsachen? Und warum benutzen wir es?
Antworten: Faktentabelle ist eine Faktentabelle, die kein Faktenmaß enthält. Es enthält nur die Dimensionsschlüssel.
Manchmal können bestimmte Situationen im Unternehmen auftreten, in denen Sie eine Tabelle ohne Fakten benötigen.
Zum Beispiel, Angenommen, Sie unterhalten ein Anwesenheitsregistersystem für Mitarbeiter. Sie können eine faktenlose Faktentabelle mit drei Schlüsseln erstellen.
Angestellten ID |
Department_ID |
Time_ID |
Sie können sehen, dass die obige Tabelle keine Kennzahl enthält. Wenn Sie nun die folgende Frage beantworten möchten, können Sie die obige einzelne Faktentabelle ohne Fakten verwenden, anstatt zwei separate Faktentabellen zu haben:
'Wie viele Mitarbeiter einer bestimmten Abteilung waren an einem bestimmten Tag anwesend?'
Die faktenlose Faktentabelle bietet also Flexibilität für das Design.
F # 11) Unterscheiden Sie zwischen OLTP und OLAP?
Antworten: OLTP steht für die Online-Transaktionsverarbeitungssystem & OLAP steht für die Online Analytical Processing System . OLTP verwaltet die Transaktionsdaten des Unternehmens und ist im Allgemeinen stark normalisiert. Im Gegenteil, OLAP dient zu Analyse- und Berichtszwecken und ist in nicht normalisierter Form.
Dieser Unterschied zwischen OLAP und OLTP gibt Ihnen auch die Möglichkeit, das Design des Schemas auszuwählen. Wenn Ihr System OLTP ist, sollten Sie sich für das Sternschema-Design entscheiden, und wenn Ihr System OLAP ist, sollten Sie sich für das Schneeflockenschema entscheiden.
F # 12) Was verstehen Sie unter Data Mart?
Antworten: Data Marts sind größtenteils für einen einzelnen Geschäftszweig gedacht. Sie sind für die einzelnen Abteilungen konzipiert.
Zum Beispiel, Ich habe für eine Krankenkasse gearbeitet, die verschiedene Abteilungen wie Finanzen, Berichterstattung, Vertrieb usw. hatte.
Wir hatten ein Data Warehouse, das die Informationen zu all diesen Abteilungen enthielt, und dann haben wir nur wenige Data Marts, die auf diesem Data Warehouse aufbauen. Diese DataMart waren abteilungsspezifisch. Mit einfachen Worten können Sie sagen, dass ein DataMart eine Teilmenge eines Data Warehouse ist.
F # 13) Was sind die verschiedenen Arten von Maßnahmen?
Antworten: Wir haben drei Arten von Maßnahmen, nämlich
- Nichtadditive Maßnahmen
- Halbadditive Maßnahmen
- Additive Maßnahmen
Nichtadditive Kennzahlen sind diejenigen, auf die keine Aggregationsfunktion angewendet werden kann. Zum Beispiel, ein Verhältnis oder eine prozentuale Spalte; Ein Flag oder eine Indikatorspalte in einer Tabelle mit Werten wie J / N usw. ist ein nicht additives Maß.
Semi-additive Kennzahlen sind diejenigen, auf die einige (aber nicht alle) Aggregationsfunktionen angewendet werden können. Zum Beispiel, Gebührensatz oder Kontostand.
Additive Kennzahlen sind diejenigen, auf die alle Aggregationsfunktionen angewendet werden können. Zum Beispiel, gekaufte Einheiten.
F # 14) Was ist ein Ersatzschlüssel? Wie unterscheidet es sich von einem Primärschlüssel?
Antworten: Der Ersatzschlüssel ist eine eindeutige Kennung oder ein vom System generierter Sequenznummernschlüssel, der als Primärschlüssel fungieren kann. Es kann eine Spalte oder eine Kombination von Spalten sein. Im Gegensatz zu einem Primärschlüssel wird er nicht aus den vorhandenen Anwendungsdatenfeldern übernommen.
F # 15) Stimmt das, dass alle Datenbanken in 3NF sein sollten?
Antworten: Es ist nicht zwingend erforderlich, dass sich eine Datenbank in 3NF befindet. jedoch , Wenn Ihr Ziel die einfache Pflege von Daten, weniger Redundanz und ein effizienter Zugriff ist, sollten Sie sich für eine de-normalisierte Datenbank entscheiden.
F # 16) Sind Sie jemals auf das Szenario rekursiver Beziehungen gestoßen? Wenn ja, wie sind Sie damit umgegangen?
Antworten: Eine rekursive Beziehung tritt auf, wenn eine Entität mit sich selbst verbunden ist. Ja, ich bin auf ein solches Szenario gestoßen.
In Bezug auf den Gesundheitsbereich besteht die Möglichkeit, dass ein Gesundheitsdienstleister (z. B. ein Arzt) ein Patient eines anderen Gesundheitsdienstleisters ist. weil , Wenn der Arzt selbst krank wird und operiert werden muss, muss er einen anderen Arzt aufsuchen, um die chirurgische Behandlung zu erhalten.
So , In diesem Fall ist das Unternehmen - der Gesundheitsdienstleister - mit sich selbst verbunden. Ein Fremdschlüssel für die Nummer des Krankenversicherers muss in der Patientenakte jedes Mitglieds enthalten sein.
F # 17) Nennen Sie einige häufige Fehler, die bei der Datenmodellierung aufgetreten sind.
Antworten: Einige häufige Fehler bei der Datenmodellierung sind:
- Aufbau massiver Datenmodelle : Große Datenmodelle weisen gerne mehr Konstruktionsfehler auf. Versuchen Sie, Ihr Datenmodell auf nicht mehr als 200 Tabellen zu beschränken.
- Mangel an Zweck : Wenn Sie nicht wissen, wofür Ihre Geschäftslösung bestimmt ist, haben Sie möglicherweise ein falsches Datenmodell. Klarheit über den Geschäftszweck ist daher sehr wichtig, um das richtige Datenmodell zu finden.
- Unangemessene Verwendung von Ersatzschlüsseln : Der Ersatzschlüssel sollte nicht unnötig verwendet werden. Verwenden Sie den Ersatzschlüssel nur, wenn der natürliche Schlüssel nicht dem Zweck eines Primärschlüssels dienen kann.
- Unnötige De-Normalisierung : Denormalisieren Sie erst, wenn Sie einen soliden und klaren Geschäftsgrund dafür haben, da durch die De-Normalisierung redundante Daten entstehen, die schwer zu pflegen sind.
F # 18) Wie viele untergeordnete Tabellen können aus einer einzelnen übergeordneten Tabelle erstellt werden?
Antworten: Die Anzahl der untergeordneten Tabellen, die aus der einzelnen übergeordneten Tabelle erstellt werden können, entspricht der Anzahl der Felder / Spalten in der übergeordneten Tabelle, die keine Schlüssel sind.
F # 19) Die Gesundheitsdaten der Mitarbeiter werden vom Gesundheitsdienstleister vor seinem Arbeitgeber verborgen. Welche Ebene des Datenversteckens ist das? Konzeptionell, physisch oder extern?
Antworten: Dies ist das Szenario einer externen Ebene, in der Daten ausgeblendet werden.
F # 20) Was ist die Form der Faktentabelle und der Dimensionstabelle?
Antworten: Im Allgemeinen liegt die Faktentabelle in normalisierter Form und die Dimensionstabelle in nicht normalisierter Form vor.
F # 21) Welche Einzelheiten würden Sie benötigen, um ein konzeptionelles Modell in einem Gesundheitsprojekt zu entwickeln?
Antworten: Für ein Gesundheitsprojekt würden die folgenden Details ausreichen, um ein grundlegendes konzeptionelles Modell zu entwerfen
- Verschiedene Kategorien von Gesundheitsplänen und -produkten.
- Art des Abonnements (Gruppe oder Einzelperson).
- Reihe von Gesundheitsdienstleistern.
- Übersicht über den Anspruchs- und Abrechnungsprozess.
F # 22) Knifflig: Wenn eine eindeutige Einschränkung auf eine Spalte angewendet wird, wird dann ein Fehler ausgegeben, wenn Sie versuchen, zwei Nullen einzufügen?
Antworten: Nein, in diesem Fall wird kein Fehler ausgegeben, da ein Nullwert nicht mit einem anderen Nullwert übereinstimmt. Es wird also mehr als eine Null ohne Fehler in die Spalte eingefügt.
F # 23) Können Sie ein Beispiel für eine Entität vom Subtyp und Supertyp zitieren?
Antworten: Ja, nehmen wir an, wir haben diese verschiedenen Einheiten - Fahrzeug, Auto, Fahrrad, Economy-Auto, Familienauto, Sportwagen.
Hier ist ein Fahrzeug eine Super-Typ-Einheit. Auto und Fahrrad sind seine Untertypen. Darüber hinaus sind Economy-Autos, Sportwagen und Familienautos Untertypen des Supertyp-Unternehmens.
Eine Super-Typ-Entität ist diejenige, die sich auf einer höheren Ebene befindet. Subtyp-Entitäten sind Entitäten, die auf der Grundlage bestimmter Merkmale zusammengefasst werden. Zum Beispiel, Alle Fahrräder sind Zweiräder und alle Autos sind Vierräder. Und da beide Fahrzeuge sind, ist ihre Super-Typ-Einheit „Fahrzeug“.
F # 24) Welche Bedeutung haben Metadaten?
Antworten: Metadaten sind Daten über Daten. Hier erfahren Sie, welche Art von Daten tatsächlich im System gespeichert sind, wozu sie dienen und für wen sie bestimmt sind.
Fazit
- Praktisches Verständnis der Datenmodellierung Das Konzept und wie es in die von Ihnen durchgeführten Aufgaben passt, ist dringend erforderlich, um ein Datenmodellierungsinterview zu knacken.
- Die am häufigsten gestellten Themen in Datenmodellierung Interview sind - verschiedene Arten von Datenmodellen, Arten von Schemata, Arten von Dimensionen und Normalisierung.
- Seien Sie auch auf szenarienbasierte Fragen gut vorbereitet.
Ich würde vorschlagen, dass es besser ist, wenn Sie dem Interviewer eine Frage beantworten, die Idee anhand eines Beispiels zu erklären. Dies würde zeigen, dass Sie tatsächlich in diesem Bereich gearbeitet haben und den Kern des Konzepts sehr gut verstehen.
etl testet interviewfragen und antworten für erfahrene
Alles Gute!!