Vorlesung Datenbanksysteme Univ.-Prof. Dr. Günther Specht. Universität Innsbruck Institut für Informatik Datenbanken und Informationssysteme (DBIS)

Größe: px
Ab Seite anzeigen:

Download "Vorlesung Datenbanksysteme Univ.-Prof. Dr. Günther Specht. Universität Innsbruck Institut für Informatik Datenbanken und Informationssysteme (DBIS)"

Transkript

1 Grundlagen relationaler Datenbanksysteme Kapitel III Vorlesung Datenbanksysteme Univ.-Prof. Dr. Günther Specht Universität Innsbruck Institut für Informatik Datenbanken und Informationssysteme (DBIS) Vorlesungsinhalt 3. Grundlagen relationaler Datenbanksysteme Motivation Relationenmodell Sprachen des Basismodells Relationen-Algebra Relationen-Kalkül 2 G. Specht: Datenbanksysteme 3-1

2 Motivation 3 Motivation Ende der 60er Jahre Grundlagenforschung am IBM-Forschungslabor San Jose, California, mit dem Ziel, die Erstellung von Datenbankanwendungen einfacher zu machen erste Veröffentlichung von E.F. Codd zum Relationalen Datenmodell In der Folge verschiedene Prototyp-Entwicklungen, am bekanntesten wurden System R, IBM Ingres, University of California, Berkeley Heute wichtigste kommerziell verfügbare Datenbanktechnologie Inzwischen sind viele relationale DBS auf dem Markt DB2 (IBM) Oracle (Oracle) SQL-Server (Microsoft) Sybase (Sybase) Informix (IBM) etc. 4 G. Specht: Datenbanksysteme 3-2

3 Relationenmodell 5 Motivation Das haben wir: E/R-Modell Bsp.: KursDB 6 G. Specht: Datenbanksysteme 3-3

4 Motivation Da wollen wir hin: Bsp. Relationen zur KursDB Kurs Kursleiter Vorauss Fuehrt_durch KursNr Titel PersNr Name Gehalt VorNr KursNr AngNr KursNr PersNr G08 Grundlagen I Meier, I G08 P13 1 G G10 Grundlagen II Schulze, H G10 P13 2 G P13 C-Programmierung Huber, L G08 I09 1 G I09 Datenbanken Müller, K G10 I09 2 G P13 I09 1 P Teilnehmer TnNr Name Ort 143 Schmidt, M. Bremen 145 Huber, Chr. Augsburg Nimmt_teil AngNr KursNr TnNr 2 G P P I I I Abele, I. Senden 1 G Angebot 149 Kircher, B. Bochum 1 P AngNr KursNr Datum Ort 155 Meier, W. Stuttgart 1 I G München 171 Möller, H. Innsbruck 2 P G Bremen 173 Schulze, B. Stuttgart 1 I G München 177 Mons, F. Essen 1 I G Hamburg 185 Meier, K. Heidelberg 1 I P Innsbruck 187 Karstens, L. Hamburg 2 P P Essen 194 Gerstner, M. Innsbruck 1 I I Stuttgart 2 I P I Hamburg 3 I München 7 Basiskonzepte Darstellung der Miniwelt in Tabellenform (Datenbank = Menge von Relationen/Tabellen) Ansatz Einzige Datenstruktur: Tabelle Relation Saubere mathematische Grundlage: Mengentheorie (vgl. math. Relation) Einfache Operationen, mengenorientiert Abgeschlossenheit: Operationen überführen Tabellen in Tabellen Entwurfstheorie (was sind gute Tabellen?) Relation = Menge von Tupeln (mit atomaren Komponenten) 8 G. Specht: Datenbanksysteme 3-4

5 Eigenschaften Alle Informationen werden als Relationen modelliert Relation = zweidimensionale Tabelle von Werten = Menge von Tupeln (keine Duplikate, keine Reihenfolge!) Jede Zeile - genannt Tupel - entspricht einem Entity oder/und einer Beziehung Die Spalten der Tabelle (Relation) sind benannt und werden als die Attribute bezeichnet Die Reihenfolge der Spalten ist nicht relevant, da sie über ihren Namen identifiziert werden Jedem Attribut ist ein Wertebereich (sog. Domain) zugeordnet. Ein Wertebereich ist eine Menge atomarer Werte, welche - aus Sicht des DBMS - elementar sind, d.h. keine weitere Substruktur mehr aufweisen. Beziehungen werden ausschließlich über Attributwerte realisiert Bem: Wie wir später noch sehen werden, werden die letzten beiden Forderungen im Kontext der objektorientierten Erweiterungen von SQL wieder aufgeweicht bzw. fallengelassen. 9 Mathematische Notation für alle Element aus kein Element aus Subset, Teilmenge, kann auch ganze Menge sein echtes Subset, Teilmenge Vereinigung daraus folgt es gibt Delta Äquivalent (Menge) UND ODER NICHT Äquivalent (Logik) 10 G. Specht: Datenbanksysteme 3-5

6 Schreibweisen und Definitionen Relation R mit Attributen A 1 bis A 5 : R ( A 1, A 2, A 3, A 4, A 5 ) Relation mit Attributen A bis D oft auch: ABCD Domain dom(a i ) = D i Domäne (Wertebereich) von A i Schema sch(r) = {A 1,..., A n } Schema einer Relation Wert val(r) dom(a 1 ) x... x dom(a n ) Wert einer Relation Tupel t = <A 1 :v 1,..., A n :v n > mit v i D i, meist mit fester Reihenfolge der Attribute: t = (v 1,..., v n ), t val(r) 11 Schreibweisen und Definitionen Tupelkomponenten/Attributwerte: t (A i ) = v i oder auch t[a i ] oder t.a i, auch mit A sch(r) : t(a) ( Set of Mappings Definition von Relationen: Relation ist Menge von Abbildungen t j : sch(r) D i, so dass t j (A i ) D i ) K sch (R) heißt Schlüsselkandidat oder auch nur kurz Schlüssel, wenn t, t' : t(k) = t'(k) t = t' und K minimal Primärschlüssel : ein ausgewählter Schlüsselkandidat [1] Fremdschlüssel F in Relation R : F sch(s) und F sch(r) für eine Relation S, in der F Primärschlüssel ist A sch(r) ist Schlüsselattribut, wenn es Teil eines Schlüsselkandidaten ist [1] Eine Relation kann also mehrere Attribute oder Attributkombinationen besitzen, die Schlüsseleigenschaft haben (= Schlüssel(kandidaten)), wie z. B. Personalnummer oder Sozialversicherungsnummer oder (Vorname, Nachname, Straße, Plz, Ort). Einer davon wird dann als bevorzugter Schlüssel (= Primärschlüssel) ausgewählt. 12 G. Specht: Datenbanksysteme 3-6

7 Modellinhärente Integritätsbedingungen des Relationenbasismodells 1. Entity Integrity Primärschlüsselattribute dürfen nie undefiniert (NULL) sein 2. Referential Integrity Fremdschlüssel sind entweder undefiniert (NULL) oder es gibt ein entsprechendes Tupel mit diesem Primärschlüssel in der anderen Relation. 3. Domains Attribute dürfen nur Werte aus der jeweiligen Domain annehmen (oder undefiniert ( NULL )) sein. Nullwerte Nullwerte sind spezielle logische Werte und entsprechen nicht dem Leerzeichen oder dem numerischen Wert Null. Mittels Nullwerten lässt sich eine dreiwertige Logik realisieren: Prädikat = {true false unknown} Hinweise In den folgenden Relationen werden Nullwerte durch "--" dargestellt, im DBS muss stattdessen NULL eingeben werden. Im nächsten Kapitel werden wir noch ausführlicher auf Nullwerte eingehen. 13 Umsetzregeln: E/R-Modell ins Relationenmodell 1. Abbildung von Entity-Typen auf Relationen: Entity-Typ E mit Attributen A i aus Domäne D i (1 i k) wird abgebildet auf k-stellige Relation E(A 1 :D 1, A 2 :D 2,..., A k :D k ) Falls außerdem "E isa F" besteht oder E ein schwacher Entity-Typ, existenz-abhängig von F ist, werden alle Schlüsselattribute von F hinzugenommen. G. Specht: Datenbanksysteme 3-7

8 Umsetzregeln: E/R-Modell ins Relationenmodell 2. Abbildung von Relationship-Typen auf Relationen: 2.1. n:m-beziehungen und alle 3er, 4er,... etc. Beziehungen: Relationship R zwischen Entity-Typen E 1... E n wird abgebildet auf Relation R, deren Attribute aus den Primärschlüsseln der E i bestehen. Gleiche Attributnamen werden durch Umbenennung in R eindeutig gemacht. Falls R eigene Attribute hat, werden diese hinzugenommen :n Beziehung zwischen nur 2 Entitytypen E und F (oft)): Keine Relation R aus Relationship, statt dessen Primärschlüssel von E in Relation F als Fremdschlüssel aufnehmen. Falls Relationship R eigene Attribute hat, müssen diese auch in F aufgenommen werden :1 Beziehung zwischen nur 2 Entitytypen E und F: Keine Relation R aus Relationship, statt dessen Primärschlüssel von E in Relation F oder Primärschlüssel von F in Relation E als Fremdschlüssel aufnehmen isa Beziehungen und Existenzabhängigkeiten "E isa F" und Existenabhängigkeiten werden nicht in Relationen abgebildet, da sonst redundante Tupel der Art isa (133, 133) entstehen. Beispiel (selbst probieren): Name Adresse Vegetarier? Passagier (1,*) hat gebucht Pass# Preis Sitz# Passagier n hat gebucht m Flug (0,*) (1,1) wird ausgeführt Datum Flug# Flugzeug# vgl: n:m Darstellung: Flug n wird ausgeführt 1 (0,*) Hersteller Flugzeug Flugzeug Typ 16 G. Specht: Datenbanksysteme 3-8

9 Bsp.: KursDB 17 Bsp.: Relationen zur KursDB Kurs Kursleiter Vorauss Fuehrt_durch KursNr Titel PersNr Name Gehalt VorNr KursNr AngNr KursNr PersNr G08 Grundlagen I Meier, I G08 P13 1 G G10 Grundlagen II Schulze, H G10 P13 2 G P13 C-Programmierung Huber, L G08 I09 1 G I09 Datenbanken Müller, K G10 I09 2 G P13 I09 1 P Teilnehmer TnNr Name Ort 143 Schmidt, M. Bremen 145 Huber, Chr. Augsburg Nimmt_teil AngNr KursNr TnNr 2 G P P I I I Abele, I. Senden 1 G Angebot 149 Kircher, B. Bochum 1 P AngNr KursNr Datum Ort 155 Meier, W. Stuttgart 1 I G München 171 Möller, H. Innsbruck 2 P G Bremen 173 Schulze, B. Stuttgart 1 I G München 177 Mons, F. Essen 1 I G Hamburg 185 Meier, K. Heidelberg 1 I P Innsbruck 187 Karstens, L. Hamburg 2 P P Essen 194 Gerstner, M. Innsbruck 1 I I Stuttgart 2 I P I Hamburg 3 I München 18 G. Specht: Datenbanksysteme 3-9

10 Sprachen des Basismodells 19 Sprachen des Basismodells Zwei formale (mathematische) Abfragesprachen als Basis für reale Sprachen (z.b.: SQL): Relationenalgebra: operational (wird intern verwendet für die Optimierung und Ausführung) Relationenkalkül: deklarativ (man beschreibt was man haben möchte, nicht wie) 20 G. Specht: Datenbanksysteme 3-10

11 Sprachen des Basismodells cont. Eigenschaften Mengenorientiert (im Gegensatz zu tupelorientiert, navigierend) abgeschlossen d.h. Operationen liefern immer wieder Relationen orthogonal d.h. Operationen lassen sich beliebig kombinieren Mathematische Fundierung: Relationen-Algebra (5 Basisoperatoren: Vereinigung, Differenz, Produkt, Selektion, Projektion) Relationen-Kalkül (vgl. Prädikatenkalkül 1. Ordnung) 21 Relationen-Algebra 22 G. Specht: Datenbanksysteme 3-11

12 Die relationale Algebra: Operatoren σ Selektion π Projektion ρ Umbenennung x Kreuzprodukt A Join (Verbund) Vereinigung Durchschnitt Mengendifferenz Division F Semi-Join (linker) E Semi-Join (rechter) C linker äußerer Join D rechter äußerer Join Charakteristisch Konstruktion der Ergebnis-Relation durch ggf. geschachtelte Anwendung von Algebra-Operationen auf die Ausgangs-Relation(en). 23 Selektion σ F R steht für eine Selektion (Tupelauswahl) angewandt auf Relation R unter Anwendung der Selektionsformel F Anfrage σ TnNr > 155 Teilnehmer TnNr Name Ort 171 Möller, H. Innsbruck 173 Schulze, B. Stuttgart 177 Mons, F. Essen 185 Meier, K. Heidelberg 187 Karstens, L. Hamburg 194 Gerstner, M. Innsbruck Teilnehmer TnNr Name Ort 143 Schmidt, M. Bremen 145 Huber, Chr. Augsburg 146 Abele, I. Senden 149 Kircher, B. Bochum 155 Meier, W. Stuttgart 171 Möller, H. Innsbruck 173 Schulze, B. Stuttgart 177 Mons, F. Essen 185 Meier, K. Heidelberg 187 Karstens, L. Hamburg 194 Gerstner, M. Innsbruck 24 G. Specht: Datenbanksysteme 3-12

13 Selektion cont. Selektionsformel F Vergleiche (<, >, >=, >=, <>) sowie logische Verknüpfungen (,, ) davon über Attributwerte und Konstanten Anfrage: σ (TnNr <= 146) (Ort = Innsbruck ) Teilnehmer TnNr Name Ort 143 Schmidt, M. Bremen 145 Huber, Chr. Augsburg 146 Abele, I. Senden 171 Möller, H. Innsbruck 194 Gerstner, M. Innsbruck Ergebnis: leere Rel. Anfrage: Ergebnis: σ (TnNr < 180) (Ort = Innsbruck') Teilnehmer TnNr Name Ort 171 Möller, H. Innsbruck Formal: sch(σ F R) = sch(r) val(σ F R) = {t val(r) F(t)} 25 Projektion π Attr R Steht für eine Projektion angewandt auf Relation R, wobei Attr die Teilmenge der Attribute ist, auf die R abgebildet (projiziert) wird. Anfrage: π {TnNr,Name} Teilnehmer Teilnehmer TnNr Name Ort 143 Schmidt, M. Bremen 145 Huber, Chr. Augsburg 146 Abele, I. Senden 149 Kircher, B. Bochum 155 Meier, W. Stuttgart 171 Möller, H. Innsbruck 173 Schulze, B. Stuttgart 187 Karstens, L. Hamburg 194 Gerstner, M. Innsbruck Formal: sch(π L R) = L, wobei L sch(r) TnNr Name 143 Schmidt, M. 145 Huber, Chr. 146 Abele, I. 149 Kircher, B. 155 Meier, W. 171 Möller, H. 173 Schulze, B. 187 Karstens, L. 194 Gerstner, M. Anfrage: π {Ort} Teilnehmer Ort Bremen Augsburg Senden Bochum Stuttgart Innsbruck Hamburg val(π L R) = {t(l): t' val(r) t'(l) = t} 26 G. Specht: Datenbanksysteme 3-13

14 Umbenennung a) Explizite Umbenennung: Operator ρ (griechisch roh, von rename) a1) Relationen-Umbenennung: ρ NeuerRelName Rel Bsp: ρ k1 Kursleiter a2) Attribut-Umbenennung ρ NeuerAttrName <- AlterAttrN ame Rel Benennt nur den Spaltennamen um (zur besseren Ausgabe) Bsp: ρ Voraussetzung_fuer <- KursNr Vorauss b) Implizite Umbenennung: Attribut-Umbenennung Es ist sinnvoll, auch den Projektions-Operator gleich mit der Möglichkeit zur Attribut-Umbenennung zu versehen: π NeuerAttrName : AlterAttrName Rel 27 Zusammengesetzte Anfragen Gib Teilnehmer-Nummer und -Name aller Teilnehmer aus Innsbruck aus Anfrage π {TnNr,Name} (σ Ort = Innsbruck' Teilnehmer) Die logische Abarbeitungsreihenfolge 1. Schritt Berechnung des σ-ausdrucks Rel 1 2. Schritt Anwendung des π-operators auf Rel 1 Erg Die alternative Formulierung σ Ort = Innsbruck' (π {TnNr,Name} Teilnehmer) wäre nicht korrekt. Warum? (Selektion enthält nur Ort, keine TnNr bzw. Namen mehr) 28 G. Specht: Datenbanksysteme 3-14

15 Weitere Operatoren R S steht für die Vereinigung (union) der Relationen R und S, wobei R und S strukturgleich sein müssen, d.h. es muss gelten: sch(r) = sch(s). Kurzschreibweise i=1,2,..k R i R 1 R 2... R k R - S R x S steht für die Differenz der Relationen R und S, d.h. alle Tupel von R, die auch in S vorkommen, werden aus R entfernt. (Auch hier gilt sch(r) = sch(s)). steht für das kartesische Produkt der Relationen R und S. A R B a1 b1 a2 b2 S C D c1 d1 c2 d2 c3 d3 Anmerkung R S R - (R - S) ableitbar, wie üblich. Formal sch(r S) = sch(r - (R - S)) = sch(r) val(r S) = val(r) val(s), val(r - S) = val(r) - val(s) sch(r x S) = sch(r).. sch(s) disjunktive Vereinigung val(r x S) = {t t(sch(r)) val(r) t(sch(s)) val(s)} R xs A B C D a1 b1 c1 d1 a1 b1 c2 d2 a1 b1 c3 d3 a2 b2 c1 d1 a2 b2 c2 d2 a2 b2 c3 d3 29 Verknüpfung von Tabellen Kombination von x und σ, gleichzeitig Beispiel für die Verknüpfung von Tabellen Anfrage Welche Kurse (Ausgabe: Kurs-Nummer und -Titel) sind für welche anderen Kurse (Ausgabe: Kurs-Nummer) Voraussetzung? Ausgangsrelationen Anfrage in der Relationalen Algebra Kurs Vorauss KursNr Titel VorNr KursNr G08 Grundlagen I G08 P13 G10 Grundlagen II G10 P13 P13 C-Programmierung G08 I09 I09 Datenbanken G10 I09 P13 I09 π VorNr,Titel,VorausFür:Vorauss.KursNr (σ VorNr = Kurs.KursNr (Vorauss x Kurs)) 30 G. Specht: Datenbanksysteme 3-15

16 Verknüpfung von Tabellen cont. Abarbeitungsreihenfolge 1. Schritt Berechnung Vorauss x Kurs Rel 1 2. Schritt Anwendung von σ VorNr=Kurs.KursNr auf Rel 1 VorNr Vorauss.KursNr Kurs.KursNr Titel G08 P13 G08 Grundlagen I G10 P13 G10 Grundlagen II G08 I09 G08 Grundlagen I G10 I09 G10 Grundlagen I P13 I09 P13 C-Programmierung VorNr Vorauss.KursNr Kurs.KursNr Titel G08 P13 G08 Grundlagen I G08 P13 G10 Grundlagen II G08 P13 I09 Datenbanken G10 P13 G08 Grundlagen I G10 P13 I09 Datenbanken P13 I09 I09 Datenbanken VorNr Titel Vorauss_für G08 Grundlagen I P P13 C-Programmierung I09 Mögliche Umbenennung von Attributen und Änderung der Attribut-Reihenfolge mittels (erweitertem) π-operator π {VorNr, Titel, Vorauss_für: Vorauss.KursNr} Erg-Rel bzw. π {VorNr, Titel, Vorauss_für: Vorauss.KursNr} σ VorNr = Kurs.KursNr (Vorauss x Kurs) 31 Join (Verbund) Die Verknüpfung von Tabellen aufgrund von Attributwert-Beziehungen ist eine häufige Operation im relationalen Datenmodell, sie wird daher durch spezielle Join-Operation explizit unterstützt. R A F S steht für den Join (Verbund) der Relationen R und S unter Verwendung der Verbundbedingung F. R A F S ist semantisch äquivalent zu σ F (R x S) Beispiel (siehe Beispiel zuvor) Vorauss A VorNr = KursNr Kurs entspricht: σ VorNr = Kurs.KursNr (Vorauss x Kurs) A-Ausführungslogik Nested Loops Algorithmus for each Tupel x in Vorauss do for each Tupel y in Kurs do if x.vornr = y.kursnr then erzeuge Resultat-Tupel x y und füge in Ergebnisrelation ein fi done done 32 G. Specht: Datenbanksysteme 3-16

17 Join cont. Beispiel: Gib KursNr und Titel aller Kurse sowie den Namen des Kursleiters aus, die von dem Kursleiter mit der Personalnummer durchgeführt werden KursNr G08 G10 P13 I09 Mögliche Anfrageformulierung π {Kurs.KursNr, Titel, Name} (σ PersNr = (Kurs A (Kursleiter A Fuehrt_durch))) Anmerkung Kurs Titel Grundlagen I Grundlagen II C-Programmierung Datenbanken Kurs.KursNr = Fuehrt_durch.KursNr Kursleiter PersNr Name Gehalt Meier, I Schulze, H Huber, L Müller, K Kursleiter.PersNr = Fuehrt_durch.PersNr Fuehrt_durch AngNr KursNr PersNr 1 G G G G P P I I I Die Join-Bedingung kann auch mittels <, >, >=, >= sowie (,, ) formuliert werden. 33 Join cont. Equi-Join, Theta-Join Joins über = -Bedingung heißen: Equijoin Joins über <, >,, etc heißen: θ-join (Theta-Join) Natural-Join 1. Joins mit "="-Bedingung sind am häufigsten. Gleiche Spalten werden nur einmal benötigt. Hierauf abgestellte Join-Variante: Natural Join R A S steht für natürlichen Verbund (natural join) der Relationen R und S. Wirkungsweise Alle in R und S auftretenden Attribute gleichen Namens werden mittels "="-Bedingung verknüpft und treten in der Ergebnisrelation nur einmal auf! (implizite Projektion!) Haben R und S keine gemeinsamen Attribute, so hat R A S die gleiche Wirkung wie R x S. 34 G. Specht: Datenbanksysteme 3-17

18 Join cont. Beispiel: Die vorige Anfrage mittels natürlichem Verbund formuliert π {KursNr, Titel} Kurs A ((σ PersNr = Kursleiter) A Fuehrt_durch) Anmerkung Unterschied zum Equi-Join Attribute gleichen Namens treten in der Ergebnis-Relation (sowie in allen Zwischenergebnis-Relationen) natürlich jeweils nur einmal auf. Also: sch(r A S) = sch(r) sch(s) 35 Beispiele zur Relationenalgebra Gegeben R A B C 1 a d 3 c c 4 d f 5 d b 6 e f S B D a 100 b 300 c 400 d 200 e 150 T B D a 100 d 200 f 400 g 120 Anfragen und Ergebnisse σd<300 S B D a 100 d 200 e 150 π{a,c} R A C 1 d 3 c 4 f 5 b 6 f π{c}r C d c f b S T B D a 100 b 300 c 400 d 200 e 150 f 400 g 120 S - T B D b 300 c 400 e 150 T - S B D f 400 g 120 R A R.B=S.B S A R.B C S.B D 1 a d a c c c d f d d b d e f e G. Specht: Datenbanksysteme 3-18

19 Beispiele zur Relationenalgebra cont. R AT S AT R A A*100=D S R T A B C D B D A R.B C S.B D A R.B C T.B D 1 a d 100 a a d a a d a d f 200 d d f c a d d d b c c b a d f a d g c c a c c d c c f c c g d f a d f d d f f d f g d b a d b d d b f d b g e f a e f d e f f e f g Äquivalenzumformungen Seien R, S und T drei jeweils geeignet definierte Relationen. Klassifikation algebraischer Umformungen Kommutativität von unären Operationen (σ, π): U 1 U 2 R U 2 U 1 R Kommutativität von binären Operationen (,,, A): R B S S B R Assoziativität von binären Operationen (,,, A): R B (S B T) (R B S) B T Idempotenz (bzw. Zusammenfassung) von unären Operationen (σ, π): U R U U R Distributivität von unären Operationen in bezug auf binäre Operationen: U (R B S) (U R) B (U S) Hinweis Es gilt: Relations-Typ R Relations-Typ S wenn sch(r) = sch(s) Die Reihenfolge der Attribute ist hierbei ohne Bedeutung, d.h. es gilt: R(A,B,C) R(A,C,B) R(C,A,B)... R(C,B,A). 38 G. Specht: Datenbanksysteme 3-19

20 Äquivalenzumformungen von Relationalen-Algebra-Ausdrücken 39 Äquivalenzumformungen von Relationalen-Algebra-Ausdrücken cont. 40 G. Specht: Datenbanksysteme 3-20

21 Äquivalenzumformungen von Relationialen-Algebra-Ausdrücken cont. 41 Erläuterungen zu den Äquivalenzumformungen Gegeben seien die Relationen R(A,B,C), R1(A,B,C), R2(A,B,C), S(D,E) und T(F,G,H) wobei die Wertebereiche der Attribute A bis H jeweils Teilmengen der natürlichen Zahlen sein sollen. Zu 1: σ A<10 C>8 (σ B>8 R) kann in σ B>8 (σ A<10 C>8 R) transformiert werden und umgekehrt. Zu 2: σ B<200 (π {A,B} R) kann in π {A,B} (σ B<200 R) transformiert werden. - Geht man von der rechten Seite aus, d.h. von π {A,B} (σ B<200 R), so kann die Transformation nur dann durchgeführt werden, wenn sich die Selektions-Bedingung lediglich auf Attribute bezieht, die auch in der Projektion spezifiert sind (siehe NB zu Regel 2). Im vorliegenden Fall entspricht Attr(F) der Attributmenge {B} und A entspricht der Attributmenge {A,B}. Die Nebenbedingung ist also erfüllt. D.h. die Transformation in die " "-Richtung ist ebenfalls möglich. Zu 8: Gegeben sei (R A A=D S) A E=F T. Für die " "-Transformation muss folgende Nebenbedingung erfüllt sein: {E,F} ({D,E} {F,G,H}). Dies ist hier der Fall. Der Ausdruck kann somit in R A A=D (S A E=F T) transformiert werden. - Bei (R A A=D S) A A=F T ginge dies z.b. hingegen nicht. Zu 9: π {A} R kann in π {A} π {A,B} R transformiert werden und umgekehrt. Zu 10: σ A<100 B>30 R kann zerlegt werden in σ A<100 σ B>30 R. Umgekehrt kann man σ A<100 σ B>30 R durch Zusammenfassen der Selektionsbedingungen (UND-Verknüpfung) in σ A<100 B>30 R transformieren. 42 G. Specht: Datenbanksysteme 3-21

22 Erläuterungen zu den Äquivalenzumformungen cont. Zu 11: σ B<300 (R1 R2) kann in (σ B<300 R1) (σ B<300 R2) transformiert werden und umgekehrt. Anmerkung: Hier ist keine Nebenbedingung erforderlich, da die Vereinigung nur zwischen Relationen gleichen Typs definiert ist. Zu 12: σ B<300 (R1 R2) kann in (σ B<300 R1) (σ B<300 R2) transformiert werden und umgekehrt. (σ bei R2 kann auch entfallen!) Zu 13: Gegeben sei σ A<300 D>50 (R S). Dieser Ausdruck kann in zwei Selektion überführt werden, indem man die Selektions-Bedingung geeignet aufspaltet. In diesem Fall wäre etwa (σ A<300 R) (σ D>50 S) eine mögliche Aufspaltung. Zu 14: Da ein Verbund R A F S äquivalent zu σ F (R S) ist, gilt das im vorangegangenen Beispiel Gesagte analog übertragen auch hier. Zu 15: Ein Ausdruck der Art π {A,B} {R1 R2) kann stets ausmultipliziert werden zu (π {A,B} R1) (π {A,B} R2). Zu 16: Die Nebenbedingung für die " "-Richtung besagt, dass nach dem Ausmultiplizieren die Projektions-Attribute so gewählt werden müssen, dass sie für die jeweilige Relation auch definiert sind. Im Falle des Ausdruckes π {A,R.B,D} (R S) wäre z.b. (π {A,R.B} R) (π {D} S) eine korrekte Transformation, (π {A} R) (π {R.B, D} S) hingegen nicht. 43 Erläuterungen zu den Äquivalenzumformungen cont. Zu 17: Die Nebenbedingung für die " "-Richtung kann wie folgt interpretiert werden: Sind die in der Verbund-Bedingung angegebenen Attribute eine Teilmenge der in der Projektion angegebenen Attribute (d.h. gilt Attr(F) A), dann kann der Ausdruck ausmultipliziert werden, wobei wieder zu beachten ist, dass die in der Projektion auf der linken Seite angegebenen Attribute wieder korrekt auf ihre Relationen verteilt werden. Der Ausdruck π{a,b,e}(r A B<E S) kann z.b. transformiert werden in (π {A,B} R) B<E (π {E} S). π {A,B,D} (R A B<E S) hingegen wäre nicht transformierbar, da {B,E} {A,B,D}. Die umgekehrte Richtung (" ") ist trivial. Hier sind lediglich die Projektions-Attribute zusammenzufassen. Wichtiger "Spezialfall": π A1 A2 R? (π A1 R) A (π A2 R) " "-Richtung gilt i.a. nicht!! Voraussetzung, damit es doch gilt: lossless join siehe Kapitel 4 Zu 23: R σ B<200 R kann in σ B 200 R transformiert werden und umgekehrt. Zu 26: (σ A<10 R) (σ B>100 R) kann in σ A<10 B 100 R transformiert werden und umgekehrt. 44 G. Specht: Datenbanksysteme 3-22

23 Abgeleitete Operatoren der Relationenalgebra R S Durchschnitt S R wie üblich: R S R - (R - S) A A B a1 a1 b1 R S Division a2 a2 b1 Sei D = R S, dann muss gelten: a3 a3 b1 sch(s) sch(r) a4 b1 sch(d) = sch(r) - sch(s) a1 b2 t D s val(s): < t,s > val(r) a3 b2 a2 b3 Anwendungsbeispiele Welchen Lieferanten liefern alle Teile? Welche Mitarbeiter arbeiten an allen Projekten mit? Welche Kursleiter können alle Kurse halten? R S B b1 b4 a3 b3 a4 b3 a1 b4 a2 b4 a3 b4 Berechnung von D äquivalent zu (1) Temp1 π Attr(R -S) R (2) Temp2 π Attr(R -S) (( S Temp1 ) - R) (3) D Temp1 - Temp2 45 Abgeleitete Operatoren der Relationenalgebra cont. R C F S Left Outer Join (Einseitiger) äußerer-verbund. Alle Tupel der linken Relation (d.h. alle R-Tupel) sind im Ergebnis enthalten. Gibt es für ein Tupel r i R kein S-Tupel, das F erfüllt, so werden die S-Attribute im Ergebnistupel mit NULL aufgefüllt. Analog A a1 a2 a3 a4 a4 a5 R C S R B b1 b2 b4 b2 b5 b1 Left Outer Join R D S Right Outer Join R S Full Outer Join Weitere Join-Varianten B b1 b1 b2 b3 S C c1 c2 c3 c6 RC R.B=S.B S R.A R.B S.B S.C a1 b1 b1 c1 a1 b1 b1 c2 a2 b2 b2 c3 Semijoin R E S:= π (R A S) alle Attribute von R a3 b Nullwert! a4 b2 b2 c3 a4 b Nullwert! a5 b1 b1 c1 a5 b1 b1 c2 Geeignet für Fragen: wie viele Joinpartner existieren zu S in R. 46 G. Specht: Datenbanksysteme 3-23

24 Bsp. für Query-Auswertung: Weinfreund DB-Schema: Weinfreund (P#, Name, Vorname) Konsum (P#, W#, Datum, Menge) Wein (W#, Weinberg, Jahrgang, Prozent, Rebsorte) Wieviel Prozent Alkohol haben die 78 er Weine des Weinbergs Würzburger Stein? π {Prozent, w#} (σ (Jahrgang = 1978) (Weinberg = Würzburger Stein ) (Wein)) 47 Bsp. Weinfreund cont. DB-Schema: Weinfreund (P#, Name, Vorname) Konsum (P#, W#, Datum, Menge) Wein (W#, Weinberg, Jahrgang, Prozent, Rebsorte) Ermittle Name und Vorname von Weinfreunden von Silvaner und Riesling π {Name, Vorname} (Weinfreund A ( Konsum A (σ (Rebsorte = Silvaner ) (Rebsorte= Riesling ) (Wein)))) 48 G. Specht: Datenbanksysteme 3-24

25 Bsp. Weinfreund cont. DB-Schema: Weinfreund (P#, Name, Vorname) Konsum (P#, W#, Datum, Menge) Wein (W#, Weinberg, Jahrgang, Prozent, Rebsorte) Gesucht sind Name und Vorname von Weinfreunden, die an einem Tag mehr als 10 Gläser 86 er Obereisenheimer Höll getrunken haben, sowie der dazugehörige Alkoholgehalt. π {Name, Vorname, Prozent} (σ (Menge > 10) (Weinberg= Obereisenheimer Höll ) (Jahrgang=1986) (Weinfreund A Konsum A Wein) ) 49 Bsp. Weinfreund cont. DB-Schema: Weinfreund (P#, Name, Vorname) Konsum (P#, W#, Datum, Menge) Wein (W#, Weinberg, Jahrgang, Prozent, Rebsorte) W# aller Weine mit mehr Prozent Alkohol als Riesling 1993 π {W2, W#} (σ (w1.rebsorte= Riesling ) (Jahrgang=1993)) (Wein W1 A Wein W2)) W1.Prozent < W2.Prozent 50 G. Specht: Datenbanksysteme 3-25

26 Aggregation Mengenorientierte Operation, die zuerst eine Partitionierung einer Relation in Teilmengen gemäß einer Gruppe von Attributwerten vornimmt (Gruppierung), dann eine Aggregatsfunktion (z.b. sum, min, max, avg, etc.) auf jeder Teilmenge auswertet. Das Ergebnis ist eine Relation, die für jede Gruppe ein Tupel mit dem Aggregationswert enthält. Sei R(x1,..., xn, y,...) eine Relation, mit Gruppierungsattributen X = {x1,..., xn} und Aggregationsattribut y, und agg eine Aggregationsfunktion auf y: groupby (R, X, agg, y, duplicates) mit duplicates {distinct, all}. 51 Aggregation cont. Häufig verwendete Aggregations-Funktionen: COUNT SUM MIN MAX AVG 52 G. Specht: Datenbanksysteme 3-26

27 Aggregation cont. Wie hoch ist jeweils der durchschnittliche Alkoholgehalt der Jahrgänge 1985 und 1986? σ (Jahrgang=1985) (Jahrgang=1986) (groupby(wein, Jahrgang, AVG, Prozent, all)) 53 Aggregation cont. Anmerkung: Aggregationen sollten im Allgemeinen auf Mengen mit Duplikaten (Multisets) angewendet werden, sonst entstehen falsche Ergebnisse. Beispiel: Annahme, es gibt einen weiteren 85 er Wein mit 12.0%, dann ergäbe AVG({11, 10, 12, 12}) mittels distinct dasselbe (jetzt falsche) Resultat. 54 G. Specht: Datenbanksysteme 3-27

28 Query Optimierung Motivationsbeispiel: Sei die Kardinalität der Relationen R und S jeweils Naiver Ansatz: Join wie in Definitionen als σ (R x S) berechnen 10 8 = 100 Mio Tupelzugriffe, je Zugriff nur 10-6 sec Antwortzeit: 100sec!!! Viel zu lange, praktisch untragbar Nichtalgebraische Optimierungen D.h. einzelne Operationen günstiger implementieren. Komplexitäten: Selektion: Relationen-Scan (sequentieller Durchlauf) O(n) Index als B-Baum O(log n) Index als Hash O(1) hoffentlich Projektion naiv O(n 2 ) mit Index Mit Hashindex O(n log n) <= meist O(n) <= wirklich gute Impl. + Kosten für Anlegen des Index 56 G. Specht: Datenbanksysteme 3-28

29 Nichtalgebraische Optimierungen cont. Join nested-loop-join (naiv) O(n 2 ) for i:=1 to R do for j := 1 to S do if r i θ s j then Rel := Rel append(r, s); sort-merge-join O(n log n) R A S A = B R sei sortiert nach A S sei sortiet nach B, 3,, 2,, 4,, 4,, 4,, 4,, 5,, 6, 57 Nichtalgebraische Optimierungen cont. Hash Join R A S O(n) (sei R =n) 1. R sei klein (z.b. Join- oder Selektionsausgabe) 2. auf S.B liege Hash Fragen des Optimierers (Programm): Können bestehende Indexe ausgenutzt werden? Rentiert es sich, einen temporären Index anzulegen, so dass trotz Indexerzeugung die Query-Auswertung schneller wird (auch Indexe brauchen Platz!). 58 G. Specht: Datenbanksysteme 3-29

30 2. Algebraische Optimierungen Ausnützen der Gesetze der relationalen Algebra als Rechenregeln, um möglichst kleine Zwischenrelationen zu erhalten! 1.RA (S A T) = (R A S)AT => optimale Joinreihenfolge 2.σ F1 (σ F2 (R)) = σ F1 F2 (R) 3.σ F (R A S) = σ F (R)A S falls F nur Attribute aus R betrifft 4.σ F (R A S) = R A σ F (S) falls F nur Attribute aus S betrifft 5.σ F (π A (R)) = π A (σ F (R)) falls Attribute(F) A usw. Dazu wird eine komplette Query vom Optimierer in einen Operatorbaum transformiert und dieser dann transformiert. 59 Algebraische Optimierungen cont. Beispiel: Name, Vorname von Weinfreunden, die an einem Tag mehr als 10 Gläser 86 er Obereisenheimer Höll getrunken haben, so wie der zugehörige Alkoholgehalt π Name, Vorname, Prozent (σ Menge > 10 Weinberg = Obereisenheimer Höll Jahrgang = 1986 (Weinfreund A (Konsum A Wein))) Operatorbaum: 60 G. Specht: Datenbanksysteme 3-30

31 Baumtransformationen zur Optimierung z.b. Selektionen und Projektionen zu den Blättern schieben, d.h. heuristisch möglichst kleine Zwischenergebnisse produzieren. Ergebnis: Jetzt viel kleinere Zwischenergebnisse => Joins (n log m) viel billiger Gute Optimierer bauen ist schwierig, da allein das Problem der richtigen Joinreihenfolge NP-vollständig ist. 61 Abschließende Bemerkungen zur Relationen-Algebra In der Relationalen Algebra ist kein Komplementoperator definiert. Grund: im Allgemeinen -große Relationen (außer bei endlichen Domänen) Relationen-Algebra als Datenbanksprache nur bei den ersten relationalen DBMS-Prototypen als Anfragesprache verwendet Jedoch bis heute wichtige formale Grundlage für DBMS-interne Anfrage- Verarbeitung und Optimierung. Darüberhinaus dient die Relationale Algebra als theoretisches Maß für die Ausdrucksmächtigkeit relationaler Datenbank-Sprachen relationale Vollständigkeit Relationale Algebra ist nicht rein deskriptiv, wegen Reihenfolgen abhängigkeiten (funktionale Sprache). Jedoch: Äquivalenz-Umformungen erlauben Optimierung. 62 G. Specht: Datenbanksysteme 3-31

32 Relationen-Kalkül 63 Relationen-Kalkül Relationen-Algebra Konstruktion der Ergebnisrelation durch sukzessive (geschachtelte) Anwendung von Algebra-Operatoren auf die Ausgangsrelationen ( prozedurale Vorgehensweise) Relationen-Kalkül liegt andere Philosophie zugrunde: Beschreibung, welche Bedingungen (Prädikate) die Tupel der Ergebnisrelation erfüllen müssen, vgl. Prädikatenkalkül ( deklarative Vorgehensweise) 64 G. Specht: Datenbanksysteme 3-32

33 Beispiel Gegeben seien die folgenden Relationen: Vorauss(VorNr, KursNr) Kurs(KursNr, Titel) Angebot(AngNr, KursNr, Datum, Ort) Zu beantworten sei folgende Anfrage: Gib für alle Kurse, die zwischen dem und stattfanden und den Kurs G08 als Voraussetzung haben, die KursNr, den Titel, das Datum und den Ort aus. 65 Anfrageformulierung In Algebra (schrittweise Konstruktion der Ergebnismenge) π KursNr, Titel, Datum, Ort (( Kurs A σ < Datum < Angebot) A (σ VorNr = 'G08' Vorauss)) Tupel-Relationenkalkül (prädikative Beschreibung der Ergebnismenge) { t ( a ( v ( k (Kurs(k) Angebot(a) Vorauss(v) k.kursnr = a.kursnr k.kursnr = v.kursnr a.datum > a.datum < v.vornr = 'G08' t.kursnr = k.kursnr t.titel = k.titel t.datum = a.datum t.ort = a.ort )))) } 66 G. Specht: Datenbanksysteme 3-33

34 Anfrageformulierung cont. Relationenkalkül vgl. Prädikatenlogik 1. Stufe Tupel-Relationenkalkül vs. Domain-Relationenkalkül : Variablen für ganze Tupel bzw. für einzelne Attributwerte 67 Tupel-Relationenkalkül (TRC) Atome 1. R(t) : R = Relationenname t = Tupelvariable Aussage: Tupel t ist in R enthalten 2. X Θ Y: X, Y = Konstanten oder Tupelkomponenten t[i] (t = Tupelvariable, i = i-te Tupelkomponente) Θ = arithm. Vergleichsoperator (<, >, =,...) Alle Tupel einer Relation haben eine konstante Stelligkeit. Falls hierauf explizit Bezug genommen wird, so schreiben wir t (s). 68 G. Specht: Datenbanksysteme 3-34

35 Tupel-Relationenkalkül (TRC) freie / gebundene Variablen : Analogie: gebundene Variablen lokale Variablendeklaration einer Prozedur, kann nicht von außen referenziert werden. freie Variablen globale Variablen, außerhalb der betrachteten Prozedur deklariert. Sei eine freie Tupelvariable t global bzgl. Formel F, dann entspricht ( t) bzw. ( t) in etwa der Deklaration der Variablen t. 69 Tupel-Relationenkalkül (TRC) cont. Formeln, freie und gebundene Variablen im TRC: Jedes Atom ist eine Formel. Alle in einem Atom auftretenden Tupelvariablen sind frei Falls F1 und F2 Formeln sind, dann sind auch F1, (F1), F1 F2 und F1 F2 Formeln. Wenn F eine Formel ist, dann ist ( t F)" auch eine Formel. Alle in F auftretenden freien Tupelvariablen t werden an t in der Formel " t F" gebunden. Der Status anderer Tupelvariablen in F ändert sich dadurch nicht Wenn F eine Formel ist, dann ist ( t F)" auch eine Formel. Alle in F auftretenden freien Tupelvariablen t werden an t in der Formel " ( t F)" gebunden. Der Status anderer Tupelvariablen in F ändert sich dadurch nicht Nichts anderes ist eine Formel 70 G. Specht: Datenbanksysteme 3-35

36 Tupel-Relationenkalkül (TRC) cont. Anfrage im TRC: { t F(t) } mit t als einziger freien Tupelvariablen in Formel F Anmerkung: Eine Anfrage des TRC liefert nicht notwendig eine endliche Tupelmenge! 71 Beispiel Vereinigung von R1 und R2: { t R1(t) R2(t) } Anmerkungen: Jedes Tupel hat auch eine feste Stelligkeit. R1 und R2 müssen also entsprechend kompatibel sein. In dieser einfachen Form sind alle Komponenten (Attribute) auch domainkompatibel. Gib alle Tupel t, die nicht in Relation R vorkommen, aus! (Negation): { t R(t) } Anmerkungen: Welche Ergebnistupel (Schema)? Vereinfachende Annahme: Schema von R Welche Ausprägungen? Vereinfachend: Komplement von R bzgl. Produkt der Attributdomains Resultat von Domains abhängig! evtl. nicht endlich! 72 G. Specht: Datenbanksysteme 3-36

37 Beispiel cont. Projektion auf Attribute (Komponenten) i 1, i 2,..., i k von R { t (k) u ( R(u) t[1] = u[i 1 ]... t[k] = u[i k ] ) } Selektion aller Tupel aus R, die Bedingung F erfüllen: { t R(t) F (t) } F(t) steht hier stellvertretende für die konkrete Bedingung an die Tupelkomponente(n) z.b. (t[1] = 17) (t[3] = 24) Differenz zweier Relationen R und S: { t R(t) S(t) } Kartesisches Produkt von R und S: { t (r+s) ( u (r) ( v (s) ( R(u) S(v) t[1] = u[1]... t[r] = u[r] t[r+1] = v[1]... t[r+s] = v[s] ) } 73 Sicherer Tupel-Relationenkalkül Problem: Bei bisheriger TRC-Definition können unendlich Ergebnismengen auftreten { t R(t) } : nur Einschränkung hinsichtlich Stelligkeit von t ( R), hinsichtlich des Domains aber nicht beschränkt Überlegung: 1. Wir fragen nach Werten aus der Datenbank, nicht von sonst irgendwoher 2. Jede Relation in der konkreten Datenbank ist endlich, damit ist auch der betrachteten Datenbank-Zustand endlich 3. Einschränkung: Als Domain (für die Auswertung von Anfragen) werden nur in der DB vorkommende Werte oder in der Anfrage auftretende Konstanten zugelassen 74 G. Specht: Datenbanksysteme 3-37

38 Definition Safety Eine Formel F des TRC heißt sicher, wenn a) keine - Quantoren vorkommen b) bei F 1 F 2, F 1 und F 2 jeweils nur eine freie Variable haben, und zwar die gleiche c) bei (maximalen) konjunktiven Teilformeln F 1 F 2... F n alle freien Tupelkomponenten in den F i begrenzt sind: F i nicht negiert, kein arithm. Vergleich, freie Tupelvariable t alle Komp. von t begrenzt Fi t[a] = c Fi t[a] = t'[a'] begrenzt oder Fi c = t[a], für c... Konstante t[a] begrenzt oder Fi t'[a'] = t [a] und t' [a'] begrenzt t[a] d) Negation ( ) nur auf Termen innerhalb einer Konjunktion wie in c) erlaubt 75 Definition Safety cont. Bemerkung zu a) ( t) F(t) ( t) ( F(t) )... d.h. keine Einschränkung Alternativ: nur in der Form: ( t) ( R(t)...)... und bei : ( t) ( R(t)...) 76 G. Specht: Datenbanksysteme 3-38

39 Relationale Vollständigkeit Satz: Relationenalgebra und sicherer Relationenkalkül (TRC) sind äquivalent Beweisidee: Finde zu jedem Ausdruck in Relationenalgebra einen sicheren TRC Ausdruck und umgekehrt (siehe Lehrbücher) Relational Completeness Eine Anfragesprache für das Relationenmodell heißt relational vollständig, wenn sie (mindestens) so ausdruckskräftig wie die Relationenalgebra (oder der sichere TRC) ist [Codd 70] 77 G. Specht: Datenbanksysteme 3-39

2.1 Überblick. 2 Das Relationale Datenmodell

2.1 Überblick. 2 Das Relationale Datenmodell c M. Scholl, 2005/06 Informationssysteme: 2. Das Relationale Datenmodell 2-1 2 Das Relationale Datenmodell 2.1 Überblick Ende der 60er Jahre: Grundlagenforschung am IBM-Forschungslabor San Jose, CA., mit

Mehr

3. Grundlagen relationaler Datenbanksysteme

3. Grundlagen relationaler Datenbanksysteme 3. Grundlagen relationaler Datenbanksysteme Hier nur kurze Rekapitulation, bei Bedarf nachlesen 3.1 Basiskonzepte des Relationenmodells 1 Darstellung der Miniwelt in Tabellenform (DB = Menge von Relationen

Mehr

3. Das Relationale Datenmodell

3. Das Relationale Datenmodell 3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large Shared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBMS wie

Mehr

2 Das Relationale Datenmodell

2 Das Relationale Datenmodell 2 Das Relationale Datenmodell 2.1 Überblick Ende der 60er Jahre: Grundlagenforschung am IBM-Forschungslabor San Jose, CA., mit dem Ziel die Erstellung von Datenbankanwendungen einfacher zu machen. 1970:

Mehr

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join Parsen der Anfrage (SQL) Transformation in eine Standardform (Relationenalgebra) Logische Optimierung Transformation in alternative Zugriffspläne, Physische Optimierung Ausführung des gewählten Zugriffsplans

Mehr

Kapitel 7 Dr. Jérôme Kunegis. Logische Kalküle. WeST Web Science & Technologies

Kapitel 7 Dr. Jérôme Kunegis. Logische Kalküle. WeST Web Science & Technologies Kapitel 7 Dr. Jérôme Kunegis Logische Kalküle WeST Web Science & Technologies Lernziele Grundideen des Domain-Relationenkalküls (DRK) und des Tupel-Relationenkalküls (TRK) Relationale Datenbank als Formelmenge

Mehr

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R VII-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit

Mehr

Mai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Mai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Hauptseminar: Nichtrelationale Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Mai 2006 Was ist eine Datenbank? Erweiterung relationaler um eine Deduktionskomponente Diese

Mehr

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik Beispielaufgaben Informationssysteme erstellt von Fabian Rump zur IS Vorlesung 2009/10 1 Multiple Choice Aussage richtig falsch Eine SQL-Abfrage beginnt immer mit dem Schlüsselwort SELECT Eine Datenbank

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

ER-Modellierung am Beispiel der Universitätsdatenbank aus der DBIS-Vorlesung

ER-Modellierung am Beispiel der Universitätsdatenbank aus der DBIS-Vorlesung ER-Modellierung am Beispiel der Universitätsdatenbank aus der DBIS-Vorlesung Datenbank-Praktikum SS 2010 Prof. Dr. Georg Lausen Florian Schmedding ER-Modell: Wiederholung Entitäten E Beziehungen B Attribute

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

7. Übung - Datenbanken

7. Übung - Datenbanken 7. Übung - Datenbanken Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: DBS a Was ist die Kernaufgabe von Datenbanksystemen? b Beschreiben Sie kurz die Abstraktionsebenen

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B

Mehr

Datenbanken: Relationales Datenbankmodell RDM

Datenbanken: Relationales Datenbankmodell RDM Das RDM wurde in den 70'er Jahren von Codd entwickelt und ist seit Mitte der 80'er Jahre definierter Standard für Datenbanksysteme! Der Name kommt vom mathematischen Konzept einer Relation: (Sind A, B

Mehr

Binäre Suchbäume (binary search trees, kurz: bst)

Binäre Suchbäume (binary search trees, kurz: bst) Binäre Suchbäume (binary search trees, kurz: bst) Datenstruktur zum Speichern einer endlichen Menge M von Zahlen. Genauer: Binärbaum T mit n := M Knoten Jeder Knoten v von T ist mit einer Zahl m v M markiert.

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

Mehr

Übung Datenbanken in der Praxis. Relationale Algebra

Übung Datenbanken in der Praxis. Relationale Algebra Relationale Algebra Folie 16 Relationale Algebra - Aufgabe 1 Gegeben seien die Relationen R1, R2 und R3. Erstellen Sie die Ergebnisrelationen für folgende Operationen und bestimmen Sie jeweils den Grad

Mehr

Grundlagen: Datenbanken WS 15/16

Grundlagen: Datenbanken WS 15/16 Grundlagen: Datenbanken WS 15/16 2. Zentralübung / Wiederholung / Fragestunde Harald Lang gdb@in.tum.de Diese Folien finden Sie online. Die Mitschrift erhalten Sie im Anschluss. Termine Klausur 24.02.2016,

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

Data Mining: Einige Grundlagen aus der Stochastik

Data Mining: Einige Grundlagen aus der Stochastik Data Mining: Einige Grundlagen aus der Stochastik Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 21. Oktober 2015 Vorwort Das vorliegende Skript enthält eine Zusammenfassung verschiedener

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes) Prädikatenlogik Man kann den natürlichsprachlichen Satz Die Sonne scheint. in der Prädikatenlogik beispielsweise als logisches Atom scheint(sonne) darstellen. In der Sprache der Prädikatenlogik werden

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Logik für Informatiker

Logik für Informatiker Logik für Informatiker 2. Aussagenlogik Teil 3 30.04.2012 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Letztes Mal Aussagenlogik Syntax: welche Formeln? Semantik:

Mehr

Kapitalerhöhung - Verbuchung

Kapitalerhöhung - Verbuchung Kapitalerhöhung - Verbuchung Beschreibung Eine Kapitalerhöhung ist eine Erhöhung des Aktienkapitals einer Aktiengesellschaft durch Emission von en Aktien. Es gibt unterschiedliche Formen von Kapitalerhöhung.

Mehr

ER-Modell. Entity-Relationship-Model

ER-Modell. Entity-Relationship-Model + ER-Modell Entity-Relationship-Model + Was ist ein Modell? Worte/Zitat aus einem Physikbuch: "Modelle sind also Vorstellungshilfen und Wirklichkeitshilfen, nicht die Wirklichkeit selbst." (Metzler Physik).

Mehr

Übung Datenbanksysteme

Übung Datenbanksysteme Übung Datenbanksysteme Martin Reifberger Übungsaufgabe 1 Sachverhalt: Ein mittelständiges Industrieunternehmen möchte sein Auftragswesen datenbankbasiert organisieren, da die tägliche Flut auflaufender

Mehr

Vorlesung Dokumentation und Datenbanken Klausur

Vorlesung Dokumentation und Datenbanken Klausur Dr. Stefan Brass 5. Februar 2002 Institut für Informatik Universität Giessen Vorlesung Dokumentation und Datenbanken Klausur Name: Geburtsdatum: Geburtsort: (Diese Daten werden zur Ausstellung des Leistungsnachweises

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

Mehr

Ein Beispiel: Tabelle DICHTER

Ein Beispiel: Tabelle DICHTER Datenbanken Eine Datenbank ist eine Sammlung von Daten, die aus der Sicht des Benutzers zusammen gehören. Ein Datenbankverwaltungssystem (DBMS) ist ein informatisches System zur Verwaltung einer Datenbank.

Mehr

Kapitel DB:V (Fortsetzung)

Kapitel DB:V (Fortsetzung) Kapitel DB:V (Fortsetzung) V. Grundlagen relationaler Anfragesprachen Anfragen und Änderungen Relationale Algebra Anfragekalküle Relationaler Tupelkalkül Relationaler Domänenkalkül DB:V-67 Relational Algebra

Mehr

Relationale Kalküle. Grundlagen der Datenbanken. Dr. Jérôme Kunegis Wintersemester 2013/14

Relationale Kalküle. Grundlagen der Datenbanken. Dr. Jérôme Kunegis Wintersemester 2013/14 Web Science & Technologies University of Koblenz Landau, Germany Grundlagen der Datenbanken Dr. Jérôme Kunegis Wintersemester 2013/14 Lernziele Grundideen des Domänen-Relationenkalküls (DRK) und des Tupel-Relationenkalküls

Mehr

Kalkülteil. Structured Query Language, SQL. 1. Semantik: erzeuge alle Kombinationen von Tupeln

Kalkülteil. Structured Query Language, SQL. 1. Semantik: erzeuge alle Kombinationen von Tupeln Structured Query Language, SQL vom American National Standards Institute, ANSI, genormte Datenbanksprache. enthält eine Teilsprache, die eine relationale Anfragesprache ist, Mischung von tupelorientierten

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

Relationale Datenbanken Datenbankgrundlagen

Relationale Datenbanken Datenbankgrundlagen Datenbanksystem Ein Datenbanksystem (DBS) 1 ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern

Mehr

Formale Methoden II. Gerhard Jäger. SS 2008 Universität Bielefeld. Teil 8, 11. Juni 2008. Formale Methoden II p.1/30

Formale Methoden II. Gerhard Jäger. SS 2008 Universität Bielefeld. Teil 8, 11. Juni 2008. Formale Methoden II p.1/30 Formale Methoden II SS 2008 Universität Bielefeld Teil 8, 11. Juni 2008 Gerhard Jäger Formale Methoden II p.1/30 Beispiele Anmerkung: wenn der Wahrheitswert einer Formel in einem Modell nicht von der Belegungsfunktion

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Semantik von Formeln und Sequenzen

Semantik von Formeln und Sequenzen Semantik von Formeln und Sequenzen 33 Grundidee der Verwendung von Logik im Software Entwurf Syntax: Menge von Formeln = Axiome Ax K ist beweisbar Formel ϕ beschreiben Korrektkeit Vollständigkeit beschreibt

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel. Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de

Mehr

SQL - Übungen Bearbeitung der Datenbank Personal (1)

SQL - Übungen Bearbeitung der Datenbank Personal (1) Bearbeitung der Datenbank Personal (1) 1. Abfragen einer einzigen Tabelle 1.1. Zeigen Sie alle Informationen an, die über die Kinder der Mitarbeiter gespeichert sind. 1.2. Zeigen Sie aus der Tabelle stelle

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Datenbankentwurf. 4.2 Logischer Entwurf. Kapitel 4. ER-Modell. Umsetzung. Entwurfsdokumentation. relationales Modell. Verbesserung

Datenbankentwurf. 4.2 Logischer Entwurf. Kapitel 4. ER-Modell. Umsetzung. Entwurfsdokumentation. relationales Modell. Verbesserung 4.2 Logischer Entwurf Datenbankentwurf 4.2 Logischer Entwurf 2002 Prof. Dr. Rainer Manthey Informationssysteme Logischer Entwurf: Einordnung Entwurfsdokumentation logische Strukturen "auf dem Papier" konzeptueller

Mehr

Grundlagen der Theoretischen Informatik - Sommersemester 2012. Übungsblatt 1: Lösungsvorschläge

Grundlagen der Theoretischen Informatik - Sommersemester 2012. Übungsblatt 1: Lösungsvorschläge Lehrstuhl für Softwaretechnik und Programmiersprachen Professor Dr. Michael Leuschel Grundlagen der Theoretischen Informatik - Sommersemester 2012 Übungsblatt 1: Lösungsvorschläge Disclaimer: Bei Folgendem

Mehr

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r ) Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen

Mehr

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192. Binäres und dezimales Zahlensystem Ziel In diesem ersten Schritt geht es darum, die grundlegende Umrechnung aus dem Dezimalsystem in das Binärsystem zu verstehen. Zusätzlich wird auch die andere Richtung,

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5) Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff

Mehr

Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at

Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at Inhalt SWP Funktionale Programme (2. Teil) Einfache Ausdrücke Datentypen Rekursive funktionale Sprache Franz Wotawa Institut für Softwaretechnologie wotawa@ist.tugraz.at Interpreter für funktionale Sprache

Mehr

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY Data Cube On-line Analytical Processing (OLAP). Einführung Ziel: Auffinden interessanter Muster in großen Datenmengen 2. Aggregation in SQL, GROUP BY 3. Probleme mit GROUP BY 4. Der Cube-Operator! Formulierung

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 7: Einführung Aussagenlogik schulz@eprover.org Logisches Schließen 2 gold +1000, 1 per step, Beispiel: Jage den Wumpus Performance measure death 1000 10

Mehr

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!. 040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl

Mehr

Inhaltsverzeichnis. 1. Fragestellung

Inhaltsverzeichnis. 1. Fragestellung Inhaltsverzeichnis 1. Fragestellung... 1 2. Herleitung zum Thema... 1 3. Das Entity Relationship Modell (ERM)... 2 4. Praktisches Beispiel zum ERM... 7 5. Anhang...Fehler! Textmarke nicht definiert. 1.

Mehr

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

Mehr

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

Mehr

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt - 17 - Die Frage ist hier also: Für welche x R gilt x = x + 1? Das ist eine quadratische Gleichung für x. Es gilt x = x + 1 x x 3 = 0, und man kann quadratische Ergänzung machen:... ( ) ( ) x x + = 3 +

Mehr

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V

Mehr

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt Methoden und Techniken an Beispielen erklärt Georg Anegg 5. November 009 Beispiel. Die Folge {a n } sei wie folgt definiert (a, d, q R, q ): a 0 a, a n+ a n q + d (n 0) Man bestimme eine explizite Darstellung

Mehr

Kapitel DB:III. III. Konzeptueller Datenbankentwurf

Kapitel DB:III. III. Konzeptueller Datenbankentwurf Kapitel DB:III III. Konzeptueller Datenbankentwurf Einführung in das Entity-Relationship-Modell ER-Konzepte und ihre Semantik Charakterisierung von Beziehungstypen Existenzabhängige Entity-Typen Abstraktionskonzepte

Mehr

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie und, oder, nicht, wenn... dann zwischen atomaren und komplexen Sätzen. I. Aussagenlogik 2.1 Syntax Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen. Sätze selbst sind entweder wahr oder falsch. Ansonsten

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

Übungsblatt 4. Aufgabe 7: Datensicht Fachkonzept (Klausur SS 2002, 1. Termin)

Übungsblatt 4. Aufgabe 7: Datensicht Fachkonzept (Klausur SS 2002, 1. Termin) Übungsblatt 4 Aufgabe 7: Datensicht Fachkonzept (Klausur SS 2002, 1. Termin) Die Saartal Linien beauftragen Sie mit dem Entwurf der Datenstrukturen für ein Informationssystem. Dieses soll zur Verwaltung

Mehr

Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen

Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen Prof. Dr. Volker Schulz Universität Trier / FB IV / Abt. Mathematik 8. November 2010 http://www.mathematik.uni-trier.de/ schulz/elan-ws1011.html

Mehr

Allgemeines zu Datenbanken

Allgemeines zu Datenbanken Allgemeines zu Datenbanken Was ist eine Datenbank? Datensatz Zusammenfassung von Datenelementen mit fester Struktur Z.B.: Kunde Alois Müller, Hegenheimerstr. 28, Basel Datenbank Sammlung von strukturierten,

Mehr

Schlüssel bei temporalen Daten im relationalen Modell

Schlüssel bei temporalen Daten im relationalen Modell Schlüssel bei temporalen Daten im relationalen Modell Gesine Mühle > Präsentation > Bilder zum Inhalt zurück weiter 322 Schlüssel im relationalen Modell Schlüssel bei temporalen Daten im relationalen Modell

Mehr

Lineare Gleichungssysteme

Lineare Gleichungssysteme Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen zur Übergangsprüfung DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Objekte einer Datenbank Microsoft Access Begriffe Wegen seines Bekanntheitsgrades und der großen Verbreitung auch in Schulen wird im Folgenden eingehend auf das Programm Access von Microsoft Bezug genommen.

Mehr

Sichten II. Definition einer Sicht. Sichten. Drei-Ebenen-Schema-Architektur. Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank

Sichten II. Definition einer Sicht. Sichten. Drei-Ebenen-Schema-Architektur. Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank Sichten II logische Datenunabhängigkeit (Sichten stabil bei Änderungen der Datenbankstruktur) Beschränkung von Zugriffen (Datenschutz) Definition

Mehr

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2 EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2

Mehr

Binärdarstellung von Fliesskommazahlen

Binärdarstellung von Fliesskommazahlen Binärdarstellung von Fliesskommazahlen 1. IEEE 754 Gleitkommazahl im Single-Format So sind in Gleitkommazahlen im IEEE 754-Standard aufgebaut: 31 30 24 23 0 S E E E E E E E E M M M M M M M M M M M M M

Mehr

Beweisbar sichere Verschlüsselung

Beweisbar sichere Verschlüsselung Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit bmoeller@crypto.rub.de 6

Mehr

6. Bayes-Klassifikation. (Schukat-Talamazzini 2002)

6. Bayes-Klassifikation. (Schukat-Talamazzini 2002) 6. Bayes-Klassifikation (Schukat-Talamazzini 2002) (Böhm 2003) (Klawonn 2004) Der Satz von Bayes: Beweis: Klassifikation mittels des Satzes von Bayes (Klawonn 2004) Allgemeine Definition: Davon zu unterscheiden

Mehr

Grundlagen der Informationverarbeitung

Grundlagen der Informationverarbeitung Grundlagen der Informationverarbeitung Information wird im Computer binär repräsentiert. Die binär dargestellten Daten sollen im Computer verarbeitet werden, d.h. es müssen Rechnerschaltungen existieren,

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

Java Einführung Operatoren Kapitel 2 und 3

Java Einführung Operatoren Kapitel 2 und 3 Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig

Mehr

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich Herbrand-Strukturen und Herbrand-Modelle Sei F eine Aussage in Skolemform. Dann heißt jede zu F passende Struktur A =(U A, I A )eineherbrand-struktur für F, falls folgendes gilt: 1 U A = D(F ), 2 für jedes

Mehr

Null-Werte in Relationalen Datenbanken

Null-Werte in Relationalen Datenbanken Seminar: Imperfektion in Datenbanken WS03/04 Null-Werte in Relationalen Datenbanken Thomas Bierhance Einführung Null-Werte in DBen sind notwendiges Übel, da... (1) das Wissen über die tatsächliche Welt

Mehr

Kapitel 04 Strukturiertes Entity-Relationship-Modell. 4 Strukturiertes Entity-Relationship- Modell

Kapitel 04 Strukturiertes Entity-Relationship-Modell. 4 Strukturiertes Entity-Relationship- Modell Kapitel 04 Strukturiertes Entity-Relationship-Modell 4 Strukturiertes Entity-Relationship- Modell 4 Strukturiertes Entity-Relationship-Modell...1 4.1 Erste Verbesserung...4 4.2 Objekttypen in SERM...6

Mehr

183.580, WS2012 Übungsgruppen: Mo., 22.10.

183.580, WS2012 Übungsgruppen: Mo., 22.10. VU Grundlagen digitaler Systeme Übung 2: Numerik, Boolesche Algebra 183.580, WS2012 Übungsgruppen: Mo., 22.10. Aufgabe 1: Binäre Gleitpunkt-Arithmetik Addition & Subtraktion Gegeben sind die Zahlen: A

Mehr

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde

Mehr

Ein Ausflug zu ACCESS

Ein Ausflug zu ACCESS Ein Ausflug zu ACCESS Die folgenden Folien zeigen beispielhaft, wie man sein DB- Wissen auf ACCESS übertragen kann betrachtet wird ACCESS 2002, da gerade im Bereich der Nutzung von SQL hier einiges nachgearbeitet

Mehr

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Allgemein: Das RSA-Verschlüsselungsverfahren ist ein häufig benutztes Verschlüsselungsverfahren, weil es sehr sicher ist. Es gehört zu der Klasse der

Mehr

1 Aussagenlogik und Mengenlehre

1 Aussagenlogik und Mengenlehre 1 Aussagenlogik und engenlehre 1.1 engenlehre Definition (Georg Cantor): nter einer enge verstehen wir jede Zusammenfassung von bestimmten wohl unterschiedenen Objekten (m) unserer Anschauung oder unseres

Mehr

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Das komplette Material finden Sie hier: Download bei School-Scout.de

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

Guide DynDNS und Portforwarding

Guide DynDNS und Portforwarding Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch

Mehr

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:

Mehr