SQL – Allegmeines
SQL = Structured Query Language
Datenmanipulationssprache und -abfragesprache
Schnittstelle vom Benutzer oder Anwendungsprogramm zur Datenbank
SQL – Befehle
Datenbank und Tabellen anlegen, modifizieren, löschen, exportieren, importieren, sichern und verwalten
Datensätze eingeben, ändern und löschen
Abfrage (engl. Query) von Daten nach gewünschten Kriterien
Daten eingeben, ändern, suchen, ausgeben, verknüpfen, sortieren, gruppieren und löschen
Datenbankbenutzer und deren zugriffsrecht auf Datenbanken, Tabellen oder Tabellenspalten einrichten, verwalten und löschen
Slide 2
Begriffe Datenbanken und SQL
Definition Datenbanken:Eine Datenbank ist eine strukturierte Sammlung von Daten, die in einem sachlogischen und widerspruchsfreien Zusammenhang stehen. Sie dient dazu, Daten systematisch zu erfassen, zu verteilen, zu finden und zu archivieren.Vorteile:
große Datenmengen verwalten
komplexe Darstellung
sortierbar nach beliebigen Attributen
gefilterte Inhalte
Inhalte fehlerfrei und einfach geändert
Datensatz (Tupel):Zeilen einer Tabelle.Datenfeld:Einzelne Zellen einer Tabelle.Attribute:Spalten, durch Feldnamen bezeichnetDatentyp:Jedem Datenfeld ein Datentyp zugeordnet (je Spalte einheitlich)Relationale Datenbanken:Datenbanken, die sich aus einer oder mehreren Tabellen zusammensetzenDatenkonsistenz:Jeder Datensatz muss eindeutig, definierbar (konsistent) sein.
Slide 3
Begriffe Datenbanken und SQL
Redundanzfreiheit:Alle Daten dürfen nur ein einziges Mal erfasst und gespeichert werden. Keine Doppelungen erlaubt!Normalisierung:Datensätze auf mehrere Tabellen verteilen.Primärschlüssel (PRIMARY KEY):Bezeichnet Attribute einer Tabelle, die einen Datensatz eindutig definieren.Zusammengesetzter Primärschlüssel:Mehrere Attribute bilden gemeinsam
den Primärschlüssel. Was in der einen Tabelle der Primärschlüssel ist,
ist in der zweiten Tabelle der Fremdschlüssel (Verknüpfung zweier
Tabellen).Fremdschlüssel (FOREIGN KEY):Ein Fremdschlüssel ist ein Attribut, das auf einen Datensatz in einer anderen Relation verweist.
1.Neue Datenbank erstellen:CREATE DATABASE Medienbetrieb;Erzeuge die Datenbank "Medienbetrieb"Die Datenbank ist zunächst noch leer, enthält noch keine Tabelle.Datenbank löschen:DROP DATABASE Medienbetrieb;Lösche die Datenbank "Medienbetrieb"-> Die SQL-Befehle sind zur besseren Kennzeichnung großgeschrieben
2.Tabelle (Relation) erzeugen:-> Bei der Erzeugung einer Tabelle müssen alle Eigenschaften (Attribute) der Tabelle angegeben werden!
Datenbank erstellen und Tabelle erzeugen
Slide 5
2.Tabelle erzeugen:CREATE TABLE Kunden {KNr INT NOT NULL AUTO_INCREMENT,Firma VARCHAR (30),Strasse VARCHAR (30),Plz VARCHAR (30),Ort VARCHAR (30), PRIMARY KEY (KNr)};
2.Tabelle erzeugen:CREATE TABLE Kunden {KNr INT NOT NULL AUTO_INCREMENT,Firma VARCHAR (30),Strasse VARCHAR (30),Plz VARCHAR (30),Ort VARCHAR (30), PRIMARY KEY (KNr)};
"KNr" erhält Datentyp INT (Integer) für ganze Zahlen
NOT NULL: es muss immer ein Eintrag erfolgen, da die KNr als Primärschlüssel PRIMARY KEY dient
AUTO_INCREMENT: Nummer wird vom Datenbanksystem automatisch vergeben und hochgezählt. Daher keine Doppelungen möglich!
Slide 7
Tabelle verändern/modifizieren
3.Tabelle verändern/modifizieren:ALTER TABLE ...-> z. B. Tabellenspalte hinzufügenALTER TABLE KundenADD Hausnummer INTAFTER Strasse;Füge das Merkmal Hausnumer vom Typ INT nach dem Merkmal Straße in die Tabelle Kunden ein.
3.Tabelle verändern/modifizieren:ALTER TABLE ...-> z. B. Tabellenspalte modifizierenALTER TABLE KundenMODIFY Hausnummer VARCHAR (5);Ändere den Datentyp des Merkmals Hausnummer in VARCHAR (5)
Slide 8
3.Tabelle verändern/modifizieren:ALTER TABLE ...-> z. B. Tabellenspalte löschenALTER TABLE Kunden DROP Hausnummer;Lösche die Spalte Hausnummer
Tabelle verändern/modifizieren, löschen
4.Tabelle löschen:DROP TABLE Kunden;Lösche die Tabelle Kunden
Slide 9
Datensätze eingeben
5.Datensätze eingebenINSERT INTO Kunden (Firma, Strasse, Plz, Ort)VALUES ("Winkler", Hauptstrasse 23", "77652", "Offenburg");-> Texte müssen in Anführungszeichen oder Hochkommas gesetzt werden!
6. Datensätze ändern:UPDATE KundenSET Strasse="Gartenstraße 5", PLZ="77933" Ort="Lahr"WHERE KNr=5;Ändere Strasse, Plz und Ort des Kunden mit der Kundennummer 5
7.Datensätze löschenDELETE FROM KundenWHERE KNr=5;Lösche den gesamten Datensatz des Kunden mit der Kundennummer 5
Slide 11
Datensätze abfragen
7. Datensätze abfragen:
Die SELECT-Anweisung ist ein komplexer SQL-Befehl, der den Zugriff auf Datenbanken mittels Abfragen ermöglicht.
Eine SELECT-Anweisung besteht im Allgemeinen aus folgenden drei Bereichen:SELECT Strasse, Plz, OrtFROM KundenWHERE Firma LIKE "Mayer";
Zeige mir Strasse, Plz und Ort aller Kunden (Tabelle) mit dem Firmenname Mayer
Der erste Teil:
Einleitung durch Schlüsselwort SELECT mit durch Kommata getrennter Auflistung aller Merkmale der Tabelle, die als Ergebnismenge ausgegeben werden sollen.
Sonderzeichen * = alle Merkmale der Tabelle (der gesamte Datensatz) sollen ausgegeben werden
Slide 12
Der zweite Teil:
Einleitung durch Schlüsselwort FROM
Spezifiziert die Datenquelle (Tabelle) aus der die Daten für die Abfrage entnommen werden.
Hier können die Namen einer oder mehrerer durch Kommata getrennter Tabellen stehen
Datensätze abfragen
7. Datensätze abfragen:SELECT Strasse, Plz, OrtFROM KundenWHERE Firma LIKE "Mayer";
Slide 13
Der dritte Teil:
Einleitung durch das Schlüsselwort WHERE
Formulierung einer oder mehrerer Bedingungen die von den Daten der Ergebnismenge erfüllt werden müssen
Mehrere Feldnamen werden durch AND, OR oder NOT verbunden
Funktionen zur Formulierung von Bedingungen:LIKE, BETWEEN, IN oder =; <, > <> ungleich, <= und >= kleiner/größer oder gleich
Datensätze abfragen
7. Datensätze abfragen:SELECT Strasse, Plz, OrtFROM KundenWHERE Firma LIKE "Mayer";
Slide 14
Datensätze abfragen
7. Datensätze abfragen:Geordnete Abfrage:SELECT *FROM KundenORDER BY PLZ;
Zeige mir die Datensätze aller Kunden (Tabelle) geordnet nach Postleitzahl
7. Datensätze abfragen:Abfrage über verknüpfte TabellenLEFT JOIN, RIGHT JOIN und INNER JOIN