Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

diverse Basis-Verständnisfragen

Begonnen von Mak, Oktober 03, 2010, 15:23:32

⏪ vorheriges - nächstes ⏩

Mak

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
                                                                 

oma

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
nichts ist fertig!

Mak

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

oma

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

nichts ist fertig!

Mak

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)

oma

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

nichts ist fertig!