top 24 data modeling interview questions with detailed answers
Liste des questions et réponses d'entrevue de modélisation de données les plus fréquemment posées pour vous aider à vous préparer à l'entretien à venir:
Ici, je vais partager quelques questions d'entrevue de modélisation de données et des réponses détaillées basées sur ma propre expérience lors d'interactions d'entretien dans quelques multinationales informatiques renommées.
Les questions-réponses ci-dessous peuvent être d'une grande aide si vous avez la chance de faire face ou de passer un entretien sur la modélisation des données.
Questions d'entretien de modélisation de données les plus fréquemment posées
Commençons!
Q # 1) Qu'entendez-vous par modélisation de données?
Répondre: Modélisation des données est la représentation schématique montrant comment les entités sont liées les unes aux autres. C'est la première étape vers la conception d'une base de données. Nous créons d'abord le modèle conceptuel, puis le modèle logique et enfin nous passons au modèle physique.
En général, les modèles de données sont créés lors de la phase d'analyse et de conception des données du cycle de vie du développement logiciel.
Q # 2) Expliquez votre compréhension des différents modèles de données?
Répondre: Il existe trois types de modèles de données: conceptuel, logique et physique. Le niveau de complexité et de détail augmente de conceptuel à logique à un modèle de données physique.
Le modèle conceptuel montre un niveau de conception très basique tandis que le modèle de données physiques montre une vue très détaillée de la conception.
- Modèle conceptuel ne représentera que les noms d'entités et les relations d'entités. La figure 1 présentée dans la dernière partie de cet article représente un modèle conceptuel.
- Modèle logique affichera les noms d'entités, les relations d'entités, les attributs, les clés primaires et les clés étrangères dans chaque entité. La figure 2 présentée à l'intérieur de la question n ° 4 de cet article décrit un modèle logique.
- Modèle de données physique affichera les clés primaires, les clés étrangères, les noms de table, les noms de colonne et les types de données de colonne. Cette vue précise en fait comment le modèle sera réellement implémenté dans la base de données.
Q # 3) Jeter un peu de lumière sur votre expérience en modélisation de données par rapport aux projets sur lesquels vous avez travaillé jusqu'à ce jour?
Noter: C'était la toute première question de l'une de mes interviews de modélisation de données. Ainsi, avant de vous lancer dans la discussion d'entrevue, vous devez avoir une image très claire de la façon dont la modélisation des données s'intègre dans les missions sur lesquelles vous avez travaillé.
Répondre: J'ai travaillé sur un projet pour une société d'assurance maladie où nous avons des interfaces intégrées L'informatique qui transforme et traite les données extraites de la base de données Facets et envoie des informations utiles aux fournisseurs.
Noter: Facets est une solution de bout en bout pour gérer toutes les informations pour l'industrie de la santé. La base de données de facettes de mon projet a été créée avec SQL Server 2012.
Nous avions différentes entités liées entre elles. Ces entités étaient l'abonné, le membre, le fournisseur de soins de santé, la réclamation, la facture, l'inscription, le groupe, l'admissibilité, le plan / produit, la commission, la capitation, etc.
Vous trouverez ci-dessous le modèle de données conceptuel montrant à quoi ressemblait le projet à un niveau élevé
Figure 1:
Chacune des entités de données a ses propres attributs de données. Par exemple, un attribut de données du fournisseur sera le numéro d'identification du fournisseur, peu d'attributs de données de l'adhésion seront l'identifiant de l'abonné, l'identifiant du membre, l'un des attributs de données de la réclamation réclamera l'identifiant, chaque produit ou plan de soins de santé aura un identifiant de produit unique et bientôt.
Q # 4) Quels sont les différents schémas de conception dans la modélisation des données? Expliquez avec leExemple?
Répondre: Il existe deux types de schémas dans la modélisation de données
- Horaire des étoiles
- Schéma de flocon de neige
Maintenant, je vais expliquer chacun de ces schémas un par un.
Le plus simple des schémas est le schéma en étoile où nous avons une table de faits au centre qui fait référence à plusieurs tables de dimension autour d'elle. Toutes les tables de dimension sont connectées à la table de faits. La clé primaire de toutes les tables de dimension agit comme une clé étrangère dans la table de faits.
Le Diagramme SI (voir Figure 2) de ce schéma ressemble à la forme d'une étoile et c'est pourquoi ce schéma est nommé comme un schéma en étoile.
Figure 2:
Le schéma en étoile est assez simple, flexible et il se présente sous une forme dénormalisée.
Dans un schéma de flocon de neige, le niveau de normalisation augmente. La table de faits ici reste la même que dans le schéma en étoile. Cependant, les tables de dimensions sont normalisées. En raison de plusieurs couches de tables de dimension, il ressemble à un flocon de neige et est donc nommé schéma de flocon de neige.
algorithme de tri shell c ++
Figure 3:
Q # 5) Quel schéma avez-vous utilisé dans votre projet et pourquoi?
Q # 6) Quel schéma est le meilleur - étoile ou flocon de neige?
Réponse: (combiné pour les questions 5 et 6): Le choix d'un schéma dépend toujours des exigences et des scénarios du projet.
Étant donné que le schéma en étoile est sous une forme dénormalisée, vous avez besoin de moins de jointures pour une requête. La requête est simple et s'exécute plus rapidement dans un schéma en étoile. En ce qui concerne le schéma de flocon de neige, puisqu'il est sous forme normalisée, il nécessitera un certain nombre de jointures par rapport à un schéma en étoile, la requête sera complexe et l'exécution sera plus lente que le schéma en étoile.
Une autre différence significative entre ces deux schémas est que le schéma de flocon de neige ne contient pas de données redondantes et qu'il est donc facile à maintenir. Au contraire, le schéma en étoile a un haut niveau de redondance et il est donc difficile à maintenir.
Maintenant, lequel choisir pour votre projet? Si le but de votre projet est de faire plus d'analyse des dimensions, vous devriez opter pour un schéma de flocon de neige. Par exemple, si vous avez besoin de le savoir 'Combien d'abonnés sont liés à un forfait particulier actuellement actif?' - aller avec le modèle de flocon de neige.
Si le but de votre projet est de faire davantage une analyse de métriques, vous devriez opter pour un schéma en étoile. Par exemple, si vous avez besoin de le savoir 'Quel est le montant de la réclamation payé à un abonné particulier?' - aller avec un schéma en étoile.
Dans mon projet, nous avons utilisé le schéma de flocon de neige car nous devions faire des analyses sur plusieurs dimensions et générer des rapports de synthèse pour l'entreprise. Une autre raison d'utiliser le schéma de flocon de neige est qu'il consomme moins de mémoire.
Q # 7) Qu'entendez-vous par dimension et attribut?
Répondre: Les dimensions représentent des données qualitatives. Par exemple, plan, produit, classe sont toutes les dimensions.
Une table de dimension contient des attributs descriptifs ou textuels. Par exemple, la catégorie de produit et le nom du produit sont les attributs de la dimension du produit.
Q # 8) Qu'est-ce qu'un tableau de faits et de faits?
Répondre: Les faits représentent des données quantitatives.
Par exemple, le montant net dû est un fait. Une table de faits contient des données numériques et des clés étrangères provenant de tables dimensionnelles associées. Un exemple de la table de faits peut être vu à partir de la figure 2 ci-dessus.
Q # 9) Quels sont les différents types de dimensions que vous avez rencontrés? Expliquez chacun d'eux en détail avec un exemple?
Répondre: Il existe généralement cinq types de dimensions.
a) Dimensions conformes : Une dimension utilisée dans le cadre de différentes zones est appelée une dimension conforme. Il peut être utilisé avec différentes tables de faits dans une seule base de données ou sur de nombreux magasins / entrepôts de données.
Par exemple, si la dimension d'abonné est connectée à deux tables de faits - facturation et réclamation, la dimension d'abonné serait alors traitée comme une dimension conforme.
b) Dimension indésirable : Il s'agit d'une table de dimension comprenant des attributs qui n'ont pas de place dans la table de faits ni dans aucune des tables de dimension actuelles. En général , ce sont des propriétés comme des drapeaux ou des indicateurs.
Par exemple, il peut s'agir d'un indicateur d'éligibilité de membre défini sur «Y» ou «N» ou de tout autre indicateur défini sur vrai / faux, tout commentaire spécifique, etc. si nous conservons tous ces attributs d'indicateur dans la table de faits, sa taille augmente. Alors , nous combinons tous ces attributs et mettons dans une table de dimension unique appelée dimension indésirable ayant des ID indésirables uniques avec une combinaison possible de toutes les valeurs d'indicateur.
c) Dimension du jeu de rôle : Ce sont les dimensions qui sont utilisées à des fins multiples dans la même base de données.
Par exemple, une dimension de date peut être utilisée pour «Date de la réclamation», «Date de facturation» ou «Date d'échéance du plan». Alors , une telle dimension sera appelée dimension du jeu de rôle. La clé primaire de la dimension Date sera associée à plusieurs clés étrangères dans la table de faits.
d) Dimension à changement lent (SCD): Ceux-ci sont les plus importants parmi toutes les dimensions. Ce sont les dimensions dans lesquelles les valeurs d'attribut varient avec le temps. Voici les différents types de SCD
- Type 0: Ce sont les dimensions dans lesquelles la valeur d'attribut reste stable avec le temps. Par exemple, Le DOB de l'abonné est un SCD de type 0 car il restera toujours le même quelle que soit l'heure.
- Type 1: Ce sont les dimensions dans lesquelles la valeur précédente de l'attribut est remplacée par la valeur actuelle. Aucun historique n'est conservé dans la dimension Type-1. Par exemple, L'adresse de l'abonné (où l'entreprise doit conserver la seule adresse actuelle de l'abonné) peut être une dimension de type 1.
- Type 2: Ce sont les dimensions où une histoire illimitée est préservée. Par exemple, Adresse de l'abonné (où l'entreprise a besoin de conserver un enregistrement de toutes les adresses précédentes de l'abonné). Dans ce cas, plusieurs lignes pour un abonné seront insérées dans le tableau avec ses différentes adresses. Il y aura des colonnes qui identifieront l'adresse actuelle. Par exemple, «Date de début» et «Date de fin». La ligne où la valeur «Date de fin» sera vide contiendra l’adresse actuelle de l’abonné et toutes les autres lignes auront les adresses précédentes de l’abonné.
- Type-3: Ce sont les types de dimensions où une histoire limitée est préservée. Et nous utilisons une colonne supplémentaire pour maintenir l'historique. Par exemple, Adresse de l'abonné (où l'entreprise doit conserver un enregistrement de l'adresse actuelle et une seule adresse précédente). Dans ce cas, nous pouvons dissoudre la colonne «adresse» en deux colonnes différentes - «adresse actuelle» et «adresse précédente». Ainsi, au lieu d'avoir plusieurs lignes, nous n'aurons qu'une seule ligne indiquant l'adresse actuelle ainsi que l'adresse précédente de l'abonné.
- Type 4: Dans ce type de dimension, les données historiques sont conservées dans une table séparée. La table de dimension principale contient uniquement les données actuelles. Par exemple, la table de dimension principale n'aura qu'une seule ligne par abonné contenant son adresse actuelle. Toutes les autres adresses précédentes de l'abonné seront conservées dans la table d'historique séparée. Ce type de dimension est rarement utilisé.
e) Dimension dégénérée: Une dimension dégénérée est une dimension qui n'est pas un fait mais qui se présente dans la table de faits comme une clé primaire. Il n'a pas sa propre table de dimensions. Nous pouvons également l'appeler comme une table de dimension d'attribut unique.
Mais , au lieu de le conserver séparément dans une table de dimension et de mettre une jointure supplémentaire, nous mettons cet attribut dans la table de faits directement comme clé. Puisqu'il n'a pas sa propre table de dimension, il ne peut jamais agir comme une clé étrangère dans la table de faits.
Q # 10) Donnez votre idée concernant des faits sans faits? Et pourquoi l'utilisons-nous?
Répondre: La table de faits sans faits est une table de faits qui ne contient aucune mesure de fait. Il ne contient que les clés de dimension.
Parfois, certaines situations peuvent survenir dans l'entreprise où vous devez avoir une table factuelle sans faits.
Par exemple, Supposons que vous mainteniez un système d'enregistrement de présence des employés, vous pouvez avoir une table de faits sans faits comportant trois clés.
entretien de test mobile questions et réponses pdf
Employee_ID |
Department_ID |
Time_ID |
Vous pouvez voir que le tableau ci-dessus ne contient aucune mesure. Maintenant, si vous souhaitez répondre à la question ci-dessous, vous pouvez le faire facilement en utilisant la table de faits unique ci-dessus plutôt que d'avoir deux tables de faits distinctes:
'Combien d'employés d'un service particulier étaient présents un jour donné?'
Ainsi, la table factuelle offre une flexibilité de conception.
Q # 11) Distinguer OLTP et OLAP?
Répondre: OLTP signifie Système de traitement des transactions en ligne & OLAP signifie Système de traitement analytique en ligne . OLTP maintient les données transactionnelles de l'entreprise et est généralement hautement normalisé. Au contraire, OLAP est à des fins d'analyse et de rapport et il est sous une forme dénormalisée.
Cette différence entre OLAP et OLTP vous donne également le moyen de choisir la conception du schéma. Si votre système est OLTP, vous devriez opter pour la conception de schéma en étoile et si votre système est OLAP, vous devez utiliser le schéma de flocon de neige.
Q # 12) Qu'entendez-vous par data mart?
Répondre: Les data marts sont pour la plupart destinés à une branche d'activité isolée. Ils sont conçus pour les différents départements.
Par exemple, J'avais l'habitude de travailler pour une compagnie d'assurance maladie qui comptait différents départements tels que les finances, les rapports, les ventes, etc.
meilleur nettoyeur de disque gratuit pour windows 10
Nous avions un entrepôt de données qui contenait les informations relatives à tous ces départements, puis nous avons peu de magasins de données construits au-dessus de cet entrepôt de données. Ces DataMart étaient spécifiques à chaque département. En termes simples, vous pouvez dire qu'un DataMart est un sous-ensemble d'un entrepôt de données.
Q # 13) Quels sont les différents types de mesures?
Répondre: Nous avons trois types de mesures, à savoir
- Mesures non additives
- Mesures semi-additives
- Mesures additives
Les mesures non additives sont celles sur lesquelles aucune fonction d'agrégation ne peut être appliquée. Par exemple, un ratio ou une colonne de pourcentage; un indicateur ou une colonne d'indicateur présentant en fait un tableau contenant des valeurs telles que Y / N, etc. est une mesure non additive.
Les mesures semi-additives sont celles sur lesquelles certaines fonctions d'agrégation (mais pas toutes) peuvent être appliquées. Par exemple, taux des frais ou solde du compte.
Les mesures additives sont celles sur lesquelles toutes les fonctions d'agrégation peuvent être appliquées. Par exemple, unités achetées.
Q # 14) Qu'est-ce qu'une clé de substitution? En quoi est-ce différent d'une clé primaire?
Répondre: La clé de substitution est un identifiant unique ou une clé de numéro de séquence générée par le système qui peut agir comme une clé primaire. Il peut s'agir d'une colonne ou d'une combinaison de colonnes. Contrairement à une clé primaire, elle n'est pas extraite des champs de données d'application existants.
Q # 15) Est-ce vrai que toutes les bases de données devraient être dans 3NF?
Répondre: Il n'est pas obligatoire pour une base de données d'être dans 3NF. toutefois , si votre objectif est de faciliter la maintenance des données, moins de redondance et un accès efficace, vous devriez opter pour une base de données dénormalisée.
Q # 16) Avez-vous déjà rencontré le scénario des relations récursives? Si oui, comment l'avez-vous géré?
Répondre: Une relation récursive se produit dans le cas où une entité est liée à elle-même. Oui, je suis tombé sur un tel scénario.
Parlant du domaine des soins de santé, il est possible qu'un fournisseur de soins de santé (par exemple, un médecin) soit un patient pour tout autre fournisseur de soins de santé. Parce que , si le médecin lui-même tombe malade et a besoin d'une intervention chirurgicale, il devra consulter un autre médecin pour obtenir le traitement chirurgical.
Alors , dans ce cas, l'entité - fournisseur de soins de santé est liée à elle-même. Une clé étrangère du numéro de l’assurance maladie devra être présente dans le dossier de chaque membre (patient).
Q # 17) Énumérez quelques erreurs courantes rencontrées lors de la modélisation des données?
Répondre: Quelques erreurs courantes rencontrées lors de la modélisation des données sont:
- Construire des modèles de données massifs : Les grands modèles de données sont comme avoir plus de défauts de conception. Essayez de limiter votre modèle de données à pas plus de 200 tables.
- Manque de but : Si vous ne savez pas à quoi est destinée votre solution commerciale, vous risquez de trouver un modèle de données incorrect. Il est donc très important d'avoir une idée claire de l'objectif commercial pour trouver le bon modèle de données.
- Utilisation inappropriée de clés de substitution : La clé de substitution ne doit pas être utilisée inutilement. Utilisez la clé de substitution uniquement lorsque la clé naturelle ne peut pas servir la clé primaire.
- Dénormalisation inutile : Ne dénormalisez pas tant que vous n’avez pas une raison commerciale solide et claire de le faire, car la dénormalisation crée des données redondantes difficiles à maintenir.
Q # 18) Quel est le nombre de tables enfants qui peuvent être créées à partir d'une seule table parent?
Répondre: Le nombre de tables enfants qui peuvent être créées à partir de la table parent unique est égal au nombre de champs / colonnes de la table parent qui ne sont pas des clés.
Q # 19) Les détails de santé de l'employé sont cachés à son employeur par le fournisseur de soins de santé. De quel niveau de masquage des données s'agit-il? Conceptuel, physique ou externe?
Répondre: C'est le scénario d'un niveau externe de masquage des données.
Q # 20) Quelle est la forme de la table de faits et de la table de dimension?
Répondre: En général, la table de faits est sous forme normalisée et la table de dimension est sous forme dénormalisée.
Q # 21) De quels détails auriez-vous besoin pour trouver un modèle conceptuel dans un projet du domaine des soins de santé?
Répondre: Pour un projet de soins de santé, les détails ci-dessous suffiraient à concevoir un modèle conceptuel de base
- Différentes catégories de plans et de produits de soins de santé.
- Type d'abonnement (groupe ou individuel).
- Ensemble de prestataires de soins de santé.
- Présentation du processus de réclamation et de facturation.
Q # 22) Tricky one: Si une contrainte unique est appliquée à une colonne, cela générera-t-il une erreur si vous essayez d'y insérer deux valeurs nulles?
Répondre: Non, cela ne lèvera aucune erreur dans ce cas car une valeur nulle est différente d'une autre valeur nulle. Ainsi, plus d'un nul sera inséré dans la colonne sans aucune erreur.
Q # 23) Pouvez-vous citer un exemple d'entité de sous-type et de super-type?
Répondre: Oui, disons que nous avons ces différentes entités: véhicule, voiture, vélo, voiture économique, voiture familiale, voiture de sport.
Ici, un véhicule est une entité de type super. La voiture et le vélo sont ses sous-types d'entités. En outre, les voitures économiques, les voitures de sport et les voitures familiales sont des entités de sous-type de sa voiture d'entité super-type.
Une entité de super-type est celle qui se trouve à un niveau supérieur. Les entités de sous-type sont celles qui sont regroupées sur la base de certaines caractéristiques. Par exemple, tous les vélos sont à deux roues et toutes les voitures sont à quatre roues. Et comme les deux sont des véhicules, leur entité super-type est donc «véhicule».
Q # 24) Quelle est la signification des métadonnées?
Répondre: Les métadonnées sont des données sur les données. Il vous indique quel type de données est réellement stocké dans le système, quel est son objectif et à qui il est destiné.
Conclusion
- Compréhension pratique du Modélisation des données concept et comment il s'intègre dans les missions que vous faites est indispensable pour déchiffrer un entretien de modélisation de données.
- Les sujets les plus fréquemment abordés dans Modélisation des données entretien sont - différents types de modèles de données, types de schémas, types de dimensions et normalisation.
- Soyez également bien préparé pour les questions basées sur des scénarios.
Je suggérerais que chaque fois que vous répondez à une question à l'intervieweur, il vaut mieux que vous expliquiez l'idée à travers un exemple. Cela montrerait que vous avez réellement travaillé dans ce domaine et que vous comprenez très bien le cœur du concept.
Tous mes vœux!!