Relationale DB: Einführung Kapitel 2 Relationale RelationaleDatenbanken: Datenbanken: eine eineanwendungsorientierte anwendungsorientierte Einführung Einführung – Kapitel 2 – © 2002 Prof. Dr. Rainer Manthey Informationssysteme 1 Vorgehensweise in Kapitel 2 Kapitel 2 Methodische Vorgehensweise in diesem Kapitel: Grundbegriffe Grundbegriffe relationaler relationaler Datenbanken Datenbanken Microsoft MicrosoftAccess Access for forBeginners Beginners • • • • Praxis • anwendungsorientiert • "Schnupperkurs" Beide Seiten sind wichtig: © 2002 Prof. Dr. Rainer Manthey Theorie Prinzipdiskussion wissenschaftliches Fundament Lernen Lernenohne ohneAnwenden Anwendennützt nütztnicht nichtviel viel!! Informationssysteme 2 Relationale Datenbanken: Allgemeines Kapitel 2 • 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" Kapitel 2 mathematisches mathematischesRelationskonzept Relationskonzept • Jede Teilmenge R eines Produkts D1 × . . . × Dn von n (n > 1) nicht notwendig verschiedenen Mengen D1, . . . , Dn heisst (n-stellige) Relation über D1, . . . , Dn. • Das (kartesische) Produkt (oder: Kreuzprodukt) von D1, . . . , Dn ist die Menge aller (n-)Tupel, die aus Elementen von D1, . . . , Dn gebildet werden können: DD1 × . . . × Dn ==def {{((aa1, ,. .. .. ., ,aan )) | | aai ∈∈DDi }} 1 × ...× D n def 1 n i i • Mengen sind duplikatfreie, ungeordnete Sammlungen von Objekten. "Unter "Untereiner einerMenge Mengeverstehen verstehenwir wireine eineZusammenfassung Zusammenfassung von von bestimmten bestimmtenwohlunterschiedenen wohlunterschiedenenObjekten Objektenunserer unsererAnschauung Anschauung oder oderunseres unseresDenkens Denkenszu zueinem einemGanzen." Ganzen." Georg Cantor (1845-1918), Begründer der Mengenlehre © 2002 Prof. Dr. Rainer Manthey Informationssysteme 4 Beispiel für Produktbildung bei Mengen Kapitel 2 B 5 1 7 A A × B © 2002 Prof. Dr. Rainer Manthey ( , 1) ( , 5) ( , 7) ( ( , 1) , 1) ( ( , 5) , 5) ( ( , 7) , 7) ( , 1) ( , 5) ( , 7) Informationssysteme 5 Relation als Teilmenge eines Produkts und Tabellendarstellung Kapitel 2 2-stellige Relation über A, B A × B ( , 1) ( , 5) ( , 7) ( ( , 1) , 1) ( ( , 5) , 5) ( ( , 7) , 7) ( , 1) ( , 5) ( , 7) A Darstellung dieser Relation im Tabellenformat: B 5 5 5 5 © 2002 Prof. Dr. Rainer Manthey Informationssysteme 6 Relationale Datenbanken: Geschichte Kapitel 2 • 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 Fürdiese diesePionierleistung Pionierleistungerhielt erhieltCodd Codd 1982 1982den denTuring TuringAward Awardder derACM, ACM, den den"Nobelpreis "Nobelpreisder derInformatik". Informatik". © 2002 Prof. Dr. Rainer Manthey "A Relational Model of Data for Large Shared Data Banks", in der er alle Grundlagen der heutigen relationalen DB in bestechender Klarheit niederlegte. Informationssysteme 7 Microsoft Access: Allgemeine Informationen Kapitel 2 • 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 Kapitel 2 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 ? Kapitel 2 Warum Warumwird wirdAccess Accessin indieser dieserVorlesung Vorlesungverwendet 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 , ititcan Andby bythe theway way, canbe begreat greatfun, fun,folks folks!! © 2002 Prof. Dr. Rainer Manthey Informationssysteme 10 Tabelle vs. Relation Kapitel 2 • terminologischer "Konflikt" bei der Bezeichnung für die wichtigste Form von Datenbankobjekten: Tabelle Tabelleoder oderRelation 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 Tabelle −− 2-2-dim. dim. Array Arrayaus ausZeilen/Spalten Zeilen/Spalten −− geordnet geordnet −− doppelte doppelteZeilen Zeilenmöglich möglich Relation Relation −−Menge Mengevon vonTupeln Tupeln geordnet −−un ungeordnet −−duplikat frei 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 Kapitel 2 1. Beispiel-Datenbank: Bundesliga-Datenbank Bundesliga-Datenbank • . . . enthält Ergebnisse aller Spiele der 1. FußballBundesliga 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 Kapitel 2 Ergebnisübersicht des 8. Spieltags am 5.10.2002: Hertha HerthaBSC BSCBerlin Berlin --1.1.FC FCNürnberg Nürnberg VfL VfLWolfsburg Wolfsburg--Bayer BayerLeverkusen Leverkusen Bayern BayernMünchen München --VfL VfLBochum Bochum Werder Bremen FC Hansa Werder Bremen - FC HansaRostock Rostock Hannover Hannover96 96--Borussia BorussiaDortmund Dortmund Mönchengladbach Mönchengladbach--Arminia ArminiaBielefeld Bielefeld FC FCSchalke Schalke04 04--Hamburger HamburgerSV SV VfB VfBStuttgart Stuttgart--TSV TSV1860 1860München München 1.1.FC Kaiserslautern Energie FC Kaiserslautern - EnergieCottbus Cottbus Heimspiel 2:1 2:1 2:0 2:0 4:1 4:1 0:0 0:0 0:3 0:3 3:0 3:0 3:0 3:0 4:1 4:1 4:0 4:0 Ergebnisse 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 Kapitel 2 Hertha HerthaBSC BSCBerlin Berlin --1.1.FC FCNürnberg Nürnberg . .. .. . 2:1 2:1 Feldnamen Tabellenname Spiele2002 Heim Hertha Hertha . .. .. . Felddatentypen © 2002 Prof. Dr. Rainer Manthey Text ToreH 22 Zahl Auswärts ToreA Datum Nürnberg Nürnberg Text Informationssysteme 11 5.10.02 5.10.02 Zahl Datum Datensatz 14 Access-Tabelle für Spiele: Datenblattansicht Kapitel 2 Access-Tabelle "Spiele2002": Datenblattansicht © 2002 Prof. Dr. Rainer Manthey Informationssysteme 15 Access-Tabelle für Spiele: Entwurfsansicht Kapitel 2 Access-Tabelle "Spiele2002": Entwurfsansicht © 2002 Prof. Dr. Rainer Manthey Informationssysteme 16 Access-Pragmatik Access-Pragmatik:: Menüleisten für Tabellenentwurf und -manipulation -manipulation Kapitel 2 • in der Entwurfssicht: 1 2 Wechseln in die alte Datenblattsicht (vor Entwurfsänderung) Abspeichern des aktuellen Entwurfs (vor Öffnen des Datenblatts) • in der Datenblattsicht: 1 12/13 17 © 2002 Prof. Dr. Rainer Manthey Wechseln in die Entwurfssicht Ordnen der Daten nach einem oder mehreren Feldern Suchen mittels "pattern matching" im Datenblatt Informationssysteme 17 DB-Begriffe: Schema und Zustand einer Datenbank Kapitel 2 • Den beiden unterschiedlichen "Ansichten" einer Tabelle in Access entsprechen zwei grundlegende Begriffe der relationalen Datenbanken: Entwurfsansicht Schema Schemaund undZustand 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 Kapitel 2 Schema1 Schema2 Instanzen des Schemas Zustände aktueller Zustand © 2002 Prof. Dr. Rainer Manthey Informationssysteme 19 Bundesliga-DB: Bundeliga-Tabelle Bundeliga-Tabelle Kapitel 2 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 Bayern 8 Dortmund 8 Werder 8 Schalke 8 Rostock 8 Wolfsburg 8 Hertha 8 Gladbach 8 Bochum 8 1860 8 Stuttgart 8 Bielefeld 8 Nürnberg 8 HSV 8 Leverkusen 8 Hannover 8 1.FCK 8 Cottbus 8 S 6 4 5 4 4 4 3 3 3 3 2 3 3 3 2 2 1 1 © 2002 Prof. Dr. Rainer Manthey U 1 4 1 3 1 1 3 2 2 2 4 1 0 0 2 1 3 1 N Punkte Tordifferenz Tore Gegentore 1 19 14 22 8 0 16 7 12 5 2 16 3 14 11 1 15 6 12 6 3 13 5 11 6 3 13 1 8 7 2 12 2 9 7 3 11 4 10 6 3 11 2 16 14 3 11 -1 11 12 2 10 3 14 11 4 10 -6 9 15 5 9 -4 10 14 5 9 -6 9 15 4 8 -4 12 16 5 7 -7 11 18 4 6 -4 7 11 6 4 -15 5 20 Informationssysteme Punkteberechnung: • pro Sieg: 3 Punkte • pro Unentschieden: 1 Punkt Platzierungskriterien: • Punktzahl • Tordifferenz • erzielte Tore S: Siege U: Unentschieden N: Niederlagen 20 DB-Tabellenformat für die Bundesliga-Tabelle Kapitel 2 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 Bayern Bayern . .. .. . Text Spiele S U N Punkte Tordifferenz 88 66 11 11 19 19 14 14 Tore Gegentore 22 22 88 Zahl Zahl . . . Aber es ist keine so gute Idee, dies zu tun . . . (mehr dazu später) ! © 2002 Prof. Dr. Rainer Manthey Informationssysteme 21 Terminologievergleich: Terminologievergleich: relationale Grundkonzepte Kapitel 2 Leider werden für die relationalen Grundkonzepte unterschiedliche Bezeichnungen verwendet, die als Synonyme zu betrachten sind: Theorie Praxis Access Relation Relation Tabelle Tabelle Datenblatt Datenblatt Tupel Tupel Zeile Zeile Datensatz Datensatz Attribut Attribut Spalte Spalte Feldbezeichner Feldbezeichner Wertebereich Wertebereich Datentyp Datentyp Felddatentyp 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