Dental Patient Appointment System
Dental Patient Appointment SystemEr diagrams with normalization
upto 3rd NF
6/15/2015
Group MembersAmmara Arooj 2013-ag-6230Faiza Ashfaq 2013-ag-542
Zunaira Sattar 2013-ag-1198Fareeha Nawaz 2013-ag-6265Javaria Kanwal
2013-ag-6094Sehar Sultan 2013-ag-6231
Dental Patient Appointment System
Table Attributes:Attribute NameDescription
Patient-ID
P-Name
p-LastName
Birthday
Birthplace
p-Address
p-HomeTelephone
p-Marital Status
p-Mobile
p-Occupation
p-Sex
Dentist-Name
d-Telephone
d-Email
TimeFrom
TimeTo
d-Address
Dentist-ID
SurgeryName
Material
O-Price
Surgery-ID
Disease-ID
Disease-Category
App-Date
App-TimeFrom
App-TimeTo
StaffNo
ER Diagram of Dental Patient Appointment System
AddressTime-TOTime
fromfrom-occupationDatep-Tele#BirthdayP-IDP-NameLastNamena
Marital Status
Get
idAppointmentPatient
IDCatagorySexhas
Price
SurgeryDisease
make
Belongid
catagory
Dentist
D-ID
d-NameTele#d-AddressTime-ToTimeFromEmailSeparate ER
DiagramsRelationship between Patient Entity and Dentist Entity
Relationship between Patient Entity and Appointment Entity
Relationship between Patient Entity and Disease Entity
Relationship between Dentist Entity and Operation Entity
surgery
Relationship between Patient and Dentist
Relationship between Patient and Appointment
Relationship between Patient and Operation
Relationship between Dentist and Operation
Relationship between Patient and Disease
NormalizationNormalizationis the process of organizing data in a
database. This includes creating tables and establishing
relationships between those tables according to rules designed both
to protect the data and to make the database more flexible by
eliminating redundancy and inconsistent dependency.Normalization is
used for mainly two purposes, Eliminating redundant (useless) data.
Ensuring data dependencies make sense i.e. data is logically
stored.Problems in data without NormalizationWithout Normalization,
it becomes difficult to handle and update the database, without
facing data loss. Insertion, Updating and Deletion Anomalies are
very frequent if Database is not Normalized.
Normalization RulesNormalization rule are divided into following
normal form.1. First Normal Form2. Second Normal Form3. Third
Normal Form4. BCNF
The above table is not well structured, un-normalized containing
redundant data. By using a bottom-up approach we analyzing the
given table for anomalies. First observation, we seemultiple values
in an appointment column and this of course violates the 1NF. By
assuming the staffNo and patientNo as candidate keys, there are
many anomalies exist. Insertion anomalies: To insert a new patient
particular that makes an appointment with the designated Doctor, we
need to enter the correct detail for the staff. For example, to
insert the details of new patient in patientNo, patientName and an
appointment, we must enter the correct details of the doctor (
dentistName) so that the patient details are consistent with values
for the designated Doctor. To enter new patient data that doesnt
have Doctor to be assigned we cant insert NULL values for the
primary key. Deletion anomalies: If we want to delete a patient,
two records need to be deleted. This anomaly also obvious when we
want to delete the dentistName, multiple records needs to be
deleted to maintain the data integrity. When we delete a Dentist
record the details about his patients also lost from the database.
Modification anomalies: With redundant data, when we want to change
the value of one columns of a particular Dentist, for example the
dentistName, we must update all the Dentist records that assigned
to the particular patient otherwise the database will become
inconsistent. We also need to modify the appointment schedules
because different Dentist has different schedules.1st Normalization
FormAs per First Normal Form, no two Rows of data must contain
repeating group of information i.e each set of column must have a
unique value, such that multiple columns cannot be used to fetch
the same row. Each table should be organized into rows, and each
row should have a primary key that distinguishes it as uniqueIn the
1NF we remove all the repeating groups (appointment), assigning new
column (apptDate and apptTime) and assigned primary keys (candidate
keys). Then we figure out the functional dependencies (FDs). By
using dependency diagram we represent the table as shown below. (NF
stand for Normal Form); e.g,Class Diagram of Dental Patient
Appointment System
hasgetsProvides0,*10,*11111,*AppointmentSurgeryDentistDiseasePatient
O-ID(FD=Functional Dependency)(NF=Normal Form)In this case, we
can see that FD2 (just depend on staffNo) and FD4 (just depend on
staffNo and apptDate) violate the 2NF. These two NFs are partially
dependent on the candidate keys not the whole keys. FD2 can stand
on its own by depending on the O-ID and meanwhile FD4 also can
stand on its own by depending on the O-ID. 2nd Normal FormAs per
the Second Normal Form there must not be any partial dependency of
any column on primary key. It means that for a table that has
concatenated primary key, each column in the table that is not part
of the primary key must depend upon the entire concatenated key for
its existence. If any column depends only on one part of the
concatenated key, then the table failsSecond normal form.
3rd Normal FormThird Normal formapplies that every non-prime
attribute of table must be dependent on primary key, or we can say
that, there should not be the case that a non-prime attribute is
determined by another non-prime attribute. So thistransitive
functional dependencyshould be removed from the table and also the
table must be inSecond Normal form.
Normalization of tables
1stNFPATIENT table( P-ID, P-Name,P- Address, Sex,P- Telephone,
P-Address,,Occupation,SurgeryID, Surgery Catagory,
AppDate,AppTimefrom,AppTimeTo,DiseaseID,DiseaseCatagory )2ndNF
PATIENT table( P-ID, P-Name,P- Address, Sex,P- Telephone,
P-Address,,Occupation)
Surgery table(SurgeryID, Surgery Catagory,
AppDate,AppTimefrom,AppTimeTo,P-ID)
Disease table(P-ID,DiseaseID,DiseaseCatagory )
1stNF
DOCTOR table( D-ID, d-Telphone,d- Name,d-
Address,Email,TimeFrom,TimeTO,SurgeryID,SurgeryName,Surgery,Price)
2ndNFDOCTOR table( D-ID, d-Telphone,d- Name,d-
Address,Email,TimeFrom,TimeTO )
Surgery table(D-ID,SurgeryID,SurgeryName,Surgery,Price)
3rd NF
Patient table( P-ID, P-Name,P- Address, Sex,P- Telephone,
P-Address,,Occupation,SurgeryID)
FK
Surgery table(SurgeryID,SurgeryName,Surgery,Price,D-ID)
FK
Doctor table( D-ID, d-Telphone,d- Name,d-
Address,Email,TimeFrom,TimeTO )
Disease table(P-ID,DiseaseID,DiseaseCatagory )
FK
Appointment table(P-ID,App-Day,AppTimeFrom,AppTimeTo)