Introduction 2024
Introduction 2024
Database Course
Introduction
Alisa Lincke
[email protected]
What database is and what it does
2(13)
A Database Properties
A database represents some aspect of the real world (e.g., University, Shop,
Hospital)
A database is a logically coherent collection of data with some inherent meaning
(relationships between data)
A database is designed, build, and populated with data for a specific purpose
and for target users, and applications
A database can be of any size and complexity
Traditional database Non-traditional database
applications applications
• Store textual or numeric related • Store non-traditional data (images, tweets,
data files, videos, etc.)
• Supports relationships in data • Not necessarily support relationships in data
• Examples: NoSQL (non-relationships data),
• Examples: MySQL (relational Graph databases, Cloud storage ( Big Data
database) , Oracle, PostgreSql technologies for storing and managing big
data)
3(13)
DBMS
A database management system (DBMS) is a software program that enables
users to create and maintain a database.
What it does:
– Defining or creating a database involves specifying the tables, data
types, structures, constrains of the data to be stored in a database.
– Constructing the database is the process of storing the data on some
storage (file system) that is controlled by the DBMS.
– Manipulating a database includes CRUD operations such as querying
data (inserting, updating, deleting, reading).
– Sharing a database allows multiple users and applications to access the
database simultaneously.
– Protecting a database includes system protection against hardware or
software crashes, and security protection against unauthorized access.
– Maintaining a database includes software and hardware updates,
changing requirements over time
– Provides data abstraction and data independence
4(13)
Database Users
5(13)
Data Abstraction
6(13)
Data Independence
7(13)
Database Components
8(13)
DBMS Architecture: 1-Tier Client
1 Tier
9(13)
DBMS Architecture: 2-Tier
2-tier architecture Client/Server architecture is centralized architecture consist
from client DBMS software and server database software. The application
programming interface (APIs) allows to manipulate and communicate with
database only if both client and server installed. The application program
(user interface and business logic implemented on client side, the server side
has connection to database and processing queries to database.
Client 1
Business
API
Client 2 UI Logic and
Data Login
Internet MySQL
Client side Web Server
HTTP requests Server
Tier 1 Tier 2
Tier 1 Tier 2 Tier 3 Tier 3
11(13)
Other Database Classifications
12(13)
Database Types
• Hierarchical Database
• Network Database
• Relational Database
• Object-Oriented Database
• NoSQL databases
• Document-Oriented Database
• Columnar Database
• In-Memory Database
• Graph Database
• And more
13(13)
Selecting a database
14(13)
Key Terms for Exam
data abstraction: is process to provide different views (details) on the data structure
data independence: the flexibility of the DBMS to make changes on one level of
abstraction without making changes on the next level of abstraction (or data
representation/view level)
conceptual level (high level abstraction): is describes data structure using a set of
concepts (e.g., entities, attributes, tables, keys, schema)
physical level (low level abstraction): is describes the physical storage structure of the
database (defines internal database structure (relational data model), file organization,
indexing techniques, etc.)
difference between conceptual and physical level: conceptual level describes data
structures with concepts while physical level describes the physical location and
structure of files where the data are physically stored.
conceptual data models: a collection of concepts (e.g., entities, attributes) to describe the
data structure, data types, operations, and constrains
physical level data models: relational data model (internal schema), file structure, DBMSs
architecture (1-tier, 2-tier, 3-tier)
15(13)
Key Terms for Exam
1-tier architecture: client, server, and the database are located on the same machine. For
example, MySQL workbench (client), MySQL Server (software installed on client), database
(data stored on client).
2-tier architecture: client (desktop application such as Java-based, Python-based) and server
(MySQL Server installed on another machine), database (data are stored on another machine
where is MySQL server is installed). Client communicates with server using APIs.
3-tier architecture: client (web browser on client’s device), server (web application deployed on
web server), and database (data stored on web server). Clients does not have direct access to
the database, clients communicates with server over HTTP protocol, and web server
application communicates with database using APIs.
difference between centralized and decentralized databases is that centralized approach has one
central server where the database is installed and one database file, while in the distributed
database approach, there are many servers installed and same database is replicated in all
nodes.
difference between 2-tier and 3-tier architectures is that 3-tier architecture has extra separation
layer (web server application (business logic) located at server side, client side has only user
interface application) and two connections (client-web server connection over http, and web
server-database server connection via APIs).
16(13)