1. Datenbanktechnologie
mit praktischen Übungen in MySQL und PHP
Übung, Sommersemester 2013
08. April 2013 - Einführung
Sebastian Cuy
sebastian.cuy@uni-koeln.de
Universität zu Köln
3. Voraussetzungen
• Formal: keine.
• Aber:
• HTML-Kenntnisse sollten vorhanden sein
• Der parallele Besuch des Propädeutikums
wird dringend empfohlen!
Universität zu Köln
4. Aufgaben
• Bearbeitung während der Sitzungen
• Bis Freitag Mittag (12 Uhr) per E-Mail an:
sebastian.cuy@uni-koeln.de
• Gelten als Anwesenheitsnachweis
• Dürfen unvollständig sein
Universität zu Köln
5. Sitzungsmaterial
• http://www.hki.uni-koeln.de/
Veranstaltungen > Sommersemester 2013 > Übungen > Datenbanktechnologie
oder
• http://www.hki.uni-koeln.de/display_course/230
Universität zu Köln
7. Datenbanktechnologie
mit praktischen Übungen in MySQL und PHP
oder
Web-Ent wicklung
Universität zu Köln
8. Web-Entwicklung?
• Am Ende der Übung werden Sie in der Lage
sein, dynamische Webanwendungen wie
• einen Blog,
• ein Forum,
• ein Wiki,
• das nächste Facebook ...
• zu programmieren! Universität zu Köln
9. Statische Websites
Client Server
http://example.org/
linsensuppe.html
Request
Browser Webserver
Response
linsensuppe.html
Dateisystem
Universität zu Köln
10. Probleme
• Suchergebnislisten
• User-generated-content
Quelle: http://www.flickr.com/photos/thefangmonster/490423135/
• Unterschiedliche
Ausgabeformate
• ...
Universität zu Köln
11. Dynamische Websites
http://example.org/
seite.php?suche=Linsensuppe
Request
Browser Webserver
Response
seite.html
Programm
Universität zu Köln
Datenbank
12. LAMP
• Linux
• Apache
• MySQL
• PHP (oder Perl oder Python)
Universität zu Köln
13. LAMP
Betriebssystem
Webserver
• Linux
• Apache
Programm • MySQL
• PHP (oder Perl oder Python)
Datenbank
‣ ebenso: WAMP, XAMP
oder allgemein
MAMP
Universität zu Köln
14. Woher bekomme ich
so ein XAMP?
• Apache, MySQL, PHP
separat installieren und
konfigurieren
• Bundles
• XAMPP, EasyPHP,
MAMP, ...
Universität zu Köln
15. Woher bekomme ich
so ein XAMP?
• Platform as a Service
(PaaS)
• Virtuelle Maschine „in der
Cloud“
• Vorinstallierter Software-
Stack
• Oft kostenlose
Einsteigerpakete Bildquelle: http://thegadgetsquare.com/1552/what-is-cloud-computing/
• z.B.: AppFog, Orchestra, Heroku,
Windows Azure, ...
Universität zu Köln
17. MySQL
• Relationale Datenbank
•
Matrikelnr Vorname Nachname
Organisiert
Datensätze in Tabellen 26120 Ernst Meyer
• Unterstützt die 25403 Heidi Müller
Datenbanksprache SQL 27103 Donald Knuth
• Client- / Server-System
Universität zu Köln
18. phpMyAdmin
• In PHP geschriebene
Webanwendung
• Administrationstool für
MySQL.
Universität zu Köln
19. Datentypen
• Allgemeine Notation: DATENTYP(LÄNGE)
• Numerische Datentypen:
- INT, FLOAT, DOUBLE, ...
• Beispiele: Matrikelnummer, Preis
• String-Datentypen
- CHAR, VARCHAR, TEXT, ...
• Beispiele: Name, Kommentar
• Datums- und Zeitangaben
- DATE, TIME, DATETIME, TIMESTAMP, ...
• Beispiele: Geburtsjahr, Zeitpunkt der letzten Änderung
Universität zu Köln
20. Vergleichsoperatoren
• Gleich: „=“ • Stringvergleich: „LIKE“
• Ungleich: „<>“, „!=“ • case insensitive
• Größer: „>“ • Erlaubt Platzhalter:
• Kleiner: „>“ • Ein beliebiges
Zeichen: „_“
• Mehrere beliebige
Zeichen: „%“
Universität zu Köln
21. Literatur
• Florence, Maurice: PHP 5.3 + MySQL 5.1. Der Einstieg in die Programmierung
dynamischer Websites. München: Addison-Wesley, 2009.
• Kofler, Michael; Öggl, Bernd: PHP 5.3 & MySQL 5.1. Grundlagen,
Programmiertechniken, Beispiele. München: Addison-Wesley, 2008.
• Elmasri, Ramez; Navathe, Shamkant B.: Fundamentals Of Database Systems.
Third Edition. Boston u. a.: Addison-Wesley, 2000.
• Lerdorf, Rasmus; Tatroe, Kevin: Programmieren mit PHP. Dynamische
Webseiten erstellen. Köln: O'Reilly, 2001.
• Kofler, Michael: MySQL. Einführung, Programmierung, Referenz. München:
Addison-Wesley, 2001.
• Günther, Ulrich: PHP. Ein praktischer Einstieg. Köln: O'Reilly, 2003.
• Goller, Heiko: Das LAMP-Buch: Webserver mit Linux, Apache, MySQL und
PHP. Nürnberg: SuSE-Press, 2002.
Universität zu Köln
23. Aufgabe 1
• Besorgen Sie sich ein kostenloses „MySQL
as a Service“ bei xeround.com.
• Als Institution können Sie „Universität Köln“ angeben
• Bei der erwarteten Größe wählen Sie „0.5GB“
• Erstellen Sie eine neue Datenbankinstanz
(Xeround FREE)
Universität zu Köln
24. Aufgabe 2
• Erstellen Sie in phpMyAdmin (auf DNS-
Name klicken) eine neue Datenbank
„uebung“.
• Erstellen Sie eine Tabelle „literatur“ mit
folgenden Feldern:
• Titel, Autor,Verlag, Erscheinungsort, Erscheinungsjahr
• Fügen Sie Datensätze für die Bücher in der
Literaturliste des Seminars in die Tabelle ein.
Universität zu Köln
25. Aufgabe 3
• Benutzen Sie das Suchinterface um folgende
Abfragen zu formulieren:
• Zeige alle Bücher, die
• im Verlag „ Addison-Wesley“ erschienen sind
• die Zeichenkette „PHP“ im Titel tragen
• im Jahr 2003 oder später erschienen sind
Universität zu Köln