top 50 database interview questions
Domande e risposte per l'intervista al database più frequenti:
Questo articolo coprirà un elenco di tutte le domande e risposte dell'intervista 'Database' più importanti e più frequenti, che ti aiuteranno a risolvere qualsiasi intervista.
Capacità organizzative, forte capacità di problem solving, attenzione ai dettagli e alto livello di accuratezza, sono alcune delle qualità essenziali che una persona dovrebbe possedere per essere nel 'Banca dati' campo.
Mentre dovresti essere aggiornato con le ultime tendenze del settore, anche le tue basi dovrebbero essere forti d'altra parte. Per iniziare la tua carriera in Database, la prima cosa essenziale che devi avere è la conoscenza di DBMS (Database Management System) e SQL (Structured Query language).
Domande e risposte alle interviste ai database più popolari
Di seguito è riportato un elenco delle domande e delle risposte delle interviste al database più popolari come riferimento.
D # 1) Cosa intendi per 'Database'?
Risposta: Il database è una raccolta organizzata di dati correlati in cui i dati vengono archiviati e organizzati per soddisfare uno scopo specifico.
Per esempio , Un bibliotecario mantiene un database di tutte le informazioni relative ai libri che sono disponibili nella biblioteca.
D # 2) Definisci DBMS.
Risposta: DBMS è l'acronimo di Database Management System. Si tratta di una raccolta di programmi applicativi che consentono all'utente di organizzare, ripristinare e recuperare le informazioni sui dati in modo efficiente ed efficace.
Alcuni dei DBMS popolari sono MySql, Oracle, Sybase, ecc.
Q # 3) Definisci RDBMS.
Risposta: Relational Database Management System (RDBMS) si basa su un modello relazionale di dati archiviati in database in tabelle separate e sono correlati all'uso di una colonna comune. È possibile accedere facilmente ai dati dal database relazionale utilizzando SQL (Structured Query Language).
D # 4) Ottieni i vantaggi del DBMS.
Risposta: I vantaggi del DBMS includono:
- I dati vengono memorizzati in modo strutturato e quindi la ridondanza è controllata.
- Convalida i dati inseriti e fornisce restrizioni sull'accesso non autorizzato al database.
- Fornisce backup e ripristino dei dati quando richiesto.
- Fornisce più interfacce utente.
D # 5) Cosa intendi per ridondanza dei dati?
Risposta: La duplicazione dei dati nel database è nota come ridondanza dei dati. Come risultato della ridondanza dei dati, i dati duplicati sono presenti in più posizioni, quindi porta allo spreco di spazio di archiviazione e l'integrità del database viene distrutta.
D # 6) Quali sono i vari tipi di relazioni nel database? Definiscili.
Risposta: Esistono 3 tipi di relazioni nel database:
- Uno a uno: Una tabella ha una relazione con un'altra tabella con il tipo di colonna simile. Ogni chiave primaria si riferisce a uno o nessun record nella tabella correlata.
- Uno-a-molti: Una tabella ha una relazione con un'altra tabella che ha relazioni di chiave primaria ed esterna. La tabella della chiave primaria contiene un solo record che non si riferisce a nessuno, uno o più record nella tabella correlata.
- Molti a molti: Ciascun record in entrambe le tabelle può essere correlato a molti numeri di record in un'altra tabella.
D # 7) Spiega la normalizzazione e la denormalizzazione.
Risposta:
Normalizzazione è il processo di rimozione dei dati ridondanti dal database suddividendo la tabella in modo ben definito al fine di mantenere l'integrità dei dati. Questo processo consente di risparmiare gran parte dello spazio di archiviazione.
Denormalizzazione è il processo di aggiunta di dati ridondanti sulla tabella al fine di velocizzare le query complesse e ottenere così prestazioni migliori.
D # 8) Quali sono i diversi tipi di normalizzazione?
Risposta: diversi tipi di normalizzazione sono:
- Prima forma normale (1NF): Si dice che una relazione sia in 1NF solo quando tutte le entità della tabella contengono valori univoci o atomici.
- Seconda forma normale (2NF): Si dice che una relazione sia in 2NF solo se è in 1NF e tutti gli attributi non chiave della tabella dipendono completamente dalla chiave primaria.
- Terza forma normale (3NF): Si dice che una relazione sia in 3NF solo se è in 2NF e ogni attributo non chiave della tabella non dipende transitivamente dalla chiave primaria.
Q # 9) Cos'è BCNF?
Risposta: BCNF è la forma normale del codice Boyce. È la versione superiore di 3Nf che non ha più chiavi candidate sovrapposte.
Q # 10) Cos'è SQL?
Risposta: Linguaggio di query strutturato, SQL è un linguaggio di programmazione standard ANSI (American National Standard Institute) progettato specificamente per archiviare e gestire i dati nel sistema di gestione del database relazionale (RDBMS) utilizzando tutti i tipi di operazioni sui dati.
D # 11) Quante istruzioni SQL vengono utilizzate? Definiscili.
Risposta: Le istruzioni SQL sono fondamentalmente divise in tre categorie, DDL, DML e DCL.
Possono essere definiti come:
- Data Definition Language (DDL) i comandi vengono utilizzati per definire la struttura che contiene i dati. Questi comandi vengono salvati automaticamente, ovvero le modifiche apportate dai comandi DDL sul database vengono salvate in modo permanente.
- Data Manipulation Language (DML) i comandi vengono utilizzati per manipolare i dati del database. Questi comandi non vengono salvati automaticamente e possono essere annullati.
- Data Control Language (DCL) i comandi vengono utilizzati per controllare la visibilità dei dati nel database come revocare l'autorizzazione di accesso per l'utilizzo dei dati nel database.
D # 12) Elenca alcuni comandi di DDL, DML e DCL.
Risposta: comandi DDL (Data Definition Language):
- CREA per creare una nuova tabella o database.
- ALTER per alterazione.
- TRUNCATE per eliminare i dati dalla tabella.
- DROP per rilasciare un tavolo.
- RENAME per rinominare una tabella.
Comandi DML (Data Manipulation Language):
- INSERT per inserire una nuova riga.
- UPDATE per aggiornare una riga esistente.
- DELETE per eliminare una riga.
- MERGE per unire due righe o due tabelle.
Comandi DCL (Data Control Language):
- IMPEGNA a salvare in modo permanente.
- ROLLBACK per annullare la modifica.
- SAVEPOINT per salvare temporaneamente.
D # 13) Definire il compilatore DML.
Risposta: Il compilatore DML traduce le istruzioni DML in un linguaggio di query in un'istruzione di basso livello e l'istruzione generata può essere compresa da Query Evaluation Engine.
Q # 14) Cos'è l'interprete DDL?
Risposta: DDL Interpreter interpreta le istruzioni DDL e registra le istruzioni generate nella tabella contenente i metadati.
D # 15) Elenca i vantaggi di SQL.
Risposta: i vantaggi di SQL sono:
- È possibile utilizzare semplici query SQL per recuperare una grande quantità di dati dal database in modo molto rapido ed efficiente.
- SQL è facile da imparare e quasi tutti i DBMS supportano SQL.
- È più facile gestire il database utilizzando SQL poiché non è richiesta una grande quantità di codice.
D # 16) Spiega i termini 'Record', 'Field' e 'Table' in termini di database.
Risposta:
Disco: Il record è una raccolta di valori o campi di un'entità specifica. Per esempio, Un dipendente, un conto stipendio, ecc.
Campo: Un campo fa riferimento a un'area all'interno di un record riservata a dati specifici. Per esempio, ID Dipendente.
Tavolo: La tabella è la raccolta di record di tipi specifici. Per esempio, la tabella Employee è una raccolta di record relativi a tutti i dipendenti.
D # 17) Cosa intendi per Data Independence? Quali sono i suoi due tipi?
Risposta: L'indipendenza dei dati si riferisce alla capacità di modificare la definizione dello schema in un livello in modo tale da non influire sulla definizione dello schema nel livello superiore successivo.
I 2 tipi di indipendenza dei dati sono:
migliori programmi per monitorare la temperatura della CPU
- Indipendenza fisica dei dati : Modifica lo schema a livello fisico senza influire sullo schema a livello concettuale.
- Indipendenza logica dei dati: Modifica lo schema a livello concettuale senza influire o causare modifiche nello schema a livello di visualizzazione.
D # 18) Definire la relazione tra 'Visualizzazione' e 'Indipendenza dei dati'.
Risposta: La vista è una tabella virtuale che non ha i propri dati da soli, piuttosto i dati sono definiti da una o più tabelle di base sottostanti.
Le visualizzazioni tengono conto dell'indipendenza logica dei dati poiché la crescita e la ristrutturazione delle tabelle di base non si riflettono nelle visualizzazioni.
D # 19) Quali sono i vantaggi e gli svantaggi delle viste nel database?
Risposta: vantaggi delle visualizzazioni:
- Poiché non esiste una posizione fisica in cui sono archiviati i dati nella vista, genera output senza sprecare risorse.
- L'accesso ai dati è limitato in quanto non consente comandi come l'inserimento, l'aggiornamento e la cancellazione.
Svantaggi delle visualizzazioni:
- La vista diventa irrilevante se rilasciamo una tabella relativa a quella vista.
- Quando viene creata la vista per tabelle di grandi dimensioni, viene occupato molto spazio di memoria.
D # 20) Cosa intendi per dipendenza funzionale?
Risposta: Si dice che una relazione sia in dipendenza funzionale quando un attributo definisce in modo univoco un altro attributo.
Per esempio, R è una relazione, X e Y sono due attributi. T1 e T2 sono due tuple. Poi,
T1 [X] = T2 [X] e T1 [Y] = T2 [Y]
Significa che il valore del componente X definisce in modo univoco il valore del componente Y.
Inoltre, X-> Y significa che Y è funzionalmente dipendente da X.
D # 21) Quando si dice che la dipendenza funzionale è la dipendente completamente funzionale?
Risposta: Per soddisfare i criteri di dipendenza completamente funzionale, la relazione deve soddisfare il requisito di dipendenza funzionale.
Si dice che una dipendenza funzionale 'A' e 'B' dipenda completamente dal funzionamento quando la rimozione di qualsiasi attributo dice 'X' da 'A' significa che la dipendenza non vale più.
D # 22) Cosa intendi per il modello E-R?
Risposta: Il modello E-R è un modello Entità-Relazione che definisce la vista concettuale del database.
Il modello E-R mostra fondamentalmente le entità del mondo reale e le loro associazioni / relazioni. Le entità qui rappresentano l'insieme di attributi nel database.
D # 23) Definire entità, tipo di entità e gruppo di entità.
Risposta:
Entità può essere qualsiasi cosa, sia un luogo, una classe o un oggetto che ha un'esistenza indipendente nel mondo reale.
Tipo di entità rappresenta un insieme di entità che hanno attributi simili.
Insieme di entità nel database rappresenta una raccolta di entità con un particolare tipo di entità.
D # 24) Definisci un insieme di entità deboli.
Risposta: Il set di entità deboli è quello la cui chiave primaria comprende sia la chiave parziale che la chiave primaria dell'entità padre. Questo è il caso perché il set di entità potrebbe non avere attributi sufficienti per formare una chiave primaria.
D # 25) Spiega i termini 'Attributo' e 'Relazioni'
Risposta:
Attributo è descritto come le proprietà o le caratteristiche di un'entità. Per esempio , ID dipendente, nome dipendente, età e così via possono essere attributi dell'entità Dipendente.
Relazione è una tabella bidimensionale contenente un numero di righe e colonne in cui ogni riga rappresenta un record della relazione. Qui, le righe sono note anche come 'Tuple' e le colonne sono note come 'Attributi'.
Q # 26) Cosa sono VDL e SDL?
Risposta: VDL è il linguaggio di definizione delle viste che rappresenta le visualizzazioni dell'utente e la loro mappatura allo schema concettuale.
SDL è il linguaggio di definizione dell'archiviazione che specifica la mappatura tra due schemi.
Q # 27) Definisci il cursore e i suoi tipi.
Risposta: Il cursore è un'area di lavoro temporanea che memorizza i dati, nonché il set di risultati, avvenuto dopo la manipolazione dei dati recuperati. Un cursore può contenere solo una riga alla volta.
I 2 tipi di cursore sono:
- Cursori impliciti vengono dichiarati automaticamente quando vengono eseguite istruzioni DML come INSERT, UPDATE, DELETE.
- Cursori espliciti devono essere dichiarati quando vengono eseguite le istruzioni SELECT che restituiscono più di una riga.
D # 28) Cos'è la transazione del database?
Risposta: La sequenza di operazioni eseguite che modifica lo stato coerente del database in un altro è nota come transazione del database. Dopo il completamento della transazione, il completamento con esito positivo si riflette nel sistema oppure la transazione non riesce e nessuna modifica viene riflessa.
D # 29) Definire il blocco del database e i suoi tipi.
Risposta: Il blocco del database indica fondamentalmente la transazione sullo stato corrente dell'elemento di dati, ad esempio se tali dati vengono utilizzati da altre transazioni o meno al momento attuale.
Esistono due tipi di blocco del database: Blocco condiviso e Blocco esclusivo.
D # 30) Che cos'è il data warehousing?
Risposta: L'archiviazione, nonché l'accesso ai dati, che vengono derivati dalle transazioni e da altre fonti, da una posizione centrale per eseguire l'analisi è chiamato Data Warehousing.
D # 31) Cosa intendi per Join?
Risposta: Join è il processo di derivazione della relazione tra tabelle diverse combinando colonne di una o più tabelle aventi valori comuni in ciascuna. Quando un tavolo si unisce a se stesso, è noto come Self Join.
Q # 32) Cosa intendi per la ricerca dell'Indice?
Risposta: La ricerca degli indici è il processo di potenziamento della raccolta di indici che aiuta a migliorare le prestazioni delle query e la velocità del database.
D # 33) Come migliorare le prestazioni delle query utilizzando la ricerca dell'indice?
Risposta: la ricerca dell'indice aiuta a migliorare le prestazioni delle query:
- Utilizzo di un Query Optimizer per coordinare le query con il carico di lavoro.
- Osservazione delle prestazioni e degli effetti dell'indice e della distribuzione delle query.
D # 34) Distinguere tra indice 'cluster' e 'non cluster'.
Risposta: L'indice cluster altera la tabella e riordina il modo in cui i record sono archiviati nella tabella. Il recupero dei dati viene reso più veloce utilizzando l'indice cluster.
Un indice non cluster altera i record archiviati nella tabella ma crea un oggetto completamente diverso all'interno della tabella.
D # 35) Quali sono gli svantaggi di una query?
Risposta: gli svantaggi di una query sono:
- Gli indici non sono presenti.
- Le stored procedure sono eccessivamente compilate.
- Difficoltà nell'interfacciamento.
Q # 36) Cosa intendi per frammentazione?
Risposta: La frammentazione è una funzionalità che controlla le unità di dati logiche, note anche come frammenti archiviati in diversi siti di un sistema di database distribuito.
D # 37) Definisci i tipi di join.
Risposta: Di seguito sono riportati i tipi di Join, che sono spiegati rispetto alle tabelle come file Esempio.
tabella dei dipendenti:
tabella Employee_info:
a) Inner JOIN: Inner JOIN è noto anche come semplice JOIN. Questa query SQL restituisce i risultati di entrambe le tabelle con un valore comune nelle righe.
Query SQL:
SELECT * from employee, employee_info WHERE employee.EmpID = employee_info.EmpID ;
Risultato:
b) Natural JOIN: Questo è un tipo di Inner JOIN che restituisce i risultati di entrambe le tabelle con gli stessi valori di dati nelle colonne di entrambe le tabelle da unire.
Query SQL:
SELECT * from employee NATURAL JOIN employee_info;
Risultato:
c) Cross JOIN: Cross JOIN restituisce il risultato come tutti i record in cui ogni riga della prima tabella è combinata con ogni riga della seconda tabella.
Query SQL:
SELECT * from employee CROSS JOIN employee_info;
Risultato:
Facciamo alcune modifiche nelle tabelle precedenti per comprendere Right JOIN, Left JOIN e Full JOIN.
tabella dei dipendenti:
tabella Employee_info:
a) Right JOIN: Right JOIN è anche noto come Right Outer JOIN. Ciò restituisce tutte le righe come risultato dalla tabella di destra anche se la condizione JOIN non corrisponde a nessun record nella tabella di sinistra.
Query SQL:
SELECT * from employee RIGHT OUTER JOIN employee_info on (employee.EmpID = employee_info.EmpID);
Risultato:
b) A sinistra JOIN: Left JOIN è anche noto come Left Outer JOIN. Ciò restituisce tutte le righe come risultato della tabella di sinistra anche se la condizione JOIN non corrisponde ad alcun record nella tabella di destra. Questo è esattamente l'opposto di Right JOIN.
Query SQL:
SELECT * from employee LEFT OUTER JOIN employee_info on (employee.EmpID = employee_info.EmpID);
Risultato:
c) JOIN esterno / completo: Il ritorno completo di JOIN combina il risultato di Left JOIN e Right JOIN.
Query SQL:
SELECT * from employee FULL OUTER JOIN employee_info on (employee.EmpID = employee_info.EmpID);
Risultato:
D # 38) Cosa intendi per 'atomicità' e 'aggregazione'?
Risposta: atomicità è la condizione in cui vengono eseguite tutte le azioni della transazione o nessuna. Ciò significa che, quando si verifica una transazione incompleta, il sistema di gestione del database stesso annullerà gli effetti della transazione incompleta.
Aggregazione è il concetto di esprimere la relazione con la raccolta di entità e le loro relazioni.
Q # 39) Definisci deadlock fantasma.
Risposta: Il rilevamento di deadlock fantasma è la condizione in cui il deadlock non esiste effettivamente ma, a causa di un ritardo nella propagazione delle informazioni locali, gli algoritmi di rilevamento deadlock identificano i deadlock.
Q # 40) Definisci il checkpoint.
Risposta: Checkpoint dichiara un punto prima del quale tutti i registri vengono archiviati in modo permanente nel disco di archiviazione ed è lo stato incoerente. In caso di crash, la quantità di lavoro e tempo viene risparmiata poiché il sistema può riavviarsi dal checkpoint.
come aprire un file .bin
D # 41) Cos'è il partizionamento del database?
Risposta: Il partizionamento del database è il processo di partizionamento di tabelle e indici in parti più piccole per gestire e accedere ai dati a un livello più preciso.
Questo processo di partizionamento riduce i costi di archiviazione di una grande quantità di dati e migliora le prestazioni e la gestibilità.
D # 42) Spiegare l'importanza del partizionamento del database.
Risposta: L'importanza del partizionamento del database è:
- Migliora le prestazioni e la gestibilità delle query.
- Semplifica le attività di amministrazione comuni.
- Agisce come uno strumento chiave per la creazione di sistemi con requisiti di disponibilità estremamente elevati.
- Consente l'accesso a gran parte di una singola partizione.
D # 43) Spiega il dizionario dei dati.
Risposta: Il dizionario dei dati è un insieme di informazioni che descrivono il contenuto e la struttura delle tabelle e degli oggetti del database. Il compito delle informazioni memorizzate nel dizionario dei dati è controllare, manipolare e accedere alla relazione tra gli elementi del database.
D # 44) Spiega la chiave primaria e la chiave composita.
Risposta: chiave primaria è quella colonna della tabella i cui dati di ogni riga sono identificati in modo univoco. Ogni riga della tabella deve avere una chiave primaria e due righe non possono avere la stessa chiave primaria. Il valore della chiave primaria non può mai essere nullo né può essere modificato o aggiornato.
Chiave composita è una forma della chiave candidata in cui un insieme di colonne identificherà in modo univoco ogni riga della tabella.
D # 45) Cosa intendi per chiave Unica?
Risposta: Una chiave univoca è la stessa della chiave primaria i cui dati di ogni riga sono identificati in modo univoco con una differenza di valore nullo, ovvero la chiave univoca consente un valore come valore NULL.
D # 46) Cosa intendi per i trigger di database?
Risposta: Un insieme di comandi che vengono eseguiti automaticamente quando un evento come Before Insert, After Insert, On Update, On Delete of row si verifica in una tabella viene chiamato come trigger del database.
Q # 47) Definire le stored procedure.
Risposta: Una stored procedure è una raccolta di query SQL precompilate, che quando eseguite denota un programma che riceve input, elabora e fornisce l'output.
Q # 48) Cosa intendi per B-Trees?
Risposta: B-Tree rappresenta la struttura dei dati sotto forma di un albero per la memoria esterna che legge e scrive grandi blocchi di dati. Viene comunemente utilizzato nei database e nei file system in cui tutti gli inserimenti, le eliminazioni, l'ordinamento, ecc. Vengono eseguiti in tempo logaritmico.
D # 49) Assegnare un nome ai diversi modelli di dati disponibili per i sistemi di database.
Risposta: diversi modelli di dati sono:
- Modello relazionale
- Modello di rete
- Modello gerarchico
D # 50) Differenzia tra i comandi 'DELETE', 'TRUNCATE' e 'DROP'.
Risposta: Dopo l'esecuzione di 'ELIMINA' operazione, le istruzioni COMMIT e ROLLBACK possono essere eseguite per recuperare i dati persi.
Dopo l'esecuzione di 'TRONCARE' le istruzioni operation, COMMIT e ROLLBACK non possono essere eseguite per recuperare i dati persi.
'FAR CADERE' comando viene utilizzato per rilasciare la tabella o la chiave come la chiave primaria / chiave esterna.
D # 51) In base alla tabella fornita, risolvere le seguenti query.
Tabella dei dipendenti
per) Scrivi il comando SELEZIONA per visualizzare i dettagli del dipendente con empid come 1004.
Query SQL:
SELECT empId, empName, Age, Address from Employee WHERE empId = 1004;
Risultato:
b) Scrivere il comando SELECT per visualizzare tutti i record della tabella Employees.
Query SQL:
SELECT * from Employee;
Risultato:
c) Scrivi il comando SELEZIONA per visualizzare tutti i record del dipendente il cui nome inizia con il carattere 'R'.
Query SQL:
SELECT * from Employee WHERE empName LIKE ‘R%’;
Risultato:
d) Scrivi un comando SELECT per visualizzare id, età e nome dei dipendenti con la loro età sia in ordine crescente che decrescente.
Query SQL:
SELECT empId, empName, Age from Employee ORDER BY Age;
Risultato:
SELECT empId, empName, Age from Employee ORDER BY Age Desc;
Risultato:
e) Scrivi il comando SELEZIONA per calcolare l'importo totale dello stipendio su ciascun dipendente dalla tabella Emp di seguito.
Tabella Emp:
Query SQL:
SELECT empName, SUM(Salary) from Emp GROUP BY empName;
Risultato:
Conclusione
Questi sono l'insieme di domande e risposte dell'intervista al database che vengono maggiormente poste durante l'intervista.
Per lo più le basi di ogni argomento sono messe in discussione nelle interviste. È un fatto ben noto a tutti che, se le tue basi sono chiare, puoi raggiungere le vette più alte.
Tuttavia, potrebbero esserci altre domande complicate. Sii fiducioso e affronta ogni domanda con chiarezza nella tua conoscenza della materia.
Ulteriore lettura:
- Domande principali per l'intervista SQL
- Top Database Testing Domande di intervista
- Domande di intervista principali sulla modellazione dei dati
- Principali domande di colloquio su SQL Server
Lettura consigliata
- Le 32 migliori domande e risposte per l'intervista di Datastage
- 31 Top Database Testing Intervista Domande e risposte
- Oltre 40 migliori strumenti di test di database - Soluzioni di test di dati popolari
- Guida completa al test del database (perché, cosa e come testare i dati)
- I 30 migliori software di gestione di database più popolari: elenco completo
- Top 50+ domande e risposte ai colloqui di database