Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 1 Chapter 2: Database System...

16
Slide 1- 1 Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Chapter 2: Database System Concepts and Architecture - Outline Data Models and Their Categories History of Data Models Schemas, Instances, and States Three-Schema Architecture Data Independence DBMS Languages and Interfaces Database System Utilities and Tools Centralized and Client-Server Architectures Classification of DBMSs

Transcript of Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 1 Chapter 2: Database System...

Page 1: Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 1 Chapter 2: Database System Concepts and Architecture - Outline Data Models and Their.

Slide 1- 1Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Chapter 2: Database System Concepts and Architecture - Outline

Data Models and Their Categories History of Data Models Schemas, Instances, and States Three-Schema Architecture Data Independence DBMS Languages and Interfaces Database System Utilities and Tools Centralized and Client-Server Architectures Classification of DBMSs

Page 2: Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 1 Chapter 2: Database System Concepts and Architecture - Outline Data Models and Their.

Slide 1- 2Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Data Models Data Model:

structure of a database, the operations for manipulating these structures, and certain constraints that the database should obey.

Data Model Structure and Constraints: Data Model Operations:

Categories of Data Models Conceptual (high-level, semantic) data models:

(Also called entity-based or object-based data models.) Physical (low-level, internal) data models: Implementation (representational) data models:

Page 3: Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 1 Chapter 2: Database System Concepts and Architecture - Outline Data Models and Their.

Slide 1- 3Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Database Schema, Instance and State

Database Schema: Includes descriptions of the database structure, data types, and

the constraints on the database. Schema Diagram:

An illustrative display of (most aspects of) a database schema. Schema Construct:

A component of the schema or an object within the schema, e.g., STUDENT, COURSE.

Database State: Distinction

The database schema changes very infrequently. The database state changes every time the database is updated.

Schema is also called intension. State is also called extension.

Page 4: Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 1 Chapter 2: Database System Concepts and Architecture - Outline Data Models and Their.

Slide 1- 4Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Example of a Database Schema

Page 5: Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 1 Chapter 2: Database System Concepts and Architecture - Outline Data Models and Their.

Slide 1- 5Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Example of a database state

Name Student_number Class Major

Smith 17 1 CS

Brown 8 2 CS

STUDENT

Page 6: Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 1 Chapter 2: Database System Concepts and Architecture - Outline Data Models and Their.

Slide 1- 6Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Three-Schema Architecture Defines DBMS schemas at three

levels: Internal schema Conceptual schema External schemas at the

external level to describe the various user views.

Usually uses the same data model as the conceptual schema.

Data Independence: Logical Data Independence: Physical Data Independence:

Page 7: Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 1 Chapter 2: Database System Concepts and Architecture - Outline Data Models and Their.

Slide 1- 7Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

DBMS Languages Data Definition Language (DDL) Data Manipulation Language (DML)

High-Level or Non-procedural Languages: These include the relational language SQL

May be used in a standalone way or may be embedded in a programming language. Also called declarative langauages

Low Level or Procedural Languages: These must be embedded in a programming language

Page 8: Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 1 Chapter 2: Database System Concepts and Architecture - Outline Data Models and Their.

Slide 1- 8Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

DBMS Interfaces Stand-alone query language interfaces

Example: Entering SQL queries at the DBMS interactive SQL interface (e.g. SQL*Plus in ORACLE)

Programmer interfaces for embedding DML in programming languages

User-friendly interfaces Menu-based, forms-based, graphics-based, etc.

Page 9: Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 1 Chapter 2: Database System Concepts and Architecture - Outline Data Models and Their.

Slide 1- 9Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

DBMS Programming Language Interfaces Embedded Approach: e.g embedded SQL (for C, C++, etc.),

SQLJ (for Java) Procedure Call Approach: e.g. JDBC for Java, ODBC for other

programming languages Database Programming Language Approach: e.g. ORACLE

has PL/SQL Menu-based, popular for browsing on the web Forms-based, designed for naïve users Graphics-based Natural language: requests in written English Combinations of the above: Speech as Input and Output Web Browser as an interface Parametric interfaces, e.g., bank tellers using function keys. Interfaces for the DBA:

Page 10: Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 1 Chapter 2: Database System Concepts and Architecture - Outline Data Models and Their.

Slide 1- 10Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Database System Utilities To perform certain functions such as:

Loading data stored in files into a database. Includes data conversion tools.

Backing up the database periodically on tape. Reorganizing database file structures. Report generation utilities. Performance monitoring utilities.

Data dictionary / repository: Application Development Environments and CASE (computer-aided

software engineering) tools: Examples:

PowerBuilder (Sybase) JBuilder (Borland) JDeveloper 10G (Oracle)

Page 11: Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 1 Chapter 2: Database System Concepts and Architecture - Outline Data Models and Their.

Slide 1- 11Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Typical DBMS Component Modules

Page 12: Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 1 Chapter 2: Database System Concepts and Architecture - Outline Data Models and Their.

Slide 1- 12Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

A Physical Centralized Architecture

Page 13: Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 1 Chapter 2: Database System Concepts and Architecture - Outline Data Models and Their.

Slide 1- 13Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Logical two-tier client server architecture

Page 14: Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 1 Chapter 2: Database System Concepts and Architecture - Outline Data Models and Their.

Slide 1- 14Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Three-tier client-server architecture

Page 15: Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 1 Chapter 2: Database System Concepts and Architecture - Outline Data Models and Their.

Slide 1- 15Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

Classification of DBMSs Based on the data model used

Traditional: Relational, Network, Hierarchical. Emerging: Object-oriented, Object-relational.

Other classifications Single-user vs. multi-user. Centralized vs. Distributed

Homogeneous DDBMS vs Heterogeneous DDBMS Federated or Multidatabase Systems Distributed Database Systems Based on cost factors

Page 16: Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide 1- 1 Chapter 2: Database System Concepts and Architecture - Outline Data Models and Their.

Slide 1- 16Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe

History of Data Models Network Model Hierarchical Model Relational Model Object-oriented Data Models Object-Relational Models