SQL: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Die Seite wurde neu angelegt: „= SQL Kompaktskript = == Einführung in SQL == SQL (Structured Query Language) ist eine Sprache zur Verwaltung und Abfrage relationaler Datenbanken. Sie wird…“ |
|||
| (2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
= SQL | =Grundkonzepte relationaler Datenbanken= | ||
{{#drawio:datenbank}} | |||
==Was ist eine Datenbank?== | |||
*Eine Datenbank ist ein strukturiertes System zur Speicherung, Organisation und Verwaltung von Daten, das speziell für den zuverlässigen Zugriff auf große Datenmengen konzipiert wurde. | |||
*Im Gegensatz zu einfachen Dateien oder Tabellenkalkulationen gewährleisten Datenbanken Konsistenz, Integrität und gleichzeitigen Zugriff durch mehrere Benutzer. | |||
*Daten werden zentral verwaltet und lassen sich effizient durchsuchen, filtern und bearbeiten, auch bei komplexen Datenbeziehungen. | |||
*Relationale Datenbanken speichern Informationen in Tabellenform und ermöglichen durch strukturierte Abfragen (z. B. in SQL) gezielte Analysen und Auswertungen. | |||
*Ein Datenbanksystem (DBMS) wie MariaDB oder PostgreSQL verwaltet die Datenbank, regelt Zugriffsrechte, sorgt für Datensicherheit und stellt Mechanismen für Sicherung, Wiederherstellung und Transaktionen bereit. | |||
== | ==Was ist eine Tabelle?== | ||
*Eine Tabelle ist die grundlegende Struktur innerhalb einer relationalen Datenbank, in der Daten zeilenweise gespeichert werden. | |||
*Sie besteht aus Spalten (auch Felder oder Attribute genannt) und Zeilen (auch Datensätze oder Tupel). | |||
*Jede Spalte definiert eine bestimmte Eigenschaft (z. B. Name, Alter, ID) mit einem festen Datentyp. | |||
*Jede Zeile repräsentiert einen vollständigen Datensatz, also eine konkrete Ausprägung aller Spaltenwerte. | |||
*Tabellen haben einen eindeutigen Namen innerhalb der Datenbank und können durch Schlüssel miteinander in Beziehung gesetzt werden. | |||
==Was ist eine Zeile?== | |||
* | *Eine Zeile – auch Datensatz oder Tupel genannt – ist ein vollständiger Eintrag in einer Tabelle. | ||
* | *Sie enthält genau einen Wert pro Spalte und beschreibt damit eine konkrete Entität, z. B. eine Person, ein Produkt oder einen Vorgang. | ||
*Alle Zeilen in einer Tabelle folgen dem gleichen Schema, d. h. sie besitzen dieselben Spalten. | |||
* | *Jede Zeile ist in der Regel durch einen Primärschlüssel eindeutig identifizierbar. | ||
* | |||
==Was ist eine Spalte?== | |||
*Eine Spalte beschreibt eine einzelne Eigenschaft der gespeicherten Daten, z. B. Vorname, Nachname oder Geburtsdatum. | |||
*Sie hat einen Namen, einen Datentyp (z. B. INTEGER, VARCHAR, DATE) und gegebenenfalls weitere Einschränkungen (z. B. NOT NULL, UNIQUE). | |||
*Alle Werte einer Spalte müssen dem vorgegebenen Datentyp entsprechen. | |||
*Die Struktur und Bedeutung der Spalten wird durch das Tabellenschema vorgegeben. | |||
== | ==Was ist ein Primärschlüssel?== | ||
*Ein Primärschlüssel (Primary Key) ist eine Spalte oder Kombination mehrerer Spalten, die jeden Datensatz einer Tabelle eindeutig identifiziert. | |||
* | *Es darf keine zwei Zeilen mit dem gleichen Wert im Primärschlüssel geben. | ||
*Primärschlüssel sind notwendig, um Daten eindeutig zu referenzieren, etwa bei Verknüpfungen mit anderen Tabellen. | |||
*Ein Primärschlüssel ist automatisch mit einem Index versehen, der die Suche nach bestimmten Datensätzen beschleunigt. | |||
==Was ist ein Fremdschlüssel?== | |||
* | *Ein Fremdschlüssel (Foreign Key) ist eine Spalte, die auf den Primärschlüssel einer anderen Tabelle verweist. | ||
*Er dient dazu, logische Beziehungen zwischen Tabellen abzubilden, z. B. „ein Kunde hat mehrere Bestellungen“. | |||
*Fremdschlüssel erzwingen die referenzielle Integrität – das bedeutet: ein Wert darf nur dann eingetragen werden, wenn er auch in der referenzierten Tabelle existiert. | |||
*Dadurch wird sichergestellt, dass keine „verwaisten“ Verweise in der Datenbank existieren. | |||
==Was ist ein Index?== | |||
* | *Ein Index ist eine spezielle Datenstruktur, die dazu dient, den Zugriff auf Daten zu beschleunigen. | ||
*Er funktioniert ähnlich wie ein Inhaltsverzeichnis: Statt alle Zeilen der Tabelle zu durchsuchen, springt das DBMS gezielt zur gesuchten Stelle. | |||
*Indexe werden oft auf Spalten gesetzt, die häufig in WHERE-Bedingungen, JOINs oder Sortierungen verwendet werden. | |||
*Ein Primärschlüssel erzeugt automatisch einen eindeutigen Index. | |||
*Neben eindeutigen (UNIQUE) Indexen gibt es auch einfache (nicht eindeutige) Indexe für Performance-Zwecke. | |||
== | ==ASCII-Darstellung einer Tabelle== | ||
+------------+------------+------------+ | |||
| ID | Name | Alter | | |||
+------------+------------+------------+ | |||
| 1 | Anna | 30 | | |||
| 2 | Ben | 45 | | |||
| 3 | Carla | 22 | | |||
+------------+------------+------------+ | |||
;Legende | |||
*Die Tabelle enthält drei Spalten: ID, Name, Alter | |||
*Jede Zeile ist ein Datensatz mit konkreten Werten | |||
*Die Spalte ID könnte als Primärschlüssel verwendet werden | |||
* | *Alle Werte der Spalte „Alter“ sind vom gleichen Datentyp (z. B. INTEGER) | ||
* | |||
* | |||
Alle Werte | |||
Aktuelle Version vom 4. Februar 2026, 12:18 Uhr
Grundkonzepte relationaler Datenbanken
Was ist eine Datenbank?
- Eine Datenbank ist ein strukturiertes System zur Speicherung, Organisation und Verwaltung von Daten, das speziell für den zuverlässigen Zugriff auf große Datenmengen konzipiert wurde.
- Im Gegensatz zu einfachen Dateien oder Tabellenkalkulationen gewährleisten Datenbanken Konsistenz, Integrität und gleichzeitigen Zugriff durch mehrere Benutzer.
- Daten werden zentral verwaltet und lassen sich effizient durchsuchen, filtern und bearbeiten, auch bei komplexen Datenbeziehungen.
- Relationale Datenbanken speichern Informationen in Tabellenform und ermöglichen durch strukturierte Abfragen (z. B. in SQL) gezielte Analysen und Auswertungen.
- Ein Datenbanksystem (DBMS) wie MariaDB oder PostgreSQL verwaltet die Datenbank, regelt Zugriffsrechte, sorgt für Datensicherheit und stellt Mechanismen für Sicherung, Wiederherstellung und Transaktionen bereit.
Was ist eine Tabelle?
- Eine Tabelle ist die grundlegende Struktur innerhalb einer relationalen Datenbank, in der Daten zeilenweise gespeichert werden.
- Sie besteht aus Spalten (auch Felder oder Attribute genannt) und Zeilen (auch Datensätze oder Tupel).
- Jede Spalte definiert eine bestimmte Eigenschaft (z. B. Name, Alter, ID) mit einem festen Datentyp.
- Jede Zeile repräsentiert einen vollständigen Datensatz, also eine konkrete Ausprägung aller Spaltenwerte.
- Tabellen haben einen eindeutigen Namen innerhalb der Datenbank und können durch Schlüssel miteinander in Beziehung gesetzt werden.
Was ist eine Zeile?
- Eine Zeile – auch Datensatz oder Tupel genannt – ist ein vollständiger Eintrag in einer Tabelle.
- Sie enthält genau einen Wert pro Spalte und beschreibt damit eine konkrete Entität, z. B. eine Person, ein Produkt oder einen Vorgang.
- Alle Zeilen in einer Tabelle folgen dem gleichen Schema, d. h. sie besitzen dieselben Spalten.
- Jede Zeile ist in der Regel durch einen Primärschlüssel eindeutig identifizierbar.
Was ist eine Spalte?
- Eine Spalte beschreibt eine einzelne Eigenschaft der gespeicherten Daten, z. B. Vorname, Nachname oder Geburtsdatum.
- Sie hat einen Namen, einen Datentyp (z. B. INTEGER, VARCHAR, DATE) und gegebenenfalls weitere Einschränkungen (z. B. NOT NULL, UNIQUE).
- Alle Werte einer Spalte müssen dem vorgegebenen Datentyp entsprechen.
- Die Struktur und Bedeutung der Spalten wird durch das Tabellenschema vorgegeben.
Was ist ein Primärschlüssel?
- Ein Primärschlüssel (Primary Key) ist eine Spalte oder Kombination mehrerer Spalten, die jeden Datensatz einer Tabelle eindeutig identifiziert.
- Es darf keine zwei Zeilen mit dem gleichen Wert im Primärschlüssel geben.
- Primärschlüssel sind notwendig, um Daten eindeutig zu referenzieren, etwa bei Verknüpfungen mit anderen Tabellen.
- Ein Primärschlüssel ist automatisch mit einem Index versehen, der die Suche nach bestimmten Datensätzen beschleunigt.
Was ist ein Fremdschlüssel?
- Ein Fremdschlüssel (Foreign Key) ist eine Spalte, die auf den Primärschlüssel einer anderen Tabelle verweist.
- Er dient dazu, logische Beziehungen zwischen Tabellen abzubilden, z. B. „ein Kunde hat mehrere Bestellungen“.
- Fremdschlüssel erzwingen die referenzielle Integrität – das bedeutet: ein Wert darf nur dann eingetragen werden, wenn er auch in der referenzierten Tabelle existiert.
- Dadurch wird sichergestellt, dass keine „verwaisten“ Verweise in der Datenbank existieren.
Was ist ein Index?
- Ein Index ist eine spezielle Datenstruktur, die dazu dient, den Zugriff auf Daten zu beschleunigen.
- Er funktioniert ähnlich wie ein Inhaltsverzeichnis: Statt alle Zeilen der Tabelle zu durchsuchen, springt das DBMS gezielt zur gesuchten Stelle.
- Indexe werden oft auf Spalten gesetzt, die häufig in WHERE-Bedingungen, JOINs oder Sortierungen verwendet werden.
- Ein Primärschlüssel erzeugt automatisch einen eindeutigen Index.
- Neben eindeutigen (UNIQUE) Indexen gibt es auch einfache (nicht eindeutige) Indexe für Performance-Zwecke.
ASCII-Darstellung einer Tabelle
+------------+------------+------------+ | ID | Name | Alter | +------------+------------+------------+ | 1 | Anna | 30 | | 2 | Ben | 45 | | 3 | Carla | 22 | +------------+------------+------------+
- Legende
- Die Tabelle enthält drei Spalten: ID, Name, Alter
- Jede Zeile ist ein Datensatz mit konkreten Werten
- Die Spalte ID könnte als Primärschlüssel verwendet werden
- Alle Werte der Spalte „Alter“ sind vom gleichen Datentyp (z. B. INTEGER)
