58
Chapter 1 Oracle9i: SQL 1 Chapter 1 Overview of Database Concepts

Chapter 1 Overview of Database Concepts

  • Upload
    lenora

  • View
    33

  • Download
    0

Embed Size (px)

DESCRIPTION

Chapter 1 Overview of Database Concepts. Chapter Objectives. Identify the purpose of a database management system (DBMS) Distinguish a field from a record and a column from a row Identify the basic components of an Entity-Relationship Model - PowerPoint PPT Presentation

Citation preview

Page 1: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 1

Chapter 1Overview of Database Concepts

Page 2: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 2

Chapter Objectives

• Identify the purpose of a database management system (DBMS)

• Distinguish a field from a record and a column from a row

• Identify the basic components of an Entity-Relationship Model

• Define the three types of relationships that can exist between entities

Page 3: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 3

Chapter Objectives

• Explain the purpose of normalization

• Describe the role of a primary key

• Identify partial dependency and transitive dependency in the normalization process

Page 4: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 4

Chapter Objectives

• Explain the purpose of a foreign key

• Determine how to link data in different tables through the use of a common field

• Explain the purpose of a structured query language (SQL)

Page 5: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 5

Database Terminology

• Database – logical structure to store data

• Database Management System (DBMS) – software used to create and interact with the database

Page 6: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 6

Database Components

• Bit (0 or 1) is the smallest data unit. • A few bits (usually 8) can be organized into

a byte. • Each byte represents a character that is the

basic building block of information. • Field• Record• File

Page 7: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 7

Database Components - Character

• Basic unit of data

• Can be a letter, number, or special symbol

Page 8: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 8

Database Components - Field

• A group of related characters

• Represents an attribute or characteristic of an entity

• Corresponds to a column in the physical database

Page 9: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 9

Database Components - Record

• A collection of fields for one specific entity

• Corresponds to a row in the physical database

Page 10: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 10

Database Components - File

• A group of records about the same type of entity

File (a table) Field A Field B Field C ……..

Record 1

Record 2

Record 3

Record 4

…….

Page 11: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 11

What Are Relations

• A Relational DB is a collection of relations• A relation is a two-dimensional table that has the

following characteristics– Rows contain data about an entity– Columns contain data about attributes of the entity– Cells of the table hold a single value– Each column has a unique name– The order of the columns is unimportant– The order of the rows is unimportant– No two rows may be identical

Page 12: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 12

What Are Relations

• Interchangeably Used Terms in Relational Database– table = file = relation– row = record= tuple – column = field = attribute

Page 13: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 13

Components Example

Page 14: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 14

The Customers File/Table/Relation

• CUSTOMERS

Name Address City State …….

Customer A John 123 5th St. Huntsville AL …….

Customer B …… ………. ………… …. …….

Customer C

Customer D

…….

Page 15: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 15

Review of Database Design

• Systems Development Life Cycle (SDLC)

• Entity-Relationship Model (E-R Model)

• Normalization

Page 16: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 16

Systems Development Life Cycle (SDLC) 5 Phases

• Systems investigation – understanding the problem

• Systems analysis – understanding the solution

• Systems design – creating the logical and physical components

Page 17: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 17

Systems Development Life Cycle (SDLC)

• Systems implementation – placing completed system into operation

• Systems maintenance and review – evaluating the implemented system

Page 18: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 18

Entity-Relationship Model (E-R Model)

• Used to depict the relationship that exists among entities.

• Entity Definitions– An object of interest to the business– A class or category of thing– A named thing or a thing of significance about

which the business needs information– Entity instance is the representation of a

particular entity. Attribute is a characteristic of an entity.

Page 19: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 19

Entities: Examples

COURSE STUDENTINSTRUCTOR

codenamefeelength

namephone no.

namephone no

Page 20: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 20

E-R Model Symbols

Page 21: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 21

Relationships: An Example

taken by

enrolled in

STUDENT COURSE

Each STUDENT may be enrolled in one or more COURSES

Each COURSE may be taken by one or more STUDENTS

Page 22: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 22

Relationships

• The following relationships can be included in an E-R Model:– One-to-one

– One-to-many

– Many-to-many

Page 23: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 23

One-to-one Relationship

• Each occurrence of data in one entity is represented by only one occurrence of data in the other entity

• Example: Each individual has just one Social Security Number (SSN) and each SSN is assigned to just one person

Page 24: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 24

One-to-many Relationship

• Each occurrence of data in one entity can be represented by many occurrences of the data in the other entity

• Example: A class has only one instructor, but each instructor can teach many classes

Page 25: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 25

Many-to-many Relationship

• Data can have multiple occurrences in both entities

• Example: A student can take many classes and each class is composed of many students

• Can not be included in the physical database

Page 26: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 26

Relationship Types: More ExamplesRelationship Types: More ExamplesMany-to-One

One-to-One

Many-to-Many

Page 27: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 27

Many-to-One RelationshipsMany-to-One Relationships

CUSTOMER SALES REPRESENTATIVE

assigned to

visited by

Page 28: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 28

Many-to-Many RelationshipsMany-to-Many Relationships

PATIENT HEALTH CARE WORKER

assigned to

attended by

Page 29: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 29

One-to-One RelationshipsOne-to-One Relationships

BICYCLE RIDER

the rider

is ridden by

Page 30: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 30

Entity-Relationship Model

• An entity is usually represented as a square or rectangle.

• A line between two entities depict their relationships (a dashed line for optional relationship)– One-to-one: straight line– One-to-many: a straight line with a “crowfoot” at

the “many” end.– Many-to-many: a straight line with a “crowfoot”

at each end.

Page 31: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 31

Example E-R Model

Page 32: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 32

Normalization

• Determines required tables and columns for each table

• Multi-step process. Application of a series of rules that gradually improve the design

• Used to reduce or control data redundancy

Page 33: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 33

Unnormalized Data

Contains repeating groups in the Author column in the BOOKS table

Page 34: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 34

First-Normal Form (1NF)

• Primary key is identified– Primary key is a field or a set of fields

(composite PK) that serve to uniquely identify each record in a table. e.g. the SSN field in a table that contains students’ record.

• Repeating groups are eliminated. Single valued attributes only

Page 35: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 35

Primary Keys

• Primary key– Value must be unique for each record– Serves to identify the record– Present in every record– Can’t be NULL– Usually numeric

Page 36: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 36

Candidate Keys

• Candidate key

– Any field that could be used as the primary key

– Should be a unique, unchanging numeric field

Page 37: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 37

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

• Surrogate keys are always numerical fields

Page 38: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 38

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

Page 39: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 39

Page 40: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 40

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

Page 41: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 41

First-Normal Form (1NF)

ISBN and Author columns together create a composite primary key

Page 42: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 42

Composite Key-P.D.

• More than one column is required to uniquely identify a row

• Can lead to partial dependency - a column is only dependent on a portion of the primary key

Page 43: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 43

Second-Normal Form (2NF)

• Partial dependency must be eliminated– Break the composite primary key into

two parts, each part representing a separate table

Page 44: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 44

Second-Normal Form (2NF)

BOOKS table in 2NF

Page 45: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 45

Third-Normal Form (3NF)

Publisher contact name has been removed

Page 46: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 46

Summary of Normalization Steps

• 1NF: eliminate repeating groups, identify primary key

• 2NF: table is in 1NF and partial dependencies eliminated

• 3NF: table is in 2NF and transitive dependencies eliminated

Page 47: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 47

Linking Tables

• Once tables are normalized, make certain tables are linked

• Tables are linked through a common field• A common field is usually a primary key in

one table and a foreign key in the other table

• A foreign key is a column that is a primary key of another table

Page 48: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 48

Linking Tables

• For every value of a foreign key there is a primary key with that value

• A foreign key can never be null

• A primary key must exist before the foreign key can be defined

Page 49: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 49

Page 50: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 50

JustLee Books’ Database

Assumptions– No back orders or partial shipments– Only US addresses– Shipped orders are purged (deleted) at the end

of the month

Page 51: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 51

Structured Query Language (SQL) and DBMS

• Data sublanguage • Structured Query Language (SQL) is a data

sublanguage that has constructs for defining and processing a database

• It can be – Used stand-alone within a DBMS command– Embedded in triggers and stored procedures– Used in scripting or programming languages

• All DBMS use some variation of the standardized ANSI-SQL. (Oracle SQL Plus)

Page 52: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 52

Structured Query Language (SQL) and DBMS

• SQL was developed by IBM in late 1970s• SQL-92 was endorsed as a national standard by

ANSI in 1992• Data Definition Language (DDL) is used to define

database structures• Data Manipulation Language (DML) is used to

query and update data• DBMS: Database Management System• Examples of DBMS: Oracle, DB2, Microsoft

Access, SQL Server

Page 53: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 53

Client/Server DBMS

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

Page 54: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 54

Client/Server DBMS

• 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

Page 55: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 55

Client/Server Database Architecture

Page 56: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 56

The Oracle9i Client/Server Database

• All Oracle server- and client-side programs use Oracle Net, a utility that enables the network communication between the client and the server

Page 57: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 57

Oracle DBMS

• Oracle is the world’s most popular DBMS• It is a powerful and robust DBMS that runs on

many different operating systems• Oracle DBMS engine: Personal Oracle and

Enterprise Oracle• Example of Oracle products

– SQL*Plus: a utility for processing SQL and creating components like stored procedures and triggers

Page 58: Chapter 1 Overview of Database Concepts

Chapter 1 Oracle9i: SQL 58

Oracle SQL *Plus

• Oracle SQL*Plus or the Oracle Enterprise Manager Console may be used to manage an Oracle database

• SQL*Plus is a text editor available in all Oracle• Case-insensitive• The semicolon (;) terminates a SQL statement• The right-leaning slash (/) executes SQL statement

stored in Oracle buffer