CSE 544 Principles of Database Management...
Transcript of CSE 544 Principles of Database Management...
![Page 1: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/1.jpg)
CSE 544 Principles of Database Management Systems
Magdalena Balazinska
Fall 2009
Lecture 2 – Data models
1 CSE 544 - Fall 2009
![Page 2: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/2.jpg)
Announcements
• Grade book available from course website
• HW1 will be out today
CSE 544 - Fall 2009 2
![Page 3: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/3.jpg)
CSE 544 - Fall 2009
References
• M. Stonebraker and J. Hellerstein. What Goes Around Comes Around. In "Readings in Database Systems" (aka the Red Book). 4th ed.
3
![Page 4: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/4.jpg)
Data Model Motivation
• User is concerned with real-world data – Data represents different aspects of user’s business
– Data typically includes entities and relationships between them – Example entities are students, courses, products, clients
– Example relationships are course registrations, product purchases
• User somehow needs to define data to be stored in DBMS
• Data model enables a user to define the data using high-level constructs without worrying about many low-level details of how data will be stored on disk
CSE 544 - Fall 2009 4
![Page 5: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/5.jpg)
CSE 544 - Fall 2009
Levels of Abstraction
Disk
Physical Schema
Conceptual Schema
External Schema External Schema External Schema
a.k.a logical schema describes stored data in terms of data model
includes storage details file organization indexes
schema seen by apps
5
![Page 6: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/6.jpg)
Data Model Motivation (cont.)
DBMS needs to let user perform several tasks
• Define data that should live in the DBMS – Need a data model and a data definition language
• Ask questions about the data
• Insert, delete, and modify data – Need a data manipulation language
• Challenges – Want to minimize changes to applications when physical data
layout changes (for performance) or logical structure of data changes (perhaps as database evolves over time)
CSE 544 - Fall 2009 6
![Page 7: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/7.jpg)
CSE 544 - Fall 2009
Outline
• Different types of data
• Early data models – IMS
– CODASYL
• Physical and logical independence in the relational model
• Other data models
7
![Page 8: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/8.jpg)
CSE 544 - Fall 2009
Different Types of Data
• Structured data – All data conforms to a schema. Ex: business data
• Semistructured data – Some structure in the data but implicit and irregular
– Ex: resume, ads
• Unstructured data – No structure in data. Ex: text, sound, video, images
• Our focus: structured data & relational DBMSs
8
![Page 9: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/9.jpg)
CSE 544 - Fall 2009
Outline
• Different types of data
• Early data models – IMS – late 1960’s and 1970’s
– CODASYL – 1970’s
• Physical and logical independence in the relational model
• Other data models
9
![Page 10: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/10.jpg)
CSE 544 - Fall 2009
Early Proposal 1: IMS
• Hierarchical data model
• Record – Type: collection of named fields with data types (+)
– Instance: must match type definition (+)
– Each instance must have a key (+) – Record types must be arranged in a tree (-)
• IMS database is collection of instances of record types organized in a tree
10
![Page 11: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/11.jpg)
CSE 544 - Fall 2009
IMS Example
• See Figure 2 in paper “What goes around comes around”
11
![Page 12: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/12.jpg)
CSE 544 - Fall 2009
Data Manipulation Language: DL/1
• Each record has a hierarchical sequence key (HSK) – Records are totally ordered: depth-first and left-to-right
• HSK defines semantics of commands: – get_next
– get_next_within_parent
• DL/1 is a record-at-a-time language – Programmer constructs an algorithm for solving the query – Programmer must worry about query optimization
12
![Page 13: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/13.jpg)
CSE 544 - Fall 2009
Data storage
• Root records – Stored sequentially (sorted on key) – Indexed in a B-tree using the key of the record – Hashed using the key of the record
• Dependent records – Physically sequential – Various forms of pointers
• Selected organizations restrict DL/1 commands – No updates allowed with sequential organization – No “get-next” for hashed organization
13
![Page 14: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/14.jpg)
CSE 544 - Fall 2009
Data Independence
• Physical data independence: Applications are insulated from changes in physical storage details
• Logical data independence: Applications are insulated from changes to logical structure of the data
• Why are these properties important? – Reduce program maintenance as – Logical database design changes over time
– Physical database design tuned for performance
14
![Page 15: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/15.jpg)
CSE 544 - Fall 2009
IMS Limitations
• Tree-structured data model – Redundant data, existence depends on parent, artificial structure
• Record-at-a-time user interface – User must specify algorithm to access data
• Very limited physical independence – Phys. organization limits possible operations
– Application programs break if organization changes
• Provides some logical independence – DL/1 program runs on logical database
– Difficult to achieve good logical data independence with a tree model
15
![Page 16: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/16.jpg)
CSE 544 - Fall 2009
Early Proposal 2: CODASYL
• Networked data model
• Primitives are also record types with keys (+)
• Record types are organized into network (-) – A record can have multiple parents
– Arcs between records are named
– At least one entry point to the network
• Network model is more flexible than hierarchy – Ex: no existence dependence
• Record-at-a-time data manipulation language (-)
16
![Page 17: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/17.jpg)
CSE 544 - Fall 2009
CODASYL Example
• See Figure 5 in paper “What goes around comes around”
17
![Page 18: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/18.jpg)
CSE 544 - Fall 2009
CODASYL Limitations
• No physical data independence – Application programs break if organization changes
• No logical data independence – Application programs break if organization changes
• Very complex
• Programs must “navigate the hyperspace”
• Load and recover as one gigantic object
18
![Page 19: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/19.jpg)
CSE 544 - Fall 2009
Outline
• Different types of data
• Early data models – IMS
– CODASYL
• Physical and logical independence in the relational model
• Other data models
19
![Page 20: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/20.jpg)
CSE 544 - Fall 2009
Relational Model Overview
• Proposed by Ted Codd in 1970
• Motivation: better logical and physical data independence
• Overview – Store data in a simple data structure (table)
• Facilitates logical data independence
• Flexible enough to represent almost anything
– Access data through set-at-a-time language • Facilitates physical data independence
– No need for physical storage proposal
20
![Page 21: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/21.jpg)
CSE 544 - Fall 2009
Physical Independence
• Definition: Applications are insulated from changes in physical storage details
• Early models (IMS and CODASYL): No
• Relational model: Yes – Yes through set-at-a-time language: algebra or calculus
– No specification of what storage looks like – Administrator can optimize physical layout
21
![Page 22: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/22.jpg)
CSE 544 - Fall 2009
Logical Independence
• Definition: Applications are insulated from changes to logical structure of the data
• Early models – IMS: some logical independence
– CODASYL: no logical independence
• Relational model – Yes through views
22
![Page 23: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/23.jpg)
CSE 544 - Fall 2009
Views
• View is a relation
• But rows not explicitly stored in the database
• Instead
• Computed as needed from a view definition
23
![Page 24: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/24.jpg)
CSE 544 - Fall 2009
Example with SQL
Relations
Supplier(sno,sname,scity,sstate)
Part(pno,pname,psize,pcolor)
Supply(sno,pno,qty,price)
CREATE VIEW Big_Parts
AS
SELECT * FROM Part WHERE psize > 10;
24
![Page 25: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/25.jpg)
CSE 544 - Fall 2009
Example 2 with SQL
CREATE VIEW Supply_Part2 (name,no) AS SELECT R.sname, R.sno FROM Supplier R, Supply S WHERE R.sno = S.sno AND S.pno=2;
25
![Page 26: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/26.jpg)
CSE 544 - Fall 2009
Queries Over Views
SELECT * from Big_Parts WHERE pcolor='blue';
SELECT name FROM Supply_Part2
WHERE no=1;
26
![Page 27: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/27.jpg)
CSE 544 - Fall 2009
Updating Through Views
• Updatable views (SQL-92) – Defined on single base relation
– No aggregation in definition – Inserts have NULL values for missing fields
– Better if view definition includes primary key
• Updatable views (SQL-99) – May be defined on multiple tables
• Messy issue in general
27
![Page 28: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/28.jpg)
CSE 544 - Fall 2009
Levels of Abstraction
Disk
Physical Schema
Conceptual Schema
External Schema External Schema External Schema
a.k.a logical schema describes stored data in terms of data model
includes storage details file organization indexes
views access control
28
![Page 29: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/29.jpg)
CSE 544 - Fall 2009
Query Translations
Relational Algebra Expression (query plan)
Declarative SQL Query
Physical Query Plan
User or application
Optimizer
29
![Page 30: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/30.jpg)
Great Debate
• Pro relational – CODASYL is too complex
– CODASYL does not provide sufficient data independence – Record-at-a-time languages are too hard to optimize
– Trees/networks not flexible enough to represent common cases
• Against relational – COBOL programmers cannot understand relational languages
– Impossible to represent the relational model efficiently
– CODASYL can represent tables
• Ultimately settled by the market place CSE 544 - Fall 2009 30
![Page 31: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/31.jpg)
CSE 544 - Fall 2009
Outline
• Different types of data
• Early data models – IMS
– CODASYL
• Physical and logical independence in the relational model
• Other data models
31
![Page 32: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/32.jpg)
Other Data Models
• Entity-Relationship: 1970’s – Successful in logical database design (next lecture)
• Extended Relational: 1980’s
• Semantic: late 1970’s and 1980’s
• Object-oriented: late 1980’s and early 1990’s – Address impedance mismatch: relational dbs OO languages
– Interesting but ultimately failed (several reasons, see paper)
• Object-relational: late 1980’s and early 1990’s – User-defined types, ops, functions, and access methods
• Semi-structured: late 1990’s to the present
CSE 544 - Fall 2009 32
![Page 33: CSE 544 Principles of Database Management Systemscourses.cs.washington.edu/courses/cse544/09au/lecture-notes/lectu… · CSE 544 - Fall 2009 IMS Limitations • Tree-structured data](https://reader033.fdocuments.in/reader033/viewer/2022060802/60867d4de8ec9b402330214a/html5/thumbnails/33.jpg)
CSE 544 - Fall 2009
Summary
• Data independence is desirable – Both physical and logical – Early data models provided very limited data independence – Relational model facilitates data independence
• Set-at-a-time languages facilitate phys. indep. [more next lecture] • Simple data models facilitate logical indep. [more next lecture]
• Flat models are also simpler, more flexible • User should specify what they want not how to get it
– Query optimizer does better job than human
• New data model proposals must – Solve a “major pain” or provide significant performance gains
33