chapter 2

34
Chapter 2 Adapted from Silberschatz, et al. CHECK SLIDE 16

Upload: luke

Post on 29-Jan-2016

24 views

Category:

Documents


0 download

DESCRIPTION

Chapter 2. Adapted from Silberschatz , et al. CHECK SLIDE 16. Chapter 2: Introduction to databases Terminology Basic concepts. Example of a Relation. attributes (or columns). tuples (or rows). Attribute Types. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Chapter 2

Chapter 2

Adapted from Silberschatz, et al.CHECK SLIDE 16

Page 2: Chapter 2

• Chapter 2:– Introduction to databases– Terminology– Basic concepts

Page 3: Chapter 2

Example of a Relationattributes

(or columns)

tuples(or rows)

Page 4: Chapter 2

Attribute Types• The set of allowed values for each

attribute is called the domain of the attribute

• Attribute values are normally required to be atomic; that is, indivisible

• The special value null is a member of every domain– The null value causes complications in

the definition of many operations

Page 5: Chapter 2

Relation Schema and Instance• A1, A2, …, An are attributes

• R = (A1, A2, …, An ) is a relation schema

instructor = (ID (as A1), name (as

A2), … dept_name, salary)

Page 6: Chapter 2

Relations are Unordered

Order of tuples is irrelevant (tuples may be stored in an arbitrary order) Example: instructor relation with unordered tuples

Page 7: Chapter 2

Database• A database consists of multiple relations

• Information about an enterprise is broken up into parts

instructor student advisor

• Why is it a bad design to define as one relation? univ (instructor -ID, name, dept_name, salary, student_Id, advisor, ..)

Page 8: Chapter 2

DatabaseBad design: univ (instructor -ID, name, dept_name, salary, student_Id,

advisor ..)

– Duplicate information (two students have the same instructor)

– The need for null values (representing a student with no advisor)

– Makes it easy to create data inconsistency problems. (How would that occur?)

Page 9: Chapter 2

Schema Diagram for University Database

Page 10: Chapter 2

Keys

• You have used keys before – e.g. sorting, hash tables

• Identify key (attributes) to uniquely identify specific tuples

• See next

Page 11: Chapter 2

Keys• Let K R (The key(s) K must be a subset of

the attributes)• K is a primary key of R if values for K are

sufficient to identify a unique tuple of each possible relation r(R)

– Example: {ID} and {ID,name} are both primary

keys of instructor.

• Foreign key constraint: Value in one relation must appear in another– Referencing relation– Referenced relation

Page 12: Chapter 2

Relational Notation

• Chapter 2 introduces relational algebra notation (more in Chapter 6)

Page 13: Chapter 2

Selection of tuples Relation r

Select tuples with A=B and D > 5

σ A=B and D > 5 (r)

Use sigma to denote selection; (r) indicates the relation

Page 14: Chapter 2

Selection of Columns (Attributes)• Relation r:

Select A and C Projection

Π A, C (r)

Projection: output specified attributes; remove duplicates

Page 15: Chapter 2

Joining two relations – Cartesian Product (“join” later)

Relations r, s:

r x s:Cartesian product combines tuples from 2 relations; result contains all pairs of tuples, regardless of whether attribute values match

α1 with each instance of C/D/E

Same for β2

Page 16: Chapter 2

Union of two relations• Relations r, s:

r s:

Relations are sets so we can perform standard set operations. Must be “similarly structured” tables.

Page 17: Chapter 2

Set difference of two relations

• Relations r, s:

r – s:

What is in relation r that is not in relation s?

Page 18: Chapter 2

Set Intersection of two relations

• Relation r, s:

• r sWhat’s in r and also in s?

Page 19: Chapter 2

Joining two relations – Natural Join• Let r and s be relations on schemas R

and S respectively. • The “natural join” of relations R and S is

a relation on schema R S obtained as follows:– Consider each pair of tuples tr from r and ts

from s

– If tr and ts have the same value on each of the attributes in R S, add a tuple t to the result, where

• t has the same value as tr on r

• t has the same value as ts on s

Page 20: Chapter 2

Natural Join Example• Relations r, s:

Natural Join r s

Attributes B and D are common to both relations. Result of the natural join is all tuples merged based on these attributes (default)

Page 21: Chapter 2

Relations

• Sometimes helps see how to structure the SQL queries if you write out the relation first

• These (given in Chapter 2) are simple uses and not exhaustive

• More later in the course

Page 22: Chapter 2
Page 23: Chapter 2

End of Chapter 2

Page 24: Chapter 2

Figure 2.01

Page 25: Chapter 2

Figure 2.02

Page 26: Chapter 2

Figure 2.03

Page 27: Chapter 2

Figure 2.04

Page 28: Chapter 2

Figure 2.05

Page 29: Chapter 2

Figure 2.06

Page 30: Chapter 2

Figure 2.07

Page 31: Chapter 2

Figure 2.10

Page 32: Chapter 2

Figure 2.11

Page 33: Chapter 2

Figure 2.12

Page 34: Chapter 2

Figure 2.13