COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando...

35
COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna

Transcript of COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando...

Page 1: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

COP4540 Database Management SystemMidterm Review

Reviewed by

Ramakrishna

Slides created by Fernando & edited by Ramakrishna

Page 2: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

AGENDA

Ch1. Overview of DBMSs Ch2. Database Design Ch3. Relational Model Ch4. Relational Algebra Ch19. Normal Forms Ch5. SQL

Page 3: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

AGENDA

Ch1. Overview of DBMSs Ch2. Database Design Ch3. Relational Model Ch4. Relational Algebra Ch19. Normal Forms Ch5. SQL

Page 4: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH1 EXERCISES 1.4. Explain the difference between external, internal, and

conceptual schemas. How are these different schema layers related to the concepts of logical and physical data independence?

External schemas: Allow data access to be customized at the level of individual users

or groups of users using different VIEWS of the same conceptual schema.

Views are not stored in DBMS but they generated on-demand. In the data model of DBMS.

Conceptual (logical) schemas: Describes all the data in terms of the data model. In a relational

DBMS, it describes all relations stored. While there are several views for a given database, there is exactly

one conceptual schema to all users. Internal (physical) schemas:

Describes how the relations described in the conceptual schema are actually stored on disk (or other physical media).

Page 5: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH1 EXERCISES Logical Data Independence

Protection from changes in Logical Structure of Data (The Conceptual Schema)

Provided by External Schema (Views) Physical Data Independence

Protection from changes in Physical Structure of Data

Provided by Conceptual Schema

Page 6: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

AGENDA

Ch1. Overview of DBMSs Ch2. Database Design Ch3. Relational Model Ch4. Relational Algebra Ch19. Normal Forms Ch5. SQL

Page 7: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH2 EXERCISES 2.2. A university database contains information

about professors (id. by SSN) and courses (id. by courseid). Professors teach courses; each of the following situations concerns the Teaches relationship set. For each situation, draw an ER diagram that describes it (assuming no further constraints hold).

1. Professors can teach the same course in several semesters, and each offering must be recorded.

Page 8: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH2 EXERCISES

2.2. CONT…

2. Professors can teach the same course in several semesters, and only the most recent such offering needs to be recorded. (Assume this condition applies in all subsequent questions.)

Page 9: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH2 EXERCISES

2.2. CONT…

3. Every professor must teach some course.

Page 10: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH2 EXERCISES

2.2. CONT… 4. Every professor teaches exactly one course (no more, no

less).

Page 11: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH2 EXERCISES

2.2. CONT…

5. Every professor teaches exactly one course (no more, no less), and every course must be taught by some professor.

Page 12: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH2 EXERCISES

2.2. CONT…

6. Certain courses can be taught by a team of professors jointly, but it is possible that no one professor in a team can teach the course. Model this situation, introducing additional entity sets and relationship sets if necessary.

Page 13: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH2 EXERCISES

2.4

A company database needs to store information about employees (identified by ssn, with salary and phone as attributes),departments (identified by dno, with dname and budget as attributes),and children of employees (with name and age as attributes).Employees work in departments; each department is managed by anemployee; a child must be identified uniquely by name when the parent(who is an employee; assume that only one parent works for thecompany) is known. We are not interested in information about a childonce the parent leaves the company.

Page 14: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH2 EXERCISES

Page 15: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

AGENDA

Ch1. Overview of DBMSs Ch2. Database Design Ch3. Relational Model & SQL Ch4. Relational Algebra Ch19. Normal Forms Ch5. SQL

Page 16: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH3 EXERCISES

3.2. How many distinct tuples are in a relation instance with cardinality 22?Since a relation is formally defined as a set of

tuples, if the cardinality is 22 (i.e., there are 22 tuples), there must be 22 distinct tuples.

Page 17: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH3 EXERCISES

3.4. What is the difference between a candidate key and the primary key for a given relation? What is a superkey?The primary key is the key selected by the

DBA from among the group of candidate keys, all of which uniquely identify a tuple. A superkey is a set of attributes that contains a key.

Page 18: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH3 EXERCISES 3.8. Answer each of the following questions briefly. The

questions are based on the following relational schema:Emp(eid: integer, ename: string, age: integer, salary:

real)Works(eid: integer, did: integer, pcttime: integer)Dept(did: integer, dname: string, budget: real,

managerid: integer)

1. Give an example of a foreign key constraint that involves the Dept relation. What are the options for enforcing this constraint when a user attempts to delete a Dept tuple?

Consider the following example. It is natural to require that the did field of Works should be a foreign key, and refer to Dept.

CREATE TABLE Works ( eid INTEGER NOT NULL ,did INTEGER NOT NULL ,pcttime INTEGER,PRIMARY KEY (eid, did),FOREIGN KEY (did) REFERENCES Dept )

Page 19: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH3 EXERCISES

OPTIONS for maintaining referential integrityON DELETE { CASCADE, SET DEFAULT,

SET NULL, NO ACTION}

ON UPDATE { CASCADE, SET DEFAULT, SET NULL, NO ACTION}

Page 20: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH3 EXERCISES

3.8. 2. Write the SQL statements required to create the preceding relations, including appropriate versions of all primary and foreign key integrity constraints.

CREATE TABLE Emp (

eid INTEGER,

ename CHAR(10),

age INTEGER,

salary REAL,

PRIMARY KEY (eid)

)

CREATE TABLE Works (

eid INTEGER,

did INTEGER,

pcttime INTEGER,

PRIMARY KEY (eid, did),

FOREIGN KEY (did) REFERENCES Dept,

FOREIGN KEY (eid) REFERENCES Emp,

ON DELETE CASCADE

)

CREATE TABLE Dept (

did INTEGER,

budget REAL,

managerid INTEGER ,

PRIMARY KEY (did),

FOREIGN KEY (managerid) REFERENCES Emp,

ON DELETE SET NULL

)

Page 21: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH3 EXERCISES

3.8. 3. Define the Dept relation in SQL so that every department is guaranteed to have a manager. CREATE TABLE Dept (

did INTEGER, budget REAL, managerid INTEGER NOT NULL , PRIMARY KEY (did), FOREIGN KEY (managerid) REFERENCES Emp)

Page 22: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH3 EXERCISES

3.8.4. Write an SQL statement to add John Doe as an employee with eid = 101, age = 32 and salary = 15, 000. INSERT INTO Emp (eid, ename, age, salary)

VALUES (101, ’John Doe’, 32, 15000)

Page 23: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH3 EXERCISES

3.8.5. Write an SQL statement to give every employee a 10 percent raise.UPDATE Emp E

SET E.salary = E.salary * 1.10

Page 24: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH3 EXERCISES

3.8.6. Write an SQL statement to delete the Toy department. Given the referential integrity constraints you chose for this schema, explain what happens when this statement is executed. DELETE

FROM Dept DWHERE D.dname = ’Toy’

Page 25: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH5 EXERCISES 5.2. Consider the following schema:

Suppliers(sid: integer, sname: string, address: string)Parts(pid: integer, pname: string, color: string)Catalog(sid: integer, pid: integer, cost: real)

The Catalog relation lists the prices charged for parts by Suppliers. Write the following queries in SQL:

1. Find the pnames of parts for which there is some supplier. SELECT DISTINCT P.pname

FROM Parts P, Catalog CWHERE P.pid = C.pid

5. Find the sids of suppliers who charge more for some part than the average cost of that part (averaged over all the suppliers who supply that part).

SELECT DISTINCT C.sidFROM Catalog CWHERE C.cost > ( SELECT AVG (C1.cost)

FROM Catalog C1WHERE C1.pid = C.pid )

Page 26: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH5 EXERCISES8. Find the sids of Suppliers who supply a red parts and a green

partSELECT DISTINCT C.sidFROM Catalog C, Parts PWHERE C.pid = P.pid AND P.color = ‘Red’INTERSECTSELECT DISTINCT C1.sidFROM Catalog C1, Parts P1WHERE C1.pid = P1.pid AND P1.color = ‘Green’

9. Find the sids of Suppliers who supply a red parts or a green part

SELECT DISTINCT C.sid FROM Catalog C, Parts P WHERE C.pid = P.pid AND P.color = ‘Red’ UNIONSELECT DISTINCT C1.sid FROM Catalog C1, Parts P1WHERE C1.pid = P1.pid AND P1.color = ‘Green’

Page 27: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

AGENDA

Ch1. Overview of DBMSs Ch2. Database Design Ch3. Relational Model Ch4. Relational Algebra Ch19. Normal Forms Ch5. SQL

Page 28: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH4 EXERCISES 4.2. Given two relations R1 and R2, where R1 contains N1

tuples, R2 contains N2 tuples, and N2 > N1 > 0, give the min and max possible sizes for the resulting relational algebra expressions:(1) R1UR2, (2) R1∩R2, (3) R1−R2, (4) R1×R2, (5) σa=5(R1), and (6) πa(R1)

Page 29: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH4 EXERCISES 4.4. Consider the Supplier-Parts-Catalog schema from the

previous question. State what the following queries compute:

Find the Supplier names of the suppliers who supply a red part that costs less

than 100 dollars.

This Relational Algebra statement does not return anything

Find the Supplier names of the suppliers who supply a red part that costs less

than 100 dollars and a green part that costs less than 100 dollars.

Page 30: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH4 EXERCISES

4.4. Consider the Supplier-Parts-Catalog schema from the previous question. State what the following queries compute:

Find the Supplier ids of the suppliers who supply a red part that costs less than

100 dollars and a green part that costs less than 100 dollars.

Find the Supplier names of the suppliers who supply a red part that costs less

than 100 dollars and a green part that costs less than 100 dollars.

Page 31: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH4 EXERCISES

4.6. What is relational completeness? If a query language is relationally complete, can you write any desired query in that language?Relational completeness means that a query

language can express all the queries that can be expressed in relational algebra. It does not mean that the language can express any desired query.

Page 32: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

AGENDA

Ch1. Overview of DBMSs Ch2. Database Design Ch3. Relational Model Ch4. Relational Algebra Ch19. Normal Forms Ch5. SQL

Page 33: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH19 EXERCISESA relation R is in third normal form if forevery functional dependency of the form X A one of the following statements is true: A Є X that is, A is a trivial functional

dependency , or (1) X is a superkey, or (2) A is part of some key for R (3)

A relation R is in BCNF if (1) or (2)

Page 34: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

CH19 EXERCISES

19.2. Consider a relation R with five attributes ABCDE. You are given the following dependencies: A → B, BC → E, and ED → A.

1. List all keys for R. CDE, ACD, BCD

2. Is R in 3NF? R is in 3NF because B, E and A are all parts of keys.

3. Is R in BCNF? R is not in BCNF because none of A, BC and ED

contain a key.

Page 35: COP4540 Database Management System Midterm Review Reviewed by Ramakrishna Slides created by Fernando & edited by Ramakrishna.

GOOD LUCK!!

RAMAKRISHNA

[email protected] 234