1. Chapter 2: Database System Models
and Architecture
Fundamentals of Database Systems
for 2nd year Computer Science students.
Prepared by: Gebriye Embafresu
- Huawei HCIA Security Certified
- Huawei HCIA Routing and Switching Certified
- Huawei HCIP Routing and Switching Certified
Computer Science Department
E-mail: [email protected]
2. (C) 2013, Gebriye E. Dept. Computer Science HCIA Security, HCIA R&S and HCIP R&S Certified
2.1 Data Models, Schemas, and
Instances
• Data Model: A set of concepts to describe the
structure of a database, and certain constraints
that the database should obey. They provide data
abstraction.
• Structure: data type, relationships,
constraints
• It is a collection of conceptual tools for describing
data, data relationships, data semantics, and
consistency constraints.
6-2
3. (C) 2013, Gebriye E. Dept. Computer Science HCIA Security, HCIA R&S and HCIP R&S Certified
2.1 Data Models, Schemas, and
Instances
Relational model
Entity-Relationship data model (mainly for database design)
Object-based data models (Object-oriented and Object-relational)
Semi-structured data model (XML)
Other older models:
• Network model
• Hierarchical model
6-3
4. (C) 2013, Gebriye E. Dept. Computer Science HCIA Security, HCIA R&S and HCIP R&S Certified
Relational Model
• All the data is stored in various tables.
• Example of tabular data in the relational model
Columns
Rows
Ted Codd
Turing Award 1981
5. (C) 2013, Gebriye E. Dept. Computer Science HCIA Security, HCIA R&S and HCIP R&S Certified
A Sample Relational Database
6. (C) 2013, Gebriye E. Dept. Computer Science HCIA Security, HCIA R&S and HCIP R&S Certified
View of Data
An architecture for a database system
7. (C) 2013, Gebriye E. Dept. Computer Science HCIA Security, HCIA R&S and HCIP R&S Certified
Instances and Schemas
• Similar to types and variables in programming languages
• Logical Schema – the overall logical structure of the database
– Example: The database consists of information about a set of
customers and accounts in a bank and the relationship between them
• Analogous to type information of a variable in a program
• Physical schema – the overall physical structure of the database
• Instance – the actual content of the database at a particular point in time
– Analogous to the value of a variable
8. (C) 2013, Gebriye E. Dept. Computer Science HCIA Security, HCIA R&S and HCIP R&S Certified
Physical Data Independence
• Physical Data Independence – the ability to modify the physical schema
without changing the logical schema
– Applications depend on the logical schema
– In general, the interfaces between the various levels and components
should be well defined so that changes in some parts do not seriously
influence others.
9. (C) 2013, Gebriye E. Dept. Computer Science HCIA Security, HCIA R&S and HCIP R&S Certified
Instances and Schemas
• Similar to types and variables in programming languages
• Logical Schema – the overall logical structure of the database
– Example: The database consists of information about a set of
customers and accounts in a bank and the relationship between them
• Analogous to type information of a variable in a program
• Physical schema – the overall physical structure of the database
• Instance – the actual content of the database at a particular point in time
– Analogous to the value of a variable
10. (C) 2013, Gebriye E. Dept. Computer Science HCIA Security, HCIA R&S and HCIP R&S Certified
Physical Data Independence
• Physical Data Independence – the ability to modify the physical schema
without changing the logical schema
– Applications depend on the logical schema
– In general, the interfaces between the various levels and components
should be well defined so that changes in some parts do not seriously
influence others.
11. (C) 2013, Gebriye E. Dept. Computer Science HCIA Security, HCIA R&S and HCIP R&S Certified
Data Definition Language (DDL)
• Specification notation for defining the database schema
Example: create table instructor (
ID char(5),
name varchar(20),
dept_name varchar(20),
salary numeric(8,2))
• DDL compiler generates a set of table templates stored in a data
dictionary
• Data dictionary contains metadata (i.e., data about data)
– Database schema
– Integrity constraints
• Primary key (ID uniquely identifies instructors)
– Authorization
• Who can access what
12. (C) 2013, Gebriye E. Dept. Computer Science HCIA Security, HCIA R&S and HCIP R&S Certified
Data Manipulation Language (DML)
• Language for accessing and updating the data organized by the appropriate data model
– DML also known as query language
• There are basically two types of data-manipulation
language
– Procedural DML -- require a user to specify what data are
needed and how to get those data.
– Declarative DML -- require a user to specify what data are
needed without specifying how to get those data.
• Declarative DMLs are usually easier to learn and use
than are procedural DMLs.
• Declarative DMLs are also referred to as non-procedural
DMLs
• The portion of a DML that involves information retrieval
is called a query language.
13. (C) 2013, Gebriye E. Dept. Computer Science HCIA Security, HCIA R&S and HCIP R&S Certified
SQL Query Language
• SQL query language is nonprocedural. A query takes as input several
tables (possibly only one) and always returns a single table.
• Example to find all instructors in Comp. Sci. dept
select name
from instructor
where dept_name = 'Comp. Sci.'
• SQL is NOT a Turing machine equivalent language
• To be able to compute complex functions SQL is usually embedded in
some higher-level language
• Application programs generally access databases through one of
– Language extensions to allow embedded SQL
– Application program interface (e.g., ODBC/JDBC) which
allow SQL queries to be sent to a
database
14. (C) 2013, Gebriye E. Dept. Computer Science HCIA Security, HCIA R&S and HCIP R&S Certified
Database Access from Application Program
• Non-procedural query languages such as SQL are not as powerful as a
universal Turing machine.
• SQL does not support actions such as input from users, output to displays,
or communication over the network.
• Such computations and actions must be written in a host language, such
as C/C++, Java or Python, with embedded SQL queries that access the
data in the database.
• Application programs -- are programs that are used to interact with the
database in this fashion.
15. (C) 2013, Gebriye E. Dept. Computer Science HCIA Security, HCIA R&S and HCIP R&S Certified
Database Architecture
• Centralized databases
– One to a few cores, shared memory
• Client-server,
– One server machine executes work on behalf of multiple client
machines.
• Parallel databases
– Many core shared memory
– Shared disk
– Shared nothing
• Distributed databases
– Geographical distribution
– Schema/data heterogeneity
16. (C) 2013, Gebriye E. Dept. Computer Science HCIA Security, HCIA R&S and HCIP R&S Certified
Database Architecture
(Centralized/Shared-Memory)
17. (C) 2013, Gebriye E. Dept. Computer Science HCIA Security, HCIA R&S and HCIP R&S Certified
Database Applications
• Two-tier architecture -- the application resides at the client machine,
where it invokes database system functionality at the server machine
• Three-tier architecture -- the client machine acts as a front end and does
not contain any direct database calls.
– The client end communicates with an application server, usually
through a forms interface.
– The application server in turn communicates with a database
system to access data.
Database applications are usually partitioned into two or three parts
18. (C) 2013, Gebriye E. Dept. Computer Science HCIA Security, HCIA R&S and HCIP R&S Certified
Two-tier and three-tier architectures
19. (C) 2013, Gebriye E. Dept. Computer Science HCIA Security, HCIA R&S and HCIP R&S Certified
Database Users