Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
modul:m290_guko:learningunits:lu02:theorie:a_sql_basics [2025/08/24 03:45] gkochmodul:m290_guko:learningunits:lu02:theorie:a_sql_basics [2025/08/31 11:20] (aktuell) gkoch
Zeile 1: Zeile 1:
-====== SQL-Einführung ======+====== LU02a - SQL-Einführung ======
 ===== Lernziele ===== ===== Lernziele =====
  
-Die Abkürzung **SQL** steht für //Structured Query Language//.   +Nach dieser Lerneinheit können Sie:   
-Es handelt sich um eine Datenbanksprache zur Erstellung von Datenbankstrukturen in relationalen Datenbanken sowie zum Bearbeiten und Abfragen der darin gespeicherten Datenbestände + 
 +  * **Einfache Abfragen:** Ich kann mit dem SQL-Befehl //SELECT// alle Spalten oder nur bestimmte Spalten aus einer Tabelle anzeigen.   
 +  * **Sortieren von Daten:** Ich kann mit //ORDER BY// die Ergebnisse sortieren (aufsteigend oder absteigend). Beispiel:* Die Filme mit der besten Bewertung zuerst anzeigen.   
 +  * **Filtern mit Bedingungen:** Ich kann mit //WHERE// Daten filtern, damit nur bestimmte Zeilen angezeigt werden.   
 +  * **Mehrere Bedingungen kombinieren:** Ich kann mit //AND//, //OR// und //NOT// mehrere Bedingungen verknüpfen.   
 +  * **Listen von Werten verwenden:** Ich kann mit //IN// oder //NOT IN// prüfen, ob ein Wert in einer Liste vorkommt.    
 +  * **Operatoren sicher anwenden:** Ich kenne die wichtigsten Vergleichsoperatoren //=, <, >, >=, <>// und kann damit Abfragen schreiben  
  
----- 
  
 ===== Einleitung ===== ===== Einleitung =====
-Die Datenbanksprache **SQL (Structured Query Language)** basiert auf der relationalen Algebra.  +Die Datenbanksprache **SQL (Structured Query Language)** basiert auf der relationalen Algebra. Es handelt sich um eine Datenbanksprache zur Erstellung von Datenbankstrukturen in relationalen Datenbanken sowie zum Bearbeiten und Abfragen der darin gespeicherten Datenbestände.  
 Ihre Syntax ist vergleichsweise einfach und stark an die englische Sprache angelehnt.   Ihre Syntax ist vergleichsweise einfach und stark an die englische Sprache angelehnt.  
  
Zeile 18: Zeile 23:
  
 Im Begriff **SQL** steckt das englische Wort //query// (= Abfrage).   Im Begriff **SQL** steckt das englische Wort //query// (= Abfrage).  
-Mit dem Befehl <code sql>SELECT</code> können Daten abgefragt werden. Weitere wichtige Befehle sind:+Mit dem Befehl <WRAP center box round 80%><code sql>SELECT</code></WRAP> können Daten abgefragt werden. Weitere wichtige Befehle sind:
   * <code sql>INSERT</code> – Daten einfügen   * <code sql>INSERT</code> – Daten einfügen
   * <code sql>UPDATE</code> – Daten ändern   * <code sql>UPDATE</code> – Daten ändern
Zeile 24: Zeile 29:
  
 Diese vier Befehle bilden zusammen die sogenannten **CRUD-Operationen**:   Diese vier Befehle bilden zusammen die sogenannten **CRUD-Operationen**:  
-//C = Create, R = Read, U = Update, D = Delete//.  +//C = Create, R = Read (=Select), U = Update, D = Delete//.  
 Sie sind die Grundlage jeder Datenbankarbeit.   Sie sind die Grundlage jeder Datenbankarbeit.  
  
----- +Auf der nächsten Seite schauen wir uns die Datenabfragesprache (DQL) mit //SELECT//-Statements an.
- +
-===== Datenbanken und Tabellen anlegen ===== +
-Oft sagt man „eine Datenbank“ und meint damit eine Installation wie MySQL.   +
-Genauer gesagt gilt im relationalen Modell: +
- +
-  * Ein **Datenbankserver** ((Mit „Datenbankserver“ ist hier die Software gemeint, also das Datenbankmanagementsystem (DBMS).)) kann mehrere **Datenbanken** verwalten.   +
-  * Eine **Datenbank** besteht aus mehreren **Tabellen**.   +
-  * Tabellen bestehen aus **Spalten** (Attribute) und **Zeilen** (Datensätze). +
- +
----- +
- +
-===== Beispiel: Filmdatenbank ===== +
-Wir verwenden als Beispiel eine Tabelle mit Filmen aus der IMDB.   +
-Jeder Film hat Titel, Erscheinungsjahr, Genre, Bewertung, Stimmenzahl, Laufzeit und Einspielergebnis.   +
- +
-Eine mögliche Tabelle **movies** könnte so aussehen: +
- +
-^ Filmtitel    ^ Jahr    ^ Genre   ^ Rating ^ One-Line | +
-| Orange Is the New Black | (2013–2019) | Comedy, Crime, Drama | 8 | Convicted of a decade old crime of transporting drug money to an ex-girlfriend, normally law-abiding Piper Chapman is sentenced to a year and a half behind bars to face the reality of how life-changing prison can really be. |            +
-| The Queen's Gambit | (2020) | Drama | 8.6 | Orphaned at the tender age of nine, prodigious introvert Beth Harmon discovers and masters the game of chess in 1960s USA. But child stardom comes at a price. |          +
- +
- +
-===== Erste Abfragen ===== +
-Mit <code sql>SELECT</code> können wir Daten aus der Tabelle abrufen:   +
- +
-<code sql> +
--- Alle Filme anzeigen +
-SELECT * FROM movies; +
- +
--- Alle Action-Filme mit Bewertung über 8.+
-SELECT title, rating FROM movies +
-WHERE genre = 'Action' AND rating > 8.5; +
- +
--- Die 5 bestbewerteten Filme +
-SELECT title, rating FROM movies +
-ORDER BY rating DESC +
-LIMIT 5; +
-</code> +
- +
----- +
  
  • modul/m290_guko/learningunits/lu02/theorie/a_sql_basics.1755999955.txt.gz
  • Zuletzt geändert: 2025/08/24 03:45
  • von gkoch