SQL-Abfragen und Datenbankmanagement: Korrigierte Übungsaufgaben

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 8,08 KB

Die folgenden Abschnitte korrigieren und formatieren die bereitgestellten Datenbank- und SQL-Aufgaben.

1. Abfrage zur Auswahl eindeutiger Namen

Die Beispielabfrage liefert die Antwort:

SELECT DISTINCT Name FROM DPersonal;

Ziel: Eine Liste aller eindeutigen Tabellennamen aus DPersonal ohne Wiederholungen.

2. Löschen einer vollständigen Bestellungsaufzeichnung (OP1300)

Um den vollständigen Datensatz der Bestellung OP1300 zu löschen, müssen folgende Schritte in dieser Reihenfolge durchgeführt werden:

  1. Index löschen.
  2. Datensatz löschen.
  3. Tabellen neu verknüpfen (falls erforderlich, hier wird die Fremdschlüsselbeziehung neu erstellt).

Der Index der Beziehung heißt FkPedidoDespacho.

  • Entfernt den Link (DROP CONSTRAINT): ALTER TABLE DROP CONSTRAINT FkPedidoDespacho;
  • Löscht die Registrierung (DELETE): DELETE FROM OrdenPedido WHERE Codigo_OP = 'OP1300';
  • Stellt die Beziehung wieder her (ADD CONSTRAINT): ALTER TABLE OrdenPedido ADD CONSTRAINT FkPedidoDespacho FOREIGN KEY (Order) REFERENCES Articulos(Codigo_OP);

3. Beziehung Viele zu Viele (N:M)

Zur Auflösung einer Beziehung zwischen zwei Tabellen (N:M) müssen mindestens folgende Bedingungen erfüllt sein:

  • a) Sie müssen die Namen beider Tabellen beinhalten.
  • b) Sie müssen einen Primärschlüssel (PK) haben.
  • c) Sie können Tabellen haben, die einen Teil des Namens in beiden enthalten.

Die korrekte Antwort ist g) a, b und c.

4. Verknüpfung zweier nicht verbundener Tabellen

Es existiert ein relationales Datenmodell mit 14 Tabellen, wobei OrdenPedido und Office nicht verbunden sind.

Führen Sie die Abfrage zur Verknüpfung der Tabelle OrdenPedido mit Office durch. Die Versandtabelle hat eine Tabelle namens FK Auftrag, die die Verbindung angeben sollte. Der Index für die Beziehung sollte FkRelacion heißen.

SQL-Anweisung zur Verknüpfung:

ALTER TABLE OrdenPedido ADD CONSTRAINT FkRelacion FOREIGN KEY (Order) REFERENCES Office(Codigo_OP);

5. Identifizierung von Benutzeransichten (User Views)

Identifizieren Sie die folgenden Arten von Benutzeransichten:

  • I: Informelle Quellen wie Telefon.
  • II: Eine Teilmenge von Daten, die ein Benutzer durch eine bestimmte Anwendung verwendet.
  • III: Entspricht formalen Informationsquellen wie Dokumenten.
  • IV: Dokumente, bei denen der Nutzer Informationen bekommen kann.

Die korrekte Zuordnung (basierend auf typischen Definitionen, wobei die Optionen A, B, C, D fehlen) wird hier nicht vollständig aufgelöst, aber die Beschreibungen sind formatiert.

6. Inhalt des Data Dictionary

Das Data Dictionary besteht aus:

  • a) Jedes Datenelement oder Attribut, das in einem Profil erscheint, muss beschrieben und definiert werden.
  • c) Eine detaillierte Beschreibung der einzelnen Tabelle und jedes Attributs, das jede Tabelle ausmacht.

Die korrekte Antwort ist e) a und c.

7. Beispielabfrage zur Gehaltsaktualisierung

Die Beispielabfrage liefert die Antwort:

UPDATE Empleado SET Salario = 20000 WHERE Bono IS NULL AND Salario <= 200000 AND Edad < 21;

Beschreibung der Auswahl: Mitarbeiter, die keinen Bonus haben, weniger als oder gleich $200.000 verdienen und deren Alter kleiner als 21 Jahre ist, erhalten ein Trinkgeld von $20.000.

8. Ergebnisspalte aus Tabelle löschen

Löschen Sie die Spalte Resultado aus der Tabelle ProcesoFinal.

Antwort (R): ALTER TABLE ProcesoFinal DROP COLUMN Resultado;

9. Spalte zur Tabelle hinzufügen (Klassen)

Fügen Sie der Tabelle Clases die numerische Spalte Asistencia hinzu.

Antwort (R): ALTER TABLE Clases ADD Asistencia NUMERIC;

10. Definition der Normalformen (NF)

Definition der ersten drei Normalformen:

  • 1NF (Erste Normalform): Jedes Feld muss einstellig (atomar) sein.
  • 2NF (Zweite Normalform): Muss in 1NF sein. Die Felder müssen von ihrem gesamten Primärschlüssel abhängen.
  • 3NF (Dritte Normalform): Muss in 2NF sein. Die Felder müssen transitiven Abhängigkeiten vermeiden (d.h., sie dürfen nicht von Nicht-Primärschlüssel-Attributen abhängen).

11. Spalte aus Tabelle löschen (Klassen)

Löschen Sie die Spalte Asistencia vom Typ numeric aus der Tabelle Clases.

Antwort (R): ALTER TABLE Clases DROP COLUMN Asistencia;

12. Fremdschlüsselbeziehung hinzufügen (Test)

Fügen Sie der Tabelle Test eine relationale Spalte PruebaFinal hinzu, die auf die Spalte ID_UltimaOpción der Tabelle T_Ronda verweist (PK).

Antwort (R): ALTER TABLE Test ADD CONSTRAINT FK_PruebaFinal FOREIGN KEY (ID_UltimaOpción) REFERENCES T_Ronda (ID_UltimaOpción);

13. Feld zu Tabelle hinzufügen (Ventas)

Fügen Sie der Tabelle Ventas das Feld Detalle hinzu, um Details zu einem Produktbefehl zu speichern.

Antwort (c): ALTER TABLE Ventas ADD Detalle VARCHAR(15);

14. Daten aus Tabelle löschen (Vendedor)

Wählen Sie die richtige Anweisung, um Daten zu löschen, bei denen id_vendedor = '1-9'.

Antwort (c): DELETE FROM Vendedor WHERE id_vendedor = '1-9';

15. Spalte und Einschränkung löschen (Test)

Löschen Sie die Spalte PruebaFinal aus der Tabelle Test, die mit der Tabelle T_Ronda verknüpft ist.

Zuerst die Einschränkung entfernen, dann die Spalte löschen:

ALTER TABLE Test DROP CONSTRAINT PruebaFinal; 
ALTER TABLE Test DROP COLUMN PruebaFinal;

16. Spalte zu Tabelle hinzufügen (Klassen)

Fügen Sie der Tabelle Clases die Spalte Mes vom Typ varchar(20) hinzu.

Antwort (R): ALTER TABLE Clases ADD Mes VARCHAR(20);

17. Mitarbeiterdatensätze löschen

Löschen Sie alle Mitarbeiterdatensätze, deren Name mit dem Buchstaben "P" beginnt.

Antwort (R): DELETE FROM Empleado WHERE Nombre LIKE 'P%';

18. UNION-Abfrageanalyse

Analyse der folgenden SQL-Anweisung:

SELECT CompanyName, City FROM Proveedores WHERE Pais = 'Brazil' 
UNION 
SELECT CompanyName, City FROM Clientes WHERE Pais = 'Brazil' 
UNION 
SELECT Nombre, Ciudad FROM Empleado WHERE Region = 'Sudamerica';

Antwort (C): Ruft den Namen und die Stadt aller Lieferanten in Brasilien ab, sowie den Namen und die Stadt aller Kunden in Brasilien, sowie den Namen und die Stadt aller Mitarbeiter in Südamerika (UNION entfernt Duplikate zwischen den Ergebnismengen).

20. Abfrage zur Auflistung von Studenten und Rennleitern

Erforderlich: Liste aller Daten des Studenten (DatosP), der im Rennen mit dem Code 'C200' eingeschrieben ist, sowie den Namen des Rennleiters dieser Karriere.

Antwort (R):

SELECT 
    DP.Rut, DP.Nombre, DP.Edad, DP.Ciudad, 
    M.Rut, 
    JC.Nombre AS NombreJefeCarrera 
FROM 
    DatosP DP 
JOIN 
    Matricula M ON DP.Rut = M.alumno 
JOIN 
    JefesCarreras JC ON M.Carrera = JC.Codigo 
WHERE 
    JC.Codigo = 'C200';

Verwandte Einträge: