Data Management and
Information Processing
What Is a Database System?
• Database:
a very large, integrated collection of
data.
• Models a real-world enterprise
– Entities (e.g., teams, games, patients, clinics,
hospitals)
– Relationships
(e.g., The Forty-Niners are playing in The
Superbowl)
– (Juan de la Cruz is confined in MMMH&MC)
– More recently, also includes active components ,
often called “business logic”.
DBMS
• A Database Management System
(DBMS) is a software system
designed to store, manage, and
facilitate access to databases.
= Is the WWW a DBMS?
• Fairly sophisticated search available
– crawler indexes pages on the web
– Keyword-based search for pages
• But, currently
– data is mostly unstructured and untyped
– search only:
• can’t modify the data
• can’t get summaries, complex combinations of data
– few guarantees provided for freshness of data,
consistency across data items, fault tolerance, …
– Web sites typically have a DBMS in the background
to provide these functions.
= Is a File System a DBMS?
• Thought Experiment 1:
– You and your project partner are editing the same file.
– You both save it at the same time.
– Whose changes survive?
A) Yours B) Partner’s C) Both D) Neither E) ???
•Thought Experiment 2:
–You’re updating a file.
–The power goes out.
–Which of your changes survive?
A) All B) None C) All Since Last Save D) ???
Current Commercial Outlook
• A major part of the software industry:
– Oracle, IBM, Microsoft, Sybase
– also Informix (now IBM), Teradata
– smaller players: java-based dbms, devices, OO, …
• Lots of related industries
– data warehouse, document management, storage, backup,
reporting, business intelligence, app integration
• Relational products dominant and evolving
– adapting for extensibility (user-defined types), adding native
XML support.
• Open Source coming on strong
– MySQL, PostgreSQL, BerkeleyDB
Advantages of a DBMS
• Data independence
• Efficient data access
• Data integrity & security
• Data administration
• Concurrent access, crash recovery
• Reduced application development time
• So why not use them always?
– Expensive/complicated to set up & maintain
– This cost & complexity must be offset by need
– General-purpose, not suited for special-purpose tasks
(e.g. text search!)
Databases make these folks happy ...
• DBMS vendors, programmers
– Oracle, IBM, MS, Sybase, …
• End users in many fields
– Business, education, science, …
• DB application programmers
– Build enterprise applications on top of DBMSs
– Build web services that run off DBMSs
• Database administrators (DBAs)
– Design logical/physical schemas
– Handle security and authorization
– Data availability, crash recovery
– Database tuning as needs evolve
Why Study Databases?? ?
• Shift from computation to information
– always true for corporate computing
– Web made this point for personal computing
– more and more true for scientific computing
• Need for DBMS has exploded in the last years
– Corporate: retail swipe/clickstreams, “customer
relationship mgmt”, “supply chain mgmt”, “data
warehouses”, etc.
– Scientific: digital libraries, Human Genome project,
NASA Mission to Planet Earth, physical sensors,
grid physics network
Why Study Databases?
• DBMS encompasses much of CS in a practical
discipline
– OS, languages, theory, AI, multimedia, logic
– Yet traditional focus on real-world apps
What’s the intellectual content?
• representing information
– data modeling
• languages and systems for querying data
– complex queries with real semantics*
– over massive data sets
• concurrency control for data manipulation
– controlling concurrent access
– ensuring transactional semantics
• reliable data storage
– maintain data semantics even if you pull the plug
* semantics: the meaning or relationship of meanings of a sign or set of signs
Describing Data: Data Models
• A data model is a collection of concepts for
describing data.
• A schema is a description of a particular
collection of data, using a given data model.
• The relational model of data is the most widely
used model today.
– Main concept: relation, basically a table with rows
and columns.
– Every relation has a schema, which describes the
columns, or fields.
Levels of Abstraction
Users
• Views describe how users
see the data.
• Conceptual schema defines View 1 View 2 View 3
logical structure
Conceptual Schema
Physical Schema
• Physical schema describes
the files and indexes used.
DB
• (sometimes called the
ANSI/SPARC model)
Example: University Database
View 1 View 2 View 3
• Conceptual schema:
– Students(sid: string, name: string,
Conceptual Schema
login: string, age: integer, gpa:real)
– Courses(cid: string, cname:string, Physical Schema
credits:integer)
– Enrolled(sid:string, cid:string,
grade:string) DB
• External Schema (View):
– Course_info(cid:string,enrollment:integer)
• Physical schema:
– Relations stored as unordered files.
– Index on first column of Students.