150 likes | 306 Views
Relationer. En relation mellem to mængder er en generaliseret funktion En funktion f: A B kan opfattes som en mængde af ordnede (a, b), hvor der til ethvert a A eksisterer netop ét b B, så f(a) = b. Dvs. f er en delmængde af A B, som opfylder ovenstående begrænsning
E N D
Relationer En relation mellem to mængder er en generaliseret funktion En funktion f: A B kan opfattes som en mængde af ordnede (a, b), hvor der til ethvert a A eksisterer netop ét b B, så f(a) = b. Dvs. f er en delmængde af A B, som opfylder ovenstående begrænsning Denne definition kan generaliseres ved at fjerne begrænsningen og lade et element i A være relateret til 0 eller flere elementer i B og omvendt Relationer
Definition af relationer • En relation R mellem mængderne A og B er en delmængde af A B: R A B = {(a, b) A B a A b B} • Ofte kikker vi på relationer, hvor A = B og så taler vi om en relation på A Relationer
Eksempler • a = b, hvor a A b A: • ’=’ er en relation på A og vi kan skrive • ”(a, b) =” i stedet for ”a = b” • Generelt kan vi skrive • aRb i stedet for (a, b) R for en relation R på A. Relationer
Relationer og grafer • En relation kan repræsenteres med en orienteret graf (digraph: directed graph). • Fx: A = {1, 2, 3, 4} R = {(1,1),(1,2),(2,1),(2,2), (2,3),(2,4),(3,4),(4,1)} Relationer
Ækvivalensrelationer • En relation R på en mængde A er en ækvivalensrelation, hvis den er: • Refleksiv: a A (aRa) • Symmetrisk: a, b A (aRb bRa) • Transitiv: a, b, c A ((aRb bRc) aRc) Relationer
Øvelse (5 min.) Undersøg, hvilke af følgende relationer på de naturlige tal N: • = b) > c) Der er • Refleksive • Symmetriske • Transitive Relationer
Øvelse • Og den her: • Refleksiv? • Symmetrisk? • Transitiv? A = {1, 2, 3, 4} R = {(1,1),(1,2),(2,1),(2,2), (2,3),(2,4),(3,4),(4,1)} Relationer
Eksempel: kongruensrelation på de naturlige tal Læses: Kongruent modulus 4 • Lad relationen ’4’ være defineret ved:a 4 b, hvis a-b er et multiplum af 4, hvor a{0, 1, 2, 3}eller præcist: (a 4 b) def (k Z: (a - b)= k4) • Fx er {0, 4, 8, 12, 16, …} kongruente (modulus 4) • Er 4 en ækvivalensrelation? • Refleksiv? • Symmetrisk? • Transitiv? Relationer
Klassedelinger (eng.: partition) • En klassedeling S1, S2,…, Sn af en mængde A er en samling af parvis disjunkte delmængder af A, hvis foreningsmængde er lig med A: A= (i| 1in: Si) hvor Si A og Si Sj = Ø for alle 1 i, j n Relationer
Klassedelinger og ækvivalensrelationer • En klassedeling af en mængde A definerer en ækvivalensrelation E på A, idet vi kan definere E: aEb ”a og b tilhører samme klasse” Bevis: Først vises, at E er en ækvivalensrelation: 1) Refleksive? 2) Symmetrisk? 3) Transitiv?(Tænk på klasserne som ”spande”) Relationer
Bevis – fortsatNu skal vi vise, at en ækvivalensrelation definerer en klassedeling: • Lad [a]E betegne {x A xEa}, vi kalder [a]E ækvivalensklassen indeholdende a • Vi skal nu vise, at mængderne [a]E for a A er en klassedeling, dvs. • at foreningsmængden af alle ækvivalensklasserne er lig med A • at ækvivalensklasserne er parvis disjunkte Ad 1: Vi skal vise, at ethvert element i A tilhører én af ækvivalensklasserne. Følger trivielt af definitionen af [a]E Ad 2: Øvelse (se Martin, s. 17) Relationer
Relationer mellem n>2 mængder • En relation kan også defineres mellem mere end én eller to mængder:Givet mængder A1, A2, …, An. En relation mellem disse er da defineret som en delmængde af det kartetiske produkt mellem disse: R A1 A2 … An eller R {(a1, a2, …,an) a1 A1 a2 A2 … an An} • En relation mellem n mængder er en mængde af n-tupler (et ordnet par er en 2-tuple, så en n-tuple er et ordnet ”par” med n elementer) Relationer
Databaser som relationer • En databasetabel kan ses, som en relation mellem de domæner, som tabellen er defineret over: • Hermed kan en database opfattes som en mængde af relationer, hvor en relation er en mængde af tupler. Relationer
Egenskaber ved relationer: Følger af, at en relation er en mængde i matematisk forstand: • der ingen tuple, som optræder mere end en gang ( => der eksisterer altid en primærnøgle) • tuplerne er uordnede (vertikalt) • attributterne er uordnede (horisontalt) BEMÆRK FORSKELLE TIL TABELLER Afhænger af den præcise definition af mængdeprodukt Relationer
Fordele • Relationsdatabaser er baseret på en solid matematisk teori, hvilket muliggør, at man ræsonnere formelt om relationsdatabaser: • Forespørgselssprog (relationsalgebra/prædikatslogik). • Query-optimering (vise ækvivalens mellem forskellige forespørgsler). • Normalisering (redundans undgås, og integritet kan sikres). • Automatiske værktøjer. • Mmm. Relationer