SQL: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 2: | Zeile 2: | ||
==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 22. März 2025, 07:47 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)