Die SQL-Syntax für den Befehl CREATE TABLE sieht folgendermassen aus:

Größe: px
Ab Seite anzeigen:

Download "Die SQL-Syntax für den Befehl CREATE TABLE sieht folgendermassen aus:"

Transkript

1 Einführung in MySQL SQL (Structured Query Language) ist eine Computersprache zum Speichern, Bearbeiten und Abfragen von Daten in relationalen Datenbanken. Eine relationale Datenbank kann man sich als eine Sammlung von Tabellen (den Relationen) vorstellen, in welchen Datensätze abgespeichert sind. Jede Zeile (Tupel) in einer Tabelle ist ein Datensatz. Jedes Tupel besteht aus einer Reihe von Attributen (Eigenschaften), den Spalten der Tabelle. Eine erste Version von SQL erschien 1974, als eine Arbeitsgruppe bei IBM den ersten Prototyp einer relationalen Datenbank entwickelte. Die erste kommerzielle relationale Datenbank wurde von Relational Software (der späteren Firma Oracle) auf den Markt gebracht. SQL-Befehle zur Tabellen-Bearbeitung CREATE TABLE Tabellen stellen die Grundstruktur für die Speicherung von Daten in der Datenbank dar. Da der Datenbankanbieter in den meisten Fällen nicht im Voraus wissen kann, wie Ihre Anforderungen an die Datenspeicherung genau aussehen, ist davon auszugehen, dass Sie die Tabellen in der Datenbank selbst erzeugen müssen. Bevor wir näher auf die SQL-Syntax für CREATE TABLE eingehen, sollten wir zunächst verstehen, wie eine Tabelle aufgebaut ist. Tabellen sind in Zeilen und Spalten aufgeteilt. Bei einer Tabelle für Kundendaten könnten die Spalten beispielsweise Informationen wie Vorname, Nachname, Strasse, Wohnort, Land, Geburtsdatum usw. enthalten. Bei der Definition einer Tabelle, geben wir dementsprechend die Spaltenkopfzeilen und die Datentypen für die jeweilige Spalte an. Wenn wir eine Tabelle definieren, müssen wir für jede Spalte den zugehörigen Datentyp angeben (z. B. für 'Vorname' den Typ CHAR(50), also einen aus 50 Zeichen bestehenden String). Die SQL-Syntax für den Befehl CREATE TABLE sieht folgendermassen aus: CREATE TABLE "Tabellen_Name" ("Spalte 1" "Datentyp_für_Spalte_1", "Spalte 2" "Datentyp_für_Spalte_2",... ); Zur Erstellung der oben beschriebenen Kundentabelle würden wir also eingeben (mit Angabe von Datentypen): CREATE TABLE KUNDE ( Kunde_ID INT NOT NULL AUTO_INCREMENT, Nachname VARCHAR( 30 ) NOT NULL, Vorname VARCHAR( 20 ) NOT NULL, Strasse VARCHAR( 40 ) NOT NULL, PLZ VARCHAR( 10 ) NOT NULL, Ort VARCHAR( 30 ) NOT NULL, Geburtsdatum DATE NOT NULL);

2 INSERT INTO Wie gelangen die Datenzeilen in die Tabellen? Um diese Frage geht es in den nächsten Abschnitten, welche die Anweisungen INSERT und UPDATE behandeln. In SQL gibt es im Wesentlichen zwei Methoden zum Einfügen (INSERT) von Daten in eine Tabelle: Bei der einen wird jeweils eine Zeile eingefügt und bei der anderen mehrere gleichzeitig. Sehen wir uns zunächst den Befehl zum Einfügen (INSERT) einzelner Datenzeilen an. Die Syntax für die entsprechende Funktion sieht folgendermassen aus: INSERT INTO "Tabellen_Name" ("Spalte1", "Spalte2",...) VALUES ("Wert1", "Wert2",...); Beispielsweise könnten wir in oben erstellter Tabelle KUNDE folgende Einträge vornehmen: INSERT INTO `KUNDE` (`Kunde_ID`, `Nachname`, `Vorname`, `Strasse`, `PLZ`, `Ort`, `Geburtsdatum`) VALUES (NULL, 'Sorglos', 'Susi', 'Himmelsweg 7', '5555', 'Sternlingen', ' '), (NULL, 'Masorati', 'Ricki', 'Schnellstrasse 200', '1001', 'Rasingen', ' '), (NULL, 'Ratlos', 'Rudi', 'Schwermutgasse 3', '9998', 'Stahlikon', ' '); Hinweis: Beachten Sie bitte, dass die Attributwerte mit einfachen Anführungszeichen versehen sein müssen. UPDATE In bestimmten Fällen kann es erforderlich sein, bereits vorhandene Daten zu aktualisieren. Dies können wir mit dem Befehl UPDATE tun. Die entsprechende Syntax lautet: UPDATE "Tabellen_Name" SET "Spalte1" = [Wert] WHERE {Bedingung};

3 ALTER TABLE Nach der Erstellung einer Tabelle in der Datenbank gibt es viele Anlässe für die Änderung der Struktur dieser Tabelle. Typische Vorgänge sind: Spalten hinzufügen Spalten löschen Spaltennamen ändern Datentyp einer Spalte ändern Beachten Sie bitte, dass es sich hierbei nicht um eine vollständige Liste handelt. Der Befehl ALTER TABLE wird auch bei anderer Gelegenheit verwendet, beispielsweise zum Ändern der Primärschlüsseldefinition. Die SQL-Syntax für den Befehl ALTER TABLE sieht folgendermassen aus: ALTER TABLE "Tabellen_Name" [Alter Spezifikation]; [Alter Spezifikation] hängt von der Art der gewünschten Änderung ab. Für die oben aufgeführten Anwendungszwecke lauten die entsprechenden Anweisungen: Spalte hinzufügen: ADD "Spalte 1" "Datentyp für Spalte 1"; Spalte löschen: DROP "Spalte 1"; Spaltenname ändern: CHANGE "alter Spaltenname" "neuer Spaltenname" "Datentyp für neuen Spaltennamen"; Datentyp einer Spalte ändern: MODIFY "Spalte 1" "neuer Datentyp"; Es folgen nun Übungen für die einzelnen Vorgänge, unter Verwendung der im Abschnitt CREATE TABLE erzeugten "Kunden"-Tabelle. Zunächst fügen wir eine Spalte "Geschlecht" (1 Zeichen) zu dieser Tabelle hinzu. Wie heisst der Befehl? Als nächstes benennen wir die Spalte "Strasse" in "Str." (max. 50 Zeichen) um. Wie heisst der Befehl? Dann ändern wir den Datentyp der Spalte "Ort" zu CHAR(30). Wie heisst der Befehl? Schliesslich löschen wir die Spalte "Geschlecht" wieder. Wie heisst der Befehl?

4 Primärschlüssel Ein Primärschlüssel dient der eindeutigen Identifizierung der einzelnen Zeilen in einer Tabelle. Er kann entweder Teil des eigentlichen Datensatzes oder ein künstliches Feld sein (das mit dem Datensatz nichts zu tun hat). Ein Primärschlüssel kann aus einem oder mehreren Feldern einer Tabelle bestehen. Primärschlüssel, die aus mehreren Attributen bestehen, werden als zusammengesetzte Schlüssel bezeichnet. Primärschlüssel können entweder bei der Erstellung der Tabelle (mit CREATE TABLE) oder bei der Änderung der vorhandenen Tabellenstruktur (mit ALTER TABLE) definiert werden. Definition eines Primärschlüssels während der Erzeugung einer Tabelle: CREATE TABLE KUNDE (Kunde_ID integer PRIMARY KEY, Nachname_Name varchar(30), Vorname varchar(30)); Definition eines Primärschlüssels während der Änderung einer Tabelle: ALTER TABLE KUNDE ADD PRIMARY KEY (Kunde_ID); Hinweis: Vor Verwendung des Befehls ALTER TABLE zur Hinzufügung eines Primärschlüssels müssen Sie sicherstellen, dass das entsprechende Feld als 'NOT NULL' definiert ist, d.h. NULL ist kein akzeptabler Wert für dieses Feld. Fremdschlüssel Ein Fremdschlüssel ist ein Feld (oder mehrere Felder), das auf den Primärschlüssel einer anderen Tabelle verweist. Zweck des Fremdschlüssels ist es, die referentielle Integrität der Daten sicherzustellen. Die referentielle Integrität verhindert bei Löschprozessen das Entstehen von verwaisten Datensätzen: Nehmen wir zum Beispiel an, es liegen zwei Tabellen vor, eine Kundentabelle mit allen Kundendaten und eine Bestellungstabelle mit allen Kundenaufträgen. Die Bedingung lautet nun, dass alle Aufträge einem bereits in der Kundentabelle verzeichneten Kunde zugewiesen sein müssen. In diesem Fall platzieren wir einen Fremdschlüssel in die Bestellungstabelle und setzen ihn in Bezug zum Primärschlüssel der Kundentabelle. Auf diese Weise ist sichergestellt, dass alle Aufträge in der Bestellungstabelle einem Kunden in der Kundentabelle zugeordnet sind. Mit anderen Worten, die Bestellungstabelle kann keine Daten zu einem Kunden enthalten, der nicht in der Kundentabelle aufgeführt ist. Die beiden Tabellen sind wie folgt strukturiert: Tabelle KUNDE Spaltenname Kunde_ID Nachname Vorname Merkmal Primärschlüssel Tabelle BESTELLUNGEN Spaltenname Merkmal Bestellung_ID Primärschlüssel Kunde_ID Fremdschlüssel Bestelldatum Im oben stehenden Beispiel ist die Spalte KUNDE_ID in der Tabelle BESTELLUNGEN ein Fremdschlüssel, der auf die Spalte Kunde_ID der Tabelle KUNDE verweist.

5 Es folgen Beispiele für die Definition des Fremdschlüssels während der Erzeugung der Tabelle BESTELLUNGEN: CREATE TABLE BESTELLUNGEN (Bestellung_ID integer, Kunde_ID integer, Bestelldatum DATE, PRIMARY KEY (Bestellung_ID), FOREIGN KEY (Kunde_ID) REFERENCES KUNDE (Kunde_ID)); Nachträgliches Einfügen des Fremdschlüssels in die Tabelle BESTELLUNGEN: ALTER TABLE BESTELLUNGEN ADD FOREIGN KEY (Kunde_ID) REFERENCES KUNDE (Kunde_ID); DROP TABLE Manchmal ist es wünschenswert, eine Tabelle aus der Datenbank zu löschen. Zum Glück gibt es mit DROP TABLE einen entsprechenden SQL-Befehl: DROP TABLE "Tabellen_Name"; DELETE FROM Manchmal ist es wünschenswert, Datensätze aus einer Tabelle zu entfernen. Dies können wir mit dem Befehl DELETE FROM erreichen. Die entsprechende Syntax lautet: DELETE FROM "Tabellen_Name" WHERE {Bedingung}; Am einfachsten lässt sich dies mit einem Beispiel verdeutlichen. Nehmen wir an, dass folgende Tabelle vorliegt, die Sie zuerst mit CREATE TABLE und INSERT INTO noch erzeugen müssen: Tabelle TAGESUMSAETZE Filiale Betrag Datum Los Angeles 1500 SFr. 05.Jan.1999 San Diego 250 SFr. 07.Jan.1999 Los Angeles 300 SFr. 08.Jan.1999 Boston 700 SFr. 08.Jan.1999 und wir möchten alle Daten zu Los Angeles aus dieser Tabelle entfernen. Dazu verwenden wir folgende SQL-Anweisung:

6 SQL-Abfrage-Befehle SELECT Eine häufige Anwendung ist die Auswahl von Daten aus den Tabellen einer Datenbank. Und damit kommen wir schon zu zwei Schlüsselwörtern: wir wählen (SELECT) Daten aus (FROM) einer Tabelle. SELECT "Spalten_Name" {, "Spalten_Name"} FROM "Tabellen_Name"; Wollen wir alle Datensätze einer Tabelle ausgeben, so geben wir folgenden SQL-Befehl ein: SELECT * FROM "Tabellen_Name"; WHERE Nehmen wir an, wir möchten nur Daten aus einer Tabelle auswählen, die bestimmte Bedingungen erfüllen. Zum Beispiel nur Warenhäuser mit einem Umsatz von mehr als SFr.. Dazu verwenden wir das Schlüsselwort WHERE. Die Syntax sieht folgendermassen aus: SELECT "Spalten_Name" FROM "Tabellen_Name" WHERE "Bedingung"; Um zum Beispiel alle Filialen mit einem Umsatz von mehr als SFr. in der Tabelle TAGESUMSAETZE auszuwählen, geben wir ein: AND OR Im vorhergehenden Abschnitt haben wir das Schlüsselwort WHERE kennen gelernt, mit dem sich Daten aus einer Tabelle auswählen lassen, die bestimmte Bedingungen erfüllen. Dabei kann es sich um eine einfache Bedingung (wie im vorigen Beispiel) oder eine zusammengesetzte Bedingung handeln. Zusammengesetzte Bedingungen bestehen aus mehreren durch AND oder OR verbundenen einfachen Bedingungen. Eine einzelne SQL- Anweisung kann eine unbegrenzte Anzahl einfacher Bedingungen enthalten. Die Syntax für eine zusammengesetzte Bedingung sieht wie folgt aus: SELECT "Spalten_Name" FROM "Tabellen_Name" WHERE "einfache Bedingung" {[AND OR] "einfache Bedingung"}+ Das Symbol {}+ bedeutet, dass der Ausdruck in der Klammer einmal oder mehrere Male auftreten kann. Beachten Sie, dass AND und OR austauschbar verwendet werden können. Zusätzlich kann mit dem Klammersymbol () die Reihenfolge der Bedingungen angegeben werden. Mit welchem SQL-Befehl können Sie alle Filialen mit einem Umsatz von mehr als SFr. oder alle Warenhäuser mit einem Umsatz von weniger als 500 SFr., aber mehr als 275 SFr. in der Tabelle TAGESUMSAETZE auswählen?

7 LIKE LIKE ist ein weiteres Schlüsselwort, das in der WHERE-Klausel Verwendung findet. Im Wesentlichen ermöglicht LIKE eine Suche auf der Grundlage eines Musters an Stelle einer genauen Angabe (wie bei IN) oder der Definition eines Bereichs (wie bei BETWEEN). Konsultieren Sie für IN und BETWEEN SQL-Referenzen im Internet. Die Syntax für LIKE sieht folgendermassen aus: SELECT "Spalten_Name" FROM "Tabellen_Name" WHERE "Spalten_Name" LIKE {MUSTER}; {MUSTER} besteht oft aus regulären Ausdrücken. Hier einige Beispiele: 'A_Z': Alle Zeichenketten die mit einem 'A' beginnen, worauf ein weiteres Zeichen folgt, und mit einem 'Z' enden. 'ABZ' und 'A2Z' würden beispielsweise diese Bedingung erfüllen, 'AKKZ' hingegen nicht. 'ABC%': Alle Zeichenketten, die mit 'ABC' beginnen. Sowohl 'ABCD' als auch 'ABCABC' würden zum Beispiel diese Bedingung erfüllen. '%XYZ': Alle Zeichenketten, die auf 'XYZ' enden. So würden beispielsweise sowohl 'WXYZ' als auch 'ZZXYZ' diese Bedingung erfüllen. '%AN%': Alle Zeichenketten, die an irgendeiner Stelle das Muster 'AN' enthalten. Sowohl 'LOS ANGELES' als auch 'SAN FRANCISCO' würden zum Beispiel diese Bedingung erfüllen. Wir möchten nun alle Filialen finden, deren Name 'an' enthält. Was müssen wir eingeben? ORDER BY Bisher haben wir uns mit dem Abrufen von Daten aus einer Tabelle unter Verwendung der Befehle SELECT und WHERE beschäftigt. In vielen Fällen müssen die ausgegebenen Daten jedoch auf eine bestimmte Weise sortiert werden. Dies könnte beispielsweise in aufsteigender oder absteigender Reihenfolge geschehen. In solchen Fällen können wir das Schlüsselwort ORDER BY einsetzen. Die Syntax für eine ORDER BY-Anweisung sieht wie folgt aus:

8 SELECT "Spalten_Name" FROM "Tabellen_Name" [WHERE "Bedingung"] ORDER BY "Spalten_Name" [ASC, DESC]; Das Symbol [ ] bedeutet, dass die WHERE-Anweisung optional ist. Ist eine WHERE- Klausel vorhanden, steht sie vor der ORDER BY-Klausel. ASC bedeutet, dass die Ergebnisse in aufsteigender Reihenfolge angezeigt werden, DESC, dass sie in absteigender Reihenfolge erscheinen. Findet sich keine diesbezügliche Angabe, wird die Voreinstellung ASC verwendet. Es besteht die Möglichkeit, nach mehr als einer Spalte zu sortieren. In diesem Fall sieht die ORDER BY-Klausel wie folgt aus: ORDER BY "Spalten_Name1" [ASC, DESC], "Spalten_Name2" [ASC, DESC]; So könnten wir zum Beispiel den Inhalt der Tabelle TAGESUMSAETZE nach Euro-Beträgen in absteigender Reihenfolge sortieren und hierzu folgenden SQL-Befehl eingeben: Zusätzlich zum Spaltennamen lässt sich auch mit der Spaltenposition (basierend auf der SQL-Abfrage) angeben, auf welche Spalte die ORDER BY-Klausel bezogen werden soll. Die erste Spalte ist 1, die zweite 2 usw. Im obigen Beispiel werden die gleichen Ergebnisse mit folgendem Befehl erreicht: SELECT Filiale, Betrag, Datum FROM TAGESUMSAETZE ORDER BY 2 DESC; Funktionen Natürlich liegt die Frage nahe, ob wir auch Rechenoperationen wie Addition oder Mittelwertbildung vornehmen können. Die Antwort lautet: ja. SQL verfügt über mehrere arithmetische Funktionen, und zwar: AVG COUNT MAX MIN SUM Berechnet den Durchschnitt der Spaltenwerte. Zählt die Anzahl der Werte in der Spalte. Nennt den grössten Wert in der Spalte. Evaluiert den kleinsten Wert innerhalb der Spalte. Gibt die Summe der Spaltenwerte zurück. Die Syntax für die Funktionen sieht folgendermassen aus: SELECT "Funktion" ("Spalten_Name") FROM "Tabellen_Name"; Um zum Beispiel die Summe aller Tagesumsätze sämtlicher Filialen zu erhalten, geben wir ein:

9 COUNT und DISTINCT Die Funktion COUNT haben Sie bereits im vorangegangenen Abschnitt kennengelernt: Sie erlaubt die Zählung (COUNT) der Zeilen in einer bestimmten Tabelle. Die Syntax lautet bekanntermassen: SELECT COUNT ([DISTINCT] "Spalten_Name") FROM "Tabellen_Name"; COUNT und DISTINCT können zusammen in einer Anweisung verwendet werden, um die Anzahl der individuellen Einträge in einer Tabelle auszulesen. Um zum Beispiel die Anzahl unterschiedlicher Filialen herauszufinden, müssen Sie eingeben: Notieren Sie nun, was die DISTINCT-Klausel bewirkt: GROUP BY Erinnern Sie sich an die Berechnung des Gesamtumsatzes für alle Warenhäuser mit Hilfe des Schlüsselworts SUM? Wie kann nun der Gesamtumsatz jeder einzelnen Filiale berechnet werden? Dazu sind zwei Dinge erforderlich: Erstens müssen wir sowohl den Filialnamen als auch den Gesamtumsatz auswählen. Zweitens müssen wir sicherstellen, dass alle Absatzzahlen nach Filialen gruppiert sind. Die entsprechende SQL-Syntax lautet: SELECT "Spalten_Name 1", SUM("Spalten_Name 2") FROM "Tabellen_Name" GROUP BY "Spalten_Name 1"; Das Schlüsselwort GROUP BY wird verwendet, wenn mehrere Spalten aus einer Tabelle (oder mehreren Tabellen) ausgewählt werden und mindestens ein arithmetischer Operator in der SELECT-Anweisung enthalten ist. In diesem Fall müssen wir nach allen anderen ausgewählten Spalten GRUPPIEREN, d. h. nach allen Spalten ausser derjenigen, auf die sich der arithmetische Operator bezieht. Angepasst auf unser Filialmodell lautet der SQL-Befehl: Können Sie das Ergebnis auch nach absteigenden Umsatzzahlen anzeigen lassen? Wie lautet der entsprechende Befehl?

10 JOIN (fakultativ) Sehen wir uns nun den Begriff des Verbunds, des Joins, näher an. Eine korrekte Join- Verknüpfung in SQL setzt viele der bisher vorgestellten Elemente voraus. Nehmen wir an, es liegen die folgenden zwei Tabellen vor, Tabelle TAGESUMSAETZE Filiale Betrag Datum Los Angeles 1500 SFr. 05.Jan.1999 San Diego 250 SFr. 07.Jan.1999 Los Angeles 300 SFr. 08.Jan.1999 Boston 700 SFr. 08.Jan.1999 Tabelle GEOGRAPHIE Region Ost Ost West West Filiale Boston New York Los Angeles San Diego und wir möchten den Umsatz pro Region ermitteln. Die Tabelle GEOGRAPHIE enthält Informationen zu Regionen und Filialen und die Tabelle TAGESUMSAETZE enthält Umsatzdaten für die einzelnen Warenhäuser. Um nun die Umsatzdaten für die jeweiligen Regionen anzeigen zu lassen, müssen wir die Daten der beiden Tabellen miteinander kombinieren. Wenn wir uns die beiden Tabellen genauer ansehen, stellen wir fest, dass sie über das gemeinsame Attribut "Filiale" verknüpft sind. Hier zunächst die SQL-Anweisung, die Verwendung der einzelnen Segmente wird dann anschliessend erläutert: SELECT A1.Region REGION, SUM (A2.Betrag) UMSATZ FROM GEOGRAPHIE A1, TAGESUMSAETZE A2 WHERE A1.Filiale = A2.Filiale GROUP BY A1.Region; Die ersten beiden Zeilen weisen SQL an, zwei Felder auszuwählen. Das erste ist das Feld Region aus der Tabelle GEOGRAPHIE (mit dem Alias REGION) und das zweite die Summe des Felds Betrag aus der Tabelle TAGESUMSAETZE (mit dem Alias UMSATZ). Beachten Sie die Verwendung der Tabellen-Aliasse: GEOGRAPHIE hat den Alias A1 und TAGESUMSAETZE den Alias A2. Ohne die Aliasnamen sähe die erste Zeile wie folgt aus: SELECT GEOGRAPHIE.Region REGION, SUM(TAGESUMSAETZE.Betrag) UMSATZ und wäre somit deutlich unübersichtlicher. Im Wesentlichen machen Tabellenaliasse die gesamte SQL-Anweisung verständlicher, insbesondere wenn mehrere Tabellen mit einbezogen sind. Sehen wir uns nun die dritte Zeile mit der WHERE-Anweisung genauer an. Hier wird die Verbundbedingung festgelegt. Im vorliegenden Fall möchten wir sicherstellen, dass der Inhalt im Feld Filiale in der Tabelle GEOGRAPHIE demjenigen in der Tabelle TAGESUMSAETZE entspricht. Dies erreichen wir, indem wir die Inhalte gleichsetzen. Diese WHERE-Anweisung ist entscheidend für die richtige Ausgabe. Ohne korrekte WHERE- Anweisung ergibt sich ein kartesischer Verbund. Damit würde die Abfrage alle möglichen Kombinationen der zwei Tabellen (oder wie gross auch immer die Anzahl der Tabellen in der FROM-Anweisung ist) ausgeben. Im vorliegenden Fall wäre das Ergebnis eines kartesischen Verbunds eine Gesamtzahl von 4 x 4 = 16 Zeilen.

11 UNION (fakultativ) Der SQL-Befehl UNION vereinigt die Ergebnisse zweier Abfragen. Damit ähnelt UNION in gewisser Hinsicht dem Begriff des JOIN, da beide Befehle für aufeinander bezogene Daten in unterschiedlichen Tabellen verwendet werden. Bei UNION gilt jedoch die Einschränkung, dass alle entsprechenden Spalten vom gleichen Datentyp sein müssen. Auch werden mit UNION nur unterschiedliche Werte ausgewählt, also mehrfach vorkommende Ergebnistupel entfernt (ähnlich wie bei SELECT DISTINCT). Die Syntax lautet: [SQL-Anweisung 1] UNION [SQL-Anweisung 2]; Liegen z. B. folgende zwei Tabellen vor, Tabelle TAGESUMSAETZE Filiale Betrag Datum Los Angeles 1500 SFr. 05.Jan.1999 San Diego 250 SFr. 07.Jan.1999 Los Angeles 300 SFr. 08.Jan.1999 Boston 700 SFr. 08.Jan.1999 Tabelle INTERNETVERKAEUFE Datum 07.Jan Jan Jan Jan.1999 Betrag 250 SFr. 535 SFr. 320 SFr. 750 SFr. und wir möchten alle Tage herausfinden, an denen sowohl in einer der Filialen als auch über den Internet-Shop ein Verkaufsvorgang stattgefunden hat, verwenden wir folgende SQL-Anweisung: SELECT Datum FROM TAGESUMSAETZE UNION SELECT Datum FROM INTERNETVERKAEUFE Welches Ergebnis erhalten wir mit "SELECT DISTINCT Datum" durch Eingabe des folgenden Befehls? SELECT DISTINCT Datum FROM TAGESUMSAETZE UNION SELECT DISTINCT Datum FROM INTERNETVERKAEUFE

12 MySQL-Datentypen Datentyp Bedeutung, Bereich Speicherbedarf Numerische Datentypen INT Ganzzahl (Standard), bis (0 bis ) 4 Byte FLOAT Fliesskommazahl, einfache Genauigkeit 4 Byte DOUBLE Fliesskommazahl, doppelte Genauigkeit 8 Byte DECIMAL(G,N) Festkommazahl, Länge G mit N Nachkommastellen Grösse G+2 Byte Datums- und Uhrzeit-Datentypen DATE Datum, Format: YYYY-MM-DD 3 Byte DATETIME Datum und Uhrzeit, Format: YYYY-MM-DD hh:mm:ss 8 Byte TIME Uhrzeit, Format hh:mm:ss 3 Byte Zeichenketten-Datentypen CHAR(G) Zeichenkette mit fester Grösse G, max. 255 Zeichen Grösse G Byte VARCHAR(G) Zeichenkette mit variabler Grösse G, max. 255 Zeichen Grösse G Byte ENUM('wert1','wert2',...) Auflistung, Auswahl nur eines Feldes Elemente SET('wert1','wert2',...) Auflistung, Mehrfachauswahl 64 Elemente Eigenschaften der Datentypen AUTO_INCREMENT = automatische Nummerierung DEFAULT 'wert' = Vorgabewert NOT NULL = nicht leer, Wert ist erforderlich UNIQUE = Wert darf nur 1x vorkommen, keine Wiederholungen UNSIGNED = ohne Vorzeichen, nur positive Zahlen PRIMARY KEY = Primärschlüssel ZEROFILL = Zahl mit führenden Nullen versehen Quellen:

13 Lösungen: 1) ALTER TABLE KUNDE ADD Geschlecht CHAR(1); 2) ALTER TABLE KUNDE CHANGE Strasse Str CHAR(50); 3) ALTER TABLE KUNDE MODIFY Ort CHAR(30); 4) ALTER TABLE KUNDE DROP Geschlecht; 5) DELETE FROM TAGESUMSAETZE WHERE Filiale = `Los Angeles` 6) SELECT Filiale FROM TAGESUMSAETZE WHERE Betrag > 1000; 7) SELECT Filiale FROM TAGESUMSAETZE WHERE Betrag > 1000 OR (Betrag < 500 AND Betrag > 275) 8) SELECT * FROM TAGESUMSAETZE WHERE Filiale LIKE '%an%' 9) SELECT Filiale, Betrag, Datum FROM TAGESUMSAETZE ORDER BY Betrag DESC; 10) SELECT SUM (Betrag) FROM TAGESUMSAETZE 11) SELECT COUNT (DISTINCT Filiale) FROM TAGESUMSAETZE; 12) SELECT Filiale, SUM(Betrag) FROM TAGESUMSAETZE GROUP BY Filiale; 13) SELECT Filiale, SUM(Betrag) FROM TAGESUMSAETZE GROUP BY Betrag DESC;

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL-Befehlsliste. Vereinbarung über die Schreibweise Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche Teile

Mehr

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Sructred Query Language

Sructred Query Language Sructred Query Language Michael Dienert 11. November 2010 Inhaltsverzeichnis 1 Ein kurzer Versionsüberblick 1 2 SQL-1 mit einigen Erweiterungen aus SQL-92 2 3 Eine Sprache zur Beschreibung anderer Sprachen

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. Datenbankabfragen (Query) mit SQL (Structured Query Language) 1 Aufbau des SELECT-Befehls Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. SQL-Syntax: SELECT spaltenliste FROM tabellenname

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de 08 Datenbanken Übung SQL Einführung Eckbert Jankowski www.iit.tu-cottbus.de Datenmodell (Wiederholung, Zusammenfassung) Objekte und deren Eigenschaften definieren Beziehungen zwischen den Objekten erkennen/definieren

Mehr

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

Labor 3 - Datenbank mit MySQL

Labor 3 - Datenbank mit MySQL Labor 3 - Datenbank mit MySQL Hinweis: Dieses Labor entstand z.t. aus Scripten von Prof. Dr. U. Bannier. 1. Starten des MySQL-Systems MySQL ist ein unter www.mysql.com kostenlos erhältliches Datenbankmanagementsystem.

Mehr

Informatik Datenbanken SQL-Einführung

Informatik Datenbanken SQL-Einführung Informatik Datenbanken SQL-Einführung Gierhardt Inhaltsverzeichnis 1 Vorbemerkungen 1 2 Auswahl-Abfragen mit SELECT 2 2.1 Selektion...................................... 2 2.2 Projektion.....................................

Mehr

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Datumsangaben, enthält mindestens Jahr, Monat, Tag Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice

Mehr

Structured Query Language (SQL) 1

Structured Query Language (SQL) 1 Structured Query Language (SQL) 1 1. Grundlagen und Hilfsmittel Structured Query Language, kurz SQL, wurde in den 70er Jahren bei IBM entwickelt, als eine Arbeitsgruppe die erste relationale Datenbank

Mehr

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language) Einführung in SQL 1. Grundlagen Structured Query Language Viele Dialekte Unterteilung: i. DDL (Data Definition Language) ii. iii. DML (Data Modifing Language) DRL (Data Retrival Language) 1/12 2. DDL Data

Mehr

INFORMATIONSUNTERLAGEN. Grundzüge der SQL-Programmierung. Vag 09/2005

INFORMATIONSUNTERLAGEN. Grundzüge der SQL-Programmierung. Vag 09/2005 INFORMATIONSUNTERLAGEN zu Grundzüge der SQL-Programmierung Vag 09/2005 1. SQL 1.1. Einführung Die Sprache SQL (structured query language) wird als einer der Hauptgründe für den kommerziellen Erfolg von

Mehr

Relationale Datenbanken in der Praxis

Relationale Datenbanken in der Praxis Seite 1 Relationale Datenbanken in der Praxis Inhaltsverzeichnis 1 Datenbank-Design...2 1.1 Entwurf...2 1.2 Beschreibung der Realität...2 1.3 Enitiy-Relationship-Modell (ERM)...3 1.4 Schlüssel...4 1.5

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

Mehr

105.3 SQL-Datenverwaltung

105.3 SQL-Datenverwaltung LPI-Zertifizierung 105.3 SQL-Datenverwaltung Copyright ( ) 2009 by Dr. W. Kicherer. This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License. To view a

Mehr

Access Grundkurs. M. Eng. Robert Maaßen

Access Grundkurs. M. Eng. Robert Maaßen Access Grundkurs M. Eng. Robert Maaßen Wer steht da? M. Eng. Robert Maaßen ich@robertmaassen.de www.robertmaassen.de Studium: Informatik Vertiefungsrichtung Medientechnik, Diplom Ingenieur (FH), HAWK,

Mehr

Inhaltsverzeichnis. jetzt lerne ich

Inhaltsverzeichnis. jetzt lerne ich Inhaltsverzeichnis jetzt lerne ich Einführung 15 1 Erste Schritte 21 1.1 Datenbanken und Datenbank-Managementsysteme 21 1.2 Zugriff auf Datenbanken 22 1.3 Was der Großvater noch wusste... 22 1.4 Einordnung

Mehr

SQL-Anweisungen. SELECT (SQL Data Query Language)

SQL-Anweisungen. SELECT (SQL Data Query Language) SQL-Anweisungen SELECT (SQL Data Query Language) SELECT * SELECT * FROM "meine Tabelle"; SELECT feldname1, feldname2 SELECT feldname1, feldname2 FROM meinetabelle ORDER BY feldname2, feldname1 DESC; WHERE

Mehr

Datenbanken. 5 Tabellen. Karl Meier karl.meier@kasec.ch 12.10.2010. Inhalt. Domänen verwenden Tabellen anzeigen, ändern, löschen Übung

Datenbanken. 5 Tabellen. Karl Meier karl.meier@kasec.ch 12.10.2010. Inhalt. Domänen verwenden Tabellen anzeigen, ändern, löschen Übung Datenbanken 5 Tabellen Karl Meier karl.meier@kasec.ch 12.10.2010 Tabellen erstellen en Integritätsregeln Inhalt Domänen verwenden Tabellen anzeigen, ändern, löschen Übung 2 1 Einfache Tabellen erstellen

Mehr

IV. Datenbankmanagement

IV. Datenbankmanagement Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.

Mehr

Eine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten.

Eine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten. Einführung SQL 2010 Niko Becker Mit unseren Übungen zu ACCESS können Sie Aufbau und Struktur einer relationalen Datenbank kennenlernen. Wir zeigen Ihnen wie Sie Tabellen, Formulare und Berichte erstellen

Mehr

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language: SQL Structured Query Language: strukturierte Datenbankabfragesprache eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken In der SQL-Ansicht arbeiten In

Mehr

Grundkonzepte von SQL

Grundkonzepte von SQL Internet Praktikum im Grundstudium: Grundlagen von SQL Nutzung von phpmyadmin Dr. Guido Rößling Dipl.-Ing. Andreas Hartl Grundkonzepte von SQL Relationale Datenbanken basieren auf Tabellen Objektorientierte

Mehr

Details zu den Ausdrücken nach FROM, WHERE, GROUP BY und HAVING finden Sie in den Abschnitten über JOIN, WHERE und GROUP BY.

Details zu den Ausdrücken nach FROM, WHERE, GROUP BY und HAVING finden Sie in den Abschnitten über JOIN, WHERE und GROUP BY. SELECT - Der Grundbefehl zur Auswahl von Daten Die SELECT-Anweisung fragt Daten aus einer Datenbank ab und stellt diese in einer virtuellen Tabelle zur Verfügung. Diese virtuelle Tabelle, eine Menge von

Mehr

Einführung in SQL Datenbanken bearbeiten

Einführung in SQL Datenbanken bearbeiten Einführung in SQL Datenbanken bearbeiten Jürgen Thomas Entstanden als Wiki-Buch Bibliografische Information Diese Publikation ist bei der Deutschen Nationalbibliothek registriert. Detaillierte Angaben

Mehr

Übung 1: Ein Website News-System mit MySQL

Übung 1: Ein Website News-System mit MySQL Übung 1: Ein Website News-System mit MySQL In der Vorübung haben wir bereits mit Hilfe eines ERMs den Datenbankentwurf erstellt und daraus die folgenden Tabellen abgeleitet: Nun muss diese Datenbank in

Mehr

5.8 Bibliotheken für PostgreSQL

5.8 Bibliotheken für PostgreSQL 5.8 Bibliotheken für PostgreSQL Haskell/WASH: Modul Dbconnect PHP: pqsql-funktionen Java/JSP: JDBC Perl: DBI database interface modul Vorläufige Version 80 c 2004 Peter Thiemann, Matthias Neubauer 5.9

Mehr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr Raum: LF 230 Bearbeitung: 9.-11. Mai 2005 Datum Gruppe Vorbereitung Präsenz Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/courses/dbp_ss03/ Tabellen in IBM DB2 Tabellen Eine relationale

Mehr

Views in SQL. 2 Anlegen und Verwenden von Views 2

Views in SQL. 2 Anlegen und Verwenden von Views 2 Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig

Mehr

MySQL: Einfaches Rechnen. www.informatikzentrale.de

MySQL: Einfaches Rechnen. www.informatikzentrale.de MySQL: Einfaches Rechnen Vorweg: Der Merksatz Warum geht Herbert oft laufen? Vorweg: Der Merksatz Warum geht Herbert oft laufen?...... WHERE... GROUP BY... HAVING... ORDER BY... LIMIT Beispieldatenbank

Mehr

U 8 SQL. = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN:

U 8 SQL. = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN: U 8 SQL = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN: - Abfragesprache für relationale Datenbanken, die plattformübergreifend verwendet wird - Vereinfachte Verwendung über

Mehr

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 29. April 2013 - MySQL 2 Sebastian Cuy sebastian.cuy@uni-koeln.de Aufgaben Anmerkungen Best practice: SQL Befehle

Mehr

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung 6. Datenintegrität Motivation Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung nur sinnvolle Attributwerte (z.b. keine negativen Semester) Abhängigkeiten

Mehr

7.5.3. CREATE TABLE-Syntax

7.5.3. CREATE TABLE-Syntax 7.5.3. CREATE TABLE-Syntax 7.5.3.1. Stille Spaltentyp-Änderungen CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tabelle [(create_definition,...)] [tabellen_optionen] [select_statement] create_definition: spalten_name

Mehr

Einführung in SQL mit Oracle

Einführung in SQL mit Oracle Seminar Einführung in SQL mit Oracle von Prof. Dr. Rainer Schwenkert Hochschule München c Vervielfältigung nur mit Zustimmung des Autors Themenbereiche SQL-Historie Wichtige DDL- und DML-Anweisungen Der

Mehr

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL Datenmodifikation mit SQL Folie 45 SQL - Datenmodifikation Einfügen INSERT INTO Relation [(Attribut, Attribut,...)] VALUES (Wert, Wert,...) INSERT INTO Relation [(Attribut, Attribut,...)] SFW-Anfrage Ändern

Mehr

Datenbanksysteme Kapitel: SQL Data Definition Language

Datenbanksysteme Kapitel: SQL Data Definition Language Datenbanksysteme Kapitel: SQL Data Definition Language Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Peter Chamoni - Prof.

Mehr

ACCESS SQL ACCESS SQL

ACCESS SQL ACCESS SQL ACCESS SQL Datenbankabfragen mit der Query-Language ACCESS SQL Datenbankpraxis mit Access 34 Was ist SQL Structured Query Language Bestehend aus Datendefinitionssprache (DDL) Datenmanipulationssprache

Mehr

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1 Fachhochschule Kaiserslautern Fachbereiche Elektrotechnik/Informationstechnik und Maschinenbau Labor Datenbanken Versuch 1 : Die Grundlagen von MySQL ------------------------------------------------------------------------------------------------------------

Mehr

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse & Einführung Online Analytical Processing (OLAP) (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme SQL zur Datenanalyse M. Lange, S.

Mehr

Kapitel DB:VI (Fortsetzung)

Kapitel DB:VI (Fortsetzung) Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus

Mehr

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

Begleitskript. zum PHP/MySQL. Kurs

Begleitskript. zum PHP/MySQL. Kurs Begleitskript zum PHP/MySQL Kurs http://www.online-platform.net Dieser Text unterliegt der GNU General Public License. Er darf als ganzes oder in Auszügen kopiert werden, vorausgesetzt, dass sich dieser

Mehr

Kompaktes Datenbank-Wissen rund um die Datenbank-Programmierung mit Transact-SQL

Kompaktes Datenbank-Wissen rund um die Datenbank-Programmierung mit Transact-SQL UnternehmensDatenbanken im Netzwerk Teil 3: SQL Programmierung - Grundlagen SQL-Befehle Funktionen Operatoren Datentypen Datenbank erstellen Tabellen SQL-Abfragen Autor: Rainer Egewardt Copyright Kompaktes

Mehr

PHP + MySQL. Die MySQL-Datenbank. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing.

PHP + MySQL. Die MySQL-Datenbank. Hochschule Karlsruhe Technik & Wirtschaft Internet-Technologien T3B250 SS2014 Prof. Dipl.-Ing. PHP + MySQL Die MySQL-Datenbank Zusammenspiel Apache, PHP, PHPMyAdmin und MySQL PHPMyAdmin Verwaltungstool Nutzer Datei.php oder Datei.pl Apache HTTP-Server PHP Scriptsprache Perl Scriptsprache MySQL Datenbank

Mehr

SQL. Was ist SQL? SQL- Standards Grundregeln Die DDL Datenbanken erstellen Tabellen erstellen und ändern Spalten definieren Schlüssel definieren - 2 -

SQL. Was ist SQL? SQL- Standards Grundregeln Die DDL Datenbanken erstellen Tabellen erstellen und ändern Spalten definieren Schlüssel definieren - 2 - SQL - 1 - SQL Was ist SQL? SQL- Standards Grundregeln Die DDL Datenbanken erstellen Tabellen erstellen und ändern Spalten definieren Schlüssel definieren - 2 - Was ist SQL? 1974 unter dem Namen Sequel

Mehr

PostgreSQL unter Debian Linux

PostgreSQL unter Debian Linux Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...

Mehr

Kapitel 3: Datenbanksysteme

Kapitel 3: Datenbanksysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2015 Kapitel 3: Datenbanksysteme Vorlesung:

Mehr

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL Relationales Modell: SQLDDL SQL als Definitionssprache SQLDDL umfaßt alle Klauseln von SQL, die mit Definition von Typen Wertebereichen Relationenschemata Integritätsbedingungen zu tun haben Externe Ebene

Mehr

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien 1.1 Definition Datenbank Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS

Mehr

(Von der Nähe zur Distanz zum User geordnet)

(Von der Nähe zur Distanz zum User geordnet) Datebanken Was ist eigentlich eine Datenbank? Datenbanken, Datenhaltungsschicht und Datenbankensysteme (hier als Synonyme zu verstehen) finden viele unterschiedliche Anwendungsbereiche. Datenbanken kann

Mehr

Leseprobe: SQL mit MySQL - Band 4 Kompendium mit Online-Übungs-DB. Kompendium zur schnellen Kurzinformation der Datenbanksprache SQL/MySQL 5.

Leseprobe: SQL mit MySQL - Band 4 Kompendium mit Online-Übungs-DB. Kompendium zur schnellen Kurzinformation der Datenbanksprache SQL/MySQL 5. Leseprobe: SQL mit MySQL - Band 4 Kompendium mit Online-Übungs-DB Kompendium zur schnellen Kurzinformation der Datenbanksprache SQL/MySQL 5.1 im Internet: www.datenbanken-programmierung.de... 3.0 SQL nach

Mehr

Thomas Ohlhauser: MySQL in Einzelschritten

Thomas Ohlhauser: MySQL in Einzelschritten Thomas Ohlhauser: MySQL in Einzelschritten 1. Installation und erste Schritte - Mysql installieren unter c:\mysql (im Raum 10 bereits auf allen Rechnern erfolgt) - # NT neu starten - DOS-Box : Ins Verzeichnis

Mehr

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Programmierung 2

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Programmierung 2 SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R IV-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit

Mehr

PHP & MySQL. MySQL Einführung. Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424. Michael Kluge (Michael.Kluge@tu-dresden.

PHP & MySQL. MySQL Einführung. Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424. Michael Kluge (Michael.Kluge@tu-dresden. Zentrum für Informationsdienste und Hochleistungsrechnen (ZIH) PHP & MySQL MySQL Einführung Zellescher Weg 12 Willers-Bau A109 Tel. +49 351-463 - 32424 (Michael.Kluge@tu-dresden.de) Inhalt Grundsätzliches

Mehr

SQL und MySQL. Kristian Köhntopp

SQL und MySQL. Kristian Köhntopp SQL und MySQL Kristian Köhntopp Wieso SQL? Datenbanken seit den frühen 1950er Jahren: Hierarchische Datenbanken Netzwerkdatenbanken Relationale Datenbanken = SQL Relational? 10 9 8 7 6 f(y) := y = x r(y)

Mehr

Konstante Relationen

Konstante Relationen Konstante Relationen values-syntax erzeugt konstante Relation values ( [, Konstante] * )[, ( [, Konstante] * )]* Beispiel values (1, eins ), (2, zwei ), (3, drei ); Resultat ist eine

Mehr

5. SQL: Erstellen von Tabellen. Erzeugen und Löschen von Tabellen. Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten

5. SQL: Erstellen von Tabellen. Erzeugen und Löschen von Tabellen. Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten 5. SQL: Erstellen von Tabellen Erzeugen und Löschen von Tabellen Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten 106 SQL Structured Query Language Historie: Anfänge ca. 1974 als SEQUEL

Mehr

4. Structured Query Language (SQL)

4. Structured Query Language (SQL) 4. Structured Query Language (SQL) Rückblick Konzeptuelles Modell (ERM) können wir nun in (wenige) Relationen übersetzen Relationale Algebra gibt uns eine Sprache an die Hand, mit der wir Anfragen auf

Mehr

27 Transact-SQL-Erweiterungen in Bezug auf Analysis Services

27 Transact-SQL-Erweiterungen in Bezug auf Analysis Services 531 27 Transact-SQL-Erweiterungen in Bezug auf Analysis Services Im zweiten Teil dieses Buches haben wir die Eigenschaften der Transact-SQL- Sprache in Bezug auf die Bearbeitung von operativen Daten gezeigt.

Mehr

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R VII-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit

Mehr

MySQL, phpmyadmin & SQL. Kurzübersicht

MySQL, phpmyadmin & SQL. Kurzübersicht MySQL, phpmyadmin & SQL Kurzübersicht Referenzen MySQL Documentation: http://dev.mysql.com/doc PHP 5 / MySQL5. Studienausgabe. Praxisbuch und Referenz (Kannengießer & Kannengießer) 2 Datenbank anlegen

Mehr

5.3 Datenänderung/-zugriff mit SQL (DML)

5.3 Datenänderung/-zugriff mit SQL (DML) 5.3 Datenänderung/-zugriff mit SQL (DML) Hinweis: - DML-Anweisungen sind mengenorientiert - Mit einer Anweisungen kann mehr als ein Tupel eingefügt, geändert, gelöscht oder gelesen werden Benutzungs- und

Mehr

1. Funktionen und Datenflüsse; Tabellenkalkulationssysteme

1. Funktionen und Datenflüsse; Tabellenkalkulationssysteme Grundwissen Informatik 1. und Datenflüsse; Tabellenkalkulationssysteme Zellbezug relativer Zellbezug absoluter Zellbezug iterative Berechnungen Datentypyen z. B. A4 A ist der Spaltenbezeichner 4 ist die

Mehr

Handbuch organice SQL-Reportgenerator

Handbuch organice SQL-Reportgenerator organice Software GmbH Handbuch organice SQL-Reportgenerator Benutzerhandbuch Stand: August 2013 Inhalt 1. Allgemeine Informationen... 3 1.1 Einführung... 3 1.2 Voraussetzungen... 3 1.3 Zielgruppe... 3

Mehr

Xampp Administration und Grundlagen. Stefan Maihack Dipl. Ing. (FH) Datum: 10.04.2015

Xampp Administration und Grundlagen. Stefan Maihack Dipl. Ing. (FH) Datum: 10.04.2015 Xampp Administration und Grundlagen Stefan Maihack Dipl. Ing. (FH) Datum: 10.04.2015 1 Die wichtigsten Befehle zur Administration Betriebssystem-Befehle cmd dir cd cd \ cd cd \

Mehr

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen

ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen ARIS II - Modellierungsmethoden, Metamodelle und Anwendungen C3: Structured Query Language Lernziele: Nach der Bearbeitung dieser Lektion haben Sie folgende Kenntnisse erworben: Sie können elementaren

Mehr

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP 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

Mehr

In die Zeilen würden die Daten einer Adresse geschrieben werden. Das Ganze könnte in etwa folgendermaßen aussehen:

In die Zeilen würden die Daten einer Adresse geschrieben werden. Das Ganze könnte in etwa folgendermaßen aussehen: 1 Einführung in Datenbanksysteme Fast jeder kennt Excel und hat damit in seinem Leben schon einmal gearbeitet. In Excel gibt es Arbeitsblätter, die aus vielen Zellen bestehen, in die man verschiedene Werte

Mehr

Abbildung 1: Das ERM. Nun zu den Tabellen: Zunächst wird aus jeder Entity eine Tabelle, d.h. wir erhalten:

Abbildung 1: Das ERM. Nun zu den Tabellen: Zunächst wird aus jeder Entity eine Tabelle, d.h. wir erhalten: Lösung Casino 1 Zunächst das Entity-Relationship-Modell: Kundenverzeichnis wird getätigt von Bestellung führt aus enthält Personal n 1 beherrscht Speisekarte Tätigkeiten Abbildung 1: Das ERM Nun zu den

Mehr

2 Download und Installation des Programms 3 3 ERSTELLUNG EINES ERM-DIAGRAMMS 4. (c) Werner Geers 5 NUTZUNG DER SKRIPTE IN DATENBANKPROGRAMMEN 13

2 Download und Installation des Programms 3 3 ERSTELLUNG EINES ERM-DIAGRAMMS 4. (c) Werner Geers 5 NUTZUNG DER SKRIPTE IN DATENBANKPROGRAMMEN 13 Vorbemerkungen 1 Werner Geers Berufliche Informatik ISBN:978-3-427-60080-0 Bestellnr.:60080 Zusatzinformationen 1 ARBEITEN MIT XERDI 2 1.1 Vorbemerkungen 2 2 Download und Installation des Programms 3 2.1

Mehr

Taschenbuch der Wirtschaftsinformatik und Wirtschaftsmathematik

Taschenbuch der Wirtschaftsinformatik und Wirtschaftsmathematik Taschenbuch der Wirtschaftsinformatik und Wirtschaftsmathematik von Wolfgang König, Heinrich Rommelfanger, Dietrich Ohse, Oliver Wendt, Markus Hofmann, Michael Schwind, Klaus Schäfer, Helmut Kuhnle, Andreas

Mehr

SQL: statische Integrität

SQL: statische Integrität SQL: statische Integrität.1 SQL: statische Integrität Im allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen erfüllen. Integritätsbedingungen

Mehr

SQL-DDL und SQL-Anfragen. CREATE TABLE Kategorie (Bezeichnung VARCHAR(15) NOT NULL PRIMARY KEY, Klassifikationskriterium VARCHAR(100) NOT NULL )

SQL-DDL und SQL-Anfragen. CREATE TABLE Kategorie (Bezeichnung VARCHAR(15) NOT NULL PRIMARY KEY, Klassifikationskriterium VARCHAR(100) NOT NULL ) Technische Universität München WS 2003/04, Fakultät für Informatik Datenbanksysteme I Prof. R. Bayer, Ph.D. Lösungsblatt 6 Dipl.-Inform. Michael Bauer Dr. Gabi Höfling 1.12.2003 SQL-DDL und SQL-Anfragen

Mehr

Herbstsemester 2009. Datenbanken mit Übungen Kapitel 4: SQL. H. Schuldt. Inhalt

Herbstsemester 2009. Datenbanken mit Übungen Kapitel 4: SQL. H. Schuldt. Inhalt Herbstsemester 2009 Datenbanken mit Übungen Kapitel 4: SQL H. Schuldt Inhalt Datenmanipulationssprache SQL: SQL (Structured Query Language) ist die Standardsprache für die Datendefinition und Datenmanipulation

Mehr

Oracle: Abstrakte Datentypen:

Oracle: Abstrakte Datentypen: Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8

Mehr

Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken

Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken Rückblick Structured Query Language (SQL) als standardisierte Anfragesprache für relationale Datenbanken Data Definition Language zur Schemadefinition (z.b. CREATE TABLE zum Anlegen von Tabellen) Data

Mehr

Datenbanken: Datenintegrität. www.informatikzentrale.de

Datenbanken: Datenintegrität. www.informatikzentrale.de Datenbanken: Datenintegrität Definition "Datenkonsistenz" "in der Datenbankorganisation (...) die Korrektheit der gespeicherten Daten im Sinn einer widerspruchsfreien und vollständigen Abbildung der relevanten

Mehr

SQL (Structured Query Language) Datenbanken und Tabellen erstellen

SQL (Structured Query Language) Datenbanken und Tabellen erstellen SQL (Structured Query Language) Datenbanken und Tabellen erstellen Bücher RRZN-Handbuch "SQL, Grundlagen und Datenbank-Design" Alan Beaulieu: Einführung in SQL; O'Reilly-Verlag; ISBN-Nr. 978-3-89721-443-9

Mehr

Fachbereich Informatik Praktikum 1

Fachbereich Informatik Praktikum 1 Hochschule Darmstadt DATA WAREHOUSE SS2015 Fachbereich Informatik Praktikum 1 Prof. Dr. S. Karczewski Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 14.April.2015 1. Kurzbeschreibung In diesem Praktikum geht

Mehr

DB2 for z/os. Übungen zur Schulung

DB2 for z/os. Übungen zur Schulung DB2 for z/os Übungen zur Schulung 2. Dezember 2011 Eine Ausarbeitung von: cps4it Ralf Seidler Stromberger Straße 36A 55411 Bingen Fon: +49-6721-992611 Fax: -49-6721-992613 Mail: ralf.seidler@cps4it.de

Mehr

Online-Kurs 'Datenbanken und Datenmodellierung'

Online-Kurs 'Datenbanken und Datenmodellierung' Online-Kurs 'Datenbanken und Datenmodellierung' n Print-Version - 15.04.2002 (c) StR S. Winter - Universität Passau Inhaltsverzeichnis 1 Der Aufbau von SQL-Anfragen im Überblick 1.1 Der Aufbau einer SQL-Anfrage

Mehr

7. Übung - Datenbanken

7. Übung - Datenbanken 7. Übung - Datenbanken Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: DBS a Was ist die Kernaufgabe von Datenbanksystemen? b Beschreiben Sie kurz die Abstraktionsebenen

Mehr

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198 Auf einen Blick 1 Einleitung 15 2 Datenbankentwurf 23 3 Datenbankdefinition 43 4 Datensätze einfügen (INSERT INTO) 95 5 Daten abfragen (SELECT) 99 6 Daten aus mehreren Tabellen abfragen (JOIN) 143 7 Unterabfragen

Mehr

4.14.3 Bedingungen über Werte. 4.14.4 Statische Integrität. CHECK-Klausel

4.14.3 Bedingungen über Werte. 4.14.4 Statische Integrität. CHECK-Klausel 4.14.3 Bedingungen über Werte 4.14.4 Statische Integrität Zu jeder Tabelle werden typischerweise ein Primärschlüssel und möglicherweise weitere Schlüssel festgelegt (UNIQUE-Klausel). In jeder Instanz zu

Mehr

DATENBANKEN & SQL. Martin Schmidt Berufsschule Obernburg

DATENBANKEN & SQL. Martin Schmidt Berufsschule Obernburg DATENBANKEN & SQL Martin Schmidt Berufsschule Obernburg Hinweis Das Script enthält zahlreiche Codebeispiele, die teilweise direkt zu den im Unterricht verwendeten Übungsdatenbanken Volkshochschule Waldklinik

Mehr

ABTEILUNGS- ABTEILUNGS- LEITER NAME

ABTEILUNGS- ABTEILUNGS- LEITER NAME Übungsaufgaben Übungsaufgabe 1 - Normalisierung - Gegeben ist folgende unnormalisierte Relation, die Daten über Mitarbeiter und deren Abteilungszughörigkeit enthält. Weiterhin sind die Beteiligung(en)

Mehr

Datenbankanfragen und -operationen mittels SQL

Datenbankanfragen und -operationen mittels SQL Datenbankanfragen und -operationen mittels SQL Über den verschiedenen Tabellen einer Datenbank werden Operationen ausgeführt, die immer wieder eine Tabelle als Ergebnis zurückgeben. Mathematisch modelliert

Mehr

Grundlagen SQL. Cologne Network Consulting CNC GmbH Wilhelm-Schlombs-Allee 2, 50858 Köln Tel.: (0221) 9833790 http://www.cncgmbh.eu info@koeln-net.

Grundlagen SQL. Cologne Network Consulting CNC GmbH Wilhelm-Schlombs-Allee 2, 50858 Köln Tel.: (0221) 9833790 http://www.cncgmbh.eu info@koeln-net. Cologne Network Consulting CNC GmbH Wilhelm-Schlombs-Allee 2, 50858 Köln Tel.: (0221) 9833790 http://www.cncgmbh.eu info@koeln-net.com Inhaltsverzeichnis 1 Einleitung... 3 2 CREATE DATABASE: Erzeugen einer

Mehr

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2 5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken

Mehr

Einführung in die Informatik II

Einführung in die Informatik II Einführung in die Informatik II Die Structured Query Language SQL Prof. Dr. Nikolaus Wulff SQL Das E/R-Modell lässt sich eins zu eins auf ein Tabellenschema abbilden. Benötigt wird eine Syntax, um Tabellen

Mehr

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten. Lehrstuhl für Datenbanken und Informationssysteme Wintersemester 1999/2000 Universität Augsburg, Institut für Informatik 25. Februar 2000 Prof. Dr. Werner Kießling A. Leubner, M. Wagner Datenbanksysteme

Mehr

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt. Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.

Mehr