You are on page 1of 27

UNIT I

Difference between File System and DBMS

Prerequisite – DBMS over the File system

File System :
The file system is basically a way of arranging the files in a storage medium like a hard disk. The
file system organizes the files and helps in the retrieval of files when they are required. File
systems consist of different files which are grouped into directories. The directories further
contain other folders and files. The file system performs basic operations like management, file
naming, giving access rules, etc.

Example: NTFS(New Technology File System), EXT(Extended File System).

DBMS(Database Management System) :


Database Management System is basically software that manages the collection of related data. It
is used for storing data and retrieving the data effectively when it is needed. It also provides
proper security measures for protecting the data from unauthorized access. In Database
Management System the data can be fetched by SQL queries and relational algebra. It also
provides mechanisms for data recovery and data backup.
Difference between File System and DBMS:

Basis File System DBMS

The file system is software that


manages and organizes the files DBMS is software for
Structure
in a storage medium within a managing the database.
computer.

Redundant data can be present in In DBMS there is no


Data Redundancy
a file system. redundant data.

It provides backup and


It doesn’t provide backup and
Backup and Recovery recovery of data even if it
recovery of data if it is lost.
is lost.

There is no efficient query Efficient query processing


Query processing
processing in the file system. is there in DBMS.

There is more data


There is less data consistency in
Consistency consistency because of the
the file system.
process of normalization.
It has more complexity in
It is less complex as compared to
Complexity handling as compared to
DBMS.
the file system.

DBMS has more security


File systems provide less security
Security Constraints mechanisms as compared
in comparison to DBMS.
to file systems.

It has a comparatively
Cost It is less expensive than DBMS. higher cost than a file
system.

In DBMS data
Data Independence There is no data independence.
independence exists.

Only one user can access data at a Multiple users can access
User Access
time. data at a time.

The user has to write procedures The user not required to


Meaning
for managing databases write procedures.

Data is distributed in many files. Due to centralized nature


Sharing
So, not easy to share data sharing is easy
It give details of storage and It hides the internal details
Data Abstraction
representation of data of Database

Integrity Constraints are difficult Integrity constraints are


Integrity Constraints
to implement easy to implement

Example Cobol, C++ Oracle, SQL Server

Data Model
Data Models are used to show how data is stored, connected, accessed and updated in the
database management system. Here, we use a set of symbols and text to represent the
information
Data Models in DBMS are:

1. Hierarchical Model
2. Network Model
3. Entity-Relationship Model
4. Relational Model
5. Object-Oriented Data Model
6. Object-Relational Data Model
7. Flat Data Model
8. Semi-Structured Data Model
9. Associative Data Model
10. Context Data Model
Hierarchical Model
Hierarchical Model was the first DBMS model. This model organises the data in the hierarchical
tree structure. The hierarchy starts from the root which has root data and then it expands in the
form of a tree adding child node to the parent node.

Features of a Hierarchical Model

1. One-to-many relationship: The data here is organised in a tree-like structure where the
one-to-many relationship is between the datatypes. Also, there can be only one path from
parent to any node. Example: In the above example, if we want to go to the node
sneakers we only have one path to reach there i.e through men's shoes node.

2. Parent-Child Relationship: Each child node has a parent node but a parent node can
have more than one child node. Multiple parents are not allowed.

3. Deletion Problem: If a parent node is deleted then the child node is automatically
deleted.

4. Pointers: Pointers are used to link the parent node with the child node and are used to
navigate between the stored data. Example: In the above example the ' shoes ' node points
to the two other nodes ' women shoes ' node and ' men's shoes ' node.

Advantages of Hierarchical Model

● It is very simple and fast to traverse through a tree-like structure.

● Any change in the parent node is automatically reflected in the child node so, the
integrity of data is maintained.


Disadvantages of Hierarchical Model

● Complex relationships are not supported.

● As it does not support more than one parent of the child node so if we have some
complex relationship where a child node needs to have two parent node then that can't be
represented using this model.

● If a parent node is deleted then the child node is automatically deleted.

Network Model
This model is an extension of the hierarchical model. It was the most popular model before the
relational model. This model is the same as the hierarchical model, the only difference is that a

record can have more than one parent.

Features of a Network Model

1. Ability to Merge more Relationships: In this model, as there are more relationships so
data is more related. This model has the ability to manage one-to-one relationships as
well as many-to-many relationships.

2. Many paths: As there are more relationships so there can be more than one path to the
same record. This makes data access fast and simple.

3. Circular Linked List: The operations on the network model are done with the help of the
circular linked list. The current position is maintained with the help of a program and this
position navigates through the records according to the relationship.
Advantages of Network Model

● The data can be accessed faster as compared to the hierarchical model. This is because
the data is more related in the network model and there can be more than one path to
reach a particular node. So the data can be accessed in many ways.

● As there is a parent-child relationship so data integrity is present. Any change in parent


record is reflected in the child record.

Disadvantages of Network Model

● As more and more relationships need to be handled the system might get complex. So, a
user must be having detailed knowledge of the model to work with the model.

● Any change like updation, deletion, insertion is very complex.

Entity-Relationship Model
Entity-Relationship Model or simply ER Model is a high-level data model diagram. In this model, we
represent the real-world problem in the pictorial form to make it easy for the stakeholders to understand.
It is also very easy for the developers to understand the system by just looking at the ER diagram. We use
the ER diagram as a visual tool to represent an ER Model. ER diagram has the following three
components:

● Entities: Entity is a real-world thing. It can be a person, place, or even a concept. Example:
Teachers, Students, Course, Building, Department, etc are some of the entities of a School
Management System.

● Attributes: An entity contains a real-world property called attribute. This is the characteristics of
that attribute. Example: The entity teacher has the property like teacher id, salary, age, etc.

● Relationship: Relationship tells how two attributes are related. Example: Teacher works for a
department.
In the above diagram, the entities are Teacher and Department. The attributes of Teacher entity
are Teacher_Name, Teacher_id, Age, Salary, Mobile_Number. The attributes of entity
Department entity are Dept_id, Dept_name. The two entities are connected using the
relationship. Here, each teacher works for a department.
Features of ER Model

● Graphical Representation for Better Understanding: It is very easy and simple to


understand so it can be used by the developers to communicate with the stakeholders.

● ER Diagram: ER diagram is used as a visual tool for representing the model.

● Database Design: This model helps the database designers to build the database and is
widely used in database design.

Advantages of ER Model

● Simple: Conceptually ER Model is very easy to build. If we know the relationship


between the attributes and the entities we can easily build the ER Diagram for the model.

● Effective Communication Tool : This model is used widely by the database designers for
communicating their ideas.

● Easy Conversion to any Model : This model maps well to the relational model and can
be easily converted relational model by converting the ER model to the table. This model
can also be converted to any other model like network model, hierarchical model etc.

Disadvatages of ER Model
● No industry standard for notation: There is no industry standard for developing an ER
model. So one developer might use notations which are not understood by other
developers.

● Hidden information: Some information might be lost or hidden in the ER model. As it is


a high-level view so there are chances that some details of information might be hidden.

Relational Model
Relational Model is the most widely used model. In this model, the data is maintained in the form of a
two-dimensional table. All the information is stored in the form of row and columns. The basic structure
of a relational model is tables. So, the tables are also called relations in the relational model. Example: In
this example, we have an Employee table.

Features of Relational Model

● Tuples : Each row in the table is called tuple. A row contains all the information about
any instance of the object. In the above example, each row has all the information about
any specific individual like the first row has information about John.

● Attribute or field: Attributes are the property which defines the table or relation. The
values of the attribute should be from the same domain. In the above example, we have
different attributes of the employee like Salary, Mobile_no, etc.

Advnatages of Relational Model

● Simple: This model is more simple as compared to the network and hierarchical model.

● Scalable: This model can be easily scaled as we can add as many rows and columns we
want.

● Structural Independence: We can make changes in database structure without changing


the way to access the data. When we can make changes to the database structure without
affecting the capability to DBMS to access the data we can say that structural
independence has been achieved.

Disadvantages of Relatinal Model


● Hardware Overheads: For hiding the complexities and making things easier for the user
this model requires more powerful hardware computers and data storage devices.

● Bad Design: As the relational model is very easy to design and use. So the users don't
need to know how the data is stored in order to access it. This ease of design can lead to
the development of a poor database which would slow down if the database grows.

But all these disadvantages are minor as compared to the advantages of the relational model.
These problems can be avoided with the help of proper implementation and organisation.

In the above example, we have two objects Employee and Department. All the data and relationships of each object
are contained as a single unit. The attributes like Name, Job_title of the employee and the methods which will be
performed by that object are stored as a single object. The two objects are connected through a common attribute i.e
the Department_id and the communication between these two will be done with the help of this common id.

Object-Relational Model
As the name suggests it is a combination of both the relational model and the object-oriented model. This
model was built to fill the gap between object-oriented model and the relational model.

Flat Data Model


It is a simple model in which the database is represented as a table consisting of rows and columns. To
access any data, the computer has to read the entire table. This makes the modes slow and inefficient.

Associative Data Model


Associative Data Model is a model in which the data is divided into two parts. Everything which has
independent existence is called as an entity and the relationship among these entities are called
association . The data divided into two parts are called items and links.

Context Data Model


Context Data Model is a collection of several models. This consists of models like network
model, relational models etc

Data Abstraction Data Abstraction is a process of hiding unwanted or irrelevant details


from the end user. It provides a different view and helps in achieving data independence which is
used to enhance the security of data.

The database systems consist of complicated data structures and relations. For users to access the
data easily, these complications are kept hidden, and only the relevant part of the database is
made accessible to the users through data abstraction.

Levels of abstraction for DBMS

Database systems include complex data-structures. In terms of retrieval of data, reduce


complexity in terms of usability of users and in order to make the system efficient, developers use
levels of abstraction that hide irrelevant details from the users. Levels of abstraction simplify
database design.
Mainly there are three levels of abstraction for DBMS, which are as

follows −

● Physical or Internal Level


● Logical or Conceptual Level

● Physical or Internal Level


● It is the lowest level of abstraction for DBMS which defines how the data is actually stored,
it defines data-structures to store data and access methods used by the database. Actually,
it is decided by developers or database application programmers how to store the data in
the database.
● So, overall, the entire database is described in this level that is physical or internal level. It
is a very complex level to understand. For example, customer's information is stored in
tables and data is stored in the form of blocks of storage such as bytes, gigabytes etc.

● Logical or Conceptual Level


● Logical level is the intermediate level or next higher level. It describes what data is stored
in the database and what relationship exists among those data. It tries to describe the entire
or whole data because it describes what tables to be created and what are the links among
those tables that are created.
● It is less complex than the physical level. Logical level is used by developers or database
administrators (DBA). So, overall, the logical level contains tables (fields and attributes)
and relationships among table attributes.

● View or External Level

● It is the highest level. In view level, there are different levels of views and every view only
defines a part of the entire data. It also simplifies interaction with the user and it provides
many views or multiple views of the same database.
● View level can be used by all users (all levels' users). This level is the least complex and
easy to understand.
● For example, a user can interact with a system using GUI that is view level and can enter
details at GUI or screen and the user does not know how data is stored and what data is
stored, this detail is hidden from the user.
Data Independence

● Data independence can be explained using the three-schema architecture.

● Data independence refers characteristic of being able to modify the schema at one level
of the database system without altering the schema at the next higher level.

There are two types of data independence:

1. Logical Data Independence

● Logical data independence refers characteristic of being able to change the conceptual
schema without having to change the external schema.

● Logical data independence is used to separate the external level from the conceptual
view.

● If we do any changes in the conceptual view of the data, then the user view of the data
would not be affected.

● Logical data independence occurs at the user interface level.

2. Physical Data Independence

● Physical data independence can be defined as the capacity to change the internal schema
without having to change the conceptual schema.

● If we do any changes in the storage size of the database system server, then the
Conceptual structure of the database will not be affected.

● Physical data independence is used to separate conceptual levels from the internal levels.
● Physical data independence occurs at the logical interface level.

Database Management System (DBMS) is software that allows access to data stored in a
database and provides an easy and effective method of –

● Defining the information.


● Storing the information.
● Manipulating the information.
● Protecting the information from system crashes or data theft.
● Differentiating access permissions for different users.
The database system is divided into three components: Query Processor, Storage
Manager, and Disk Storage.

1. Query Processor: It interprets the requests (queries) received from end user via an
application program into instructions. It also executes the user request which is received
from the DML compiler.

Query Processor contains the following components –

● DML Compiler: It processes the DML statements into low level instruction
(machine language), so that they can be executed.
● DDL Interpreter: It processes the DDL statements into a set of table
containing meta data (data about data).
● Embedded DML Pre-compiler: It processes DML statements embedded in
an application program into procedural calls.
● Query Optimizer: It executes the instruction generated by DML Compiler.

2. Storage Manager: Storage Manager is a program that provides an interface between


the data stored in the database and the queries received. It is also known as Database
Control System. It maintains the consistency and integrity of the database by applying the
constraints and executing the DCL statements. It is responsible for updating, storing,
deleting, and retrieving data in the database.

It contains the following components –

● Authorization Manager: It ensures role-based access control, i.e,. checks


whether the particular person is privileged to perform the requested operation
or not.

● Integrity Manager: It checks the integrity constraints when the database is


modified.

● Transaction Manager: It controls concurrent access by performing the


operations in a scheduled way that it receives the transaction. Thus, it ensures
that the database remains in the consistent state before and after the execution
of a transaction.

● File Manager: It manages the file space and the data structure used to
represent information in the database.

● Buffer Manager: It is responsible for cache memory and the transfer of data
between the secondary storage and main memory.

3. Disk Storage: It contains the following components –

● Data Files: It stores the data.


● Data Dictionary: It contains the information about the structure of any
database object. It is the repository of information that governs the metadata.
● Indices: It provides faster retrieval of data item.

What is ER Diagram?

ER Diagram stands for Entity Relationship Diagram, also known as ERD is a


diagram that displays the relationship of entity sets stored in a database. In other
words, ER diagrams help to explain the logical structure of databases. ER diagrams
are created based on three basic concepts: entities, attributes and relationships.
ER Model stands for Entity Relationship Model is a high-level conceptual data model
diagram. ER model helps to systematically analyze data requirements to produce a
well-designed database. The ER Model represents real-world entities and the
relationships between them
.

Why use ER Diagrams?

Here, are prime reasons for using the ER Diagram


● Helps you to define terms related to entity relationship modeling
● Provide a preview of how all your tables should connect, what fields are going
to be on each table
● Helps to describe entities, attributes, relationships
● ER diagrams are translatable into relational tables which allows you to build
databases quickly
● ER diagrams can be used by database designers as a blueprint for implementing
data in specific software applications
● The database designer gains a better understanding of the information to be
contained in the database with the help of ERP diagram
● ERD Diagram allows you to communicate with the logical structure of the
database to users

Facts about ER Diagram Model

Now in this ERD Diagram Tutorial, let’s check out some interesting facts about
ER Diagram Model:
● ER model allows you to draw Database Design
● It is an easy to use graphical tool for modeling data
● Widely used in Database Design
● It is a GUI representation of the logical structure of a Database
● It helps you to identifies the entities which exist in a system and the
relationships between those entities

ER Diagrams Symbols & Notations

Entity Relationship Diagram Symbols & Notations mainly contains three basic
symbols which are rectangle, oval and diamond to represent relationships between
elements, entities and attributes. There are some sub-elements which are based on
main elements in ERD Diagram. ER Diagram is a visual representation of data that
describes how data is related to each other using different ERD Symbols and
Notations.
Following are the main components and its symbols in ER Diagrams:
● Rectangles: This Entity Relationship Diagram symbol represents entity types
● Ellipses : Symbol represent attributes
● Diamonds: This symbol represents relationship types
● Lines: It links attributes to entity types and entity types with other relationship
types
● Primary key: attributes are underlined
● Double Ellipses: Represent multi-valued attributes

Components of the ER Diagram

This model is based on three basic concepts:


● Entities
● Attributes
● Relationships

WHAT IS ENTITY?

A real-world thing either living or non-living that is easily recognizable and


nonrecognizable. It is anything in the enterprise that is to be represented in our
database. It may be a physical thing or simply a fact about the enterprise or an event
that happens in the real world.
An entity can be place, person, object, event or a concept, which stores data in the
database. The characteristics of entities are must have an attribute, and a unique key.
Every entity is made up of some ‘attributes’ which represent that entity.
Examples of entities:
● Person: Employee, Student, Patient
● Place: Store, Building
● Object: Machine, product, and Car
● Event: Sale, Registration, Renewal
● Concept: Account, Course
Notation of an Entity
Entity set:
Student
An entity set is a group of similar kind of entities. It may contain entities with
attribute sharing similar values. Entities are represented by their properties, which also
called attributes. All attributes have their separate values. For example, a student
entity may have a name, age, class, as attributes.

Relationship

Relationship is nothing but an association among two or more entities. E.g., Tom
works in the Chemistry department.

Weak Entities

A weak entity is a type of entity which doesn’t have its key attribute. It can be
identified uniquely by considering the primary key of another entity. For that, weak
entity sets need to have participation.
Strong Entity Set Weak Entity Set

Strong entity set always has a primary It does not have enough attributes to
key. build a primary key.

It is represented by a rectangle symbol. It is represented by a double rectangle


symbol.

It contains a Primary key represented by It contains a Partial Key which is


the underline symbol. represented by a dashed underline
symbol.

The member of a strong entity set is The member of a weak entity set called
called as dominant entity set. as a subordinate entity set.

Primary Key is one of its attributes In a weak entity set, it is a combination


which helps to identify its member. of primary key and partial key of the
strong entity set.
In the ER diagram the relationship The relationship between one strong and
between two strong entity set shown by a weak entity set shown by using the
using a diamond symbol. double diamond symbol.

The connecting line of the strong entity The line connecting the weak entity set
set with the relationship is single. for identifying relationship is double.

Attributes

It is a single-valued property of either an entity-type or a relationship-type.


For example, a lecture might have attributes: time, date, duration, place, etc.
An attribute in ER Diagram examples, is represented by an Ellipse

Types of Attributes Description


Simple attribute Simple attributes can’t be divided any
further. For example, a student’s contact
number. It is also called an atomic value.

Composite attribute It is possible to break down composite


attribute. For example, a student’s full
name may be further divided into first
name, second name, and last name.

Derived attribute This type of attribute does not include in


the physical database. However, their
values are derived from other attributes
present in the database. For example, age
should not be stored directly. Instead, it
should be derived from the DOB of that
employee.

Multivalued attribute Multivalued attributes can have more


than one values. For example, a student
can have more than one mobile number,
email address, etc.

Cardinality
Defines the numerical attributes of the relationship between two entities or entity sets.
Different types of cardinal relationships are:
● One-to-One Relationships
● One-to-Many Relationships
● May to One Relationships
● Many-to-Many Relationships
1.One-to-one:One entity from entity set X can be associated with at most one entity
of entity set Y and vice versa.
Example: One student can register for numerous courses. However, all those courses
have a single line back to that one student.

One-to-many:One entity from entity set X can be associated with multiple entities of
entity set Y, but an entity from entity set Y can be associated with at least one
entity.For example, one class is consisting of multiple students.

3. Many to One
More than one entity from entity set X can be associated with at most one entity of
entity set Y. However, an entity from entity set Y may or may not be associated with
more than one entity from entity set X.
For example, many students belong to the same class

4. Many to Many:
One entity from X can be associated with more than one entity from Y and vice versa.
For example, Students as a group are associated with multiple faculty members, and
faculty members can be associated with multiple students.

How to Create an Entity Relationship Diagram (ERD)

Now in this ERD Diagram Tutorial, we will learn how to create an ER Diagram.
Following are the steps to create an ER Diagram:

Step 1) Entity Identification


We have three entities
● Student
● Course
● Professor
Step 2) Relationship Identification
We have the following two relationships
● The student is assigned a course
● Professor delivers a course

Step 3) Cardinality Identification


For them problem statement we know that,
● A student can be assigned multiple courses
● A Professor can deliver only one course

Step 4) Identify Attributes


You need to study the files, forms, reports, data currently maintained by the
organization to identify attributes. You can also conduct interviews with various
stakeholders to identify entities. Initially, it’s important to identify the attributes
without mapping them to a particular entity.
Once, you have a list of Attributes, you need to map them to the identified entities.
Ensure an attribute is to be paired with exactly one entity. If you think an attribute
should belong to more than one entity, use a modifier to make it unique.
Once the mapping is done, identify the primary Keys. If a unique key is not readily
available, create one.

Entity Primary Key Attribute


Student Student_ID StudentName

Professor Employee_ID ProfessorName

Course Course_ID CourseName

Step 5) Create the ERD Diagram


A more modern representation of Entity Relationship Diagram Example

Best Practices for Developing Effective ER Diagrams

Here are some best practice or example for Developing Effective ER Diagrams.

● Eliminate any redundant entities or relationships


● You need to make sure that all your entities and relationships are properly
labeled
● There may be various valid approaches to an ER diagram. You need to make
sure that the ER diagram supports all the data you need to store
● You should assure that each entity only appears a single time in the ER diagram
● Name every relationship, entity, and attribute are represented on your diagram
● Never connect relationships to each other
● You should use colors to highlight important portions of the ER diagram

You might also like