Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

SQL als Abfragesprache

Ähnliche Präsentationen


Präsentation zum Thema: "SQL als Abfragesprache"—  Präsentation transkript:

1 SQL als Abfragesprache
theoretische und praktische Einführung

2 Wikipedia schreibt: SQL (Structured Query Language), ist eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken. SQL ist von ANSI und ISO standardisiert und wird von fast allen gängigen Datenbanksystemen unterstützt. SQL umfasst die folgenden Datenbanksprachen: Data Manipulation Language, Data Definition Language, Data Control Language.

3 Allgemeines Entstand gegen Ende der 70er (IBM, San Jose)
Eigentlicher Name: SEQUEL Aktueller Standard: SQL:2008 „Nichtprozedural“ User formuliert was getan werden soll, ohne es selbst zu tun Beispiel-Implementierungen: MySQL, Access, uvm. Möglichkeiten der Erstellung per GUI oder „zu Fuß“ Befehle orientieren sich an natürlicher Sprache (Englisch) Erweiterbar durch Schnittstellen zu anderen Programmiersprachen und durch Exportfunktionen

4 Beispiel einer Relation
Nutzer Entität/Relation Schema Nutzer-ID Vorname Nachname Karten-Nummer 1 Heinz Happ 34556 2 Gabi Gabel 468786 3 Martin Mann 123786 4 Frieda Frau 846513 5 Harry Hirsch 132464 Tupel Attribut

5 Beispiel einer Relation
Bücher Buch-ID Autor Verlag Verlagsjahr Titel Datum 1 Hans Vielschreiber Musterverlag 2007 Wir lernen SQL 2 J. Gutenberg Gutenberg und Co. 1452 Drucken leicht gemacht 3 G. I. Caesar Handschrift Verlag -44 Mein Leben mit Asterix 5 Galileo Galilei Inquisition International 1640 Eppur si muove 1641 6 Charles Darwin Vatikan Verlag 1860 Adam und Eva 1862

6 Beispiel einer Relation
Entliehen Nutzer-ID Buch-ID 5 1 2 3 6

7 Indizes/Schlüssel Jedes Tupel (Zeile) in einer Tabelle kann durch einen eindeutigen Index (Primary Key) identifiziert werden Dieser wird explizit vergeben oder aus bestimmten Spalten zusammengesetzt Um eindeutig zu sein muss sich der zusammengesetzte Schlüssel in mindestens einem Punkt von allen anderen unterscheiden

8 Data Manipulation Language
Daten werden abgerufen Daten können manipuliert werden Wichtigste Befehle: SELECT INSERT UPDATE DELETE

9 Beispiel Select SELECT Spaltenname1, Spaltenname2 (* für Alle) FROM Relationsname; Wählt bestimmte Spalten aus einer bestimmten Tabelle aus

10 Beispiel Select SELECT Spaltenname1, Spaltenname2 FROM Relationsname WHERE Bool‘sche Bedingung; (<,>,||,=,AND,OR,BETWEEN,EXISTS,IS NULL etc.) Wählt bestimmte Spalten aus einer bestimmten Tabelle aus, deren Inhalt eine Bedingung erfüllt

11 Beispiel Select SELECT Spaltenname1, Spaltenname2 (* für Alle) FROM Relationsname WHERE Bool‘sche Bedingung ORDER BY Spaltenname asc/desc; Wählt bestimmte Spalten aus einer bestimmten Tabelle aus, deren Inhalt eine Bedingung erfüllt und sortiert diese

12 Beispiel Select SELECT Spaltenname1, Spaltenname2 (* für Alle) FROM Relationsname GROUP BY Gruppierungen (COUNT,MAX,MIN,AVG,SUM,etc.) Wählt bestimmte Spalten aus einer bestimmten Tabelle aus und führt eine mathematische Operation mit diesen durch

13 Kreuzen SELECT * FROM links, rechts; links rechts A B 1 2 3 B C 3 4 5

14 Join Select SELECT * FROM links, rechts WHERE links.B=rechts.B; links
A B 1 2 3 B C 3 4 5 SELECT * FROM links, rechts WHERE links.B=rechts.B; A B C 2 3 4

15 Beispiel Insert INSERT INTO Relationsname (Spaltenname) VALUES (Werte); Fügt in einer bestimmten Spalte einer bestimmten Tabelle, Werte ein.

16 Beispiel Update UPDATE Relationsname SET Spaltenname = Wert WHERE Bool‘sche Bedingung; Ändert in einer bestimmten Spalte einer bestimmten Tabelle den Wert, der eine Bedingung erfüllt.

17 Beispiel Delete DELETE FROM Relationsname WHERE Bool‘sche Bedingung; Löscht in einer bestimmten Tabelle den Tupel, der eine Bedingung erfüllt.

18 Data Definition Language
Daten werden erzeugt Relationen werden erzeugt/gelöscht Wichtigste Befehle: CREATE DROP ALTER

19 Beispiel Create CREATE TABLE Relationsname (Spaltenname1,Spaltenname2); Erzeugt eine Tabelle mit den angegebenen Spalten. Wobei hinter jeder Spalte ein Datentyp definiert wird (INT,CHAR,BIT,DATE, etc.).

20 Exkurs: Datentypen in SQL
int: Ganze Zahl (Variationen smallint, bigint) numeric (n,m): Festkommazahl (n Stellen, davon m Nachkommastellen float (m): Gleitkommazahl (mit m Stellen) real/double: Gleitkommazahlen (vom DBS festgelegt) char (n): Zeichenkette mit n Stellen varchar: Zeichenkette variabler Länge date: Datumsangabe time: Zeitangabe timestamp: Datum und Uhrzeit boolean: wahr- oder falsch-Wert blob (n): „Binary Large Object“ mit n Byte Länge clob (n): „Character Large Object“ mit n Zeichen Länge

21 Beispiel Create CREATE INDEX Indexname ON Relationsname (Spaltenname); Erzeugt einen Index auf den angegebenen Spalten.

22 Beispiel Alter ALTER TABLE Relationsname ADD Spaltenname1, Spaltenname2; Fügt zu einer Tabelle die angegebenen Spalten. Wobei hinter jeder Spalte ein Datentyp angegeben wird.

23 Beispiel Drop DROP TABLE Relationsname; Löscht eine bestimmte Tabelle.

24 Beispiel Drop DROP INDEX Indexname; Löscht einen bestimmten Index.

25 Data Control Language Rechte werden gegeben
Rechte werden eingeschränkt Wichtigste Befehle: GRANT REVOKE

26 Beispiel Grant GRANT Befehl1,Befehl2 ON Relationsname1, Relationsname2 TO Benutzername (kann auch PUBLIC sein); [WITH GRANT OPTION;] Gestattet Befehle auf bestimmten Tabellen, einem/mehreren/allen Benutzern [mit der Option dieses Recht weiterzugeben].

27 Beispiel Revoke REVOKE Befehl1,Befehl2 ON Relationsname1, Relationsname2 FROM Benutzername (kann auch PUBLIC sein); Entzieht Befehle auf bestimmten Tabellen, einem/mehreren/allen Benutzern.


Herunterladen ppt "SQL als Abfragesprache"

Ähnliche Präsentationen


Google-Anzeigen