Table of Contents
Database Interview Questions Answers
What is a database?
A database is a logically coherent collection of data with some inherent meaning, representing some aspect of the real world and which is designed, built, and populated with data for a specific purpose.
What is DBMS?
It is a collection of programs that enables the user to create and maintain a database. In other words, it is general-purpose software that provides the users with the processes of defining, constructing, and manipulating the database for various applications.
What is a Database system?
The database and DBMS software together are called a Database system.
Name of any Five Databases that are currently used.
Hive,Cassendra,MongoDB,Neo4J,NOSQL,MYSQL etc.
What are the advantages of DBMS?
- Redundancy is controlled.
- Unauthorized access is restricted.
- Providing multiple user interfaces.
- Enforcing integrity constraints.
- Providing backup and recovery.
What is the disadvantage of the File Processing System?
- Data redundancy and inconsistency.
- Difficult in accessing data.
- Data isolation.
- Data integrity.
- Concurrent access is not possible.
- Security Problems.
Describe the three levels of data abstraction.
- Physical level: The lowest level of abstraction describes how data are stored.
- Logical level: The next higher level of abstraction, describes what data are stored in the database and what relationship is among those data.
- View level: The highest level of abstraction describes only part of the entire database.
Define integrity rules.
There are two Integrity rules.
- Entity Integrity: States that “Primary key cannot have NULL value”
- Referential Integrity: States that “Foreign Key can be either a NULL value or should be the Primary Key value of other relations.
What are extension and intention?
Extension: It is the number of tuples present in a table at any instance. This is time-dependent.
Intention: It is a constant value that gives the name, the structure of the table, and the constraints laid on it.
What is Data Independence?
Data independence means that ‘the application is independent of the storage structure and access strategy of data. In other words, the ability to modify the schema definition at one level should not affect the schema definition at the next higher level.
Two types of Data Independence:
- Physical Data Independence: Modification on the physical level should not affect the logical level.
- Logical Data Independence: Modification at a logical level should affect the view level.
NOTE: Logical Data Independence is more difficult to achieve
What is a view? How it is related to data independence?
A view may be thought of as a virtual table, that is, a table that does not really exist in its own right but is instead derived from one or more underlying base tables. In other words, there is no stored file that direct represents the view instead a definition of the view is stored in the data dictionary.
Growth and restructuring of base tables are not reflected in views. Thus the view can insulate users from the effects of restructuring and growth in the database. Hence accounts for logical data independence.
What is the Data Model?
A collection of conceptual tools for describing data, data relationships data semantics, and constraints.
What is the E-R model?
This data model is based on the real world that consists of basic objects called entities and of the relationship among these objects. Entities are described in a database by a set of attributes.
What is an Object-Oriented model?
This model is based on a collection of objects. An object contains values stored in instance variables within the object. An object also contains bodies of code that operate on the object. These bodies of code are called methods. Objects that contain the same types of values and the same methods are grouped together into classes.
What is an Entity?
It is a ‘thing’ in the real world with an independent existence.
What is an Entity type?
It is a collection (set) of entities that have the same attributes.
What is an Entity set?
It is a collection of all entities of a particular entity type in the database.
What is an Extension of entity type?
The collections of entities of a particular entity type are grouped together into an entity set.
What is a Weak Entity set?
An entity set may not have sufficient attributes to form a primary key, and its primary key compromises its partial key and primary key of its parent entity, then it is said to be the Weak Entity set.
What is an attribute?
It is a particular property, which describes the entity.
What is a Relation Schema and a Relation?
A relation Schema denoted by R(A1, A2, …, An) is made up of the relation name R and the list of attributes Ai that it contains. A relation is defined as a set of tuples. Let r be the relation that contains set tuples (t1, t2, t3, …, tn). Each tuple is an ordered list of n-values t=(v1,v2, …, vn).
What is the degree of a Relation?
It is the number of attributes of its relation schema.
What is a Relationship?
It is an association between two or more entities.
What is Relationship set?
The collection (or set) of similar relationships.
What is a Relationship type?
Relationship type defines a set of associations or a relationship set among a given set of entity types.
What is the degree of Relationship type?
It is the number of entity types participating.
What is DDL (Data Definition Language)?
A database schema is specified by a set of definitions expressed by a special language called DDL.
What is VDL (View Definition Language)?
It specifies user views and their mappings to the conceptual schema.
What is SDL (Storage Definition Language)?
This language is to specify the internal schema. This language may specify the mapping between two schemas.
What is Data Storage – Definition Language?
The storage structures and access methods used by the database systems are specified by a set of definitions in a special type of DDL called data storage-definition language.
What is DML (Data Manipulation Language)?
This language enables the user to access or manipulate data as organized by the appropriate data model.
- Procedural DML or Low level: DML requires a user to specify what data are needed and how to get those data.
- Non-Procedural DML or High level: DML requires a user to specify what data are needed without specifying how to get those data.
What is DML Compiler?
It translates DML statements in a query language into low-level instruction that the query evaluation engine can understand.
What is the Query evaluation engine?
It executes low-level instruction generated by the compiler.
What is DDL Interpreter?
It interprets DDL statements and records them in tables containing metadata.
What is Record-at-a-time?
The Low level or Procedural DML can specify and retrieve each record from a set of records. This retrieve of a record is said to be Record-at-a-time.
What is Set-at-a-time or Set-oriented?
The High level or Non-procedural DML can specify and retrieve many records in a single DML statement. This retrieve of a record is said to be Set-at-a-time or Set-oriented.
What is Relational Algebra?
It is a procedural query language. It consists of a set of operations that take one or two relations as input and produce a new relation.
What is Relational Calculus?
It is an applied predicate calculus specifically tailored for relational databases proposed by E.F. Codd. E.g. languages based on it is DSL ALPHA, QUEL.
How does Tuple-oriented relational calculus differ from domain-oriented relational calculus?
- The tuple-oriented calculus uses a tuple variable i.e., a variable whose only permitted values are tuples of that relation. E.g. QUEL
2. The domain-oriented calculus has domain variables i.e., variables that range over the underlying domains instead of over relation.
What is normalization?
It is a process of analyzing the given relation schemas based on their Functional Dependencies (FDs) and the primary key to achieving the properties
(1)Minimizing redundancy, (2)Removing insertion, deletion, and update anomalies.
What is Functional Dependency?
A Functional dependency is denoted by X Y between two sets of attributes X and Y that are subsets of R and specifies a constraint on the possible tuple that can form a relation state r of R. The constraint is for any two tuples t1 and t2 in r if t1[X] = t2[X] then they have t1[Y] = t2[Y]. This means the value of the X component of a tuple uniquely determines the value of component Y.
What is a Lossless join property?
It guarantees that the spurious tuple generation does not occur with respect to relation schemas after decomposition.
What is 1 NF (Normal Form)?
The domain of the attribute must include only atomic (simple, indivisible) values.
What is Fully Functional dependency?
It is based on the concept of fully functional dependency. A functional dependency X Y is a fully functional dependency if the removal of any attribute A from X means that the dependency does not hold anymore.
What is 2NF?
A relation schema R is in 2NF if it is in 1NF and every non-prime attribute A in R is fully functionally dependent on the primary key.
What is 3NF?
A relation schema R is in 3NF if it is in 2NF and for every FD X A either of the following is true
- X is a Super-key of R.
- A is a prime attribute of R.
In other words, if every non-prime attribute is non-transitively dependent on the primary key.
What is BCNF (Boyce-Codd Normal Form)?
A relation schema R is in BCNF if it is in 3NF and satisfies an additional constraint that for every FD X A, X must be a candidate key.
What is 4NF?
A relation schema R is said to be in 4NF if, for every Multivalued dependency X Y that holds over R, one of the following is true.
1.) X is subset or equal to (or) XY = R.
2.) X is a super key.
What is 5NF?
A Relation schema R is said to be 5NF if for every join dependency {R1, R2, …, Rn} that holds R, one the following is true
1) Ri = R for some i.
2) The join dependency is implied by the set of FD, over R in which the left side is the key of R.
What is Domain-Key Normal Form?
A relation is said to be in DKNF if all constraints and dependencies that should hold on the constraint can be enforced by simply enforcing the domain constraint and key constraint on the relation.
Thank you