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 03:54] – 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. | + | |
- | Jeder Film hat Titel, Erscheinungsjahr, | + | |
- | + | ||
- | Eine mögliche Tabelle **movies** könnte so aussehen: | + | |
- | + | ||
- | ^ Filmtitel | + | |
- | | 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, | + | |
- | | The Queen' | + | |
- | + | ||
- | ---- | + | |
- | + | ||
- | ===== 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.5 | + | |
- | SELECT title, rating FROM movies | + | |
- | WHERE genre = ' | + | |
- | + | ||
- | -- Die 5 bestbewerteten Filme | + | |
- | SELECT title, rating FROM movies | + | |
- | ORDER BY rating DESC | + | |
- | LIMIT 5; | + | |
- | </ | + | |