280 likes | 298 Views
Learn about binary relations, complements, inverse relations, reflexivity, symmetry, antisymmetry, transitivity, and composite relations in discrete mathematics and relational databases.
E N D
§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
§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}
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} = ≥
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.)
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.
Reflexivity and relatives • A relation R on A is reflexiveiff aA(aRa). • E.g., the relation ≥ :≡ {(a,b) | a≥b} is reflexive. • R is irreflexive iff aA(aRa) • Note “irreflexive” does NOT mean “notreflexive”, which is just aA(aRa).
Reflexivity and relatives • Theorem: A relation R is irreflexive iff its complementary relation R is reflexive. • Example: < is irreflexive; ≥ is reflexive. • Proof: trivial
Can you think of • Reflexive relations • Irreflexive relations Involving numbers, propositions or sets?
Some examples • Reflexive: =, `have same cardinality’, <=, >=, , , etc. • Irreflexive: <, >, `have different cardinality’,
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.
Some direct consequences Theorems: • R is symmetric iff R = R−1, • R is asymmetric iff RR−1 is empty.
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
Symmetry & relatives 2. R is asymmetric iff RR−1 is empty.(Straightforward application of the definitions of asymmetry and R−1)
Antisymmetry • Consider the relation xy • It is not symmetric. (For instance, 56 but not 65) • 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:
Antisymmetry • A binary relation R on A is antisymmetric iff a,b((a,b)R (b,a)R a=b). • Examples: , ,
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.
Composite Relations • Let R:A×B, and S:B×C. Then the compositeSR of R and S is defined as: SR = {(a,c) | b:aRb bSc} • Function composition is an example: writing fT for the function-version of the relation T, we have SR(a,c)iff b:aRb bSc iff fR(a)=b and fS(b)=ciff fSfR(a)=c
Composite Relations • The nth powerRn of a relation R on a set A can be defined recursively by:R0 :≡ IA; Rn+1 :≡ RnR for all n≥0. • E.g., R1 =R; R2 =RR;R3=RRR e d a c b
Composite Relations • R2=RR =(a, c) (e, c) (b, d) (d, d) (c, c) e e d d a a c c b b
§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. • R is functional in the domain Aiif it contains at most one n-tuple (…, ai ,…) for any value ai within domain Ai.
§7.2: n-ary Relations • An n-ary relation R on sets A1,…,An,is a subsetR A1× … × An. • This is a straightforward generalisation of a binary relation. For example: • 3-ary relations: • a is between b and c; • a gave b to c
Relational Databases • A relational database is essentially just a set of relations. • 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×…
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) = {aR | C(a) = T}
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).
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:
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 RCars (a database of cars) to obtain a list of the model/color combinations available. {ik}
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.
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)