Guide to Oracle 10g Chapter 1: Client/Server Databases and the Oracle 10g Relational Database

Preview:

Citation preview

Guide to Oracle 10g

Chapter 1:

Client/Server Databases and the Oracle 10g Relational Database

CE
Global comments:1. Is it okay that the title slides have a purple background?2. The titles on every slide (including the first slide) are in navy blue, instead of black - okay?3. The bullets (acual bullet icon) on every other slide are in navy blue - okay?4. Also, please note that the 'g' in Oracle 10g in the footer is not italicized (I don't think it can be).Global to this PPT: Please note that the figure slides have the figure caption as slide title, not heading - okay? (The individual slides are commented.)

Guide to Oracle 10g 2

Objectives

• Develop an understanding of the purpose of database systems

• Describe the purpose and contents of an entity-relationship model

• Explain the steps in the normalization process• Describe the differences between personal and

client/server databases

Guide to Oracle 10g 3

Objectives (continued)

• Understand the Northwoods University student registration database and the Clearwater Traders sales order database

Guide to Oracle 10g 4

Introduction

• If an organization needs to store and maintain a large amount of data that must be viewed and updated by many users at the same time, it often uses a client/server database such as Oracle 10g.

Guide to Oracle 10g 5

Database Systems

• Data files consist of:– Fields

• Describe characteristics

• Also called columns

– Records• Group of related fields

Guide to Oracle 10g 6

Database Systems (continued)

• Problems with storing data in files:– Proliferation of data management programs

– Presence of redundant data

– Inconsistent data

• Database– Stores all organizational data in central location

– Eliminates redundant data to reduce possibility of inconsistent data

Guide to Oracle 10g 7

Database Systems (continued)

• Database management system (DBMS)– Application that performs all routine data-handling

operations

– Provides central set of common functions for managing database

• Inserting

• Updating

• Retrieving

• Deleting data values

Guide to Oracle 10g 8

Database Approach to Data Processing

CE
Slide title is figure caption, not heading - okay?This seems odd b/c it comes b/w slides with the same header/title.

Guide to Oracle 10g 9

Database Systems (continued)

• Database administrator– Person responsible for installing, administering,

and maintaining the database

– Often called DBA

Guide to Oracle 10g 10

Overview of Relational Databases

• Table– Matrix with columns and rows

• Columns – Represent different data fields

– Characteristics or attributes about entity

• Rows – Contain individual records

– Attributes about a specific instance of entity

Guide to Oracle 10g 11

Overview of Relational Databases (continued)

Guide to Oracle 10g 12

Overview of Relational Databases (continued)

• Entity– Object about which you want to store data

– Different tables store data about each different entity

• Relationships– Links that show how different records are related

Guide to Oracle 10g 13

Overview of Relational Databases (continued)

• Key fields– Establish relationships among records in different

tables

– Main types of key fields• Primary

• Candidate

• Surrogate

• Foreign

• Composite

Guide to Oracle 10g 14

Primary Keys

• Column in relational database table whose value must be unique for each row

• Serves to identify individual occurrence of entity• Every row must have a primary key• Cannot be NULL• NULL

– Value is absent or unknown

– No entry is made for that data element

Guide to Oracle 10g 15

Candidate Keys

• Any column that could be used as the primary key• Should be a column that is unique for each record

and does not change

Guide to Oracle 10g 16

Surrogate Keys

• Column created to be record’s primary key identifier

• Has no real relationship to row to which it is assigned other than to identify it uniquely

• Surrogate key values automatically generated using a sequence

Guide to Oracle 10g 17

Foreign Keys

• Column in table that is a primary key in another table• Creates relationship between two tables• Value must exist in table where it is the primary key

Guide to Oracle 10g 18

Composite Keys

• Unique key that is created by combining two or more columns

• Usually comprises fields that are primary keys in other tables

ORDER_ID PRODUCT_ID ORDER_QUANTITY

100 1 2

100 2 2

200 2 2

200 1 1

Composite Key

Guide to Oracle 10g 19

Database Design

• Main tasks involved with design of database: – Developing entity-relationship (ER) model

– Normalizing database tables

Guide to Oracle 10g 20

Entity-Relationship Model

• Designed to help you identify which entities need to be included in database

• Composed of – Squares representing entities– Lines representing relationships

• Types of relationships:– One to one (1:1)– One to many (1:M)– Many to many (N:M)

Guide to Oracle 10g 21

Entity-Relationship Model (continued)

• One to one (1:1)– Each occurrence of a specific entity is found only

once in each set of data

– Rare in relational databases

• One to many (1:M)– Instance can only appear once in one entity, but

one or more times in the other entity

Guide to Oracle 10g 22

Entity-Relationship Model (continued)

• Many to many (N:M)– Instance can occur multiple times in each entity

– Cannot be represented in physical database

– Broken down into series of two or more 1:M relationships through use of linking table in process of normalization

Guide to Oracle 10g 23

Normalization

• Step-by-step process used to determine which data elements should be stored in which tables

• Purpose– Eliminate data redundancy

• Several levels of normalization– Forms

Guide to Oracle 10g 24

Normalization (continued)

• Unnormalized data – Does not have a primary key identified

– Contains repeating groups

• First normal form (1NF)– Repeating groups removed

– Primary key field identified

Guide to Oracle 10g 25

Example of Unnormalized Data

CE
Slide title is figure caption, not heading - okay?This seems odd b/c it comes b/w slides with the same header/title.

Guide to Oracle 10g 26

Normalization (continued)

• Second normal form (2NF)– In 1NF

– No partial dependencies

• Partial dependency– Fields within the table are dependent only on part

of the primary key

Guide to Oracle 10g 27

Normalization (continued)

• Basic procedure for identifying partial dependency:– Look at each field that is not part of the composite

primary key

– Make certain you are required to have both parts of the composite field to determine the value of the data element

Guide to Oracle 10g 28

Normalization (continued)

• Third normal form (3NF)– In 2NF

– No transitive dependencies

• Transitive dependency – Field is dependent on another field within the table

that is not the primary key field

Guide to Oracle 10g 29

Database Systems

• Consists of– DBMS

• Manages physical storage and data retrieval

– Database applications• Provide interface that allows users to interact with

database

• Server – Computer that shares resources with other

computers

Guide to Oracle 10g 30

Database Systems (continued)

• Server process – Program that listens for requests for resources from

clients

– Responds to requests

• Client– Program that requests and uses server resources

Guide to Oracle 10g 31

Personal Database Management Systems

• DBMS and database applications run on same workstation

• Appear to user as a single integrated application• Used primarily for creating single-user database

applications• Can also be used for some multiuser applications• Should be used only for applications that are not

mission critical

Guide to Oracle 10g 32

Personal Database Management Systems (continued)

• Microsoft Access– Stores all data for database in a single file with

an .mdb extension

– Database administrator stores .mdb file on a central file server

Guide to Oracle 10g 33

Using a Personal Database for a Multiuser Application

CE
Slide title is figure caption, not heading - okay?This seems odd b/c it comes b/w slides with the same header/title.

Guide to Oracle 10g 34

Personal Database Management Systems (continued)

• Transaction processing – Grouping related database changes into units of

work that must either all succeed or all fail

– DBMS can use the transaction log to reverse—or roll back—the changes

Guide to Oracle 10g 35

Client/Server Database Management Systems

• DBMS server process runs on one workstation• Database applications run on separate client

workstations across network• Server sends only requested data back to client

rather than entire database

Guide to Oracle 10g 36

Client/Server Database Architecture

Guide to Oracle 10g 37

Client/Server Database Management Systems (continued)

• Generate less network traffic than personal databases

• Extra features to minimize chance of failure• Powerful recovery mechanisms that often operate

automatically• Maintain file-based transaction log on database

server

Guide to Oracle 10g 38

Client/Server Database Management Systems (continued)

• Preferred for– Database applications that retrieve and manipulate

small amounts of data from databases containing large numbers of records

– Mission-critical applications

– Web-based database applications that require increased security and fault tolerance

Guide to Oracle 10g 39

The Oracle 10g Client/Server Database

• Oracle 10g– Latest release of Oracle Corporation’s relational

database– Client/server database

• Server side– DBMS server process

• Oracle Net– Utility that enables network communication

between client and server

Guide to Oracle 10g 40

Client/Server Architecture for Oracle 10g DBMS

CE
Slide title is figure caption, not heading - okay?This seems odd b/c it comes b/w slides with the same header/title.

Guide to Oracle 10g 41

The Oracle 10g Client/Server Database (continued)

• Oracle Application Server– Used to create World Wide Web pages that allow

users to access Oracle databases

• Oracle client products:– SQL*Plus

– Oracle 10g Developer Suite

– Enterprise Manager

Guide to Oracle 10g 42

The Database Cases

• Fictional organizations:– Clearwater Traders

– Northwoods University

• Design principles:– Convert all tables to third normal form

– Include primary key as foreign key in table on “many” side of relationship

– Specify data type for each column

Guide to Oracle 10g 43

The Clearwater Traders Sales Order Database

• Clothing and sporting goods through mail-order catalogs

• Wants to begin accepting orders using Web site• Required data consists of information for:

– Customers

– Orders

– Items

– Shipments

Guide to Oracle 10g 44

The Clearwater Traders Sales Order Database (continued)

• Tables:– CUSTOMER

– ORDER_SOURCE

– ORDERS

– CATEGORY

– ITEM

Guide to Oracle 10g 45

The Clearwater Traders Sales Order Database (continued)

• Tables (continued): :– ORDER_LINE

– SHIPMENT

– INVENTORY

– SHIPMENT_LINE

– COLOR

Guide to Oracle 10g 46

Visual Representation of the Clearwater Traders Database

CE
Slide title is figure caption, not heading - okay?

Guide to Oracle 10g 47

The Northwoods University Student Registration Database

• Student registration system• Data items consist of information about:

– Students

– Courses

– Instructors

– Student Enrollment

Guide to Oracle 10g 48

The Northwoods University Student Registration Database (continued)

• Tables:– LOCATION

– FACULTY

– STUDENT

– TERM

– COURSE

– COURSE_SECTION

– ENROLLMENT

Guide to Oracle 10g 49

Visual Representation of the Northwoods University Database

CE
Slide title is figure caption, not heading - okay?

Guide to Oracle 10g 50

Summary

• Relational databases – Store data in tabular format

– Create relationships that link related data using key columns

• Primary key– Column that uniquely identifies specific record

• Foreign key – Creates relationship between two tables

Guide to Oracle 10g 51

Summary (continued)

• Entity-relationship (ER) model – Used to describe types of relationships between

entities

• Normalization process – Used to determine which fields belong in which

tables

• Database system consists of – DBMS

– Database applications

Guide to Oracle 10g 52

Summary (continued)

• Client/server databases divide database into – Server process that runs on network server

– User application processes that run on individual client workstations

• Oracle 10g is a client/server database

Recommended