faecher:informatik:oberstufe:datenbanken:sql_manipulationen:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:datenbanken:sql_manipulationen:start [14.11.2019 13:02] – [SQL – Manipulation von Daten] sbelfaecher:informatik:oberstufe:datenbanken:sql_manipulationen:start [21.10.2022 14:27] (aktuell) Frank Schiebel
Zeile 3: Zeile 3:
 Bei einer Bestellung in einem Webshop müssen nicht nur Datensätze abgefragt werden ("Existiert der Artikel XYZ noch in ausreichenden Stückzahl?"), sondern auch eingefügt werden ("Kunde bestellt den Artikel XYZ in einer bestimmten Stückzahl."). Auch Änderungen ("Kunde hat eine neue Anschrift") oder Löschungen ("Kunde schließt sein Kundenkonto.") sind möglich. Die Datenbanksprache SQL liefert hierfür passende Manipulationsbefehle. Bei einer Bestellung in einem Webshop müssen nicht nur Datensätze abgefragt werden ("Existiert der Artikel XYZ noch in ausreichenden Stückzahl?"), sondern auch eingefügt werden ("Kunde bestellt den Artikel XYZ in einer bestimmten Stückzahl."). Auch Änderungen ("Kunde hat eine neue Anschrift") oder Löschungen ("Kunde schließt sein Kundenkonto.") sind möglich. Die Datenbanksprache SQL liefert hierfür passende Manipulationsbefehle.
  
-Der INSERT-Befehl fügt neue Datensätze in eine Datenbank ein+Der **INSERT**-Befehl fügt neue Datensätze in eine Datenbank ein.
-       INSERT INTO tabelle VALUES('wert1','wert2',...)+
  
-Der UPDATE-Befehl ändert bestehende Datensätze+Bei Verwendung der folgenden Syntax muss für jedes Attribut des Datensatzes ein wert angegeben werden, die Reihenfolge entspricht dabei der Struktur der Tabelle
-       UPDATE tabelle SET spalte1='wert1', spalte2='wert2',... [WHERE bedingung]+<code sql> 
 +INSERT INTO tabelle VALUES('wert1','wert2',...
 +</code> 
 +Bei Verwendung dieser Syntax können die einzufügenden Attribute festgelegt werden. Das ist z.B. sinnvoll, wenn man Felder wie IDs hat, deren Wert automatisch vom DBMS gesetzt werden, wenn ein neuer Datensatz angefügt wird. Außerdem kann so die Reihenfolge der einzufügenden Werte selbst bestimmt werden.
  
-Der DELETE-Befehl löscht bestehende Datensätze: +<code sql> 
-       DELETE FROM tabelle [WHERE bedingung]+INSERT INTO tabelle (column1, column2, column3, ...) VALUES (value1, value2, value3, ...) 
 +</code>
  
-:!:**Vorsicht**: Mit der „bedingungslosen“ Klausel DELETE FROM tabelle wird die Tabelle geleert!+Der **UPDATE**-Befehl ändert bestehende Datensätze: 
 +<code sql> 
 +UPDATE tabelle SET spalte1='wert1', spalte2='wert2',... [WHERE bedingung] 
 +</code>
  
 +Der **DELETE**-Befehl löscht bestehende Datensätze:
  
-===== Aufgabe 1 =====+<code sql> 
 +DELETE FROM tabelle [WHERE bedingung] 
 +</code>
  
-Lösen Sie die folgenden Aufgaben innerhalb der Datenbank webshop, indem Sie ausschließlich das SQL-Abfragefenster verwenden. Speichern Sie Ihre Lösungen in einer Textdatei.+<WRAP center round important 90%> 
 +Vorsicht: Mit der "bedingungslosen" Anweisung  ''DELETE FROM tabelle'' wird die Tabelle komplett geleert! 
 +</WRAP>
  
-(1) Das Buch „Die Informatikfibel“ wurde in 90-facher Stückzahl angeliefert. Es wird zum Preis von 24,99 Euro verkauft. Fügen Sie den Artikel in die Datenbank ein. 
  
-(2) Setzen Sie die Bestände der Artikel mit den Nummern 100010 und 100011 auf Null. 
  
-(3) Löschen Sie alle Artikel, die ausverkauft sind. 
  
-(4Verdoppeln Sie den Bestand des Artikels mit der Nummer 100009.+---- 
 +{{:aufgabe.png?nolink  |}} 
 +=== (A1===
  
-(5) Erhöhen Sie den Preis des Artikels mit der Nummer 100008 um 2 Euro und verringeren Sie seinen Bestand um 10 Stück.+Löse die folgenden Aufgaben innerhalb der Tabellen der Datenbank {{ :faecher:informatik:oberstufe:datenbanken:sql_abfrage:webshop.sql.zip |}}, indem du ausschließlich das SQL-Abfragefenster verwendest. Speichere deine Lösungen in einer Textdatei (oder einer Joplin Notiz?)
  
-(6Erhöhen Sie die Preise aller Artikel um 1 Euro+(iDas Buch "Die Informatikfibel" wurde in 90-facher Stückzahl angeliefert. Es wird zum Preis von 24,99 Euro verkauft. Füge den Artikel in die Datenbank ein.
  
-(7Erhöhen Sie die Preise aller Artikel um 10%.+(iiSetze die Bestände der Artikel mit den Nummern 100010 und 100011 auf Null.
  
 +(iii) Lösche alle Artikel, die ausverkauft sind.
  
-===== Aufgabe 2: Exkurs „Tabellenstrukturen“ ===== +(ivVerdopple Bestand des Artikels mit der Nummer 100009.
- +
-Mit den Befehlen ''ALTER TABLE'', ''CREATE TABLE'' und ''DROP TABLE'' können Tabellen geändert, erstellt und gelöscht werden. Die Funktionsweise der Befehle können Sie herausfinden, indem Sie die SQL-Ausgaben betrachten, die phpMyAdmin anzeigt, nachdem Sie über die passenden Schaltflächen eine Tabelle geändert, erstellt oder gelöscht haben. +
- +
-Erstellen Sie in Ihrer Datenbank zwei neue Tabellen mit dem Präfix  ''schule_'' und lösen Sie die folgenden Aufgaben mit diesen Tabellen, indem Sie ausschließlich das SQL-Abfragefenster verwenden. +
- +
-(1Führen Sie die beiden folgenden SQL-Befehle aus und erklären Sie jeweils ihre Funktion: +
- +
- +
-  CREATE TABLE schule_Schueler ( +
-   SNr INT(5) PRIMARY KEY, +
-   Nachname VARCHAR(40), +
-   Vorname VARCHAR(30), +
-   Geburtsdatum DATE, +
-   StrasseNr VARCHAR(40), +
-   PLZ VARCHAR(7), +
-   Ort VARCHAR(40) +
-  ); +
- +
-<code sql> +
-CREATE TABLE schule_Kurs ( +
- KursID VARCHAR(10) PRIMARY KEY, +
- Fach VARCHAR (5), +
- Thema VARCHAR (50), +
- Art ENUM('GK', 'LK'), +
- Halbjahr VARCHAR (10), +
- Stunden INT(1) +
-); +
-</code> +
- +
-Hinweise: Der Datentyp ''ENUM'' ermöglicht die Speicherung bestimmter Werte aus einer Liste. Der Zusatz PRIMARY KEY gibt an, dass die entsprechende Spalte der bevorzugt zu verwendende Schlüssel ist.+
  
-(2Entfernen Sie die Tabelle Schüler mithilfe des ''DROP''-Befehls.+(vErhöhe den Preis des Artikels mit der Nummer 100008 um 2 Euro und verringeren Sie seinen Bestand um 10 Stück.
  
-(3Fügen Sie eine Tabelle namens ''schule_Belegt'' mithilfe des ''CREATE''-Befehls hinzu, die die Notenpunktzahlen von Schülern in Kursen speichert.+(viErhöhe die Preise aller Artikel um 1 Euro
  
-(4Recherchieren Sie das ''ALTER TABLE''-Statement und beschreiben Sie mindestens drei Verwendungsmöglichkeiten.+(viiErhöhe die Preise aller Artikel um 10%.
  
-(5) Ermöglichen Sie mithilfe des ''ALTER TABLE''-Befehls auch die Speicherung sechsstelliger Schülernummern  in der Tabelle „Schueler“. 
  
  • faecher/informatik/oberstufe/datenbanken/sql_manipulationen/start.1573732941.txt.gz
  • Zuletzt geändert: 14.11.2019 13:02
  • von sbel