IT 20303 – DBMS Concepts Relational Database Theory.

Post on 11-Jan-2016

220 views 3 download

Transcript of IT 20303 – DBMS Concepts Relational Database Theory.

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