1 / 28

§7.1 Binary Relations (2 nd pass) and §7.2 n-ary Relations Longin Jan Latecki

§7.1 Binary Relations (2 nd pass) and §7.2 n-ary Relations Longin Jan Latecki. Slides adapted from Kees van Deemter who adopted them from Michael P. Frank’s Course Based on the Text Discrete Mathematics & Its Applications (5 th Edition) by Kenneth H. Rosen.

Download Presentation

§7.1 Binary Relations (2 nd pass) and §7.2 n-ary Relations Longin Jan Latecki

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. §7.1 Binary Relations (2nd pass)and §7.2 n-ary Relations Longin Jan Latecki Slides adapted from Kees van Deemter who adopted them from Michael P. Frank’s Course Based on the TextDiscrete Mathematics & Its Applications(5th Edition)by Kenneth H. Rosen

  2. §7.1 Binary Relations (2nd pass) • Let A, B be any sets. A binary relationR from A to B is a subset of A×B. • E.g.,<can be seen as{(n,m)| n < m} • (a,b)R means thata is related to b (by R) • Also written asaRb; alsoR(a,b) • E.g.,a<b and< (a,b) bothmean(a,b) < • A binary relation R corresponds to a characteristic function PR:A×B→{T,F}

  3. Complementary Relations • Let R:A,B be any binary relation. • Then, R:A×B, the complement of R, is the binary relation defined byR:≡{(a,b)A×B | (a,b)R}=(A×B) − R • Note this is just R if the universe of discourse is U = A×B; thus the name complement. • Note the complement of R is R. Example:< = {(a,b) | (a,b)<} = {(a,b) | ¬a<b} = ≥

  4. Inverse Relations • Any binary relation R:A×B has an inverse relation R−1:B×A, defined byR−1 :≡ {(b,a) | (a,b)R}. E.g., <−1 = {(b,a) | a<b} = {(b,a) | b>a} = >. • E.g., if R:People x Foods is defined by a R b  aeatsb, then: bR−1a  bis eaten bya. (Passive voice.)

  5. Relations on a Set • A (binary) relation from a set A to itself is called a relation on the set A. • E.g., the “<” relation from earlier was defined as a relation on the set N of natural numbers.

  6. Reflexivity and relatives • A relation R on A is reflexiveiff aA(aRa). • E.g., the relation ≥ :≡ {(a,b) | a≥b} is reflexive. • R is irreflexive iff aA(aRa) • Note “irreflexive” does NOT mean “notreflexive”, which is just aA(aRa).

  7. Reflexivity and relatives • Theorem: A relation R is irreflexive iff its complementary relation R is reflexive. • Example: < is irreflexive; ≥ is reflexive. • Proof: trivial

  8. Can you think of • Reflexive relations • Irreflexive relations Involving numbers, propositions or sets?

  9. Some examples • Reflexive: =, `have same cardinality’,  <=, >=, , , etc. • Irreflexive: <, >, `have different cardinality’, 

  10. Symmetry & relatives • A binary relation R on A is symmetric iff a,b((a,b)R↔ (b,a)R). • E.g., = (equality) is symmetric. < is not. • “is married to” is symmetric, “likes” is not. • A binary relation R is asymmetric if a,b((a,b)R→ (b,a)R). • Examples: < is asymmetric, “likes” is not.

  11. Some direct consequences Theorems: • R is symmetric iff R = R−1, • R is asymmetric iff RR−1 is empty.

  12. Symmetry & relatives 1. R is symmetric iff R = R−1 • Suppose R is symmetric. Then (x,y)  R (y,x)  R  (x,y)  R−1  Suppose R = R−1 Then (x,y)  R  (x,y)  R−1 (y,x)  R

  13. Symmetry & relatives 2. R is asymmetric iff RR−1 is empty.(Straightforward application of the definitions of asymmetry and R−1)

  14. Antisymmetry • Consider the relation xy • It is not symmetric. (For instance, 56 but not 65) • It is not asymmetric. (For instance, 5 5) • You might say it’s nearly symmetric, since the only symmetries occur when x=y • This is called antisymmetry:

  15. Antisymmetry • A binary relation R on A is antisymmetric iff a,b((a,b)R (b,a)R a=b). • Examples: , , 

  16. Transitivity • A relation R is transitive iff (for all a,b,c) ((a,b)R  (b,c)R)→ (a,c)R. Example: “is an ancestor of” is transitive.

  17. Composite Relations • Let R:A×B, and S:B×C. Then the compositeSR of R and S is defined as: SR = {(a,c) | b:aRb bSc} • Function composition is an example: writing fT for the function-version of the relation T, we have SR(a,c)iff b:aRb bSc iff fR(a)=b and fS(b)=ciff fSfR(a)=c

  18. Composite Relations • The nth powerRn of a relation R on a set A can be defined recursively by:R0 :≡ IA; Rn+1 :≡ RnR for all n≥0. • E.g., R1 =R; R2 =RR;R3=RRR e d a c b

  19. Composite Relations • R2=RR =(a, c) (e, c) (b, d) (d, d) (c, c) e e d d a a c c b b

  20. §7.2: n-ary Relations • An n-ary relation R on sets A1,…,An,is a subsetR  A1× … × An. • The sets Ai are called the domains of R. • The degree of R is n. • A relational database is essentially just a set of relations.

  21. §7.2: n-ary Relations • An n-ary relation Ris a straightforward generalisation of a binary relation. For example: • 3-ary relations: • a is between b and c; • a gave b to c

  22. Relational Databases • A domain Ai is a primary key for the database if the relation R is functional in Ai. • R is functional in the domain Aiif it contains at most one n-tuple (…, ai ,…) for any value ai within domain Ai. • A composite key for the database is a set of domains {Ai, Aj, …} such that R contains at most 1 n-tuple (…,ai,…,aj,…) for each composite value (ai,aj,…)Ai×Aj×…

  23. Selection Operators • Let A be any n-ary domain A=A1×…×An, and let C:A→{T,F} be any condition (predicate) on elements (n-tuples) of A. • Then, the selection operatorsC is the operator that maps any (n-ary) relation R on A to the n-ary relation consisting of all n-tuples from R that satisfy C. That is, sC(R) = {aR | C(a) = T}

  24. Selection Operator Example • Suppose we have a domain A = StudentName × Standing × SocSecNos • Suppose we define a condition Upperlevel on A:UpperLevel(name,standing,ssn) :≡ [(standing = junior) (standing = senior)] • Then, sUpperLevel is the selection operator that takes any relation R on A (database of students) and produces a relation consisting of just the upper-level students (juniors and seniors).

  25. Projection Operators • Let A = A1×…×An be any n-ary domain, and let {ik}=(i1,…,im) be a sequence of indices all falling in the range 1 to n, • That is, 1 ≤ ik ≤ n for all 1 ≤ k ≤ m. • Then the projection operator on n-tuplesis defined by:

  26. Projection Example • Suppose we have a ternary (3-ary) domain Cars=Model×Year×Color. (note n=3). • Consider the index sequence {ik}= 1,3. (m=2) • Then the projection P maps each tuple (a1,a2,a3) = (model,year,color) to its image: • This operator can be usefully applied to a whole relation RCars (a database of cars) to obtain a list of the model/color combinations available. {ik}

  27. Join Operator • Puts two relations together to form a combined relation. • If the tuple (A,B) appears in R1, and the tuple (B,C) appears in R2, then the tuple (A,B,C) appears in the join J(R1,R2). • A, B, and C can also be sequences of elements.

  28. Join Example • Suppose R1 is a teaching assignment table, relating Lecturers to Courses. • Suppose R2 is a room assignment table relating Courses to Rooms,Times. • Then J(R1,R2) is like your class schedule, listing (lecturer,course,room,time). • (For precise definition, see Rosen, p.486)

More Related