Datenbanksysteme Di. 5. Juni 2012 – 20H00 Inhaltsübersicht • Beispiele / Motivation • Informationssysteme • Datenbank- und Datenbankmanagementsysteme • Relationale Datenbanken / Das relationale Modell Das relationale Datenmodell Mengenorientierte Verarbeitung der Daten. Datenbank besteht aus Tabellen. Sehr einfach strukturiert: Flache Tabellen (Relationen). Zeilen entsprechen den Datenobjekten. Die gespeicherten Daten werden durch Operatoren mengenorientiert verknüpft und verarbeitet. Begriffe Attribut Name der Tabelle Ausleihe Tupel BuchNr LeserNr Datum 6457 234 20-05-2012 7754 765 23-11-2010 8780 890 08-09-2011 5466 857 30-05-2012 Begriffe Schema Ausleihe BuchNr LeserNr Datum Begriffe Instanz Ausleihe BuchNr LeserNr Datum 6457 234 20-05-2012 7754 765 23-11-2010 8780 890 08-09-2011 5466 857 30-05-2012 Begriffe Attribut Attributwert Ausleihe BuchNr LeserNr Datum 6457 234 20-05-2012 7754 765 23-11-2010 8780 890 08-09-2011 5466 857 30-05-2012 Mathematische Definition Gegeben seien n Wertebereiche D Wertebereiche (Domäne) sind z.B. Zahlen, Zeichenketten, Datum… Eine Relation R ist eine Teilmenge des kartesischen Produkts der Domänen: R Í 𝑫𝟏 × … × 𝑫𝒏 Mathematische Definition Ausleihe BuchNr integer LeserNr integer Datum date 6457 234 20-05-2012 7754 765 23-11-2010 8780 890 08-09-2011 5466 857 30-05-2012 Ausleihe Í 𝒊𝒏𝒕𝒆𝒈𝒆𝒓 × 𝒊𝒏𝒕𝒆𝒈𝒆𝒓 × date Ausleihe: {[BuchNr: integer, LeserNr: integer, Datum: date]} Das relationale Algebra Selektion Projektion Vereinigung Mengendifferenz Kartesisches Produkt Selektion Bezeichnung: 𝝈 Tupel einer Relation werden ausgewählt, die das Selektionsprädikat ausfüllen. Selektion Beispiel: 𝝈𝐷𝑎𝑡𝑢𝑚 > 01-01-2012 Ausleihe BuchNr integer LeserNr integer Datum date 6457 234 20-05-2012 7754 765 23-11-2010 8780 890 08-09-2011 5466 857 30-05-2012 Selektion Ergebnis: 𝝈𝐷𝑎𝑡𝑢𝑚 > 01-01-2012 𝝈𝐷𝑎𝑡𝑢𝑚 > 01-01-2012 BuchNr integer LeserNr integer Datum date 6457 234 20-05-2012 5466 857 30-05-2012 Projektion Bezeichnung: 𝝅 Spalten (Attribute) der Relation werden extrahiert. Projektion Beispiel: 𝝅𝐷𝑎𝑡𝑢𝑚(Ausleihe) Ausleihe BuchNr integer LeserNr integer Datum date 6457 234 20-05-2012 7754 765 23-11-2010 8780 890 08-09-2011 5466 857 30-05-2012 Projektion Ergebnis: 𝝅𝐷𝑎𝑡𝑢𝑚(Ausleihe) 𝝅𝐷𝑎𝑡𝑢𝑚(Ausleihe) Datum date 20-05-2012 23-11-2010 08-09-2011 30-05-2012 Projektion Duplikattupel, die durch die Beschränkung auf eine Teilmenge der Attribute auftreten können, vor der Ergebnisausgabe eliminiert werden müssen. Ausleihe 𝝅𝐷𝑎𝑡𝑢𝑚(Ausleihe) BuchNr integer LeserNr integer Datum date Datum date 6457 234 20-05-2012 20-05-2012 7754 765 23-11-2010 23-11-2010 8780 890 08-09-2011 08-09-2011 5466 857 20-05-2012 Vereinigung Bezeichnung: ∪ Relationen mit gleichem Schema können durch die Vereinigung zu einer Relation zusammengefasst werden. Vereinigung Beispiel: 𝝅𝐺𝑒𝑏𝑢𝑟𝑡𝑠𝑑𝑎𝑡𝑢𝑚(Studenten) ∪ 𝝅𝐺𝑒𝑏𝑢𝑟𝑡𝑠𝑑𝑎𝑡𝑢𝑚(Dozenten) Studenten Dozenten MatNr integer Semester Geburtsdatum integer date PersNr integer Raum integer Geburtsdatum date 645744 4 20-05-1985 645744 23 19-03-1945 775456 6 23-11-1984 775456 16 21-12-1962 Vereinigung Ergebnis: 𝝅𝐺𝑒𝑏𝑢𝑟𝑡𝑠𝑑𝑎𝑡𝑢𝑚(Studenten) ∪ 𝝅𝐺𝑒𝑏𝑢𝑟𝑡𝑠𝑑𝑎𝑡𝑢𝑚(Dozenten) 𝝅𝐺𝑒𝑏𝑢𝑟𝑡𝑠𝑑𝑎𝑡𝑢𝑚(Studenten) Geburtsdatum date 20-05-1985 23-11-1984 19-03-1945 21-12-1962 ∪ 𝝅𝐺𝑒𝑏𝑢𝑟𝑡𝑠𝑑𝑎𝑡𝑢𝑚(Dozenten) Differenz Für zwei Relationen R und S ist die Differenz, die Menge der Tupel, die in R aber nicht in S vorkommen. 𝑹 −𝑺 Kreuzprodukt Kartesisches Produkt zweier Relationen R und S: 𝑹 ×𝑺 Kreuzprodukt Beispiel: Studenten × 𝑽𝒐𝒓𝒍𝒆𝒔𝒖𝒏𝒈𝒆𝒏 Studenten Vorlesungen MatNr integer Semester integer Name string Raum integer 645744 4 DB 23 775456 6 OOP 16 Kreuzprodukt Ergebnis: Diese Relation ist 4-stellig und erhält insgesamt 4 Tupel (2 * 2). Studenten × 𝑽𝒐𝒓𝒍𝒆𝒔𝒖𝒏𝒈𝒆𝒏 Studenten Vorlesungen MatNr integer Semester Name integer string Raum integer 645744 4 DB 23 775456 6 OOP 16 645744 4 OOP 16 775456 6 DB 23 Frage?