0% found this document useful (0 votes)
5 views16 pages

Introduction 2024

The document provides an overview of databases, including their properties, management systems (DBMS), user roles, and types. It explains the concepts of data abstraction and independence, as well as various DBMS architectures (1-tier, 2-tier, 3-tier) and classifications of databases. Additionally, it outlines key considerations for selecting a database and includes important terms for examination related to database structures and functionalities.

Uploaded by

trol.man890
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views16 pages

Introduction 2024

The document provides an overview of databases, including their properties, management systems (DBMS), user roles, and types. It explains the concepts of data abstraction and independence, as well as various DBMS architectures (1-tier, 2-tier, 3-tier) and classifications of databases. Additionally, it outlines key considerations for selecting a database and includes important terms for examination related to database structures and functionalities.

Uploaded by

trol.man890
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

1DV503 – 1DT903

Database Course
Introduction
Alisa Lincke
[email protected]
What database is and what it does

Database is a collection of related data.


Data are known facts that can be recorded and have an implicit meaning. (e.g.,
people names, mobile phones, addresses)
What it does:
– Store data
– Provide an organizational structure for data
– Provide a mechanism to interact with data (e.g., querying, creating,
modifying, and deleting data, or CRUD (create, read, update, delete))
– Can store data and relationships that are more complicated than a single
table can

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

Database Administrators: are administrating the content, the DBMS and


realted software. The responisibilities are providing the authoriable access tot
eh database, coordinating and monitoring its use, and acquiring software and
hardware resources as needed, security breaches, and system response time.
Database Designers: are responsible for identifying the data to be stored in the
database according to user requirements (data abstraction, data modeling,
indetifying entities and their relationships).
End Users: are the people whose jobs requires access to the database for
querying, updating, and generating reports.
Software Engineers: are developers which implements requirements defined by
database designers or on the database design phase. Then they, test, debug,
and maintain these implemneted queries/interactions to database.

5(13)
Data Abstraction

Data abstraction refers to suppression of details of data organization and storage


(e.g., different users can perceive data at their preferred level of detail) and
aims to support data independence.

6(13)
Data Independence

Data independence is a abality to make a change in one level of abstraction


without having to change the next higher level.
Two types of data independence:
– Logical data independence (conceptual level) is ability to make
changes in conceptual level wihtout making changes to view level
(application programs). For example, we can expand the database (add
new data), or change constrains, or reduce the data in database.
– Physical data independence (physical level) is ability to change
physical logic without having to change the conceptual level and view
level. For example, migrate database to another drive disk, or computer
to improve the performance.

7(13)
Database Components

1. Database management System (DBMS) is software that provides an


interface for interacting with databases.
2. Database Server refers to the hardware or combination of hardware and
software that managed by the DBMS.
3. Application is a software for end-users with some user-interface to interact
with the data.

8(13)
DBMS Architecture: 1-Tier Client

1-tier architecture is where


Client Application (UI)
client (is UI software
provided by the DBMS),
server (is a client’s
computer/machine),
database (data itself) stored Business logic
on one computer/machine
Examples: MS Access , native
Database
mobile application (which
does not use Internet/Back
end)

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 side (1-tier) Server side (2-tier)


Java based program
Application
Client 1 Database
JDB Database (DBMS) (DBMS)
C User Interface API
Python based program (JDBC/
ctor Business Logic MySQl Connector
l Conne
MySQ and Data Login Python) Local
n
Pytho SQL Server
Client 2
10(13)
DBMS Architecture: 3-Tier
Server is a centralized computer that provides services to all connected clients through network
connection. For example, web server, file server, etc. each has a specific work to provide services
to each client. Has installed server software.
Client is laptop, tablet, mobile phone provided with the appropriate user interfaces to use these services,
and provide local processing power to run local applications. Has installed client software.
Example, any web site on the Internet

Client 1

Server Database Application Database

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

Centralized Decentralized Distributed


Has a central control Has multiple controlling The data and data processing
authority (only one). authorities (multiple) (workload) distributed over
The data and data Example: Blockchain- many computers/servers and
processing implemented based database has single owner/authority.
one one (BigchainDB, Ethereum, Example: Apache Ignite,
server/computer. etc.) Apache Cassandra, Apache
Examples: MySQL, HBase, Couchbase Server,
Oracle, PostgreSQL, Amazon SimpleDB
etc.)
Library Management Cryptocurrencies, Social Media Applications,
Systems, Content Supply Chain Streaming data applications
management systems, Management, Voting (IoT), Telecommunications,
etc. Systems Google Docs, others.

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

1. Analyze the data (structure, volume, complexity, frequency, identify data


relationships)
2. Analyze application requirements:
– Number of users, and amount of data for read/write operations per user
– Scalability Requirements (if data volume and traffic growth fast use
horizontal scaling)
– Query and Performance Requirements (analyze types of queries will
frequently execute)
– Assess the importance of data consistency and transaction integrity.
– Flexibility and Schema Requirements (how often the schema will
evolve)
– Security
– Cost, Maintenance

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)

You might also like