chapter 2
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 PresentationTRANSCRIPT
![Page 1: Chapter 2](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/1.jpg)
Chapter 2
Adapted from Silberschatz, et al.CHECK SLIDE 16
![Page 2: Chapter 2](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/2.jpg)
• Chapter 2:– Introduction to databases– Terminology– Basic concepts
![Page 3: Chapter 2](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/3.jpg)
Example of a Relationattributes
(or columns)
tuples(or rows)
![Page 4: Chapter 2](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/4.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/5.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/6.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/7.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/8.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/9.jpg)
Schema Diagram for University Database
![Page 10: Chapter 2](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/10.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/11.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/12.jpg)
Relational Notation
• Chapter 2 introduces relational algebra notation (more in Chapter 6)
![Page 13: Chapter 2](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/13.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/14.jpg)
Selection of Columns (Attributes)• Relation r:
Select A and C Projection
Π A, C (r)
Projection: output specified attributes; remove duplicates
![Page 15: Chapter 2](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/15.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/16.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/17.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/18.jpg)
Set Intersection of two relations
• Relation r, s:
• r sWhat’s in r and also in s?
![Page 19: Chapter 2](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/19.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/20.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/21.jpg)
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](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/22.jpg)
![Page 23: Chapter 2](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/23.jpg)
End of Chapter 2
![Page 24: Chapter 2](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/24.jpg)
Figure 2.01
![Page 25: Chapter 2](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/25.jpg)
Figure 2.02
![Page 26: Chapter 2](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/26.jpg)
Figure 2.03
![Page 27: Chapter 2](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/27.jpg)
Figure 2.04
![Page 28: Chapter 2](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/28.jpg)
Figure 2.05
![Page 29: Chapter 2](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/29.jpg)
Figure 2.06
![Page 30: Chapter 2](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/30.jpg)
Figure 2.07
![Page 31: Chapter 2](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/31.jpg)
Figure 2.10
![Page 32: Chapter 2](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/32.jpg)
Figure 2.11
![Page 33: Chapter 2](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/33.jpg)
Figure 2.12
![Page 34: Chapter 2](https://reader033.vdocument.in/reader033/viewer/2022051517/56815798550346895dc53032/html5/thumbnails/34.jpg)
Figure 2.13