Most Popular Database Interview Questions and Answers
Most Popular Database Interview Questions and Answers
Answers
Q #1) What do you understand by ‘Database’?
Ans: Database is an organized collection of related data where the data is stored
and organized to serve some specific purpose.
For Example, A librarian maintains a database of all the information related to
the books that are available in the library.
Q #6) What are the various types of relationships in Database? Define them.
Ans: There are 3 types of relationships in Database:
One-to-one: One table has the relationship with another table having the
similar kind of column. Each primary key relates to only one or no record
in the related table.
One-to-many: One table has a relationship with another table that has a
primary and foreign key relations. The primary key table contains only one
record that relates to none, one or many records in the related table.
Many-to-many: Each record in both the tables can relate to many
numbers of record in another table.
Q #7) Explain Normalization and De-Normalization.
Ans: Normalization is the process of removing redundant data from the
database by splitting the table in a well-defined manner in order to maintain data
integrity. This process saves much of the storage space.
De-normalization is the process of adding up redundant data on the table in
order to speed up the complex queries and thus achieve better performance.
Q #8) What are the different types of Normalization?
Ans: Different Types of Normalization are:
First Normal Form (1NF): A relation is said to be in 1NF only when all the
entities of the table contain unique or atomic values.
Second Normal Form (2NF): A relation is said to be in 2NF only if it is in
1NF and all the non-key attribute of the table is fully dependent on the
primary key.
Third Normal Form (3NF): A relation is said to be in 3NF only if it is in
2NF and every non-key attribute of the table is not transitively dependent
on the primary key.
Q #9) What is BCNF?
Ans: BCNF is the Boyce Code Normal form. It is the higher version of 3Nf which
does not have any multiple overlapping candidate keys.
Q #10) What is SQL?
Ans: Structured Query language, SQL is an ANSI(American National Standard
Institute) standard programming language that is designed specifically for storing
and managing the data in the relational database management system (RDBMS)
using all kinds of data operations.
Q #11) How many SQL statements are used? Define them.
Ans: SQL statements are basically divided into three categories, DDL, DML, and
DCL.
They can be defined as:
Data Definition Language (DDL) commands are used to define the structure
that holds the data. These commands are auto-committed i.e. changes done by
the DDL commands on the database are saved permanently.
Data Manipulation Language (DML) commands are used to manipulate the
data of the database. These commands are not auto-committed and can be
rolled back.
Data Control Language (DCL) commands are used to control the visibility of the
data in the database like revoke access permission for using data in the
database.
Q #12) Enlist some commands of DDL, DML, and DCL.
Ans: Data Definition Language (DDL) commands:
CREATE to create a new table or database.
ALTER for alteration.
Truncate to delete data from the table.
DROP to drop a table.
RENAME to rename a table.
Data Manipulation Language (DML) commands:
INSERT to insert a new row.
UPDATE to update an existing row.
DELETE to delete a row.
MERGE for merging two rows or two tables.
Data Control Language (DCL) commands:
COMMIT to permanently save.
ROLLBACK to undo the change.
SAVEPOINT to save temporarily.
Q #13) Define DML Compiler.
Ans: DML compiler translates DML statements in a query language into a low-
level instruction and the generated instruction can be understood by Query
Evaluation Engine.
Q #14) What is DDL interpreter?
Ans: DDL Interpreter interprets the DDL statements and records the generated
statements in the table containing metadata.
Q #15) Enlist the advantages of SQL.
Ans: Advantages of SQL are:
Simple SQL queries can be used to retrieve a large amount of data from
the database very quickly and efficiently.
SQL is easy to learn and almost every DBMS supports SQL.
It is easier to manage the database using SQL as no large amount of
coding is required.
Q #16) Explain the terms ‘Record’, ‘Field’ and ‘Table’ in terms of database.
Ans: Record: Record is a collection of values or fields of a specific
entity. Example: An employee, Salary account, etc.
Field: A field refers to an area within a record that is reserved for a specific piece
of data. Example: Employee ID.
Table: Table is the collection of records of specific types. Example: Employee
table is a collection of record related to all the employees.
Q #17) What do you understand by Data Independence? What are its two
types?
Ans: Data Independence refers to the ability to modify the schema definition in
one level in such a way that it does not affect the schema definition in the next
higher level.
The 2 types of Data Independence are:
Physical Data Independence: It modifies the schema at the physical
level without affecting the schema at the conceptual level.
Logical Data Independence: It modifies the schema at the conceptual
level without affecting or causing changes in the schema at the view level.
Q #18) Define the relationship between ‘View’ and ‘Data Independence’.
Ans: View is a virtual table that does not have its data on its own rather the data
is defined from one or more underlying base tables.
Views account for logical data independence as the growth and restructuring of
base tables is not reflected in views.
employee_info table:
1) Inner JOIN: Inner JOIN is also known as a simple JOIN. This SQL query
returns results from both the tables having a common value in rows.
SQL Query:
SELECT * from employee, employee_info WHERE employee.EmpID =
employee_info.EmpID ;
Result:
2) Natural JOIN: This is a type of Inner JOIN that returns results from both the
tables having the same data values in the columns of both the tables to be joined.
SQL Query:
SELECT * from employee NATURAL JOIN employee_info;
Result:
3) Cross JOIN: Cross JOIN return results as all the records where each row from
the first table is combined with each row of the second table.
SQL Query:
SELECT * from employee CROSS JOIN employee_info;
Result:
Let us do some modification in the above tables to understand Right JOIN, Left
JOIN, and Full JOIN.
employee table:
employee_info table:
1) Right JOIN: Right JOIN is also known as Right Outer JOIN. This returns all
the rows as a result from the right table even if the JOIN condition does not
match any records in the left table.
SQL Query:
SELECT * from employee RIGHT OUTER JOIN employee_info on
(employee.EmpID = employee_info.EmpID);
Result:
2) Left JOIN: Left JOIN is also known as Left Outer JOIN. This returns all the
rows as a result of the left table even if JOIN condition does not match any
records in the right table. This is exactly the opposite of Right JOIN.
SQL Query:
SELECT * from employee LEFT OUTER JOIN employee_info on
(employee.EmpID = employee_info.EmpID);
Result:
3) Outer/Full JOIN: Full JOIN return results in combining the result of both the
Left JOIN and Right JOIN.
SQL Query:
SELECT * from employee FULL OUTER JOIN employee_info on
(employee.EmpID = employee_info.EmpID);
Result:
1) Write the SELECT command to display the details of the employee with empid
as 1004.
Ans:
SELECT empId, empName, Age, Address from Employee WHERE empId =
1004;
Result:
2) Write the SELECT command to display all the records of table Employees.
Ans:
SELECT * from Employee;
Result:
3) Write the SELECT command to display all the records of the employee whose
name starts with the character ‘R’.
Ans:
SELECT * from Employee WHERE empName LIKE ‘R%’;
Result:
4) Write a SELECT command to display id, age and name of the employees with
their age in both ascending and descending order.
Ans:
SELECT empId, empName, Age from Employee ORDER BY Age;
Result:
Result:
5) Write the SELECT command to calculate the total amount of salary on each
employee from the below Emp table.
Emp table:
Ans:
SELECT empName, SUM(Salary) from Emp GROUP BY empName;
Result: