Introduction

advertisement
IT 20303 – DBMS Concepts
• Relational Database Theory
Relational Database Theory
• The Database Environment
– Evolution of Computing Technology
• Punch-Cards – 1950-60s
• Character Based VDU – 1960-70s
• GUI – 1980-90s
• Voice/Telephony – 1990-Beyond
Relational Database Theory
• The Database Environment
– Evolution of Processing
Environments
• Batch Processing – 1950-60s
• Online – 1970-80s
• Networked – 1980-90s
• Future ? – 2000-beyond
Relational Database Theory
• Computing Technology based on
Advances in:
– Hardware – economics and
miniaturization
• Continues to provide increasing
power at decreasing costs
• Enables a broad range of powerful
servers and workstations
Relational Database Theory
• Computing Technology based on
Advances in:
– Software – availability & capabilities
• Off-the-Shelf applications software
• Software to support all phases of
application development
Relational Database Theory
• Computing Technology based on
Advances in:
– Connectivity – networking & internet
• Creates demand for web-enabled
applications
• Allows interaction with many
systems & databases
Relational Database Theory
• Database Technology Evolution
– Files – 1950-60s
– Hierarchical – 1960-70s
– Network – 1970-80s
– Relational – 1990-beyond
Relational Database Theory
• Database Technology
– Relational is the dominate database
technology
– Importance of business rules is
widely recognized
– Importance, use, and amount of
data is increasing
Relational Database Theory
• Database Technology
– Our understanding of the nature of
data is expanding
• Scalar (traditional) data: numbers,
character strings, dates
• Complex data: graphics, images,
geographic data, audio, video,
documents
Relational Database Theory
• Database Technology
– Relational DBMS capabilities are
being extended
• To handle larger volumes and
complex data
Relational Database Theory
• Database Technology
– Trend is to provide a GUI to the
database
– Accessing the database via the web
Relational Database Theory
• Impact of Technology Advances
– Systems are user-oriented rather
than machine-oriented
– Rate of new technology & product
introduction is very fast
– People use computers, databases,
& the internet to do their jobs
Relational Database Theory
• Impact of Technology Advances
– Conducting business on the internet
is vital to most organizations
– Still working to provide easier user
access to data
– Still seeking better ways to turn data
into useful information
Relational Database Theory
• Database Environment – Introduction
– Components:
• Data
• Users
• Network
• Software
• Hardware
• Administration
Relational Database Theory
• Database & the DBMS
– What is a Database?
• A collection of related data
• Intended for use by a known group of
users
• Designed & built for a specific set of
requirements
• Represents (or models) some aspect
of the real world
Relational Database Theory
• Database & the DBMS
– What is a database management
system (DBMS)?
• A collection of programs
• Enables users to create, maintain,
& access a database
Relational Database Theory
• Why use a Database & a DBMS?
– A database supports data sharing
• Many users access the same data
• Minimizes duplicated data and
resulting update inconsistencies
Relational Database Theory
• Why use a Database & a DBMS?
– An RDBMS is a productivity tool
• Provides efficient storage and
access techniques
• Provides a standard databse
access language, SQL
–Many development & case tools
interface to RDBMSs
Relational Database Theory
• Why use a Database & a DBMS?
– An RDBMS provides centralized
control of operational data
• Restricts access to authorized
users: security
• Supports recovery of data in case
of failure: durability
Relational Database Theory
• Why use a Database & a DBMS?
• Provides access by multiple users
at the same time: concurrency
• Supports business rules about
data values, relationships:
integrity
Relational Database Theory
• Different Groups of Users work with
Databases
– Data Administration
– End Users
– Data Analyst
– Business Systems Analyst
– Systems Analyst
– Programmer Analyst
– DBA
Relational Database Theory
• End Users are at all levels in the
organization
– End Users’ primary job function is not
programming
• Need information to answer questions,
make decisions, etc.
• Provide input for data and process
requirements
• Scattered throughout the organization
Relational Database Theory
• Analysts
– Business Systems Analyst
• Expertise in business operations
• Develop specifications, process
models for applications
Relational Database Theory
• Analysts
– Systems Analyst
• Expertise in business applications
development
• Develop specifications, models,
and applications
Relational Database Theory
• Analysts
– Data Analyst
• Expertise in business applications,
especially data usage
Relational Database Theory
• Analysts
– Programmer Analyst
• Expertise in programming,
application
development/maintenance
–Uses VB, C++, etc.
• Support day-to-day operations of
the enterprise
Relational Database Theory
• Database Administrator (DBA)
– Interfaces with Users
– Builds and Populates the database
– Manages disk storage, backup, &
recovery
– Maintains passwords & access
authorization
Relational Database Theory
• Database Administrator (DBA)
– Monitors performance & responds to
changing needs
– Installs new releases of the RDBMS
& related products
– Keeper of the Data Dictionary
Relational Database Theory
• Database Administration
– Develops high-level data
architecture
– Supports current & expected
business functions
– Responsible for a global view of all
the enterprise’s data
Relational Database Theory
• Database Administration
– Overall data architecture can have
many subject databases
• One or more subject databases
can have one or many DBAs
– Integral to Information Resource
Management (IRM) philosophy
Relational Database Theory
• Uses of a Database
– Production Database
• Used to accomplish business
functions of an organization
–Online or batch applications
–Objective is reliable, timely,
valid processing of data
Relational Database Theory
• Uses of a Database
• Database usage includes CRUD
activities
–Creating, Reading, Updating, &
Deleting data (CRUD)
–Sometimes referred to as online
complex processing
Relational Database Theory
• Uses of a Database
• Required features of DBMS often
include:
–Security
–Recovery
–Concurrency
–Transaction Processing
Relational Database Theory
• Uses of a Database
– Decision-Support Database
• Used for analysis, querying, &
reporting
–Read-Only
–Sometimes referred to as
OnLine Analytical Processing
(OLAP)
Relational Database Theory
• Uses of a Database
• Required features of DBMS
environment often include:
–Easy-to-Use query tools or
custom applications
Relational Database Theory
• Uses of a Database
• Data Warehouse
–An approach to providing a
database for querying and
analysis
Relational Database Theory
• Uses of a Database
– Individual Use Database
• A DBMS & a database in the
individual user’s workstation
–Single-User environment
Relational Database Theory
• Uses of a Database
• Initially mass-consumer-oriented
–Example: dBASE, Paradox, FoxPro,
Access
• RDBMS vendors introduced personal
versions:
–Personal Oracle (Free)
–IBM DB2/2 – ($600/year)
–Sybase SQL Anywhere – ($200)
Relational Database Theory
• Uses of a Database
• Required features often include
ease of:
–Installing, Use
–Reporting
–Producing simple applications
Relational Database Theory
• The Database Development Process
– Requirements
– Analysis/Design
– Produce
– Build/Test
– Production Maintenance
Relational Database Theory
• Roles in Application & Database
Development - Logical
– Data
• Data Administration
• Data Analyst
–Conceptual Data Models
»ERDs
»Created with help of the Users
Relational Database Theory
• Roles in Application & Database
Development - Logical
– Process
• Business Systems Analyst
• Systems Analyst
–Process Model
»DFD, Action Diagrams, Process
Specification Diagrams
Relational Database Theory
• Roles in Application & Database
Development – Physical
– Data
• Database Administrator
–Database
Relational Database Theory
• Roles in Application & Database
Development – Physical
– Process
• Programmer Analyst
–Program Code
Download