SQL Fragen aufgenommen
This commit is contained in:
		
							parent
							
								
									0fe39d6ec2
								
							
						
					
					
						commit
						f777f79d1c
					
				| @ -200,7 +200,6 @@ Hinweis: Neue Mitarbeiter werden in der Tabelle Neueinstellungen mit dem Schema | ||||
| ## Es gibt einen Beziehungstyp arbeiten zwischen Mitarbeitern und Projekten. Dieser sei wie folgt charakterisiert: | ||||
| `arbeiten ( Mitarbeiter [0, 1], Projekte [2, 10] )` | ||||
| Welche Aussagen lassen sich daraus ableiten? | ||||
| - [ ] Wählen Sie eine oder mehrere Antworten: | ||||
| - [x] Es gibt Mitarbeiter, die an keinem Projekt arbeiten. | ||||
| - [x] Ein Projekt hat wenigstens 2 Mitarbeiter. | ||||
| - [ ] Ein Mitarbeiter arbeitet an genau einem Projekt. | ||||
| @ -240,3 +239,321 @@ Welche Aussagen lassen sich daraus ableiten? | ||||
| - [x] In der konzeptuellen Entwurfsphase werden Sichten behandelt, die festlegen, welcher Datenbanknutzer später Zugang zu welchen Daten erhalten soll. Dabei werden auch Konflikte zwischen den Sichten betrachtet. | ||||
| - [x] Der Verteilungsentwurf ist optional und wird dann eingesetzt, wenn eine Datenbank über mehrere Knoten (Orte, Systeme, etc.) verteilt werden soll. | ||||
| 
 | ||||
| # Weiteren Vorgehen beim Entwurf | ||||
| ## Welche der folgenden Aussagen über das weitere Vorgehen beim Datenbankentwurf ist korrekt? | ||||
| - [ ] Nach dem physischen Entwurf folgt der konzeptuelle Entwurf und schließlich der logische Entwurf, z.B. SQL in das ER-Modell und schließlich in das Relationenmodell. | ||||
| - [ ] Nach dem konzeptuellen Entwurf folgt der physische Entwurf und schließlich der logische Entwurf, z.B. ER-Modell in SQL und schließlich in das Relationenmodell. | ||||
| - [x] Nach dem konzeptuellen Entwurf folgt der logische Entwurf und schließlich der physische Entwurf, z.B. ER-Modell ins Relationenmodell und schließlich in SQL. | ||||
| 
 | ||||
| ## Welche der folgenden Aussagen über Sichten sind korrekt? | ||||
| - [ ] Es gibt Integrationskonflikte, die sich nicht auflösen lassen und eine vollständige Neuerstellung des Datenbankentwurfs erfordern. | ||||
| - [ ] Sichten können direkt nach ihrer Erstellung in das Gesamtschema überführt werden, da Konflikte (wie z.B. Überlappungen) bei der Integration nicht entstehen können. | ||||
| - [x] Nach der Erstellung von Sichten müssen diese auf Konflikte überprüft werden, ehe sie in ein Gesamtschema überführt werden können. | ||||
| 
 | ||||
| ## Welche der folgenden Aussagen sind korrekt? | ||||
| - [x] In der Phase der Datendefinition werden auch die Datentypen der Attribute deklariert, z.B. Integer oder Varchars. | ||||
| - [ ] Am Ende des logischen Entwurfs steht immer genau ein einzelnes Relationenschema, welches dann an den nächsten Schritt (Datendefinition) weitergegeben wird. | ||||
| - [x] Im logischen Entwurf kann das konzeptuelle Schema (z.B. ER-Diagramm) in ein relationales Schema überführt werden. Dies wird anschließend noch verfeinert, z.B. durch Normalisierung. | ||||
| - [x] Bei der Datendefinition werden auch Integritätsbedingungen (Fremdschlüssel, etc.) umgesetzt. | ||||
| - [x] Im physischen Entwurf wird die Performance für Datenzugriffe verbessert, z.B. durch die Verwendung von Indexstrukturen. | ||||
| 
 | ||||
| # Kapazitätserhaltenden Abbildung | ||||
| ## Welche der folgenden Aussagen über Abbildungen sind korrekt? | ||||
| - [ ] Eine kapazitätserhaltende Abbildung lässt sich immer erreichen, indem Schlüssel beider Entities zum Schlüssel der Beziehung gemacht werden statt nur einer von beiden. | ||||
| - [ ] Eine kapazitätserhöhende Abbildung kann durch eine kapazitätsvermindernde Abbildung ausgeglichen werden. | ||||
| - [x] Eine Abbildung ist kapazitätserhaltend, wenn sich hinterher genau dieselben Daten speichern lassen wie vorher. | ||||
| 
 | ||||
| # ER-auf-RM-Abbildung | ||||
| ## Welche der folgenden Aussagen über die Abbildung vom ER-Modell in das Relationenmodell sind korrekt? | ||||
| - [ ] Primärschlüssel der beteiligten Entity-Typen werden in das Relationenschema der Beziehung übernommen und sind dort ebenfalls Primärschlüssel. | ||||
| - [x] Verschiedene Kardinalitäten können durch die geeignete Wahl von Schlüsseln ausgedrückt werden. | ||||
| - [ ] Es können neue Schlüssel entstehen, d.h. aus Attributen, die im ER-Modell zuvor kein Schlüssel waren. | ||||
| - [ ] Nur Entity-Typen ergeben je eine Relation bzw. ein Relationenschema, Attribute und Beziehungstypen nicht. | ||||
| - [ ] In einer 1:N Beziehung wird der Primärschlüssel vom Entity-Typen der 1-Seite übernommen. | ||||
| 
 | ||||
| ## Welche der folgenden Aussagen über Verschmelzungen von Relationenschemata sind korrekt? | ||||
| - [x] Beim Verschmelzen von zwingenden Beziehungen können niemals NULL-Werte entstehen. | ||||
| - [x] Beim Verschmelzen einer 1:N Beziehung sind hinterher noch zwei Relationenschemata übrig, das verschmolzene Schema und das Schema auf der 1-Seite. | ||||
| - [x] Nur bei einer 1:1 Beziehung können beide Entity-Relationenschemata in ein einzelnes Schema verschmolzen werden. | ||||
| - [ ] Optionale Beziehungen können einfach verschmolzen (zusammengefasst) werden, da es bei diesen keine Rolle spielt, ob sie im späteren Schema noch vorhanden sind. | ||||
| 
 | ||||
| ## Welche der folgenden Aussagen über abhängige Entity-Typen sind korrekt? | ||||
| - [x] Bei abhängigen Entities erhält die abhängige Entität im Relationenschema zusätzlich den Primärschlüssel der Entität, von der sie abhängig ist. | ||||
| - [x] Der Primärschlüssel der abhängigen Entität muss zwingend aus dem eigenen Schlüssel und dem der übergeordneten Entität gebildet werden. | ||||
| - [x] Bei abhängigen Entities ergibt die Beziehung zur übergeordneten Entität kein eigenes Relationenschema. | ||||
| 
 | ||||
| ## Welche der folgenden Aussagen sind korrekt? | ||||
| - [x] In einer IST-Beziehung bildet die Beziehung kein eigenes Relationenschema. | ||||
| - [ ] In einer IST-Beziehung kann ein Relationenschema entstehen, welches keinen Schlüssel enthält. | ||||
| - [x] Bei rekursiven funktionalen Beziehungen entstehen in den Beziehungen Fremdschlüssel auf die eigene Relation. | ||||
| 
 | ||||
| ## Welche der folgenden Aussagen über mehrstellige Beziehungen sind korrekt? | ||||
| - [x] Der Primärschlüssel der mehrstelligen Beziehung (bestehend aus den Primärschlüsseln aller beteiligten Entity-Typen) ist zugleich Fremdschlüssel auf die jeweiligen - [ ] Primärschlüssel der beteiligten Entity-Typen. | ||||
| - [x] In mehrstelligen Beziehungen bilden alle Primärschlüssel der beteiligten Entity-Typen gemeinsam den Primärschlüssel der Beziehung. | ||||
| - [ ] In mehrstelligen Beziehungen (M:N:K) kann der Primärschlüssel aus den Primärschlüsseln der beteiligten Entity-Typen gewählt werden. | ||||
| 
 | ||||
| # Zielmodell | ||||
| ## Welche der folgenden Aussagen über das Relationenmodell sind korrekt? | ||||
| - [x] Relationen enthalten keine Duplikate. | ||||
| - [x] Der Primärschlüssel ist ein ausgezeichneter Schlüssel, der Tupel eindeutig identifiziert. | ||||
| - [ ] Eine Domäne beschreibt Elemente eines Wertebereichs. | ||||
| - [ ] Die minimale Menge, die Attribute eindeutig identifiziert, heißt Oberschlüssel. | ||||
| - [x] Das Datenbankschema ist eine Menge von Relationenschemata, ein Relationenschema ist eine Menge von Attributen. | ||||
| 
 | ||||
| # Relationalen DB-Entwurf | ||||
| ## Welche der folgenden Ziele werden bei der Verfeinerung des Relationenmodells angestrebt? | ||||
| - [x] Redundanzvermeidung | ||||
| - [x] Abhängigkeitstreue | ||||
| - [x] Verbundtreue | ||||
| - [ ] Änderungstreue | ||||
| - [ ] Duplikatbildung | ||||
| - [ ] Resonanzvermeidung | ||||
| 
 | ||||
| ## Welche der folgenden Operationen können zu Anomalien führen? | ||||
| - [x] INSERT | ||||
| - [x] UPDATE | ||||
| - [ ] CREATE TABLE | ||||
| - [ ] SELECT ... FROM ... | ||||
| - [x] DELETE | ||||
| 
 | ||||
| ## Welche der folgenden Aussagen über funktionale Abhängigkeiten sind korrekt? | ||||
| - [x] Für Schlüssel X gilt zweierlei: Abhängigkeit X->Relationenschema, sowie X ist minimal. | ||||
| - [ ] X->X, d.h. X bestimmt sich selbst, ist aus Trivialitätsgründen nicht erlaubt. | ||||
| - [ ] Bei der Ableitung von funktionalen Abhängigkeiten X->Y sowie Y->Z gilt auch Z->X (Ringschluss). | ||||
| - [x] X->Y bedeutet: Haben zwei Tupel gleiche Werte in Attribut X, sind ihre Werte für Attribut Y auch gleich. | ||||
| 
 | ||||
| # Normalformen | ||||
| ## Welche der folgenden Aussagen über Normalformen sind korrekt? | ||||
| - [ ] Normalformen minimieren globale Redundanzen zwischen den Relationen. | ||||
| - [x] Normalformen vermeiden Redundanzen und Anomalien. | ||||
| - [x] Eigenschaften von Relationenschemata werden von Normalformen bestimmt. | ||||
| - [ ] Normalformen stellen sicher, dass alle Anwendungsdaten aus den Basisrelationen hergeleitet werden können. | ||||
| - [x] In Normalformen sind bestimmte Kombinationen von funktionalen Abhängigkeiten verboten. | ||||
| 
 | ||||
| ## Welche der folgenden Aussagen über die ersten drei Normalformen sind richtig? | ||||
| - [x] Die zweite Normalform eliminiert partielle Abhängigkeiten, d.h. ein Attribut ist bereits funktional von einem Teil des Schlüssels abhängig. | ||||
| - [ ] Wenn die beiden funktionalen Abhängigkeiten X->Y und Y->Z existieren (Transitivität), wird diese immer in der dritten Normalform entfernt. | ||||
| - [ ] In der ersten Normalform liegen alle Attribute nullfrei vor, d.h. ohne NULL Attributwerte. | ||||
| - [ ] Die zweite Normalform eliminiert transitive Abhängigkeiten, d.h. im Allgemeinen wenn Attribut A das Attribut B bestimmt und B das Attribut C bestimmt. | ||||
| - [x] Die dritte Normalform eliminiert partielle Abhängigkeiten, d.h. ein Attribut ist bereits funktional von einem Teil des Schlüssels abhängig. | ||||
| - [x] Die Normalformen bauen aufeinander auf, d.h. die zweite Normalform enthält auch die Anforderungen der ersten Normalform, usw. | ||||
| - [x] Die erste Normalform fordert, dass alle Attribute atomar vorliegen, wie z.B. als Integer oder als Double. | ||||
| - [x] Die dritte Normalform eliminiert transitive Abhängigkeiten, d.h. im Allgemeinen wenn Attribut A das Attribut B bestimmt und B das Attribut C bestimmt. | ||||
| 
 | ||||
| ## Welche der folgenden Aussagen über die Boyce-Codd-Normalform (BCNF) sind korrekt? | ||||
| - [ ] Die Verbundtreue wird von der BCNF nicht garantiert. | ||||
| - [x] Die BCNF eliminiert im Gegensatz zur dritten Normalform jegliche transitive Abhängigkeiten. | ||||
| - [x] Die Abhängigkeitstreue wird von der BCNF nicht garantiert. | ||||
| - [ ] Die BCNF eliminiert im Gegensatz zur dritten Normalform jegliche partielle Abhängigkeiten. | ||||
| 
 | ||||
| ## Welche der folgenden Aussagen über Minimalität sind korrekt? | ||||
| - [x] Die Minimalität versucht, andere Kriterien (wie Normalformen) mit möglichst wenigen Schemata zu erreichen. | ||||
| - [ ] Die Minimalität versucht, andere Kriterien (wie Normalformen) so umzusetzen, dass die Schemata möglichst klein sind. | ||||
| - [x] Die Minimalität befasst sich mit globalen Redundanzen, d.h. Redundanzen, die alle Relationen betreffen. | ||||
| - [ ] Die Minimalität befasst sich mit lokalen Redundanzen, d.h. Redundanzen, die innerhalb einer Relation auftreten. | ||||
| 
 | ||||
| # Transformationseigenschaften | ||||
| ## Was bedeutet die Eigenschaft "Verbundtreue" im Rahmen des relationalen Entwurfs? | ||||
| - [x] Die Originalrelation kann nach der Dekomposition aus den zerlegten Relationen mit natürlichen Verbundoperationen zurückgewonnen werden. | ||||
| - [ ] Eine Dekomposition ist immer verbundtreu. | ||||
| - [ ] Bei der Zerlegung eines Relationenschemas in mehrere kleinere muss beachtet werden, dass jeweils zwei davon ein gemeinsames Attribut als Grundlage für spätere Verbundoperationen haben. | ||||
| - [ ] Bei der Dekomposition werden keine funktionalen Abhängigkeiten zerstört. | ||||
| 
 | ||||
| ## Gegeben sei ein relationales Schema  | ||||
| $R = \{ A B C D E \}$ mit genau einem Schlüssel $K = \{\{ AC \}\}$. Durch Dekomposition entstehen $R_1 = \{ A B C \}$ mit dem Schlüssel $K_1 = \{\{ AC \}\}$ und $R_2 = \{ C D E \}$ mit dem Schlüssel $K_2 = \{\{ C \}\}$ | ||||
| - [ ] Die Zerlegung ist abhängigkeitstreu, aber nicht verbundtreu. | ||||
| - [x] Die Zerlegung ist nicht abhängigkeitstreu und nicht verbundtreu. | ||||
| - [ ] Die Zerlegung erfüllt alle Transformationseigenschaften. Sie ist abhängigkeitstreu und verbundtreu. | ||||
| - [ ] Die Zerlegung ist verbundtreu, aber nicht abhängigkeitstreu. | ||||
| 
 | ||||
| # weiteren Abhängigkeiten | ||||
| Welche der folgenden Aussagen zu mehrwertigen Abhängigkeiten sind korrekt? | ||||
| - [x] Ein Schema in vierter Normalform (4NF) enthält nur noch triviale MVDs. | ||||
| - [ ] Mehrwertige Abhängigkeiten steigern den Wert eines relationalen Schemas. Sie sind ausdrucksstärker als einfache funktionale Abhängigikeiten. | ||||
| - [x] Für eine Relation r zum Schema R mit den Attributen XYZ bedeutet die MVD X →→ Y Folgendes: Wenn $(x1, y1, z1)$ und $(x1, y2, z2)$ Tupel der Relation r sind, so sind auch $(x1, y2, z1)$ und $(x1, y1, z2)$ Tupel der Relation r. | ||||
| - [x] Mehrwertige Abhängigkeiten können als Folge der Forderungen der 1. Normalform entstehen. | ||||
| - [ ] Triviale MVDs kann man beim Schema-Entwurf vernachlässigen. | ||||
| 
 | ||||
| # Rechnen mit FDs | ||||
| ## Welche der folgenden Aussagen sind korrekt? | ||||
| - [x] Bei der Hüllenbildung werden alle funktionalen Abhängigkeiten (FDs) gefunden, die sich aus einer gegebenen Menge an FDs ableiten lassen. | ||||
| - [x] Für die Hüllenbildung können Ableitungsregeln (Reflexivität, Transitivität, etc.) genutzt werden. | ||||
| - [x] Aus den funktionalen Abhängigkeiten A->B und B->C kann auch A->C impliziert werden. | ||||
| 
 | ||||
| ## Welche der folgenden Aussagen über Ableitungsregeln sind korrekt? | ||||
| - [ ] Bei der Dekomposition (F4) können bei gegebener funktionaler Abhängigkeit AB->CD auch die FDs AB->C und AB->D abgeleitet werden. | ||||
| - [x] Es lässt sich immer die funktionale Abhängigkeit A->∅ (leere Menge) bilden. | ||||
| - [x] Durch Reflexivität (F1) lässt sich immer die funktionale Abhängigkeit A->A bilden. | ||||
| - [x] Durch die Vereinigung (F5) können die funktionalen Abhängigkeiten A->B und A->C zu A->BC zusammengefasst werden. | ||||
| - [x] Bei der Augmentation (F2) können zu einer gegebenen Abhängigkeit A->B immer zusätzliche Attribute hinzugenommen werden, wie beispielsweise AC->BC. | ||||
| - [ ] Aus der Transitivität (F3) lässt sich bei den gegebenen funktionalen Abhängigkeiten A->B und B->C auch C->A ableiten. | ||||
| - [x] Bei der Dekomposition (F4) können bei gegebener funktionaler Abhängigkeit AB->CD auch die FDs A->CD und B->CD abgeleitet werden. | ||||
| 
 | ||||
| ## Welche der folgenden Aussagen über B-Axiome bzw. RAP-Regeln ist richtig? | ||||
| - [x] Die Regelmenge ist vollständig, da alle Armstrong-Axiome daraus hergeleitet werden können. | ||||
| - [ ] Die Regelmenge ist im Gegensatz zu den Armstrong-Axiomen nicht vollständig, da diese nur aus drei Regeln (Reflexivität, Akkumulation und Projektivität) besteht. | ||||
| 
 | ||||
| 
 | ||||
| ## Welche der folgenden Aussagen über das Membership-Problem sind richtig? | ||||
| - [ ] Das modifizierte Membership-Problem ist ebenso wie das Membership-Problem nicht in linearer Zeit lösbar (O(n²)). | ||||
| - [x] Der Member-Algorithmus mit der CLOSURE-Funktion löst das Membership-Problem. | ||||
| - [x] Beim modifizierten Membership-Problem wird überprüft, ob bei der funktionalen Abhängigkeit A->B das Attribut B zur Attributmenge gehört, welche von A bestimmt wird. | ||||
| - [x] Das Membership-Problem fragt, ob sich eine bestimmte funktionale Abhängigkeit (FD) aus einer gegebenen Menge an FDs ableiten lässt. | ||||
| - [x] Der Member-Algorithmus mit der CLOSURE-Funktion löst das modifizierte Membership-Problem. | ||||
| 
 | ||||
| ## Welche der folgenden Aussagen über Überdeckungen ist korrekt? | ||||
| - [x] Ein Attribut ist unwesentlich, wenn es nach seiner Entfernung aus den funktionalen Abhängigkeiten die Hülle nicht verändert hat. | ||||
| - [ ] Eine Links- bzw. Rechtsreduktion entfernt unnötige (triviale) funktionale Abhängigkeiten mit dem Ziel der Minimalität. | ||||
| - [ ] Die leere Menge ist ein Beispiel für eine immer gültige minimale Überdeckung. | ||||
| - [x] Es soll beim Vergleich zweier Mengen von funktionalen Abhängigkeiten (FDs) eine Überdeckung gefunden werden, die minimal ist bzgl. ihrer FD-Anzahl und Attributen in den FDs. | ||||
| - [x] Wenn sich zwei Mengen funktionaler Abhängigkeiten überdecken, sind sie äquivalent. | ||||
| 
 | ||||
| ## Welche der nachfolgenden Aussagen über Äquivalenzklassen sind richtig? | ||||
| - [ ] Damit zwei funktionale Abhängigkeiten in der gleichen Äquivalenzklasse landen, müssen diese eine äquivalente rechte Seite haben, z.B. A->C, B->C. | ||||
| - [x] Damit zwei funktionale Abhängigkeiten in der gleichen Äquivalenzklasse landen, müssen diese eine äquivalente linke Seite haben, z.B. A->B, A->C. | ||||
| - [ ] Für eine ringförmige Überdeckung muss zu den funktionalen Abhängigkeiten A->B, B->A und A->C zusätzlich C->A gelten. | ||||
| - [x] Die funktionalen Abhängigkeiten A->B, B->C, C->A sowie A->D bilden eine ringförmige Überdeckung. | ||||
| 
 | ||||
| # Mehr zu Normalformen | ||||
| Wir betrachten ein erweitertes Relationenschema $R = ( R, K )$ und die FD-Menge F über R. Welche Aussagen zur 2. Normalform sind zutreffend? | ||||
| - [x] In 2NF gibt es keine partiellen funktionalen Abhängigkeiten von Nichtschlüsselattributen vom Schlüssel, und die 1NF ist erfüllt. | ||||
| - [ ] Das Schema R ist in 2NF, wenn jedes Nicht-Primattribut von R voll von jedem Schlüssel von R abhängt. | ||||
| - [x] Das Schema R ist in 2NF, wenn R in 1NF ist und jedes Nicht-Primattribut von R voll von jedem Schlüssel von R abhängt. | ||||
| - [ ] In 2NF sind die partiellen funktionalen Abhängigkeiten beseitigt. | ||||
| 
 | ||||
| # Entwurfsverfahren | ||||
| Welche Aussagen sind zutreffend? | ||||
| - [ ] Die Synthese dient zur Wiederherstellung der ursprünglichen Relation durch Verschmelzen. | ||||
| - [ ] Synthese und Dekomposition sind unterschiedliche Entwurfsverfahren, aber das Ergebnis ist das gleiche Datenbankschema. | ||||
| - [x] Synthese und Dekomposition sind Verfahren zum Entwurf eines Datenbankschemas. | ||||
| - [ ] Synthese und Dekomposition erzeugen ein "optimales" Datenbankschema, das alle Entwurfskriterien erfüllt. | ||||
| - [x] Die Dekomposition wird angewandt zur Erzeugung eines Datenbankschemas in 3NF durch Zerlegung. | ||||
| - [x] Synthese und Dekomposition sind Schema-Entwurfsverfahren mit Vor- und Nachteilen bzgl. der Entwurfskriterien. | ||||
| 
 | ||||
| Welches der Entwurfsverfahren gewährleistet die Abhängigkeitstreue (Kriterium T1)? | ||||
| - [ ] nur die Dekomposition | ||||
| - [ ] keines der Verfahren | ||||
| - [x] nur die Synthese | ||||
| - [ ] beide Verfahren | ||||
| 
 | ||||
| Welches der Entwurfsverfahren entwirft ein Schema in 3NF (Kriterium S1)? | ||||
| - [ ] nur die Dekomposition | ||||
| - [x] beide Verfahren | ||||
| - [ ] nur die Synthese | ||||
| - [ ] keines | ||||
| 
 | ||||
| Welches der Entwurfsverfahren erzeugt ein Datenbankschema, das verbundtreu (Kriterium T2) ist? | ||||
| - [ ] keines | ||||
| - [x] Die Dekomposition erfüllt das Kriterium. | ||||
| - [ ] Beide Verfahren sind in jedem Fall verbundtreu. | ||||
| - [x] Die Synthese KANN das Kriterium erfüllen. | ||||
| 
 | ||||
| Welches der Verfahren erzeugt ein minimales Datenbankschema (Kriterium S2)? | ||||
| - [ ] beide Verfahren | ||||
| - [ ] keiner | ||||
| - [x] nur die Synthese | ||||
| - [ ] nur die Dekomposition | ||||
| 
 | ||||
| # Verbunden | ||||
| Welche der folgenden Aussagen über den natürlichen Verbund in SQL sind korrekt? | ||||
| - [ ] Die gewählte Variante des Joins (JOIN...ON..., JOIN...USING..., etc.) in einer Anfrage beeinflusst die Ausführungszeit der Anfrage deutlich. | ||||
| - [ ] Gegeben sind die Relationen X ( A , B , C , D ) und Y ( A , B , E , F ). Das Ergebnis von "... FROM X, Y WHERE X.A=Y.A" ist identisch zum Ergebnis von "... FROM X NATURAL JOIN Y". | ||||
| - [x] "SELECT * FROM Tabelle1, Tabelle2" liefert das Kreuzprodukt. | ||||
| - [x] Wenn in zwei miteinander verbundenen Tabellen gemeinsame Attribute vorkommen, die im SELECT explizit angefragt werden, braucht es immer einen Präfix vor dem - [ ] Attributnamen (z.B. SELECT Tabelle1.gemeinsames_Attribut). | ||||
| 
 | ||||
| # Selektionen | ||||
| Gegeben ist folgende Anfrage über der Tabelle Student:`SELECT * FROM Student WHERE Vorname like 'E_%';` Was liefert diese Anfrage als Ergebnis zurück? | ||||
| - [ ] Alle Tupel der Student Tabelle, deren Vornamen mit E beginnt. | ||||
| - [ ] Alle Tupel der Student Tabelle, deren Vornamen mit E beginnen und mindestens drei Buchstaben lang sind. | ||||
| - [ ] Alle Vornamen von Tupeln der Student Tabelle, die mit E beginnen. | ||||
| - [x] Alle Tupel der Student Tabelle, deren Vornamen mit E beginnen und mindestens zwei Buchstaben lang sind. | ||||
| - [ ] Die Anfrage ist nicht ausführbar (Semantikfehler). | ||||
| 
 | ||||
| Gegeben ist folgende Anfrage über der Tabelle Student: | ||||
| ```sql | ||||
|    SELECT * | ||||
|    FROM Student | ||||
|    WHERE Matrikelnummer between 40000 and ( | ||||
|       SELECT Matrikelnummer | ||||
|       FROM Student | ||||
|       WHERE Matrikelnummer between 40002 and 40002 | ||||
|    ); | ||||
| ``` | ||||
| Was liefert diese Anfrage als Ergebnis zurück? | ||||
| - [x] Die Studenten mit Matrikelnummer 40000, 40001 und 40002. | ||||
| - [ ] Den Studenten mit Matrikelnummer 40001. | ||||
| - [ ] Ein leeres Ergebnis. | ||||
| - [ ] Die Studenten mit Matrikelnummer 40001 und 40002. | ||||
| - [ ] Die Anfrage ist nicht ausführbar (Semantikfehler). | ||||
| - [ ] Die Studenten mit Matrikelnummer 40000 und 40001. | ||||
| 
 | ||||
| # Mengenoperationen | ||||
| Gegeben sind die Relationen  | ||||
|  | ||||
| 
 | ||||
| Welche der folgenden SQL-Anweisungen erzeugt die Tupel der Relation T mit dem Schema von T? | ||||
| - [x] select * from R intersect corresponding by (A, C) S | ||||
| - [x] select * from ( ( select A, C from R ) intersect (select A, C from S) ) | ||||
| - [ ] select * from R intersect S | ||||
| - [x] select * from R intersect corresponding S | ||||
| 
 | ||||
| # Geschachtelten Anfragen I | ||||
| Gegeben seien die Relationen `Student ( MatrNr, Name, Studiengang )` und `Prüfungen ( MatrNr, Fach, Datum, Note )`. | ||||
| Welche der SQL-Anweisungen ergibt die Matrikelnummern MatrNr der Studierenden, die noch keine Prüfung abgelegt haben? | ||||
| - [ ] `SELECT MatrNr FROM Prüfungen WHERE MatrNr  NOT IN ( SELECT MatrNr FROM Student )` | ||||
| - [ ] `SELECT * FROM Prüfungen EXCEPT CORRESPONDING Student` | ||||
| - [x] `SELECT * FROM Student EXCEPT CORRESPONDING BY (MatrNr) Prüfungen` | ||||
| - [x] `SELECT MatrNr FROM Student WHERE MatrNr NOT IN ( SELECT MatrNr  FROM Prüfungen )` | ||||
| - [x] `SELECT * FROM Student EXCEPT CORRESPONDING Prüfungen` | ||||
| - [ ] `SELECT * FROM Student WHERE MatrNr NOT IN ( SELECT * FROM Prüfungen )` | ||||
| 
 | ||||
| # Skalaren Ausdrücken | ||||
| Es gibt in der Datenbank folgendes Schema: `Student ( Matrikelnummer, Vorname, Nachname, Semester )` | ||||
| Nun wird folgende SQL-Anfrage (in SQLite) ausgeführt: `SELECT * FROM Student WHERE SUBSTR( Matrikelnummer, 5 ) = '2';` | ||||
| Was liefert diese Anfrage zurück? | ||||
| - [x] Alle Studenten, deren Matrikelnummer mindestens eine 2 enthält. | ||||
| - [ ] Alle Studenten mit zwei Matrikelnummern. | ||||
| - [ ] Alle Studenten, deren Matrikelnummer auf eine gerade Zahl endet. | ||||
| - [ ] Auf jeden Fall ein leeres Ergebnis. | ||||
| - [ ] Alle Studenten, deren Matrikelnummer mit einer 2 endet. | ||||
| 
 | ||||
| Es gibt in der Datenbank folgendes Schema: `Student ( Matrikelnummer, Vorname, Nachname, Semester )` | ||||
| Nun wird folgende SQL-Anfrage (in SQLite) ausgeführt: | ||||
| ```sql | ||||
|    SELECT Matrikelnummer, ( | ||||
|       CASE Semester | ||||
|       WHEN '1' THEN 'Ersti' | ||||
|                       ELSE  'Kein Ersti' | ||||
|       END) Klassifizierung | ||||
|    FROM   Student | ||||
|    WHERE Klassifizierung = 'Ersti' | ||||
|    AND      Matrikelnummer % 2 = 0; | ||||
| ``` | ||||
| Was ist das Ergebnis? | ||||
| - [ ] Matrikelnummer und Klassifizierung von Studenten mit Matrikelnummern die eine 2 enthalten und im ersten Semester sind. | ||||
| - [ ] Matrikelnummern von Studenten mit geraden Matrikelnummern im ersten Semester. | ||||
| - [ ] Das Ergebnis ist identisch zu folgender SQL-Anfrage:  | ||||
|     ```sql | ||||
|         SELECT Matrikelnummer, Semester | ||||
|         FROM   Student | ||||
|         WHERE Semester = '1' | ||||
|         AND      Matrikelnummer % 2 = 0; | ||||
|     ``` | ||||
| - [ ] Matrikelnummer und Klassifizierung von Studenten mit Matrikelnummern die auf 0 enden und im ersten Semester sind. | ||||
| - [x] Matrikelnummer und Klassifizierung von Studenten mit geraden Matrikelnummern im ersten Semester. | ||||
| 
 | ||||
| # Geschachtelten Anfragen II | ||||
| Gegeben sei eine Relation für Prüfungsanmeldungen mit dem Schema `Anmeldung ( MatrNr, Name, FachNr, Datum )`. Gesucht sind Studenten, die sich zu zwei oder mehr Prüfungen angemeldet haben. | ||||
| Welche der SQL-Anfragen beantwortet die Frage korrekt? | ||||
| - [x] `SELECT  MatrNr FROM  Anmeldung  A WHERE  EXISTS  ( SELECT  * FROM  Anmeldung  B WHERE  B.MatrNr = A.MatrNr AND  B.FachNr <> A.FachNr )` | ||||
| - [x] `SELECT  MatrNr FROM  Anmeldung  A ,  Anmeldung  B WHERE  A.MatrNr = B.MatrNr  AND  B.FachNr <> A.FachNr` | ||||
| - [ ] Keine der Anfragen ist geeignet, denn es wird eine Funktion zum Zählen benötigt. | ||||
| - [x] `SELECT  MatrNr FROM  Anmeldung  A WHERE  A.MatrNr  IN  ( SELECT  B.MatrNr FROM  Anmeldung  B WHERE  B.FachNr <> A.FachNr )` | ||||
| 
 | ||||
| Gegeben seien zwei Relationen `Student ( MatrNr , Name , Studgang )` und `Prüfung ( MatrNr , Fach , FürStudgang , Note )`.  | ||||
| Gesucht sind Studenten, die schon eine, mehrere oder - idealerweise - alle Prüfungen in ihrem Studiengang absolviert haben. | ||||
| Welche SQL-Anfragen sind geeignet? | ||||
| - [x] `SELECT  Name FROM  Student  S WHERE  MatrNr  IN  ( SELECT  MatrNr FROM  Prüfung  P WHERE  P.FürStudgang = S.Studgang )` | ||||
| - [ ] Keine Anfrage ist geeignet. | ||||
| - [ ] `SELECT  Name FROM  Student  S WHERE  MatrNr <= ALL  ( SELECT  MatrNr FROM  Prüfung  P WHERE  P.FürStudgang = S.Studgang )` | ||||
| - [x] `SELECT  Name FROM  Student  S WHERE  MatrNr  = ANY  ( SELECT  MatrNr FROM  Prüfung  P WHERE  P.FürStudgang = S.Studgang )` | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user