Relationale DB: Einführung Relationale Datenbanken: eine anwendungsorientierte Einführung 2002 Prof. Dr. Rainer Manthey Informationssysteme 1 Vorgehensweise in Methodische Vorgehensweise in diesem Kapitel: Microsoft Access for Beginners Praxis anwendungsorientiert "Schnupperkurs" Grundbegriffe relationaler Datenbanken Theorie Prinzipdiskussion wissenschaftliches Fundament Beide Seiten sind wichtig: Lernen ohne Anwenden nützt nicht viel! 2002 Prof. Dr. Rainer Manthey Informationssysteme 2
Relationale Datenbanken: Allgemeines Der DB-Markt wird heute völlig dominiert von DB-Systemen, die das relationale Datenmodell unterstützen. Führende (kommerzielle) Hersteller von relationalen DB-Produkten: Oracle Microsoft (Access, SQL Server) IBM (DB2, Informix) Sybase Postgres (Freeware) MySQL (Freeware) Bezeichnung "relational" ist motiviert durch das mathematische Konzept der Relation. Relationale Datenbanken sind im wesentlichen Sammlungen von Relationen. Man kann sich Relationen praktisch als Tabellen vorstellen, die aus einzelnen Datensätzen bestehen, die alle dieselbe (homogene) Feldstruktur aufweisen. In der Wissenschaft gibt es ein weites Spektrum an theoretischen Grundlagen für relationale Datenbanken. 2002 Prof. Dr. Rainer Manthey Informationssysteme 3 Relationen: etwas "Nachhilfe" mathematisches Relationskonzept Jede Teilmenge R eines Produkts D 1... D n von n (n > 1) nicht notwendig verschiedenen Mengen D 1,..., D n heisst (n-stellige) Relation über D 1,..., D n. Das (kartesische) Produkt (oder: Kreuzprodukt) von D 1,..., D n ist die Menge aller (n-)tupel, die aus Elementen von D 1,..., D n gebildet werden können: D 1... D n = def { ( a 1,..., a n ) a i D i } Mengen sind duplikatfreie, ungeordnete Sammlungen von Objekten. "Unter einer Menge verstehen wir eine Zusammenfassung von bestimmten wohlunterschiedenen Objekten unserer Anschauung oder unseres Denkens zu einem Ganzen." Georg Cantor (1845-1918), Begründer der Mengenlehre 2002 Prof. Dr. Rainer Manthey Informationssysteme 4
Beispiel für Produktbildung bei Mengen B 1 5 A 7 A B 2002 Prof. Dr. Rainer Manthey Informationssysteme 5 Relation als Teilmenge eines Produkts und Tabellendarstellung 2-stellige Relation über A, B A B A B Darstellung dieser Relation im Tabellenformat: 5 5 5 5 2002 Prof. Dr. Rainer Manthey Informationssysteme 6
Relationale Datenbanken: Geschichte Die Idee, Daten in Tabellen zu halten, ist uralt. Die Idee, diese Form der Darstellung mit Mitteln der Relationentheorie zu untersuchen, stammt von diesem Mann: Edgar F. Codd Er veröffentlichte 1970 eine bahnbrechende Arbeit mit dem Titel Edgar F. Codd Für diese Pionierleistung erhielt Codd 1982 den Turing Award der ACM, den "Nobelpreis der Informatik". "A Relational Model of Data for Large Shared Data Banks", in der er alle Grundlagen der heutigen relationalen DB in bestechender Klarheit niederlegte. 2002 Prof. Dr. Rainer Manthey Informationssysteme 7 Microsoft Access: Allgemeine Informationen Access ist ein DBMS für relationale Datenbanken, das seit 1992 von Microsoft (weiter-)entwickelt und vertrieben wird. "Access-Homepage" bei Microsoft: http://www.microsoft.com/office/access/default.asp aktuelle Version in Office-Paketen von MS: Access 2000 Access ist sehr gut geeignet für kleine bis mittlere DB-Anwendungen ohne Mehrbenutzerbetrieb. nützliche Internet-Tutorien zu Access (Links auf der entsprechenden Seite zur Vorlesung): Michael Brydons Tutorium an der Simon Fraser University, Canada http://mis.bus.sfu.ca/tutorials/msaccess/tutorials.html Maggie Straplands Access-Seiten an der University of Bristol, UK http://www.bris.ac.uk/is/services/software/packages/access/ Jakob Lindenmeyers Access-Tutorium an der ETH Zürich, Schweiz http://www.inf.ethz.ch/personal/lindenme/publications/access/accesstutorial.html Im Buchhandel gibt es sehr viele Bücher über den Umgang mit Access. 2002 Prof. Dr. Rainer Manthey Informationssysteme 8
Access-Selbststudium mit der Online-Hilfe Zu allen Konzepten von Access finden Sie ausführliche, gut verständliche Erklärungen durch Aufrufen der Online-Hilfe ("Office Assistent"), z. B. zum Thema "Tabellen": 2002 Prof. Dr. Rainer Manthey Informationssysteme 9 Warum Access? Warum wird Access in dieser Vorlesung verwendet? Access ist proprietär, kommerziell... und dazu noch von Bill Gates! aber... fast jeder private PC-Nutzer hat heutzutage Access auf seinem Computer. Access bietet einen idealen Einstieg in die Thematik ohne grossen Aufwand. praktisches Arbeiten mit Datenbanken ist essentiell für jeden Hörer! es gibt reichlich frei verfügbares Material zum Selberlernen. heutzutage gehört das Kennen von Office-Tools fast schon zur Allgemeinbildung. Access ist in seiner Leistungsfähigkeit beschränkt und hat Schwächen, aber... Access bietet auch Funktionalitäten, die (fast) kein anderes DBMS bietet. Access reicht für die Bedürfnisse eines individuellen Studierenden völlig. Access ist leicht zu installieren und benötigt keinen DB-Administrator. Sollte jemand von Ihnen irgendwelche Vorurteile gegenüber Access haben: Es ist keineswegs "unter der Würde" eines Uni-Informatikers, ein solches "einfaches" System zu kennen und zu beherrschen! And by the way, it can be great fun, folks! 2002 Prof. Dr. Rainer Manthey Informationssysteme 10
Tabelle vs. Relation terminologischer "Konflikt" bei der Bezeichnung für die wichtigste Form von Datenbankobjekten: Tabelle oder Relation? in der Praxis (z.b. bei Access): Betonung auf optischer Darstellung in Tabellenform in der Wissenschaft: Betonung der mathematischen Grundlage als Relation prinzipielle Unterschiede zwischen beiden Bezeichnungen: Tabelle 2-dim. Array aus Zeilen/Spalten geordnet doppelte Zeilen möglich Relation Menge von Tupeln ungeordnet duplikatfrei aber: Relationen lassen sich in Tabellenform visualisieren, wenn man eine bestimmte Anordnung wählt. Tabellen lassen sich als Relationen formalisieren, wenn man keine Duplikate zulässt und von der Anordnung absieht. 2002 Prof. Dr. Rainer Manthey Informationssysteme 11 Bundesliga-DB 1. Beispiel-Datenbank: Bundesliga-Datenbank... enthält Ergebnisse aller Spiele der 1. Fußball- Bundesliga in der aktuellen Saison 2002/03.... wird während des Semesters stets aktualisiert.... stets als Access-Datenbank in der Datei bundesliga02.mdb über die Vorlesungs-Webseiten zur Verfügung.... darf natürlich heruntergeladen und verändert werden. 2002 Prof. Dr. Rainer Manthey Informationssysteme 12
Bundesliga-DB: Ergebnisdaten Ergebnisübersicht des 8. Spieltags am 5.10.2002: Hertha BSC Berlin - 1. FC Nürnberg 2:1 VfL Wolfsburg - Bayer Leverkusen 2:0 Bayern München - VfL Bochum 4:1 Werder Bremen - FC Hansa Rostock 0:0 Hannover 96 - Borussia Dortmund 0:3 Mönchengladbach - Arminia Bielefeld 3:0 FC Schalke 04 - Hamburger SV 3:0 VfB Stuttgart - TSV 1860 München 4:1 1. FC Kaiserslautern - Energie Cottbus 4:0 Ergebnisse Heimspiel Auswärtsspiel (pro Spieltag 9 Spiele bis inklusive 8. Spieltag 72 Spiele) 2002 Prof. Dr. Rainer Manthey Informationssysteme 13 DB-Tabellenformat für Fußballergebnisse Hertha BSC Berlin - 1. FC Nürnberg 2:1... Feldnamen Tabellenname Spiele2002 Heim ToreH Auswärts ToreA Datum Hertha 2 Nürnberg 1 5.10.02... Datensatz Felddatentypen Text Zahl Text Zahl Datum 2002 Prof. Dr. Rainer Manthey Informationssysteme 14
Access-Tabelle für Spiele: Datenblattansicht Access-Tabelle "Spiele2002": Datenblattansicht 2002 Prof. Dr. Rainer Manthey Informationssysteme 15 Access-Tabelle für Spiele: Entwurfsansicht Access-Tabelle "Spiele2002": Entwurfsansicht 2002 Prof. Dr. Rainer Manthey Informationssysteme 16
Access-Pragmatik: Menüleisten für Tabellenentwurf und -manipulation in der Entwurfssicht: 1 Wechseln in die alte Datenblattsicht (vor Entwurfsänderung) 2 Abspeichern des aktuellen Entwurfs (vor Öffnen des Datenblatts) in der Datenblattsicht: 1 Wechseln in die Entwurfssicht 12/13 Ordnen der Daten nach einem oder mehreren Feldern 17 Suchen mittels "pattern matching" im Datenblatt 2002 Prof. Dr. Rainer Manthey Informationssysteme 17 DB-Begriffe: Schema und Zustand einer Datenbank Den beiden unterschiedlichen "Ansichten" einer Tabelle in Access entsprechen zwei grundlegende Begriffe der relationalen Datenbanken: Entwurfsansicht Schema und Zustand Datenblattansicht Schema einer Relation: Festlegung von Name und Struktur der Relation Zustand einer Relation: Gesamtheit aller aktuell in der Relation enthaltenen Tupel Die Struktur jedes Zustands einer Relation wird festgelegt durch deren Schema. (Zustände werden auch Instanzen des Schemas genannt) Im allgemeinen bleibt bei Zustandsübergängen (DB-Änderungen) das Schema fix. In seltenen Fällen treten auch Schemaänderungen auf, denen sofortige Zustandsanpassungen folgen: Schemaevolution Plural von Schema: Schemata (nicht etwa "Schemen")! 2002 Prof. Dr. Rainer Manthey Informationssysteme 18
Schemata und Zustände Schema 1 Schema 2 Zustände Instanzen des Schemas aktueller Zustand 2002 Prof. Dr. Rainer Manthey Informationssysteme 19 Bundesliga-DB: Bundeliga-Tabelle Bundesliga-Tabelle nach dem 8. Spieltag: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Verein Spiele S U N Punkte Tordifferenz Tore Gegentore Bayern 8 6 1 1 19 14 22 8 Dortmund 8 4 4 0 16 7 12 5 Werder 8 5 1 2 16 3 14 11 Schalke 8 4 3 1 15 6 12 6 Rostock 8 4 1 3 13 5 11 6 Wolfsburg 8 4 1 3 13 1 8 7 Hertha 8 3 3 2 12 2 9 7 Gladbach 8 3 2 3 11 4 10 6 Bochum 8 3 2 3 11 2 16 14 1860 8 3 2 3 11-1 11 12 Stuttgart 8 2 4 2 10 3 14 11 Bielefeld 8 3 1 4 10-6 9 15 Nürnberg 8 3 0 5 9-4 10 14 HSV 8 3 0 5 9-6 9 15 Leverkusen 8 2 2 4 8-4 12 16 Hannover 8 2 1 5 7-7 11 18 1.FCK 8 1 3 4 6-4 7 11 Cottbus 8 1 1 6 4-15 5 20 Punkteberechnung: pro Sieg: 3 Punkte pro Unentschieden: 1 Punkt Platzierungskriterien: Punktzahl Tordifferenz erzielte Tore S: Siege U: Unentschieden N: Niederlagen 2002 Prof. Dr. Rainer Manthey Informationssysteme 20
DB-Tabellenformat für die Bundesliga-Tabelle Auch die (Bundesliga-)Tabelle liesse sich mit einer (Datenbank-)Tabelle modellieren: die doppelte Verwendung des Begriffs geschieht bewusst, der Unterschied zwischen beiden Bedeutungen ist wesentlich! Tabelle Verein Spiele S U N Punkte Tordifferenz Tore Gegentore Bayern 8 6 1 1 19 14 22 8... Text Zahl Zahl... Aber es ist keine so gute Idee, dies zu tun... (mehr dazu später)! 2002 Prof. Dr. Rainer Manthey Informationssysteme 21 Terminologievergleich: relationale Grundkonzepte Leider werden für die relationalen Grundkonzepte unterschiedliche Bezeichnungen verwendet, die als Synonyme zu betrachten sind: Theorie Praxis Access Relation Tabelle Datenblatt Tupel Zeile Datensatz Attribut Spalte Feldbezeichner Wertebereich Datentyp Felddatentyp Es wird dringend empfohlen, Begriffe immer konsistent aus einem der drei Begriffssysteme zu wählen - welches ist egal, Hauptsache konsequent! 2002 Prof. Dr. Rainer Manthey Informationssysteme 22