Chapter 1 Databases and Database Users
Chapter 1 Databases and Database Users
OUTLINE
• Types of Databases and Database Applications
• Basic Definitions
• Typical DBMS Functionality
• Example of a Database (UNIVERSITY)
• Main Characteristics of the Database Approach
• Types of Database Users
• Advantages of Using the Database Approach
• When Not to Use Databases
Types of Databases and Database Applications
• Traditional Applications:
• Numeric and Textual Databases
• More Recent Applications:
• Multimedia Databases
• Geographic Information Systems (GIS)
• Biological and Genome Databases
• Data Warehouses
• Mobile databases
• Real-time and Active Databases
Recent Developments (1)
• Social Networks started capturing a lot of information about
people and about communications among people-posts, tweets,
photos, videos in systems such as:
- Facebook
- Twitter
- Linked-In
• All of the above constitutes data
• Search Engines- Google, Bing, Yahoo: collect their own
repository of web pages for searching purposes
Recent Developments (2)
• New Technologies are emerging from the so-called non-database
software vendors to manage vast amounts of data generated on web.
Big Data storage systems involving large clusters of distributed
computers
• NoSQL (Not Only SQL) systems
• A large amount of data now resides on the “cloud” which means it is
in huge data centers using thousands of machines
Basic Definitions
• Database:
• A collection of related data
• Data:
• Known facts that can be recorded and have an implicit meaning
• Mini-world:
• Some part of the real world about which data is stored in a database. For example, student
grades and transcripts at a university
• Database Management System (DBMS):
• A software package/ system to facilitate the creation and maintenance of a computerized
database
• Database System:
• The DBMS software together with the data itself. Sometimes, the applications are also
included
Impact of Databases and Database Technology
• Businesses: Banking, Insurance, Retail, Transportation, Healthcare,
Manufacturing
• Service Industries: Financial, Real-estate, Legal, Electronic Commerce, Small
businesses
• Education : Resources for content and Delivery
• More recently: Social Networks, Environmental and Scientific Applications,
Medicine and Genetics
• Personalized Applications: based on smart mobile devices
Simplified database system environment
Typical DBMS Functionality
• Define a particular database in terms of its data types, structures, and constraints
• Construct or Load the initial database contents on a secondary storage medium
• Manipulating the database:
• Retrieval: Querying, generating reports
• Modification: Insertions, deletions and updates to its content
• Accessing the database through Web applications
• Processing and Sharing by a set of concurrent users and application programs –
yet, keeping all data valid and consistent
Application Activities Against a Database
• Applications interact with a database by generating
- Queries: that access different parts of data and formulate the result of a request
- Transactions: that may read some data and “update” certain values or generate
new data and store that in the database
• Applications must not allow unauthorized users to access data
• Applications must keep up with changing user requirements against
the database
Additional DBMS Functionality
• DBMS may additionally provide:
• Protection or Security measures to prevent unauthorized access
• “Active” processing to take internal actions on data
• Presentation and Visualization of data
• Maintenance of the database and associated programs over the lifetime of
the database application
• Called database, software, and system maintenance
Example of a Database
(with a Conceptual Data Model)
• Mini-world for the example:
• Part of a UNIVERSITY environment.
• Some mini-world entities:
• STUDENTs
• COURSEs
• SECTIONs (of COURSEs)
• (academic) DEPARTMENTs
• INSTRUCTORs
Example of a Database
(with a Conceptual Data Model)
• Some mini-world relationships:
• SECTIONs are of specific COURSEs
• STUDENTs take SECTIONs
• COURSEs have prerequisite COURSEs
• INSTRUCTORs teach SECTIONs
• COURSEs are offered by DEPARTMENTs
• STUDENTs major in DEPARTMENTs
• Note: The above entities and relationships are typically expressed in a conceptual
data model, such as the ENTITY-RELATIONSHIP data model (see Chapters 3, 4)
Example of a simple database
Main Characteristics of the Database Approach
• Self-describing nature of a database system:
• A DBMS catalog stores the description of a particular database (e.g. data
structures, types, and constraints)
• The description is called meta-data
• This allows the DBMS software to work with different database applications.
• Insulation between programs and data:
• Called program-data independence
• Allows changing data structures and storage organization without having to
change the DBMS access programs
Example of a simplified database catalog
Main Characteristics of the Database Approach
(Contd..)
• Data Abstraction:
• A data model is used to hide storage details and present the users with a
conceptual view of the database.
• Programs refer to the data model constructs rather than data storage details
• Support of multiple views of the data:
• Each user may see a different view of the database, which describes only the
data of interest to that user.
Main Characteristics of the Database Approach
(Contd..)
• Sharing of data and multi-user transaction processing:
• Allowing a set of concurrent users to retrieve from and to update the database.
• Concurrency control within the DBMS guarantees that each transaction is correctly
executed or aborted
• Recovery subsystem ensures each completed transaction has its effect permanently
recorded in the database
• OLTP (Online Transaction Processing) is a major part of database applications. This
allows hundreds of concurrent transactions to execute per second.
Database Users
• Users may be divided into
• Those who actually use and control the database content, and those who
design, develop and maintain database applications (called “Actors on the
Scene”), and
• Those who design and develop the DBMS software and related tools, and the
computer systems operators (called “Workers Behind the Scene”).
Database Users – Actors on the Scene