3. Entity
An entity can be defined as anything, which can be uniquely identified
and about which data is stored in a database.
A place, person, picture, concept (e.g. course, position, job) are the
example of an entity.
Some other examples can be student, workers, car, departments, etc.
4. Entity Type
An entity type is a collection of similar entities.
An entity-type is a category.
An entity type is a group of objects, people, concepts or other items
that have the same set of properties or attributes.
5. Entity Relationship(ER) Modelling
In 1976, Peter Chen first proposed modeling databases using a
graphical technique that humans can relate easily.
An Entity–Relationship (ER) model is an abstract or conceptual way of
describing a database
An ER Model is based on a perception of a real world that consists of
collection of basic objects called entities and relationships among
these objects.
3 Notations Type: UML, CHROWS FEET,CHEN
9. Database Schema
The overall design or structure of the database is called the database
schema.
Three types:
1. Internal Schema
2. Conceptual Schema
3. External Schema
10. Types of Schema
1. Internal Schema
describes the physical storage structure of database.
2. Conceptual Schema
hides the details of physical storage structures and concentrates
on describing entities, data types, relationships, operations and
constraints
3. External Schema
describes a subset of the database according to the format the
user wants and hides the rest.
11. Data Independence
The ability to modify schema definition in one level without affecting
schema definition in the next higher level is called data
independence.
There are two levels of data independence.
1. Physical data independence
2. Logical data independence.
12. Physical Data Independence
Physical data independence means the capacity to change the
internal schema or physical storage without affecting conceptual or
external schema.
Internal schema may be changed to improve the performance.
13. Logical Data Independence
Logical data independence is the ability to modify the logical or
conceptual schema without affecting to external schema or
application program.
Logical Data independence means if we add some new columns or
remove some columns from table then the user view and programs
should not change.
14. Entity Relationship(ER) Modelling
The ER model achieves a high degree of data independence which
means that the database designer do not have to worry about the
physical structure of the database.
The goal of ER Modelling is to produce a model of data that is non-
technical and free of ambiguities
15. Entity Relationship(ER) Diagram
ER diagram is a graphical modelling to standardize ER modelling.
The modeling can be carried out with the help of pictorial
representation of entities, attributes, and relationships.
16. Attributes
An attribute is a property of an entity type.
The data that we want to keep about each entity within an entity type is
contained in attributes.
Examples of Attributes :
1. Roll number, name and grade are the attributes of Student.
2. Brand, cost and weight are the attributes of Cellphone.
3. Book name, price, author, publisher, etc. are attributes of Book.
18. Types of Attributes
1. Single-valued attribute :
Attribute that holds a single value for an occurrence of an entity type.
E.g. age, first_name, last_name, full_name, Gender etc.
2. Multi-valued attribute :
Attribute where there might be more than one value for a given
occurrence of an entity type, e.g. for the 'Telephone Number', where a
person or company might have many of these.
3. Null attribute :
Attribute that has NULL.
19. Types of Attributes
4. Simple Attribute
It is composed of a single component. e.g. age, first_name,
last_name, Gender etc. But full_name is not simple attribute.
Because it is composed of first_name and last_name.
5. Composite Attribute
It is composed of more than one component. For example,
'address' might have city, state, country, zip code, etc.
20. Types of Attributes
6. Key Attribute
Primary Key is a key attribute.
Not Null and Unique attribute of an entity
At most one attribute in each entity
7. Derived Attribute
The value of the derived attribute can be derived from the values
of other attributes
Age of a person can be derived from the date of birth and current
date i.e. age = current date – date of birth.
21. Types of Attributes
8. Attribute Domain
A domain is the set of allowable values for an attribute or number
of attributes.
A domain therefore limits the values that an attribute can have.
For example, the domain of 'gender' would include the values
'Male' ,'Female’, ’Other’.
Similarly, the domain of fruit would include the values 'Apple',
'Orange' etc.
22. Relationship
A relationship is an association of entities showing how the entities
are related with each other.
The examples of relationship are:
Teaching is the relationship between Lecturer and Student.
Buying is the relationship between Vendor and Customer.
Treatment is the relationship between Doctor and Patient.
23. Types of Relationship or Multiplicity
Number or range of possible occurrences of an entity type in relation
to another entity type (CARDINALITY)
1. One-to-One (1 : 1)
2. One-to-Many (1 : N)
3. Many-to-One (N : 1)
4. Many-to-Many (M : N)
24. Types of Relationship or Multiplicity
1. One-to -One (1 : 1)
Each department can have only one
department head.
Each worker works in one department.
2. One-to-Many (1 : N)
One course can have many students registered.
A lecturer may be teaching to many students.
25. Types of Relationship or Multiplicity
3. Many-to-One (N : 1)
Many cities come under one country.
Many books can be written by one writer.
Many authors can write one book.
4. Many-to-Many (M : N)
An Author can write several Books, and a Book
can be written by several Authors
A teacher teaches many class and a
class studies from many teachers.
26. ER Diagram Notation (CHEN)
Represents an entity set, But in CROWS FEET entity
set are represents by rounded rectangle.
Represents an attribute
Represent linking of attributes to entity sets and of
entity sets to relationship sets.
Represents a relationship
34. An employee has first name, last name and can have more than one
qualifications.
Multi-valued Attribute
35. Key Attribute
Primary Key
A department has Primary Key dept_no, department_name and
location
foreign key is expressed by dotted underline.
36. Derived Attribute
The value of the derived attribute can be derived from the values of
other related attributes.
Age of a person can be derived from the date of birth and current
date i.e. age = current date – date of birth. In this example, age is the
derived attribute.
38. Strong entity
Strong entity is one whose
existence does not depend on
other entity.
Weak entity
Weak entity is an entity that
depends on another entity. Weak
entity doesn't have key attribute
of their own.
Associative or
composite entity
Associative entity is used to
create many-to-many
relationship between different
entities
Classification of Entity Sets (CHEN)
Entity sets can be broadly classified into:
39. Classification of Entity Sets (CHEN)
Consider the example, student takes course. Here student is a strong
entity.
Course is considered as weak entity because, if there are no students
to take a particular course, then that course cannot be offered. The
Course entity depends on the student entity.
40. Associative or Composite entity
The database relational model does not offer direct support to many-
to-many relationships. So, we require associative or composite entity.
Consider the example, customer purchases book.
A customer can purchase many books. And a book can be purchased
by many customers. So, here purchases is an associative entity. The
entity purchases is mediator for customer and book.
41. Task : ER Diagram
1. Draw an ER diagram for student.
2. Draw an ER diagram for customers and loan relation.
3. Draw an ER diagram for hospital with a set of patients and medical
doctors.
4. Draw an ER diagram for banking system.
5. Draw an ER diagram for car insurance company.
42. Relationship Degree
Relationship degree refers to the number of associated entities in a
relationship.
The relationship degree can be broadly classified into
1. Unary(Recursive) relationship
2. Binary relationship
3. Ternary relationship
44. Binary relationship
In a binary relationship, two entities are involved.
Consider the example: each department will have many workers.
45. Ternary relationship
In a ternary relationship, three entities are simultaneously involved.
Example : Consider a project is assigned to many employee. And the
project is assigned to one location.
46. ER Diagram Notation (CROW'S FEET)
Entity Name
attribute namePK
attribute name
attribute name
Entity Name
Entity Relationship
Illustrates an association between two
entities. It has a name which is a verb. It
also has cardinality.
is assigned to
47. ER Diagram Notation (CROW'S FEET)
zero or more
one or more
one and only one
zero or 1
Cardinality
Cardinality refers to the maximum number of times an instance in one
entity can be associated with instances in the related entity. It can be
zero or one or more.
49. ER Diagram Notation (UML)
A Book is written by one or more authors. An author writes one or
more Books. A Category may have zero or many books.
Nouns: Book, Author, Category
[Note : Many to Many Relationship cannot be shown in relational
model]
1..N
AuthorBook AuthorBook
11..N1
Category
1
0..N
51. A Gardening Company
The company hires out workers as they need to.
Workers in the town stay in lodgings. A lodging may have many
workers in it. We are only concerned with the workers’ current
lodging. Workers possess certain skills such as ‘Tree Surgery’ and
‘Garden Design’. They may have more than one skill.
[Note : Try to identify nouns that could possibly be entities.]
52. A Gardening Company - Nouns
The company hires out workers as they need to.
Workers in the town stay in lodgings. A lodging may have many
workers in it. We are only concerned with the workers’ current
lodging. Workers possess certain skills such as ‘Tree Surgery’ and
‘Garden Design’. They may have more than one skill.
[Note : We are only concerned with one town. So, town is not entity
here. But 'Town' is an attribute of the Lodging.]
55. Equipment & Students
A college department of photography allocates equipment to its
students.
A student might be allocated up to 3 types of equipment at a time.
Equipment types can be allocated to many students.
56. Sports club
A junior sports club keeps track of what sports its members do.
Each member might be involved in more than one sport.
Any sport will have many members involved
58. Many-to-Many Relationship
Module having many Students and Students taking many Modules
Taken ByModule Student
0..N 0..N
Attributes
ModuleID(PK)
ModuleName
Attributes
StudentID(PK)
StudentName
60. Draw the ER : Car Hire Company
Company has a number of models of car available for hire.
Customers hire cars and this is recorded against a particular car
rather than a model, as the company might have several cars of the
same model.
When a customer wants to reserve a particular model they can do so.
This is recorded against a model rather than the car.
When a car of that model becomes available, it will be held for the
customer.
When they come in for it, a record is made on the reservation to say
which car satisfied the reservation.
61. Draw the ER : Car Hire Company
Company has a number of models of car available for hire.
Customers hire cars and this is recorded against a particular car
rather than a model, as the company might have several cars of the
same model.
When a customer wants to reserve a particular model they can do so.
This is recorded against a model rather than the car.
When a car of that model becomes available, it will be held for the
customer.
When they come in for it, a record is made on the reservation to say
which car satisfied the reservation.
63. Each supplier has a unique name.
More than one supplier can be located in the same city.
Each part has a unique part number.
Each part has a color.
A supplier can supply more than one part.
A part can be supplied by more than one supplier.
A supplier can supply a fixed quantity of each part.
Manufacturing Industry
67. Primary Key
The PRIMARY KEY constraint uniquely identifies each record in a
database table.
Primary keys must contain unique values.
A primary key column cannot contain NULL values.
Each table should have a primary key, and
each table can have only ONE primary key.
departments
------------------------
dept_no (PK)
department_name
location
68. Foreign Key
A FOREIGN KEY in one table points to a PRIMARY KEY in another table
A FOREIGN KEY is a column or a combination of columns that is used
to establish and enforce a link between two tables or entities.
departments
------------------------
dept_no (PK)
department_name
location
workers
------------------
emp_no (PK)
first_name
last_name
age
job_title
dept_no (FK)
70. Problems(pit·fall) with ER Models
There are several problems that may arise when designing a ER
model. These are known as connection traps.
There are two main types of connection traps:
1. Fan traps
2. Chasm traps
71. Fan Traps
Fan traps occur in a situation when a model represents relationship
between entity types however a path between certain entity
occurrences is ambiguous.
Example: (Staff)-1:N-works in-1-(Campus)-1-has-1:N-(Department).
In this model, it may be impossible to determine the department a
staff belongs to.
DepartmentStaff Campus
1 1 1..*1..*
73. Fan Traps – The Solution
Restructuring the model resolves trap (Campus)-1-has-1:N-
(Department)-1-has-1:N-(Staff)
CampusStaff Department
1 1..* 11..*
75. Chasm Traps
Chasm Traps occur where there are relationships between entities, but
one of the relationships is non-mandatory.
A model suggests the existence of a relationship between entity types,
but the pathway does not exist between certain entity occurrences.
This connection traps is known as Chasm Traps.
http://db.grussell.org/section005.html
76. Chasm Traps – The Problem
A branch has many staff members who manage properties, but not all
properties are managed by a member of staff, and not all staff
manage properties.
Staff PropertyBranch
1...* 0...*0...11
78. Chasm Traps – The Solution
The solution is to change the structure and represent both
relationships.
Property
Staff
Branch
1...* 0...*0...11
1 0...*
79. Chasm Traps – The Solution
Branch ID Branch Name
1 Ilford
2 Redbridge
Staff ID Name Branch ID (FK)
S1 Davinda 1
S2 Roberta 1
S3 Eddie 2
Property ID Property Name Staff ID (FK) Branch ID (FK)
P1 Yap Mansions S1 1
P2 Hill House 2
P3 Usher House S2 1
Branch Staff
Property
We now
know which
Branch
manages
‘Hill House’
Best Example Link for ER Modelling: http://www.tutorialspoint.com/dbms/er_model_basic_concepts.htm
Remove this slide
abstract => theoretical, conceptual
eg. student takes course. In this example, course is considered as weak entity because, if there are no students to take a particular course, then that course cannot be offered. The COURSE entity depends on the STUDENT entity.