Overview of Relational Database Systems
Overview of Relational Database Systems
Introduction
Advantages of DBMS
1. Controlling Redundancy
2. Data Sharing
3. Data Consistency
4. Data Integration
5. Data Security
6. Data Atomicity
7. Concurrency Control
Disadvantages of DBMS
1. Costly
2. Complexity
3. Database Failure
4. Large in Size
5. Performance
MySQL
Microsoft Access
Oracle
PostgreSQL
dBASE
In so many fields, we will use a database management system. Databases are widely used.
Let’s see some of the applications where database management system uses
Here are some representative applications:
Banking
Airlines
Universities
Credit card transactions
Telecommunication
Finance
Sales
Manufacturing
Human resources
Culture and scientific information
Transport
Tourism
Telemedicine
Natural resource Management
Production Engineering
Computerized Library Systems
Automated teller Machines
Computerized parts inventory Systems
Banking:
Banking is one of the main applications of databases. We all know there will be a
thousand transactions through banks daily and we are doing this without going to the bank.
This is all possible just because of DBMS that manages all the bank transactions. For
customer information, accounts, and loans, and banking transactions.
Universities:
Now-a-days examinations are done online. So, the universities and colleges are
maintaining DBMS to store Student’s registrations details, results, courses and grade all the
information in the database. For example, telecommunications. Without DBMS there is no
telecommunication company. DBMS is most useful to these companies to store the call
details and monthly postpaid bills. For recording student information, course registrations,
and grades.
Telecommunication:
For keeping records of calls made, generating monthly bills, maintaining balances on prepaid
calling cards, and storing information about the communication networks.
Finance:
Now-a-days there are lots of things to do with finance like storing sales, holding
information and finance statement management etc. these all can be done with database
systems. For storing information about holdings, sales, and purchases of financial instruments
such as stocks and bonds.
Manufacturing:
Manufacturing companies make products and sell them on a daily basis. To keep
records of all those details DBMS is used For management of supply chain and for tracking
production of items in factories, inventories of items in warehouses/stores, and orders for
items.
Human resources:
Big firms or organizations have numerous specialists or representatives working
under them. They store data about worker’s compensation, assessment, and work with the
assistance of an information base administration framework (DBMS). For information
about employees, salaries, payroll taxes and benefits, and for generation of paychecks.
Military
Military information is very crucial information. And every country has military and
details of the soldiers. This information is kept very securely and that security feature is
provided by the DBMS. The government stores military information like – Details of the
soldiers, Operations performed by soldiers, locations, etc.
To see why database management systems are necessary, let's look at a typical “File-
processing system" supported by a conventional operating system.
Application programs are written to manipulate files to perform the following tasks:
New permanent files are created as required So we can see there are problems with the
straight file-processing approach:
Data isolation
Data in different files.
Data in different formats.
Difficult to write new application programs.
Multiple users
Want concurrency for faster response time.
Need protection for concurrent updates.
E.g. two customers withdrawing funds from the same account at the same time - account has
$500 in it, and they withdraw $100 and $50. The result could be $350, $400 or $450 if no
Security problems
Every user of the system should be able to access only the data
they are permitted to see.
E.g. payroll people only handle employee records, and cannot see customer accounts; tellers
only access account data and cannot see payroll data. Difficult to enforce this with
application programs.
Integrity problems
Data may be required to satisfy constraints.
E.g. no account balance below $25.00.
A DBMS provides a secure and survivable medium for the storage and retrieval of
data.
In real world ,the data is shared among several users and is persistent.
1. Data Redundancy
The same piece of information may be duplicated in several files.
In file system, each application accessed its own private files which cannot be
shared between different applications.
If two applications needs same file then there must be two files for both
application. This caused data redundancy.
Ex:Address,phone no.
2. Data Integrity is Enforced
Accurate data is maintained in database management system. Some kind of
constraints are enforced on the database to maintain integrity. For example, If the data
type is numbers (age) in the table, then you cannot enter text.
3. Inconsistency can be avoided
Data is accessed and manipulated frequently. If two programs are accessing the
same data and one program changed it. Then another programs processes with wrong
data. Database management should avoid the chances of inconsistency.
VIEW OF DATA
Data Abstraction
Many database-systems users are not
computer trained, developers hide the
complexity from users through several levels of
abstraction, to simplify users’ interactions with
the system:
Logical level. The next-higher level of abstraction describes what data are stored in the
database, and what relationships exist among those data. Database administrators, who must
decide what information to keep in the database, use the logical level of abstraction.
View level. The highest level of abstraction describes only part of the entire database. Many
users of the database system do not need all this information; instead, they need to access
only a part of the database. The view level of abstraction exists to simplify their interaction
with the system. The system may provide many views for the same database.
For instance, the following statement in the SQL language defines the account table:
create table account (account-number char(10), balance integer) Execution of the above DDL
statement creates the account table. In addition, it updates a special set of tables called the
data dictionary or data directory. A data dictionary contains metadata—that is, data about
data. The schema of a table is an example of metadata. A database system consults the data
dictionary before reading or modifying actual data.
We specify the storage structure and access methods used by the database system by a
set of statements in a special type of DDL called a data storage and definition language.
These statements define the implementation details of the database schemas, which are
usually hidden from the users.
The data values stored in the database must satisfy certain consistency constraints. For
example, suppose the balance on an account should not fall below $100. The DDL provides
facilities to specify such constraints. The database systems check these constraints every time
the database is updated.
i. Procedural DMLs require a user to specify what data are needed and how to get those data.
ii. Declarative DMLs (also referred to as nonprocedural DMLs) require a user to specify what
data are needed without specifying how to get those data. Declarative DMLs are usually
easier to learn and use than are procedural DMLs. However, since a user does not have to
specify how to get the data, the database system has to figure out an efficient means of
accessing data. The DML component of the SQL language is nonprocedural.
This query in the SQL language finds the name of the customer whose customer-id is 192-83-
7465:
The query specifies that those rows from the table customer where the customer-id is 192-83-
7465
must be retrieved, and the customer-name attribute of these rows must be displayed. Queries
may involve information from more than one table.
For instance, the following query finds the balance of all accounts owned by the customer
with customerid 192-837465.
The levels of abstraction apply not only to defining or structuring data, but also to
manipulating data. At the physical level, we must define algorithms that allow efficient
access to data. At higher levels of abstraction, we emphasize ease of use.
The goal is to allow humans to interact efficiently with the system. The query processor
component of the database system translates DML queries into sequences of actions at the
physical level of the database system.
The Central component is known as the core DBMS which has a query
evaluation engine to execute the queries. The disk storage is used to store the data.
Storage Manager
A storage manager is a program module that provides the interface between the low
level data stored in the database and the application programs and queries submitted to the
system. The Various Components of storage manager are:
It ensures that the database remains in a consistent state despite system failures, and
concurrent executions proceed without conflicting.
File Manager:
It manages the allocation of space on disk storage and the data structures used to
represent information stored on disk.
Buffer Manager:
It is responsible for fetching data from disk storage into main memory and deciding
what data to cache in main memory.
Storage Manager:
It implements several data structures as part of physical system
implementation. Data Files: which store the database itself.
Data Dictionary:
It contains metadata that is data about data. The schema of a table is an example of
metadata. A database system consults the data dictionary before reading and
modifying actual data.
Indices, which provide fast access to data item that hold particular values.
Query Processor
The Query processor is an important part of the database [Link] helps the database
system to simplify and facilitate access to data.
DDL interpreter ,which interprets DDL statements and records the definitions in the data
dictionary.
DML Compiler,which translate DML statement in a query language into an evaluation plan
consisting of low level instructions that the query evaluation engine understands.
Query evaluation engine, Which executes low-level instructions generated by the DML
compiler.
Levels of Abstraction
Physical level : The three level architecture for database system describes how a record (E.g.,
customer) is stored.
street: string;
city : integer;
end;
1.7.3View level: application programs hide details of data types. Views can also
information (E.g., salary) for security purposes.
View of Data
I. APPLICATION PROGRAMMERS
As its name shows, application programmers are the one who writes application
programs that uses the database. These application programs are written in programming
languages like COBOL or PL (Programming Language 1), Java and fourth generation
language. These programs meet the user requirement and made according to user
requirements. Retrieving information, creating new information and changing existing
information is done by these application programs. They interact with DBMS through DML
(Data manipulation language) calls. And all these functions are performed by generating a
request to the DBMS. If application programmers are not there then there will be no
creativity in the whole team of Database.
End users are those who access the database from the terminal end. They use the
developed applications and they don’t have any knowledge about the design and working of
database. These are the second class of users and their main motto is just to get their task
done.
There are basically two types of end users that are discussed below.
a. Casual User
b. Naive User
Casual User: These users have great knowledge of query language. Casual users access
data by entering different queries from the terminal end. They do not write programs but
they can interact with the system by writing queries.
Naïve: Any user who does not have any knowledge about database can be in this
category.
Their task is to just use the developed application and get the desired results.
History:
E-R diagrams are used to represent E-R model in a database, which makes them easy to
be
converted into relations (tables).
E-R diagrams provide the purpose of real-world modeling of objects which makes them
These diagrams are very easy to understand and easy to create even by a naive user.
A. Entity:- Any real-world object can be represented as an entity about which data can be
stored in a database. All the real world objects like a book, an organization, a product, a car, a
person are the examples of an entity.
Strong entity: A strong entity has a primary key attribute which uniquely identifies each
entity.
Weak entity: A weak entity does not have a primary key attribute and depends on other
entity via a foreign key attribute.
B. Attribute:- Each entity has a set of properties. These properties of each entity are termed
as attributes. For example, a car entity would be described by attributes such as price,
registration number, model number, color etc. Attributes are indicated by ovals in an E-R
diagram. A primary key attribute is depicted by an underline in the E-R diagram.
Single valued attribute:- If an attribute of a particular entity represents single value for
each
instance, then it is called a single-valued attribute. For example, Ramesh, Kamal and Suraj
are the instances of entity ‘student’ and each of them is issued a separate roll number. A
single oval is used to represent this attribute.
Multi valued attribute:– An attribute which can hold more than one value, it is then
termed as multi-valued attribute. For example, phone number of a person. Symbol of multi-
valued
attribute is shown below,
Derived attribute: A derived attribute calculate its value from another attribute. For
example, ‘age’ is a derived attribute if it calculates its value from ‘current date’ & ‘birth date’
attributes.
For example,
An employee assigned a project.
Teacher teaches a student.
Author writes a book.
A diamond is used to symbolically represent a relationship in the e-r diagram.
Binary relationships:- when two entities are associated to form a relation, then it is
known as a binary relationship. For example, A person works in a company. Most of the
times we use only binary relationship in an e-r diagram. The teacher-student example shown
above signifies a binary relationship. Other types of relationships are ternary and quaternary.
As the name signifies, a ternary relationship is associated with three entities and a quaternary
relationship is associated with four entities.
An entity type has a key attribute which uniquely identifies each entity in the entity
set. But there exists some entity type for which key attribute can’t be defined. These are
called Weak Entity type.
For example, A company may store the information of dependants (Parents, Children,
Spouse) of an Employee. But the dependents don’t have existence without the employee. So
Dependent will be weak entity type and Employee will be Identifying Entity type for
Dependent. A weak entity type is represented by a double rectangle. The participation of
weak entity type is always total. The relationship between weak entity type and its identifying
strong entity type is called identifying relationship and it is represented by double diamond.
KEYS
For example: In Student table, ID is used as a key because it is unique for each student. In
PERSON table, passport_number, license_number, SSN are keys since they are unique for
each person.
TYPES OF KEY
1. Primary key
It is the first key which is used to identify one and only one instance of an entity uniquely. An
entity can contain multiple keys as we saw in PERSON table. The key which is most suitable
from those lists become a primary key.
In the EMPLOYEE table, ID can be primary key since it is unique for each employee. In the
EMPLOYEE table, we can even select License_Number and Passport_Number as primary
key since they are also unique.
For each entity, selection of the primary key is based on requirement and developers.
2. Candidate key
A candidate key is an attribute or set of an attribute which can uniquely identify a tuple.
The remaining attributes except for primary key are considered as a candidate key. The
3. Super Key
Super key is a set of an attribute which can uniquely identify a tuple. Super key is a superset
of a candidate key.
4. Foreign key
Foreign keys are the column of the table which is used to point to the primary key of
another table.
In a company, every employee works in a specific department, and employee and
department are two different entities. So we can't store the information of the department in
the employee table. That's why we link these two tables through the primary key of one table.
We add the primary key of the DEPARTMENT table, Department_Id as a new attribute
in the EMPLOYEE table.
Now in the EMPLOYEE table, Department_Id is the foreign key, and both the tables are
related.
RELATIONAL DATABASE
Developed by E.F. Codd from IBM in the 1970s, the relational database model allows any
table to be related to another table using a common attribute. Instead of using hierarchical
structures to organize data, Codd proposed a shift to using a data model where data is stored,
accessed, and related in tables without reorganizing the tables that contain them.
Think of the relational database as a collection of spreadsheet files that help businesses
organize, manage, and relate data. In the relational database model, each “spreadsheet” is a
Attributes (columns) specify a data type, and each record (or row) contains the value of that
specific data type. All tables in a relational database have an attribute known as the primary
key, which is a unique identifier of a row, and each row can be used to create a relationship
between different tables using a foreign key—a reference to a primary key of another
existing table.
Let’s take a look at how the relational database model works in practice:
Customer name
Billing address
Shipping address
Order date
Shipping date
Order status
Here, the primary key to identify a specific order is the Order ID. You can connect a
customer with an order by using a foreign key to link the customer ID from
the Customer table.
The two tables are now related based on the shared customer ID, which means you can query
both tables to create formal reports or use the data for other applications. For instance, a retail
branch manager could generate a report about all customers who made a purchase on a
specific date or figure out which customers had orders that had a delayed delivery date in the
last month.
The above explanation is meant to be simple. But relational databases also excel at showing
very complex relationships between data, allowing you to reference data in more tables as
long as the data conforms to the predefined relational schema of your database.
As the data is organized as pre-defined relationships, you can query the data declaratively. A
declarative query is a way to define what you want to extract from the system without
expressing how the system should compute the result. This is at the heart of a relational
system as opposed to other systems.
Now that you understand how relational databases work, you can begin to learn about the
many relational database management systems that use the relational database model. A
relational database management system (RDBMS) is a program used to create, update, and
manage relational databases. Some of the most well-known RDBMSs include MySQL,
PostgreSQL, MariaDB, Microsoft SQL Server, and Oracle Database.
Cloud-based relational databases like Cloud SQL, Cloud Spanner and AlloyDB have become
increasingly popular as they offer managed services for database maintenance, patching,
capacity management, provisioning and infrastructure support.
Ready to get started? Create a 90-day Cloud Spanner free trial instance with 10 GB of storage
at no cost.
There are many other advantages to using relational databases to manage and store your
data, including:
DATABASE DESIGN
Relational database design (RDD) models’ information and data into a set of tables with rows
and columns. Each row of a relation/table represents a record, and each column represents an
attribute of data. The Structured Query Language (SQL) is used to manipulate relational
databases. The design of a relational database is composed of four stages, where the data are
modeled into a set of related tables.
Redundancy: Redundancy refers to the duplicity of the data. There can be specific use cases
when we need or don’t need redundancy in our Database. For ex: If we have a banking system
application then we may need to strictly prevent redundancy in our Database.
Schema: Schema is a logical container that defines the structure & manages the organization of
the data stored in it. It consists of rows and columns having data types for each column.
Records/Tuples: A Record or a tuple is the same thing, basically its where our data is stored
inside a table
Indexing: Indexing is a data structure technique to promote efficient retrieval of the data stored
in our database.
Data Integrity & Consistency: Data integrity refers to the quality of the information stored in
our database and consistency refers to the correctness of the data stored.
Data Models: Data models provide us with visual modeling techniques to visualize the data &
the relationship that exists among those data. Ex: model, Network Model, Object Oriented
Model, Hierarchical model, etc.
Functional Dependency: Functional Dependency is a relationship between two attributes of
the table that represents that the value of one attribute can be determined by another. Ex: {A ->
B}, A & B are two attributes and attribute A can uniquely determine the value of B.
Transaction: Transaction is a single logical unit of work. It signifies that some changes are
made in the database. A transaction must satisfy the ACID or BASE properties (depending on
the type of Database).
Schedule: Schedule defines the sequence of transactions in which they’re executed by one or
multiple users.
Concurrency: Concurrency refers to allowing multiple transactions to operate simultaneously
without interfering with one another.
Database Design Lifecycle
The database design lifecycle goes something like this:
database Design Lifecycle
The database design lifecycle goes something like this:
1. Requirement Analysis
It’s very crucial to understand the requirements of our application so that you can think in
productive terms. And imply appropriate integrity constraints to maintain the data integrity
& consistency.
2. Logical & Physical Design
This is the actual design phase that involves various steps that are to be taken while
designing a database. This phase is further divided into two stages:
Logical Data Model Design: This phase consists of coming up with a high-level design
of our database based on initially gathered requirements to structure & organize our
data accordingly. A high-level overview on paper is made of the database without
considering the physical level design, this phase proceeds by identifying the kind of
data to be stored and what relationship will exist among those data.
Entity, Key attributes identification & what constraints are to be implemented is the
core functionality of this phase. It involves techniques such as Data Modeling to
visualize data, normalization to prevent redundancy, etc.
Physical Design of Data Model: This phase involves the implementation of the logical
design made in the previous stage. All the relationships among data and integrity
constraints are implemented to maintain consistency & generate the actual database.
3. Data Insertion and testing for various integrity Constraints
Finally, after implementing the physical design of the database, we’re ready to input the
data & test our integrity. This phase involves testing our database for its integrity to see if
something got left out or, if anything new to add & then integrating it with the desired
application.
Logical Data Model Design
The logical data model design defines the structure of data and what relationship exists
among those data. The following are the major components of the logical design:
1. Data Models: Data modeling is a visual modeling technique used to get a high-level
overview of our database. Data models help us understand the needs and requirements of
our database by defining the design of our database through diagrammatic representation.
Ex: model, Network model, Relational Model, object-oriented data model.
2. Entity: Entities are objects in the real world, which can have certain properties & these
properties are referred to as attributes of that particular entity. There are 2 types of entities:
Strong and weak entity, weak entity do not have a key attribute to identify them, their
existence solely depends on one 1-specific strong entity & also have full participation in a
relationship whereas strong entity does have a key attribute to uniquely identify them.
Weak entity example: Loan -> Loan will be given to a customer (which is optional) & the
load will be identified by the customer_id to whom the lone is granted.
3. Relationships: How data is logically related to each other defines the relationship of that
data with other entities. In simple words, the association of one entity with another is
defined here.
A relationship can be further categorized into – unary, binary, and ternary relationships.
Unary: In this, the associating entity & the associated entity both are the same. Ex:
Employee Manages themselves, and students are also given the post of monitor hence
here the student themselves is a monitor.
Binary: This is a very common relationship that you will come across while designing
a database.
Ex: Student is enrolled in courses, Employee is managed by different managers, One
student can be taught by many professors.
Ternary: In this, we have 3 entities involved in a single relationship. Ex: an employee
works on a project for a client. Note that, here we have 3 entities: Employee, Project &
Client.
4. Attributes: Attributes are nothing but properties of a specific entity that define its
behavior. For example, an employee can have unique_id, name, age, date of birth (DOB),
salary, department, Manager, project id, etc.
5. Normalization: After all the entities are put in place and the relationship among data is
defined, we need to look for loopholes or possible ambiguities that may arise as a result of
CRUD operations. To prevent various Anomalies such as INSERTION, UPDATION, and
DELETION Anomalies.
Data Normalization is a basic procedure defined for databases to eliminate such anomalies
& prevent redundancy.
An Example of Logical Design
Physical Design
The main purpose of the physical design is to actually implement the logical design that is,
show the structure of the database along with all the columns & their data types, rows,
relations, relationships among data & clearly define how relations are related to each other.
Following are the steps taken in physical design
Step 1: Entities are converted into tables or relations that consist of their properties
(attributes)
Step 2: Apply integrity constraints: establish foreign key, unique key, and composite key
relationships among the data. And apply various constraints.
Step 3: Entity names are converted into table names, property names are translated into
attribute names, and so on.
Step 4: Apply normalization & modify as per the requirements.
Step 5: Final Schemes are defined based on the entities & attributes derived in logical
design.
The Database System is further divided into two components. They are as follows:
Transaction Management
Transactions are a set of operations used to perform a logical set of work. It is the
bundle of all the instructions of a logical operation. A transaction usually means that the
data in the database has changed. One of the major uses of DBMS is to protect the user’s
data from system failures. It is done by ensuring that all the data is restored to a consistent
state when the computer is restarted after a crash. The transaction is any one execution of
The transaction has four properties. These are used to maintain consistency in a database,
before and after the transaction.
Property of Transaction:
Atomicity
Consistency
Isolation
Durability
Atomicity
States that all operations of the transaction take place at once if not, the transactions are
aborted.
There is no midway, i.e., the transaction cannot occur partially. Each transaction is
treated as one unit and either run to completion or is not executed at all.
Atomicity involves the following two operations:
Abort: If a transaction aborts, then all the changes made are not visible.
Commit: If a transaction commits then all the changes made are visible.
Consistency
The integrity constraints are maintained so that the database is consistent before and
after the transaction.
The execution of a transaction will leave a database in either its prior stable state or
anew stable state.
The consistent property of database states that every transaction sees a consistent
database instance.
The transaction is used to transform the database from one consistent state to another
consistent state.
Isolation
It shows that the data which is used at the time of execution of a transaction cannot be
used by the second transaction until the first one is completed.
In isolation, if the transaction T1 is being executed and using the data item X, then that
data item can’t be accessed by any other transaction T2 until the transaction T1ends.
The concurrency control subsystem of the DBMS enforced the isolation property
Durability
The durability property is used to indicate the performance of the database’s consistent
state. It states that the transaction made the permanent changes.
They cannot be lost by the erroneous operation of a faulty transaction or by the system
failure. When a transaction is completed, then the database reaches a state known as the
consistent state. That consistent state cannot be lost, even in the event of a system’s
failure.
The recovery subsystem of the DBMS has the responsibility of Durability property.
Data mining is a process of extracting useful information, patterns, and trends from
raw data. Data analysis is a method that can be used to investigate, analyze, and demonstrate
data to find useful information. The data mining output gives the data pattern.
Data analysis and data mining are a subset of business intelligence (BI), which also
incorporates data warehousing, database management systems, and Online Analytical
Processing (OLAP). The technologies are frequently used in customer relationship
management (CRM) to analyze patterns and query customer databases.
[Link] Analysis :
Data Analysis involves extraction, cleaning, transformation,
modeling and visualization of data with an objective to extract important and helpful
information which can be additional helpful in deriving conclusions and
make choices.
The main purpose of data analysis is to search out some important information in
raw data so the derived knowledge is often used to create vital choices.
[Link] Mining :
Data mining could be called as a subset of Data Analysis. It is the exploration and
analysis of huge knowledge to find important patterns and rules.
Data mining could also be a systematic and successive method of identifying and
discovering hidden patterns and data throughout a big dataset. Moreover, it is used to build
machine learning models that are further used in artificial intelligence.
Data Mining is a process used by organizations to extract specific data from huge databases
to solve business problems. It primarily turns raw data into useful information.
Data Mining is similar to Data Science carried out by a person, in a specific situation, on a
particular data set, with an objective. This process includes various types of services such as
text mining, web mining, audio and video mining, pictorial data mining, and social media
mining. It is done through software that is simple or highly specific. By outsourcing data
mining, all the work can be done faster with low operation costs. Specialized firms can also
use new technologies to collect data that is impossible to locate manually. There are tonnes of
information available on various platforms, but very little knowledge is accessible. The
biggest challenge is to analyze the data to extract important information that can be used to
solve a problem or for company development. There are many powerful instruments and
techniques available to mine data and find better insight from it.
Relational Database:
Data warehouses:
A Data Warehouse is the technology that collects the data from various sources within the
organization to provide meaningful business insights. The huge amount of data comes from
multiple places such as Marketing and Finance. The extracted data is utilized for analytical
purposes and helps in decision- making for a business organization. The data warehouse is
designed for the analysis of data rather than transaction processing.
Data Repositories:
The Data Repository generally refers to a destination for data storage. However, many IT
professionals utilize the term more clearly to refer to a specific kind of setup within an IT
structure. For example, a group of databases, where an organization has kept various kinds of
information.
Object-Relational Database:
Transactional Database:
A transactional database refers to a database management system (DBMS) that has the
potential to undo a database transaction if it is not performed appropriately. Even though this
was a unique capability a very long while back, today, most of the relational database
systems support transactional database activities.
o Many data mining analytics software is difficult to operate and needs advance training
to work on.
o Different data mining instruments operate in distinct ways due to the different
algorithms used in their design. Therefore, the selection of the right data mining tools
is a very challenging task.
Data Mining is primarily used by organizations with intense consumer demands- Retail,
Communication, Financial, marketing company, determine price, consumer preferences,
product positioning, and impact on sales, customer satisfaction, and corporate profits. Data
mining enables a retailer to use point-of-sale records of customer purchases to develop
products and promotions that help the organization to attract the customer.