SQL: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
|||
| (Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
=Grundkonzepte relationaler Datenbanken= | =Grundkonzepte relationaler Datenbanken= | ||
{{#drawio:datenbank}} | |||
==Was ist eine Datenbank?== | ==Was ist eine Datenbank?== | ||
Eine Datenbank ist | *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?== | ==Was ist eine Tabelle?== | ||
Eine Tabelle ist | *Eine Tabelle ist die grundlegende Struktur innerhalb einer relationalen Datenbank, in der Daten zeilenweise gespeichert werden. | ||
Jede | *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?== | ==Was ist eine Zeile?== | ||
Eine Zeile | *Eine Zeile – auch Datensatz oder Tupel genannt – ist ein vollständiger Eintrag in einer Tabelle. | ||
Jede Zeile | *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?== | ==Was ist eine Spalte?== | ||
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?== | ==Was ist ein Primärschlüssel?== | ||
Ein Primärschlüssel ist eine oder | *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?== | ==Was ist ein Fremdschlüssel?== | ||
Ein Fremdschlüssel ist eine Spalte, die auf | *Ein Fremdschlüssel (Foreign Key) ist eine Spalte, die auf den Primärschlüssel einer anderen Tabelle verweist. | ||
Er | *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?== | ==Was ist ein Index?== | ||
Ein Index ist eine spezielle Datenstruktur, die | *Ein Index ist eine spezielle Datenstruktur, die dazu dient, den Zugriff auf Daten zu beschleunigen. | ||
Er funktioniert ähnlich wie ein Inhaltsverzeichnis | *Er funktioniert ähnlich wie ein Inhaltsverzeichnis: Statt alle Zeilen der Tabelle zu durchsuchen, springt das DBMS gezielt zur gesuchten Stelle. | ||
Indexe | *Indexe werden oft auf Spalten gesetzt, die häufig in WHERE-Bedingungen, JOINs oder Sortierungen verwendet werden. | ||
Ein Primärschlüssel | *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== | ==ASCII-Darstellung einer Tabelle== | ||
+------------+------------+------------+ | +------------+------------+------------+ | ||
| Zeile 44: | Zeile 56: | ||
+------------+------------+------------+ | +------------+------------+------------+ | ||
Legende | ;Legende | ||
* Tabelle | *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 | ||
* ID | *Alle Werte der Spalte „Alter“ sind vom gleichen Datentyp (z. B. INTEGER) | ||
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)
