Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 22. April 2013 - MySQL Sebastian Cuy sebastian.cuy@uni-koeln.de
Datenbanken Was sind eigentlich Datenbanken? Eine Datenbank [...] ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern und benötigte Teilmengen in unterschiedlichen, bedarfsgerechten Darstellungsformen für Benutzer und Anwendungsprogramme bereitzustellen. (Wikipedia)
Effizienz Laufzeit Speicherbedarf 000:48 001:000000048 002:19.09.1989 003:29.10.2002 005.001:89-22 014:Dt 16 Nk 61 015:dt 027:V 031.001:89-0000047 040.001:SRZ47 098:konv-17 099:15-97 100.001:Singer, Rudolf 331:Das Recht auf Arbeit in geschichtlicher Darstellung 359:Von Rudolf Singer 410.001:Jena 412.001:Fischer 425:1895 433:VI, 84 S. 575:ad19b 710.001:Recht auf Arbeit 000:172 001:000000172 002:28.09.1989 003:29.10.2002 005.001:89-381 014:Dt 15 Dk 386 015:dt 027:V 031.001:89-0000172 040.001:SRZ59 098:konv-16 099:19-96 100.001:Bolley, Heinrich Ernst Ferdinand 331:äber Vermögens-äbergaben und Guts-Abtretungen 335.001:Anträge zu einem umfassenden Gesetz über diesen hochwichtigen Gegenstand, mit deren Begründung...
Konsistenz 000:48 001:000000048 002:19.09.1989 003:29.10.2002 005.001:89-22 014:Dt 16 Nk 61 015:dt 027:V 031.001:89-0000047 040.001:SRZ47 098:konv-17 099:15-97 100.001:Singer, Rudolf 331:Das Recht auf Arbeit in geschichtlicher Darstellung 359:Von Rudolf Singer 410.001:Jena 412.001:Fischer 425:1895 433:VI, 84 S. 575:ad19b 710.001:Recht auf Arbeit 000:172 001:000000172 002:28.09.1989 003:29.10.2002 005.001:89-381 014:Dt 15 Dk 386 015:dt 027:V 031.001:89-0000172 040.001:SRZ59 098:konv-16 099:19-96 100.001:Bolley, Heinrich Ernst Ferdinand 331:äber Vermögens-äbergaben und Guts-Abtretungen 335.001:Anträge zu einem umfassenden Gesetz über diesen hochwichtigen Gegenstand, mit deren Begründung...
Konsistenz Bereichsintegrität Referentielle Integrität 000:48 001:000000048 002:19.09.1989 003:29.10.2002 005.001:89-22 014:Dt 16 Nk 61 015:dt 027:V 031.001:89-0000047 040.001:SRZ47 098:konv-17 099:15-97 100.001:Singer, Rudolf 331:Das Recht auf Arbeit in geschichtlicher Darstellung 359:Von Rudolf Singer 410.001:Jena 412.001:Fischer 425:Offensichtlicher Mist 433:VI, 84 S. 575:foobar42 710.001:Recht auf Arbeit 000:172 001:000000172 002:28.09.1989 003:29.10.2002 005.001:89-381 014:Dt 15 Dk 386 015:dt 027:V 031.001:89-0000172 040.001:SRZ59 098:konv-16 099:19-96 100.001:Bolley, Heinrich Ernst Ferdinand 331:äber Vermögens-äbergaben und Guts-Abtretungen 335.001:Anträge zu einem umfassenden Gesetz über diesen hochwichtigen Gegenstand, mit deren Begründung...
Persistenz dauerhaft nicht flüchtig
Datenbanken Was sind eigentlich Datenbanken? Eine Datenbank [...] ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern und benötigte Teilmengen in unterschiedlichen, bedarfsgerechten Darstellungsformen für Benutzer und Anwendungsprogramme bereitzustellen. (Wikipedia)
Ort Typ Name Preis Datum Mensa Robert Koch Str. Vegetarisch Vollkorn-Nudelpfanne 2.20 22.04.2013 Uni Mensa Tellergericht XXL Knusperschnitzel 3.10 19.04.2013............... Typ Name Preis Vegetarisch Vollkorn-Nudelpfanne 2.20.........?
Ort Typ Name Preis Datum Mensa Robert Koch Str. Vegetarisch Vollkorn-Nudelpfanne 2.20 22.04.2013 Uni Mensa Tellergericht XXL Knusperschnitzel 3.10 19.04.2013............... Typ Name Preis Vegetarisch Vollkorn-Nudelpfanne 2.20.........?
Ort Typ Name Preis Datum Mensa Robert Koch Str. Vegetarisch Vollkorn-Nudelpfanne 2.20 22.04.2013 Uni Mensa Tellergericht XXL Knusperschnitzel 3.10 19.04.2013............... Typ Name Preis Vegetarisch Vollkorn-Nudelpfanne 2.20.........
Datenbankabfrage Welche Gerichte gibt es heute in der kleinen Mensa? Zeige Typ, Name und Preis aller Gerichte, die es am 22.04.2013 in der Mensa Robert Koch Str. gibt. SELECT Typ, Titel, Preis FROM gerichte WHERE Datum = '2013-04-22' AND Ort = 'Mensa Robert Koch Str.'
SQL Structured Query Language Standardisierte Datenbanksprache Wird unterstützt von folgenden Datenbankmanagementsystemen: MySQL, PostgreSQL, SQLite, Oracle, MSSQL,...
Begriffe 1 Datenbank Software Daten Instanz Gruppe von Tabellen
Begriffe 2 Kategorisierung von Datenbanksprachen Data Manipulation Language (DML) Data Definitition Language (DDL) Data Control Language (DCL) Data Retrieval/Query Language (DRL / DQL)
SQL CREATE DATABASE db_name; CREATE DATABASE universitaet;
SQL CREATE TABLE table_name ( col_name type [DEFAULT default_value] [UNIQUE] [,...] ); CREATE TABLE student ( matrikelnr INT(10) UNIQUE, vorname VARCHAR(100), name VARCHAR(100), geburtsdatum DATE, semester INT(3) DEFAULT 1 );
SQL INSERT INTO table_name SET col_name = value,...; oder: INSERT INTO table_name [(col_name,...)] VALUES (value,...),... ; INSERT INTO student SET matrikelnr = 234251, vorname = 'Max', name = 'Meyer', geburtsdatum = '1942-5-23'; INSERT INTO student (matrikelnr, vorname, name, geburtsdatum) VALUES (234251, 'Max', 'Meyer', '1942-5-23'), (513419, 'Lisa', 'Müller', '1941-4-22');
SQL SELECT col_names FROM table_name WHERE condition [ ORDER BY col_name [ASC DESC] ] [ LIMIT row_count ] [ OFFSET offset ]; SELECT vorname, nachname FROM student WHERE semester > 10; SELECT * FROM student WHERE name LIKE 'M%' ORDER BY vorname ASC;
SQL UPDATE table_name SET col_name = value,... WHERE condition; UPDATE student SET name = 'Müller' WHERE matrikelnr = 234251;
Aufgaben
Achtung: Lösungen bitte als Plaintextdatei bis Freitag 12 Uhr an sebastian.cuy@uni-koeln.de
Aufgabe 1 Erstellen Sie (mit SQL) eine Datenbank bibliothek. Erstellen Sie eine Tabelle literatur, in die Sie die auf der Seminarseite verlinkten Daten importieren können und importieren Sie sie.
Aufgabe 2 Schreiben Sie SELECT-Queries für folgende Datenbankabfragen: Alle Datensätze der Reihe ASR Titel und Erscheinungsjahr aller vor 1900 publizierten Bücher Die Titel der von Robert Carl publizierten Bücher, sortiert in absteigender Reihenfolge nach dem Erscheinungsjahr Autoren, die (laut Titel) über Sarkophage schreiben
Aufgabe 3 Schreiben Sie einen oder mehrere INSERT- Befehle um die Bücher des Seminarapparats in die in Aufgabe 1 erstellte Tabelle einzufügen. Löschen Sie den Datensatz zum Buch Die dionysischen Sarkophage aus dem Jahr 1974.
Aufgabe 4 Formulieren Sie UPDATE-Kommandos für folgende Aufgaben: Setze alle Erscheinungsorte auf Köln Ersetze den Vornamen Carl durch Karl Addiere 1 zum Erscheinungsjahr aller Bücher von Clarac Ersetze Vaticanischen im Titel durch Vatikanischen