ER Exercises
ER Exercises
We consider a library that contains books that can be borrowed. A book is characterized
by a unique number, a title, an author and a publisher. In addition, we describe a book by
a number of keywords that indicate the treated subjects. The library has one or more
copies of each book; the copy is identified by a number and characterized by its position
on the shelves and the date of purchase. A copy can be borrowed by a borrower. This
latter is identified by a borrower number and has a name and an address.
Draw the ER-Diagram corresponding to the above scenario, show the weak entities and
the key constraints (cardinalities).
Question 2:
Alice has a large DVD movie collection. Her friends like to borrow her DVD's, and she
needs a way to keep track of who has what. She maintains a list of friends, identified by
unique FID's (friend identifiers) and a list of DVD's, identified by DVDID's (DVD
identifiers). With each friend has a name and all-important telephone numbers on
which she can call to get the DVD back. With each DVD has the star actor name and title.
Whenever a friend borrows a DVD, Alice will enter that fact into her database along with
the date borrowed. Whenever the DVD gets returned, that fact too, gets noted along
with the date returned.
Question 3:
Construct the E/R diagram for “Zaatar w Zeit” restaurant. The database contains
employees, items, deliveries and customers.
Each employee has information regarding his/her name, family name, ID, salary, date
of birth, and address.
Each item has a unique name (example: chicken burger), description and price.
Each delivery has an id and a weight.
Each customer has a name, address and an ID.
The delivery is composed of one or several items.
An employee can do two things: retrieves as many items as he/she wants, while an
item can be retrieved by 1 employee.
The employee also makes deliveries, while a delivery can be made by 1 employee.
A customer can order items and can ask for deliveries.
Hint: you should show the entities, attributes, relations (with names) and
cardinalities.
Question 4:
You work in the administration of a university and you want to create a database that
schedules the classrooms for the final exams. The database can be simply modeled as a
single entity set exam, with the following attributes: course-name, section-number,
room-number, and time-slot.
Another way is to add more entity sets with the necessary relationship sets, and replace
some of the exam set attributes with them. The added entity are related to the courses,
rooms and sections. Each course have a name attribute, department and unique course
number. The course will be divided into sections, depending on the number of students.
Each section has the properties section number, Student number, in addition to the
course-number. The exam will be in a room. The students need to know in which
building and in which room is the exam. Also, in order to well distribute the students,
the capacity of a room should be yielded.
a) Show the complete E-R diagram illustrating the use of all the entity sets listed
above.
b) How many weak entity are in your ER diagram?
c) Explain the need to include the new entity sets, and in which case there is no
need for that.
Question 5:
A university database contains information about professors (identified by social
security number, or SSN) and courses (identified 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.
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.)
3. Every professor must teach some course.
4. Every professor teaches exactly one course (no more, no less).
5. Every professor teaches exactly one course (no more, no less), and every course
must be taught by some professor.
6. Now suppose that 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.
Question 6:
Consider the following information about a university database:
d) Professors have an SSN, a name, an age, a rank, and a research specialty.
e) Projects have a project number, a sponsor name (e.g., NSF), a starting date, an
ending date, and a budget.
f) Graduate students have an SSN, a name, an age, and a degree program (e.g.,
M.S.or Ph.D.).
g) Each project is managed by one professor (known as the project’s principal
investigator).
h) Each project is worked on by one or more professors (known as the project’s co-
investigators).
i) Professors can manage and/or work on multiple projects.
j) Each project is worked on by one or more graduate students (known as the
project’s research assistants).
k) When graduate students work on a project, a professor must supervise their
work on the project. Graduate students can work on multiple projects, in which
case they will have a (potentially different) supervisor for each one.
l) Departments have a department number, a department name, and a main
office.
m) Departments have a professor (known as the chairman) who runs the
department.
n) Professors work in one or more departments, and for each department that they
work in, a time percentage is associated with their job.
o) Graduate students have one major department in which they are working on
their degree.
p) Each graduate student has another, more senior graduate student (known as a
student advisor) who advises him or her on what courses to take.
Design and draw an ER diagram that captures the information about the university.
Use only the basic ER model here; that is, entities, relationships, and attributes. Be sure
to indicate any key and participation constraints.
Question 7:
The Prescriptions-R-X chain of pharmacies has offered to give you a free lifetime supply
of medicine if you design its database. Given the rising cost of health care, you agree.
Here’s the information that you gather:
Patients are identified by an SSN, and their names, addresses, and ages must be
recorded.
Doctors are identified by an SSN. For each doctor, the name, specialty, and years
of experience must be recorded.
Each pharmaceutical company is identified by name and has a phone number.
For each drug, the trade name and formula must be recorded. Each drug is sold
by a given pharmaceutical company, and the trade name identifies a drug
uniquely from among the products of that company. If a pharmaceutical
company is deleted, you need not keep track of its products any longer.
Each pharmacy has a name, address, and phone number.
Every patient has a primary physician. Every doctor has at least one patient.
Each pharmacy sells several drugs and has a price for each. A drug could be sold
at several pharmacies, and the price could vary from one pharmacy to another.
Doctors prescribe drugs for patients. A doctor could prescribe one or more drugs
for several patients, and a patient could obtain prescriptions from several
doctors.
Each prescription has a date and a quantity associated with it. You can assume
that, if a doctor prescribes the same drug for the same patient more than once,
only the last such prescription needs to be stored.
Pharmaceutical companies have long-term contracts with pharmacies. A
pharmaceutical company can contract with several pharmacies, and a pharmacy
can contract with several pharmaceutical companies. For each contract, you
have to store a start date, an end date, and the text of the contract.
Pharmacies appoint a supervisor for each contract. There must always be a
supervisor for each contract, but the contract supervisor can change over the
lifetime of the contract.
1. Draw an ER diagram that captures the preceding information. Identify any
constraints not captured by the ER diagram.
2. How would your design change if each drug must be sold at a fixed price by all
pharmacies?
3. How would your design change if the design requirements change as follows: If a
doctor prescribes the same drug for the same patient more than once, several such
prescriptions may have to be stored