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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Übersicht der wichtigsten MySQL-Befehle

Übersicht der wichtigsten MySQL-Befehle Übersicht der wichtigsten MySQL-Befehle 1. Arbeiten mit Datenbanken 1.1 Datenbank anlegen Eine Datenbank kann man wie folgt erstellen. CREATE DATABASE db_namen; 1.2 Existierende Datenbanken anzeigen Mit

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

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

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt

Mehr

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7 1 Data Definition Language (DDL)... 2 1.1 Tabellen erstellen... 2 1.1.1 Datentyp...... 2 1.1.2 Zusätze.... 2 1.2 Tabellen löschen... 2 1.3 Tabellen ändern (Spalten hinzufügen)... 2 1.4 Tabellen ändern

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

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

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

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

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel Anwendungsentwicklung Datenbanken SQL Stefan Goebel SQL Structured Query Language strukturierte Abfragesprache von ANSI und ISO standardisiert deklarativ bedeutet was statt wie SQL beschreibt, welche Daten

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

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

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

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

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

Datenbank und Tabelle mit SQL erstellen

Datenbank und Tabelle mit SQL erstellen Datenbank und Tabelle mit SQL erstellen 1) Übung stat Mit dem folgenden Befehlen legt man die Datenbank stat an und in dieser die Tabelle data1 : CREATE DATABASE stat; USE stat; CREATE TABLE data1 ( `id`

Mehr

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 fett und in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche

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

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Einführung in SQL insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Quelle Wikipedia, 3.9.2015 SQL zur Kommunikation mit dem DBMS SQL ist

Mehr

Es geht also im die SQL Data Manipulation Language.

Es geht also im die SQL Data Manipulation Language. 1 In diesem Abschnitt wollen wir uns mit den SQL Befehlen beschäftigen, mit denen wir Inhalte in Tabellen ( Zeilen) einfügen nach Tabelleninhalten suchen die Inhalte ändern und ggf. auch löschen können.

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 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

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. 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

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

Abfragen (Queries, Subqueries)

Abfragen (Queries, Subqueries) Abfragen (Queries, Subqueries) Grundstruktur einer SQL-Abfrage (reine Projektion) SELECT [DISTINCT] {* Spaltenname [[AS] Aliasname ] Ausdruck} * ; Beispiele 1. Auswahl aller Spalten SELECT * ; 2. Auswahl

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

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

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle. Seminar 2 SQL - DML(Data Manipulation Language) und DDL(Data Definition Language) Befehle. DML Befehle Aggregatfunktionen - werden auf eine Menge von Tupeln angewendet - Verdichtung einzelner Tupeln yu

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

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

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

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

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

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

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

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

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

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

Management of Information Systems. Tutorat: Session 3 Einführung in SQL

Management of Information Systems. Tutorat: Session 3 Einführung in SQL Management of Information Systems Tutorat: Session 3 Einführung in SQL 2 Setup 1. XAMPP-Console starten in C:\xampp\ 1. Apache starten bis erscheint 2. MySQL starten bis erscheint 3. An den Rechnern im

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

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

Inhaltsverzeichnis. Einleitung

Inhaltsverzeichnis. Einleitung vn Inhaltsverzeichnis Einleitung Kapitel 1: Eine Einführung in relationale Datenbanken 7 Was ist eine relationale Datenbank? 9 Verknüpfen der einzelnen Tabellen 10 Die Reihenfolge der Zeilen ist beliebig

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

SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage.

SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage. SELECT-FROM SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage. Inhaltsverzeichnis 1 Der grundlegende Aufbau 2 Doppelte

Mehr

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

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

4. Datenbanksprache SQL

4. Datenbanksprache SQL 4. Datenbanksprache SQL Standard-Sprache für das Arbeiten mit relationalen Datenbanken: Structured Query Language Datendefinition: Anlegen, Ändern und Löschen von Datenbankstrukturen Datenmanipulation:

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

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

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

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

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

Relationales Datenbanksystem Oracle

Relationales Datenbanksystem Oracle Relationales Datenbanksystem Oracle 1 Relationales Modell Im relationalen Modell wird ein relationales Datenbankschema wie folgt beschrieben: RS = R 1 X 1 SC 1... R n X n SC n SC a a : i=1...n X i B Information

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

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

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

Ü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

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

Im Folgenden möchten wir Ihnen einige Beispiele aufzeigen, wie ALTER TABLE gemäß SQL92 verwendet wird:

Im Folgenden möchten wir Ihnen einige Beispiele aufzeigen, wie ALTER TABLE gemäß SQL92 verwendet wird: ALTER TABLE BEFEHLE Im Folgenden möchten wir Ihnen einige Beispiele aufzeigen, wie ALTER TABLE gemäß SQL92 verwendet wird: Fügt die Spalte Adresse zur Tabelle Kunden hinzu: ALTER TABLE Kunden ADD COLUMN

Mehr

Einführung in Datenbanksysteme. H. Wünsch 01.2001

Einführung in Datenbanksysteme. H. Wünsch 01.2001 Einführung in Datenbanksysteme H. Wünsch 01.2001 H. Wünsch 01/2001 Einführung Datenbanken 2 Was sind Datenbanken? Datenbanken sind Systeme zur Beschreibung, Speicherung und Wiedergewinnung von Datenmengen.

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

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen Abfragen lassen sich längst nicht nur dazu benutzen, die gewünschten Felder oder Datensätze einer oder mehrerer Tabellen darzustellen. Sie können Daten auch nach bestimmten Kriterien zu Gruppen zusammenfassen

Mehr

SQL als Zugriffssprache

SQL als Zugriffssprache SQL als Zugriffssprache Der Select Befehl: Aufbau Select- und From-Klausel Where-Klausel Group-By- und Having-Klausel Union Join-Verbindung Order-By-Klausel Der Update-Befehl Der Delete-Befehl Der Insert-Befehl

Mehr

Datenbanken für Online Untersuchungen

Datenbanken für Online Untersuchungen Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren

Mehr

Lösungen der Übungsaufgaben von Kapitel 10

Lösungen der Übungsaufgaben von Kapitel 10 Lösungen der Übungsaufgaben von Kapitel 10 1. Legen Sie mit einem SQL - Befehl eine neue Tabelle PERSON_KURZ mit den Feldern Kurz_Id, Kurz_Name an. Machen Sie das so, dass Kurz_Id der Primärschlüssel wird

Mehr

Datenbanksysteme 2013

Datenbanksysteme 2013 Datenbanksysteme 2013 Kapitel 8: Datenintegrität Vorlesung vom 14.05.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Datenintegrität Statische Bedingung (jeder Zustand) Dynamische

Mehr

Introduction to Data and Knowledge Engineering. 6. Übung SQL

Introduction to Data and Knowledge Engineering. 6. Übung SQL Introduction to Data and Knowledge Engineering 6. Übung SQL Aufgabe 6.1 Datenbank-Schema Buch PK FK Autor PK FK ISBN Titel Preis x ID Vorname Nachname x BuchAutor ISBN ID PK x x FK Buch.ISBN Autor.ID FB

Mehr

Gregor Kuhlmann Friedrich Müllmerstadt. MySQL. Der Schlüssel zu Datenbanken-Design und -Programmierung. c 3 E. i- O Rowohlt Taschenbuch Verlag

Gregor Kuhlmann Friedrich Müllmerstadt. MySQL. Der Schlüssel zu Datenbanken-Design und -Programmierung. c 3 E. i- O Rowohlt Taschenbuch Verlag Gregor Kuhlmann Friedrich Müllmerstadt MySQL Der Schlüssel zu Datenbanken-Design und -Programmierung r?: X c 3 E i- O uu Rowohlt Taschenbuch Verlag Inhalt Editorial 11 Einleitung 12 1 Einführung in das

Mehr

1 Hartmann Anna Cäcilienstr Köln (0221) Behrens-Hoffmeister Heidi Lindenweg Köln (0221)

1 Hartmann Anna Cäcilienstr Köln (0221) Behrens-Hoffmeister Heidi Lindenweg Köln (0221) Erstellen einer Mitarbeiter-Datenbank 1 Erstellen einer Mitarbeiter-Datenbank Arbeitsauftrag Ziel der Übung Erstellen von Datenbanken mit Hilfe von SQL-Abfragen Aufgabe (1.) Erstellen Sie eine neue Datenbank

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

Datenbanksysteme Teil 6 MySQL DML Die SELECT-Anweisung. Stefan Maihack Dipl. Ing. (FH) Datum:

Datenbanksysteme Teil 6 MySQL DML Die SELECT-Anweisung. Stefan Maihack Dipl. Ing. (FH) Datum: Datenbanksysteme Teil 6 MySQL DML Die SELECT-Anweisung Stefan Maihack Dipl. Ing. (FH) Datum: 28.10.2005 1 einfachste SELECT-Anweisung Alle Inhalte einer Tabelle holen: SELECT * FROM land; 2 DML - SELECT

Mehr

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1) Vorlesung #3 SQL (Teil 1) Fahrplan Wiederholung/Zusammenfassung Relationales Modell Relationale Algebra Relationenkalkül Geschichte der Sprache SQL SQL DDL (CREATE TABLE...) SQL DML (INSERT, UPDATE, DELETE)

Mehr

Oracle 10g Einführung

Oracle 10g Einführung Kurs Oracle 10g Einführung Teil 5 Einführung Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 16 Seite 1 von 16 Agenda 1 Tabellen und Views erstellen 2 Indizes

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

SQL-Sprachvielfalt. Peter Willadt (Ludwig-Erhard-Schule) SQL-Befehle / 47

SQL-Sprachvielfalt. Peter Willadt (Ludwig-Erhard-Schule) SQL-Befehle / 47 SQL-Sprachvielfalt DML Data Manipulation Language: Daten einfügen, ändern und löschen DQL Data Query Language: Daten abfragen DDL Data Definition Language: Tabellen und andere Strukturelemente erzeugen,

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

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

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

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

Carl-Engler-Schule Karlsruhe Datenbank 1 (5)

Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Informationen zur Datenbank 1. Definition 1.1 Datenbank-Basis Eine Datenbank-Basis ist eine Sammlung von Informationen über Objekte (z.b Musikstücke, Einwohner,

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

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

MySQL Installation. AnPr

MySQL Installation. AnPr Name Klasse Datum 1 Allgemeiner Aufbau Relationale Datenbank Management Systeme (RDBMS) werden im Regelfall als Service installiert. Der Zugriff kann über mehrere Kanäle durchgeführt werden, wobei im Regelfall

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

Die Anweisung create table

Die Anweisung create table SQL-Datendefinition Die Anweisung create table create table basisrelationenname ( spaltenname 1 wertebereich 1 [not null],... spaltenname k wertebereich k [not null]) Wirkung dieses Kommandos ist sowohl

Mehr

SQL,Teil 2: SELECT. W. Spiegel. Übersicht SELECT. Mehrfache Werte vermeiden: SELECT DISTINCT. Ausgabe ordnen: ORDER BY. Projektion.

SQL,Teil 2: SELECT. W. Spiegel. Übersicht SELECT. Mehrfache Werte vermeiden: SELECT DISTINCT. Ausgabe ordnen: ORDER BY. Projektion. SQL,Teil 2: SELECT W. Spiegel Übersicht SELECT Mehrfache Werte vermeiden: SELECT DISTINCT Ausgabe ordnen: ORDER BY Projektion Selektion: WHERE Join mit SELECT Beispiel Aufgaben 1 SELECT Die SELECT-Anweisung

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

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

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

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt

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

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL Betreuer: Sascha Kriewel, Tobias Tuttas Raum: LF 230 Bearbeitung: 26., 27. und 29. Juni 2006 Datum Team (Account) Vorbereitung Präsenz Aktuelle Informationen, Ansprechpartner und Material unter: http://www.is.inf.uni-due.de/courses/dbp_ss07/index.html

Mehr

Es geht also um die sogenannte SQL- Data Definition Language.

Es geht also um die sogenannte SQL- Data Definition Language. In diesem Abschnitt werden wir uns die SQL Befehle ansehen, mit denen ein sogenanntes Datenbankschema angelegt, gepflegt und auch wieder gelöscht werden kann. Es geht also um die sogenannte SQL- Data Definition

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

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