Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

SCHOOL OF COMPUTING

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING


Academic Year: 2020-21
Course Code: 1151CS107 Semester: Winter Course Title: Database Management System
Slot: S9 Assignment-II Course Handling Faculty: Sriraman K
CO Course Outcomes Level of
Nos. learning domain
CO3 Apply normalization for the given database application. K3

CO4 Illustrate the properties of transaction and recovery K2


management.

CO5 Identifies the concept of physical storage media and K2


various types of databases.
/

Batch Task/ Case Study Name Register Numbers


SNo Task/Case study Name Registered numbers

1 Painter Problem -1 11304, 11548, 11839, 15872

2 Painter Problem -2 11868, 13103, 14063, 15799

3 Company Finance 15942, 16249, 15801, 15802,

4 Password 12702, 12750, 12999, 15915

5 Well Meadows Hospital-5 13008, 13104, 13410, 15725

6 Well Meadows Hospital-6 13417, 13429, 13446, 15735

7 Employee-Manager Outperform 13469, 13676, 13746

8 Parts 13748, 13770, 13803, 15795

9 EDP-Budget Optimizer-1 13830, 13834, 14016

10 EDP-Budget Optimizer-2 14019, 14080, 14805

11 EDP-Budget Optimizer-3A 14872, 14878, 15207, 15780

12 EDP-Budget Optimizer-3B 14065, 15193, 15803, 15709

13 EDP-Uniformity Budget 15259, 15532, 15645, 15800

Page 1 of 11
Group-1: Painter Problem -1
You are a painter and have an Internet store where you sell your paintings directly to the
public. You would like customers to pay for their purchases with credit cards, and wish to
ensure that these electronic transactions are secure.
1. Assume that you would like Mary to be able to verify that all your email messages are
really sent from you. On what basis the authentication is being issued for? CO3- K3
2. How can you authenticate your messages without encrypting the actual text? CO4- K2
3. Assume that your customers can also negotiate the price of certain paintings and
assume that Mary wants to negotiate the price of your painting of the Madison Terrace.
You would like the text of this communication to be private between you and Mary.
Explain the advantages and disadvantages of different methods of encrypting your
communication with Mary. CO5- K2

Group-2: Painter Problem -2


You are a painter and have an Internet store where you sell your paintings directly to the
public. You would like customers to pay for their purchases with credit cards, and wish to
ensure that these electronic transactions are secure.
Assume that Mary wants to purchase your recent painting of the Cornell Uris
Library. Answer the following questions.
1. How can you ensure that the user who is purchasing the painting is really Mary? CO3- K3
2. Explain how SSL ensures that the communication of credit card number is secure. CO4- K2
3. What is the role of a certification authority in this case? Explain. CO5- K2

Group-3:Company Finance
Consider the following relational schema and SQL query. The schema captures information
about employees, departments, and company finances (organized on a per department basis).
Emp(eid: integer, did: integer, sal: integer, hobby: char(20))
Dept(did: integer, dname: char(20), floor: integer, phone: char(10))
Finance(did: integer, budget: real, sales: real, expenses: real)
Consider the following query:
SELECT D.dname, F.budget FROM Emp E, Dept D, Finance F
WHERE E.did=D.did AND D.did=F.did AND D.floor=1
AND E.sal ≥ 59000 AND E.hobby = ‘yodeling’
1. List the join orders (i.e., orders in which pairs of relations can be joined to compute the
query result) that a relational query optimizer will consider. (Assume that the optimizer
follows the heuristic of never considering plans that require the computation of cross-products.)
Briefly explain how you arrived at your list. CO3- K3
2. Suppose that the following additional information is available: Unclustered B+ tree
indexes exist on Emp.did, Emp.sal, Dept.floor, Dept.did, and Finance.did. CO5- K2
The system’s statistics indicate that employee salaries range from 10,000 to 60,000,
employees enjoy 200 different hobbies, and the company owns two floors in the building.
There are a total of 50,000 employees and 5,000 departments (each with corresponding
financial information) in the database. The DBMS used by the company has just one join
method available, index nested loops.
(a) For each of the query’s base relations (Emp, Dept, and Finance) estimate the number of
tuples that would be initially selected from that relation if all of the non-join predicates on
that relation were applied to it before any join processing begins. CO4- K2
(b) Given your answer to the preceding question, which of the join orders considered by the
optimizer has the lowest estimated cost? CO4- K2

Page 2 of 11
Group-4: Password
Write a simple authentication mechanism (without using encrypted transfer of passwords, for
simplicity). We say a user is authenticated if she has provided a valid username-password
combination to the system; otherwise, we say the user is not authenticated. Assume for
simplicity that you have a database schema that stores only a customer id and a password:
Passwords(cid: integer, username: string, password: string)
1. How and where are you going to track when a user is ‘logged on’ to the system? CO3- K3
2. Design a page that allows a registered user to log on to the system. CO4- K2
3. Design a page header that checks whether the user visiting this page is logged in. CO5- K2

Group-5: Well Meadows Hospital-5


The Wellmeadows Hospital specializes in the provision of health care for elderly people.
Listed below is a description of the data recorded, maintained, and accessed by the hospital
staff to support the management and day-to-day operations of the Wellmeadows Hospital.
Wards
The Wellmeadows Hospital has 17 wards with a total of 240 beds available for short
and long-stay patients, and an outpatient clinic. Each ward is uniquely identified by a number
(for example, ward 11) and also a ward name (for example, Orthopaedic), location (for
example, E Block), total number of beds, and telephone extension number (for example, Extn
7711).
Staff
The Wellmeadows Hospital has a Medical Director, who has overall responsibility for
the management of the hospital. The Medical Director maintains control over the use of the
hospital resources (including staff, beds, and supplies) in the provision of cost-effective
treatment for all patients.
The Wellmeadows Hospital has a Personnel Officer who is responsible for ensuring
that the appropriate number and type of staff are allocated to each ward and the out-patient
clinic. The information stored on each member of staff includes a staff number, name (first
and last), full address, telephone number, date of birth, sex, National Insurance number (NIN),
position held, current salary, and salary scale. It also includes each member’s qualifications
(which includes date of qualification, type, and name of institution), and work experience
details (which includes the name of the organization, position, and start and finish dates).
The type of employment contract for each member of staff is also recorded, including
the number of hours worked per week, whether the member of staff is on a permanent or
temporary contract, and the type of salary payment (weekly/monthly). An example of a
Wellmeadows Hospital form used to record the details of a member of staff called Moira
Samuel working in ward 11 is shown in Figure B.1.

Page 3 of 11
Each ward and the outpatient clinic has a member of staff with the position of Charge Nurse.
The Charge Nurse is responsible for overseeing the day-to-day operation of the
ward/clinic. The Charge Nurse is allocated a budget to run the ward and must ensure that all
resources (staff, beds, and supplies) are used effectively in the care of patients.
The Medical Director works closely with the Charge Nurses to ensure the efficient
running of the hospital.
A Charge Nurse is responsible for setting up a weekly staff rota, and must ensure that the
ward/clinic has the correct number and type of staff on duty at any time during the day or
night. In a given week, each member of staff is assigned to work an early, late, or night shift.
As well as the Charge Nurse, each ward is allocated senior and junior nurses, doctors
and auxiliaries. Specialist staff (for example, consultants, physiotherapists) are allocated to
several wards or the clinic. An example of a Wellmeadows Hospital report listing the details
of the staff allocated to ward 11 is shown in Figure B.2.

Page 4 of 11
The following transactions are undertaken to ensure that the appropriate information is
available to enable the staff to manage and oversee the day-to-day running of the
Wellmeadows Hospital. Each transaction is associated with a specific function within the
hospital. These functions are the responsibility of members of staff with particular job titles
(positions). The main user or group of users of each transaction is given in brackets at the end
of the description of each transaction.
(a) Create and maintain records recording the details of members of staff (Personnel Officer)
with normalized databases CO3-K3
(b) Search for staff who have particular qualifications or previous work experience
(Personnel Officer) by optimizing transaction of search query CO4-K2
(c) Produce a report listing the details of staff allocated to each ward (Personnel Officer and
Charge Nurse).

Use Oracle/VB or Oracle/Java Forms and Reports to fulfil the requirements of hospital as a
database engineer. CO5- K2

Group-6: Well Meadows Hospital-6


The Wellmeadows Hospital specializes in the provision of health care for elderly people.
Listed below is a description of the data recorded, maintained, and accessed by the hospital
staff to support the management and day-to-day operations of the Wellmeadows Hospital.
Wards
The Wellmeadows Hospital has 17 wards with a total of 240 beds available for short
and long-stay patients, and an outpatient clinic. Each ward is uniquely identified by a number
(for example, ward 11) and also a ward name (for example, Orthopaedic), location (for
example, E Block), total number of beds, and telephone extension number (for example, Extn
7711).
Staff
The Wellmeadows Hospital has a Medical Director, who has overall responsibility for
the management of the hospital. The Medical Director maintains control over the use of the
hospital resources (including staff, beds, and supplies) in the provision of cost-effective
treatment for all patients.
The Wellmeadows Hospital has a Personnel Officer who is responsible for ensuring
that the appropriate number and type of staff are allocated to each ward and the out-patient

Page 5 of 11
clinic. The information stored on each member of staff includes a staff number, name (first
and last), full address, telephone number, date of birth, sex, National Insurance number (NIN),
position held, current salary, and salary scale. It also includes each member’s qualifications
(which includes date of qualification, type, and name of institution), and work
experience details (which includes the name of the organization, position, and start and finish
dates).
The type of employment contract for each member of staff is also recorded, including
the number of hours worked per week, whether the member of staff is on a permanent or
temporary contract, and the type of salary payment (weekly/monthly). An example of a
Wellmeadows Hospital form used to record the details of a member of staff called Moira
Samuel working in ward 11 is shown in Figure B.1.

Each ward and the outpatient clinic has a member of staff with the position of Charge Nurse.
The Charge Nurse is responsible for overseeing the day-to-day operation of the
ward/clinic. The Charge Nurse is allocated a budget to run the ward and must ensure that all
resources (staff, beds, and supplies) are used effectively in the care of patients.
The Medical Director works closely with the Charge Nurses to ensure the efficient

Page 6 of 11
running of the hospital.
A Charge Nurse is responsible for setting up a weekly staff rota, and must ensure that the
ward/clinic has the correct number and type of staff on duty at any time during the day or
night. In a given week, each member of staff is assigned to work an early, late, or night shift.
As well as the Charge Nurse, each ward is allocated senior and junior nurses, doctors
and auxiliaries. Specialist staff (for example, consultants, physiotherapists) are allocated to
several wards or the clinic. An example of a Wellmeadows Hospital report listing the details
of the staff allocated to ward 11 is shown in Figure B.2.

The following transactions are undertaken to ensure that the appropriate information is
available to enable the staff to manage and oversee the day-to-day running of the
Wellmeadows Hospital. Each transaction is associated with a specific function within the
hospital. These functions are the responsibility of members of staff with particular job titles
(positions). The main user or group of users of each transaction is given in brackets at the end
of the description of each transaction.
(a) Create and maintain records recording the details of members of staff (Personnel Officer)
with normalized databases CO3-K3
(b) Search for staff who have particular qualifications or previous work experience
(Personnel Officer) by optimizing transaction of search query CO4-K2
(c) Produce a report listing the details of staff allocated to each ward (Personnel Officer and
Charge Nurse). Use XML/semistructural Reports to fulfil the requirements of hospital as a
database engineer. CO5- K2

Group-7: Employee-Manager Outperform


Consider two ways to compute the names of employees who earn more than $100,000
and whose age is equal to their manager’s age.
First, a nested query:
SELECT E1.ename FROM Emp E1 WHERE E1.sal > 100 AND E1.age = ( SELECT
E2.age FROM Emp E2, Dept D2 WHERE E1.dname = D2.dname AND D2.mgr = E2.ename
)

Second, a query that uses a view definition:


SELECT E1.ename FROM Emp E1, MgrAge A WHERE E1.dname = A.dname AND
E1.sal > 100 AND E1.age = A.age

Page 7 of 11
CREATE VIEW MgrAge (dname, age) AS SELECT D.dname, E.age FROM Emp E,
Dept D WHERE D.mgr = E.ename;
1. Describe a situation in which the first query is likely to outperform the second query.
2.Describe a situation in which the second query is likely to outperform the first query.
3. Can you construct an equivalent query that is likely to beat both these queries when every
employee who earns more than $100,000 is either 35 or 40 years old? Explain briefly.
CO3- K3, CO4- K2
4. Is it Solvable with XML type structure databases? If so, how? CO5-K2

Group-8: Parts
Consider the following BCNF relation, which lists the ids, types (e.g., nuts or bolts),
and costs of various parts, along with the number available or in stock:
Parts (pid, pname, cost, num avail)
You are told that the following two queries are extremely important:
Find the total number available by part type, for all types. (That is, the sum of the num avail
value of all nuts, the sum of the num avail value of all bolts, and so forth) List the pids of parts
with the highest cost.
1. Describe the physical design that you would choose for this relation. That is, what kind of
a file structure would you choose for the set of Parts records, and what indexes would you
create? O4- K2,CO5- K2 2. Suppose your customers subsequently complain that performance
is still not satisfactory (given the indexes and file organization you chose for the Parts relation
in response to the previous question). Since you cannot afford to buy new hardwareor
software, you have to consider a schema redesign. Explain how you would try to obtain better
performance by describing the schema for the relation(s) that you would use and your choice
of file organizations and indexes on these relations. CO4- K2, CO5- K2 3. How would your
answers to the two questions change, if at all, if your system did not support indexes with
multiple-attribute search keys? CO5- K2

Group-9: EDP-Budget Optimizer-1


Consider the following scenario:
Emp(eid: integer, sal: integer, age: real, did: integer)
Dept(did: integer, projid: integer, budget: real, status: char(10))
Proj(projid: integer, code: integer, report: varchar)
Assume that each Emp record is 20 bytes long, each Dept record is 40 bytes long, and
each Proj record is 2000 bytes long on average. There are 20,000 tuples in Emp, 5000 tuples
in Dept (note that did is not a key), and 1000 tuples in Proj. Each department, identified by
did, has 10 projects on average. The file system supports 4000 byte pages, and 12 buffer
pages are available. All following questions are based on this information.
You can assume uniform distribution of values. State any additional assumptions. The
cost metric to use is the number of page I/Os. Ignore the cost of writing out the final result.
Consider the following query:
SELECT *
FROM Emp E, Dept D
WHERE E.did=D.did
(a) Suppose that there is a clustered hash index on did on Emp. List all the plans that are
considered and identify the plan with the lowest estimated cost. CO4-K2
(b) Assume that both relations are sorted on the join column. List all the plans that are consi-
dered.Query and show theplan with the lowest estimated cost with query in 4NF.CO3-K3
(c) Suppose that there is a clustered B+ tree index on did on Emp and Dept is sorted on did.
List all the plans that are considered and identify the plan with the lowest estimated cost.
CO5- K2

Page 8 of 11
Group-10: EDP-Budget Optimizer-2
Consider the following scenario:
Emp(eid: integer, sal: integer, age: real, did: integer)
Dept(did: integer, projid: integer, budget: real, status: char(10))
Proj(projid: integer, code: integer, report: varchar)
Assume that each Emp record is 20 bytes long, each Dept record is 40 bytes long, and
each Proj record is 2000 bytes long on average. There are 20,000 tuples in Emp, 5000 tuples
in Dept (note that did is not a key), and 1000 tuples in Proj. Each department, identified by
did, has 10 projects on average. The file system supports 4000 byte pages, and 12 buffer
pages are available. All following questions are based on this information.
You can assume uniform distribution of values. State any additional assumptions. The
cost metric to use is the number of page I/Os. Ignore the cost of writing out the final result.
Consider the following query:
SELECT D.did, COUNT(*)
FROM Dept D, Proj P
WHERE D.projid=P.projid
GROUP BY D.did
(a) Suppose that no indexes are available. Query and Show the plan with the lowest estimated
cost. CO3-K3
(b) If there is a hash index on P.projid what is the plan with lowest estimated cost?
(c) If there is a hash index on D.projid what is the plan with lowest estimated cost?
(d) If there is a hash index on D.projid and P.projid what is the plan with lowest estimated
cost?
(e) Suppose that there is a clustered B+ tree index on D.did and a hash index on P.projid.
Show the plan with the lowest estimated cost.
(f) Suppose that there is a clustered B+ tree index on D.did, a hash index on D.projid, and a
hash index on P.projid. Show the plan with the lowest estimated cost.
(g) Suppose that there is a clustered B+ tree index on _D.did, D.projid_ and a hash index on
P.projid. Show the plan with the lowest estimated cost.
(h) Suppose that there is a clustered B+ tree index on _D.projid, D.did_ and a hash index on
P.projid. Show the plan with the lowest estimated cost. CO4- K2, CO5- K2

Group-11: EDP-Budget Optimizer-3A


Consider the following scenario:
Emp(eid: integer, sal: integer, age: real, did: integer)
Dept(did: integer, projid: integer, budget: real, status: char(10))
Proj(projid: integer, code: integer, report: varchar)
Assume that each Emp record is 20 bytes long, each Dept record is 40 bytes long, and
each Proj record is 2000 bytes long on average. There are 20,000 tuples in Emp, 5000 tuples
in Dept (note that did is not a key), and 1000 tuples in Proj. Each department, identified by
did, has 10 projects on average. The file system supports 4000 byte pages, and 12 buffer
pages are available. All following questions are based on this information.
You can assume uniform distribution of values. State any additional assumptions. The
cost metric to use is the number of page I/Os. Ignore the cost of writing out the final result.
Consider the following query:
SELECT D.did, COUNT(*)
FROM Dept D, Proj P
WHERE D.projid=P.projid AND D.budget>99000
GROUP BY D.did

Page 9 of 11
Assume that department budgets are uniformly distributed in the range 0 to 100,000.
(a) Query and Show the plan with lowest estimated cost if no indexes are available. CO3-K3
(b) If there is a hash index on P.projid show the plan with lowest estimated cost.
(c) If there is a hash index on D.budget show the plan with lowest estimated cost.
(d) If there is a hash index on D.projid and D.budget show the plan with lowest estimated
cost.
(e) Suppose that there is a clustered B+ tree index on _D.did,D.budget_ and a hash index on
P.projid. Show the plan with the lowest estimated cost.
(f) Suppose there is a clustered B+ tree index on D.did, a hash index on D.budget, and a hash
index on P.projid. Show the plan with the lowest estimated cost. CO4- K2, CO5- K2

Group-12: EDP-Budget Optimizer-3B


Consider the following scenario:
Emp(eid: integer, sal: integer, age: real, did: integer)
Dept(did: integer, projid: integer, budget: real, status: char(10))
Proj(projid: integer, code: integer, report: varchar)
Assume that each Emp record is 20 bytes long, each Dept record is 40 bytes long, and
each Proj record is 2000 bytes long on average. There are 20,000 tuples in Emp, 5000 tuples
in Dept (note that did is not a key), and 1000 tuples in Proj. Each department, identified by
did, has 10 projects on average. The file system supports 4000 byte pages, and 12 buffer
pages are available. All following questions are based on this information.
You can assume uniform distribution of values. State any additional assumptions. The
cost metric to use is the number of page I/Os. Ignore the cost of writing out the final result.
Consider the following query:
SELECT D.did, COUNT(*)
FROM Dept D, Proj P
WHERE D.projid=P.projid AND D.budget>99000
GROUP BY D.did
Assume that department budgets are uniformly distributed in the range 0 to 100,000.
(a) Query the above in BCNF and show the low estimated plans CO3-K3
(b) If there is a hash index on P.projid show the plan with lowest estimated cost.
(c) If there is a hash index on D.budget show the plan with lowest estimated cost.
(d) If there is a hash index on D.projid and D.budget show the plan with lowest estimated
cost.
(e) Suppose there is a clustered B+ tree index on _D.did, D.budget, D.projid_ and a hash
index on P.projid. Show the plan with the lowest estimated cost.
(f) Suppose there is a clustered B+ tree index on _D.did, D.projid, D.budget_ and a hash
index on P.projid. Show the plan with the lowest estimated cost. CO4- K2, CO5- K2

Group-13:EDP-Uniformity Budget
Consider the following scenario:
Emp(eid: integer, sal: integer, age: real, did: integer)
Dept(did: integer, projid: integer, budget: real, status: char(10))
Proj(projid: integer, code: integer, report: varchar)
Assume that each Emp record is 20 bytes long, each Dept record is 40 bytes long, and
each Proj record is 2000 bytes long on average. There are 20,000 tuples in Emp, 5000 tuples
in Dept (note that did is not a key), and 1000 tuples in Proj. Each department, identified by
did, has 10 projects on average. The file system supports 4000 byte pages, and 12 buffer
pages are available. All following questions are based on this information.
You can assume uniform distribution of values. State any additional assumptions. The

Page 10 of 11
cost metric to use is the number of page I/Os. Ignore the cost of writing out the final result.
Consider the following query:
SELECT E.eid, D.did, P.projid
FROM Emp E, Dept D, Proj P
WHERE E.sal=50,000 AND D.budget>20,000
E.did=D.did AND D.projid=P.projid
Assume that employee salaries are uniformly distributed in the range 10,009 to 110,008 and
that project budgets are uniformly distributed in the range 10,000 to 30,000. There is a
clustered index on sal for Emp, a clustered index on did for Dept, and a clustered index on
projid for Proj.
(a) List all the one-relation, two-relation, and three-relation subplans considered in
optimizing this query.
(b) Show the plan with the lowest estimated cost for this query.
(c) If the index on Proj were unclustered, would the cost of the preceding plan change
substantially?
(d) in( c)What if the index on Emp or on Dept were unclustered? CO4- K2,CO5-K2
(e ) Query the above and prove dependency is not preserved. CO3-K3

Page 11 of 11

You might also like