Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 18

W3CODER

What would you learn in this session:

Oracle Database –
1. What is Oracle?
2. Who is Oracle?
3. What is Database?
4. Three Tier Architechture.
5. What is RDBMS.
6. What is Table, field and column.
7. Difference between DBMS and RDBMS.
8. The History of Oracle.
9. Normalizations Techniques.
10. Installing Oracle 12C DB in Windows.
What is Oracle?

The Oracle Database (commonly referred to as Oracle RDBMS or simply as Oracle) is an


object-relational database management system produced and marketed by Oracle
Corporation.

Larry Ellison and his friends, former co-workers Bob Miner and Ed Oates, started the
consultancy Software Development Laboratories (SDL) in 1977. SDL developed the
original version of the Oracle software. The name Oracle comes from the code-name of a
CIA-funded project Ellison had worked on while previously employed by Ampex.

Who is oracle?

Oracle Corporation is an American multinational computer technology


corporation headquartered in Redwood City, California, United States. The
company specializes in developing and marketing computer hardware
systems and enterprise software products – particularly its own brands of
database management systems.

What is a Database?

A database is basically a collection of information organized in such a


way that a computer program can quickly select desired pieces of data.
You can think of a database as an electronic filing system.

Creating an account on oracle.

The Oracle Technology Family:


http://www.oracle.com/technetwork/index.html

Three Tier Architecture.


The design of a DBMS depends on its architecture. It can be centralized or decentralized
or hierarchical. The architecture of a DBMS can be seen as either single tier or multi-tier.
An n-tier architecture divides the whole system into related but independent n modules,
which can be independently modified, altered, changed, or replaced.

In 1-tier architecture, the DBMS is the only entity where the user directly sits on the
DBMS and uses it. Any changes done here will directly be done on the DBMS itself. It
does not provide handy tools for end-users. Database designers and programmers
normally prefer to use single-tier architecture.
If the architecture of DBMS is 2-tier, then it must have an application through which the
DBMS can be accessed. Programmers use 2-tier architecture where they access the
DBMS by means of an application. Here the application tier is entirely independent of the
database in terms of operation, design, and programming.

3-tier Architecture

A 3-tier architecture separates its tiers from each other based on the complexity of the
users and how they use the data present in the database. It is the most widely used
architecture to design a DBMS.

Database (Data) Tier − At this tier, the database resides along with its query processing
languages. We also have the relations that define the data and their constraints at this
level.

Application (Middle) Tier − At this tier reside the application server and the programs
that access the database. For a user, this application tier presents an abstracted view of the
database. End-users are unaware of any existence of the database beyond the application.
At the other end, the database tier is not aware of any other user beyond the application
tier. Hence, the application layer sits in the middle and acts as a mediator between the
end-user and the database.
User (Presentation) Tier − End-users operate on this tier and they know nothing about
any existence of the database beyond this layer. At this layer, multiple views of the
database can be provided by the application. All views are generated by applications that
reside in the application tier. Multiple-tier database architecture is highly modifiable, as
almost all its components are independent and can be changed independently.

What is RDBMS?

RDBMS stands for Relational Database Management System. RDBMS data is structured
in database tables, fields and records. Each RDBMS table consists of database table rows.
Each database table row consists of one or more database table fields. 

RDBMS store the data into collection of tables, which might be related by common fields
(database table columns). RDBMS also provide relational operators to manipulate the
data stored into the database tables. Most RDBMS use SQL as database query language.

Edgar Codd introduced the relational database model. Many modern DBMS do not
conform to the Codd’s definition of a RDBMS, but nonetheless they are still considered
to be RDBMS.The most popular RDBMS are MS SQL Server, DB2, Oracle and MySQL.

What is table?

The data in RDBMS is stored in database objects called tables. The table is a collection of related data
entries and it consists of columns and rows.

Remember, a table is the most common and simplest form of data storage in a relational database.
Following is the example of a CUSTOMERS table:

+----+----------+-----+-----------+----------+

| ID | NAME | AGE | ADDRESS | SALARY |

+----+----------+-----+-----------+----------+

| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |

| 2 | Khilan | 25 | Delhi | 1500.00 |

| 3 | kaushik | 23 | Kota | 2000.00 |

| 4 | Chaitali | 25 | Mumbai | 6500.00 |

| 5 | Hardik | 27 | Bhopal | 8500.00 |

| 6 | Komal | 22 | MP | 4500.00 |

| 7 | Muffy | 24 | Indore | 10000.00 |

+----+----------+-----+-----------+----------+

What is field?
Every table is broken up into smaller entities called fields. The fields in the
CUSTOMERS table consist of ID, NAME, AGE, ADDRESS and SALARY.

A field is a column in a table that is designed to maintain specific information about


every record in the table.

What is record or row?

A record, also called a row of data, is each individual entry that exists in a table. For
example there are 7 records in the above CUSTOMERS table. Following is a single row
of data or record in the CUSTOMERS table:

+----+----------+-----+-----------+----------+

| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |

+----+----------+-----+-----------+----------+

A record is a horizontal entity in a table.

What is column?
A column is a vertical entity in a table that contains all information associated with a
specific field in a table.

For example, a column in the CUSTOMERS table is ADDRESS, which represents


location description and would consist of the following:

+-----------+

| ADDRESS |

+-----------+

| Ahmedabad |

| Delhi |

| Kota |

| Mumbai |

| Bhopal |

| MP |

| Indore |
DBMS vs RDBMS

What is DBMS?
DBMS is the abbreviated form of DataBase Management System.

Database management system is a computer software component introduced during


1960’s. It is used for controlling various databases in the desktop computer or server. It
was also termed as Navigational Database Management System. During 1970’s RDBMS
or Relational database management system came into existence. We’ll see about RDBMS
later in this article.

Database management system is the means of controlling databases either in the hard


disk in a desktop system or on a network. Database management system is used for
creating database, maintained database and provides the means of using the database.
DBMS doesn’t consider relationship between the tables. Instead it will take the approach
of manual navigation. This has led to severe performance problems when dealing with
complex and high amount of data.

DBMS has several components. Some of the major components are external


interface, database language engine, query optimizer, database engine, storage
engine, DBMS management component, etc..

What is RDBMS?
RDBMS is the abbreviated form
of Relational DataBase Management System.

Relational database management system was introduced in 1970’s. RDBMS avoided the
navigation model as in old DBMS and introduced Relational model. The relational model
has relationship between tables using primary keys, foreign keys and indexes. Thus the
fetching and storing of data become faster than the old Navigational model. So RDBMS
is widely used by the enterprises and developers for storing complex data.
RDBMS table relationship diagram
 
Database Management System vs. Relational Database
Management System:

The below table lists downs some of the major differences


between DBMS and RDBMS.

Sl.# DBMS RDBMS

1 Introduced in 1960s. Introduced in 1970s.

During introduction it followed the navigational


This model uses relationship between tables using
2 modes (Navigational DBMS) for data storage
primary keys, foreign keys and indexes.
and fetching.

Data fetching is slower for complex and large


3 Comparatively faster because of its relational model.
amount of data.

4 Used for applications using small amount of Used for complex and large amount of data.
Sl.# DBMS RDBMS

data.

Keys and indexes are used in the tables to avoid


5 Data Redundancy is common in this model
redundancy.

Example systems are dBase, Microsoft Acces, Example systems are SQL Server, Oracle , MySQL,
6
LibreOffice Base, FoxPro. MariaDB, SQLite.
 

The History of Oracle

Oracle has a 3 decade history, outlasting many of its predecessors.  This brief
summary traces the evolution of Oracle from its initial inception to its current
status as the world moist flexible and robust database management system.

Founded in August 1977 by Larry Ellison, Bob Miner, Ed Oates and Bruce Scott, Oracle
was initially named after "Project Oracle" a project for one of their clients, the C.I.A, and
the company that developed Oracle was dubbed "Systems Development Labs", or SDL.   
Although they may not have realized it at the time, these four men would change the
history of database management forever.In 1978 SDL was renamed Relational Software
Inc (RSI) to market their new database. 

1979 - Oracle release 2

The first commercial RDBMS was built using PDP-11 assembler language. Although
they created a commercial version of RDBMS in 1977, it wasn't available for sale until
1979 with the launch of Oracle version 2. The company decided against starting with
version 1 because they were afraid that the term "version 1" might be viewed negatively
in the marketplace.  USA Air Force and then CIA were the first customers to use Oracle
2. In 1982 there was another change of the company?s name, from RSI to
Oracle Systems Corporation so as to match its popular database name.  The
current company name comes from a CIA project that Larry Ellison had
previously worked on code named Oracle.
1983 - Oracle release 3

The Oracle version 3 was developed in 1983. This version was assembled using
C programming language and could run in mainframes, minicomputers, and
PCs ? or any hardware with a C compiler. It supported the execution of SQL
statements and transactions. This version also included new options of pre-join
data to increase Oracle optimization.

1984 - Oracle release 4

Despite the advances introduced in version 3, demand was so great that Oracle
was compelled to improve the software even further with the release of version
4 in 1984. Oracle version 4 included support for reading consistency, which
made it much faster than any previous version.  Oracle version 4 also brought
us the introduction of the export/import utilities and the report writer, which
allows one the ability to create a report based on a query.

1985 - Oracle release 5

With the introduction of version 5 in 1985, Oracle addressed the increasing use
of the internet in business computing.  This version was equipped with the
capability to connect clients? software through a network to a database
server.  The Clustering Technology was introduced in this version as well and
Oracle became the pioneer using this new concept ? which would later be
known as Oracle Real Application Cluster in version 9i.  Oracle version 5
added some new security features such as auditing, which would help
determine who and when someone accessed the database.

Oracle version 5.1 was launched in 1986 and allowed for supporting
distributed queries. Later that same year Oracle released SQL*Plus, a tool
that offers ad hoc data access and report writing.  1986 also brought the release
of SQL*Forms, an application generator and runtime system with facilities for
simple application deployment.

1988 - Oracle release 6

The PL/SQL language came with Oracle version 6 in 1988.  This version


provided a host of new features including the support of OLTP high-speed
systems, hot backup capability and row level locking ? which locks only the
row or rows being used during a writing operation, rather than locking an
entire table.  Prior to the hot backup feature, database administrators were
required to shutdown the database to back it up.  Once the hot backup
feature was introduced, DBA?s could do a backup while the database was
still online.

Oracle Parallel Server was introduced in Oracle version 6.2 and was used
with DEC VAX Cluster. This new feature provided high availability
because more than one node (server) could access the data in database.
With the increased availability this feature also accelerated the
performance of the system that was sharing users? connections between
nodes.

1992 - Oracle release 7

1992 was a memorable year for Oracle.  The company announced Oracle


version 7, which was the culmination of four years of hard work and two years
of customer testing before release to market.  This version of Oracle provided a
vast array of new features  and capabilities in areas such as security,
administration, development, and performance.  Oracle 7 also addressed
security concerns by providing full control of who, when, and what users
were doing in the database. Version 7 also allowed us to monitor every
command, the use of privileges and the user?s access to a particular item.
With Oracle 7 users could use stored procedures and had triggers to enforce
business-rules. Roles were created at this version to make the security
maintenance easier for users and privileges. The two-phase commit was
added to support distributed transactions.

Oracle7 Release 7.1 introduced some good new capabilities for database
administrators, such as parallel recovery and read-only tablespaces. For the
application developments, Oracle inserted the dynamic SQL, user-defined
SQL functions and multiple same-type triggers. The first 64-bit DBMS was
introduced within this version as well as the VLM (Very Large Memory)
option.  The feature Oracle Parallel Query could make some complex
queries run 5 to 20 times faster.

In 1996 Oracle 7.3 was shipped, offering customers the ability to manage all
kinds of data types; including video, color images, sounds and spatial
data.  1996 also brought the release of Oracle's first biometric
authentication for a commercially available database.  This technology
could analyze human characteristics, both physical and behavioral, for
purposes of authentication.

1997 - Oracle release 8


The Oracle 8 Database was launched in 1997 and was designed to work with
Oracle's network computer (NC). This version supported Java, HTML and
OLTP. 

1998 - Oracle release 8i

Just one year later Oracle released Oracle 8i which was the first database to
support Web technologies such as Java and HTTP.  In 2000 Oracle 8i
Parallel Server was working with Linux which eliminated costly downtime.

2001 - Oracle release 9i

Oracle Real Application Cluster came with Oracle 9i Database in 2001. This
feature provides software for clustering and high availability in Oracle database
environments.  Supporting native XML was also a new feature of Oracle 9i and
this was the first relational database to have these characteristics. Version 9i
release 2 enabled Oracle to integrate relational and multidimensional
database. Despite the fact that hard disks were becoming  cheaper, data was
increasing very quickly in databases and Oracle 9i came with a special
technology named table compression that reduced  the size of tables by  3 to
10 times  and increased the performance  when accessing those tables.

2003 - Oracle release 10g

Although Oracle 9i had only been in the market for two years, Oracle launched
version 10g in 2003.  The release of 10g brought us the introduction to Grid Computing
technology.  Data centers could now share hardware resources, thus lowering the cost of
computing infrastructure.  10g was also the first Oracle version to support 64-bit on
Linux.  With the introduction of the 10g Express Edition in 2005, Oracle gave small
business and startup corporations a viable option to integrate Oracle into the workplace at
no cost. 

2007 - Oracle  release  11g

Before 12C The latest version of Oracle Database is 11g which was released on
July 11th 2007. This version introduced more features than any other in Oracle
history.  This version includes:

 Oracle Database Replay, a tool that captures SQL statements and lets
you replay them all in another database to test the changes before you
actually apply then on a production database;
 Transaction Management using Log Miner and Flashback Data Archive
to get DML statements from redo log files;
  Virtual Column Partitioning;
 Case sensitive passwords;
 Online Patching;
 Parallel Backups on same file using RMAN and many others.

Oracle is known for growth and change, which is why it is important to


continually study its history and previous lessons learned while embracing new
features and functionality. Throughout its history Oracle has acquired Database
and Software Applications companies in order to provide more complete
solutions to its customers and increase the credibility of its products.  Today
Oracle has more than 320,000 customers and is present in 145 countries
making it one of the elite companies in its field.

At the moment the actual version of Oracle database server is 12c (12.1.0.2) that
includes the following remarkable features:
– Oracle Database In-Memory
– Oracle Big Data SQL
– Oracle JSON Document Store
– Oracle REST Data Services
– Improvements to Oracle Multitenant
– Advanced Index Compression
– Zone Maps
– Approximate Count Distinct
– Attribute Clustering
– Full Database Caching
– Rapid Home Provisioning
I’ll also try to place below my first draft of the history of Oracle
database innovations and version releases.

2013 – Oracle Database 12c R1


– New Multitenant and Pluggable database concept
– Adaptive Query Optimization
– Online Stats Gathering
– Temporary UNDO
– In Database Archiving
– Invisible Columns
– PGA Aggregate Limit setting
– DDL Logging
– Flash ASM
Pluggable Databases:
Pluggable databases will allow multiple databases to run under one copy, or instance, of
the Oracle database software. Pluggable databases allow multiple tenant databases to run
under one copy of Oracle 12c. In fact, Oracle 12c can run up to 250 user databases,
Lewellyn said, adding that 250 is an arbitrary number that Oracle chose, and the
architecture could probably support more.

Real Application Cluster:


Oracle Real Application Clusters (Oracle RAC) is a clustered version of Oracle Database
based on a comprehensive high-availability stack that can be used as the foundation of a
database cloud system as well as a shared infrastructure, ensuring high availability,
scalability, and agility for any application.

Data Guard:
Oracle Data Guard ensures high availability, data protection, and disaster recovery for
enterprise data. Data Guard provides a comprehensive set of services that create,
maintain, manage, and monitor one or more standby databases to enable production
Oracle databases to survive disasters and data corruptions. Data Guard maintains these
standby databases as transactionally consistent copies of the production database. Then, if
the production database becomes unavailable because of a planned or an unplanned
outage, Data Guard can switch any standby database to the production role, minimizing
the downtime associated with the outage. Data Guard can be used with traditional
backup, restoration, and cluster techniques to provide a high level of data protection and
data availability.
Normalization Techniques:

Database normalization, or simply normalization, is the process of organizing


the columns (attributes) and tables (relations) of a relational database to reduce
data redundancy and improve data integrity.

Scene-1:

ID Name Dept HOD Mobile


1 S1 CSE Prof. A 01790721177
2 S2 EC Prof. B 01712128341
3 S3 CSE Prof. A 01790721177
4 S4 IT Prof. C 01912128344
5 S5 CSE Prof. A 01790721177

1- The Yellow marked are redundancy of data.

ID Name Dept HOD Mobile


1 S1 CSE Prof. A 01711111111
2 S2 EC Prof. B 01712128341
3 S3 CSE Prof. A 01711111111
4 S4 IT Prof. C 01912128344
5 S5 CSE Prof. A 01711111111

2- You have to change 3 data if you change the mobile number of CSE Prof A.

Now split the above data:

Student Department
ID Name Dept
1 S1 CSE
2 S2 EC
3 S3 CSE
4 S4 IT
5 S5 CSE

Dept HOD Mobile


CSE Prof A 01711111111
IT Prof C 01912128344
EC Prof B 01712128341
Now modify the table:

ID Name Dept
ID
1 S1 1
2 S2 2
3 S3 1
4 S4 3
5 S5 1

ID Dept HOD Mobile


1 CSE Prof A 01711111111
3 IT Prof C 01912128344
2 EC Prof B 01712128341
--- The End ---

You might also like