What Is A Database?: RDBMS Concepts - Basics & Interview Questions
What Is A Database?: RDBMS Concepts - Basics & Interview Questions
1. What is a Database?
2. What is DBMS?
It is a collection of programs that enables 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.
4. Advantages of DBMS?
1. Physical level: The lowest level of abstraction describes how data are stored.
2. Logical level: The next higher level of abstraction, describes what data are stored
in database and what relationship among those data.
3. View level: The highest level of abstraction describes only part of entire database.
1. Entity Integrity: States that “Primary key cannot have NULL value”
2. Referential Integrity: States that “Foreign Key can be either a NULL value or
should be Primary Key value of other relation.
Extension - It is the number of tuples present in a table at any instance. This is time
dependent.
Intension - It is a constant value that gives the name, structure of table and the constraints
laid on it.
System R was designed and developed over a period of 1974-79 at IBM San Jose
Research Center. It is a prototype and its purpose was to demonstrate that it is possible to
build a Relational System that can be used in a real life environment to solve real life
problems, with performance at least comparable to that of existing system.
Research Storage
System Relational Data System.
10. How is the data structure of System R different from the relational structure?
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 in one
level should not affect the schema definition in the next higher level.
1. Physical Data Independence: Modification in physical level should not affect the
logical level.
2. Logical Data Independence: Modification in logical level should affect the view
level.
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 table. In other words,
there is no stored file that direct represents the view instead a definition of view is stored
in data dictionary.
Growth and restructuring of base tables is 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.
A collection of conceptual tools for describing data, data relationships data semantics and
constraints.
E-R model stands for Entity-Relationship model. This data model is based on real world
that consists of basic objects called entities and of relationship among these objects.
Entities are described in a database by a set of attributes.
This model is based on collection of objects. An object contains values stored in instance
variables with in the object. An object also contains bodies of code that operate on the
object. These bodies of code are called methods. Objects that contain same types of
values and the same methods are grouped together into classes.
The collections of entities of a particular entity type are grouped together into an entity
set.
20. What is Weak Entity set?
An entity set may not have sufficient attributes to form a primary key, and its primary
key compromises of its partial key and primary key of its parent entity, then it is said to
be Weak Entity set.
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 which contains set tuples (t1, t2, t3, ..., tn). Each tuple is an ordered list of n-
values t=(v1,v2, ..., vn).
This language is to specify the internal schema. This language may specify the mapping
between two schemas.
28. What is Data Storage - Definition Language?
The storage structures and access methods used by database system are specified by a set
of definition in a special type of DDL called data storage-definition language.
This language that enable user to access or manipulate data as organised by 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.
It translates DML statements in a query language into low-level instruction that the query
evaluation engine can understand.
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.
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.
It is procedural query language. It consists of a set of operations that take one or two
relations as input and produce a new relation.
The tuple-oriented calculus uses a tuple variables i.e., variable whose only permitted
values are tuples of that relation. E.g. QUEL
The domain-oriented calculus has domain variables i.e., variables that range over the
underlying domains instead of over relation. E.g. ILL, DEDUCE.
Minimizing redundancy
Minimizing insertion, deletion and update anomalies.
Functional dependency is denoted by X --> Y between two sets of attributes X and Y that
are subsets of R 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 X component of a tuple uniquely determines the
value of component Y.
Every dependency in F has a single attribute for its right hand side.
It cannot replace any dependency X -->A in F with a dependency Y--> A where Y
is a proper subset of X and still have a set of dependency that is equivalent to F.
We cannot remove any dependency from F and still have set of dependency that is
equivalent to F.
It guarantees that the spurious tuple generation does not occur with respect to relation
schemas after decomposition.
The domain of attribute must include only atomic (simple, indivisible) values.
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 primary key.
Ri = R for some i.
The join dependency is implied by the set of FD, over R in which the left side is
key of R.