# Datenbanken

**Was ist eine Datenbank?**

<details>
<summary>Antwort anzeigen</summary>

Eine Datenbank ist eine **strukturierte Sammlung zusammengehöriger Daten**. Die Daten werden so organisiert, dass sie **leicht auffindbar**, **effizient bearbeitbar** und **verwaltbar** sind.

</details>

---

**Was ist ein Datenbankmanagementsystem (DBMS)?**

<details>
<summary>Antwort anzeigen</summary>

Ein DBMS ist eine **Software zur Verwaltung von Datenbanken**. Es ermöglicht das Speichern, Abfragen und Ändern von Daten und sorgt für Datenintegrität, Zugriffskontrolle, Transaktionen und den gleichzeitigen Zugriff mehrerer Nutzer.

</details>

---

**Was ist der Unterschied zwischen einer Datenbank und einem DBMS?**

<details>
<summary>Antwort anzeigen</summary>

Eine **Datenbank** enthält die strukturierten Daten. Das **Datenbankmanagementsystem (DBMS)** ist die Software, mit der die Datenbank erstellt, verwaltet, abgefragt und verändert wird.

**Beispiel:**

- **Datenbank:** Shop-Datenbank mit Kunden, Produkten und Bestellungen
- **DBMS:** PostgreSQL, MySQL oder Microsoft SQL Server

**Merksatz:** Die Datenbank enthält die **Daten**, das DBMS verwaltet die **Datenbank**.

</details>

---

**Was ist das relationale Datenmodell?**

<details>
<summary>Antwort anzeigen</summary>

Beim relationalen Datenmodell werden Daten in **Tabellen (Relationen)** dargestellt:

- **Spalten (Attribute):** beschreiben die Eigenschaften der Daten
- **Zeilen (Datensätze):** enthalten die konkreten Daten
- **Primärschlüssel:** identifiziert einen Datensatz eindeutig
- **Fremdschlüssel:** stellt Beziehungen zwischen Tabellen her

Beziehungen können als **1:1**, 
**1:n** oder **n:m** vorkommen.
Eine n:m-Beziehung wird über eine Zwischentabelle umgesetzt.

</details>

---

**Was bedeutet Persistenz?**

<details>
<summary>Antwort anzeigen</summary>

Persistenz bedeutet, dass Daten **dauerhaft gespeichert** werden und auch nach dem Beenden eines Programms oder einem Neustart erhalten bleiben.

</details>

---

**Welche Vorteile bietet eine strukturierte Datenspeicherung?**

<details>
<summary>Antwort anzeigen</summary>

- Daten können schnell gefunden und abgefragt werden.
- unnötige Redundanzen können vermieden werden.
- Daten können konsistent und korrekt gehalten werden.
- große Datenmengen können effizient verwaltet werden.
- Beziehungen zwischen Daten können eindeutig abgebildet werden.
- Datenstrukturen können leichter erweitert werden.

</details>