2.2.1 database programming.doc
TRANSCRIPT
ERPTS: AN ORACLE WEB APPLICATION
_______________________
A Master's Project
Presented to
Department of Mathematics and Computer Science
Indiana State University
Terre Haute, Indiana
________________________
In Partial Fulfillment
of the Requirements for the
Master of Science Degree
_______________________
by
Mingyin Yang
August 2004
Acknowledgements
I would like to take this opportunity to express my appreciation to those who
helped me with encouragements, technical supports, great thoughts, and invaluable
suggestions.
Many thanks to Dr. Henjin Chi, my project advisor, for his time, kindness,
patience, and strong support. Also thank him deeply for his wonderful advice and warm
encouragements over the years. Without his guidance, I would never have been able to
accomplish this. I will cherish and remember those experiences forever.
The project/study would not be complete without recognizing the efforts of my
committee members, Dr. Robert W. Sternfeld and Dr. Larry E. Kunes, who have nurtured
me over the study period. Special thanks to Aaron King, network administrator,
Department of Mathematics and Computer Science, for his kind and professional
technical support.
Last but not least grateful thanks are given to Dr. Richard A. Easton, my advisor
for the graduate study, chairperson of Department of Mathematics and Computer
Science, for his kind help and constant support throughout my study in Department of
Mathematics and Computer Science.
I am indebted to my family members, Benjamin and Yuhuan, for their love,
sacrifice and support.
TABLE OF CONTENTS
Acknowledgements............................................................................................................. ii
Chapter One
Introduction..................................................................................................................1
Statement of Problem.......................................................................................1
How Hospitals Respond...................................................................................3
Information Technology Solution....................................................................3
How the Documents Structured.......................................................................5
Chapter Two
History of Oracle RDBMS and Oracle Application Architecture ..............................7
Oracle RDBMS Past and Present.....................................................................8
Oracle Database Application Development Features....................................10
Web Application Architecture.......................................................................15
ERPTS Implemented in a 3-tier Architecture................................................17
Chapter Three
Oracle Database Installation and Configuration........................................................21
Oracle Database Installation Concepts..........................................................21
Preinstallation Tasks......................................................................................24
Installing the Oracle9i Database 9.2.0.3 on Windows 2003 Server..............26
Testing the Oracle9i Installation....................................................................33
Exploring the Oracle9i Database Release 2 Installation................................40
iii
Chapter Four
Oracle HTML DB Introduction, Installation and Administration.............................44
Introduction to HTML DB.............................................................................44
Installing HTML DB and Oracle HTTP Server.............................................48
HTML DB Administration............................................................................53
Chapter Five
ERPTS Design and Development..............................................................................61
ERPTS Application Design and Implementation .........................................61
Database Design.............................................................................................68
Chapter Six
ERPTS User’s Guide.................................................................................................80
Getting Started with ERPTS..........................................................................80
Front Desk Register ......................................................................................82
Pre-check Examine........................................................................................84
Treatment Tracking........................................................................................87
Lab Report.....................................................................................................92
X-Ray Report.................................................................................................94
Patient Release...............................................................................................96
Administrator.................................................................................................96
Chapter Seven
Conclusion ................................................................................................................99
Bibliography ..................................................................................................................101
iv
Chapter One
Introduction
Statement of Problem
“Emergency room overcrowding has become more prevalent, and
hospitals in any given community experience emergency room overload
simultaneously, serious threats to patient care are emerging”.[1] Nowadays, it is
very common for patients to complain about emergency room health care
services all over the states. High demand especially during the winter flu season
in emergency rooms in hospitals across America causes overloads. Overall
inpatient capacity strains cause patients to be faced with longer waits in the
Emergency Room to receive necessary services. However, emergency rooms
have faced problems, such as too many patients, too few beds, a severe nursing
shortage, low productivity and communication problems, more than patients can
imagine. “Emergency Room overflows stem from both demand-and supply-side
problems: increased patient demand for ER services and increasingly
constrained supply.”[2] The following are listed as reasons for sure:
A decade of hospitals downsizing and reducing operating costs, local
health care systems have been left with little slack to accommodate
unforeseen trends in patient volume.
In many communities, the number of ERs has decreased because of
hospital closures, Downsizing and mergers, leaving fewer facilities to
respond to growing demand. Between 1994 and 1999, the number of ERs
across the country decreased by 8 percent. (see table1.1)
Change in Hospital Capacity in U.S.A., 1994-1999
1994 1999 PERCENT CHANGE
1994-1999
EMERGENCY
DEPARTMENTS
4,547 4,177 -8.1%
MEDICAL/SURGICAL BEDS 533,848 439,426 -17.7
ICU BEDS 72,229 70,215 -2.8
SPECIAL CARE BEDS* 15,373 14,848 -3.4
TOTAL INPATIENT BEDS** 621,450 524,489 -15.6
*Burn care beds and other special care beds intended for care that is less
intensive than that provided in an ICU and more intensive than that provided in
an acute area.
**Total of medical/surgical beds, ICU beds and special care beds.
Source: American Hospital Association, 1994 and 1999
Table 1.1
Too many patients, too few beds and a severe nursing shortage.
Uninsured patients seeking care in emergency rooms; and increased
enforcement of the federal Emergency Medical Treatment and Labor Act.
Many patients with less serious medical problems seek treatment in ERs
because they have difficulty getting care elsewhere.
2
How hospitals respond
To address the most pressing problems, hospitals in many communities
have developed coordinated diversion programs to ensure patients maintain
reasonable access to care.
1. Hospitals in many communities have developed coordinated diversion
programs to ensure patients maintain reasonable access to care. Some
have moved to expand ER capacity.
2. Others have taken steps to address inpatient capacity constraints by
reopening licensed beds.
3. Many hospitals have tried to improve recruitment and retention of
permanent nursing staff. Another way that hospitals are dealing with the
nursing shortage is by reassigning nurses from outpatient clinics to
inpatient units.
4. Hospitals also are focusing on the bottle-neck problem by improving the
efficiency with which patients are discharged. One approach is to free up
beds by discharging patients earlier in the day. Many have tried to
decrease lengths of stay by moving patients to extended care settings.
Information Technology Solution
Nowadays, Information Technology (IT) plays an important role in Health
Care. In health care, the expectation for IT to deliver cost savings and quality
3
improvements has never been greater. Particularly, tracking of a patient's care in
the ER is crucial. An IT solution smoothes emergency room organization, waiting
time is reduced and communication is improved. An IT solution improves
emergency room patient tracking in the following aspects:
1. It provides better tracking of a patient’s location.
2. It uses a risk rating so severely ill patients are treated in a timely manner.
3. It tracks patient arrival time compared to the current time.
4. It tracks patients’ symptoms, temperature, heart rate, lab and X-ray
examination results.
5. It reduces report waiting time, X-ray cycle time and improves staff
communication.
6. It improves patient care productivity, increases the efficiency of patient
care and patient satisfaction.
7. At any moment it is possible to check the system to see the number of
patients in the waiting room and how many rooms and beds are open.
8. It will help prevent hospital errors.
9. It has the potential to provide complete data integration. All the patient’s
records and information will be stored in the computer system.
10.One system provides information that can be accessed where needed
throughout the hospital.
Emergency Room Patient Tracking System (ERPTS) is a web based
patient tracking system for hospital Emergency Room. This project represents a
4
3-tier architecture which includes Oracle9i R2 DBMS as the database, Oracle
HTTP Server 10g as the Web server, HTML DB 1.0 as the web application
engine, SQL, PL/SQL, JavaScript and HTML as the programming languages.
Windows 2003 server served as the server side operating system (OS) for
database and windows XP professional served as the client side OS for Oracle
HTTP Server and HTML DB engine. ER staff in different locations will have the
ability to store and retrieve patient records, to keep track patient’s location, ER
bed usages and the numbers of patients from the database in the server.
Project primary goals (including the following tasks):
Installation and configuration of Oracle9i
Installation and configuration of HTML DB and HTTP Server
Administration of HTML DB
Database design and Data Manipulation
Implementation of ERPTS using SQL, PL/SQL, HTML, JavaScript
How the documents structured
Chapter Two provides an overview of the history of Oracle Database as
the first commercial Relational Database Management System, describes Oracle
Database Application Development Features, and differentiates two-tier and
three-tier Oracle Application Architecture.
5
Chapter Three describes tasks required to install Oracle Database 9i R2,
outlines some important installation concepts, software and hardware
requirements, step by step installation process, and database configurations.
Chapter Four introduces a new Oracle Web-centric Application
development engine – HTML DB, outlines the processes of installation of HTML
DB and Oracle HTTP Server, and describes HTML DB administrative tasks.
Chapter Five deals with ERPTS web application design and
implementation including database design, implementation of business rules, and
creation of database objects.
Chapter Six is the user’s guide for ER staff in different positions. It
explains how different users could login in, how to insert, update, delete patient
records and how to retrieve patient information.
Chapter Seven is a conclusion of the whole project and describes future
enhancements that could be made.
Bibliography gives a list of the books that were helpful during the
proposal and implementation of this project.
6
Chapter Two
History of Oracle RDBMS and Oracle Application Architecture
Oracle Database has been in the market for 25 years since Oracle
Corporation presented the world with the first commercial Relational Database
Management System (RDBMS) in 1979. In 2003, Oracle garnered 39.8 percent
of the market for software that helps users retrieve and store information, with
IBM nabbing 31.3 percent and Microsoft grabbing 12.1 percent, respectively,
according to the Framingham, Mass.-based firm.
“Over the last 10 years Oracle has transferred itself from being a database
provider, to being a complete solution provider for almost every possible
enterprise application development requirement” [3]. Oracle has achieved this by
embracing open standard languages and technologies such as XML, J2EE
framework, and PL/SQL standard. In particular, the front-to-backend data
integration and support for a web-based application platform have become the
7
most popular features in the enterprise. HTML DB web application engine comes
with Oracle 10g is the combination of above features for rapidly implement web-
based applications.
2.1 Oracle RDBMS Past and Present
1970 The concept of the relational database was first described around 1970 by
Dr. Edgar F. Codd in an IBM research publication entitled "System R4
Relational."
1977 Silicon Valley-based software engineers Larry Ellison, Bob Miner, and Ed
Oates—having just founded the consulting company Software Development
Laboratories—decide they can build a commercially viable RDBMS.
1979 Oracle Release 2--the first commercially available relational database to
use SQL.
1981 The first developing rudimentary tool for reporting is called the Interactive
Application Facility, a declarative tool for generating and running transaction-
processing forms and a predecessor to the Oracle mainstay, SQL*Forms.
1983 The database was rewrite in C which gives the new product maximum
portability to run on many brands and types of computers.
1984 A notable feature is data read consistency was first introduced in Oracle
Database.
8
1985 The versions V5.0 and V5.1 are remarkable because they are among the
first RDBMS to operate in client/server mode.
1986 Oracle begins to explore the concept of clustering, in which multiple loosely
coupled machines not sharing memory can access the same database.
1988 Oracle version 6 introduces one of the most important concepts is row-level
locking, meaning that a transaction performing writes will lock only the affected
rows and not an entire table, to improve system throughput when many users are
accessing the same data. Hot Backup is another contribution.
1992 Oracle releases version 7 of its database. The database has a vast array of
new performance features, administration enhancements, new tools for
application development, and security methods. Oracle7 also includes
capabilities such as stored procedures, triggers, and declarative referential
integrity, making the database programmable and able to enforce business rules.
1995 Oracle CEO Larry Ellison introduces his vision of the network computer, a
small, inexpensive device that makes it easy to run applications that access
information via the internet.
1996 Two years after porting its database to the Microsoft Windows NT operating
system, Oracle ports all of its development tools, object technology, and
modeling and analysis tools to NT as well.
1997 As with Oracle7 and its support of client/server computing, the newly
released Oracle8 database represents the support and extension of a new
paradigm, the internet and network computing.
9
1998 Oracle8i is immediately named the internet database because of its wide
array of new features designed to support internet-based activities and
applications.
1999 Oracle releases a set of products and services designed to help companies
integrate internal applications and interfaces and communicate with trading
partners and customers.
2000 Oracle ships Oracle E-Business Suite Release 11i, the industry's first
internet-enabled integrated suite of business applications that spans both front-
and back-office operations. All applications are built on a single data model that
provides seamless, real-time business intelligence throughout a company.
2001 Oracle releases Oracle9i Database. Possibly Oracle's most significant
release ever, the new database contains technologies that will change the
competitive landscape.
2002 Oracle9i Application Server Release 2 released including support for J2EE
applications and is more closely integrated with Oracle's application development
tools.
2004 Oracle10g released.
2.2 Oracle Database Application Development Features
Applications are often built on the foundation of the Oracle database
system though different architecture approaches. Oracle application architectures
will be described in next section. The features of the Oracle database and related
10
products described in this section are used to create applications. This section
focuses on database programming and Oracle Internet Developer Suite, a set of
tools used in Oracle Database Server and Oracle Application Server.
2.2.1 Database Programming
All flavors of the Oracle database include different languages and
interfaces that allow programmers to access and manipulate the data in the
database. Database programming features usually including SQL, PL/SQL, Java,
XML, C, and C++.
SQL
The ANSI standard Structured Query Language (SQL) provides basic
functions for data manipulation, transaction control, and record retrieval from the
database. However, most end users interact with Oracle through applications
that provide an interface that hides the underlying SQL and its complexity. SQL
was introduced by IBM and become a database standard language in 1992.
Oracle has added more new features in corresponding to development of Oracle
Database.
PL/SQL
Oracle's PL/SQL, a procedural language extension to SQL, is commonly
used to implement program logic modules for applications. PL/SQL can be used
to build stored procedures and triggers, looping controls, conditional statements,
11
and error handling. You can compile and store PL/SQL procedures in the
database. You can also execute PL/SQL blocks via SQL*Plus, an interactive tool
provided with all versions of Oracle.
Java
Oracle8i introduced the use of Java as a procedural language with a Java
Virtual Machine (JVM) in the database. JVM includes support for Java stored
procedures, methods, triggers, Enterprise JavaBeans, CORBA, IIOP, and HTTP.
The inclusion of Java within the Oracle database allows Java developers
to leverage their skills as Oracle applications developers. Java applications can
be deployed in the client, Oracle9i Application Server, or database, depending on
what is most appropriate.
XML
XML, short for eXtensible Markup Language, is crucial for business-to
business data transfer. Oracle has recognized the importance and value of XML.
As a result, Oracle 8i is the first XML-enabled database on the market. The
Oracle XML developer’s Kit provides XML component libraries that can be used
to build XML support applications, such as Business-to-Business, Internet
Applications, Content-management applications, Messaging and Web Services.
12
Third-generation languages
Programmers can interact with the Oracle database from C, C++, COBOL,
or FORTRAN applications by embedding SQL in those applications. Prior to
compiling the applications using a platform's native compilers, you must run the
embedded SQL code through a pre-compiler. The pre-compiler replaces SQL
statements with library calls the native compiler can accept. Oracle provides
support for this capability through optional pre-compilers for languages such as C
and C++ (Pro*C) and COBOL (Pro*COBOL).
2.2.2 Oracle Internet Developer Suite
Many Oracle tools are available to developers to help present data and
build more sophisticated Oracle database applications. This section briefly
describes the main Oracle tools for application development: Oracle Forms
Developer, Oracle Reports Developer, Oracle JDeveloper, Oracle Portal and
Oracle HTML DB.
Oracle Forms Developer
Oracle Forms Developer provides a powerful tool for building forms-based
applications and charts for deployment as traditional client/server applications or
as three-tier browser-based applications via Oracle9i Application Server.
Developer is a fourth-generation language (4GL). With a 4GL, programmer
13
defines applications by defining values for properties, rather than by writing
procedural code. Developer supports a wide variety of clients, including
traditional client/server PCs and Java-based clients. Version 6 of Oracle Forms
Developer adds more options for creating easier-to-use applications, including
support for animated controls in user dialogs and enhanced user controls. The
Forms Builder in Version 6 includes a built-in JVM for previewing web
applications.
Oracle Reports Developer
Oracle Reports Developer provides a development and deployment
environment for rapidly building and publishing web-based reports via Reports for
Oracle9i Application Server. Data can be formatted in tables, matrices, group
reports, graphs, and combinations. High-quality presentation is possible using
the HTML extension Cascading Style Sheets (CSS).
Oracle JDeveloper
Oracle JDeveloper was introduced by Oracle in 1998 to develop basic
Java applications without writing code. JDeveloper includes a Data Form wizard,
a BeansExpress wizard for creating JavaBeans and BeanInfo classes, and a
deployment wizard. JDeveloper includes database development features such as
various Oracle drivers, a Connection Editor to hide the JDBC API complexity,
database components to bind visual controls, and a SQLJ precompiler for
embedding SQL in Java code, which you can then use with Oracle. You can also
14
deploy applications developed with JDeveloper using the Oracle9i Application
Server. Although JDeveloper uses wizards to allow programmers to create Java
objects without writing code, the end result is generated Java code by
JDeveloper.
Oracle9iAS Portal
Oracle9iAS Portal, introduced as WebDB in 1999, provides an HTML-
based tool for developing web-enabled applications and content-driven web
sites. Portal application systems are developed and deployed in a simple
browser environment. Portal includes wizards for developing application
components incorporating "servlets" and access to other HTTP web sites. For
example, Oracle Reports and Discoverer may be accessed as servlets. Portals
can be designed to be user-customizable. They are deployed to the middle-tier
Oracle9i Application Server.
Oracle HTML DB
Oracle HTML DB is a hosted declarative development environment for
developing and deploying database-centric Web applications. The detail
description of HTML DB can be found in chapter four.
2.3 Web application Architecture
Before application architecture technology was introduced into enterprise,
computer applications started life as a small side-project with information limited
15
sharing, minimal work, and a small number of users. Every application
component has to run on a single standalone computer. With the development of
networking and Internet, application architecture make applications more flexible
and extendable. Oracle internet applications are bulit on different application
architectures which take advantages of Oracle Internet Application Server (iAS)
and Oracle Database. The most used application architecture are 2-tier, 3-tier
and N-tier architecture. Technical architecture is concerned about how large
software applications can be or should be organized for better performance and
ease of development. The commonly used option is 3-tier or N-tier architecture.
ERPTS is built on a 3-tier architecture including data tier, business logic tier and
web interface presentation tier.
2-Tier Architecture
A tier or layer in application architecture is a partition of an application
which represents a particular type of functionality. Two-tier architecture is a
simple form which includes two partitions, which are the application logic on one
tier and the data access logic on the other tier. See Fig 2.1
16
Fig 2.1 Two tier (Client/Server) architecture
This two-tier model divided the application computing logic into a back-end
database server and a fat client residing on an individual desktop where the user
GUI software run. So this type of model is well known as client-server
architecture. The client computer has a set of database-specific drivers, such as
Net8 and JDBC, and software application which involves business logic. This is
why the client so called “thick client”.
Developing and deploying 2-tier client-server applications has some
obvious disadvantages:
A big number of users cause bottleneck and require high performance
hardware
Software applications have to be physically installed on each client.
Update or patch for the application has to be applied separately and
costly.
17
Multiple client-server applications deployed to an end client will
dramatically eat up resources and reduce productivity.
Two-tier applications are usually implemented with proprietary
development tools, such as Oracle Forms, Visual Basic and Powerbuilder,
that lock business rules into a specific technology. Most desktop
application development tools do not integrate well and it is difficult to
share code among these development tools, even to achieve the same
business logic.
Based on the above discussion, a better solution was introduced into the
world – 3-tier architecture.
2.4 ERPTS Implemented in a 3-tier Architecture
Three-tier architecture is not simply adding a tier in two-tier architecture. It
splits the application logic into three distinct tiers: a presentation tier (or client-
tier), an application tier, and a data tier. See Fig 2.2
Fig 2.2 Three tier architecture
18
ERPTS with three-tier architecture is organized with three independent
layers or tiers, each of which can run on the same machine or all running on
different machines. The three tier architecture for ERPTS is shown in Fig 2.3.
The three tiers reflect the specialized functions of a web-based enterprise
application.
Fig 2.3 ERPTS three tier architecture
Presentation Tier (or Client Tier)
Presentation tier implements the "look and feel" of an application. It is
responsible for how data is presented, receiving user events and controlling the
user interface. This tier does not contain any business rules but a web browser.
Therefore, it is also called “thin client”. The programming languages commonly
used are HTML, CSS and JavaScript.
Application Tier
19
This layer implements the business rules of the applications. Business
rules are often segmented into small software units, such as functions and
procedures written in Oracle database languages or lower level languages that
are used by the thin client tier. The code to force business rules is never allowed
to retrieve or manipulate data directly from a data store. There're several sub-
layers within the application layer including control layer, transaction layer,
business object layer and data access object layer.
Data Tier
This is the layer that is responsible for retrieve data for business logic
layer and performing data manipulation. It is usually powered by a relational
database server (Oracle). This tier includes database tables, views, built-in
packages, stored procedures and functions.
Why use three-tier architecture
Three-tier architecture is considered to be the most suitable architecture
for large, Web-based enterprise applications. It improves application
performance in the following aspects:
The partitioning of the application enables rapid design and development
of the system
20
Easier to maintain. Since 3-tier separates user interface (UI), logic, and
storage, the UI can be changed and enhanced without accidentally
altering core business rules and vise visa
Separating the functions into distinct tiers makes it easier to monitor and
optimize the performance of each layer. Separating the application and
database functionality means better load balancing. Business logic in its
own tier can be shared among applications with different UIs
Support for multiple interfaces. The same business logic can be used from
a Web-based interface and a thick-client interface
Adequate security policies can be enforced within the server tiers without
hindering the clients
Chapter Three
Oracle Database Installation and Configuration
21
3.1 Oracle Database Installation Concepts [6]
ORACLE UNIVERSAL INSTALLER
Oracle Universal Installer is a Java-based graphical user interface tool that
enables you to install, upgrade and deinstall Oracle components from installation
CD. Start the Oracle Universal Installer by running the Oracle Universal Installer
executable, setup.exe.
ORACLE HOME
An Oracle home is the system context in which Oracle products run. This
context consists of the directory location where the products are installed, the
corresponding system path setup, and where applicable, the program groups
associated with the products installed in that home, and the services running
from that home. Oracle Home denoted by ORACLE_HOME.
Oracle Database9i R2 support Multiple Oracle Homes. The main benefit of
using multiple Oracle homes is that you can run multiple releases of the same
products concurrently.
ORACLE9i SERVICES
Oracle9i starts each instance as a service on Windows. A service is an
executable process registered in the Windows registry and administered by
Windows. The registry automatically tracks and records security information for
each service created.
22
CONFIGURATION PARAMETERS
Oracle9i for Windows uses configuration parameters to locate files and
specify runtime parameters common to all Oracle products. When an Oracle
program or application requires a translation for a particular configuration
variable, Oracle9i for Windows uses the associated parameter. All Oracle
parameters are stored in the registry.
INITIALIZATION PARAMETER FILE (INITSID.ORA)
An ASCII text file that contains information needed to initialize a database
and instance.
INSTANCE
Every running Oracle database is associated with an Oracle instance.
When a database is started on a database server, Oracle allocates a memory
area called the System Global Area and starts one or more Oracle processes.
This combination of the System Global Area and Oracle processes is called an
instance. The memory and processes of an instance manage the associated
database’s data efficiently and serve the users of the database.
LISTENER
The Oracle server processes that listens for and accepts incoming
connection requests from client applications. The listener process starts up
Oracle database processes to handle subsequent communications with the
client; then it goes back to listening for new connection requests.
23
NET SERVICE NAME
The name used by clients to identify an Oracle Net server and the specific
System Identifier or database for the Oracle Net connection. A net service name
is mapped to a port number and protocol. Also known as a connect string,
database alias, host string, or service name.
SCHEMAS
Named collections of objects, such as tables, views, clusters, procedures,
and packages, associated with particular users.
SYSTEM IDENTIFIER
A unique name for an Oracle instance, to switch between Oracle
databases, users must specify the desired system identifier. The system identifier
is included in the CONNECT DATA parts of the connect descriptors in a
tnsnames.ora file, and in the definition of the network listener in a tnsnames.ora
file.
SYSTEM
There are two standard database administrator usernames SYSTEM and
SYS automatically created with each database. The SYSTEM username is the
preferred username for database administrators to use for database
maintenance.
24
TABLESPACE
A database is divided into one or more logical storage units called
tablespaces. Tablespaces are divided into logical units of storage called
segments, which are further divided into extents.
TNSNAMES.ORA
A file that contains connection descriptors mapped to net service names.
The file can be maintained centrally or locally, for use by all or individual clients.
3.2 Preinstallation Tasks
This step is go through the process to clean up the OS (windows 2003
server), check the hardware configuration, backup and prepare for failure of
installation. I will not discuss the cleanup (deinstall Oracle software) OS directly
because Oracle9i R2 database is installed on a clean windows 2003 server.
First, let’s make sure the minimal hardware requirements as shown in table 3.1:
Minimal Requirement Actual Setting
Pentium III 866 MHz Pentium IV 2000 MHz
Windows NT 4.0 with Service Pack 5 Windows 2003 Server
256 MB RAM 1 GB RAM
13 GB disk space free (if you install the 30 GB free disk space
25
entire Oracle Product Stack)
Table 3.1
The following tasks should be finished before we go any further:
Checking Virtual Memory
1. Select Start > Settings > Control Panel and double-click System.
2. Click the Performance tab and then click the Change button to open the
Virtual Memory window.
3. You need approximately 512 MB of total memory (256 MB of RAM and
256 MB of virtual memory). However, if you have enough disk space, set
virtual memory to 500 MB. Click the Set button. Then click OK.
Reconfiguring TCP/IP Services
1. Select Start > Settings > Control Panel.
2. Double-click Network.
3. Click the Protocols tab.
4. Select TCP/IP Protocol and then click the Properties button.
5. Select Specify an IP address.
6. Enter a valid IP address, subnet mask, and default gateway. Click OK
twice.
7. Reboot system to apply changes.
Note: the Enterprise Manager OMS and Agent do not support DHCP so you
need to have a static IP address to use this capability.
Backup OS (windows 2003 server)
26
Backup the whole system to prepare for failure or disaster. If the
installation fails, it will be easy to restore the system.
3.3 Installing the Oracle9i Database 9.2.0.3 on Windows 2003 Server
The Universal Installer in Oracle9i makes it very easy to install the
database and networking software. Download the Oracle9i Database Release 2
Enterprise/Standard/Personal/Client Edition for Windows Server 2003 (32-bit)
and Oracle Universal Installer release 2.2.0.18.0 for Windows at
http://otn.oracle.com/software/products/oracle9i/htdocs/win2k3soft.html. After
completing download, we unzip the two download files and perform the following
steps to install Oracle9i Database Release 9.2.0.3:
1. Insert Oracle9i Datbase Release 9.2.0.3 Enterprise Edition CD-ROM into the CD-
ROM drive. In the Autorun window that appears, choose Install/Deinstall
Products. If system isn’t set up for Autorun capability, run autorun.exe directly
from the AUTORUN directory on Oracle9i Database Release 2 Enterprise
Edition CD-ROM.
2. On the Welcome window, click Next.
27
3. Leave the Source Path default; input a unique name OraHome92 in the Name
field, and that the path is d:\oracle\ora92. Click Next.
28
4. On the Available Products window, select Oracle9i Database 9.2.0.3.0. Click
Next.
5. On Installation Types screen, choose Enterprise Edition and then click Next.
6. Accept the General Purpose default database configuration and click Next.
7. Accept default Port Number: 2030 and click Next.
8. In the Global Database Name field, enter orcl.world. In the SID field, accept the
default, orcl, and then click Next.
29
9. Accept the directory to D:\oracle\oradata and click Next.
10. Accept the default character set and click Next.
30
11. The Oracle Universal Installer displays a summary of the installation options.
Click Install.
12.The Oracle Universal Installer begins installing Oracle9i Database Release 2
Enterprise Edition and related software.
13. After the initial software is copied to the disk, the Oracle Universal Installer also
automatically configures the network for the Production database. This is done in
the background. The success of the operation is reported in the Oracle Universal
Installer Configuration Tools window. Once the network configuration has been
completed, the Oracle Universal Installer starts the Oracle Database
Configuration Assistant. This assistant installs and configures the initial database
in the background as well.
31
14. Database creation takes about twenty minutes. The progress is shown in the
Database Creation Progress window. When the database has been created, the
Database NT service is created.
15. On the Database Configuration Assistant screen, enter a password for SYS and
SYSTEM. Write down the passwords you input in a safety place, and they will be
used later. Click OK.
Note: The password screen will not allow the old default passwords SYS and
SYSTEM of change_on_install and manager to be entered.
32
16.When the database has been completely created and all the configuration
tools have completed their tasks, the End of Installation window appears.
Click Exit and then Yes to exit the Universal Installer.
17.Click Yes to exit.
33
3.4 Testing the Oracle9i Installation
In this section we will test the installation of the Oracle9i database using
Enterprise Manager, which combines all of the management tools together into one
product. Follows the steps below to check INSTANCE and LISTENER works properly
and configures some Oracle Database initial parameters. Let’s start Enterprise Manager
in Standalone mode to begin this process.
1. To start Enterprise Manager, select Start > Programs > Oracle-OraHome92>
Enterprise Manager Console.
2. In the Oracle Enterprise Manager Console login window, select Launch
standalone and then click OK. We don’t login to the Oracle Management Server
because we don’t have one so far.
34
3. To test the ORCL.WORLD database instance, Expand Network then Databases,
then click the plus sign to expand ORCL.WORLD.
4. To log in to the instance, enter system in the Username field and password in the
Password field, and then click OK.
35
5. Expand Instance and then select Configuration to see the state of the database.
To view the initialization parameters, click the All Initialization Parameters
button.
6. Click the db_name parameter and then click the Description button. A
description of the parameter is displayed at the bottom of the window. Click
Cancel to close the window. Similarly check other parameters.
36
7. Notice that you cannot start or stop the database unless you are connected as
SYSDBA. Right-click the ORCL.WORLD database and select Connect.
37
8. Enter sys in the Username field and password in the Password field. Select
SYSDBA from the Connect as drop-down list and then click OK.
9. Expand Instance and then select Configuration. Select the Shutdown option
button and click Apply.
38
10. Check Immediate and then click OK to shut down immediately.
11. When the shutdown processing is complete, click Close.
12. Notice that the database is no longer available. Now click the Open option button
and then Apply to start it again.
39
13. Check one Start Option and make sure check Use spfile for startup, then Click
OK.
14. When the database has been successfully started up, click Close.
40
15. Notice that the database has been started. Click the Memory tab.
16. In the Memory tabbed page, you can see how memory is currently allocated and
change individual memory size.
17. When you created your database, the sample schemas are loaded into your
database, the HR user cannot log into the database until the password has been
changed or that user is unlocked. This lock has been put into place for security
purposes. You can unlock the user from Enterprise Manager by expanding
Security, then Users, then selecting HR. Select Unlocked then Apply to unlock it
41
and click Locked to lock it back.
18. Select File > Exit to close the Enterprise Manager Console.
3.5 Exploring the Oracle9i Database Release 2 Installation
In this section, we will review some of the directory structures that were
built when Oracle Universal Installer installed an optimal flexible architecture
(OFA)-compliant image of the Oracle9i software. We also look into and configure
LISTENER.ORA, TNSNAMES.ORA and SQLNET.ORA networking
configuration files. Before changing the three networking configuration files,
making a backup copy for each file is always a good idea.
42
1. Open Windows Explorer and click the D drive where we installed the database.
Navigate to the D:\Oracle directory. Notice that there are three subdirectories:
admin, Ora92, and oradata.
2. Navigate to the admin directory. The D:\Oracle\admin directory is an OFA-
compliant directory that contains information about different database instances
installed on this machine. So far it contains one directory, orcl, for the orcl.world
instance.
3. Navigate back to D:\Oracle\Ora92. This is the Oracle9i software directory, also
known as the Oracle9i ORACLE_HOME. All the software for the Oracle9i
Enterprise Edition is installed under this directory tree.
4. Navigate to the D:\Oracle\Ora92\Network\admin directory. We can find
LISTENER.ORA, TNSNAMES.ORA and SQLNET.ORA three networking files
which generated during the Oracle Universal Installer installation of Oracle9i.
5. Open the listener.ora file. Notice that the listener has been set to listen for two
different types of connections: External processes called from the server, using
InterProcess Communication, Oracle Net connections from across the network,
using TCP/IP, on port 1521. TCP/IP will be used in ERPTS project.
The listener has also been configured with two services: An external process
server for external procedure calls and a database service for the ORCL.WORLD
instance.
The listener.ora file looks like the following:
# LISTENER.ORA Network Configuration File:
43
d:\oracle\ora92\network\admin\listener.ora
# Generated by Oracle configuration tools.LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 139.102.19.30)(PORT = 1521)) ) ) )SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = d:\oracle\ora92) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = orcl.world) (ORACLE_HOME = d:\oracle\ora92) (SID_NAME = orcl) ) )
6. Open the tnsnames.ora file and configure an ERPTS net service string.
# TNSNAMES.ORA Network Configuration File: d:\oracle\ora92\network\admin\tnsnames.ora# Generated by Oracle configuration tools.
ERPTS = # This NET SERVICE STRING will be used in ERPTS project. (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 139.102.19.30)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl.world) ) )
EXTPROC_CONNECTION_DATA.WORLD = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) )
44
)
ORCL.WORLD = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 139.102.19.30)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = orcl.world) ) )
7. Open the SQLNET.ORA file. The DEFAULT_DOMAIN name must match the
domain name in your TNSNAMES.ORA file.
# SQLNET.ORA Network Configuration File: d:\oracle\ora92\network\admin\sqlnet.ora# Generated by Oracle configuration tools.
NAMES.DEFAULT_DOMAIN = WORLDSQLNET.AUTHENTICATION_SERVICES= (NTS)NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)
8. Navigate to the D:\Oracle\Ora92\Database directory. This directory contains the
password files and the default initialization files for each instance created on this
machine.
9. Open the initorcl.ora file. Notice that it contains a reference to the "real"
initialization file at D:\oracle\admin\orcl\pfile\initorcl.ora.
10. Navigate back to D:\oracle\oradata\orcl. This is the directory that contains the
data files for each instance that you create on this machine.
11. Select Start > Settings > Control Panel > Administrative Tools > Services.
Scroll down to the list of the services that were added as a result of installation.
12. Reboot the machine to apply any configuration change.
45
Chapter Four
Oracle HTML DB Introduction, Installation and Administration
4.1 Introduction to HTML DB
Oracle HTML DB is a hosted declarative development tool and a
framework for developing and deploying database-centric Web applications.
Oracle HTML DB turns a single Oracle database into a shared service by
enabling multiple workgroups to build and access applications as if they were
running in separate databases. Oracle HTML DB accelerates application
development through built in features such as design themes, navigational
controls, form handlers and flexible reports [8].
Oracle HTML DB also is an administration tool for administrating
workspaces and workspace users, performing audit of activities, and managing
Globalization. A workspace is shared work area which is created by HTML DB
administrator. Developing and deploying a web application through HTML DB
has the following considerable benefits:
46
a. Oracle HTML DB accelerates the application development process
through using the built-in features such as design themes,
navigational controls, form handlers, and flexible reports.
b. Oracle HTML DB automatically maintains session state without
requiring any coding.
c. No matter where you are, you can access your application if and
only if you have a web browser installed in your computer. All
administration and development tasks can be done through a web
browser.
d. Easy to share data in different schemas which are belong to
different departments within a workspace
e. Improved access by deploying data currently locked in
spreadsheets and personal databases to the web, allowing
concurrent updates by multiple users
f. Improved security and availability through consolidation of
fragmented information into a reliable, secure, scalable Oracle
database
g. Applications can be easily downloaded from and installed in a
HTML DB workspace.
The Oracle HTML DB development platform consists of the following
components:
Application Builder
47
SQL Workshop
Data Workshop
4.1.1 Application Builder
A HTML DB application is a collection of database-driven Web pages, on
top of database objects such as tables, views and procedures, linked together
using tabs, buttons, or hypertext links. Once an application is created, the HTML
DB engine renders the application using templates and UI elements you specify.
Similar to other web applications, a HTML DB application uses forms to
collect data and uses reports to retrieve data based on executable background
procedures and HTML DB APIs through a web browser. So, forms and reports
are the most used components within a web application.
A page is the basic building block of an application. Each page can have
buttons and fields and can include application logic (or processes). You can
branch from one page to the next using conditional navigation, perform
calculations, run validations (such as edit checks), and display reports, forms,
and charts. [8]
Application Builder is the tool you use to build the pages that comprise an
application. It contains the following functions:
Creating, Debugging, and Managing an Application
Working with Templates
Viewing and Editing Application Attributes
48
Creating a New Page
Viewing and Editing Page Attributes
Running a Page and an Application
4.1.2 SQL Workshop
SQL Workshop is the place to view and manage database objects from a
Web browser. Using SQL Workshop you can store and retrieve data, execute
SQL commands, and perform the following tasks:
■ Run SQL commands
■ Upload and run SQL scripts
■ Maintain a history of the executed SQL
■ Create or modify database objects
■ Query data by example
■ Browse the data dictionary
■ Enable database browsing with drill-up and drill-down
4.1.3 Data Workshop
Data Workshop is the tool to import data into and export data from the
hosted database. Supported import formats include text (such as comma or tab
delimited data), XML documents, and spreadsheets. Supported export formats
include text (such as comma or tab delimited data) and XML documents.
49
Data Workshop makes it quite easy to convert a spreadsheet into a
database table using the Spreadsheet Import Wizard. Running this wizard
creates a new table and loads the data without requiring any SQL knowledge.
Once the data is loaded into a database table, you can build an application on
top of it just like you would on any other database table. However, Data
Workshop can not create all database objects for you. For example, if you want
build an application based on views or procedures, you have to write the code for
creating the views and procedures by yourself.
4.2 Installing HTML DB and Oracle HTTP Server
This section will go through the processes of installation of HTML DB and
Oracle HTTP Server.
4.2.1 Installation Requirements
Software Requirements
Oracle HTML DB and Oracle HTTP Server must be installed in a new
Oracle home different with the Oracle Home which Oracle Database resides in.
This can be an existing Oracle HTTP Server Oracle home, or you can choose to
install Oracle HTTP Server when you install either or both of these products.
Oracle HTML DB Server is a web server that is based on Apache server with
mod_plsql module which is an Apache extension module that allows one to
create dynamic web pages from PL/SQL packages and stored procedures fast
50
and flexible. Installing an Oracle HTML DB require an Oracle 9.2.0.3.0 or better
database to be installed. Windows NT Server 4.0 with service pack 6a or higher,
Windows 2000 with Service Pack 3 or higher, Windows Server 2003 (32-bit), and
Windows XP Professional: supported for Oracle HTTP Server are recommended
by Oracle.
Hardware Requirements
The system ready to install Oracle HTTP Server and Oracle HTML DB
must meet the following hardware requirements for NTFS systems:
Physical RAM: Minimum size 256 MB, recommended 512 MB
Virtual Memory: Double the RAM
Temp directory: 100 MB of disk space
Oracle Home Disk Space: 535 MB
4.2.2 Installation of Oracle HTTP Server and HTML DB
To install Oracle HTTP Server and Oracle HTML DB, follow these steps:
1. Log on as a member of the Administrators group to the computer on
which to install Oracle HTTP Server and Oracle HTML DB.
2. There are three ways to start Oracle Universal installer:
a. Insert the CD-ROM labeled Oracle Database Companion CD 10g
Release 1(10.1) Disk 1 of 1, the Autorun screen automatically
appears. If no, try
51
b. Navigate to the Oracle Database Companion CD location on the
Oracle Database 10g release 1 (10.1) CD-ROM, locate and double-
click setup.exe or try
c. Click Start > Run > Browse, locate the executive file setup.exe,
click Open > OK
The Welcome screen appears.
3. On the Welcome screen click Next.
52
4. On the Specify File Locations screen, leave the Source Path default, input
Db10g_comp in Destination Name field and D:\oracle\product\10.1.0\db_1 in the
Path field, click Next.
5. Select Oracle Database 10g Companion Products 10.1.0.2.0, click Next.
53
6. Check both Apache Standalone 9.0.4.0.0 and HTML DB 10.1.0.2.0 on Available
Products screen, click Next.
54
7. On the Enter HTML Configuration Information screen, enter the information
required to configure Oracle HTML DB and click Next.
8. On Summary screen, click Install.
55
9. End of Installation finally tell you that the installation of Companion Products
was successful. Click Exit to stop the whole installation process.
10. Optionally, manually delete or restart computer to remove the OraInstalldate_time
directory, which was created during the installation process, to free about 45 MB
of files.
11. After successfully installing Oracle HTTP Server and Oracle HTML DB, use
username ADMIN and password specified during the installation in step 6 to log
in Oracle HTML DB at http://hostname:7777/pls/htmldb/htmldb_admin. The next
section describes administration of Oracle HTML DB.
4.3 HTML DB Administration
Before discussing HTML DB Administration, we need to understand
Oracle HTML DB User Roles. In the Oracle HTML DB development environment,
users log in to a workspace are divided into three levels or three primary roles:
Developer, Workspace administrator, and Oracle HTML DB administrator. A
developer can create and edit HTML DB web applications. A Workspace
administrator performs administrator tasks specific to their workspace. An Oracle
HTML DB administrator manages an entire Oracle HTML DB development
environment instance through the Oracle HTML DB Administration Services
application.
In this section, we concentrate on how to create and manage a
workspace, how to manage users in a workspace, how to perform audit and
56
manage logs, and other Oracle HTML DB development environment instance
tasks.
To perform these tasks, an Oracle HTML DB administrator logs into the
Oracle HTML DB Administration Services application. Your Oracle HTML DB
Administration Services application can be found at the following location:
http://192.168.2.3:7777/pls/htmldb/htmldb_admin
After logging in Oracle HTML DB, the Oracle HTML DB Service
Administration screen appears.
57
4.3.1 Administering Workspaces
To create new workspace
1. Log in as a HTML DB administrator at:
http://192.168.2.3:7777/pls/htmldb/htmldb_admin.
2. Under Manage Workspaces, select Create New Workspace.
The Provision Workspace Wizard appears.
3. Specify a workspace name YANGM, and description and click Next.
Select schema YANGM from the Schema List, or enter the name for a
new schema, followed by a password, and initial disk space quota.
58
4. Click Next.
5. Specify a Workspace administrator by providing a username, password,
and e-mail address and click Next.
6. Confirm and click Provision.
To Remove Workspace
1. Log in as a HTML DB administrator at:
http://192.168.2.3:7777/pls/htmldb/htmldb_admin.
2. Under Manage Workspaces, select Remove Workspace.
3. Select a workspace name and click Next.
4. Follow the on-screen instructions
To create a new user account:
1. Log in to Oracle HTML DB Administration Services.
2. Under Manage Workspaces, select Manage Application Developers.
59
The Manage Application Developers and Users page appears. If you need
to change a user’s password, click reset in the end of each user’s entry,
then follow the on-screen instructions.
3. Click Create to create user developer.
4. Under User Attributes, enter the appropriate information. Fields marked
with a red asterisk (*) are required.
5. Under Password, type a case sensitive password for this account.
6. Under Developer Privileges, specify the user's privileges.
7. Click Create or Create and Create Another.
To view a workspace report:
Oracle HTML DB administrators can view detailed information about a
specific workspace by viewing the Workspace Utilization Report including
Workspace Information, Workspace Schemas, Workspace Schema Space
Utilization, Workspace Applications, Developers, Workspace Users, Workspace
Database Objects, Service Change Requests, and Developer Activity
1. Log in to Oracle HTML DB Administration Services.
2. Under Manage Workspaces, select Report Workspace Attributes.
3. Select a workspace from the Workspace list and click Go.
4. The Workspace Utilization Report appears. Click specific links below the
Available Reports
60
4.3.2 Managing HTML DB Services
This section provides information about managing Oracle HTML DB
services. Oracle HTML DB administration tasks includ managing log files,
purging session state, monitoring developer activities, and managing engine
settings. See the following fig to get some ideas.
To manage log files:
1. Log in as a HTML DB administrator at:
http://192.168.2.3:7777/pls/htmldb/htmldb_admin.
2. Under Manage HTML DB Service, select Manage Logs.
3. Select one of the following:
Developer activity logs, review with option to delete entries
External click counting log, review with option to truncate
Review SQL Workshop logs
Review page view activity log, with option to truncate
61
4. Follow the on-screen instructions to view or delete the log history.
To Toggle Provisioning Status:
1. Log in to Oracle HTML DB Administration Services.
2. Select the Service Administration tab. The Manage HTML DB Service
page appears.
3. Click Toggle Provisioning Status.
4. Select Manual to set HTML DB in manual provision mode. Select
Request to set HTML DB in request provision mode. HTML DB in request
provision mode enable user to request workspace and reset password
from your HTML DB login page at
http://192.168.2.3:7777/pls/htmldb/htmldb_login. You have to manage
HTML DB engine setting to be able to send email to the user when the
requested workspace is ready.
To Manage Engine Settings:
1. Log in to Oracle HTML DB Administration Services.
2. Select the Service Administration tab. The Manage HTML DB Service
page appears.
3. Click Manage Engine Settings.
4. Configure the following engine settings by click Create and follow the on-
screen instructions.
62
DEVELOPMENT_SERVICE_URL - The value of this setting is used
in the e-mail when the request is approved. This setting defines the
URL for the service.
SMTP_HOST_ADDRESS - Defines the server address of the
SMTP server.
SMTP_HOST_PORT - Defines the port the SMTP server listens to
for mail requests. By default, this setting will be set to 25 at the time of
installation.
SMTP_FROM - Defines the "from" address when an administrative
tasks such as approving a request, or resetting a password sends an
email.
After the administrative tasks above have been completed, we are ready
to develop our web-centric applicatins.
63
Chapter Five
ERPTS Design and Development
This chapter presents an overview of ERPTS HTML DB application for
database design and development. Database design is a very important step but
not the first step. Before dealing with database design, we have to take a close
look into our project at first. There are many ways to analysis and design web
applications. The basic idea is that we need split the big project into small pieces
according to application requirements such as user interfaces, business rules
and implement language. ERPTS project is split into six different tasks in
corresponding to different ER staff positions. How to store and retrieve, how to
secure data, and how to apply business logic are all about database design.
5.1 ERPTS Application Design and Implementation
The design and implementation of integrated applications will be the key
to the Internet based database driven web application. In order to build a good
web based database application, the following aspects should be considered:
Applications should be designed from a cross-functional
perspective.
Applications must be usable, flexible, and maintainable.
64
Applications can be composed of many different frameworks. Each
one should have reusable pieces.
Applications should have a proper architecture. Business need,
return on investment, technical support and future plan will be
considered when applications involve architecture.
ERPTS application is divided into seven modules by business operation
flow. Seven modules are named by office names combining position duty: Front
Desk Registration, Triage Room Pre-check, ER Treatment, Lab Test, X-Ray
Examination, and Release. Each has different interfaces and functions with
which ER staff work.
Tasks involved in this step are:
Create tables, indexes, views, procedures, functions, sequences,
and database triggers
Create items, regions, buttons, and pages
Create forms and reports to build user interfaces
Write code to validate data, manipulate data, and retrieve data
Design to follow business rules
Manage users
65
Front Desk Registration
Nurses work at Front Desk have the privilege to access this module to
register and edit patient information, and keep track the number of patients
visited. There are three pages are built in this module for registration, edition, and
patient information report. Fig 5.1 shown below is a patient registration
screenshot.
Fig 5.1
66
Triage Pre-check
Nurses in Triage Room have the privilege to access this module to record
and edit temperature, heart rate, symptom and pretreatment information, keep
track the number of patients in waiting room, and how serious the disease is.
There are three pages are built in this module for insertion, edition, and overview
of patient information report. Nurses can’t delete records and can’t see some
patient private information such as SSN. Fig 5.2 shown below is a patient report
screenshot.
67
Fig 5.2
ER Treatment
Physicians in the ER have the privilege to access this module to record
and edit temperature, heart rate, symptom and pretreatment information, see the
pre-checked corresponding information, keep track the number of patients in
waiting room, transfer patients from waiting room to ER and assign beds to them,
re-estimate patient situations, and order lab tests and X-ray examinations and
view their result reports. There are five pages are built in this module for view of
patient information report. Physicians can’t delete records and see some patient
68
private information such as SSN either. Fig 5.3 shown below is a patient transfer
screenshot.
Fig 5.3
Lab Test
Technicians in the Lab have the privilege to access this module to view
lab test orders, insert and edit lab results, keep track the number of orders and
the priority of orders. There are three pages are built in this module for insertion,
edition, and overview of lab order report. Technicians can’t delete lab orders. Fig
5.4 shown below is a Lab Test Result Update page screenshot.
69
Fig 5.4
X-Ray Examination
Examiners in the X-Ray Room have the privilege to access this module to
view lab test orders, insert and edit X-Ray examination results, keep track the
number of orders and the priority of orders. There are three pages are built in this
module for insertion, edition, and overview of X-Ray order report. Examiners
can’t delete X-Ray orders. Fig 5.5 shown below is a patient lab tests currently
requested report screenshot.
70
Fig 5.5
Patient Release
Staff in the release room has the privilege to access this module to
release patients and complete the visit. Fig 5.6 shown below is a patient release
page screenshot.
71
Fig 5.6
Administrator
Staff in emergency department has the administrator privilege to
access this module to add, update, delete and activate/inactivate a user.
5.2 Database Design
The first step is about creating a container for ERPTS project. The
container is a workspace built on one or more database schemas. A schema is a
72
collection of logical structures of data, or schema objects created and
manipulated with SQL. Schema objects include tables, views, sequences,
database triggers, indexes, procedures and functions.
Tables:
Tables are the basic unit of data storage in an Oracle database. Data is
stored in rows and columns. A table is created with a table name and set of
columns with column names, datatypes, width, and integrity constraints.
Tables in a relational database are designed to store data efficiently
without Redundancy and enforce business rules with integrity constraints, which
are primary key, foreign key, not null, and check. Obviously, table design is
crucial to the success of oracle database web applications.
The following is a list of tables which are involved in ERPTS projects:
1. PATIENT
2. PRE_CHECK
3. TREATMENT
4. TEST
5. X_RAY
6. USERS
7. BED
PATIENT
73
This table stores information which patients provide in the front desk when
they are register by a nurse. It contains name, IDs, contact information, complain
and other information. Fig 5.7 shows all information about PATIENT table.
Fig 5.7
The corresponding SQL script to create PATIENT table is the following:
CREATE TABLE "PATIENT" ( "P_NO" NUMBER, "NAME" VARCHAR2(100) NOT NULL ENABLE, "SSN" NUMBER NOT NULL ENABLE, "SEX" VARCHAR2(1) NOT NULL ENABLE, "AGE" NUMBER NOT NULL ENABLE, "ADDRESS" VARCHAR2(400), "PHONE" NUMBER NOT NULL ENABLE, "E_PHONE" VARCHAR2(10), "E_MAIL" VARCHAR2(80), "COMPLAIN" VARCHAR2(100) NOT NULL ENABLE, "NURSE_NAME" VARCHAR2(40) NOT NULL ENABLE, "CHK_IN_TIME" DATE NOT NULL ENABLE, "ROOM" NUMBER NOT NULL ENABLE, "RISK_RATE" NUMBER NOT NULL ENABLE, "STATUS" VARCHAR2(10) NOT NULL ENABLE,
74
"RELEASE_TIME" DATE, CONSTRAINT "PATIENT_PK" PRIMARY KEY ("P_NO") ENABLE)/
CREATE UNIQUE INDEX "PATIENT_PK" ON "PATIENT" ("P_NO")/
PRE_CHECK
This table contains all information which a nurse in the triage room
provides through examination. It includes temperature, heart rate, symptom, risk
rate (how serious is the disease), check-in time and pretreatment. Fig 5.8 shows
the table details.
Fig 5.8
The following SQL script creates PRE_CHECK table:
CREATE TABLE "PRE_CHECK" ( "C_NO" NUMBER, "TEMPERATURE" NUMBER, "HEART_RATE" NUMBER, "XNURSE_NAME" VARCHAR2(50), "C_TIME" DATE, "SYMPTOM" VARCHAR2(4000), "XP_NO" NUMBER NOT NULL ENABLE, "PRE_TREATMENT" VARCHAR2(4000),
75
"TRANSFERD" VARCHAR2(1), CONSTRAINT "PRE_CHECK_PK" PRIMARY KEY ("C_NO") ENABLE, CONSTRAINT "PRE_CHECK_REF_PATIENT" FOREIGN KEY ("XP_NO") REFERENCES "PATIENT" ("P_NO") ENABLE)/CREATE UNIQUE INDEX "PRE_CHECK_PK" ON "PRE_CHECK" ("C_NO")/
TREATMENT
This table stores information which a physician in the ER room provides
through diagnosis. It contains rechecked temperature, heart rate, symptom, risk
rate (how serious is the disease), lab test order, X-ray order and treatment. Fig
5.9 shows all information about TREATMENT table.
Fig 5.9
The corresponding SQL script to create TREATMENT table is the
following:
CREATE TABLE "TREATMENT" ( "TR_NO" NUMBER, "TR_P_NO" NUMBER NOT NULL ENABLE, "TR_TEMPRATURE" NUMBER, "TR_HEART_RATE" NUMBER, "R" VARCHAR2(4000), "DR_NAME" VARCHAR2(40), "RECEIVE_TIME" DATE,
76
"TR_SYMPTOM" VARCHAR2(4000), "BED" NUMBER, "TREATMENT" VARCHAR2(4000), CONSTRAINT "TREATMENT_PK" PRIMARY KEY ("TR_NO") ENABLE, CONSTRAINT "TREATMENT_REF_PATIENT" FOREIGN KEY ("TR_P_NO") REFERENCES "PATIENT" ("P_NO") ENABLE)/
CREATE UNIQUE INDEX "TREATMENT_PK" ON "TREATMENT" ("TR_NO")/
TEST
This table stores lab test result information which a technician in the lab
provides through test. It includes lab test order, test result and tester. Its data will
be used to collect lab test results. Fig 5.10 shows all information about TEST
table.
Fig 5.10
The corresponding SQL script to create TEST table is the following:
CREATE TABLE "TEST" ( "T_NO" NUMBER, "T_TR_NO" NUMBER NOT NULL ENABLE, "TEST_ORDER" VARCHAR2(100), "TEST_RESULT" VARCHAR2(4000),
77
"TESTER" VARCHAR2(40), "DUE_TIME" DATE, CONSTRAINT "TEST_PK" PRIMARY KEY ("T_NO") ENABLE, CONSTRAINT "TEST_REF_TREATMENT" FOREIGN KEY ("T_TR_NO") REFERENCES "TREATMENT" ("TR_NO") ENABLE)/
CREATE UNIQUE INDEX "TEST_PK" ON "TEST" ("T_NO")/
X_RAY
This table stores X-Ray result which a technician in the X-Ray room
provides through examination. It includes X-Ray order, X-Ray result and
examiner. Its data will be used to collect X-Ray results. Fig 5.11 shows all
information about X_RAY table.
Fig 5.11
The corresponding SQL script to create X_RAY table is the following:
CREATE TABLE "X_RAY" ( "X_NO" NUMBER, "X_TR_NO" NUMBER NOT NULL ENABLE, "XRAY_ORDER" VARCHAR2(100), "X_RESULT" VARCHAR2(4000),
78
"EXAMINER" VARCHAR2(40), "DUE_TIME" DATE, CONSTRAINT "X_RAY_PK" PRIMARY KEY ("X_NO") ENABLE, CONSTRAINT "XRAY_REF_TREATMENT" FOREIGN KEY ("X_TR_NO") REFERENCES "TREATMENT" ("TR_NO") ON DELETE CASCADE ENABLE)/
CREATE UNIQUE INDEX "X_RAY_PK" ON "X_RAY" ("X_NO")/
USERS
This table stores user information which includes name, position (nurse,
physician, Lab technician, or X-Ray examiner), privilege, username, and
password. Its data will be used to create nurse and physician drop down lists,
and verify username and password. Fig 5.12 shows all information about USERS
table.
Fig 5.12
The corresponding SQL script to create USER table is the following:
CREATE TABLE "USERS" ( "ID" NUMBER(3,0),
"NAME" VARCHAR2(40) NOT NULL ENABLE, "POSITION" VARCHAR2(3) NOT NULL ENABLE,
79
"USERNAME" VARCHAR2(40) NOT NULL ENABLE, "PASSWORD" VARCHAR2(20) NOT NULL ENABLE, "PRIVILEGE" VARCHAR2(4) NOT NULL ENABLE, "APPID" NUMBER, CONSTRAINT "USER_PK" PRIMARY KEY ("ID") ENABLE
)/
CREATE UNIQUE INDEX "USER_PK" ON "USERS" ("ID")/
BED
This table stores bed information in the ER. It contains bed number and
status (whether it is occupied or not). This table will be used to track how many
beds are ready to use. Fig 5.13 shows all information about BED table.
Fig 5.13
The corresponding SQL script to create BED table is the following:
CREATE TABLE "BED" ( "ID" NUMBER(3,0), "BED_NO" NUMBER(3,0), "STATUS" VARCHAR2(1), "NAME" VARCHAR2(20), CONSTRAINT "BED_PK" PRIMARY KEY ("ID") ENABLE
)/
80
CREATE UNIQUE INDEX "BED_PK" ON "BED" ("ID")/
Relationships:
The relationship is the association, which you should find out in the
process of data modeling, between two table columns which have the same
name, datatype, and width. There are four different relationships depending on
the combination of answers to the following two questions which must be
answered to Yes or No:
Question 1: Can an occurrence of X in table A to be associated with more
than one occurrence of Y in table B?
Question 2: Can an occurrence of Y in table B to be associated with more
than one occurrence of X in table A?
Four possible outcomes are shown in the table 5.1.
Relationship Question 1 Question 2 CommentOne to Many Yes No Primary Key -> foreign Key One to Many No Yes Primary Key -> foreign KeyMany to Many Yes Yes Need to voidOne to One No No Valid for Oracle database
Table 5.1
A relationship is created if you apply a foreign key on a column in a table
to reference a column in another table. The relationship diagram shown in Fig
5.14 and Fig 5.15 describes the relationships among all the tables:
81
Fig 5.14
Fig 5.15
The diagram in Fig 5.14 shows table TREATMENT (TR_P_NO) and
PRE_CHECK (XP_NO) have foreign keys to reference table PATIENT (P_NO).
The relationship between PATIENT and TREATMENT is one to one. Similarly,
there is a one to one relationship between PATIENT and PRE_CHECK.
The diagram in Fig 5.15 shows table X_RAY (X_TR_NO) and TEST
(T_TR_NO) have foreign keys to reference table TREATMENT (TR_NO). The
relationship between TREATMENT and X_RAY is one to many. Similarly, there
is a one to many relationship between TREATMENT and TEST.
82
The diagram in Fig 5.16 shows details of the tables and the relationships
among them.
Fig 5.16
83
Chapter 6: ERPTS User’s Guide
ERPTS User's Guide is intended for staffs who are working in the
Emergency Department using ERPTS. This guide describes how to use the
ERPTS to view, insert, update, delete, and track patient information. There are
seven types of users grouped by their duties: Front Desk Nurses, Triage Nurses,
Physicians, Lab Technicians, X-Ray Examiners, Patient Release Nurses, and
Administrator.
Getting Started with ERPTS
A user should be assigned to a username and password by administrator
before he/she can access his/her target work pages because all pages are
protected by username and password. When a user forget his/her password, the
user can get his/her password through e-mail by providing his/her name and
registered e-mail address in every module. All of the users can access their login
page by clicking the right links on ERPTS homepage. The ERPTS homepage’s
URL is: http://math.indstate.edu/yang
The ERPTS homepage is shown in Fig 6.1.
84
Fig 6.1
How to use the seven modules will be describe in the following sections:
Front Desk Register: For nurses at the front desk
Pre-check Examine: For nurses in the triage room
Treatment Tracking: For physicians in the emergency room
85
Lab Report: For lab technicians in the lab
X-Ray Report: For examiners in X-Ray room
Patient Release: For nurse in the release room
Administrator: For whom has admin privilege
Front Desk Register
This section provides information on how to use this module to view,
register (insert) and update patient registration information as well as search a
patient with specific search criteria.
This section contains the following tasks:
To register a patient
To edit or update patient information
To view and search patient reports
To register a patient:
1. Log in ERPTS homepage at: http://math.indstate.edu/yang, click Front
Desk Register, select your username form the Username drop down list
and type your password, then click Login button to login.
2. Click Register Patient tab. The Register Patient page appears.
3. On the left pane, insert patient information into text fields, text areas and
select options from drop down lists and then click Insert button to register.
Before you click Insert button make sure that you fill out at least required
fields which are remarked by a red star on the left. See Fig 6.2.
86
Fig 6.2 Register a Patient with fill out information
To edit or update patient information:
1. Log in Front Desk Register module.
2. Click Waiting Patient List tab. You can see a patient list and find the
patient information by clicking a column name to sort or typing key words
in searching criteria to search.
3. Click the patient PID on the most left and then the update page appears.
Correct the wrong information and apply the Update button to submit.
4. If nothing needs to change, click Cancel.
87
To view and search patient information:
1. Click Patient Report tab to view all patients who are waiting for or under
health services. Click Waiting Patient List tab to view all patients who are
waiting for services.
2. The search criteria in these two pages are identical and have three fields,
which are name, SSN and risk rate. The relationship among them is logic
AND. You can use any combination of the three fields to search. The
following describes how to use them:
Name: Use first name, last name, middle name or part of a name to
search in case insensitive.
SSN: Must use a 9-digit number to search without “-“.
Risk Rate: Must be a number among 1, 2, 3, 4 and 5.
Note: The numbers 1 through 5 stand for how urgent the patient’s
symptom. The bigger the risk rate number is, the more dangerous
the patient is.
3. Fill out the search criteria and then click Go button to search.
4. Click Clear button to clear the search criteria and show all patient
information.
Pre-check Examine
88
This section describes how to use this module to view, record, and update
patient pre-check information as well as search patients with specific search
criteria.
This section contains the following tasks:
To record patient pre-check information
To edit or update patient pre-check information
To view and search patient pre-check information
To record patient pre-check information:
1. Log in ERPTS homepage at: http://math.indstate.edu/yang, click Pre-
check Examine, select your username form the Username drop down list
and type your password, then click Login button to login.
2. Click Waiting Patient List tab. The waiting patient page appears. Click a
patient PID on the most left column. The Record Pre-check Patient
Information page shows up.
3. On the left pane, insert patient information into text fields, text areas and
select options from drop down lists or correct if needed and then click
Save button to record. Before you click Save button make sure that you fill
out at least required fields which are remarked by a red star on the left.
See Fig 6.3.
89
Fig 6.3 Record Pre-check Information
To edit or update patient information:
1. Log in Pre-check Examine module.
2. Click Pre-checked Patient tab. You can see a patient list and find specific
patient information by clicking a column name to sort or typing key words
in searching criteria.
3. Click the patient PID on the most left and then the Update Pre-check
Patient Information page appears. Correct the wrong information and
apply the Apply Changes button to submit.
4. If nothing needs to change, click Cancel.
90
To view and search patient information:
1. Click All Patient Report tab to view all patients who are waiting for or
under health services. Click Patient Waiting List tab to view all patients
who are waiting for services.
2. The search function in these two pages is described in section “To view
and search patient information” under Front Desk Register module.
Treatment Tracking
This section provides information on how to use this module to view,
record, and update patient treatment information, how to transfer a patient to
emergency room, how to view patient lab test and X-Ray examination results
(reports) as well as how to order lab tests and X-Ray examinations for a patient.
This section contains the following tasks:
To transfer a patient to emergency room
To record patient treatment information
To edit or update patient treatment information
To view patient diagnosis and treatment information
To order a lab test for a patient
To order a X-Ray examination for a patient
To view patient lab test and X-Ray examination results
To transfer a patient to emergency room
91
1. Log in ERPTS homepage at: http://math.indstate.edu/yang, click
Treatment Tracking, select your username form the Username drop
down list and type your password, then click Login button to login.
2. Click Transfer Patient tab. The Transfer Patient page appears.
3. Click the patient ERID on the most left and then the transfer page
appears. Select a bed number from a drop down list association to BED
NO field, and then click Transfer Patient button to transfer. See Fig 6.4
for a transfer page overview.
Fig 6.4 Selecting a bed number for transferring a patient
To record patient treatment information:
1. Click Insert Treatment Info tab. A list of patients already transferred
shows up.
92
2. Click a patient ERID, which you want record his/her treatment information,
on the most left and then the Record Treatment Information page appears.
3. In the “Patient Diagnosis Treatment Information” region, Insert patient
treatment information into text fields, text areas and select options from
drop down lists and then click Save button to insert. Before you click Save
button make sure that you fill out at least required fields which are
remarked by a red star on the left. See Fig 6.5 for an overview.
Fig 6.5 Demo for Insertion of Patient Treatment Information
To edit or update patient treatment information
1. Click Insert Patient Info tab and click a patient treatment process ID on
the most left column or take step 2.
93
2. Click Treatment Detail Report tab and click a patient treatment process
ID on the most left column.
3. In the “Patient Diagnosis Treatment Information” region, correct or change
the wrong patient diagnosis and treatment information and then click Save
button to update.
To view patient diagnosis and treatment information
1. Click Treatment Detail Report tab, and then click either the name or any
See Detail for a specific patient.
2. View the diagnosis and treatment detail report for the patient. Click
Cancel to close.
To order a lab test for a patient
1. Click Order Test tab. The Order Test page appears.
2. Click the patient ERID on the most left and then the Test Order Insertion
page appears.
3. Input the order content into the Test Order field, and then click Request
Test button to order. See Fig 6.6 for a Test Order Insertion page overview.
94
Fig 6.6 Test Order Insertion page overview
To order an X-Ray examination for a patient
4. Click Order X-Ray tab. The Order X-Ray page appears.
5. Click the patient ERID on the most left and then the X-Ray Order Insertion
page appears.
6. Input the order content into the X-Ray Order field, and then click Request
X-Ray button to order. See Fig 6.7 for an X-Ray Order Insertion page
overview.
Fig 6.7 X-Ray Order Insertion page overview
To view patient lab test and X-Ray examination results
1. Click Test & X-Ray Report tab and the Test and X-Ray Report page
shows up.
95
2. Click a patient ERID on the most left column, then the Test and X-Ray
Result Detail page appears.
3. View the Test and X-Ray Result Details for the patient. Click Finish button
to close. A sample Test and X-Ray result Details page is shown in Fig 6.8.
Fig 6.8 A sample Test and X-Ray Result Details Page
Lab Report
This section describes how to use this module to view, submit, and update
lab test result.
This section contains the following tasks:
To submit lab test result
To edit or update lab test result
To view lab test results
To submit lab test result
96
1. Log in ERPTS homepage at: http://math.indstate.edu/yang, click Lab
Report, select your username form the Username drop down list and type
your password, then click Login button to login.
2. Click Current Test List tab. A list of tests currently requested shows up.
Click a test order ID on the most left column. The Test Result Submit page
appears.
3. In the “Test Result Detail” region, insert Test Result, Tester and Done
Time fields with test report information and then click Insert Result button
to submit. A sample submission page is shown in Fig 6.9.
Fig 6.9 A sample submission page
To edit or update lab test result
97
1. Click History Test List tab. A list of tests already submitted shows up.
Click a test order ID on the most left column. The Test Result Update
page appears.
2. In the “Test Result Detail” region, correct the wrong test information and
then click Apply Changes button to update.
To view lab test results
1. Click History Test List tab. A list of tests already submitted shows up.
Click the RESULT association to a patient. The test Result page appears.
2. View test result details and click Cancel to close.
X-Ray Report
This section describes how to use this module to view, submit, and update
lab X-Ray result.
This section contains the following tasks:
To submit X-Ray result
To edit or update X-Ray result
To view X-Ray result
To submit X-Ray result
1. Log in ERPTS homepage at: http://math.indstate.edu/yang, click X-Ray
Report, select your username form the Username drop down list and type
your password, then click Login button to login.
98
2. Click Current X-Ray List tab. A list of X-Rays currently requested shows
up. Click an X-Ray order ID on the most left column. The X-Ray Result
Submit page appears.
3. In the “X-Ray Result Detail” region, insert X-Ray Result, Examiner and
Due Time fields with X-Ray report information and then click Insert Result
button to submit.
To edit or update X-Ray result
1. Click History X-Ray List tab. A list of X-Rays already submitted shows
up. Click an X-Ray order ID on the most left column. The X-Ray Result
Update page appears.
2. In the “X-Ray Result Detail” region, correct the wrong X-Ray information
and then click Apply Changes button to update.
To view X-Ray result
1. Click History X-Ray List tab. A list of X-Rays already submitted shows
up. Click the RESULT association to a patient. The X-Ray Result page
appears. A sample X-Ray result page is shown in Fig 6.10.
2. View X-Ray result details and click Cancel to close.
99
Fig 6.10 A sample X-Ray Result page
Patient Release
This section provides information on how to use this module to release a
patient and bring a released patient form completed back to ongoing if a patient
is released by accident.
To Release a patient:
1. Log in ERPTS homepage at: http://math.indstate.edu/yang, click Patient
Release, select your username form the Username drop down list and
type your password, then click Login button to login.
2. Click Release Patient tab. A list of patients shows up. Click a PID on the
most left column. The Release page appears.
3. In the “Release Patient” region, select status to ‘completed’, click the date
picker to select release date and time, and then click Release Patient
button to release.
To bring a released patient back:
100
1. Click Released Patient List tab. A list of patients already released shows
up. Click a PID on the most left column.
2. On the next page, in the “Patient” region, select status to ‘ongoing’, and
then click Back to Ongoing button to bring the patient back to ongoing
status.
Administrator
This section provides information on how to use this module to add,
update, and activate a user as well as view all users’ profiles.
This section contains the following tasks:
To add a user
To activate or inactivate a user
To update a user
To add a user:
1. Click Add Use tab, fill out the Name, Username, Password, confirm
Password, and e-mail, and select values for Position, Activate (default:
inactivate) fields, then click Add User to add a user. At this moment, the
user you just added is not valid for login. To make it valid user, the
workspace administrator have to create the user in HTML DB.
2. To create a user in HTML DB, login at
http://139.102.19.27:7777/pls/htmldb/htmldb_login.
101
Click Home icon button, Administration icon button, Manage User, then
click Create New User. Fill out Username and Password which are
exactly same as the username and password you just created step 1.
Select User is neither a developer nor an administrator as the privilege.
Finally click Create User to finish the process.
To activate or inactivate a user:
1. A valid user has to be activated to login the target work space. Otherwise,
the user can not log in. To activate or inactivate a user, Click
Update/Delete tab, find the target user and click it’s ID, on the next page,
select the Activate field to activate or inactivate, and then click Apply
Changes to finish.
To update a user:
1. To update a user profile, Click Update/Delete tab, find the target user and
click its ID. On the next page, change the information need to change, and
then click Apply Changes to finish.
102
Chapter 7: Conclusion
HTML DB is the latest web application development tool of Oracle which
was released early of 2004. There are no books about this new technology. All of
the related documents, which are even not fully documented, can only be found
on Oracle’s website. I am so glad that I designed and implemented this project
using Oracle HTML DB under the current situations. This project has given me
the opportunity to apply 3-tier architecture technology, which includes installing
and configuring Oracle9i R2 database, Oracle HTML DB and Oracle HTTP
server, and to go through the steps of web application design and database
103
design. Oracle HTML DB gives developers opportunities to combine SQL,
PL/SQL, JavaScript and HTML to create forms, reports, computations,
validations, redirections, and search criteria in an easier way. It is amazing that I
have learnt the whole process to design and implement an Oracle HTML DB web
application.
There are too many events going on in the emergency department so that
some events are not considered in this project. It is very common to update and
enhance a project to meet future requirements. The following features are very
likely to be improved or added in the future enhancements:
1. Physician may be given a way to fax prescription directly to patients’ target
pharmacy through ERPTS.
2. Lab test and X-Ray examination reports can be stored and download in
files formation. X-Ray film can be converted to digital image and easier
transferred and browsed on the internet.
3. CAT scan is commonly used as diagnosis device in emergency room.
Collecting CAT scan results for a patient in ERPTS becomes necessary.
This project has some characters need to be emphasized. First of all,
ERPTS web application can help ER staff store and obtain patient information
quickly, reduce patient waiting time, and improve communications within ER by
sharing patient information through ERPTS easily. Secondly, ERPTS is a web
104
based application and very easy to use. The only thing that ER staffs need to
know is how to use a web browser and interact with it. Specific Help information
is available at any time in specific module. ERPTS is an application capable of
solving real problems in ER. Finally, ERPTS is an Oracle web application
involving many techniques, such as three tier architecture, Oracle database, web
server, and database programming.
Bibliography
1. American Hospital Association, Trend Watch, Vol. 3, No. 1, March 2001
2. U.S. Bureau of the Census, Current Population Survey, 1999
3. Oracle Essentials : Oracle9i, Oracle8i & Oracle8, 2nd Edition, written by
Rick Greenwald, Robert Stackowiak & Jonathan Stern, published by
O'Reilly & Associates, 2002
4. Oracle9i Database Release Notes Release 2 (9.2.0.3.0) for Windows
Server 2003 (32-Bit), Part Number B10924-01
105
5. Oracle9i Database Getting Started, Release 2 (9.2) for Windows, Part No.
A95490-01
6. Oracle Universal Installer Concepts Guide, Release 2.0.1, Part Number
A88812-01
7. Oracle9i Database Installation Guide, Release 2 (9.2.0.1.0) for Windows,
Part Number A95493-01
8. Oracle HTML DB User’s Guide, Release 1.5, Part No. B10992-01, Primary
Author: Terri Winters
9. Professional Oracle 8i Application Programming with Java, PL/SQL, XML,
Primary Author: Michael Awai, Matthew Brortniker, John Carnell, 2000
10.Oracle PL/SQL Programming, Third Edition, Written by Steven Feuerstein
11.Expert One-on-One Oracle, Written by Thomas Kyte, 2002
106