S(tructured)Q(uery)L(anguage) Welche Kunden haben wir? Welche Kunden wohnen in Chicago? Welche Bestellung wurden zwischen dem 01.03.2006 und dem 31.03.2006 aufgegeben? Leibniz Universität IT Services Anja Aue
Informationen im Web http://www.sql-und-xml.de/sql-tutorial/ http://de.wikibooks.org/wiki/einf%c3%bchrung_in_sql http://www.1keydata.com/de/sql/ http://sql.lernenhoch2.de/lernen/ http://www.schulserver.hessen.de/darmstadt/lichtenberg/ SQLTutorial/home.html https://www.deutsche-digitalebibliothek.de/binary/fjlo2qttig5tq5xtg7sjd57365u5oni 3/full/1.pdf SQL - Einführung 04.01.16 Seite 2
SQL-Befehlslisten http://www.ks-hechingen.de/dv_down/bs_sql.pdf http://www.sibilla-egen-schule.de/schule/schservice/anleit/befehlssammlung_sql.pdf http://www.itslot.de/2013/12/sql-befehle-fur-anfanger.html http://msdn.microsoft.com/dede/library/cc451081%28v=vs.71%29.aspx SQL - Einführung 04.01.16 Seite 3
Handbücher etc. Handbuch des Leibniz Universität IT Services: SQL. Grundlagen und Datenbankdesign. Alan Beaulieu: Einführung in SQL. O'Reilly John-Harry Wieken: Ernsthaft SQL verstehen. ServiceValue Fachbücher SQL - Einführung 04.01.16 Seite 4
Beispiel-Datenbank https://chinookdatabase.codeplex.com/ Northwind-Datenbank von Microsoft Access (https://www.microsoft.com/en-us/download/details.aspx? id=23654) SQL - Einführung 04.01.16 Seite 5
S(tructured)Q(uery)L(anguage) Strukturierte Abfragesprache. Standardsprache für relationale Datenbanken. Daten in Tabellen manipulieren, aktualisieren, eintragen und löschen. Nutzung in allen gängigen relationalen Datenbanksystemen. Beschreibung im aktuellen Standard SQL:2011 ISO/IEC 9075:2011. SQL - Einführung 04.01.16 Seite 6
Relationale Datenbanken Informationen wie zum Beispiel Adressen werden in Tabellen gespeichert. Die Informationen werden strukturiert in Datensätzen abgelegt. Zum Beispiel wird in einer Tabelle pro Zeile eine bestimmte Adresse abgelegt. Jeder Datensatz hat die gleichen Attribute. Zum Beispiel wird in einem Datenfeld der Wohnort zu einer Adresse gespeichert. Tabellen können untereinander eine Beziehung (Relation) haben. Zum Beispiel An einer bestimmten Adresse wohnt Person x. SQL - Einführung 04.01.16 Seite 7
Tabellen Sammlung von Datensätzen. Sammlung von Informationen gleicher Struktur. SQL - Einführung 04.01.16 Seite 8
Datensätze... beschreiben ein bestimmtes Objekt. haben die gleichen Attribute. haben die gleiche Anzahl von Datenfeldern. werden durch einen Primärschlüssel eindeutig identifiziert. SQL - Einführung 04.01.16 Seite 9
Datenfelder speichern exakt eine bestimmte Information. haben einen bestimmten Datentyp. speichern Attributwerte von einem bestimmten Typ. SQL - Einführung 04.01.16 Seite 10
Beziehung (Relation) Mastertabelle ID Erdteil 1 Europa 2 Asien 3 Afrika 4 Amerika Primärschlüssel Detailtabelle ID Erdteil Land 1 1 Belgien 2 1 Polen 3 3 Algier 4 2 Indien Fremdschlüssel hat SQL - Einführung 04.01.16 Seite 11
Bestandteile DML (Data Manipulation Language). DDL (Data Definition Language). DCL (Data Control Language). TCL (Transaction Control Language). SQL - Einführung 04.01.16 Seite 12
Data Definition Language Definition des Datenbankschemas. Erzeugen und Entwerfen von Tabellen. Nutzung durch den Administrator. Befehle: CREATE, ALTER, DROP. SQL - Einführung 04.01.16 Seite 13
Data Control Language Rechteverwaltung. Zugriffsrechte auf eine Tabelle. Nutzung durch den Administrator. Befehle: GRANT, REVOKE. SQL - Einführung 04.01.16 Seite 14
Transaction Control Language Ablaufsteuerung. Jede SQL-Anweisung ist eine Transaktion. Oder: Mehrere Befehle werden zu einer Transaktion zusammengefasst. Befehle: COMMIT, ROLLBACK, SAVEPOINT. SQL - Einführung 04.01.16 Seite 15
Data Manipulation Language Daten auswählen, einfügen, aktualisieren oder löschen. Nutzung durch den Anwender. Befehle: SELECT, INSERT, UPDATE, DELETE. SQL - Einführung 04.01.16 Seite 16
Datenbank Arbeitsweise SELECT... FROM... Daten Tabelle A Tabelle B Tabelle C SQL - Einführung 04.01.16 Seite 17
Aufbau von SQL-Anweisung SELECT Customer.Company, Customer.FirstName, Customer.LastName FROM Customer; Beginn mit einem SQL-Befehl (hier: SELECT). Semikolon als Ende-Zeichen einer Anweisung. Leerzeichen, Tabulatoren, neue Zeilen erhöhen die Lesbarkeit von Anweisungen. Groß- und Kleinschreibung bei Befehlen und Bezeichnern wird nicht beachtet. SQL - Einführung 04.01.16 Seite 18
SQL-Befehle... beschreiben eine Aktion. In diesem Beispiel SELECT wählt Datenfelder aus ein oder mehreren Tabellen aus. werden häufig groß geschrieben. beginnen immer mit einem Buchstaben.
Kommentare -- Künstler und ihr Album SELECT Artist.Name, Album.Title FROM Artist INNER JOIN Album ON (Artist.ArtistId = Album.ArtistId); Der Kommentar beginnt mit zwei Bindestrichen und endet automatisch mit der Zeile. Aufgrund der besseren Lesbarkeit folgt dem Bindestrichpaar ein Leerzeichen. Beliebige Positionierung. SQL - Einführung 04.01.16 Seite 20
Relationale Datenbanken Relationale Datenbank Tabelle A Tabelle B Tabelle Feld 1 Feld 1 Feld n Feld n Datensatz 1 Datensatz 2 Tabelle... Feld 1 Feld n Datensatz n SQL - Einführung 04.01.16 Seite 21
Microsoft Access Relationale Datenbank. Darstellung der Daten und ihre Beziehungen in Tabellen. Datenbankmanagement-System. Daten sortieren, anzeigen und eingeben. Nutzung der Data Manipulation Language. Alle anderen Bestandteile werden nicht verwendet. Abfragen werden in SQL abgespeichert. Falls die Datensatzquelle von Formulare oder Berichte auf Abfragen beruht, kann die SQL-Anweisung direkt angegeben. Die Datenherkunft bei Kombinations- und Listenfeldern wird mit Hilfe einer SQL-Anweisung festgelegt. VBA kann SQL-Anweisungen nutzen. SQL - Einführung 04.01.16 Seite 22
PostgreSQL Benutzer Datenbank pgadmin PostgreSQL (OpenSource) Datenbank Client Server SQL - Einführung 04.01.16 Seite 23
SQLite Dateibasierte Datenbank. Programmbibliothek für zum Beispiel C oder PHP, dass eine relationale Datenbank enthält. Einsatz in eingebetteten Datenbanken. SQL - Einführung 04.01.16 Seite 24