Disclaimer: This is an example of a student written essay.
Click here for sample essays written by our professional writers.

Any opinions, findings, conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of UKEssays.com.

Identified Entities And Their Attributes Information Technology Essay

Paper Type: Free Essay Subject: Information Technology
Wordcount: 3425 words Published: 1st Jan 2015

Reference this

Late Travel has inaugurated a new travelling business between the airport and the lost town. The travelling options they offer can either their own chauffeured car or a coach service. A database is designed to assist the administration of this new service. The database contains the information pertaining to staff information, customer information, car or couch availability, customer journey and payment details etc. An E-R model is developed based on the above case study and it is normalised into 3NF. A relational database based on the normalised E-R model is produced which demonstrate that your database stores the required data and relationship between different entities.

Table of Contents

Table of Figures

ER Model: conceptual model and logical models

Entity relationship model is a database modelling method used to represent the conceptual data. Conceptual data model is prepared when an information system is based on a database, which at the later stage is mapped to logical data model such as relational model which is in turn mapped to the physical model.

Identified Entities and their Attributes

An entity has a distinct existence which is uniquely identified. An entity can be a house, employee or a car. Entities are described by a set of properties called attributes. Each entity must have the values for its attributes which is uniquely identifiable from other entities in a particular entity set. Following are the entities and its attributes for the Late Travel (LT). Below are the Entities (customer, employee and booking) and there attributes.

Attributes of an employee are shown in the figure below. Here Employee_id is a primary key which is used to uniquely identify each employee.

Employee

Employee_id

Employee_address_id

Employee_name

Employee_phone

Other_employee_details

Figure : Entity (Employee) and its attributes

Attributes of the customers are shown in the figure below. Here Customer_id is a primary key which is used to uniquely identify each customer.

Customer

customer_id

payment_id

customer_name

Customer_address

Sex

customer_phone

Date_of_birth

Date_became_customer

Figure : Entity (Customer) and its attributes

Attributes of a booking is shown in the figure. Here booking_id is a primary key which is used to uniquely identify each booking by the customer. Customer_id is a foreign key which is mapped to Entity (customer) and outcome_code will provide information whether the booking is cancelled or not. Status_code field will give information whether status is confirmed or waiting, for the customer for particular booking.

Booking

booking_id

customer_id

Outcome_code

Status_code

date_of_booking

Car_id

Journey_code

Booking_details

Figure : Entity (booking) and its attributes

Identified Relationships between Entities

A relationship is an association among the entities. Relational database model represents the set of relationship of same type. Figure 4 shows the order relationship between a customer and booking.

Customer

customer_id

payment_id

customer_name

Customer_address

Sex

customer_phone

Date_of_birth

Date_became_customer

Booking

booking_id

customer_id

Outcome_code

Status_code

date_of_booking

Car_id

Journey_code

Booking_details

order

Figure : Relationship set of customer and booking

Figure 4 represents the idea that a customer orders a booking for hiring a car or equivalently, a booking is ordered by the customer. Here the another question comes which is whether a customer can order more than one booking or whether booking can be ordered by more than one customer. The question raised is that of cardinality. In fact the example above depicts that customer can order zero or more booking and likewise, a booking may be ordered by zero or more customer. An arrow is used to connect the entities when one-to-one or one-to-many relationship is modelled. Below figure depicts how arrows are used to represent cardinality:

One

Many

One

One

Many

Many

Figure : Cardinality

In the previous example it is reasonable to expect that a customer can exist without having order a single booking, and conversely, that booking exist even though none have been ordered yet. Therefore none of the entities in an entity set may participate in a particular relationship is partial participation. In contrast to this, an entity set may participation in a relationship. Diagrammatically, this is represented by connecting the entity set to the relationship set with a double line. Figure 6 shows the relationship of an agent to a Late Travel agency which combines both cardinality and participation. It is clearly stated that Late Travel agency can employs zero or more agents, and that an agent must be employed by only Late Travel agency.

Late Travel agency

Employs

Agent

Figure : Cardinality and participation constraint

Conceptual model

A conceptual model is a modelling of concepts and relationship. This term is used from a long time in a database design. It is independent of DBMS and allows easy communication between end users and the developers. Below is the conceptual model of Late Travel showing the entities, attributes and there relationship.

Customer

customer_id

payment_id

Customer_name

Customer_phone

Customer_address

Date_of_birth

Sex

Date_bacame_customer

Booking

booking_id

customer_id

car_id

outcome_code

status_code

journey_code

date_of_booking

booking_detail

Payment

Payment_id

booking_id

payment_amount

payment_date

other_details

Ref_booking_status

Status_code

Status_description (eg: confirmed/waiting)

Ref_booking_outcome

outcome_code

outcome_description (eg: cancelled/ok)

Car_details

Car_id

Driver_id

Seats_avail

Car_no

Driver_details

Driver_id

Driver_name

Driver_address

Driver_phone

Journey_details

Journey_code

Customer_id

Place_name

Renting_rate

Other_details

Order

Goes for

Makes

has

consist of

has

Consist of

Figure : Conceptual model

Above figure shows the conceptual model of Late Travel. The primary objective of the conceptual model is to establish a base understanding of the objects in the system. However it is necessary to create an association among different entities and select their multiplicity.

Logical model

Logical model represents the abstract structure of information. It is used to display the business process that seeks to capture the importance things usually in the form of a diagram. Some of the benefit of using the logical model is to improve the business process, facilitates reuse of data, gather functional information and decrease the system design cost and time. Figure 7 is already logical as it shows the attributes and relationship among the different entities. All attributes are appearing in a data store. Above diagram is showing the business entities, their inter-relationships, and the cardinality i.e. each customer can order one or more booking of a car for their journey and same way a booking can be ordered by one or more customers-these relationships can be viewed from both ends.

Is database is storing the required data?

In order to identify whether the database is storing the necessary data, following are the tasks that are needed to be performed in an iterative manner.

Identify the entity type.

Identify the attributes of the entity.

Application of naming convention.

Identify relationship among entities.

Data model patterns need to be applied.

Assign keys such as primary, unique and foreign key.

To reduce data redundancy it should be normalized.

All these tasks are being performed on this case study Late Travel (LT). Therefore required data is being stored in the database. And as it is already stated that above tasks are needed to be performed in an iterative manner, therefore it is a continuous process.

Normalized E-R Model to 3NF

Normalization is the way of ensuring that a relational database structure is free from insertion, update and deletion anomalies that might lead to loss of integrity of data. In 1970s E.F. Codd and his team at IBM introduced the concept of relational databases, proposed normalization through several normal forms.

Below tables are assigned with the keys.

Customer

customer_id (PK)

payment_id (FK)

Customer_name

Customer_phone

Customer_address

Date_of_birth

Sex

Date_bacame_customer

Booking

booking_id (PK)

customer_id (FK)

car_id (FK)

outcome_code (FK)

status_code (FK)

journey_code (FK)

date_of_booking

booking_detail

Payment

Payment_id (PK)

booking_id (FK)

payment_amount

payment_date

other_details

Ref_booking_status

Status_code (PK)

Status_description (eg: confirmed/waiting)

Ref_booking_outcome

outcome_code (PK)

outcome_description (eg: cancelled/ok)

Car_details

Car_id (PK)

Driver_id (FK)

Seats_avail

Car_no

Driver_details

Driver_id (PK)

Driver_name

Driver_address

Driver_phone

Journey_details

Journey_code (PK)

Customer_id (FK)

Place_name

Renting_rate

Other_details

Order

Goes for

Makes

has

consist of

has

Consist of

Figure : Tables of Late Travel

First Normal Form (1NF)

A relational table X is in 1NF (First Normal form), if it meets certain set of criteria. This criterion ensures that each attribute is single-valued with atomic values. In other words table is free from repeating groups. Now if we check whether the logical model discussed above is in 1NF or not. Let’s discuss the employee and customer table.

Employee

employee_id (PK)

employee_address_id (FK)

employee_name

employee_phone

other_employee_details

Customer

customer_id (PK)

payment_id (FK)

Customer_name

Customer_phone

Customer_address

Date_of_birth

Sex

Date_became_customer

Driver_details

Driver_id (PK)

Driver_name

Driver_address

Driver_phone

Figure : Employee and customer table

As 1NF says that there should be no repeating group but in this case phone number of employee or customer can be more than one. Therefore this relational table is not in first normal form e.g.

Employee_id

Employee_add_id

Employee_name

Employee_phone

Other_emp_details

1

100

John

98787787, 8898987988

none

2

101

Steve

89898987,98989898

3

102

Mark

98989898898

Here, column employee_phone doesn’t contains the atomic value therefore in order to make it 1NF separate entity such as customer_phone_num and employee_phone_num is needed to be defined.

Employee

employee_id (PK)

employee_address_id (FK)

employee_name

other_employee_details

Customer

customer_id (PK)

payment_id (FK)

Customer_name

Customer_address

Date_of_birth

Sex

Date_became_customer

Employee_phone

employee_id (PK)

phone_num

Customer_phone

customer_id (PK)

phone_num

Driver_details

Driver_id (PK)

Driver_name

Driver_address

Driver_phone

Driver_phone

driver_id (PK)

phone_num

Figure : Employee, customer and driver table

Now all the tables are in First Normal Form as all the columns are having the atomic values.

Second Normal Form (2NF)

A relational table X is in Second Normal Form when table is in 1NF. A table that is in 1NF must meet the criteria to qualify for the second normal form. This criterion ensures that set of attributes X is functionally dependent on set of attributes Y.

For instance, let’s look at the booking table:

Employee_id

Employee_add_id

Employee_name

Employee_phone

Other_emp_details

1

100

John

98787787, 8898987988

none

2

101

Steve

89898987,98989898

3

102

Mark

98989898898

Booking

booking_id (PK)

customer_id (FK)

car_id (FK)

outcome_code (FK)

status_code (FK)

journey_code (FK)

date_of_booking

booking_detail

Figure : Booking table

Booking_id

Customer_id

Car_id

Outcome_code

Status_code

Journey_code

Date_of_booking

Booking_details

1

1001

100

1

3

2

24-Mar-10

2

1002

101

2

4

3

25-Mar-10

Here as we can see that, none of its non prime attributes are functionally dependent on a subset of a candidate key. Therefore the tables are already in second normal form. Following are the tables that are designed to store the information regarding customer, employees, car, journey and booking. These tables meet the criteria to be second normal form. Hence there is no need to alter the tables.

Third Normal Form (3NF)

A relation table X is in second normal form when every non prime attribute R is non-transitively dependent on every key of R. In other words a relationship database is in 3NF if it is in 2NF and no non-primary attribute is functionally dependent on another non primary key.

Let’s look at one of the table journey_details of Late Travel.

Journey_details

Journey_code (PK)

Customer_id (FK)

Place_name

Renting_rate

Other_details

Figure : Journey table

Journey_code

Customer_id

Place_name

Renting_rate

Other_details

001

331

Airport

500

002

332

Airport

500

Here as we can see that renting rate depends upon the place, therefore this table is not in third normal form. In order to make it in third normal form two separate tables or entities would be created- One containing the journey code, customer_id, place_id and other_details and the other containing the place_id, place_name and renting_rate. Below figure is showing the two tables:

Journey_details

Journey_code (PK)

Customer_id (FK)

Place_id (FK)

Other_details

Place_details

Place_id (PK)

Place_name

Renting_rate

Figure : Journey and place table

Now the E-R model is normalized into third normal form (3NF). Now all the tables contain the atomic values and non primary attributes are functionally dependent on primary key. And lastly no non-primary key attribute is functionally dependent on another non-primary key.

SQL Queries

Below are the different SQL queries which will be mostly used during the management of Late Travel database. Query result is displayed and explained below:

Select customer_name, customer_address, date_of_birth, sex, date_became_active from Customer

WHERE Date_became_customer > ‘2010-01-01’

Description: This query will display all the active customers since 1st Jan 2010.

Why Needed: This query is important because it displays the list of new customers added from a particular date.

Output: Expected Output is:

customer_name

customer_address

date_of_birth

sex

date_became_active

John

35, paris road

1988-09-06

male

2010-02-02

Smith

78, dahiya bhavan

1978-07-08

male

2010-03-04

David

109, green park

1980-08-08

male

2010-01-09

Select emp.employee_id ID, emp.employee_name Name, addr.address Address from Employee emp, emp_Address addr

WHERE emp.employee_id = addr.employee_id

Description: This query will display all the employees with their details.

Why Needed: This query is important because it displays the list of all employees. It might possible that at any instance of time it is required to get the information about the employees working in Late Travel.

Output: Expected Output is:

ID

Name

Address

1

John

32 James park

2

Mark

45 green avenue

3

Steve

14 Vikas puri

Select car.car_id ID, car.car_no Car No., driver.driver_name Driver Name, driver.driver_address Driver Address,

FROM Car_details car, Driver_details driver

WHERE car.driver_id = driver.driver_id

Description: This query will display the information about the particular car like who is the driver, car number etc.

Why Needed: This query is important because it is required to get the information about the particular car and the driver who is responsible of handling it.

Output: Expected Output is:

ID

Car No

Driver Name

Driver Address

1

HGH 7678

Austin

23, Qutub Enclave

2

HKK 101

Preety

44, Hilton

3

NMN 420

Lisa

88, oberios

Select * FROM Booking

RIGHT JOIN Journey

On Booking.customer_id =Journey.customer_id

WHERE date_of_booking = ‘2010-03-24’

Description: This query will display all the booking for 24 Mar 2010 with details of journey.

Why Needed: This query is the basic one as it shows the booking for a particular date. It will display all the information related to booking for whether car is available or not or booking is confirmed or pending.

Output: Expected Output is:

Booking_id

Customer_id

Car_id

Outcome_code

Status_code

Journey_code

Date_of_booking

Booking_details

Journey_code

Place_name

Other_details

1

1001

100

1

3

2

24-Mar-10

001

Airport

2

1002

101

2

4

3

24-Mar-10

002

Airport

Critical Reflection

Whether we use a file or relational database, depends on the nature of the data and how we conceptualize it. There are some major problems and issues arise during the development of the database majorly of data integrity, performance and flexibility. Normally many of the people result into development of database which contains redundant data or insertion, deletion and modification anomalies.

In order to understand the normal form, four terms that must be understood are:

Dependency

Key

Domain and

Restriction

Designing of database plays an important role in integrity and reliability of the data, therefore it is necessary to carefully inspect the database structure, entities and their relationship.

Conclusion

A database is designed for Late Travel (LT) which is used to store the information related to employee, customer, journey, payment, car and driver details. A conceptual and E-R diagram is developed based on the above case study, showing the relationship among different entities. All the tables are normalized into the third normal form and then the set of queries are fired to show the retrieval of information from database.

 

Cite This Work

To export a reference to this article please select a referencing stye below:

Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.
Reference Copied to Clipboard.

Related Services

View all

DMCA / Removal Request

If you are the original writer of this essay and no longer wish to have your work published on UKEssays.com then please: