Overview
Data Models, Schemas & Instances Three-Schema Architecture and Data Independence Database Languages & Interfaces Database System Environment Centralized DB & Client/Server Architecture DBMS Classifications
2
Data Models
computer
For computer specialists/DBMS implementer Physical data model Record formats, record orderings, access paths
model
Meant for end user With some of the data organizational information Can be implemented directly in a computer E.g. Relational data model Out of fashion
Network data model Hierarchical data model
7
Database Schemas
What is DB Schema?
A description of the database (meta-data) Covers only some aspects Not changed frequently Specify when a new database defined Meta-data = DBMS Catalog
E.g. name of record type, data items, some constraints
Schema Constructs
A DB Instance
10
Database Instances
Data in the database at a particular time Instance
= snapshot
= database state
~= current set of occurrences
DB_state(i) insert/delete/update
DB_state(i+1)
11
Three-Schema Architecture
13
...
CONCEPTUAL SCHEMA
END USER
USER 2
EXTERNAL LEVEL
EXTERNAL VIEW 1
EXTERNAL VIEW 2
INTERNAL SCHEMA
Data
Data
Data
15
STORED DATABASE
Conceptual Schema
Structure of the entire database Entities, data types, relationships, user operations, constraints
External Schema
Part of the database interested to a particular user group
16
17
Data Independence
18
Logical Independence
Capacity to change conceptual schema without affecting external view (application programs)
Physical Independence
Ability to change internal schema without changing the conceptual view
19
EXTERNAL VIEW
20
Database Languages
21
Conceptual schema Internal schemas (when schema separation is not clear) External schema (in most DBMSs)
Internal schema External view To manipulate the populated data Separate SDL
22
SDL (Store Definition Languages) VDL (View Definition Languages) DML (Data Manipulation Languages) Modern DB All in one (E.g. SQL)
Low-level (procedural)
Record-at-a-time Embedded in general purpose programming languages
23
General users
User friendly interfaces
24
DBMS Interfaces
Menu-Based Web Interfaces Forms-Based Interfaces Graphical User Interfaces Natural Language Interfaces Interfaces for parametric Users Interfaces for DBA
25
26
Components of DBMS:
27
Executor
Access Methods
Lock Manager
33
Parametric users
Host Language Compiler
DDL Compiler
execution
execution
34
STORED DATABASE
Compilers
DDL Compiler Query Compiler DML Compiler Precompiler/Host language compiler
Tools
CASE: Computer Aided Software Engineering Tools
DB designers/DBA/users Design phase
Information repository
Data dictionary (data repository) systems Catalog/design decisions/usage standards/application program descriptions/user information
37
38
Communication Software
Provide access for remote users DB/DC package Supports for distributed DBMSs
39
DBMS Architectures
40
Centralized DBMSs
Terminals Display monitor Display monitor
...
Tex editors
Display monitor
Application Programs
...
DBMS
SOFTWARE
Compilers
...
Controller
OPERATING SYSTEM
CPU
Controller
Controller
Memory
HARDWARE/FIRMWARE
Disk
I/O devices
... ...
41
Specialized server with specific functionalities Many clients access specialized server Client machine provide interfaces Utilizes processing power of the clients
42
...
SERVER SERVER CLIENT CLIENT CLIENT
Site 1
Site 2
Site 3
Site n
Communication Network
43
Two-Tier Architecture
Relational DataBase Management Systems (RDBMS) Query Server/Transaction Server/SQL Server Open DataBase Connectivity (ODBC) Application Program Interface (API)
...
Memory
Disk
I/O devices
...
44
Three-Tier Architecture
User interface Application rules
Middle tier Application server/Web server
Application Server or Web Server Application Programs, Web Pages Client GUI Web Interface
Data access
Database Server
DBMS Classifications
46
48
49
50
Summary
Data Models Database Schemas DB Languages DBMS Interfaces DB System Environment DBMS Architectures DBMS Classifications
51
Questions?
Thank you!
52