*34. ***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.

*35. ***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.

*36. ***How does Tuple-oriented relational calculus differ from domain-oriented relational calculus**

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.

** **

*37. ***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

Ø Minimizing redundancy

Ø Minimizing insertion, deletion and update anomalies.

*38. ***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.

*39. ***When is a functional dependency F said to be minimal? **

Ø Every dependency in F has a single attribute for its right hand side.

Ø We 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.

*40. ***What is Multivalued dependency?**

Multivalued dependency denoted by X Y specified on relation schema R, where X and Y are both subsets of R, specifies the following constraint on any relation r of R: if two tuples t1 and t2 exist in r such that t1[X] = t2[X] then t3 and t4 should also exist in r with the following properties

Ø t3[x] = t4[X] = t1[X] = t2[X]

Ø t3[Y] = t1[Y] and t4[Y] = t2[Y]

Ø t3[Z] = t2[Z] and t4[Z] = t1[Z]

where [Z = (R-(X U Y)) ]

*41. ***What is Lossless join property?**

It guarantees that the spurious tuple generation does not occur with respect to relation schemas after decomposition.