it 20303 – dbms concepts relational database theory
TRANSCRIPT
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