You are on page 1of 3

Database Design- ER Modeling

Exercise 1
We need to design a database to save information about Airline Company Database. Here is the gathered
information:

• An airplane has a registration number, a type and localization. Every airplane type is described by
his name (Boeing 747, Airbus A340 …), his weight, his capacity and his action zone.
• A technician of the company is characterized by a name, an identifier (ID), an address, a phone
number, a salary, and he is expert on one type of airplane or more during a given period (start
date and end date).
• A pilot has the same attributes as the technician, in addition to number of years of experience.
• Every airplane must pass a number of functional tests.
• Every test has a number as identifier, a name and a value. We need to save the date and the state
of every test.
• Every flight is commanded by only one pilot and concerns a specific airplane. A flight has a
departure city, an arrival city, a departure time, and an arrival time.
Question: Draw an ER diagram that captures the above information. Note any unspecified requirements,
and make appropriate assumptions to make the specification complete.

Exercise 2
We need to design a database to save information about medical prescriptions. Here is the
gathered information:
• Patients are identified by a NIN (National Identity Number), and for each patient, the
name, address, and age must be recorded.
• Doctors are identified by a NIN, and 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 made 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. For each contract,
you have to store a start date, and end date, and the text of the contract.
value
name date weight zone
name
number state capacity

Test Type

N 1 N
start_date
pass has expert
end_date
N
1

localization ID
N
Airplane Technician
name
number

1 address

ID
concerns phone

name N
salary

address
1 N
Pilot commanded Flight
phone

departure_city arrival_time
salary
departure_time arrival_city
experience

Step 1 (Mapping of regular entities)


Test(Tnum, value, name,date,state,Anumber)
Type (TypeName,weight, zone, capacity)
Airplane(Anumber, localization,Typename)
Pilot(PID,name,address, phone,salary,experience)
Technician(TID, name,address, phone,salary)
Step 2 (Mapping of weak entities)
Flight(ANumber, PID, departure_city,departure_time, arrival_city,arraival_time)
Step 3(mapping of 1:N relationship; no new relation but just add the primary key of the 1 side as a
foreign key in the N side, in our case add Airplane number as foreign key in Test and addType name as
foreign key in Airplane)
Step 4 (Mapping of M:N relationship)
Expert(Typename,TechnicianID,start_date, end_date)

Mapping of 1:1 relationships

A (PK_A, A1, A2) 1:1 B(PK_B,B1, B2)

Option1: AB(PK_A,PK_B, A1,A2,B1,B2…)

Option 2: A( PK_A,PK:B, A1, A2) respectively B(PK_B,PK_A,B1, B2)

Option3: R(PK_A,PK_B)
name age
text
address name phone
NIN start_date
end_date

Patient Pharm_Co contract


N

N name
N quantity
1
N date
phone
Primary_ Pharmacy
make
physician
address
prescribe
1 N N
N N
sell
Doctor Drug
N

NIN experience
price
name formula
name specialty

Patient(PNIN, name, age, address,DNIN


Pharm_Co(PCname,phone
Pharmacy(Pharnphone,name,address
Doctor(DNIN,name,specialty, experience
Drug(PharmCoName, Dname,formula,
Contract(PharmCoName,Pphone,start+date,text,end_date)
Sell(Pphone,Drungname,price)
Prescribe(PNIN,DNIN ,Drugname,quantity, date)

You might also like