Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| modul:m290_guko:learningunits:lu02:theorie:a_sql_basics [2025/08/24 14:22] – gkoch | modul:m290_guko:learningunits:lu02:theorie:a_sql_basics [2025/08/31 11:20] (aktuell) – gkoch | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== SQL-Einführung ====== | + | ====== |
| ===== Lernziele ===== | ===== Lernziele ===== | ||
| - | Die Abkürzung | + | Nach dieser Lerneinheit können Sie: |
| - | Es handelt sich um eine Datenbanksprache zur Erstellung | + | |
| + | | ||
| + | | ||
| + | * **Filtern mit Bedingungen: | ||
| + | * **Mehrere Bedingungen kombinieren: | ||
| + | * **Listen | ||
| + | * **Operatoren sicher anwenden:** Ich kenne die wichtigsten Vergleichsoperatoren //=, <, >, >=, <>// | ||
| - | ---- | ||
| ===== 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> | + | Mit dem Befehl |
| * <code sql> | * <code sql> | ||
| * <code sql> | * <code sql> | ||
| Zeile 27: | Zeile 32: | ||
| Sie sind die Grundlage jeder Datenbankarbeit. | Sie sind die Grundlage jeder Datenbankarbeit. | ||
| - | ---- | + | Auf der nächsten Seite schauen wir uns die Datenabfragesprache |
| - | + | ||
| - | ===== SQL und seine Untersprachen ===== | + | |
| - | **SQL** (Structured Query Language) ist eine Standardsprache zur Verwaltung und Bearbeitung relationaler Datenbanken. | + | |
| - | Sie stellt Befehle bereit, um Daten zu definieren, abzufragen, zu manipulieren und zu kontrollieren. | + | |
| - | + | ||
| - | Im Detail besteht SQL aus fünf Untersprachen, | + | |
| - | + | ||
| - | * **DDL = Data Definition Language | + | |
| - | * **DQL = Data Query Language (Datenabfragesprache)**: Befehle zur Abfrage von Daten aus der Datenbank, z. B. um Tabelleninhalte | + | |
| - | * TCL = Transaction Control Language (Transaktionssprache): | + | |
| - | * **DML = Data Manipulation Language (Datenmanipulationssprache)**: | + | |
| - | * **DCL = Data Control Language (Datenkontrollsprache)**: | + | |
| - | + | ||
| - | {{: | + | |
| - | + | ||
| - | ---- | + | |
| - | + | ||
| - | ===== Datenbanken, | + | |
| - | 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** (Tupel/Datensätze). | + | |
| - | + | ||
| - | ---- | + | |
| - | + | ||
| - | ===== Beispiel: Filmdatenbank ===== | + | |
| - | Wir verwenden als Beispiel eine Tabelle mit Filmen aus der IMDB-Topliste. | + | |
| - | Jeder Film hat Titel, Erscheinungsjahr, | + | |
| - | + | ||
| - | Eine mögliche Tabelle **movies** könnte so aussehen: | + | |
| - | + | ||
| - | ^ Poster ^ Filmtitel ^ Jahr ^ Genre ^ Rating ^ Kurzbeschreibung ^ | + | |
| - | | {{https://m.media-amazon.com/images/ | + | |
| - | | {{https:// | + | |
| - | | {{https:// | + | |
| - | | {{https:// | + | |
| - | + | ||
| - | ---- | + | |
| - | + | ||
| - | ===== Erste Abfragen ===== | + | |
| - | Mit <code sql> | + | |
| - | + | ||
| - | <code sql> | + | |
| - | -- Alle Filme anzeigen | + | |
| - | SELECT * FROM movies; | + | |
| - | + | ||
| - | -- Alle Drama-Filme mit Bewertung über 8.5 | + | |
| - | SELECT Series_Title, | + | |
| - | WHERE Genre LIKE ' | + | |
| - | + | ||
| - | -- Die 5 bestbewerteten Filme | + | |
| - | SELECT Series_Title, | + | |
| - | ORDER BY IMDB_Rating DESC | + | |
| - | LIMIT 5; | + | |
| - | </ | + | |
| - | + | ||