Einstieg in relationale Datenbanken mit MySQL (Folien)

  • View
    4.043

  • Download
    3

Embed Size (px)

DESCRIPTION

Folien zum Workshop "Einstieg in relationale Datenbanken mit MySQL", September 2009

Text of Einstieg in relationale Datenbanken mit MySQL (Folien)

  • 1. Einstieg in relationale Datenbankenmit MySQLDr. Kerstin PuschkeWorkshop, Uni SalzburgSeptember 2009K. Puschke MySQL

2. Lizenz Lizenz Dieser Text steht unter einer Creative Commons Attribution-Share Alike 3.0 Germany Lizenz, siehe http://creativecommons.org/licenses/by-sa/3.0/de/K. Puschke MySQL 3. Teil I: Einfhrung1 Grundbegriffe2 Architektur3 MySQL K. Puschke MySQL 4. Teil II: Datenbankabfragen4 berblick verschaffen5 Einfache Abfragen6 Ergebnisse einschrnken K. Puschke MySQL 5. Teil III: Datenbankdesign 7Einfhrung in die theoretischen Grundlagen8Datenbankdesign in der Praxis9Qualittssicherung10 Datenbank denieren K. Puschke MySQL 6. Teil IV: Datenbanksprachen 11 Allgemein12 SQLK. Puschke MySQL 7. Teil V: Datenbanken erzeugen und manipulieren 13 Daten eintragen, ndern, lschen14 Tabellen verknpfenK. Puschke MySQL 8. Teil VI: Vor- und Nachteile von Datenbanken 15 Datenbanken vs. Dateien16 Relationale DatenbanksystemeK. Puschke MySQL 9. Teil VII: Datenbanken manipulieren - Weitere Mglichkeiten 17 Aggregierte DatenK. Puschke MySQL 10. Grundbegriffe ArchitekturMySQL Teil I Einfhrung K. PuschkeMySQL 11. Grundbegriffe ArchitekturMySQL Einfhrung1 Grundbegriffe2 Architektur3 MySQL K. PuschkeMySQL 12. GrundbegriffeArchitektur MySQL Datenbanksystem Datenbank und Datenbankmanagementsystem Datenbanksystem dient der Speicherung und Verwaltungvon Daten besteht aus Datenbanken und Datenbankmanagementsystem (DBMS)Datenbank: strukturiert abgelegte Daten zu verwaltende Daten, z.B. Adressen Datenbankschema: Metadaten zur DatenbankdenitionDatenbankmanagementsystem: Software zur Verwaltungder Daten Datenbank denieren, erzeugen, manipulieren K. PuschkeMySQL 13. Grundbegriffe ArchitekturMySQL Einfhrung1 Grundbegriffe2 Architektur3 MySQL K. PuschkeMySQL 14. GrundbegriffeArchitektur MySQL Client und ServerDatenbankserver : Software, die Datenbankdienste (einDatenbanksystem) anbietetauch der Rechner, auf dem dieser Dienst luftAnwendung oder Client greift auf den Datenbankserver zuK. PuschkeMySQL 15. Grundbegriffe ArchitekturMySQL Architektur Mainframe Grorechner (Zugriff ber Terminals)Zwei-Schichten-Architektur Datenbankserver Anwendung, Client Anwendungslogik und Darstellung/BenutzerobercheDrei-Schichten-ArchitekturDatenbankserver Anwendung (Anwendungslogik) Webserver oder Anwendungsserver (Darstellung) Browser oder Client des Anwendugnsservers K. PuschkeMySQL 16. Grundbegriffe ArchitekturMySQL Einfhrung1 Grundbegriffe2 Architektur3 MySQL K. PuschkeMySQL 17. Grundbegriffe ArchitekturMySQL MySQL DBMSsehr verbreitet in Webanwendungenauch eingebettet in anderen Anwendungenschwedische Firma MySQL AB, jetzt Sun Microsystems,bernahme durch Oraclekostenlose Community-Version, freie Software (GPL)kostenpichtige Enterprise-Version K. PuschkeMySQL 18. Grundbegriffe ArchitekturMySQL MySQL Clients und Anwendungen Kommandozeilenclient mysql Webinterface phpmyadmin MySQL GUI Tools ... WebanwendungenMediaWikiWordPress... Anwendungen mit eingebetteter DatenbankZimbra... K. PuschkeMySQL 19. berblick verschaffen Einfache Abfragen Ergebnisse einschrnkenTeil IIDatenbankabfragenK. PuschkeMySQL 20. berblick verschaffen Einfache Abfragen Ergebnisse einschrnken Datenbankabfragen4 berblick verschaffen5 Einfache Abfragen6 Ergebnisse einschrnkenK. PuschkeMySQL 21. berblick verschaffenEinfache AbfragenErgebnisse einschrnken Aufgaben berblick verschaffen SHOW DATABASES, USE datenbank, SHOW TABLES, DESCRIBE tabelle K. PuschkeMySQL 22. berblick verschaffen Einfache Abfragen Ergebnisse einschrnken Erste BefehleSHOW DATABASES zeigt alle DatenbankenUSE datenbank whlt Datenbank datenbank ausSHOW TABLES zeigt Tabellen der gewhlten DatenbankDESCRIBE tabelle zeigt Spalten der Tabelle anK. PuschkeMySQL 23. berblick verschaffen Einfache Abfragen Ergebnisse einschrnken Datenbankabfragen4 berblick verschaffen5 Einfache Abfragen6 Ergebnisse einschrnkenK. PuschkeMySQL 24. berblick verschaffenEinfache AbfragenErgebnisse einschrnken Aufgaben Einfache Abfragen SELECT, ORDER BY, LIMIT, NULL K. PuschkeMySQL 25. berblick verschaffenEinfache AbfragenErgebnisse einschrnken Abfragen ISELECTverlangt Angabe von Spalte(n) und Tabellen, dieauszugeben sind * bedeutet alle Spalten der Tabelle SELECT Name,Vorname FROM KundInnen SELECT * FROM KundInnenORDER BYsortiert Ausgabe SELECT Name,Vorname FROM KundInnen ORDER BY Name K. PuschkeMySQL 26. berblick verschaffenEinfache AbfragenErgebnisse einschrnken Abfragen IILIMITbeschrnkt die Zahl der ausgegeben Eintrge hug mit ORDER BY kombiniert SELECT Name,Vorname FROM KundInnen LIMIT 5NULLKein Eintrag (z.B. fr Kundin Mller keine Telefonnummervermerkt): NULLNULLNULL ist etwas anderes als die Zahl Null oder ein leererString!K. PuschkeMySQL 27. berblick verschaffen Einfache Abfragen Ergebnisse einschrnken Datenbankabfragen4 berblick verschaffen5 Einfache Abfragen6 Ergebnisse einschrnkenK. PuschkeMySQL 28. berblick verschaffenEinfache AbfragenErgebnisse einschrnken Aufgaben Ergebnisse einschrnken WHERE, AND, OR, UNION,DISTINCT K. PuschkeMySQL 29. berblick verschaffen Einfache Abfragen Ergebnisse einschrnken Ergebnisse einschrnken IWHEREschrnkt Ergebnisse ein SELECT Name FROM KundInnen WHERE Stadt = Salzburg SELECT Name FROM KundInnen WHERE Vorname IS NULLK. PuschkeMySQL 30. berblick verschaffen Einfache Abfragen Ergebnisse einschrnken Ergebnisse einschrnken II AND und OR verknpfen mehrere BedingungenSELECT Name FROM KundInnen WHERE Stadt =Salzburg AND Vorname=ClaraK. PuschkeMySQL 31. berblick verschaffen Einfache Abfragen Ergebnisse einschrnken Abfragen einschrnken III UNIONvereinigt Ergebnisse (SELECT Name FROM KundInnen WHERE Stadt =Salzburg) UNION (SELECT Name FROM KundInnen WHERE Stadt = Wien)K. PuschkeMySQL 32. berblick verschaffenEinfache AbfragenErgebnisse einschrnken Ergebnisse einschrnken IV SELECT DISTINCTgibt nur unterschiedliche Ergebnisse aus SELECT DISTINCT Stadt FROM KundInnen K. PuschkeMySQL 33. Einfhrung in die theoretischen GrundlagenDatenbankdesign in der Praxis Qualittssicherung Datenbank denieren Teil III Datenbankdesign K. Puschke MySQL 34. Einfhrung in die theoretischen GrundlagenDatenbankdesign in der Praxis Datenbankmodell Qualittssicherung Datenbankschema Datenbank denieren Datenbankdesign 7 Einfhrung in die theoretischen GrundlagenDatenbankmodellDatenbankschema8 Datenbankdesign in der Praxis9 Qualittssicherung 10 Datenbank denierenK. Puschke MySQL 35. Einfhrung in die theoretischen GrundlagenDatenbankdesign in der Praxis Datenbankmodell Qualittssicherung Datenbankschema Datenbank denieren DatenbankmodellKonzept zur Beschreibung der Struktur einer Datenbankkonzeptionelles Modell: formale Beschreibung eines Teilsder Realitt K. Puschke MySQL 36. Einfhrung in die theoretischen GrundlagenDatenbankdesign in der Praxis Datenbankmodell Qualittssicherung Datenbankschema Datenbank denieren Konzeptionelles Modellformale Beschreibung eines Ausschnittes der Realittverbreitet: Entity-Relationship-Model(Gegenstand-Beziehungs-Modell) K. Puschke MySQL 37. Einfhrung in die theoretischen GrundlagenDatenbankdesign in der Praxis Datenbankmodell Qualittssicherung Datenbankschema Datenbank denieren DatenbankmodellKonzept zur Beschreibung der Struktur einer Datenbankkonzeptionelles Modell: formale Beschreibung eines Teilsder Realittlogisches Modell: Beschreibung der Implementierung K. Puschke MySQL 38. Einfhrung in die theoretischen GrundlagenDatenbankdesign in der Praxis Datenbankmodell Qualittssicherung Datenbankschema Datenbank denieren Logisches Modell Beschreibung der Implementierungverbreitete Modelle:netzwerkartighierarchischrelationalobjektorientiertobjektrelational... K. Puschke MySQL 39. Einfhrung in die theoretischen GrundlagenDatenbankdesign in der Praxis Datenbankmodell Qualittssicherung Datenbankschema Datenbank denieren Relationales Modell E.F. Codd (1970)hohe Verbreitung seit den 80er Jahren, z.B.MySQLPostgreSQLOracle...Datenbank als Sammlung von Relationen (Tabellen)Relation: Menge von Tupeln (Datenstzen, Zeilen)unsortiertkeine DuplikateSchema einer Relation (Tabellenstruktur) besteht ausAttributen (Spalten)K. Puschke MySQL 40. Einfhrung in die theoretischen GrundlagenDatenbankdesign in der Praxis Datenbankmodell Qualittssicherung Datenbankschema Datenbank denieren DatenbankmodellKonzept zur Beschreibung der Struktur einer Datenbankkonzeptionelles Modell: formale Beschreibung eines Teilsder Realittlogisches Modell: Beschreibung der Implementierungphysisches Modell: Datenspeicherung, Zugriffspfade K. Puschke MySQL 41. Einfhrung in die theoretischen GrundlagenDatenbankdesign in der Praxis Datenbankmodell Qualittssicherung Datenbankschema Datenbank denieren Physisches ModellWie werden die Daten gespeichert?Auf Platte geschrieben oder nur im Speicher gehalten?Wie auf Dateien aufgeteilt? Was fr Dateien?Indizierung K. Puschke MySQL 42. Einfhrung in die theoretischen GrundlagenDatenbankdesign in der Praxis Datenbankmodell Qualittssicherung Datenbankschema Datenbank denieren DatenbankschemaDatenbankschemaBeschreibung der Datenbankstrukturgespeichert als Metadaten in der Datenbankfolgt gewhlten Datenmodellenkonzeptionelles SchemaER-Modell: ER-Diagrammlogisches Schemarelationales Modell: Tabellen, Spalten, . . .physische Schema:Storage Engine und Indizierung K. Puschke MySQL 43. Einfhrung in die theoretischen Grundlagen Datenbankdesign in der Praxis DatenbankmodellQualittssicherung DatenbankschemaDatenbank denieren Datenbankzustand Datenbankzustand Daten zu einem bestimmten ZeitpunktK. Puschke MySQL 44. Einfhrung in die theoretischen Grundlagen AblaufDatenbankdesign in der Praxis Konzeptionelles Design: Entity-Relationship-Model Qualittssicherung Logisches Design: Relationales Schema Datenbank denierenPhysisches Design: Storage Engine Datenbankdesign7 Einfhrung in die theoretischen Grundlagen8 Datenbankdesign in der Praxis Ablauf Konzeptionelles Desig