faecher:informatik:oberstufe:datenbanken:sql_manipulationen:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:datenbanken:sql_manipulationen:start [14.11.2019 13:02] – angelegt sbelfaecher:informatik:oberstufe:datenbanken:sql_manipulationen:start [21.10.2022 14:27] (aktuell) Frank Schiebel
Zeile 1: Zeile 1:
 ====== SQL – Manipulation von Daten ====== ====== SQL – Manipulation von Daten ======
- 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: +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.
-       INSERT INTO tabelle VALUES('wert1','wert2',...)+
  
-Der UPDATE-Befehl ändert bestehende Datensätze+Der **INSERT**-Befehl fügt neue Datensätze in eine Datenbank ein.
-       UPDATE tabelle SET spalte1='wert1', spalte2='wert2',... [WHERE bedingung]+
  
-Der DELETE-Befehl löscht 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
-       DELETE FROM tabelle [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.
  
-:!:**Vorsicht**: Mit der „bedingungslosen“ Klausel DELETE FROM tabelle wird die Tabelle geleert!+<code sql> 
 +INSERT INTO tabelle (column1, column2, column3, ...) VALUES (value1, value2, value3, ...) 
 +</code>
  
 +Der **UPDATE**-Befehl ändert bestehende Datensätze:
 +<code sql>
 +UPDATE tabelle SET spalte1='wert1', spalte2='wert2',... [WHERE bedingung]
 +</code>
  
-===== Aufgabe 1 =====+Der **DELETE**-Befehl löscht bestehende Datensätze:
  
-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.+<code sql> 
 +DELETE FROM tabelle [WHERE bedingung] 
 +</code>
  
-(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.+<WRAP center round important 90%> 
 +Vorsicht: Mit der "bedingungslosen" Anweisung  ''DELETE FROM tabelle'' wird die Tabelle komplett geleert! 
 +</WRAP>
  
-(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. 
  
-(4) Verdoppeln Sie den Bestand des Artikels mit der Nummer 100009. 
  
-(5Erhöhen Sie den Preis des Artikels mit der Nummer 100008 um 2 Euro und verringeren Sie seinen Bestand um 10 Stück.+---- 
 +{{:aufgabe.png?nolink  |}} 
 +=== (A1===
  
-(6Erhöhen Sie die Preise aller Artikel um 1 Euro+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?)
  
-(7Erhöhen Sie die Preise aller Artikel um 10%.+(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.
  
 +(ii) Setze die Bestände der Artikel mit den Nummern 100010 und 100011 auf Null.
  
-===== Aufgabe 2: Exkurs „Tabellenstrukturen“ ===== +(iii) Lösche alle Artikel, die ausverkauft sind.
- +
-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. +
- +
-(1) Fü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.+(iv) Verdopple Bestand des Artikels mit der Nummer 100009.
  
-(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.1573732929.txt.gz
  • Zuletzt geändert: 14.11.2019 13:02
  • von sbel