1 Introduction
1 Introduction
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:
• 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.
• 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.
• 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?