1 / 27

Relations

Relations. Relations. Binary relation N-ary relations and relational database Representing relations Equivalence relations. Binary Relations. Let A , B be any two sets. A binary relation R from A to B , written (with signature) R : A ↔ B , is a subset of A × B .

candide
Télécharger la présentation

Relations

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. Relations Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen

  2. Relations • Binary relation • N-ary relations and relational database • Representing relations • Equivalence relations Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen

  3. Binary Relations • Let A, B be any two sets. • A binary relationR from A to B, written (with signature) R:A↔B, is a subset of A×B. • E.g., let <: N↔N :≡ {(n,m)| n < m} • The notation a Rb or aRb means (a,b)R. • E.g., a <b means (a,b) < • If aRb we may say “a is related to b (by relation R)”, or “a relates to b (under relation R)”. • A binary relation R corresponds to a predicate function PR:A×B→{T,F} defined over the 2 sets A,B; e.g., “eats” :≡ {(a,b)| organism a eats food b} Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen

  4. 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)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. Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen Example: < = {(a,b) | (a,b)<} = {(a,b) | ¬a<b} = ≥

  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. • The identity relation IA on a set A is the set {(a,a)|aA}. Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen

  6. Reflexivity, Symmetry & Antisymmetry • A relation R on A is reflexive if aA,aRa. • E.g., the relation ≥ :≡ {(a,b) | a≥b} is reflexive. • A binary relation R on A is symmetric, if (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 antisymmetric if (a,b)R→ (b,a)R. • < is antisymmetric, “likes” is not. Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen

  7. Transitivity • A relation R is transitive iff (for all a,b,c)(a,b)R  (b,c)R→ (a,c)R. • A relation is intransitive if it is not transitive. • Examples: “is an ancestor of” is transitive. • “likes” is intransitive. Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen

  8. 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} • Note function composition fg is an example. Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen

  9. n-ary Relations • An n-ary relation R on sets A1,…,An, written R:A1,…,An, is a subsetR  A1× … × An. • The sets Ai are called the domains of R. • The degree of R is n. Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen

  10. Relational Databases • A relational database is essentially an n-ary relation R. • A domain Ai is a primary key for the database if the relation R is functional in 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×… Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen

  11. 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 of all n-tuples from R that satisfy C. • i.e., RA,sC(R) = R{aA | sC(a) = T} Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen

  12. Selection Operator Example • Suppose we have a domain A = StudentName × Standing × SocSecNos • Suppose we define a certain condition 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 classes (juniors and seniors). Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen

  13. 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, where 1 ≤ ik ≤ n for all 1 ≤ k ≤ m. • Then the projection operator on n-tuplesis defined by: Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen

  14. 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 simply maps each tuple (a1,a2,a3) = (model,year,color) to its image: • This operator can be usefully applied to a whole relation RCars (database of cars) to obtain a list of model/color combinations available. {ik} Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen

  15. Join Operator • Puts two relations together to form a sort of 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, C can also be sequences of elements rather than single elements. Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen

  16. Join Example • Suppose R1 is a teaching assignment table, relating Professors to Courses. • Suppose R2 is a room assignment table relating Courses to Rooms, Times. • Then J(R1,R2) is like your class schedule, listing (professor, course, room, time). Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen

  17. Representing Relations • Some ways to represent n-ary relations: • With an explicit list or table of its tuples. • With a function from the domain to {T,F}. • Or with an algorithm for computing this function. • Some special ways to represent binary relations: • With a zero-one matrix. • With a directed graph. Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen

  18. Using Zero-One Matrices • To represent a relation R by a matrix MR = [mij], let mij = 1 if (ai,bj)R, else 0. • E.g., Joe likes Susan and Mary, Fred likes Mary, and Mark likes Sally. • The 0-1 matrix representationof that “Likes”relation: Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen

  19. é ù é ù é ù 1 1 0 ê ú ê ú ê ú 1 1 0 1 0 1 ê ú ê ú ê ú ê ê ê ú ú ú 1 0 ê ê ê ú ú ú 1 0 0 ë ë ë û û û Symmetric:all identicalacross diagonal Antisymmetric:all 1’s are acrossfrom 0’s Reflexive:all 1’s on diagonal Zero-One Reflexive, Symmetric • Terms: Reflexive,symmetric, and antisymmetric. • These relation characteristics are very easy to recognize by inspection of the zero-one matrix. Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen

  20. Using Directed Graphs • A directed graph or digraphG=(VG,EG) is a set VGof vertices (nodes) with a set EGVG×VG of edges (arcs, links). Visually represented using dots for nodes, and arrows for edges. Notice that a relation R:A↔B can be represented as a graph GR=(VG=AB, EG=R). Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen Edge set EG(orange arrows) GR MR Joe Susan Fred Mary Mark Sally Node set VG(black dots)

  21.          Digraph Reflexive, Symmetric • It is extremely easy to recognize the reflexive/symmetric/antisymmetric properties by graph inspection. Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen  Antisymmetric:No link isbidirectional Reflexive:Every nodehas a self-loop Symmetric:Every link isbidirectional

  22. Equivalence Relations • An equivalence relation (e.r.) on a set A is simply any binary relation on A that is reflexive, symmetric, and transitive. • E.g., = itself is an equivalence relation. • For any function f:A→B, the relation “have the same f value”, or =f :≡ {(a1,a2) | f(a1)=f(a2)} is an equivalence relation, e.g., let m=“mother of” then =m = “have the same mother” is an e.r. Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen

  23. Equivalence Relation Examples • “Strings a and b are the same length.” • “Integers a and b have the same absolute value.” • “Real numbers a and b have the same fractional part (i.e., a− b Z).” • “Integers a and b have the same residue modulo m.” (for a given m>1) Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen

  24. Equivalence Classes • Let R be any equiv. rel. on a set A. • The equivalence class of a,[a]R :≡ { b | aRb } (optional subscript R) • It is the set of all elements of A that are “equivalent” to a according to the eq.rel. R. • Each such b (including a itself) is called a representative of [a]R. • Since f(a)is a function of a, any equivalence relation R canbe defined using aRb :≡ “a and b have the same f value”, given that f. Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen

  25. Equivalence Class Examples • “Strings a and b are the same length.” • [a] = the set of all strings of the same length as a. • “Integers a and b have the same absolute value.” • [a] = the set {a, −a} • “Real numbers a and b have the same fractional part (i.e., a− b Z).” • [a] = the set {…, a−2, a−1, a, a+1, a+2, …} • “Integers a and b have the same residue modulo m.” (for a given m>1) • [a] = the set {…, a−2m, a−m, a, a+m, a+2m, …} Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen

  26. Partitions • A partition of a set A is the set of all the equivalence classes {A1, A2, … } for some e.r. on A. • The Ai’s are all disjoint and their union = A. • They “partition” the set into pieces. Within each piece, all members of the set are equivalent to each other. Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen

  27. Review: Relations • Binary relation • N-ary relations and relational database • Representing relations • Equivalence relations • Equivalent classes and partitions Based on Rosen, Discrete Mathematics & Its Applications. Prepared by (c)2001-2004, Michael P. Frank and Modified By Mingwu Chen

More Related