Showing posts with label DBMS Concepts. Show all posts
Showing posts with label DBMS Concepts. Show all posts

Thursday, October 30, 2014

Relational Calculus

1. 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.
2. What is Relational Algebra?
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.
3. What is Relational Calculus?
It is an applied predicate calculus specifically tailored for relational databases proposed by E.F. Codd. E.g. of languages based on it are DSL ALPHA, QUEL.
4. How does Tuple-oriented relational calculus differ from domain-oriented relational calculus?
  1. The tuple-oriented calculus uses a tuple variables i.e., 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. E.g. ILL, DEDUCE.
5. What is normalization?
It is a process of analysing the given relation schemas based on their Functional Dependencies (FDs) and primary key to achieve the properties
(1).Minimizing redundancy, (2). Minimizing insertion, deletion and update anomalies.
6. 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 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.

Tuesday, October 28, 2014

DBMS Concepts

7. Define the "integrity rules"?
There are two Integrity rules.
  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.
8. What is extension and intension?
  1. Extension: It is the number of tuples present in a table at any instance. This is time dependent.
  2. Intension: It is a constant value that gives the name, structure of table and the constraints laid on it.
9. What is System R? What are its two major subsystems?
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.
Its two subsystems are
  1. Research Storage
  2. System Relational Data System.
10. How is the data structure of System R different from the relational structure?
Unlike Relational systems in System R
  1. Domains are not supported
  2. Enforcement of candidate key uniqueness is optional
  3. Enforcement of entity integrity is optional
  4. Referential integrity is not enforced
11. 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 in one level should not affect the schema definition in the next higher level.
Two types of Data Independence:
  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.
NOTE: Logical Data Independence is more difficult to achieve
12. 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 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.