View
109
Download
0
Category
Preview:
Citation preview
Datenbanksysteme für FÜ SS 2000Seite 2 - 1
WorzykFH Anhalt
SQL 1
• Aussagen über Tabelleninhalte
• Aussagelogik
• Äquivalenzen
• Select
• Where
Datenbanksysteme für FÜ SS 2000Seite 2 - 2
WorzykFH Anhalt
Aussagen über Tabelleninhalte
Müller J utta 425
Lehmann Hans 260
Maier Fritz 250
Müller Anna 111
Köhler Emil 301
Bauer Else 260
Datenbanksysteme für FÜ SS 2000Seite 2 - 3
WorzykFH Anhalt
Aussagen über Tabelleninhalte
Müller J utta 425
Müller Anna 111
Alle Tupel von Müller
Datenbanksysteme für FÜ SS 2000Seite 2 - 4
WorzykFH Anhalt
Aussagen über Tabelleninhalte
Müller J utta 425
Köhler Emil 301
Alle Tupel mit einer Telefonnummer >300
Datenbanksysteme für FÜ SS 2000Seite 2 - 5
WorzykFH Anhalt
Aussagen über Tabelleninhalte
Müller J utta 425
Alle Tupel von Müller und mit einer Telefonnummer >300
Datenbanksysteme für FÜ SS 2000Seite 2 - 6
WorzykFH Anhalt
Aussagen über Tabelleninhalte
Müller J utta 425
Müller Anna 111
Köhler Emil 301
Alle Tupel von Müller oder mit einer Telefonnummer >300
Datenbanksysteme für FÜ SS 2000Seite 2 - 7
WorzykFH Anhalt
Aussagen über Tabelleninhalte
Müller J utta 425
Müller Anna 111
Köhler Emil 301
Alle Tupel für die nicht gilt:Der Name ist nicht Müller und die Telefonnummer ist < 300
Datenbanksysteme für FÜ SS 2000Seite 2 - 8
WorzykFH Anhalt
Aussagen über Tabelleninhalte
Müller J utta 425
Lehmann Hans 260
Köhler Emil 301
Alle Tupel für die gilt: wenn nicht Lehmann dann mit einer Telefonnummer >300
Datenbanksysteme für FÜ SS 2000Seite 2 - 9
WorzykFH Anhalt
Aussagen über Tabelleninhalte
Müller J utta 425
Lehmann Hans 260
Maier Fritz 250
Müller Anna 111
Köhler Emil 301
Bauer Else 260
Alle Tupel von Müller und der TelNr > 300 oder wenn der Name „Müller“ ist, dann TelNr 300, sonst egal
Datenbanksysteme für FÜ SS 2000Seite 2 - 10
WorzykFH Anhalt
Aussagen über Tabelleninhalte
Alle Tupel für die gilt:Der Name ist „Müller“ und die TelNr > 300 und entweder ist der Name nicht „Müller“ oder TelNr 300 oder beides
Datenbanksysteme für FÜ SS 2000Seite 2 - 11
WorzykFH Anhalt
Aussagen über Tabelleninhalte
• Unterschiedliche Aussagen können zu gleichen Ergebnissen führen
• Exakte Aussagen sind schwierig zu formulieren
• Umgangssprachliche Aussagen sind häufig nicht exakt
Datenbanksysteme für FÜ SS 2000Seite 2 - 12
WorzykFH Anhalt
AussagelogikBildungsregeln für Ausdrücke:
Jede Aussagevariablen ist ein AusdruckWenn p q Ausdrücke sind, dann auchp Negation
pq Konjunktionpq Alternativepq Implikationpq Äquivalenz
pq AntivalenzAusdrücke
Datenbanksysteme für FÜ SS 2000Seite 2 - 13
WorzykFH Anhalt
Beispiele für Ausdrückep Name = "Müller"q Telefonnummer >300p q Müller und mit einer Telefonnummer >300p q Alle Tupel von Müller oder mit einer
Telefonnummer >300 p q) Alle Tupel für die nicht gilt:
Der Name ist nicht Müllerund die Telefonnummer ist < 300
r q wenn nicht Lehmann dann mit einerTelefonnummer >300
(p q) p q)
Alle Tupel von Müller und der TelNr > 300oder wenn der Name „Müller" ist, dann TelNr 300, sonst egal
Datenbanksysteme für FÜ SS 2000Seite 2 - 14
WorzykFH Anhalt
Äquivalenzenp q p q
p q p q
p q p qpq (p q (q p
(p q (q ppq (p q (q p
Datenbanksysteme für FÜ SS 2000Seite 2 - 15
WorzykFH Anhalt
select
SELECT command ::=
column
SELECT *,
DISTINCT
ALL
table.
t_alias.
FROM table
t_alias
,
Datenbanksysteme für FÜ SS 2000Seite 2 - 16
WorzykFH Anhalt
select
SQL> SELECT * FROM telefonbuch;
NACHNAME VORNAME TELEFONNUMMER EINGERIC
-------------------- ---------- ------------- --------
Müller Jutta 425 01.04.00
Lehmann Hans 260 03.11.99
Maier Fritz 250 05.02.00
Müller Anna 111 03.04.00
Köhler Emil 301 02.02.00
Bauer Else 260 01.03.00
6 Zeilen ausgewählt.
Datenbanksysteme für FÜ SS 2000Seite 2 - 17
WorzykFH Anhalt
selectSQL> SELECT vorname, nachname, telefonnummer
2 FROM telefonbuch;
VORNAME NACHNAME TELEFONNUMMER
---------- -------------------- -------------
Jutta Müller 425
Hans Lehmann 260
Fritz Maier 250
Anna Müller 111
Emil Köhler 301
Else Bauer 260
6 Zeilen ausgewählt.
Datenbanksysteme für FÜ SS 2000Seite 2 - 18
WorzykFH Anhalt
selectSQL> SELECT Nachname, Vorname,
2 TO_CHAR(eingerichtet,'DD.MON.YYYY')
3 FROM telefonbuch;
NACHNAME VORNAME TO_CHAR(EIN
-------------------- ---------- -----------
Müller Jutta 01.APR.2000
Lehmann Hans 03.NOV.2099
Maier Fritz 05.FEB.2000
Müller Anna 03.APR.2000
Köhler Emil 02.FEB.2000
Bauer Else 01.MÄR.2000
Datenbanksysteme für FÜ SS 2000Seite 2 - 19
WorzykFH Anhalt
select
SELECT command ::=
column
SELECT *,
DISTINCT
ALL
table.
t_alias.
FROM table
t_alias
,
c_alias
expression
Datenbanksysteme für FÜ SS 2000Seite 2 - 20
WorzykFH Anhalt
expressionexpr (Form I) ::=
(expr)
expr
expr
-
* expr
+
/
-
+
||
(function)
Datenbanksysteme für FÜ SS 2000Seite 2 - 21
WorzykFH Anhalt
selectSQL> SELECT Nachname, Vorname,
2 TO_CHAR(eingerichtet,'DD.MON.YYYY') seit
3 FROM telefonbuch;
NACHNAME VORNAME SEIT
-------------------- ---------- -----------
Müller Jutta 01.APR.2000
Lehmann Hans 03.NOV.2099
Maier Fritz 05.FEB.2000
Müller Anna 03.APR.2000
Köhler Emil 02.FEB.2000
Bauer Else 01.MÄR.2000
Datenbanksysteme für FÜ SS 2000Seite 2 - 22
WorzykFH Anhalt
select
SELECT command ::=
column
SELECT *,
DISTINCT
ALL
table.
t_alias.
FROM table
WHERE conditiont_alias
,
c_alias
Datenbanksysteme für FÜ SS 2000Seite 2 - 23
WorzykFH Anhalt
expression
expr (Form II) ::=
column
‘text‘
number
Datenbanksysteme für FÜ SS 2000Seite 2 - 24
WorzykFH Anhalt
conditioncondition (Form I) ::=
expr = expr
>
>=
<
!=
<=
Datenbanksysteme für FÜ SS 2000Seite 2 - 25
WorzykFH Anhalt
condition
condition (Form II) ::=
(condition)
NOT condition
condition conditionAND
OR
Datenbanksysteme für FÜ SS 2000Seite 2 - 26
WorzykFH Anhalt
AbfragenAlle Tupel von MüllerSQL> SELECT Nachname, Vorname, Telefonnummer
2 FROM telefonbuch
3 WHERE nachname = 'Müller';
NACHNAME VORNAME TELEFONNUMMER
------------------- ---------- -------------
Müller Jutta 425
Müller Anna 111
Datenbanksysteme für FÜ SS 2000Seite 2 - 27
WorzykFH Anhalt
condition
condition (Form II) ::=
(condition)
NOT condition
condition conditionAND
OR
Datenbanksysteme für FÜ SS 2000Seite 2 - 28
WorzykFH Anhalt
AbfragenAlle Tupel von MüllerSQL> SELECT Nachname, Vorname, Telefonnummer
2 FROM telefonbuch
3 WHERE nachname = 'Müller';
NACHNAME VORNAME TELEFONNUMMER
------------------- ---------- -------------
Müller Jutta 425
Müller Anna 111
Datenbanksysteme für FÜ SS 2000Seite 2 - 29
WorzykFH Anhalt
AbfragenAlle Tupel mit einer Telefonnummer >300SQL> SELECT Nachname, Vorname, Telefonnummer 2 FROM telefonbuch 3 WHERE telefonnummer > 300;
NACHNAME VORNAME TELEFONNUMMER-------------------- ---------- -------------Müller Jutta 425Köhler Emil 301
Datenbanksysteme für FÜ SS 2000Seite 2 - 30
WorzykFH Anhalt
Abfragen
Alle Tupel von Müller und mit einer Telefonnummer >300SQL> SELECT Nachname, Vorname, Telefonnummer 2 FROM telefonbuch 3 WHERE nachname = 'Müller' 4 AND telefonnummer > 300;
NACHNAME VORNAME TELEFONNUMMER-------------------- ---------- -------------Müller Jutta 425
Datenbanksysteme für FÜ SS 2000Seite 2 - 31
WorzykFH Anhalt
AbfragenAlle Tupel von Müller oder mit einer Telefonnummer>300SQL> SELECT Nachname, Vorname, Telefonnummer 2 FROM telefonbuch 3 WHERE Nachname = 'Müller' 4 OR telefonnummer > 300;
NACHNAME VORNAME TELEFONNUMMER-------------------- ---------- -------------Müller Jutta 425Müller Anna 111Köhler Emil 301
Datenbanksysteme für FÜ SS 2000Seite 2 - 32
WorzykFH Anhalt
AbfragenAlle Tupel für die nicht gilt:Der Name ist nicht „Müller“ und die Telefonnummer ist nicht > 300SQL> SELECT Nachname, Vorname, Telefonnummer 2 FROM telefonbuch 3 WHERE NOT( Nachname != 'Müller' 4 AND NOT telefonnummer > 300);
NACHNAME VORNAME TELEFONNUMMER-------------------- ---------- -------------Müller Jutta 425Müller Anna 111Köhler Emil 301
Datenbanksysteme für FÜ SS 2000Seite 2 - 33
WorzykFH Anhalt
AbfragenAlle Tupel von Müller und der TelNr > 300 oder wenn der Name „Müller“ ist, dann TelNr 300, sonst egal
SQL> SELECT Nachname, Vorname, Telefonnummer 2 FROM telefonbuch 3 WHERE (Nachname = 'Müller' 4 and Telefonnummer > 300) 5 OR (Nachname != 'Müller' 6 or Telefonnummer <= 300);NACHNAME VORNAME TELEFONNUMMER-------------------- ---------- -------------Müller Jutta 425Lehmann Hans 260Maier Fritz 250Müller Anna 111Köhler Emil 301Bauer Else 260
Datenbanksysteme für FÜ SS 2000Seite 2 - 34
WorzykFH Anhalt
AbfragenAlle Tupel für die gilt:Der Name ist „Müller“ und die TelNr > 300 und entweder ist der Name nicht „Müller“oder TelNr 300 oder beidesSQL> SELECT Nachname, Vorname, Telefonnummer 2 FROM telefonbuch 3 WHERE (Nachname = 'Müller' 4 and Telefonnummer > 300) 5 AND (Nachname != 'Müller' 6 OR Telefonnummer <= 300);
Es wurden keine Zeilen ausgewählt
Datenbanksysteme für FÜ SS 2000Seite 2 - 35
WorzykFH Anhalt
SQL Plus 8.0
Datenbanksysteme für FÜ SS 2000Seite 2 - 36
WorzykFH Anhalt
Anmelden
Datenbanksysteme für FÜ SS 2000Seite 2 - 37
WorzykFH Anhalt
Zusammenfassung
• Die Aussagelogik ermöglicht die exakte Formulierung einer Anfrage
• select Anweisung• where Klausel beschreibt die
umgangssprachlich formulierte Ergebnismenge mit Hilfe des (Pfeilfreien) Aussagekalküls
Recommended