I guess the
first question is really, "What is a database"?. A database is an
organized collection of data. The data can be textual, like order or inventory
data, or it can be pictures, programs or anything else that can be stored on a
computer in binary form. A
relational database stores the data in the form of tables and columns. A table
is the category of data, like Employee, and the columns are information about
the category, like name or address.
Some
databases have minimal feature sets and only store data, while others include
programming languages, facilities and utilities to support enterprise-level
applications like ERP and data warehousing. Oracle is the #1 database and has
the most advanced feature set.
Oracle is
made up of a set of processes running in your operating system. These processes
manage how data is stored and how it is accessed. I will cover these processes
in detail in the future; but for now we just need to understand that Oracle is
a program that is running in the background, maintaining your data for you and
figuring out where it should go on your hard drive.
In almost
all relational databases, data is accessed through SQL, or Structured Query
Language, and Oracle is no exception. SQL allows you to SELECT your data,
INSERT new records, UPDATE existing records and DELETE records you want to get
rid of. SQL can be embedded in other languages or you can run scripts of SQL
directly against the database.
PL/SQL is
the procedural language extension to SQL. PL/SQL is a programming language like
C, Java or Pascal. In the Oracle world, there is no better way to access your
data from inside a program. SQL can be natively embedded in PL/SQL programs. I
will be using both SQL and PL/SQL very heavily in my future articles.
PL/SQL is
a feature-rich language geared toward developing database applications. PL/SQL
is the procedural language of the database, but it is also the procedural
language for most of Oracle's tools. Programs that run inside the database are
called stored procedures. These stored procedures are almost always PL/SQL, but
can be written in Java.
Some of
Oracle's tools to access the database and create programs are:
SQL*Plus has
a command line interface. With it, you can access the database and write stored
procedures, you can run SQL commands to retrieve data and you can run scripts
of either SQL, PL/SQL or built-in SQL*Plus commands, or a mixture of those
three things.
Oracle Developer is
a 4GL GUI application Builder. With Developer, you can create forms, reports,
and graphics. Oracle*Forms and Oracle*Reports are two components of Oracle
Developer. Earlier versions created client-server applications, but the more
recent versions create web applications that run under the Oracle Application
Server (OAS). OAS is a web-based application server sold by Oracle. OAS is
licensed separately and is very expensive (as are its closed source
competitors). The current version is OAS 10g.
HTML DB is
a fairly new application builder geared toward web development (added to the DB
with release 9iR2). HTML DB does not need an application server. This tool runs
from the database and can be presented to the web using the Apache web server
that comes with the database. Since this is not an additional license, it
provides a cheaper way to develop applications. Developer is a feature-rich
thick client with all of the normal GUI widgets. HTML DB is HTML-based and is
very thin and limited to the HTML provided widgets.
Oracle Enterprise Manager (OEM) is
the Enterprise GUI tool to manage the database. From this tool, you can perform
any action in the database that is required. This tool is primarily used for
administration but can also be provided to developers for application tuning
and monitoring. In Oracle 10g, OEM also provides Grid control.
There are
also a lot of third party tools for accessing the database. For our purposes,
our primary tool for data access will be SQL*Plus. In the future, I will cover
creating applications with HTML DB and accessing your data with some choice
third-party tools.
How about
Java? Java is the current hot language, especially on the web. I will also be
covering Java in the database in future articles. Java is natively supported by
Oracle.
0 comments: