Client/Server Databases and the Oracle 10g Relational Database Chapter 1: Client/Server Databases and the Oracle 10g Relational Database Guide to Oracle 10g
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
Objectives (continued) Understand the Northwoods University student registration database and the Clearwater Traders sales order database Guide to Oracle 10g
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
Database Systems Data files consist of: Fields Records Describe characteristics Also called columns Records Group of related fields Guide to Oracle 10g
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
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
Database Approach to Data Processing Guide to Oracle 10g
Database Systems (continued) Database administrator Person responsible for installing, administering, and maintaining the database Often called DBA Guide to Oracle 10g
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
Overview of Relational Databases (continued) Guide to Oracle 10g
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
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
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
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
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
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
Composite Keys Unique key that is created by combining two or more columns Usually comprises fields that are primary keys in other tables Composite Key ORDER_ID PRODUCT_ID ORDER_QUANTITY 100 1 2 200 Guide to Oracle 10g
Database Design Main tasks involved with design of database: Developing entity-relationship (ER) model Normalizing database tables Guide to Oracle 10g
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
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
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
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
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
Example of Unnormalized Data Guide to Oracle 10g
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
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
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
Database Systems Consists of Server DBMS Database applications 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
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
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
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
Using a Personal Database for a Multiuser Application Guide to Oracle 10g
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
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
Client/Server Database Architecture Guide to Oracle 10g
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
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
The Oracle 10g Client/Server Database 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
Client/Server Architecture for Oracle 10g DBMS Guide to Oracle 10g
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
The Database Cases Fictional organizations: Design principles: 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
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
The Clearwater Traders Sales Order Database (continued) Tables: CUSTOMER ORDER_SOURCE ORDERS CATEGORY ITEM Guide to Oracle 10g
The Clearwater Traders Sales Order Database (continued) Tables (continued): : ORDER_LINE SHIPMENT INVENTORY SHIPMENT_LINE COLOR Guide to Oracle 10g
Visual Representation of the Clearwater Traders Database Guide to Oracle 10g
The Northwoods University Student Registration Database Student registration system Data items consist of information about: Students Courses Instructors Student Enrollment Guide to Oracle 10g
The Northwoods University Student Registration Database (continued) Tables: LOCATION FACULTY STUDENT TERM COURSE COURSE_SECTION ENROLLMENT Guide to Oracle 10g
Visual Representation of the Northwoods University Database Guide to Oracle 10g
Summary Relational databases Primary key Foreign key 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
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
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 Guide to Oracle 10g