Client/Server Databases And The Oracle9i Relational Database

advertisement
Client/Server Databases and
the Oracle10G Relational
Database
Chapter 1
Guide to Oracle10G
1
Objectives
• Develop an understanding of the purpose of database systems
• Become familiar with the structure of a relational database and
review relational database concepts and terms
• Explore the differences between personal databases and
client/server databases
• Learn about the Clearwater Traders sales order database, the
Northwoods University student registration database
2
Before Databases
• Information was kept in files:
–
–
–
–
Each field describes one piece of information about student
Fields are separated by commas
A record is a collection of related fields
Each record is a separate line
Guide to Oracle10G
3
Problems with Files
• Proliferation of
data management
programs to deal
with different file
formats
• Redundant data
stored in files
• Data files may
contain
inconsistent data
Guide to Oracle10G
4
Database Approach
• Database stores all organizational data in a central location
• Good database design eliminates redundant data to reduce the
possibility of inconsistent data
• Single application called the database management system
(DBMS) performs all routine data handling operations
• Database administrator (DBA): person responsible for
installing, administering, and maintaining the database
Guide to Oracle10G
5
Early Databases –
Hierarchical Structure
Guide to Oracle10G
6
Relational Databases
Guide to Oracle10G
7
Relational Database Terms
• Entity: an object about which you want to store data
• Relationships: links that show how different records
are related
• Key Fields: establish relationships among records in
different tables
• Five main types of key fields:
–
–
–
–
–
primary keys
candidate keys
surrogate keys
foreign keys
composite keys
Guide to Oracle10G
8
Primary Keys
• Primary key
–
–
–
–
–
Value must be unique for each record
Serves to identify the record
Present in every record
Can’t be NULL
Should be numeric
Guide to Oracle10G
9
Candidate Keys
• Candidate key
– Any field that could be used as the primary key
– Should be a unique, unchanging numeric field
Guide to Oracle10G
10
Surrogate Keys
•
Surrogate key: created to be the record’s primary key identifier when
no suitable primary key exists
•
Surrogate key has no real relationship to the record to which it is
assigned, other than to identify the record uniquely
•
Developers configure the database to generate surrogate key values
automatically
•
In an Oracle database, you can automatically generate surrogate key
values using a sequence
•
Surrogate keys are always numerical fields, because the database
generates surrogate key values automatically by incrementing the
previous value by one
Guide to Oracle10G
11
Foreign Keys
•
•
•
Foreign key: a field in a table that is a primary key in another table
Foreign key creates a relationship between the two tables
Foreign key value must exist in the table where it is a primary key
Guide to Oracle10G
12
Composite Keys
• Composite key: a unique key that you create by
combining two or more fields
• Usually comprised of fields that are primary keys in
other tables
Guide to Oracle10G
13
Personal Database
Management Systems
•
DBMS and database applications run on the same workstation and
appear to the user as a single integrated application
•
Personal databases used primarily for creating single-user database
applications
•
Support small multiuser database applications by storing the database
application files on a file server instead of on a single user’s workstation
and then transmitting the files or the parts of files containing the desired
data to various users across a network
•
Database developers should use a personal database only for nonmission-critical applications
Guide to Oracle10G
14
Client/Server Database
Management Systems
• Client/server database
– Takes advantage of distributed processing and networked
computers by distributing processing across multiple computers
– DBMS server process runs on one workstation, and the database
applications run on separate client workstations across the network
– Preferred for database applications that retrieve and manipulate
small amounts of data from databases containing large numbers of
records because they minimize network traffic and improve
response times
• Organizations generally use a client/server database if the
database will have more than 10 simultaneous users and if the
database is mission critical
Guide to Oracle10G
15
Client/Server Database Architecture
Guide to Oracle10G
16
The Oracle9i Client/Server Database
• Oracle9i is the latest release of Oracle Corporation’s relational
database
• All Oracle server- and client-side programs use Oracle Net, a
utility that enables the network communication between the
client and the server
Guide to Oracle10G
17
Client-Side Utilities
•
•
•
•
•
SQL*Plus
– for creating and testing command-line SQL queries and executing
PL/SQL procedural programs
Oracle9i Developer Suite
– for developing database applications including the following
Developer tools:
Forms Builder
– for creating custom user applications
Reports Builder
– for creating reports for displaying, printing, and distributing
summary data
Enterprise Manager
– for performing database administration tasks such as creating new
user accounts and configuring how the DBMS stores and manages
data
Guide to Oracle10G
18
Design Principles
• To avoid creating tables that contain redundant data, group
related items that describe a single entity together in a common
table
• Do not create tables that duplicate values many times in
different rows
• When creating a database and inserting data values, you must
specify the data type for each column
• Recall that primary key fields should use a number data type to
avoid typographical, punctuation, and case variation errors
Guide to Oracle10G
19
The Clearwater Traders
Sales Order Database
Clearwater Traders
• Markets a line of clothing and sporting goods via mail-order
catalogs
• Accepts customer orders via telephone, mail, and fax
• Wants to begin accepting orders using its Web site
• Has decided to offer 24-hour customer order service
• Existing microcomputer-based database system cannot handle
current transaction volume
• Managers concerned that the current database does not have
the failure-handling and recovery capabilities needed for an
ordering system that cannot tolerate failures or downtime
Guide to Oracle10G
20
Clearwater Traders Data
Requirements
•
Customer name, address, daytime and evening telephone numbers,
user names, and passwords
•
Order date, payment method (check or credit card), order source
(catalog description or Web site), and associated item numbers, sizes,
colors, and quantities ordered
•
Item descriptions and photo images, as well as item categories
(women’s clothing, outdoor gear, and so on), prices, and quantities on
hand. Many clothing items are available in multiple sizes and colors.
Sometimes the same item has different prices depending on the item
size
•
Information about incoming product shipments
Guide to Oracle10G
21
Clearwater Traders
Table Relationships
Guide to Oracle10G
22
The Northwoods University
Student Registration Database
Northwoods University
• Decided to replace its aging mainframe-based
student registration system with a more modern
client/server database system
• School officials want students to be able to retrieve
course availability information, register for courses,
and print transcripts using personal computers
located in the student computer labs
Guide to Oracle10G
23
The Northwoods University
Student Registration Database (cont)
• Faculty members must be able to retrieve student
course lists, drop and add students, and record
course grades
• Faculty members must also be able to view records
for the students they advise
• Security is a prime concern, so student and course
records must be protected by password access
Guide to Oracle10G
24
Northwoods University
Data Requirements
• Student name, address, telephone number, class (freshman,
sophomore, junior, or senior), date of birth, PIN (personal
identification number), and advisor ID
• Course call number (such as MIS 101), course name, credits,
location, duration, maximum enrollment, instructor, and term
offered
• Instructor name, office location, telephone number, rank, and
PIN
• Student enrollment and grade information
Guide to Oracle10G
25
Northwoods University
Table Relationships
Guide to Oracle10G
26
Summary
• A database stores all organizational data in a central location
• Database management system (DBMS) provides a central set
of common functions for managing a database, including
– Inserting
– Updating
– Retrieving
– Deleting data values
• Most modern databases are relational databases
– Store data in a tabular format
– Columns represent different data fields
– Rows contain individual data records
Guide to Oracle10G
27
Summary
• In a relational database
– Data about different entities is stored in separate tables
– You create relationships that link related data using key
fields
• A database system consists of
– DBMS: manages the physical data storage
– Database applications: provide the user interface to the
database
• Many database systems use a client/server architecture
– DBMS runs as a server process
– Database applications run as client processes
Guide to Oracle10G
28
Download