You are on page 1of 7

Course Objectives

Database Systems (CS204)


Week 01

Muhammad Rafi
August 15, 2016

Course Outline (1/2)

Introduction & History of Database Systems


Database Systems Concepts & Architecture
Data Modeling & ERD
Mapping from conceptual to logical model
Relational Algebra and Calculus
Schema Refinements
SQL / NoSQL/ XML
Database Connectivity

The main objective of this course is to introduce the


theoretical & implementation details of a relational database
management system.
The course comprises of three phases, in the first phase, we
discuss general RDBMS concepts, application specific
modeling, theoretical foundation of RDBMS and improvement
on schema design. It also cover XML databases.
The second phase will cover the concept of transaction
processing, index, concurrency control mechanism and
security for RDBMS. The main focus of this phase is to
familiarized students with SQL (structured query language).
The third phase covers the advanced topics in RDBMS like
performance tuning, optimization, backup and recovery.

Course Outline (2/2)

Disk Storage, Basic File Structures, and


Hashing, Database Indexing
Transaction Handling
Concurrency Control
Database Security
Performance Tuning Concepts
Advanced Database Systems

Grading Scheme

Assignments (3)
Quizzes (5-best 4)
Project
Mid-terms (2)
Final

Text Books/References
12%
08%
10%
20%
50%

Course Assignments

There will be a series of assignments for


design, implementation, and up and running
a complete DB application.
Some of the assignments are related to
relational algebra, and relational calculus
Some of the assignment are related to
Transaction management, concurrency and
recovery of database systems.
Some are reading assignments from book
and research papers.

Course Project

This course cover mostly relational


databases

how to design and create such databases


how to use them (via SQL query language)
how to implement them (Practical)

Emphasis will be on Business demands for IT


and Decision making of OLTP
Every group should cover one business
domain thoroughly.Project
10% marks

Basic Definitions (1/2)

Database: A collection of related data.


Data: Known facts that can be recorded and
have an implicit meaning.
Mini-world: Some part of the real world about
which data is stored in a database. For
example:

Student grades and transcripts at a university.


Telephone contacts of suppliers

What is a Database?

Database: an organized body of related information.


A software system that facilitates the creation and
maintenance and use of an electronic information
management in an organization.
A database can be defined as a structured collection of
information captures the semantics of an application

Logically coherentso it makes sense

Inherent meaninginformation Vs. data

Specific purposeintended user group

Representation of the real worldchanges in the real world


reflected in the database

Basic Definitions (2/2)

Database Management System (DBMS): A


software package/ system to facilitate the
creation and maintenance of a computerized
database.
Database System: The DBMS software
together with the data itself. Sometimes, the
applications are also included.

Database Example: data

Database Example- metadata

Database Example: views

What a DBMS giving ?

Database Management Systems

DBMS is most prevalent and popular


computer software for the last 50 years.
Database Management System (DBMS)
provides. efficient, reliable, convenient,
and safe, multi-user storage . and access
to massive amounts of persistent data in
efficient and reliable way.

Massive large size of database terabytes


Persistent data is there for ever
Safe system, hardware, user , power etc
Multi-user million of users concurrent
access
Convenient logical / Physical data
independence/SQL declarative sense
Efficient 100000 of transactions/ unit time
Reliable 99.99 percent of time up and
running

Typical Database Functionalities

Define a database : in terms of data types,


structures and constraints
Construct or Load the Database on a
secondary storage medium
Manipulating the database : querying,
generating reports, insertions, deletions and
modifications to its content
Concurrent Processing and Sharing by a set
of users and programs yet, keeping all data
valid and consistent

Characteristics of DBMS

Data Abstraction: A data model is used to


hide storage details and present the users
with a conceptual view of the database.
Support of multiple views of the data: Each
user may see a different view of the
database, which describes only the data of
interest to that user.
Sharing of data and multiuser transaction
processing

Characteristics of DBMS

Self-describing nature of a database system:


A DBMS catalog stores the description of the
database. The description is called metadata). This allows the DBMS software to work
with different databases.
Insulation between programs and data:
Called program-data independence. Allows
changing data storage structures and
operations without having to change the
DBMS access programs.

Database Users
On the Scene

Data Architects
Data Coder
Data Analysts
DB Designer/ EA
Designer
DB Application
Programmers
DBA
Database User/ End User

Behind the Scene


DBMS Designer
DBMS Implementers
DBMS Researchers

Types of DBMS

Relational data model based on tables

Network data model based on graphs with records as


nodes and relationships between records as edges

Hierarchical data model based on trees

Object-Oriented data model based on the objectoriented programming paradigm

Distributed composed of several independent DBMSs


running at the nodes of a communications network

Advantages of DBMS (1/2)

Advantages of DBMS (2/2)

Providing backup and recovery services.


Providing multiple interfaces to different
classes of users.
Representing complex relationships among
data.
Enforcing integrity constraints on the
database.
Reduce Application development time
Standard enforcement

Controlling redundancy in data storage and in


development and maintenance efforts.
Sharing of data among multiple users.
Restricting unauthorized access to data.
Providing persistent storage for program
Objects
Providing Storage Structures for efficient
Query Processing

When Not to use a DBMS(1/2)

High initial investment and possible need for


additional hardware.
Overhead for providing generality, security,
concurrency control, recovery, and integrity
functions.
If the database and applications are simple,
well defined, and not expected to change.
If there are stringent real-time requirements
that may not be met because of DBMS
overhead.

DBMS Architecture
Nave users

If access to data by multiple users is not


required
If the database system is not able to handle
the complexity of data because of modeling
limitations
If the database users need special operations
not supported by the DBMS.

Forms

Casual users
Application
Front ends

Application
programmers

DML Interface

CLI

Database
administrator
DDL

SQL Commands
DBMS

Query Evaluation Engine


File & Access Methods

Transaction
&
Lock
Manager

Buffer Manager
Disk Space Manager

Indexes
Data
files

System
Catalog

Recovery Manager

When Not to use a DBMS(2/2)

DDL
Compiler

You might also like