A5_04_SQL_Abfragen - Informatik regional Dresden

Werbung
Datenbanksysteme
Ein Datenbanksystem ist eine systematische und strukturierte Zusammenfassung von Daten
eines Problembereiches (Datenbasis) einschließlich der zur Eingabe, Verwaltung,
Auswertung und Ausgabe erforderlichen Software (Datenbankmanagementsystem,
DBMS).
Datenbank
eigentliche _________
________________________
Gesamtmenge der
abgespeicherten
Daten mit ihren
Beziehungen und
Beschreibungen
Realisiert
 Erstellung der Datenstruktur
 Verwaltung der Daten (hinzufügen,
löschen, sortieren, suchen...)
 Abfragen der Datenbank
 Zugriff auf die Daten
(Zugriffsrechte, speichern,
wiedergewinnen ...)

Grundlegende Objekte des Datenbankmanagementsystems
* ________ enthalten Struktur und Inhalt der eigentlichen Daten
Daten pro Objekt:
Zeile = DATENSATZ
Merkmale der Objekte: Spalten = DATENFELD kurz FELD
* ________ sind Bildschirmmasken als Hilfsmittel zur Dateneingabe und zur
strukturierten Datenausgabe auf dem Bildschirm
* ________ sind Hilfsmittel zur strukturierten Datenausgabe auf dem Drucker
* ________ sind Hilfsmittel zur Selektion von Daten
Abfragen – mit SQL
- Ausführen der Abfrage mit
- Abfrage speichern und Namen erteilen mit
SQL-Anweisungen bestehen aus verschiedenen
Klauseln, welche nach festen Regeln (vergleichbar mit
einer Programmiersprache) zu schreiben sind und
abgearbeitet werden.
Wo schreibt man die SQL-Abfrage?
Abfrage
schreiben
und über !
starten
Wähle im ACCESS-Datenbankfenster
Abfrage  Neu  Entwurfsansicht  Tabelle schließen <Ansicht/SQL-Ansicht> oder RM
in Titelzeile der Abfrage
Regeln zur Eingabe von SQL-Anweisungen:
 Eine SQL-Anweisung kann in einer Zeile oder in mehreren Zeilen geschrieben werden.
 Die Anweisung wird mit ; abgeschlossen.
 SQL ignoriert Groß- und Kleinschreibung bei SQL-Schlüsselwörtern, Tabellen- und
Spaltennamen, jedoch nicht bei Zellinhalten!
Beispiel für eine SQL-Abfrage:
SELECT *
FROM buecher
WHERE verlag = "Goldmann";
582655758
 SELECT wählt die Felder aus ( * steht für alle )
 FROM wählt die Tabellen aus
 WHERE legt die Bedingungen fest
Informatik * Dresden * Meißen
1[3]
Speichern von SQL-Abfragen:
Nach dem Schließen der Abfrage wird automatisch nach dem Speichern gefragt. Wähle
einen sinnvollen Abfragenamen!
Ergänzende Bemerkungen:
Bedingungen:
Attribut >, <, = ,< > Wert
z.B. … WHERE preis > 1000; … WHERE name = ’Müller’;
Mustersuche:
Attribut LIKE * oder ?...;
z.B. WHERE autor LIKE ’B*’;
Bereichssuche:
Attribut BETWEEN startwert AND endwert;
z.B. kosten BETWEEN 10 AND 20;
Elementsuche:
Attribut IN (Elementaufzählung);
schule IN ( ’Gymnasium’ ,’Grundschule ’ , ’Mittelschule’ );
Logische Verbindungen UND bzw. ODER:
WHERE sachgebiet = ’Kinder ’ AND jahr<1970 AND (ort = ’München ’ OR ort = ’Stuttgart ’)
Der Vergleichsoperator LIKE
Zeichen Bedeutung
Beispiel
*
beliebige Anzahl LIKE “K*“
Alle Namen, die mit K beginnen
von Zeichen
LIKE“[A-D]*“ Alle Namen mit den Anfangsbuchstaben A bis D
LIKE“*[!AZ]“ Alle Namen, die nicht mit A oder Z enden
?
ein beliebiges
LIKE“???M“ vier Zeichen lang und viertes Zeichen muss M sein
Zeichen
LIKE“??S*“ dritter Buchstabe muss ein S sein
#
eine beliebige
LIKE“#*“
Zeichenkette muss mit Ziffer beginnen, Rest beliebig
Ziffer
LIKE“####“ Zeichenketten mit vier Ziffern (vierstellige Nummer)
Der IN-Operator
IN (“Text1“;“Text2“; ...)
Alle Felder, die einen der Texte
enthalten
IN (“Rostock“;“Wismar“)
Logische Operatoren
Logischer
Operator
AND
OR
NOT
BETWEEN
582655758
Syntax
Bedeutung
Regel1 UND Regel2
Regel1 ODER Regel2
NICHT Regel
ZWISCHEN Wert1 UND
Wert2
Beide Regeln müssen erfüllt sein.
Mindestens eine Regel muss erfüllt sein.
Die Regel darf nicht erfüllt werden.
Die Eingabe muss zwischen Wert1 und Wert2
liegen.
Informatik * Dresden * Meißen
2[3]
Grundübungen (Abfragen mit SQL biblio.mdb Lösung: bibliothek2.mdb:
Wiederhole die Übungsaufgabe zum Suchen und Filtern, indem Du SQL-Anweisungen in
ACCESS verwendest! Speichere die entsprechende SQL-Anfragen zu Vergleichszwecken
auch ab z.B. Aufg. 1.1 Speichern: 1_1!
1.
1.1.
Abfragen zu Spalten: SELECT spaltenattribute FROM tabelle;
Suche aus der Tabelle buecher alle Autoren! [1597]
1.2.
Ergänze die obere Abfrage mit der Anweisung SELECT DISTINCT …… !
Welche Aufgabe erfüllt der Distinct-Befehl? [ 1143]
2.
Abfragen mit Bedingungen: Abfragen zu Spalten:
SELECT spaltenattribute FROM tabelle WHERE bed;
2.1.
Suche nach allen Büchern des Verlages Goldmann. [11]
2.2.
Filtere aus der Tabelle buecher alle Bücher vom Verlag Insel! [21]
2.3
Filtere aus der Tabelle buecher alle Bücher vom Insel-Verlag, die unter dem
Sachgebiet Kunst in Leipzig
erschienen sind! [2]
2.4
Vom wem stammt das Buch "Anna gibt es noch" und welcher Verlag hat es wann
herausgegeben? [1]
2.5
Filtere aus der Tabelle buecher alle Belletristik-Bücher, welche 1981 in Berlin
erschienen sind! [2]
2.6
Filtere aus der Tabelle buecher alle Bücher aus dem Sachgebiet Kunst, die nach 1980
in einem mit M beginnenden Ort erschienen sind! [4]
2.7
Filtere alle Jugendbücher, die im Titel das Wort 'Gold' irgendwie enthalten! [4]
2.8
Filtere alle im Arena- oder Benziger-Verlag nach 1980 erschienenen Jugendbücher
und sortiere sie nach dem Erscheinungsjahr (beginnend mit dem jüngsten Buch!) …
ORDEB BY …;
2.9
Wie viele Kinderbücher von mit B beginnenden Autoren sind in den 60ger Jahren in
München oder Stuttgart erschienen? Sortiere sie aufsteigend nach den Autoren!
3.1
Filtere alle Autoren mit X,Y, Z beginnend.
3.2
Ermittle alle Bücher, deren Titel mit Der, Die oder Das beginnen.
3.2.1 Finde alle Bücher, deren Titel nicht mit einem Buchstaben beginnen!
3.2.2 Ermittle alle Bücher aus Dresden, München oder Berlin!
4.
Erstelle mindestens 5 eigene Abfragen, davon 3 komplexe Abfragen!
582655758
Informatik * Dresden * Meißen
3[3]
Herunterladen