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 14:23] 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 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 (DQL) mit //SELECT//-Statements an.
- +
-===== 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, die jeweils für bestimmte Gruppen von Operationen zuständig sind. Bitte beachten: Nur die **fett markierten** Untersprachen sind für Modul 290 relevant.   +
- +
-  * **DDL = Data Definition Language (Datendefinitionssprache)**: Befehle zur Erstellung, Veränderung und Löschung von Datenbankstrukturen, z. B. um Datenbanken und Tabellen anzulegen, Tabellenstrukturen zu ändern oder Datenbanken und Tabellen zu löschen.   +
-  * **DQL = Data Query Language (Datenabfragesprache)**: Befehle zur Abfrage von Daten aus der Datenbank, z. B. um Tabelleninhalte mit und ohne Filter in bestimmter Reihenfolge auszuwählen. +
-  * TCL = Transaction Control Language (Transaktionssprache): Befehle zur Steuerung von Transaktionen, z. B. Commit, Rollback oder Savepoints, um die Datenintegrität sicherzustellen. +
-  * **DML = Data Manipulation Language (Datenmanipulationssprache)**: Befehle zum Einfügen, Ändern und Löschen von Daten in Tabellen. Mit DML werden die Inhalte einer Tabelle verwaltet.   +
-  * **DCL = Data Control Language (Datenkontrollsprache)**: Befehle zur Verwaltung von Zugriffsrechten, z. B. Benutzerberechtigungen und Benutzerprofile. Zentrale Frage: „Welcher Benutzer darf auf welches Datenbankobjekt zugreifen?“   +
- +
-{{:modul:m290:learningunits:lu02:theorie:sql_uebersicht.jpg?800|}} +
- +
----- +
- +
-===== Datenbanken, Tabellen, Spalten, Tupel ===== +
-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, Genre, Bewertung, Stimmenzahl, Laufzeit und Einspielergebnis.   +
- +
-Eine mögliche Tabelle **imdb_top_1000** könnte so aussehen: +
- +
-^ Poster ^ Filmtitel ^ Jahr ^ Genre ^ Rating ^ Kurzbeschreibung ^ +
-| {{https://m.media-amazon.com/images/M/MV5BM2MyNjYxNmUtYTAwNi00MTYxLWJmNWYtYzZlODY3ZTk3OTFlXkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_UY98_CR1,0,67,98_AL_.jpg?50}} | The Godfather | 1972 | Crime, Drama | 9.2 | An organized crime dynasty's aging patriarch transfers control of his clandestine empire to his reluctant son. | +
-| {{https://m.media-amazon.com/images/M/MV5BZjdkOTU3MDktN2IxOS00OGEyLWFmMjktY2FiMmZkNWIyODZiXkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_UX67_CR0,0,67,98_AL_.jpg?50}} | Interstellar | 2014 | Adventure, Drama, Sci-Fi | 8.6 | A team of explorers travel through a wormhole in space in an attempt to ensure humanity's survival+
-| {{https://m.media-amazon.com/images/M/MV5BMTUxMzQyNjA5MF5BMl5BanBnXkFtZTYwOTU2NTY3._V1_UX67_CR0,0,67,98_AL_.jpg?50}} | The Green Mile | 1999 | Crime, Drama, Fantasy | 8.6 | The lives of guards on Death Row are affected by one of their charges: a black man accused of child murder and rape, yet who has a mysterious gift. | +
-| {{https://m.media-amazon.com/images/M/MV5BOTA5NDZlZGUtMjAxOS00YTRkLTkwYmMtYWQ0NWEwZDZiNjEzXkEyXkFqcGdeQXVyMTMxODk2OTU@._V1_UX67_CR0,0,67,98_AL_.jpg?50}} | Whiplash | 2014 | Drama, Music | 8.5 | A promising young drummer enrolls at a cut-throat music conservatory where his dreams of greatness are mentored by a strict instructor. | +
- +
----- +
- +
-===== Erste Abfragen ===== +
-Mit <code sql>SELECT</code> können wir Daten aus der Tabelle abrufen:   +
- +
-<code sql> +
--- Alle Filme anzeigen +
-SELECT * FROM movies; +
- +
--- Alle Drama-Filme mit Bewertung über 8.5 +
-SELECT Series_Title, IMDB_Rating FROM movies +
-WHERE Genre LIKE '%Drama%' AND IMDB_Rating > 8.5; +
- +
--- Die 5 bestbewerteten Filme +
-SELECT Series_Title, IMDB_Rating FROM movies +
-ORDER BY IMDB_Rating DESC +
-LIMIT 5; +
-</code> +
- +
  
  • modul/m290_guko/learningunits/lu02/theorie/a_sql_basics.1756038223.txt.gz
  • Zuletzt geändert: 2025/08/24 14:23
  • von gkoch