0% found this document useful (0 votes)
41 views29 pages

CSE-223 - Lec-01 Introduction

This document provides an overview of the topics that will be covered in the CSE-223 Database Management Systems course. The course will introduce key concepts like data models, database languages, storage and query processing, and transaction management. It will cover relational and object-oriented data models. Students are encouraged to contact the lecturer if they have any questions during or after class.

Uploaded by

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

CSE-223 - Lec-01 Introduction

This document provides an overview of the topics that will be covered in the CSE-223 Database Management Systems course. The course will introduce key concepts like data models, database languages, storage and query processing, and transaction management. It will cover relational and object-oriented data models. Students are encouraged to contact the lecturer if they have any questions during or after class.

Uploaded by

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

Lecture 01

CSE-223: Database Management System

Chapter 1: Introduction

Firoz Ahmed
Lecturer
Dept Of CSE
Dhaka City College
Course Introduction
 Course
o CSE-223: Database Management System
o 03 credit points
o 03 lecture hours per week

 Books
o Different books at different times
o Mainly “Database System Concepts” by Silberschatz-Korth-Sudarshan
o Any other course materials including lecture slides will be offered at due time

 If Any Confusion
o Raise your hand and let me know your queries during the class time
o You can meet me at Project Based Lab, Room-421
o You can feel free to mail me at [email protected]
Chapter 1: Introduction
• Purpose of Database Systems
• Database Languages
• Relational Databases
• Database Design
• Data Models
• Database Internals
• Database Users and Administrators
• Overall Structure
• History of Database Systems
Database Management System (DBMS)

• DBMS contains information about a particular enterprise


– Collection of interrelated data
– Set of programs to access the data
– An environment that is both convenient and efficient to use
• Database Applications:
– Banking: all transactions
– Airlines: reservations, schedules
– Universities: registration, grades
– Sales: customers, products, purchases
– Online Retailers: order tracking, customized recommendations
– Manufacturing: production, inventory, orders, supply chain
– Human Resources: employee records, salaries, tax deductions
• Databases touch all aspects of our lives
Purpose of Database Systems
• In the early days, database applications were built directly 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
• Or need to work manually
– Data isolation –
multiple files and formats
– Integrity problems
• 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
• Example: 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
– Example: Two people reading a balance and updating it at the same
time
– Security problems
• Hard to provide user access to some, but not all, data
• 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 what data stored in database, and the relationships
among the data.
• View level: application programs hide details of data types. Views can also
hide information (such as an employee’s salary) for security purposes.
View of Data
An architecture for a database system

Instances and Schemas
Similar to types and variables in programming languages
• Schema – the logical structure of the database
– Example: The database consists of information about a set of customers and
accounts and the relationship between them
– Analogous to 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
• 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.
Data Models
• A collection of tools for describing -
– Data
– Data relationships
– Data semantics
– Data constraints
• Relational model
• Entity-Relationship data model (mainly for database design)
• Object-based data models (Object-oriented and Object-relational)
• Semistructured data model (XML)
• Other older models:
– Network model
– Hierarchical model
The Entity-Relationship Model
• Models an enterprise as a collection of entities and relationships
– Entity: a thing or object in the enterprise that is distinguishable from other
objects
• Described by a set of attributes
– Relationship: an association among several entities
• Represented diagrammatically by an entity-relationship diagram:
Relational Model
• a collection of tables to represent both data and the relationships among those
data.
• Each table has multiple columns, and each column has a unique name.

Attributes
A Sample Relational Database
Other Data Models
• Object-oriented data model
• Object-relational data model
Database Language
• Data Definition Language :
to specify a database schema
• Data Manipulation Language :
to express database queries and updates
• Data definition and data manipulation languages are not two separate languages;
instead they simply form parts of a single database language.
Data Definition Language (DDL)
• Specification notation for defining the database schema
Example: create table account (
account_number char(10),
branch_name 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
• Specifies the storage structure and access methods used
– Integrity constraints
• Domain constraints
• Referential integrity (e.g. branch_name must correspond to a valid
branch in the branch table)
– Authorization
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
– Declarative (nonprocedural) – user specifies what data is required without
specifying how to get those data
• SQL is the most widely used query language
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
• Naive users – invoke one of the permanent application programs that have been
written previously
– Examples, people accessing database over the web, bank tellers, clerical staff
Database Administrator
• Coordinates all the activities of the database system
– has a good understanding of the enterprise’s information resources and
needs.
• Database administrator's duties include:
– Storage structure and access method definition
– Schema and physical organization modification
– Granting users authority to access the database
– Backing up data
– Monitoring performance and responding to changes
• Database tuning
Database Management System Internals
• Storage management
• Query processing
• Transaction processing
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
• Issues:
– Storage access
– File organization
– Indexing and hashing
Query Processing
1. Parsing and translation
2. Optimization
3. Evaluation
Query Processing (Cont.)
• Alternative ways of evaluating a given query
– Equivalent expressions
– Different algorithms for each operation
• Cost difference between a good and a bad way of evaluating a query can be
enormous
• Need to estimate the cost of operations
– Depends critically on statistical information about relations which the
database must maintain
– Need to estimate statistics for intermediate results to compute cost of
complex expressions

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.
Database Architecture
The architecture of a database systems is greatly influenced by
the underlying computer system on which the database is running:
• Centralized
• Client-server
• Parallel (multiple processors and disks)
• Distributed
Database Application Architectures

(web browser)

Old Modern
Database Structure

27
Any Question?
Thank You

You might also like