Title: Chapter 1: Databases and Database Users
1Chapter 1 Databases and Database Users
- From Fundamentals of Database Systems by
Elmasri/Navathe
2Database Applications
- Traditional Database Applications
- Mainly textual and numeric information
- Examples?
- Multimedia Databases
- Images, audio clips, video streams
- Geographic Information Systems
- Store/Analyze maps, weather data, satellite
images
3Database Applications (contd)
- Data Warehouses and Online Analytical Processing
(OLAP) - Extract and analyze information to support
decision making - Real-Time and Active Database Technology
- Industrial and manufacturing processes
4Introduction
- Databases and Database Technology play a critical
role in almost all areas where computers are used - Business
- Electronic Commerce
- Engineering
- Medicine
- Law
- Education
- Library Science
5Terminology
- Database (general)
- Collection of related data
- Can be any size
- Maintained manually or computerized
- Data
- Known facts that can be recorded that have an
implicit meaning - Examples?
6Implicit Properties of Databases
- A database represents some aspect of the real
world (miniworld or Universe of Discourse (UoD)
). Changes reflected - Logically coherent (not random) collection with
an inherent meaning - Designed, built and populated for a specific
purpose with an intended group of users and
preconceived applications
7DBMS
- Database Management System (DBMS)
- General-purpose software system that facilitates
the processes of - Defining
- Constructing
- Manipulating
- Sharing
- Databases
- Four main characteristics we will look at more
later
8Defining a Database
- Specify
- Data types
- Structures
- Constraints of the data to be stored in the
database - DDL Data Definition Language
- Meta-data
- Database definition. Information about the
database itself is also stored in the database
catalog (dictionary)
9DBMS (contd)
- Constructing a Database
- Storing the data on some storage medium that is
controlled by the DBMS - Manipulating a Database
- DML Data Manipulation Language
- Querying the data stored to reflect the changes
- Generate Reports from the data
- Sharing the Database (synchronization)
- Allow concurrent user access and data
manipulation (e.g., one seat left in the plane
and two passengers want to reserve it)
10Application Program
- Accesses the data in the database
- Several application programs may be in use
- Allows users to
- query data (retrieve/update/delete)
- generate reports
11DBMS (contd) Functions
- Transaction
- Will cause data to be read from and written to
the database - A series of queries that need to take place in
isolation and all or none. Ex. Money transfer
in a bank system - Protection Maintenance
- System protection against hardware/software
malfunction - Backup and Recovery
- Security protection against unauthorized and
malicious access - User permissions
12DBMS (contd) Functions Maintenance
- As miniworld requirements change over time
database needs to be maintained - i.e., database evolves as the requirements
change over time
13Database System
- Database and the DBMS software together are
called a Database System
14(No Transcript)
15More database terminology
- Entity (entity type)
- Represents a real world object or a concept
- Entity Set
- Collection of entities of a particular entity
type - Attribute
- Property of an entity
- Key
- An attribute or collection of attributes that
uniquely identify an entity in an entity set - Relationship
- Represents an association between entities (e.g.
is-a)
16Example University System
- Organized as five files (tables)
- (note if the database is extended to several
data locations, one table may correspond to
several actual files) - Note student information is missing in the next
slide - Student
- Name Student Number Class Major
- Smith 17 1
CS
17(No Transcript)
18Database as part of Information Systems (IT dept)
and - levels of abstraction
- Requirements Definition, Analysis, Design
- Conceptual Design
- Abstraction of the miniworld
- Entity Relationship (E-R) Diagrams
- Logical Design
- Implemented as a data model (e.g. relational data
model) - Physical Design
- Specification of storage and access of the
database
19File processing vs. Database Approach
- File processing
- Each user defines and implements the files needed
for their own application - Data definition is typically part of the
application program - No sharing
- Redundancy (duplicate information - possibly
inconsistent)
20File processing vs. Database Approach
- Database approach
- Single repository, many applications
- Self-describing nature of a database system
- Meta-data Description of the data and the
constraints on that data are stored in data
catalogs - General purpose DBMS software can execute against
any database table - Data abstraction
- Program-data independence (structure of the data
is separated from applications) - Program-operation Independence (OO related)
Interface/Implementation
21File processing vs. Database Approach(contd)
- Data Model
- Type of data abstraction that is used to provide
conceptual representation - A DBMS provides users with conceptual
representation which hides storage and
implementation details from the users
22File processing vs. Database Approach(contd)
- Multiple views of the data
- May contain virtual data (e.g., age based on DOB)
- Sharing of data and multi-user transaction
processing - Concurrency control
- e.g., in Online Transaction Processing (OLTP)
- Transaction
- Isolation
- Atomicity
23Database Catalog Example Self Describing Nature
of a DB System
24Example Internal Storage Format Data
Abstraction (e.g., consider request to access
name)
25Example Multiple Views
26Database Users (Actors on the Scene)
- Database Administrators
- Database Designers
- End Users (interested in the data itself)
- Casual End Users (occasional, e.g., managers)
- Naïve or parametric end users (more frequent
users) - canned transactions (e.g., bank tellers)
- Sophisticated end users (e.g. engineers,
scientists) - Standalone users (maintain personal databases
using ready made programs) - System Analysts and Application Programmers
(Software Engineers or Developers)
27Workers Behind the Scene
- Associated with design, development, and
operation of DBMS software and system environment - Not typically interested in the actual data
- DBMS system designers and implementers
- Very complex software system
- Tool developers (e.g., performance monitoring)
- Operators and maintenance personnel (system
administrators)
28Advantages of Using the DBMS Approach
- Controlling Redundancy
- Duplication of effort, wasted storage space,
inconsistent data - Controlled/Uncontrolled Redundancy
- Restricting Unauthorized Access
- Security Authorization Subsystem
- Providing Persistent Storage for Program Objects
(for OO systems) - Providing Storage Structures for Efficient Query
Processing - e.g., indices, buffering (from disk),
optimization - Part of physical database design and tuning
29Example Redundant Storage
30Advantages of Using the DBMS Approach(contd)
- Providing Backup and Recovery
- Providing Multiple User Interfaces
- e.g., forms style, GUI, command line
- Representing Complex Relationships among data
(for efficient storage and retrieval) - Enforcing Integrity Constraints
- Constraints are derived from the semantics of
data - Business rules
- Inherent rules of the data model
- Permitting Inferencing and Actions Using Rules
- Deductive database systems
- Triggers, stored procedures
- Active Database Systems
31Additional Implications of Using the Database
Approach
- Potential for Enforcing Standards
- Among database users
- Names/formats of data elements
- Reduced Application Development Time
- Flexibility (maintenance)
- Availability of Up-to-Date Information
- Economies of Scale
- Distributed Environments, Replication etc.
32History of Database Applications
- Hierarchical and Network Systems
- Intermixing of conceptual relationships with the
physical storage and placement of records on disk - Efficient access for original queries
transactions - New queries/transactions?
- Programming language interfaces
- Relational Databases
- Separate physical storage of data from its
conceptual representation - High level query language interface
- Object-Oriented Applications
- Object-Oriented Databases (OODB)
- Interchanging Data on the Web for E-commerce
33History of Database Applications (contd)
- Extending Database Capabilities for New
Applications. examples - Scientific
- Images
- Video
- Data mining
- Spatial
- Time series
- Databases vs Information Retrieval (IR)
34When Not to Use a DBMS
- Overhead costs
- High initial investment in hardware, software,
and training - Providing security, concurrency control etc.
- Simple, well-defined DB applications not expected
to change - Stringent, real-time requirements that cannot be
met by DBMS - No multiple-user access to data