0% found this document useful (0 votes)
9 views18 pages

1 Introduction

Uploaded by

ahmedgamal7207
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)
9 views18 pages

1 Introduction

Uploaded by

ahmedgamal7207
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/ 18

Database Systems

Introduction
Course Information
• Prof. Dr. Mohamed Kholief
[email protected] or [email protected] (preferable way of communication)
• No mobile phone calls please (will not be answered and will be blocked)
Course Contents
• Take an English language description and convert it into a working
database application.
• Create E/R models from application descriptions.
• Convert E/R models into relational designs.
• Identify redundancies in designs and remove them using normalization
techniques.
• Create databases in an RDBMS and enforce data integrity constraints
using SQL.
• Write sophisticated database queries using SQL.
• Implement a web interface to a database. (Lab)
• Introduce an advanced database topic (XML)
Course Project
• Project overview
• 2 persons per project.
• Project runs the entire semester with regular assignments and a
final implementation assignment.
• You are free to suggest a project. The project should not be “overly
simple”. You must get approval from the TA before proceeding.
Data vs. Information
• Data:
– Raw facts; building blocks of information
– Unprocessed information
• Information:
– Data processed to reveal meaning
• Accurate, relevant, and timely information
is key to good decision making
• Good decision making is key to survival in
global environment
Introducing the Database
and the DBMS
• Database—shared, integrated computer
structure that houses:

– End user data (raw facts)

– Metadata (data about data)


Introducing the Database
and the DBMS (continued)
• DBMS (database management system):
– Collection of programs that manages database
structure and controls access to data
– Possible to share data among multiple
applications or users
– Makes data management more efficient and
effective
What is a DBMS?
• Database Management System (DBMS) = data + set of instructions to
access/manipulate data

• Features of a DBMS
– Support massive amounts of data
– Persistent storage
– Efficient and convenient access
– Secure, concurrent, and atomic access

• Examples?
– Search engines, banking systems, airline reservations, corporate records,
payrolls, sales inventories.
– New applications: Wikis, biological/multimedia/scientific/geographic data,
heterogeneous data.
Features of a DBMS
• Support massive amounts of data
– Giga/tera/petabytes
– Far too big for main memory

• Persistent storage
– Programs update, query, manipulate data.
– Data continues to live long after program finishes.

• Efficient and convenient access


– Efficient: do not search entire database to answer a query.
– Convenient: allow users to query the data as easily as possible.

• Secure, concurrent, and atomic access


– Allow multiple users to access database simultaneously.
– Allow a user access to only to authorized data.
– Provide some guarantee of reliability against system failures.
Types of Databases
• Single-user:
– Supports only one user at a time

• Multi-user:
– Supports multiple users at the same time
Location of Databases
• Centralized:
– Supports data located at a single site

• Distributed:
– Supports data distributed across several sites
Uses of Databases
• Transactional (or production):
– Supports a company’s day-to-day operations
• Data warehouse:
– Stores data used to generate information
required to make tactical or strategic decisions
• Such decisions typically require “data massaging”
– Often used to store historical data
– Structure is quite different
A Brief History of DBMS
• The earliest databases (1960s) evolved from file systems
– File systems
• Allow storage of large amounts of data over a long period of time
• File systems do not support:
– Efficient access of data items whose location in a particular file is not known
– Logical structure of data is limited to creation of directory structures
– Concurrent access: Multiple users modifying a single file generate non-
uniform results
• Navigational and hierarchical
• User programmed the queries by walking from node to node in the DBMS.

• Relational DBMS (1970s to now)


– View database in terms of relations or tables
– High-level query and definition languages such as SQL
– Allow user to specify what (s)he wants, not how to get what (s)he wants

• Object-oriented DBMS (1980s)


– Inspired by object-oriented languages
– Object-relational DBMS
Contents of Customer File
Basic File Terminology
Why Study Databases?
• Academic
– Databases involve many aspects of computer science
– Fertile area of research
– Three Turing awards in databases

• Programmer
– a plethora of applications involve using and accessing databases

• Businessman
– Everybody needs databases => lots of money to be made

• Student
– Get those last three credits and I don’t have to come back to Blacksburg ever
again!!!
– Google, Oracle, Microsoft, etc. will hire me!!
– Databases sound cool!
– ???
What Will You Learn in this course?
• Implementation
– How do you build a system such as ORACLE or MySQL?

• Design
– How do you model your data and structure your information in a
database?

• Programming
– How do you use the capabilities of a DBMS?

• This course achieves a balance between


– a firm theoretical foundation to designing moderate-sized databases
– creating, querying, and implementing realistic databases and connecting
them to applications
The DBMS Industry
• A DBMS is a software system.

• Major DBMS vendors: Oracle, Microsoft, IBM, Sybase

• Free/Open-source DBMS: MySQL, PostgreSQL, Firebird.


– Used by companies such as Google, Yahoo, Lycos, BASF.

• All are “relational” (or “object-relational”) DBMS.

You might also like