Intro – Part 2 Introduction to Database Management: Ch 1 & 2.

13
Intro – Part 2 Introduction to Database Management: Ch 1 & 2

Transcript of Intro – Part 2 Introduction to Database Management: Ch 1 & 2.

Page 1: Intro – Part 2 Introduction to Database Management: Ch 1 & 2.

Intro – Part 2

Introduction to Database Management: Ch 1 & 2

Page 2: Intro – Part 2 Introduction to Database Management: Ch 1 & 2.

Important Points

DBMS Functions DBMS Architectures Database Development Phases

Page 3: Intro – Part 2 Introduction to Database Management: Ch 1 & 2.

Functions of a DBMS

Eight services that a DBMS should provide (Codd82):

1) Data storage, retrieval, and update

2) A user-accessible catalog describing data items

3) Transaction support

4) Concurrency control services

5) Recovery services

6) Authorization (security) services

7) Support for data communication (network access)

8) Data integrity services

Page 4: Intro – Part 2 Introduction to Database Management: Ch 1 & 2.

Database System Approach

Page 5: Intro – Part 2 Introduction to Database Management: Ch 1 & 2.

Components of a DBMS

A DBMS is a complicated software system containing many components: Query processor - translates user/application queries into

low-level data manipulation actions. Sub-components: query parser, query optimizer

Storage manager - maintains storage information including memory allocation, buffer management, and file storage. Sub-components: buffer manager, file manager

Transaction manager - performs scheduling of operations and implements concurrency control algorithms.

Access manager – controls access to a database

Page 6: Intro – Part 2 Introduction to Database Management: Ch 1 & 2.

Overall System Structure

Page 7: Intro – Part 2 Introduction to Database Management: Ch 1 & 2.

Database Architectures

There are several different database architectures: File-server architecture - files are shared but

DBMS processing occurs at the clients (e.g. Microsoft Access)

Two-Tier client-server architecture - dedicated machine running DBMS accessed by clients (e.g. SQL Server, MySQL)

Three-Tier client-server architecture - DBMS is bottom tier, second tier is an application server containing business logic, top tier is clients (e.g. Web browser/Web Server/PHP/MySQL)

Page 8: Intro – Part 2 Introduction to Database Management: Ch 1 & 2.

Two-Tier Client-Server Architecture

Advantages:•Only one copy of DBMS software on dedicated machine.•Increased performance.•Reduced hardware and communication costs.•Easier to maintain consistency and manage concurrency.

Page 9: Intro – Part 2 Introduction to Database Management: Ch 1 & 2.

Three-Tier Client-Server Architecture

Advantages:•Reduced client administration and cost using thin web clients.•Easy to scale architecture and perform load balancing.

Page 10: Intro – Part 2 Introduction to Database Management: Ch 1 & 2.

Database Development Phases

Conceptual Data Modeling

Logical Database Design

Distributed Database Design

Physical Database Design

ERD

Tables

Distribution Schema

Internal Schema, Populated DB

Data requirements

Page 11: Intro – Part 2 Introduction to Database Management: Ch 1 & 2.

Conceptual Data Modeling

Information content of the database Entity relationship diagram (ERD) showing

entity types and relationships Diverse formats for database requirements

Page 12: Intro – Part 2 Introduction to Database Management: Ch 1 & 2.

Logical Database Design

Refine conceptual design Convert ERD to table design Normalization: tool to reason about

redundancies Add constraints to enforce business rules

Page 13: Intro – Part 2 Introduction to Database Management: Ch 1 & 2.

Physical Database Design

Performed at each independent database site Minimize response time without consuming

excessive resources Tradeoffs: retrieval versus update Flexible designs versus specialized designs Decisions: indexes, data placement