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