Anda di halaman 1dari 72

2.

1 Entity Relationship Modeling

Course Contents | Prev : Next

Introduction

The Entity-Relationship model (or ER model) is a way of


graphically representing the logical relationships of objects in order to create a
database. Creation of an ER diagram is the first step in designing a database. It
helps the designer(s) to understand and to specify the desired components of the
database and the relationships among those components. An ER model is a
graphical representation which contains entities or "items", relationships among
the entities and attributes of the entities and relationships.

The following are the three basic elements in the ER model.

Entities : Any objects or items

Attribute: The Attribute is nothing but a property of an entity

Relationships : The links between various entities


Let us take University database as an example and try to understand how ER
model is arrived at.

Example:

A university consists of a number of departments. Each department


offers several courses. Each course includes a number of modules. Students
enroll in a particular course and study modules towards the completion of that
course. Each module is taught by a lecturer from the appropriate department,
and each lecturer teaches a group of students.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.1_entity-relationship-modeling_1.html
1/1
12/9/13 Entities

RDBMS

Course
2.Basics of ERM & Contents |
Normalization Prev : Next

2.1 Entity
Relationship
Modeling

2.1.1 Entities

Entities are real world items or


concepts that exist on their own and are
represented as objects or things of interest. An
entity type is a collection of entities that share a
common definition.

Identify all nouns in our university


example,

A university consists of a number


of departments. Each department offers several
courses . Each course includes a number of
modules. Students enroll in a particular course
and study modules towards the completion of
that course. Each module is taught by a lecturer
from the appropriate department, and each
lecturer teaches a group of students.

This scenario consists of students,


lecturers, modules, courses and departments.
So here the physical things(Physical things are
those which exist in this world, that we can
touch, feel etc.) like students, lecturers and
abstract things(An abstract thing is an idea or a
concept in your mind. It is not something that
you can physically reach out and touch, smell,
hear, taste, see) like modules,department etc.,
make an entity type. If we take students as an
entity type, then each student in the university
is an entity. The entities are represented as
nouns in the description because they are
objects or things.
We can touch an entity of physical
things and feel the entity of abstract things but
an entity type is simply an idea. Student is an
idea of physical things (entity type) while Scott,
Nancy, Lindsey, and Mackenzie are touchable
(Student names are entities). Department is an
idea of abstract things (entity type) while
IT,CSE,ECE and CIVIL are entities.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.1_entity-relationship-
modeling_2.html
1/1
12/9/13 2.Basics of ERM & Normalization

RDBMS

2.Basics of ERM & Normalization Course Contents | Prev : Next

2.1 Entity Relationship Modeling

2.1.1 Entities

Entity Diagrams

In an E-R Diagram, an entity is


usually drawn as a rectangle.

The box is labeled with the


name of the entity type.
The entities identified in
our example are shown in
Figure 2.1.
Figure 2.1 :
Entities

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.1_entity-relationship-
modeling_3.html
1/2
12/9/13 2.Basics of ERM & Normalization

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.1_entity-relationship-modeling_3.html
2/2
12/9/13 2.Basics of ERM & Normalization

RDBMS

2.Basics of ERM & Normalization Course Contents | Prev : Next

2.1 Entity Relationship Modeling

Weak Entity

If an entity depends on another existing entity then it is considered


as weak. A weak entity cannot be identified by its own attributes. A weak entity
is represented by double rectangles in E-R diagram.

Example:

SubModule is a good example for weak entity. The SubModule


will be meaningless without a Module entity and so it depends on the existence
of Module as shown in Figure 2.2

Figure 2.2 : Weak Entity

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.1_entity-relationship-modeling_4.html
1/1
12/9/13 2.Basics of ERM & Normalization

RDBMS

Course Contents
Entity | Prev : Next
Relationship
Modeling

2.1 Entity
Relationship
Modeling

2.1.2 Attributes

Attributes represent properties, facts,


aspects or details of an entity. There are attributes or
particular properties that describe each entity.

In our University database each student


in the university will have a Student ID, Name,
Course taken etc. Similarly each lecturer will have
his/her own properties of ID, Name, department etc.

Attributes will have a name, an


associated entity and properties of an entity.
Attributes are often nouns also.

Attributes in ER diagram

In an E/R Diagram attributes are represented


by an oval.

A line is used to link an attribute to its entity.

Course Contents | Prev : Next


https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.1_entity-relationship-
modeling_5.html
1/1
12/9/13 2.Basics of ERM & Normalization

RDBMS

2.Basics of ERM & Normalization Course Contents | Prev : Next

2.1 Entity Relationship Modeling

2.1.2 Attributes

The figure below represents the entities and their corresponding


attributes in the University database.

Figure 2.3 : Entities


and Attributes

Course Contents | Prev : Next


https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.1_entity-relationship-
modeling_6.html
1/1
12/9/13 2. Basics of ERM & Normalization

RDBMS

2.Basics of ERM & Normalization Course Contents | Prev : Next

2.1 Entity Relationship Modeling

2.1.2 Attributes

Multivalued Attribute

A multivalued attribute is an
attribute that has more than one value attached to
it. For instance if phone number and graduating
degree are the attributes of an Entity called
Person, then those attributes could have multiple
values, as a person could have multiple phone
numbers or could hold multiple graduating
degrees. We represent a multivalued attribute by
double oval in E-R diagram.

Single Valued Attribute: Attribute


that holds a single value; in Our example the
attributes of Students such as Roll number, Age,
Date of Birth, City etc., can have only a single
value.

In our example, a Student can have


multiple phone numbers, and so Phone number
is a multivalued attribute.
Figure 2.4 : Multivalued
Attributes

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.1_entity-relationship-
modeling_7.html
1/1
12/9/13 2. Basics of ERM & Normalization

RDBMS

Course Contents |
2.Basics of ERM & Prev : Next
Normalization

2.1 Entity Relationship


Modeling

2.1.3 Relationships

The association between two or more


entities is called a relationship. In our University
database, each student studies several Modules and
each Lecturer teaches several Students. Here the entity
types Student - Modules and Lecturer - Students have a
relationship. The Verbs most often describe
relationships between entities.

Identify the verbs(relationships) in our


University
database
example:

A university consists of a number of


departments. Each department offers several courses .
Each course includes a number of modules. Students
enroll in a particular course and study modules
towards the completion of that course. Each module is
taught by a lecturer from the appropriate a
department, and each lecturer teaches a group of
students.

Each relationship has a name, a set of


entities that participate in it, a degree and a cardinality
ratio. The degree is the number of entities that
participate in that relationship(most have degree 2, For
example in figure 2.3 each Lecturer teaches several
Students, so we can say that this relationship has
degree 2. Here the degree is 2 because it has two
entities related to it).
Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.1_entity-relationship-
modeling_8.html
1/1
12/9/13 2. Basics of ERM & Normalization

RDBMS

Course Contents |
2.Basics of ERM & Prev : Next
Normalization

2.1 Entity Relationship


Modeling

2.1.3 Relationships

Relationships in an ER diagram

Relationships are denoting links between


two entities.

The name of the relationship is given in


a diamond box (For example Belongs to
as shown in Figure 5.1).
Cardinality Ratio

Each entity can be involved in three types of


relationships as
shown:

One to One (1:1)

Each student belongs to one University.


We can illustrate this ratio by writing
ones on the lines indicating the
relationship as shown in Figure 2.5.
Figure 2.5 : One-one Mapping

The notation for the 1:1 relationship is shown


in Figure 2.6.

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.1_entity-relationship-
modeling_9.html
1/2
12/9/13 2. Basics of ERM & Normalization

Figure 2.6 : One-one Mapping

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.1_entity-relationship-modeling_9.html
2/2
12/9/13 2. Basics of ERM & Normalization

RDBMS

Course Contents |
2.Basics of ERM & Prev : Next
Normalization

2.1 Entity Relationship


Modeling

2.1.3 Relationships

Cardinality Ratio
One to Many (1:M)

A lecturer teaches many students, and this


One to Many relationship is illustrated in
figure 2.7.

Figure 2.7 : One-Many

The notation for the 1:M relationship is shown


in Figure 2.8.
Figure 2.8 : One-Many

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.1_entity-relationship-
modeling_10.html
1/2
12/9/13 2. Basics of ERM & Normalization

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.1_entity-relationship-modeling_10.html
2/2
12/9/13 2. Basics of ERM & Normalization

RDBMS

Course Contents |
2.Basics of ERM & Prev : Next
Normalization

2.1 Entity Relationship


Modeling

2.1.3 Relationships

Cardinality Ratio
Many to Many (M:M)

Each student takes many modules, and


each module is taken by many students
as shown in figure 2.9.

Figure 2.9 : Many-Many

Course Contents | Prev : Next


https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.1_entity-relationship-
modeling_11.html
1/1
12/9/13 2. Basics of ERM & Normalization

RDBMS

Course Contents |
2.Basics of ERM & Prev : Next
Normalization

2.1 Entity Relationship


Modeling

2.1.4 Making E/R Models

Till now we have seen how to identify the


basic elements in an ER Diagram. Finally, to make an
E/R model you need to identify:

Entities

Attributes

Relationships

Cardinality ratios

Now lets see how an ER model will look


like when all these elements are put together. The final
ER Model of our University database is shown in the
Figure 2.10. In this figure we have shown the entities
and the relationship between the entities which depict
the complete ER model of a University. Here
Department, Course, Module, Lecturer and Student are
the entities.

The relationships in the Figure 2.10 are


defined as Department Offers many Courses and those
two entities have One to Many relationship. A
Department Assigns Many Lecturers(One(1) To
Many(n)). Each Lecturer teaches Many Students(One(1)
To Many(n)). Every Student takes several
Modules(Many(n) To Many(n)). Every Module includes
Many Courses(Many(n) To Many(n)). A Course is
enrolled by Many Students(One(1) to Many(n)).

Course Contents | Prev : Next


https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.1_entity-relationship-
modeling_12.html
1/1
12/9/13 2. Basics of ERM & Normalization

RDBMS

Course Contents |
2.Basics of ERM & Prev : Next
Normalization

2.1 Entity Relationship


Modeling

2.1.4 Making E/R


Models

The ER Model for the above example is given below:

The complete ER Model for our University


database will be as shown in the diagram below. It is an
Integrated ER model containing the Entities and
Relationships for a University database.
Figure 2.10 : University ER
Model

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.1_entity-relationship-
modeling_13.html
1/2
12/9/13 2. Basics of ERM & Normalization

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.1_entity-relationship-modeling_13.html
2/2
12/9/13 2. Basics of ERM & Normalization

RDBMS

Course Contents |
2.Basics of ERM & Prev : Next
Normalization

2.1 Entity Relationship


Modeling

Summary

ER Diagrams play a major role in database


designing.

The ER Diagrams act as a non-

technical communication tool. This

tool is used by both technical and

non-technical users.

Entities represent real world things;


They can be conceptual as a
transaction or physical as a bank.

Figure 2.11 : ER Model


Summary

Course Contents | Prev : Next


https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.1_entity-relationship-
modeling_14.html
1/1
12/9/13 Introduction-Normalization

RDBMS

Course Contents
2.Basics of ERM & | Prev : Next
Normalization

2.2 Normalization - First Normal Form,


Second Normal Form and Third Normal
Form

The database design technique that


is used to organize tables in a manner that reduces
redundancy and dependency of data is called
Normalization. It is the scientific process of
decomposing complex tables(Relations) into
smaller and easily manageable tables. The use of
normalization is to accurately access data from
database. Without normalization, database
systems can be inaccurate, redundant, slow and
inefficient. They might not produce the data that is
expected. Listed below are the advantages of
normalization.

Advantages

Smaller, simpler and well-structured


relations.

Avoids unnecessary duplication of


data. That is, it helps to reduce
redundancy.

Provides data integrity.

Helps to avoid update anomalies.


That is, it isolates data so that
additions, deletions, and
modifications of a field can be
made in just one table. The changes
are then propagated to the rest of
the database through the defined
relationships.
Save storage space.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.2_introduction-to-
normalization_1.html
1/1
12/9/13 Normalization

RDBMS

Course
2.Basics of ERM & Contents | Prev
Normalization : Next

2.2 Normalization - First Normal Form,


Second Normal Form and Third Normal
Form

Edgar Codd invented the


relational model and he proposed the theory
of normalization with the introduction of First
Normal Form. He continued to extend the
theory with Second and Third Normal Forms.
Later Edgar Codd joined with Raymond F.
Boyce to develop the theory of Boyce-Codd
Normal Form(BCNF).

Theory of Normalization is still


developing. For example, the discussions on
6th Normal Form are in progress. However, in
most practical applications normalization
achieves its best in Third Normal Form. The
evolution of Normalization theories is
illustrated below:

Figure 2.12 :
Normalization Evolution

Course Contents | Prev : Next


https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.2_introduction-to-
normalization_2.html
1/1
12/9/13 Primary Key

RDBMS

Course
2.Basics of ERM & Contents | Prev
Normalization : Next

2.2 Normalization - First Normal Form,


Second Normal Form and Third Normal
Form

Let's understand a few things


before we proceed --

What is a KEY ?

A KEY is a value used to uniquely


identify a row in a table. It could be a single
column or a combination of multiple columns.

Note: The columns in a table that


are NOT used to uniquely identify a record or
row in a table are called non-key columns.

What is a primary Key?

A primary key is a single column


value that is used to uniquely identify a database
record.
Figure 2.13 :
Primary Key

The primary key column in a table


must always have a value.

The primary key column in a table


cannot have duplicate values.
Each primary key value must be
unique.

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.2_introduction-to-
normalization_3.html
1/2
12/9/13 Primary Key

The primary key values cannot be modified.

The primary key column should have a value when a new record
is inserted into the table.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.2_introduction-to-normalization_3.html
2/2
12/9/13 Primary Key

RDBMS

Course
2.Basics of ERM & Contents | Prev
Normalization : Next

2.2 Normalization - First Normal Form,


Second Normal Form and Third Normal
Form

Example:

The table below contains the


details of students. Here studentId is Primary
Key which is used to uniquely identify the
details of a student from the table.

Figure 2.14 : Primary Key


Illustration

Course Contents | Prev : Next


https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.2_introduction-to-
normalization_4.html
1/1
12/9/13 Composite Key

RDBMS

Course
2.Basics of ERM & Contents | Prev
Normalization : Next

2.2 Normalization - First Normal Form,


Second Normal Form and Third Normal
Form

Composite Key

If two or more columns are used


to uniquely identify a record then combination
of those multiple columns constitutes a
composite key.

In the Student table given below,


we have StudentId, TestId and Mark. Here one
student can take multiple tests and one test can
be taken by multiple students. In this case in
order to uniquely identify the mark of a student
in a test we require both StudentId and TestId.
This is a composite key.

Student Table

StudentId TestId Mark


101 T001 400
101 T002 380
102 T001 290
103 T001 430
103 T003 410
103 T001 390
Tabl e 2.1

Course Contents | Prev : Next


https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.2_introduction-to-
normalization_5.html
1/1
12/9/13 Functional Dependency

RDBMS

Course Contents
2.Basics of ERM & | Prev : Next
Normalization

2.2 Normalization - First Normal Form,


Second Normal Form and Third Normal
Form

Functional Dependency

In simple terms, functional


dependency can be explained as follows. If you
know one attribute then you can get another
attribute. Then both these attributes are said to
be functionally dependent. In the Student table
given below, we can get the attribute 'Name' if
you know the attribute 'StudentId', then Name
and StudentId are functionally dependent. Here
we can say StudentId is determinant and Name
as dependent.

For example, let's consider the


Student table given below. Table 2.2 stores
student details(StudentId, Name, Languages
Known), student's department details
(Dept_No, Dept_Name) and lecturer details
(LecturerInCharge, Designation) for Students.

In this approach, we keep


repeating the languages known and department
details data for all the students in the same field.
This is called an UnNormalized table. Instead of
storing the same data again and again, we could
normalize the data and create related tables.

Let's see how we can normalize the


table,create related tables and learn forms with
the Student table(which is not normalized):

Student Table (UnNormalized Table):

Lecturer
StudentId Name Dept_No Dept_Name Languages Known In Designation
Charge
101 Kevin D001 CSE English,Hindi,Tamil Jacobs Asst.Professor
102 James D002 ECE English,Hindi Williams Professor
Tabl e 2.2

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.2_introduction-to-
normalization_6.html
1/1
12/9/13 First Normal Form

RDBMS

Course
2.Basics of ERM & Contents | Prev
Normalization : Next

2.2 Normalization - First Normal Form,


Second Normal Form and Third Normal
Form

2.2.1 First Normal Form

To move from unnormalized form


to first normal form all multi-valued attributes
(called repeating groups) should be removed.
The repeating groups nust be eliminated. All
attributes must be atomic.

Table 2.2 is not in 1NF since there


are repeating groups (more than 1 value in a
field). The column "Languages Known"
has(English, Hindi and Tamil) in the
Row(Tuple)1 and (English and Hindi) in the
Row(Tuple) 2
.To satisfy 1NF we can create separate rows for
each value in Languages Known by duplicating
the values in the remaining columns. Table 2.3
represents the same.

1NF Rules

Each column in a table should contain


single value.

Each record needs to be unique as shown


in Table 2.3

StudentId Name Dept_No Dept_Name Languages Lecturer In Designation


Known Charge
101 Kevin D001 CSE English Jacobs Asst.Professor
101 Kevin D001 CSE Hindi Jacobs Asst.Professor
101 Kevin D001 CSE Tamil Jacobs Asst.Professor
102 James D002 ECE English Williams Professor
102 James D002 ECE Hindi Williams Professor
Tabl e 2.3 : 1NF
Form

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.2_normalization-first-
normalform_1.html
1/1
12/9/13 Second Normal Form

RDBMS

Course Contents
2.Basics of ERM & | Prev : Next
Normalization

2.2 Normalization - First Normal Form,


Second Normal Form and Third Normal
Form

2.2.2 Second Normal Form

Partial functional dependencies


must be removed. If two attributes of a table are
combined to form a composite key, then the non-
key attributes of that table must depend on both
the attributes of the composite key. They must
not depend on one of the attributes, which is the
part of the composite key.

2NF Rules

Rule 1- The table should be in 1NF.

Rule 2- The Single Column must be used


as Primary Key.

A relation in 1NF will be in second


normal form (2NF) if there are no
partial dependencies.

Course Contents | Prev : Next


https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.2_normalization-second-
normalform_1.html
1/1
12/9/13 Partial dependency

RDBMS

Course
2.Basics of ERM & Contents | Prev
Normalization : Next

2.2 Normalization - First Normal Form,


Second Normal Form and Third Normal
Form

2.2.2 Second Normal Form

Partial dependency

It is the functional dependency on


part of the primary key instead of the entire
primary key.

It is clear that we can't move


forward to make our simple database in 2nd
Normalization form unless we partition the
columns in Table 2.3. Here, assume that
StudentId and Dept_No together act as the key
(Composite key). As per 2NF all non-key
attributes must be dependent on whole key.

In Table 2.3 the attribute 'Dept


_Name' is functionally dependent on whole key
(StudentId+Dept_No). That is, you can get the
department name only if you know both
StudentId and Dept_ No. All other column
attributes can be identified by just providing
'StudentId'. So for all other columns StudentId
acts as the primary key. So split the table as
given below to satisfy 2NF.

Course Contents | Prev : Next


https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.2_normalization-second-
normalform_2.html
1/1
12/9/13 Second Normal Form

RDBMS

Course Contents
2.Basics of ERM & | Prev : Next
Normalization

2.2 Normalization - First Normal Form,


Second Normal Form and Third Normal
Form

2.2.2 Second Normal Form

Student

StudentId Name Dept_No


101 Kevin D001
102 James D002
Tabl e 2.4

Department

Lecturer
Dept_No Dept_Name In Designation
Charge
Asst.
D001 CSE Jacobs
Professor
D002 ECE Williams Professor
Tabl e 2.5

Languages

StudentId Languages known


101 English
101 Hindi
101 Tamil
102 English
101 Hindi
Tabl e 2.6
Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.2_normalization-second-
normalform_3.html
1/1
12/9/13 Second Normal Form

RDBMS

Course Contents
2.Basics of ERM & | Prev : Next
Normalization

2.2 Normalization - First Normal Form,


Second Normal Form and Third Normal
Form

2.2.2 Second Normal Form

Introducing Foreign Key

A foreign key is a field in a table that


matches the primary key column of another table.
The cross-reference tables can be achieved by
Foreign Key.

In Table 2.7,Dept_No is the foreign


Key

Student

StudentId Name Dept_No


101 Kevin D001
102 James D002
Table 2.7
Figure 2.15 : Foreign
Key

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.2_normalization-second-
normalform_4.html
1/2
12/9/13 Second Normal Form

Foreign key refers primary key of another table. It helps to connect


the two tables.

The values of a foreign key and a primary key may be different.

The foreign key ensures that a row in a table is mapped to a


corresponding row in another table.

Foreign key does not have to be unique; most often it is not


unique.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.2_normalization-second-normalform_4.html
2/2
12/9/13 Foreign Key

RDBMS

Course
2.Basics of ERM & Contents | Prev
Normalization : Next

2.2 Normalization - First Normal Form,


Second Normal Form and Third Normal
Form

2.2.2 Second Normal Form

Foreign Key

Figure 2.16 : Foreign Key


Illustration

Why do you need a foreign key?

Foreign key is required in RDBMS


for the concept of Referential
Integrity.

Referential integrity

It is a concept used in database to


ensure that there is consistency in table
relationships. If one table has a foreign key to
another table, then the concept of referential
integrity states that you cannot add a record to
the table that contains the foreign key unless
there is a corresponding record in the
link/relationship with the other table.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.2_normalization-
second-normalform_5.html
1/1
12/9/13 Referential Integrity

RDBMS

Course
2.Basics of ERM & Contents | Prev :
Normalization Next

2.2 Normalization - First Normal Form,


Second Normal Form and Third Normal
Form

2.2.2 Second Normal Form

Referential Integrity

For example, consider the Figure 2.16


given in the previous page, where Dept _No in the
Student table is foreign key of Dept_No in
Department table. Here let's try to add a student
with StudentId as "103" and Dept_No as "D003" in
Student table as shown below. But the entry for
Dept_ No "D003" is not present in Department
table which means we have added a student to a
department which does not exist. This leads to
inconsistency of data across related tables. Hence
RDMS has the concept of referential integrity
which does not allow to add a record to the table
that contains the foreign key unless there is a
corresponding record in the table to which it is
linked.

Student

StudentId Name Dept_No


101 Kevin D001
102 James D002
103 Annie D003
Tabl e 2.8

Department

Dept_No Dept_Name Lecturer In Charge Designation


D001 CSE Jacobs Asst. Professor
D002 ECE Williams Professor
Tabl e 2.9
Transitive functional dependencies

When changing a non -key column


might cause any of the other non-key columns to
change, it is called transitive functional
dependency. Attributes that are not a part of the
key must not depend on any non-key
https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.2_normalization-second-
normalform_6.html
1/2
12/9/13 Referential Integrity

attribute.

Consider the table 2.9. Changing the non-key column Lecturer In


Charge , may change Designation. Here Dept_No acts as the key. All other
columns are non-key attributes. As per 3NF non-key attributes should not be
dependent on any other non-key attributes but 'Lecturer In Charge' is
dependent on 'Designation'. Both Lecturer In Charge and Designation are non-
key attributes. So it forms transitive dependency. So, to satisfy 3NF let's split the
table in a short while.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.2_normalization-second-normalform_6.html
2/2
12/9/13 Third Normal Form

RDBMS

Course
2.Basics of ERM & Contents | Prev :
Normalization Next

2.2 Normalization - First Normal Form,


Second Normal Form and Third Normal
Form

2.2.3 Third Normal Form

Third normal form (3NF) is the third


step in database normalization and it builds on the
first (INF)and second normal forms(2NF).

The Third Normal Form(3NF) states


that all column references in the referenced data
that are not dependent on the primary key should
be removed. Another way of putting this statement
is that only foreign key columns should be used to
reference another table, and the other columns
from the parent table should not exist in the
reference table.

The Second Normal form(2NF)


covers in case of multi-column primary keys. 3NF
is meant to cover single column keys as mentioned
in transitive functional dependencies above.

3NF Rules

Rule 1- The table should be in 2NF.

Rule 2- The table has no transitive


functional dependencies which is
explained above.
We need to divide our table if it has
to be moved from second normal form(2NF) into
Third Normal form(3NF). In table 2.1 Dept_ No
acts as the key. All other columns are non-key
attributes. The non-key attributes should not be
dependent on any other non-key attributes as per
third normal form. The 'Designation' is dependent
on 'Lecturer In Charge' and these are non key
attributes in the Lecturer table explained. It forms
transitive dependency. So, to satisfy 3NF split the
table as follows.

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.2_normalization-third-
normalform_1.html
1/2
12/9/13 Third Normal Form

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.2_normalization-third-normalform_1.html
2/2
12/9/13 Third Normal Form

RDBMS

Course
2.Basics of ERM & Contents | Prev :
Normalization Next

2.2 Normalization - First Normal Form, Second


Normal Form and Third Normal Form

2.2.3 Third Normal Form

Student

StudentId Name Dept_No


101 Kevin D001
102 James D002
Tabl e 2.10

Department

Dept_No Dept_Name
LecturerId
D001 CSE L01
D002 ECE L02
Tabl e 2.11

Lecturer

LecturerId LecturerName Design


L01 Jacob Asst.Professor
L02 Williams Professor
Tabl e 2.12

Languages

StudentId Languages known


101 English
101 Hindi
101 Tamil
102 English
101 Hindi
https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.2_normalization-third-
normal-form_2.html
1/2
12/9/13 Third Normal Form

Tabl e 2.13

The example given above cannot be decomposed further to attain


higher forms of normalization because it is already normalized to the highest
level.Normally only complex data bases would need next levels of
normalization.

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.2_normalization-third-normal-form_2.html
2/2
12/9/13 Basics of ERM & Normalization

RDBMS

Course Contents |
2.Basics of ERM & Prev : Next
Normalization

2.3 Joins

What are Joins?

A join is a technique where records from


two or more tables are retrieved through a single SQL
query and shown as a single output. As it forms a set, It
can be saved as a table or used as it is. A join is a means
of combining columns from two tables by using values
common to both tables. It allow us to combine data
from more than one table into a single result set. A join
condition is used in the WHERE clause of select,
update and delete queries.

Note: The query will give results from


two tables as Cartesian product(A Cartesian product is
defined as all possible combinations of rows in all
tables). If join condition is omitted. The first table's
rows are joined with all rows of the second table. For
example, if the first table has 30 rows and the second
table has 10 rows, the result will be 30 * 10, or 300 rows.
This query will take a long time to execute.

Let's use the two tables below to explain


the join conditions.

Database table "Student"

StudentId Name Dept_No


101 Kevin 1001
102 James 1002
103 Jacobs 1001
104 Williams 1001
105 Jose 1003
106 Jack 1003
107 Rob 1004
Tabl e 2.14

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.3_introduction_joins_1.html
1/2
12/9/13 Basics of ERM & Normalization

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.3_introduction_joins_1.html
2/2
12/9/13 Basics of ERM & Normalization

RDBMS

2.Basics of ERM & Normalization Course Contents | Prev : Next

2.3 Joins

Database table "Department"

Dept_No Dept_Name
1001 CSE
1002 ECE
1003 EEE
1004 CIVIL
Table 2.15

In the above example the column that is common between both


the tables is Dept_No. Using Dept_No,the Student and Department tables can
be joined to combine data from both the tables as shown below.

Figure 2.17 : Joining of tables

Course Contents | Prev : Next

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.3_introduction_joins_2.html
1/1
12/9/13 Basics of ERM & Normalization

RDBMS

Course Contents |
2.Basics of ERM & Prev : Next
Normalization

2.3 Joins

Lets consider a scenario to retrieve the


details of student who belong to 'CSE' department.
We have to join two tables based on the common
column present in the two tables.

Figure 2.18 : Mapping data

Result: After joining two tables:

StudentId name dept_no


dept_name
101 Kevin 1001
CSE
103 Jacobs 1001
CSE
104 Williams 1001
CSE
Table 2.16

Course Contents | Prev : Next


https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.3_introduction_joins_3.html
1/1
12/9/13 Basics of ERM & Normalization

RDBMS

Course Contents |
2.Basics of ERM & Prev : Next
Normalization

2.4 Summary

The Entity-Relationship model (or ER


model) is a way of graphically representing
the logical relationships of objects in order
to create a database.

An ER model is a graphical
representation which contains entities or
"items", relationships among them and
attributes of the entities and the
relationships.

The database design technique which is


used to organize tables in a manner that
reduces redundancy and dependency of
data is called as Normalization.

There are three forms of normalization.


They are First Normal form(1NF),Second
Normal form(2NF) and Third Normal
form(3NF).

A key is a value used to uniquely identify a


row in a table. One or more columns could
be used to form a key for a table.

A primary key is a single column value


used to identify a database record
uniquely.

A composite key is a primary key derived


by combining multiple columns and is
used to identify a record uniquely.
The field in a table which matches the
primary key column of another table is
called as foreign key. The cross-reference
tables can be achieved by foreign key.

First Normal Form-The multi-valued


attributes (called repeating groups) should
be removed i.e. elimination of repeating
groups. All attributes must be atomic.

Second Normal Form- Partial functional


dependencies must be removed. The
attributes that are not a part of the key
should be

https://aspire.tcs.com/aspire/courses/rdbms/module2/session2.4_summary.html
1/2
12/9/13 Basics of ERM & Normalization

dependent on the entire key for that entity.

Third normal Form- States that all column reference in


referenced data that are not dependent on the primary
key(transitive dependency) should be removed.

Join is a means of combining fields from two tables by using


values common to both. It allows to combine data from more
than one table into a single result set.

Course Contents | Prev : Next

Anda mungkin juga menyukai