TYPICAL
QUESTIONS & ANSWERS
PART -I
OBJECTIVE TYPE
QUESTIONS
Each Question carries 2 marks.
Choosethe correct or the
best alternative in the following:
Q.1 Which of the
following relational algebra operations do not require the participating tables
to be union-compatible?
(A) Union (B)
Intersection
(C) Difference (D) Join
Ans: (D)
Q.2 Which of the
following is not a property of transactions?
(A) Atomicity (B)
Concurrency
(C) Isolation (D) Durability
Ans: (B)
Q.3 Relational Algebra does not have
(A) Selection operator. (B) Projection
operator.
(C) Aggregation
operators. (D) Division
operator.
Ans: (C )
Q.4 Checkpoints are a
part of
(A) Recovery measures. (B) Security
measures.
(C
) Concurrency measures. (D) Authorization
measures.
Ans: (A)
Q.5 Tree structures are used to store data in
(A) Network model. (B) Relational model.
(C) Hierarchical
model. (D) File based system.
Ans: (C )
Q.6 The language that requires a user to specify the data to be retrieved without specifying
exactly how to get it is
(A) Procedural DML. (B) Non-Procedural
DML.
(C) Procedural DDL. (D) Non-Procedural
DDL.
Ans: (B)
Q.7 Precedence graphs
help to find a
(A) Serializable
schedule. (B) Recoverable
schedule.
(C) Deadlock free schedule. (D) Cascadeless schedule.
Ans: (A)
Q.8 The rule that a value of a
foreign key must appear as a value of some specific table is called a
(A) Referential constraint. (B) Index.
(C) Integrity
constraint. (D) Functional dependency.
Ans: (A) The rule that a value of a foreign key must appear as a value of some specific table is called a referential constraint. (Referential integrity constraint is concerned with foreign key)
Q.9 The clause in SQL that specifies
that the query result should be sorted in ascending or descending order based
on the values of one or more columns is
(A) View (B) Order by
(C) Group
by (D) Having
Ans: (B) The clause in SQL that specifies that the query result should be sorted in ascending or descending order based on the values of one or more columns is ORDER BY. (ORDER BY clause is used to arrange the result of the SELECT statement)
Q.10 What is a disjoint
less constraint?
(A) It
requires that an entity belongs to no more than one level entity set.
(B) The
same entity may belong to more than one level.
(C) The database must
contain an unmatched foreign key value.
(D) An
entity can be joined with another entity in the same level entity set.
Ans: (A) Disjoint less constraint requires that an entity belongs to no more than one level entity set. (Disjoint less constraint means that an entity can be a member of at most one of the subclasses of the specialization.)
Q.11 According to the levels of abstraction, the schema at the intermediate level is called
(A) Logical schema. (B) Physical schema.
(C) Subschema. (D) Super schema.
Ans: According to the levels of abstraction, the schema at the intermediate level is called conceptual schema.
(Note: All the options given in the question are wrong.)
Q.12 It is an abstraction through which relationships are treated as higher level entities
(A) Generalization. (B) Specialization.
(C) Aggregation. (D) Inheritance.
Ans: (C ) It is an abstraction through which relationships are treated as higher level entities Aggregation. (In ER diagram, aggregation is used to represent a relationship as an entity set.)
Q.13 A relation is in ____________ if an attribute of a composite key is
dependent on an attribute of other composite key.
(A) 2NF (B) 3NF
(C) BCNF (D) 1NF
Ans: (B) A relation is in 3 NF if an attribute of a composite key is dependent on an attribute of other composite key. (If an attribute of a composite key is dependent on an attribute of other composite key then the relation is not in BCNF, hence it has to be decomposed.)
Q.14 What is data integrity?
(A) It
is the data contained in database that is non redundant.
(B) It
is the data contained in database that is accurate and consistent.
(C) It
is the data contained in database that is secured.
(D) It
is the data contained in database that is shared.
Ans: (B) (Data integrity means that the data must be valid according to the given constraints. Therefore, the data is accurate and consistent.)
Q.15 What are the
desirable properties of a decomposition
(A) Partition
constraint. (B) Dependency preservation.
(C) Redundancy. (D) Security.
Ans: (B) What are the desirable properties of a decomposition – dependency preserving.
(Lossless join and dependency preserving are the two goals of the decomposition.)
Q.16 In an E-R diagram double lines
indicate
(A) Total
participation. (B) Multiple participation.
(C) Cardinality N. (D) None
of the above.
Ans:
(A)
Q.17 The
operation which is not considered a basic operation of relational algebra is
(A) Join. (B) Selection.
(C) Union. (D) Cross
product.
Ans:
(A)
Q.18 Fifth
(A) Functional
dependency. (B) Multivalued dependency.
(C) Join dependency. (D) Domain-key.
Ans: (C)
Q.19 Block-interleaved distributed parity is RAID level
(A) 2. (B) 3
(C) 4. (D) 5.
Ans: (D)
Q.20 Immediate database modification technique uses
(A) Both undo and redo. (B) Undo but no redo.
(C) Redo
but no undo. (D) Neither
undo nor redo.
Ans:
(A)
Q.21 In SQL the statement select
* from R, S is equivalent to
(A) Select * from R natural join S. (B) Select
* from R cross join S.
(C) Select * from R union
join S. (D) Select * from R inner join S.
Ans: (B)
Q.22 Which of the following is not a consequence of concurrent operations?
(A) Lost update problem. (B)
Update anomaly.
(C) Unrepeatable
read. (D) Dirty
read.
Ans: (B)
Q.23 As per equivalence rules for query transformation, selection operation distributes over
(A)
(C) Set difference. (D) All
of the above.
Ans:
(D)
Q.24 The metadata is
created by the
(A) DML
compiler (B)
DML pre-processor
(C) DDL interpreter (D) Query
interpreter
Ans: (C)
Q.25 When an E-R diagram is mapped to
tables, the representation is redundant for
(A) weak entity sets (B) weak
relationship sets
(C) strong entity sets (D) strong relationship sets
Ans: (B)
Q.26 When
, then the cost of computing
is
(A) the same as R
S (B) greater
the R
S
(C) less
than R
S (D) cannot
say anything
Ans: (A)
Q.27 In SQL the word ‘natural’ can be used with
(A) inner join (B)
full outer join
(C) right outer join (D) all of the above
Ans: (A)
Q.28 The default level of consistency in SQL is
(A) repeatable read (B) read committed
(C) read
uncommitted (D) serializable
Ans: (D)
Q.29 If a transaction T has obtained an exclusive lock on item Q, then T can
(A) read Q (B) write
Q
(C) both
read and write Q (D) write
Q but not read Q
Ans:
(C)
Q.30 Shadow paging has
(A) no redo (B) no undo
(C) redo but no undo (D) neither redo nor undo
Ans: (A)
Q.31 If the closure of an attribute set is the entire relation then the attribute set is a
(A) superkey (B) candidate key
(C) primary key (D) not
a key
Ans: (A)
Q.32 DROP is a
______________ statement in SQL.
(A) Query (B) Embedded SQL
(C) DDL (D) DCL
Ans:
(C)
Q.33 If two relations R and S are joined, then the non matching tuples of both R and S are ignored in
(A) left outer join (B) right outer join
(C) full outer join (D) inner join
Ans: (D)
Q.34 The keyword to eliminate duplicate rows from the query result in SQL is
(A) DISTINCT (B) NO DUPLICATE
(C) UNIQUE (D) None of the above
` Ans: (C)
Q.35 In 2NF
(A) No functional dependencies (FDs)
exist.
(B) No multivalued dependencies
(MVDs) exist.
(C) No partial FDs exist.
(D) No partial MVDs exist.
Ans: (C)
Q.36 Which one is correct statement?
Logical data independence provides following without changing application programs:
(i) Changes in access methods.
(ii) Adding new entities in database
(iii) Splitting an existing record into two or more records
(iv) Changing storage medium
(A) (i) and (ii) (B) (iv) only, (C) (i) and (iv) (D) (ii) and (iii)
Ans: (D)
Q.37 In an E-R, Y is the dominant entity and X is a subordinate entity. Then which of the following is incorrect :
(A) Operationally, if Y is deleted, so is X
(B) existence is dependent on Y.
(C) Operationally, if X is deleted, so is Y.
(D) Operationally, if X is deleted, & remains the same.
Ans: (C)
Q.38 Relational Algebra is
(A) Data Definition Language .
(B)
(C) Procedural query Language
(D) None of the above
Ans: (C)
Q.39 Which of the following aggregate functions does not ignore nulls in its results?.
(A) COUNT . (B) COUNT (*)
(C) MAX (D) MIN
Ans: (B)
Q.40 R (A,B,C,D) is a relation. Which of the following does not have a lossless join dependency preserving BCNF decomposition
(A) AgB, BgCD (B) AgB, BgC, CgD .
(C) ABgC, CgAD (D) AgBCD
Ans: (D)
Q.41 Consider the join of relation R with a relation S. If R has m tuples and S has n tuples, then the maximum and minimum size of the join respectively are
(A) m+n and 0 (B) m+n and |m-n|
(C) mn and 0 (D) mn and m+n
Ans: (C)
Q.42 Maximum height of a B+ tree of order m with n key values is
(A) Logm(n) (B) (m+n)/2
(C) Logm/2(m+n) (D) None of these
Ans: (D)
Q.43 Which one is true statement :
(A) With finer degree of granularity of locking a high degree of concurrency is possible.
(B) Locking prevents non – serializable schedules.
(C) Locking cannot take place at field level.
(D) An exclusive lock on data item X is granted even if a shared lock is already held on X.
Ans: (A)
Q.44 Which of the following statement on the view concept in SQL is invalid?
(A) All views are not updateable
(B) The views may be referenced in an SQL statement whenever tables are referenced.
(C) The views are instantiated at the time they are referenced and not when they are defined.
(D) The definition of a view should not have GROUP BY clause in it.
Ans: (D)
Q.45 Which of the following concurrency control schemes is not based on the serializability property?
(A) Two – phase locking (B) Graph-based locking
(C) Time-stamp based locking (D) None of these .
Ans: (D)
Q.46 Which of the
following is a reason to model data?
(A) Understand
each user’s perspective of data
(B) Understand
the data itself irrespective of the physical representation
(C) Understand the use of
data across application areas
(D) All of the above
Ans: (D)
Q.47 If an entity can belong to only one lower level entity then the constraint is
(A) disjoint (B)
partial
(C) overlapping (D) single
Ans: (B)
Q.48 The common column is eliminated in
(A) theta join (B) outer
join
(C) natural join (D)
composed join
Ans: (C )
Q.49 In SQL, testing
whether a subquery is empty is done using
(A) DISTINCT (B) UNIQUE
(C) NULL (D)
EXISTS
Ans: (D)
Q.50 Use of UNIQUE while defining an attribute of a table in SQL means that the attribute values are
(A) distinct values (B)
cannot have NULL
(C) both
(A) & (B) (D) same
as primary key
Ans:
(C)
Q.51 The cost of reading and writing temporary files while evaluating a query can be reduced by
(A) building indices (B) pipelining
(C) join ordering (D) none of the above
Ans: (B)
Q.52 A transaction is in __________ state after the final statement has been executed.
(A) partially committed (B) active
(C) committed (D)
none of the above
Ans: (C)
Q.53 In multiple granularity of locks SIX lock is compatible with
(A) IX (B) IS
(C) S (D) SIX
Ans:
(B)
Q.54 The statement that is executed automatically by the system as a side effect of the modification of the database is
(A) backup (B) assertion
(C) recovery (D) trigger
Ans: (D)
Q.55 The normal form that is not necessarily dependency preserving is
(A) 2NF (B) 3NF
(C) BCNF (D) 4NF
Ans: (A)
Q.56 A functional dependency of the form
is trivial if
(A)
(B) ![]()
(C)
(D) ![]()
Ans: (A)
Q.57 The normalization was
first proposed by ______________.
(A) Code (B) Codd
(C) Boyce
Codd (D) Boyce
Ans: (B)
Q.58 The division operator divides a dividend A of degree m+n by a divisor relation B of degree n and produces a result of degree
(A) m – 1 (B) m + 1
(C) m
* m (D) m
Ans: (D)
Q.59 Which of the following is not a characteristic of a relational database model?
(A) Table (B) Tree like structure
(C) Complex logical relationship (D) Records
Ans: (B)
Q.60 Assume transaction A holds a shared lock R. If transaction B also requests for a shared lock on R.
(A) It will result in a deadlock situation.
(B) It will immediately be rejected.
(C) It will immediately be granted.
(D) It will be granted as soon as it is released by A .
Ans: (C)
Q.61 In E-R Diagram total participation is represented by
(A) double lines (B) Dashed lines
(C) single line (D) Triangle
Ans: (A)
Q.62 The FD A ® B , DB ® C implies
(A) DA ® C (B) A ® C
(C) B ® A (D) DB ® A
Ans: (A)
Q.63 The graphical representation of a query is ________.
(A) B-Tree (B) graph
(C) Query Tree (D) directed graph
Ans: (C)
Q.64 Union operator is a :
(A) Unary Operator (B) Ternary Operator
(C) Binary Operator (D) Not an operator
Ans: (C)
Q.65 Relations produced from an E-R model will always be
(A) First normal form. (B) Second normal form.
(C) Third normal form. (D) Fourth normal form.
Ans: (A)
Q.66 Manager salary details are hidden from the employee .This is
(A) Conceptual level data hiding.
(B) External level data hiding.
(C) Physical level data hiding.
(D) None of these.
Ans:
(A)
Q.67 Which of
the following is true for network structure?
(A) It is a physical representation
of the data.
(B) It allows many to many
relationship.
(C) It is conceptually simple.
(D) It will be the dominant database
of the future.
Ans: (A)
Q.68 Which two
files are used during operation of the DBMS?
(A) Query
languages and utilities
(B) DML and query language
(C)
Data dictionary and transaction
log
(D) Data
dictionary and query language
Ans: (C )
Q.69 A list consists of last names,
first names, addresses and pin codes. If all people in the list have the same
last name and same pin code a useful key would be
(A) the pin code
(B) the last name
(C) the compound key first
name and last name
(D) Tr from next page
Ans: (C )
Q.70 In b-tree
the number of keys in each node is ____ than the number of its children.
(A) one
less (B)
same
(C) one
more (D) half
Ans: (A)
Q.71 The
drawback of shadow paging technique are
(A) Commit
overhead (B) Data
fragmentation
(C) Garbage
collection (D) All
of these
Ans: (D)
Q.72 Which
normal form is considered adequate for normal relational database design?
(A) 2NF (B) 5NF
(C) 4NF (D) 3NF
Ans: (D)
Q.73 Which of the following addressing
modes permits relocation without any change over in the code?
(A) Indirect
addressing (B) Indexed
addressing
(C) PC
relative addressing (D) Base
register addressing
Ans: (B)
Q.74 In a
multi-user database, if two users wish to update the same record at the same
time, they are prevented from doing so
by
(A) jamming (B) password
(C) documentation (D)
record lock
Ans: (D)
Q.75 The values of the
attribute describes a particular_____________
(A) Entity set (B) File
(C) Entity instance (D) Organization
Ans: (C)
Q.76 Which of the following relational algebraic operations is not from set theory?
(A) Union (B) Intersection
(C) Cartesian Product (D) Select
Ans: (D)
Q.77 Which of the following ensures the atomicity of the transaction?
(A) Transaction management component of DBMS
(B) Application Programmer
(C) Concurrency control component of DBMS
(D) Recovery management component of DBMS
Ans: (A)
Q.78 If both the functional dependencies : X®Y and Y®X hold for two attributes X and Y then the relationship between X and Y is
(A) M:N (B) M:1
(C) 1:1 (D) 1:M
Ans: (C)
Q.79 What will be the number of columns and rows respectively obtained for the operation, A- B, if A B are Base union compatible and all the rows of a are common to B? Assume A has 4 columns and 10 rows; and B has 4 columns and 15 rows
(A) 4,0 (B) 0,0
(C) 4,5 (D) 8,5
Ans: (A)
Q.80 For correct behaviour during recovery, undo and redo operation must be
(A) Commutative (B) Associative
(C) idempotent (D) distributive
Ans: (C)
Q.81 Which
of the following is not a consequence of non-normalized database?
(A) Update Anomaly (B) Insertion Anomaly
(C) Redundancy (D) Lost update problem
Ans: (D)
Q.82 Which of the following is true for relational calculus?
(A) "x(P(x))ºØ($x)(ØP(x)) (B) "x(P(x))ºØ($x)(P(x))
(C) "x(P(x))º($x)(ØP(x)) (D) "x(P(x))º($x)(P(x))
Ans: (A)
Q.83 The part of a database management system which ensures that the data remains in a consistent state is
(A) authorization and integrity manager
(B) buffer manager
(C) transaction manager
(D) file manager
Ans: (C)
Q.84 Relationships among relationships can be represented in an-E-R model using
(A) Aggregation (B) Association
(C) Weak entity sets (D) Weak relationship sets
Ans: (A)
Q.85 In tuple relational calculus P1 AND P2 is equivalent to
(A) (ØP1ORØP2). (B) Ø(P1ORØP2).
(C) Ø(ØP1OR P2). (D) Ø(ØP1OR ØP2).
Ans: (D)
Q.86 If a®b holds then so does
(A) ga®gb (B) a®®gb
(C) both (A) and (B) (D) None of the above
Ans: (A)
Q.87 Cascading rollback is avoided in all protocol except
(A) strict two-phase locking protocol.
(B) tree locking protocol
(C) two-phase locking protocol
(D) validation based protocol.
Ans: (D)
Q. 88 Wait-for graph is used for
(A) detecting view serializability. (B) detecting conflict serializability.
(C) deadlock prevention (D) deadlock detection
Ans: (D)
Q.89 The expression sq1(E1⋈q2E2) is the same as
(A) E1 ⋈q1^ q2E2 (B) sq1 E1^sq2 E2
(C) E1 ⋈q1∨ q2E2 (D) None of the above
Ans: (A)
Q.90 The clause alter table in SQL can be used to
(A) add an attribute
(B) delete an attribute
(C) alter the default values of an attribute
(D) all of the above
Ans: (D)
Q. 91 The data models defined by ANSI/SPARC architecture are
(A) Conceptual, physical and internal
(B) Conceptual, view and external
(C) Logical, physical and internal
(D) Logical, physical and view
Ans: (D)
Q.92 Whenever two independent one-to-many relationships are mixed in the same relation, a _______ arises.
(A) Functional dependency (B) Multi-valued dependency
(C) Transitive dependency (D) Partial dependency
Ans:(B)
Q.93 A table
can have only one
(A) Secondary key (B) Alternate key
(C) Unique key (D) Primary key
Ans: (D)
Q.94 Dependency preservation is not guaranteed in
(A) BCNF (B) 3NF
(C) PJNF (D) DKNF
Ans: (A)
Q.95 Which is the best file organization when data is frequently added or deleted from a file?
(A) Sequential (B) Direct
(C) Index sequential (D) None of the above
Ans: (B)
Q.96 Which of the following constitutes a basic set of operations for manipulating relational data?
(A) Predicate calculus (B) Relational calculus
(C) Relational algebra (D) SQL
Ans: (C)
Q.97 An advantage of views is
(A) Data security (B) Derived columns
(C) Hiding of complex queries (D) All of the above
Ans: (A)
Q.98 Which
of the following is not a recovery technique?
(A) Deferred update (B) Immediate update
(C) Two-phase commit (D) Shadow paging
Ans: (C)
Q.99 Isolation of the transactions is ensured by
(A) Transaction management (B) Application programmer
(C) Concurrency control (D) Recovery management
Ans: (C)
Q.100 _______ operator is used to compare a value to a list of literals values that have been specified.
(A) Like (B) COMPARE
(C) BETWEEN (D) IN
Ans: (A)
PART-
II
DESCRIPTIVES
Q.1 Briefly discuss the different layers of ANSI SPARC
architecture. Define physical and
logical data independence. How does this architecture help in achieving these? (7)
Ans: The three layers of ANSI SPARC architecture
are as follows:
·
Internal view is at the lowest level of
abstraction, closest to the physical storage method used. It indicates how the data will be stored and
describes the data structures and access methods to be used by the database.
There is one internal view for the entire database.
·
Global or Conceptual View : At this level of abstraction all
the database entities and the relationships among them are included. There is
one conceptual view for the entire database.
· External or User View: The external or user view is at the highest level of database abstraction where only those portions of the database concern to a user or application programme are included. Any number if external or user views may exists for a given global or conceptual view.
Data independence implies that change in one view must not require a change in the
view(s) above. There are two types of data independence : logical and physical. Logical data independence means that the conceptual view can be changed without effecting the existing external view, i.e., a given record may be spilt or combined with other records but the external views need not be changed to reflect this. Physical data independence means that the physical storage structures or devices used to store the data can be changed without effecting the existing conceptual view or external view, i.e., if earlier indexed sequential files are used to store data and then the B- trees are used, even then the upper layers should not be effected.
There are two different mappings between the layers as shown below in the diagram. The mapping between external and conceptual levels is responsible to provide logical data independence and the mapping between internal and conceptual levels is responsible to provide physical data independence.

Q.2 Describe
the storage structure of indexed sequential files and their access method. (7)
Ans: Storage
structure of Indexed Sequential files and their access : To gain fast random access to
records in a file, we can use an index structure. An index record consists of a
search key value and pointers to data records, which is associated with a
particular search key. An ordered index stores the values of the search keys in
sorted order. A file may have several indices on different search keys. If the
files containing the records is sequentially ordered, a primary index is an
index whose search key also defines the sequential order of the file. Such
files are known as index sequential files. There are two types of ordered
indices : dense and sparse. In dense index, and index record appears only for
some of the search-key in the files as shown below.

To access a particular record with search key
value, K, using dense index we search index record with search key value, K,
from which reach the first entry of data record with search key value K. Then
the data records are searched linearly to obtain the required record. If either
the index record is not there or the linear search reaches the data record with
different search key value, then the record is not there. Now for sparse index,
we search index record with search key value, K or the index record with
highest search key value less than K, from which reach the first entry of data
record with search key value K or highest value less than K. Then the data
records are searched linearly to obtain the required record. If the linear
searches the data record with search key value greater than K, then the record
is not there.
Q.3 Define the terms entity,
attribute, role and relationship between the entities, giving examples for each
of them. (4)
Ans:
Entity: An entity is a “thing” or “object” in the real
world that is distinguishable from other objects. For example, a person and
bank account can be considered as entities.
Attribute: Entities are described in a
database by a set of attributes, i.e., the characteristics of an entity are
known as attributes. For example, name, age, date of birth, etc are attributes
of the entity person. Similarly, account number, balance, nature of account,
etc are attributes of the entity bank account.
Relationship:
A relationship is
an association among the several entities. For example, a depositor
relationship associates the entity person with a bank account.
Role: The function that an entity plays in a
relationship is called that entity’s role. For example, in the relationship
depositor mentioned above, the entity person plays the role of a customer in
the relationship.
Q.4 What are the three data
anomalies that are likely to occur as a result of data redundancy? Can data redundancy be completely eliminated
in database approach? Why or why not? (5)
Ans: The three type of
anomalies that can arise in the database because of redundancy are insertion,
deletion and modification/updation anomalies.
Consider a relation emp_dept with attributes: E#, Ename, Address, D#, Dname,
Dmgr# with the primary key as E#.
Insertion anomaly: Let us assume that a new department has been started by the organization but initially there is no employee appointed for that department, then the tuple for this department cannot be inserted into this table as the E# will have NULL, which is not allowed as E# is primary key. This kind of a problem in the relation where some tuple cannot be inserted is known as insertion anomaly.
Deletion anomaly: Now consider there is only one employee in some department and that employee leaves the organization, then the tuple of that employee has to be deleted from the table, but in addition to that the information about the department also will get deleted. This kind of a problem in the relation where deletion of some tuples can lead to loss of some other data not intended to be removed is known as deletion anomaly.
Modification /update
anomaly: Suppose the manager of a department has
changed, this requires that the Dmgr# in all the tuples corresponding to that
department must be changed to reflect the new status. If we fail to update all
the tuples of the given department, then two different records of employee
working in the same department might show different Dmgr# leading to
inconsistency in the database. This is known as modification/update anomaly.
The data redundancy. Cannot be totally removed from the database, but there should be controlled redundancy, for example, consider a relation student_report(S#, Sname, Course#, SubjectName, marks) to store the marks of a student for a course having some optional subjects, but all the students might not select the same optional papers. Now the student name appears in every tuple, which is redundant and we can have two tables as students(S#, Sname, CourseName) and Report(S#, SubjectName, Marks). However, if we want to print the mark-sheet for every student using these tables then a join operation, which is a costly operation, in terms of resources required to carry out, has to be performed in order to get the name of the student. So to save on the resource utilization, we might opt to store a single relation, students_report only.
Q.5 Given the dependency diagram shown in the following figure, (the primary key attributes are underlined)

(i) Identify and discuss each of the indicated dependencies?
(ii) Create a database whose tables are atleast in 3NF, showing dependency
Diagram for each table? (4+5)
Ans:
(i) The FDS for the given relation are:
1. C1→ C2
2. C1, C3 → C2, C4, C5
3. C4 → C5
The Primary key of the given relation is (C1, C3), so C1 → C2 is a partial FD and there is a transitive FD also : C1, C3 → C4 →C5 in the relation.
(ii) According to the algorithm to decompose the relation schema into 3NF as follows:
R1 (C1, C2) with FD {C1 → C2} and functional dependency diagram.

R2(C1, C3, C4) with FD {C1, C3 → C4} and functional dependency diagram

R3(C4, C5) with FD {C4 → C5} and functional dependency diagram.

We cannot have a single relation for the FD C1, C3 → C2, C4, C5 as then there will be partial and transitive FDs in the relation.
Q.6 Consider the following relations with underlined primary keys.
Product(P_code, Description, Stocking_date, QtyOnHand, MinQty,
Price, Discount, V_code)
Vendor(V_code, Name, Address, Phone)
Here a vendor can supply
more than one product but a product is supplied by only one vendor. Write SQL queries for the following :
(i) List the names of all the vendors who supply more than one product.
(ii) List the details of the products whose prices exceed the average
product price.
(iii) List the Name, Address and Phone of the vendors who are currently
not supplying any product. (3 x 3)
Ans:
(i) Select Name from Vendor
Where V_code in (Select V_code from Product
group by V_code having count (V_code) > 1)
(ii) Select * from Product
Where Price > (Select avg (Price)from Product)
(iii) Select Name, Address, Phone From Vendor
Where V_code not in (Select V_code from Product)
Q.7 Define the domain
relational calculus. (5)
Ans: An expression in the domain relational
calculus is of the form
{< x1, x2,……..xn >1 P(x1, x2….., xn)}…………..1 Where x1, x2…….. xn represent the domain variables. P represents a formula composed of atoms. An atom in the domain relational calculas has one of the following forms:
·
{<x1, x2), …..xn > Єr, where
r is a relation on n attributes and x1,
x2, …..xn are domain variables or domain constants.
· x Θ y, where a and y where r
domain variables and Θ is a comparison operator (<, ≤, =,
≠, ≥, >). We require that attributes x and y have domains that
can be compared by Θ.
·
x Θ c, where x is a domain variable, Θ is a comparison
operator, and c is a constant in the domain of the attribute for which x is a
domain variable.
We build up formulae from atoms by
using the following rules :
·
An atom is a formula.
·
If P1 is a formula,
then so are ¬p1 and (P1)
If P1 and P2 are formulae, then so are p1Λ p2
and p1∨ p2 and
p1 ⇒P2
·
If p1 (x) is a
formula in x, where x is a domain variable, then so are Ǝx(p1(x))
and
"x(p1(x)).
Q.8 Given
with the set of FDs,
. Is the decomposition of R into
and
lossless? Prove. (5)
Ans: To find whether the decomposition of R(A, B,C,D,E) with the set of functional dependencies, F={AB → CD, A → E, C → D} into R1(A,B,C) R2(B,C, D) and R3(C,D,E) is lossless or not, we have the following initial table.
|
|
A |
B |
C |
D |
E |
|
R1 |
aA |
aB |
aC |
a1D |
b1E |
|
R2 |
b2A |
aB |
aC |
aD |
b2E |
|
R3 |
b3A |
b3B |
aC |
aD |
aE |
There is no change in table above for the functional dependencies AB → CD and A →E, but for the functional dependency C → D, all the rows of C have aC so and the corresponding rows of D can be updated to aD as there is an aD in two of such rows. Here the new table is as follows:
|
|
A |
B |
C |
D |
E |
|
R1 |
aA |
aB |
aC |
aD |
b1E |
|
R2 |
b2A |
aB |
aC |
aD |
b2E |
|
R3 |
b3A |
b3B |
aC |
aD |
aE |
No change can be made in the table further and from this table we can see that there is no row with all the a’s, hence the decomposition is a lossy one.
Q.9 Given R(A,B,C,D,E) with the set of FDs,
F{AB→CD, ABC → E, C → A}
(i) Find any two candidate keys of R
(ii)
What is the normal form of R?
Justify. (9)
Ans:
(i) To
find two candidate keys of R, we have to find the closure of the set of
attributes under consideration and if all the attributes of R are in the
closure then that set is a candidate key. Now from the set of FD’s we can make
out that B is not occurring on the RHS of any FD, therefore, it must be a part
of the candidate keys being considered otherwise it will not be in the closure
of any attribute set. So let us consider the following sets AB and BC.
Now (AB)+= ABCDE, CD are included in closure because of the FD AB →CD, and E is included in closure because of the FD ABC → E.
Now (BC) += BCAED, A is included in closure because of the FD C → A, and then E is included in closure because of the FD ABC → E and lastly D is included in closure because of the FD AB → CD.
Therefore two candidate keys are : AB and BC.
(ii) The prime attributes are A, B and C and non-prime attributes are D and E.
A relation
scheme is in 2NF, if all the non-prime attributes are fully functionally
dependent on the relation key(s). From the set of FDs we can see that the non-prime
attributes (D,E) are fully functionally dependent on the prime attributes, therefore,
the relation is in 2NF.
A relation scheme is in 3NF, if for all the non-trivial FDs in F+ of the form X → A, either X is a superkey or A is prime. From the set of FDs we see that for all the FDs, this is satisfied, therefore, the relation is in 3NF.
A relation scheme is in BCNF, if for all the non-trivial FDs in F+ of the form X→ A, X is a superkey. From the set of FDs we can see that for the FD C → A, this is not satisfied as LHS is not a superkey, therefore, the relation is not in BCNF.
Hence, the
given relation scheme is in 3NF.
Q.10 How does a query
tree represent a relational algebra expression?
Discuss any three rules for query optimisation, giving example as to
when should each rule be applied. (8)
Ans: A query tree is a tree structure that corresponds to a relational algebra expression. It represents the input relations as leaf nodes of the tree, and represents the relational algebra operations as internal nodes. An execution of the query tree consists of executing an internal node operation whenever its operands are available and then replacing that internal node by the relation that results from executing the operation. The execution terminates when the root node is executed and produces the result relation for the query. For example, the query tree for the relational algebra expression
∏E_No =(sp_No = ‘DB2003’ (Assigned_To) :

The three rules for query optimization are as follows:
· In a cascade (sequence ) of ∏ operations, all but the last one can be ignored :
∏1(∏2(……∏n ( R))) º ∏1(R )
· If a selection condition c involves only those attributes A1, A2, …. An in the projection list, the two operations can be commuted :
∏A1, A2,……An (sC (R ) º sC (∏A1, A2, ……An (R ))….. ))
· A conjunctive selection condition can be broken up into a cascade of individual s operations :
sC1 AND C2 AND ….AND Cn (R ) º sC1 (sC2(….(sCn (R ))….))
Q. 11 Consider the following database with primary keys underlined
Project(P_No, P_Name, P_Incharge)
Employee(E_No, E_Name)
Assigned_To(P_No, E_No)
Write the relational algebra for the following :
(i) List details of the employees working on all the projects.
(ii) List E_No of employees who do not work on project number DB2003. (6)
Ans:
(i) Employee ⋈(Assigned_To) ÷ ∏ p_no (Project))
(ii) ∏E_No(Assigned_To) - ∏E_No(sp_No = ‘ DB2003’ (Assigned _To))
Q.12 What is a hashing function? What are the properties of a good hashing function? Describe the folding technique for hashing functions. (7)
Ans: Hashing function is a technique to store a file on the disk. A hash function is a function which when applied to a value of a record (hash field) gives a hash value, which is the address of the disk block in which the record is stored.
The properties of a good hash function are
as follows:
· It should be easy to evaluate.
· The hash value obtained should be within the range of valid addresses for a given file.
· The hash values should be uniformly distributed over the range of addresses so that the collisions are minimum.
Folding technique for hashing functions: It involves applying an arithmetic function such as addition or a logical function like exclusive OR to different parts of a hash field to calculate the hash addresses. For example, the numeric hash field can be split into start, middle and end regions, such that the sum of the lengths of the start and end regions equals the length of the middle region. The start, middle and end regions’ digits are added to get a new value, x. Then x mod s, where s is the upper limit for the hash function, gives the hash value.
Q.13 Describe
the problems of lost update, inconsistent read and phantom phenomenon which
arise as a result of concurrency. (7)
Ans: Lost update problem: The problem occurs when two transactions
that access the same database items have their operations interleaved in a way
that makes the value of some database item incorrect. For example, consider the
following interleaved schedule of two transactions:
Time T1 T2
Read(X)
X
= X+ 100
Read(X)
X
= X – 100
Write(X)
Write(X)
From the schedule, it can
be seen that the updation of x by T1 will be overwritten by T2. If these
transactions execute in serial order then the value of x should not change, but
with this schedule the value of x will be reduced by 100, which is incorrect.
Inconsistent Read or
Temporary Update or Dirty Read problem: problem occurs when one transaction
updates a database item and then the transaction fails for some reason. The
updated value is accessed by another transaction before it is changed back to
the original value. For example, consider the following interleaved schedule of
two transactions :
Time
T1 T2
![]()
Read(X)
X
= X + 100
Write(X)
Read(X)
X
= X - 100
From the schedule, it can
be seen that T2 will read the value written by T1, however if T1 fails for some
reason before commit then T2 will use the value which is not valid.
Phantom
Phenomenon : If a
transaction is calculated an aggregate summary function on a number of records
while other transactions are updating some of records, the aggregate function
may calculate some values before they are updated and others after they are
updated. For example, consider the following interleaved schedule of two
transactions:
Time T1 T2
Sum
= 0
Read (X)
X =X + 100
Write(X)
Read(X)
Sum
= Sum + X
Read(Y)
Sum
= Sum + Y
Read(Y)
Y = Y – 100
Write(y)
From the schedule, it can
be seen that T2 will read the new value of X written by T1 but not that of Y,
so the value of Sum will be off by 100 from the actual valid value.
Q.14 Define
(i) Shared locks.
(ii) Serializable schedule.
(iii) Thomas write rule.
(iv) Two phase commit. (4)
Ans:
(i) Shared lock: During concurrent execution
of transactions, before a transaction can access a data item, it has to acquire
a lock on it. Now if the transactions only want to read the data item then
every transaction can lock the data item in shared mode, such a lock is known
as shared lock.
(ii) Serializable schedule: An interleaved schedule of more than one transactions is called a serializable schedule, if it is equivalent to some serial schedule of those transactions.
(iii) Thomas’ write rule: The Thomas’ write rule is a modification of timestamp-ordering protocol for concurrency control. Suppose that transaction Ti issues write (Q) and TS(Ti) is its timestamp then the following actions are taken depending on TS(Ti) and the read-write timestamps of the data item Q:
· If TS(Ti)<R-timestamp (Q), then the value of Q that Ti is producing was previously needed, and it had been assumed that the value would never be produced. Hence, the system rejects the write operation and rolls Ti back.
· If TS(Ti) < W-timestamp (Q), then Ti is attempting to write an obsolete value of Q. Hence, this write operation can be ignored otherwise, the system executes the write operation and sets W-timestamp(Q) to Ts(Ti)
(iv) Two phase commit: To ensure atomicity, all the sites in which a transaction is being executed must agree on the final outcome of the execution. The transaction must either commit at all sites or it must abort at all sites. For this simplest protocol is two-phase commit, which has the voting phase and the decision phase, In the voting phase the sub-transactions are requested to vote on their readiness to commit or abort. In the decision phase the decision as to whether all sub-transactions should commit or abort is made and carried out. The transactions at a site interact with the transaction manager of the site, cooperating in the exchange of messages through which the two –phase commit is executed.
Q.15 Let transactions T1, T2 and T3 be defined to perform the following operations :
T1 : Add one to A
T2 : Double A
T3 : Display A on the screen and then set A to one.
(where A is some item in the database)
Suppose
transactions T1, T2 and T3 are allowed to execute concurrently. If A has initial value zero, how many
possible correct results are there?
Enumerate them. (10)
Ans: The following three transactions, manipulating the contents of A, are to execute concurrently:
T1 : Add one to A ie. A = A + 1
T2 : Double A ie. A + 2 * A
T3 : Display A on screen and then set it to 1 ie. A = 1
Assuming A has an initial value zero. Now three transactions can execute concurrently in the following different ways. The tables are showing the different transaction schedules along with the changes they make in the value of A and the value of A displayed by T3.
|
Transactions Schedule |
Current value of A |
Display |
|
T1 |
1 |
|
|
T2 |
2 |
|
|
T3 |
1 |
2 |
|
Transactions Schedule |
Current value of A |
Display |
|
T1 |
1 |
|
|
T3 |
1 |
1 |
|
T2 |
2 |
|
|
Transactions Schedule |
Current value of A |
Display |
|
T2 |
0 |
|
|
T1 |
1 |
|
|
T3 |
1 |
1 |
|
Transactions Schedule |
Current value of A |
Display |
|
T2 |
0 |
|
|
T3 |
1 |
0 |
|
T1 |
2 |
|
|
Transactions Schedule |
Current value of A |
Display |
|
T3 |
1 |
0 |
|
T1 |
2 |
|
|
T2 |
4 |
|
|
Transactions Schedule |
Current value of A |
Display |
|
T3 |
1 |
0 |
|
T2 |
2 |
|
|
T1 |
3 |
|
Q.16 Define and differentiate between the following :-
(i) Deadlock prevention.
(ii) Deadlock detection.
(iii)
Deadlock avoidance. (6)
Ans:
(i) Deadlock prevention: These protocols ensure that the
system will never enter a deadlock state. There are two approaches to deadlock
prevention. One approach ensures that no cyclic waits can occur by ordering the
requests for locks, or requiring all locks to be acquired together. The other
approach is closer to deadlock recovery, and performs transaction rollback
instead of waiting for a lock, whenever the wait could potentially result in a
deadlock. In this approach two timestamp based techniques are there : wait –
die and wound – wait . In wait –die, the older transaction is allowed to wait
if it needs data from older transaction. In wound - wait, the younger transaction is rolled
back if it needs data from older transaction if older transaction needs data
currently held by a younger transaction, however younger transaction is allowed
wait if it needs data from older transaction.
(ii) Deadlock detection: If a system does
not employ some protocol that ensures deadlock freedom, then a detection and
recovery scheme must be used. An algorithm that examines the state of the
system is invoked periodically to determine whether a deadlock has occurred. If
one has, then the system must attempt to recover from the deadlock.
(iii) Deadlock avoidance : These protocols
also ensure that the system will never enter a deadlock state but the way it is
done is different from deadlock prevention. In this whenever a transaction
requests for some data, the system consider the resources currently allocated
to each process and the future requests and releases of each process currently
allocated to each process and the future requests and releases of each process,
to decide whether the current request can be satisfied or must wait to avoid a
possible future deadlock. In this the transactions have to give additional
information about how the data will be requested in future.
Q.17 Write short notes on any FOUR of the following:
Ans:
(i) Two Phase Locking Protocol : This is a protocol which is used to ensure serializability of transactions. This protocol requires that each transaction issue lock and unlock requests in two phases :
Growing Phase : A transaction may obtain locks, but may not release any lock.
Shrinking Phase: A transaction may release locks, but may not obtain any new locks. Initially, a transaction is in growing phase. The transaction acquires locks as needed. Once the transaction releases a lock, it enters the shrinking phase, and it can issue no more lock requests. Two-phase locking ensures conflict serializability, but does not ensure freedom from deadlock.
(ii) Audits trails : Audit trail is maintained by the databases for security. An audit trail is a log of all changes (inserts /deletes /updates) to the database, along with information such as which user performed the change and when the change was performed. The audit trails help in security in several ways. For example, if the balance on an account is found to be incorrect, the bank may wish to trace all the updates performed on the account, to find out incorrect (or fraudulent) updates, as well as the persons who carried out the updates. The bank could then also use the audit trails to trace all the updates performed by these persons, in order to find other incorrect or fraudulent updates.
An audit trail is a series of records of computer events, about an operating system, an application, or user activities. It is generated by an auditing system that monitors system activity. Audit trails have many uses in the realm of computer security :
Individual Accountability : An individual's actions are tracked in an audit trail allowing users to be personally accountable for their actions. This deters the users from circumventing security policies. Even if they do, they can be held accountable. Reconstructing Events : Audit trails can also be used to reconstruct events after a problem has occurred. The amount of damage that occurred with an incident can be assessed by reviewing audit trails of system activity to pinpoint how, when, and why the incident occurred.
Problem Monitoring : Audit trails may also be used as on-line tools to help monitor problems as they occur. Such real time monitoring helps in detection of frauds etc.
Intrusion Detection : Intrusion detection refers to the process of identifying attempts to penetrate a system and gain unauthorized access. Audit trails can help in intrusion detection if they record appropriate events. Determining what events to audit so that audit trails can be used in an effective manner to aid intrusion detection is one of the present research issues being looked into by the research community.
(iii) QueryProcessing: query processing is the procedure of selecting the best plan or strategy to be used in responding to a database request. The plan is then executed to generate a response. The component of the DBMS responsible for generating this strategy is called a query processor. It is a stepwise process. The first step is to transform the query into a standard from. For example, a query in QBE looked into by the research community. Query may be transformed into a relational algebraic expression, the optimization is performed by substituting equivalent expressions for those in the query. In the next step a number of strategies called access pans are generated for evaluating the transformed query. The physical characteristics of the data and any supporting access method are taken into account in generating alternate access pans. The cost of each access plan is estimated and the optimal one is chosen and executed.
(iv) Disadvantages of file based systems : Some of the disadvantages of file based systems are as follows:
· Data redundancy and inconsistency : the different application programs may require the same data but may store it in separate files to be used by them only. For example, in a college environment, the address, contact no. etc., may be maintained both by the office staff and the library staff to sent appropriate reminders to the fee defaulters or to the students who have not returned the books on due dates, respectively. If a student changes the residence and that is reflected in only one of the system then it leads to inconsistency.
· Difficulty in accessing data : Even if the data is there in the file but if a new type of details are required from the data, they cannot be retrieved unless and until a new application is written for it.
· Data isolation : Because data are scattered in various files, and files may be in different formats, writing new application programs to retrieve the appropriate data is difficult.
· Integrity problems: The integrity constraint can be applied through the application program, but not directly to the data file. For example, there is a constraint to insure that the balance of an account must not be below Rs. 1000, then through application program this can be done but someone may directly make the changes to the data file and violate this constraint.
(v) Query-By-Example (QBE) : QBE is a query language based on domain calculus and has two dimensional syntax. The queries are written in the horizontal and vertical dimensions of table. Queries are formed by entering an example of a possible answer in a skeleton table as shown in the following diagram:
|
Relation on Name |
Attribute_name |
Atrtribute_name2 |
|
Attribute_name |
|
|
|
|
|
|