Database Management Systems (CSE 4503) Chapter 1
Naive End Users
"Parametric" Make up a large section of end-users, Ex. Mobile App users, Bank Tellers, Social Media Users
Database Approach Advantages
- Control redundancy in data storage and in development and maintenance efforts - Restrict unauthorized access to data. Only the DBA staff uses privileged commands and facilities. - Provide persistent storage for program Objects -Provide Storage Structures (e.g. indexes) for efficient Query Processing
Early Database Applications
- Hierarchical and Network Models were introduced in mid 1960s and dominated during the seventies. - Bulk of the worldwide database processing still occurs using these models, particularly, the hierarchical model using IBM's IMS system.
Costs of using a DBMS
- High initial investment and possible need for additional hardware. - Overhead for providing generality, security, concurrency control, recovery, and integrity functions.
a DBMS may be unnecessary:
- If the database and applications are simple, well defined, and not expected to change. - If access to data by multiple users is not required.
Object-oriented and emerging applications:
- Object-Oriented Database Management Systems (OODBMSs) were introduced in late 1980s and early 1990s to cater to the need of complex data processing in CAD and other applications. - Their use has not taken off much
Relational Model based Systems
- Relational model was originally introduced in 1970, was heavily researched and experimented within IBM Research and several universities. - Relational DBMS Products emerged in the early 1980s.
Businessess
Banking, Insurance, Retail, Transportation, Healthcare, Manufacturing
Types of End Users
Casual and Naive
Database
Collection of Related Data
Meta-Data
Data that descirbes other data
Define (DBMS Functionality)
Define a particular databse in terms of data types, structures and constraints
Database Designers
Define the content, structure, the constraints, functions and transactions against the database. Communicate and understand the end user's needs.
DBMS Functionality
Defining, Constructing, Manipulating, Processing, Sharing
System Designers and Implementors
Design and implement DBMS packages in the form of modules and interfaces and test and debug them. The DBMS must interface with applications, language compilers, operating system components, etc.
Tool Developers
Design and implement software systems called tools for modeling and designing databases, performance monitoring, prototyping, test data generation, user interface creation, simulation etc. that facilitate building of applications and allow using database effectively.
Service Industries
Financial, Real-estate, Lega, Electronic Commerce, Small Businesses
Application Programmers
Implement the specifications developed by analysts and test and debug them before deployment.
a DBMS may be infeasible:
In embedded systems where a general purpose DBMS may not fit in available storage
Database System
Includes the DBMS software and its data.
Modification (DBMS Functionality)
Insertions, Deletions, and updates to DBMS content
Data
Known facts that can be recorded
Construct (DBMS Functionality)
Load initial database contents on a secondary storage medium
Stand-Alone End Users
Maintain personal databases using ready-to-use applications (ex. Tax program, personal photos, videos).
Operators and Maintenance Personnel
Manage the actual running and maintenance of the database system hardware and software environment.
OLTP
Online Transaction Processing - allows hundreds of concurrent transactions to execute per second
Mini-World
Part of the real world that has relevant data, that's stored in a database
Impact of Databases on Smart Devices
Personalized Applications
Retrieval (DBMS Functionality)
Querying, generating reports
Education
Resources for content and Delivery
Database Administrators
Responsible for authorizing access to the database, monitoring its use, acquiring resources, controlling its use, monitoring efficiency of operations.
Manipulation (DBMS Functionality)
Retrieval, Modification, and Accessing
Unauthorized Users
Should not be allowed to access data
Recent Impact of Databases
Social Networks, Environmental Applications, Scientific Applications, Medicine
Database Management System (DBMS)
Software package that facilitates the create and maintenance of a database
Catalog
Stores the description of a particular database (ex. Data structures, types, constraints)
Business Analysts
There is an increasing need for such people who can analyze vast amounts of business data and real-time data ("Big Data") for better decision making related to planning, advertising, marketing etc.
How do Applications Interact with Databases?
Through Queries, and Transactions
System Analysts
Understand the user requirements of naïve and sophisticated users and design applications including canned transactions to meet those requirements.
Casual End Users
Use data for queries and reports, sometimes they update database content
Sophisticated End Users
Use software packages that work closely with database (ex. Business Analysts, scientists, engineers)
Data Model
Used to hide storage details, presents users with conceptual view of database
Actors on the Scene
Users who control and use the database content, design, develop and maintain database applications
Workers Behind the Scene
Users who develop the Database Management System software, and computer systems operators
Queries
access different parts of data and formulate the result of a request
Transactions
read some data and "update" certain values, or generate new data which is stored in the database