Top 50 des questions d'entrevue de base de données (SGBD) & Réponses

Anonim

Télécharger le PDF

1) Définissez la base de données.

Une collection préétablie de chiffres connue sous le nom de données est appelée base de données.

2) Qu'est-ce que le SGBD?

Les systèmes de gestion de base de données (SGBD) sont des applications spécialement conçues pour permettre à l'utilisateur d'interagir avec d'autres applications.

3) Quels sont les différents types d'interactions pris en charge par le SGBD?

Les différents types d'interactions pris en charge par les SGBD sont:

  • Définition des données
  • Mettre à jour
  • Récupération
  • Administration

4) Développement de la technologie des bases de données séparées.

Le développement de la technologie des bases de données est divisé en:

  • Structure ou modèle de données
  • Modèle de navigation
  • SQL / modèle relationnel

5) Qui a proposé le modèle relationnel?

Edgar F. Codd a proposé le modèle relationnel en 1970.

6) Quelles sont les fonctionnalités du langage de base de données?

Un langage de base de données peut également incorporer des fonctionnalités telles que: Configuration et gestion spécifiques au SGBD du moteur de stockage Calculs pour modifier les résultats des requêtes par des calculs, comme la sommation, le comptage, la moyenne, le regroupement, le tri et les références croisées Application des contraintes Interface de programmation d'application

7) Que font les langages de base de données?

En tant que langages spéciaux, ils ont:

  • Langage de définition des données
  • Langage de manipulation des données
  • Langage de requête

8) Définissez le modèle de base de données.

Un modèle de données déterminant fondamentalement comment les données peuvent être stockées, manipulées et organisées et la structure de la base de données de manière logique est appelé modèle de base de données.

9) Qu'est-ce que SQL?

Le langage SQL (Structured Query Language) étant le langage standard ANSI met à jour la base de données et les commandes d'accès.

10) Inscrire les différentes relations de base de données.

Les différentes relations de base de données sont:

  • Un-à-un: table unique ayant une relation dessinée avec une autre table ayant un type de colonnes similaire.
  • Un-à-plusieurs: deux tables ayant une relation de clé primaire et étrangère.
  • Plusieurs à plusieurs: table de jonction ayant de nombreuses tables liées à de nombreuses tables.

11) Définissez la normalisation.

Les données organisées dépourvues de dépendance et de redondance incohérentes dans une base de données sont appelées normalisation.

12) Demandez les avantages de la normalisation de la base de données.

Les avantages de la normalisation de la base de données sont:

  • Aucune entrée en double
  • Économise de l'espace de stockage
  • Bénéficie des performances de requête.

13) Définissez la dénormalisation.

L'augmentation des performances de la base de données, l'ajout de données redondantes qui à leur tour aident à se débarrasser des données complexes s'appelle la dénormalisation.

14) Définissez DDL et DML.

La gestion des propriétés et des attributs de la base de données est appelée langage de définition de données (DDL).

La manipulation de données dans une base de données telle que l'insertion, la mise à jour, la suppression est définie comme langage de manipulation de données. (DML)

15) Enregistrez certaines commandes de DDL.

Elles sont:

CRÉER:

Create est utilisé dans l'instruction CREATE TABLE. La syntaxe est:

CREATE TABLE [column name] ( [column definitions] ) [ table parameters]

MODIFIER:

Il aide à la modification d'un objet existant de la base de données. Sa syntaxe est:

ALTER objecttype objectname parameters.

LAISSEZ TOMBER:

Il détruit une base de données, un index, une table ou une vue existants. Sa syntaxe est:

DROP objecttype objectname.

16) Définir l'opérateur Union All et Union.

Les enregistrements complets de deux tables sont l'opérateur Union All. Un enregistrement distinct de deux tables est Union.

17) Définissez le curseur.

Un objet de base de données qui aide à manipuler les données ligne par ligne représentant un jeu de résultats est appelé curseur.

18) Enregistrez les types de curseur.

Elles sont:

  • Dynamique: il reflète les changements lors du défilement.
  • Statique: ne reflète pas les changements lors du défilement et fonctionne sur l'enregistrement de l'instantané.
  • Keyset: la modification des données sans reflet des nouvelles données est visible.

19) Enregistrez les types de curseur.

Les types de curseur sont:

  • Curseur implicite: Déclaré automatiquement dès que l'exécution de SQL a lieu à l'insu de l'utilisateur.
  • Curseur explicite: défini par PL / SQL qui gère les requêtes sur plusieurs lignes.

20) Définissez une sous-requête.

Une requête contenue dans une requête est appelée sous-requête.

21) Pourquoi la clause de groupe est-elle utilisée?

La clause de groupe utilise des valeurs agrégées à dériver en collectant des données similaires.

22) Comparer les index non clusterisés et clusterisés

Les deux ayant une structure en arbre B, l'index non clusterisé a des pointeurs de données permettant à une table de nombreux index non groupés, tandis que l'index clusterisé est distinct pour chaque table.

23) Définissez les fonctions d'agrégation.

Les fonctions qui opèrent sur une collection de valeurs et retournent une valeur unique sont appelées fonctions d'agrégation

24) Définissez les fonctions scalaires.

La fonction scalaire dépend de l'argument donné et renvoie la seule valeur.

25) Quelles restrictions pouvez-vous appliquer lorsque vous créez des vues?

Les restrictions appliquées sont les suivantes:

  • Seule la base de données actuelle peut avoir des vues.
  • Vous n'êtes pas tenu de modifier une valeur calculée dans une vue particulière.
  • Les constantes d'intégrité décident de la fonctionnalité INSERT et DELETE.
  • Les définitions d'index de texte intégral ne peuvent pas être appliquées.
  • Les vues temporaires ne peuvent pas être créées.
  • Les tables temporaires ne peuvent pas contenir de vues.
  • Aucune association avec les définitions DEFAULT.
  • Les déclencheurs tels que INSTEAD OF sont associés aux vues.

26) Définissez des "sous-requêtes corrélées".

Une «sous-requête corrélée» est une sorte de sous-requête, mais une sous-requête corrélée dépend d'une autre requête pour une valeur renvoyée. En cas d'exécution, la sous-requête est exécutée en premier, puis la requête corrélée.

27) Définissez l'entreposage de données.

Le stockage et l'accès aux données à partir de l'emplacement central afin de prendre une décision stratégique s'appelle l'entreposage de données. La gestion d'entreprise est utilisée pour gérer les informations dont le cadre est connu sous le nom de Data Warehousing.

28) Définissez Join et inscrivez ses types.

Les jointures aident à expliquer la relation entre les différentes tables. Ils vous permettent également de sélectionner des données en relation avec des données dans une autre table.

Les différents types sont:

  • JOINTS INTÉRIEURS: Les lignes vides sont laissées au milieu tandis que plus qu'égales à deux tables sont jointes.
  • JOINTS EXTÉRIEURS: divisés en jointure externe gauche et jointure externe droite. Les lignes vides sont laissées du côté spécifié en joignant les tables de l'autre côté.

Les autres jointures sont CROSS JOINs, NATURAL JOINs, EQUI JOIN et NON-EQUI JOIN.

29) Qu'entendez-vous par recherche d'index?

Les index aident à améliorer la vitesse ainsi que les performances des requêtes de la base de données. La procédure de renforcement de la collection d'index est appelée Recherche d'index.

30) Comment la recherche d'index aide-t-elle à améliorer les performances des requêtes?

La recherche d'index aide à améliorer la vitesse ainsi que les performances de requête de la base de données. Les mesures suivies sont réalisées pour ce faire:

  • L'optimiseur de requêtes est utilisé pour coordonner l'étude des requêtes avec la charge de travail et la meilleure utilisation des requêtes suggérées sur cette base.
  • L'index, la distribution des requêtes ainsi que leurs performances sont observés pour vérifier l'effet.
  • Il est également recommandé de régler les bases de données sur une petite collection de requêtes problématiques.

31) Énumérez les inconvénients de la requête.

Les inconvénients de la requête sont:

  • Aucun index
  • Les procédures stockées sont excessivement compilées.
  • Les déclencheurs et les procédures sont sans SET NOCOUNT ON.
  • Jointures compliquées constituant une requête mal écrite.
  • Les curseurs et les tableaux temporaires présentent une mauvaise présentation.

32) Demandez des moyens de coder efficacement les transactions.

Façons de coder efficacement les transactions:

  • L'entrée utilisateur ne doit pas être autorisée pendant les transactions.
  • Pendant la navigation, les transactions ne doivent pas être ouvertes de données.
  • Les transactions doivent être aussi réduites que possible.
  • Baisse des niveaux de ségrégation des transactions.
  • Le moins d'informations sur les données doivent être consultées lors de la transaction.

33) Qu'est-ce que le plan exécutif?

Le plan exécutif peut être défini comme:

  • SQL Server met en cache la procédure collectée ou le plan d'exécution de la requête et utilisé par la suite par les appels suivants.
  • Une caractéristique importante par rapport à l'amélioration des performances.
  • Le plan d'exécution des données peut être visualisé textuellement ou graphiquement.

34) Définissez les arbres B.

Une structure de données sous forme d'arbre qui stocke les données triées et les recherches, les insertions, les accès séquentiels et les suppressions sont autorisés en temps logarithmique.

35) Différencier le balayage de table du balayage d'index.

L'itération sur toutes les lignes de la table est appelée Balayage de table tandis que l'itération sur tous les éléments d'index est définie comme Balayage d'index.

36) Qu'entendez-vous par concept de facteur de remplissage en ce qui concerne les index?

Le facteur de remplissage peut être défini comme étant la valeur qui définit le pourcentage d'espace gauche sur chaque page de niveau feuille devant être remplie de données. 100 est la valeur par défaut du facteur de remplissage.

37) Définissez la fragmentation.

La fragmentation peut être définie comme une fonctionnalité de base de données du serveur qui favorise le contrôle des données stockées au niveau de la table par l'utilisateur.

38) Différencier la boucle imbriquée, la jointure de hachage et la jointure de fusion.

Boucle imbriquée (boucle sur boucle)

Une boucle externe dans une boucle interne est formée, composée de moins d'entrées, puis pour une entrée individuelle, la boucle interne est traitée individuellement.

Par exemple

  • Sélectionnez col1. *, Col2. * À partir de coll, col2 où coll.col1 = col2.col2;

Son traitement se déroule de cette manière:

For i in (select * from col1) loopFor j in (select * from col2 où col2 = i.col1) loopResults sont affichés; Fin de la boucle; Fin de la boucle;

Les étapes de la boucle imbriquée sont:

  • Identifier la table externe (de conduite)
  • Affectez la table interne (pilotée) à la table externe.
  • Pour chaque ligne de table externe, accédez aux lignes de table interne.

Les boucles imbriquées sont exécutées de l'intérieur vers l'extérieur comme suit:

  • boucle_externe
  • Boucle intérieure
  • Joindre par hachage

Lors de la jonction de grandes tables, l'utilisation de Hash Join est préférable.

L'algorithme de Hash Join est divisé en:

  • Build: C'est une table de hachage en mémoire qui est présente sur la plus petite table.
  • Sonde: cette valeur de hachage de la table de hachage est applicable pour chaque deuxième élément de ligne.
  • Trier la jointure par fusion

Deux sources de données indépendantes sont jointes dans une jointure de tri par fusion. Leurs performances sont meilleures par rapport à une boucle imbriquée lorsque le volume de données est suffisamment grand, mais ce n'est pas bon car le hachage se joint en général.L'opération complète peut être divisée en deux parties:

Trier l'opération de jointure:

Récupère la première ligne R1 de input1

Récupère la première ligne R2 de input2.

Fusion de l'opération de jointure:

'while' n'est présent à aucune des deux extrémités de la boucle.Si R1 se joint à R2, la ligne suivante est obtenue R2 à partir de l'entrée 2return (R1, R2) sinon si R1