0% found this document useful (0 votes)
36 views17 pages

CSE311 IAH Slide01 Intro

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)
36 views17 pages

CSE311 IAH Slide01 Intro

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/ 17

NORTH SOUTH UNIVERSITY

Course Title: Database Management System


Course Code: CSE311
Instructor: Md. Ishan Arefin Hossain
Full-time Lecturer, NSU ECE

Slides Credit: Database Systems Concepts by Abraham Silberschatz,


Henry F. Korth, and S. Sudarshan

CHAPTER 1: INTRODUCTION
Objectives:
vData and Information
vPurpose of Database Systems
vView of Data
vData Models
vData Definition Language
vData Manipulation Language
vTransaction Management
vStorage Management
vDatabase Administrator
vDatabase Users
vOverall System Structure
vAcid Properties
vHistory of Database Systems
WHAT IS DATA?
vData
vInformation
vKnowledge
vIntelligence

EXAMPLE OF DATA & INFORMATION


vData: 300 tk.
vInformation: A share of Banglalink as of Dec 31
vKnowledge: Comparing to the price of 100 tk. per share as of
Jan 1, the price rises around 300% in a year
vIntelligence: Buy or Sell?
DATABASE MANAGEMENT SYSTEM (DBMS)
vCollection of interrelated data
vSet of programs to access the data
vDBMS contains information about a particular enterprise
vDBMS provides an environment that is both convenient and efficient to
use.
vDatabase Applications:
vBanking: all transactions
vAirlines: reservations, schedules
vUniversities: registration, grades
vSales: customers, products, purchases
vManufacturing: production, inventory, orders, supply chain
vHuman resources: employee records, salaries, tax deductions

vDatabases touch all aspects of our lives

PURPOSE OF DATABASE SYSTEM


In the early days, database applications were built on top of file systems
Drawbacks of using file systems to store data:
­ Data redundancy and inconsistency
­ Multiple file formats, duplication of information in different files
­ Difficulty in accessing data
­ Need to write a new program to carry out each new task
­ Data isolation — multiple files and formats
­ Integrity problems
­ Integrity constraints (e.g. account balance > 0) become part of program code
­ Hard to add new constraints or change existing ones
PURPOSE OF DATABASE SYSTEMS (CONT.)
Drawbacks of using file systems (cont.)
­ Atomicity of updates
­ Failures may leave database in an inconsistent state with partial updates carried out
­ E.g. transfer of funds from one account to another should either complete or not happen at all
­ Concurrent access by multiple users
­ Concurrent accessed needed for performance
­ Uncontrolled concurrent accesses can lead to inconsistencies
­ E.g. two people reading a balance and updating it at the same time
­ Security problems

Database systems offer solutions to all the above problems

LEVELS OF ABSTRACTION
Physical level describes how a record (e.g., customer) is stored.
Logical level: describes data stored in database, and the relationships
among the data.
type customer = record
name : string;
street : string;
city : integer;
end;
View level: application programs hide details of data types. Views
can also hide information (e.g., salary) for security purposes.
VIEW OF DATA

An architecture for a database system

3-TIER ARCHITECTURE IN DBMS


INSTANCES AND SCHEMAS
Similar to types and variables in programming languages
Schema – the logical structure of the database
­ e.g., the database consists of information about a set of customers and accounts and the
relationship between them)
­ Analogous to type information of a variable in a program
­ Physical schema: database design at the physical level
­ Logical schema: database design at the logical level

Instance – the actual content of the database at a particular point in time


­ Analogous to the value of a variable

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
­ Example: physical location of tables and indexes should not affect the conceptual
level or external view of data.
Logical Data Independence: The data at conceptual level schema and external
level schema must be independent. This means a change in conceptual schema should
not affect external schema. e.g.; Adding or deleting attributes of a table should not
affect the user’s view of the table. But this type of independence is difficult to achieve
as compared to physical data independence because the changes in conceptual
schema are reflected in the user’s view.
EXAMPLE OF A DATABASE
(WITH A CONCEPTUAL DATA MODEL)
Mini-world for the example:
­ Part of a UNIVERSITY environment

Some mini-world entities:


­ STUDENTs
­ COURSEs
­ SECTIONs (of COURSEs)
­ (Academic) DEPARTMENTs
­ INSTRUCTORs

EXAMPLE OF A DATABASE
(WITH A CONCEPTUAL DATA MODEL)
Some mini-world relationships:
­ SECTIONs are of specific COURSEs
­ STUDENTs take SECTIONs
­ COURSEs have prerequisite COURSEs
­ INSTRUCTORs teach SECTIONs
­ COURSEs are offered by DEPARTMENTs
­ STUDENTs major in DEPARTMENTs

Note: The above entities and relationships are typically


expressed in a conceptual data model, such as the
ENTITY-RELATIONSHIP data model (see Chapters 3, 4)
EXAMPLE OF A SIMPLE DATABASE

DATA MODELS
A collection of tools for describing
­ data
­ data relationships
­ data semantics
­ data constraints

Entity-Relationship model
Relational model
Other models:
­ object-oriented model
­ semi-structured data models
­ Older models: network model and hierarchical model
ENTITY-RELATIONSHIP MODEL

Example of schema in the entity-relationship model

ENTITY RELATIONSHIP MODEL (CONT.)


E-R model of real world
­ Entities (objects)
­ E.g. customers, accounts, bank branch
­ Relationships between entities
­ E.g. Account A-101 is held by customer Johnson
­ Relationship set depositor associates customers with accounts

Widely used for database design


­ Database design in E-R model usually converted to design in the relational model
(coming up next) which is used for storage and processing
Attributes
RELATIONAL MODEL
customer- customer- customer- account-
Customer-id
name street city number
192-83-7465 Johnson Alma Palo Alto A-101

019-28-3746 Smith North Rye A-215

192-83-7465 Johnson Alma Palo Alto A-201

321-12-3123 Jones Main Harrison A-217

019-28-3746 Smith North Rye A-201

Example of tabular data in the relational model

A SAMPLE RELATIONAL DATABASE


DATA DEFINITION LANGUAGE (DDL)
Specification notation for defining the database schema
­ E.g.
create table account (
account-number char(10),
balance integer)

DDL compiler generates a set of tables stored in a data dictionary


Data dictionary contains metadata (i.e., data about data)
­ database schema
­ Data storage and definition language
­ language in which the storage structure and access methods used by the database system are specified
­ Usually an extension of the data definition language

DATA MANIPULATION LANGUAGE (DML)


Language for accessing and manipulating the data organized by the
appropriate data model
­ DML also known as query language

Two classes of languages


­ Procedural – user specifies what data is required and how to get those data
­ Nonprocedural – user specifies what data is required without specifying how to get
those data

SQL is the most widely used query language


SQL
SQL: widely used non-procedural language
­ E.g. find the name of the customer with customer-id 192-83-7465
select customer.customer-name
from customer
where customer.customer-id = ‘192-83-7465’
­ E.g. find the balances of all accounts held by the customer with customer-id 192-83-7465
select account.balance
from depositor, account
where depositor.customer-id = ‘192-83-7465’ and
depositor.account-number = account.account-number

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

DATABASE USERS
Users are differentiated by the way they expect to interact with the
system
Application programmers – interact with system through DML calls
Sophisticated users – form requests in a database query language
Specialized users – write specialized database applications that do
not fit into the traditional data processing framework
Naïve users – invoke one of the permanent application programs that
have been written previously
­ E.g. people accessing database over the web, bank tellers, clerical staff
DATABASE ADMINISTRATOR
Coordinates all the activities of the database system; the database
administrator has a good understanding of the enterprise’s
information resources and needs.
Database administrator's duties include:
­ Schema definition
­ Storage structure and access method definition
­ Schema and physical organization modification
­ Granting user authority to access the database
­ Specifying integrity constraints
­ Acting as liaison with users
­ Monitoring performance and responding to changes in requirements

DATABASE ENGINE
A database system is partitioned into modules that deal with each of the
responsibilities of the overall system.
The functional components of a database system can be divided into
­ The storage manager,
­ The query processor component,
­ The transaction management component.
STORAGE MANAGEMENT
Storage manager is a program module that provides the interface
between the low-level data stored in the database and the
application programs and queries submitted to the system.
The storage manager is responsible to the following tasks:
­ interaction with the file manager
­ efficient storing, retrieving and updating of data

TRANSACTION MANAGEMENT
A transaction is a collection of operations that performs a single
logical function in a database application
Transaction-management component ensures that the database
remains in a consistent (correct) state despite system failures (e.g.,
power failures and operating system crashes) and transaction failures.
Concurrency-control manager controls the interaction among the
concurrent transactions, to ensure the consistency of the database.
OVERALL SYSTEM STRUCTURE

APPLICATION ARCHITECTURES

§Two-tier architecture: E.g. client programs using ODBC/JDBC to


communicate with a database
§Three-tier architecture: E.g. web-based applications, and
applications built using “middleware”
ACID PROPERTIES
A transaction is a unit of program execution that accesses and possibly
updates various data items. To preserve the integrity of data the database
system must ensure:

Atomicity. Either all operations of the transaction are properly reflected in


the database, or none are.
Consistency. Execution of a transaction in isolation preserves the
consistency of the database.
Isolation. Although multiple transactions may execute concurrently, each
transaction must be unaware of other concurrently executing transactions.
Intermediate transaction results must be hidden from other concurrently
executed transactions.
­ That is, for every pair of transactions Ti and Tj, it appears to Ti that either Tj, finished
execution before Ti started, or Tj started execution after Ti finished.

Durability. After a transaction completes successfully, the changes it has


made to the database persist, even if there are system failures.

WHEN NOT TO USE A DBMS


Main inhibitors (costs) of using a DBMS:
­ High initial investment and possible need for additional hardware
­ Overhead for providing generality, security, concurrency control,
recovery, and integrity functions
When a DBMS may be unnecessary:
­ If the database and applications are simple, well defined, and not
expected to change
­ If access to data by multiple users is not required
When a DBMS may be infeasible
­ In embedded systems where a general purpose DBMS may not fit in
available storage

Slide 1- 32
WHEN NOT TO USE A DBMS
When no DBMS may suffice:
­If there are stringent real-time requirements that
may not be met because of DBMS overhead
(e.g., telephone switching systems)
­ If the database system is not able to handle the complexity of data because of
modeling limitations (e.g., in complex genome and protein databases)
­ If the database users need special operations not supported by the DBMS (e.g., GIS
and location based services).

Slide 1- 33

HISTORY OF DATABASE SYSTEMS

You might also like