IFSC3320 Database Concepts: Fall 2006
IFSC3320 Database Concepts: Fall 2006
Fall 2006
Dr. Ningning Wu
1
Staff
2
Course Materials
• Textbook:
– Fundamentals of Database Systems, R. Elmasri,
S. B. Navathe, Addison Wesley, 2004, fourth
edition.
4
Material on the Web
• SQL Introduction
– SQL for Web Nerds, by Philip Greenspun,
http://philip.greenspun.com/sql/
• Oracle
– http://www.oracle.com/technology/index.html
5
Course Objective
6
Databases and Database
Users
7
What is a Database
8
Properties of a Database
9
Types of Databases and Database
Applications
• Numeric and Textual Databases
• Multimedia Databases
• Geographic Information Systems (GIS)
• Data Warehouses
• Real-time and Active Databases
10
What is a Database Management System
(DBMS)
Database++ DMBS
Database DMBS == aaDatabase
DatabaseSystem
System
11
Typical DBMS Functionality
• 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, inserting, deleting and modifying its
content
• Concurrent processing and sharing by a set of
users and programs – yet, keeping all data valid
and consistent
12
Typical DBMS Functionality
Other features:
– System protection against software or
hardware malfunction
– Security protection against authorized
accesses
– System maintenance
13
A Simplified Database System
Environment
Users/Programers
DATABASE
SYSTEM
Application Programs/Queires
DBMS
SOFTWARE Software to Process
Queries/Programs
Software to Access
Stored DAta
Stored Database
Definition Stored Database
(Meta-Data)
14
A UNIVERSITY database, see Figure 1.2
15
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
Note: The above could be expressed in the ENTITY-
RELATIONSHIP data model.
16
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
17
Characteristics of the Database
Approach
• Self-describing nature of a database system
• Insulation between programs and data, and data
abstraction
• Support of multiple views of the data
• Sharing of data and multi-user transaction
processing
18
Self-describing nature of a database
system
• The database system contains not only the DB
itself but also meta-data
– Meta-data is stored in the DBMS, catalog, which
contains information such as the structure of each file,
the type and storage format of each data item, and
various constraints on the data.
– The DBMS software must work equally well with any
number of database applications as long as the meta-
data is stored in the catalog.
19
Insulation between Programs and
Data
In a database
• The structure of data files is stored in the DBMS catalog
separately from the access programs.
• Changes to the structure of data files will not lead to
changes to the access programs, this property is called
program-data independence.
20
Data Abstraction
• A data model is used to hide storage details and
present the users with a conceptual view of the
database.
21
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.
– In a company database, employees of HR and
employees of Sales department may access different
parts of the database
22
Sharing of Data and Multiuser
Transaction Processing
• By concurrency control software, the DBMS
allows multiple users to access the database at
the same time.
– Examples: online transaction processing (OLTP)
applications such as on-line flight booking system, on-
line auction system, etc.
• Most database applications are based on the
concept of a transaction.
– A transaction is an executing program or process that
includes one or more database accesses, such as
reading or updating of database records.
23
Actors On the Scene
• Database administrators: oversee and manage the
database resource including the database, DBMS and
related software
• Database designers: identify the data to be stored in
the database and choose appropriate structures to
represent and store the data
• End users
• System analysts and application programmers
– System analysts determine the requirements of end users and
develop specifications for canned transactions that meet these
requirements
– Application programmers implement these specifications as
programs
24
Advantage of Using the DBMS
Approaches
• Controlling redundancy
• Restricting unauthorized access
– A DBMS provides a security and authorization
subsystems to achieve this goal
• Providing persistent storage for program objects
• Providing storage structures for efficient query
processing by indexing and buffering techniques
• Providing backup and recovery
25
Advantage of Using the DBMS
Approaches (cont.)
• Providing multiple user interfaces
• Representing complex relationships among data
• Enforcing integrity constraints
• Permitting inferencing and actions using rules
• Additional implications of using the database
approaches
– Potential for enforcing standards
– Reduced application development time
– Flexibility
– Availability of up-to-date information
26
Examples of When to Use a DBMS
28