Hallo,
ich bereite mich wie schon mal erwähnt auf deine Database-Klausur vor.
Daher fallen mir bei der Vorbereitung immer wieder Sachen auf, welche ich noch nicht ganz verstehe.
So z.b.
1. Was ist der Unterschied zwischen:
Tabelle R
a b
5 30
0 20
20 40
.....
1. Alternative:
Select b
From R
where a<10 or a>=10;
und
2.Alternative
Select b
From R
___________
2. Was ist der Unterschied zwischen:
Tabelle R Tabelle S
a b b c
5 30 25 10
0 20 20 30
20 40 30 15
...... .....
1.Alternative
Select a
From R,S
Where R.b = S.b
2.Alternative
Select a
From R
Where b IN (Select b From S);
für mich sind sowohl bei Bsp 1 und 2 keine Unterschiede ersichtlich ???
------------------------------------------------------------------------------------------------------
3. Sind diese Beziehungen in der 3-valued logic gültig (Bsp unabhängig bzgl. oben)?
NOT (P OR Q) = (NOT P) AND (NOT Q)
NOT (P AND Q) = (NOT P) OR (NOT Q)
Für ausführliche Hilfestellungen wäre ich sehr dankbar
gruss
Mak
Hallo mak,
schreibe doch mal die SQL-Befehle korrekt, (aus DB kopieren).
Es ist manches nicht erkennbar!
zb:
Select b
From R
R
a b
5 30
0 20
20 40
.....
sollen die Zahlen Kriterien darstellen, und was hat das mit dem Vergleich zutun, bei dem nur für a eine Bedingung gestellt wird?
beim 2. Beispiel sind das doch 2 verschiedene Dinge?
beim 3. beispiel muss die syntax völlig anders lauten, da 2 Tabellen im Spiel sind!?
Vorschlag: baue dir eine kleine DB u. mache die Beispiele, entweder du siehst die Unterschiede oder fragt mit korrektem (oder auch fehlerhaften) Syntax nach und nicht vergessen: Angabe, was erledigt werden soll
Gruß Oma
ich gebe zu die Tabellen sind schlampig gewesen.
aber ich hatte dies bereits in access ausprobiert und es stellten sich die geposteten fragen.
Zudem: Die Syntax ist richtig bzw. soll so sein wie sie vermerkt ist
gruss
Mak
Hallo Mak,
mit deinen Änderungen kann ich das nun nachvollziehen:
zu 1. Es ergeben sich schon Änderungen!,
mit 1. Abfrage werden alle Datensätze ausgegeben, da Where keine Einschränkung ergibt
SELECT a, b
FROM R
WHERE a<10 Or a>=10
ergibt alle DS , da alle a<10 oder a>=10 sind , solch eine Where - Klausel ist doch unsinnig,
eine richtige Bedingung wäre z.B. WHERE a>10 AND a<=20 (alle Datensätze mit a größer 10 und kleiner = 20)
ausgegeben werden alle Datensatze mit werte für a und b
Die alternative ergibt ebenso alle Datensätze , aber nur das Feld b!!!
zu 2. Beide Ausdrüke ergeben das gleiche, aber auf verschiedene Weise;
1. wird ein kartesisches Produkt aus beiden Tabellen gebildet und in diesen Produkt gefragt, welche Werte für b in beiden tabellen gleich sind
2. wird eine Unterabfrage gebildet, mit dessen Ergebnis ein Kriterium gebildet wird: alle werte von B aus S
Gruß Oma
oma, vielen dank für deine Erläuterungen. Ich habe ihnen sehr gut folgen können.
Kannst du mir bitte noch bzgl 3 weiterhelfen (unabhängig von den Tabellen in 1 und 2)
3. Sind diese Beziehungen in der 3-valued logic gültig ?
NOT (P OR Q) = (NOT P) AND (NOT Q)
NOT (P AND Q) = (NOT P) OR (NOT Q)
Hallo Mak,
NOT (P OR Q) = (NOT P) AND (NOT Q) ist gültig, denn nicht P oder nicht Q ist gleichbedeutend mit Nicht P UND nicht Q
NOT (P AND Q) = (NOT P) OR (NOT Q) ist nicht gültig! NOT (P AND Q) als Bedingung ist immer nicht erfüllt, da ein Feld nicht gleichzeitig nicht P und Q sein kann (natürlich auch nicht gleichzeitig P und Q)
Gruß Oma