Datenbanksysteme übernehmen die strukturierte Erfassung und Verwaltung von elektronischen Daten.
In diesem Artikel wird der Aufbau und die Struktur von Datenbanken erklärt. Neben den Entity Relationship Modell werden Grundlagen zum Verständnis von Datenbanken gelegt.
Datenbanksysteme übernehmen die strukturierte Erfassung und Verwaltung von elektronischen Daten. Ein Datenbanksystem besteht aus zwei Teilen:
Das ER-Modell (kurz ERM, engl. entity relationship model) wurde 1976 von Peter Chen zur Datenanalyse und Planung von Datenbanken vorgestellt:
Man beachte: Unterstrichene Attribute werden für die Zuordnung zu anderen Objekten verwendet und als Primär- und Fremdschlüssel bezeichnet.
Jeder Mitarbeiter hat einen Namen, einen Vornamen und eine ID
Jedes Buch hat einen Titel, einen Autor und eine ID
Objekte können nun in unterschiedlichen Beziehungen zueinander stehen:
1 | genau einen (= 1) |
c | kein oder genau einen (0|1) |
m | mindestens einen (≥ 1) |
mc | beliebig viele (≥ 0) |
Die Beziehung der Objekte wird mit Hilfe von Verknüpfungsverben (Assoziation) und den entsprechenden Kürzeln (1, c, m, mc) realisiert. So wird die Beziehung immer in beide Richtungen beschrieben.
Man beachte, dass multiple Assoziationen wie folgt bezeichnet werden: m-n-, m-nc- und mc-nc-Beziehung. Nicht-1er-Beziehungen müssen in relationalen Datenbanksystemen in solche transfomiert werden.
Bei einer Temperatur unterhalb von -5 °C lassen sich ganz einfach frozen bubbles herstellen.
Wichtig: Den Zucker komplett auflösen und danach die Seifenlauge im Kühlschrank abkühlen lassen.
1— | —mc |
|
Wähle die korrekten Aussagen aus.
Wähle zwei passende Aussagen zum ERD.
Wähle zwei Antworten.
Wähle zwei passende Aussagen zum ERD.
Wähle zwei Antworten.
Gib die passende Beschreibung des ERDs an.
Wähle eine Antwort.
Gib die passende Beschreibung des ERDs an.
Wähle eine Antwort.
1— | —mc |
|
Wähle die passende Aussage zum ERD.
Wähle eine Antwort.
mc— | —1 |
|
Wähle die passende Aussage zum ERD.
Wähle eine Antwort.
In einer Bibliothek führt eine Liste zum Verleih von Spielen. Die Analyse der Tabelle zeigt folgende strukturellen Schwächen:
Name | Adresse | Datum | idSpiel | Spiel |
---|---|---|---|---|
Huber, Fritz | Tal 1, 89075 Ulm | 01.01.21 | 12, 21 | Halma, Malefiz RV |
Huber, Fritz | Tal 1, 89079 Ulm | 01.01.21 | 7 | Risiko Hasbro |
Susi Schnell | Tal 2, 89075 Ulm | 01.04.21 | 7 | Risiko Hasbro |
Pfiffig, Klaus | Ried 3, 89075 Ulm | 01.01.21 | 14 | Siedler Kosmos |
Das Attribut Adresse wird zerlegt in Straße, PLZ und Ort. Das Attribut Name wird zerlegt in Name und Vorname. Das mehrwertige Attribut Spiel wird in Titel und Hersteller zerlegt und in eine eigene Tabelle ausgelagert.
Die Attribute Titel und Hersteller sind nur vom Attribut idSpiel abhängig. Sie werden in eine neue Tabelle Spiel ausgelagert. Somit haben wir drei Tabellen.
Hier kann man noch eine eigene Tabelle für PLZ und Ort sowie den Hersteller machen.
Durch die Zerlegung von Tabellen steigt der Aufwand für die Abfragebearbeitung, da die Verbundoperationen zwischen den Tabellen berücksichtigt werden müssen. Deshalb werden in der Praxis teilweise Abstriche von den Normalformen bewusst in Kauf genommen.
Person
idPers | Name | Vorn | PLZ | Ort | Straße |
---|---|---|---|---|---|
100 | Huber | Fritz | 89075 | Ulm | Tal 1 |
101 | Schnell | Susi | 89075 | Ulm | Tal 2 |
103 | Pfiffig | Klaus | 89075 | Ulm | Ried 3 |
Leihe
fkPers↑ | Datum | fkSpiel↑ | Rück |
---|---|---|---|
100 | 01.01.21 | 12 | 01.03.21 |
100 | 01.01.21 | 21 | 01.03.21 |
100 | 01.01.21 | 7 | 01.03.21 |
101 | 01.04.21 | 7 | |
103 | 01.01.21 | 14 | 01.01.21 |
Spiel
idSpiel | Titel | Hersteller |
---|---|---|
12 | Memory | Ravensburger |
21 | Malefiz | Ravensburger |
7 | Risiko | Hasbro |
14 | Siedler | Kosmos |
Wähle die korrekten Aussagen aus.
Gegeben ist folgende Tabelle:
Auftragsdatum | Artikel | Menge | Preis | Kunde |
---|---|---|---|---|
01.03.2020 | A01 Krokus | 100 | 1,20 | Bauhaus, Blau 59, 89077 Ulm |
19.03.2020 | A02 Tulpen | 50 | 1,00 | Obi, Tal 81, 01277 Dresden |
19.03.2020 | A03 Primeln | 200 | 2,00 | Obi, Tal 81, 01278 Dresden |
1. Nenne die strukturellen Schwächen der Tabelle.
Wähle beliebig viele Antworten.
2. Was versteht man unter einem mehrwertigen Attribut?
Wähle eine Antwort.
Die obibge Tabelle wird in vier Objekte zerlegt.
Kunde
idK | Name | Str. | PLZ | Ort |
---|---|---|---|---|
K55 | Bauhaus | Blau 59 | 89077 | Ulm |
K54 | Obi | Tal 81 | 01277 | Dresden |
Artikel
idArt | Bez |
---|---|
A01 | Krokus |
A02 | Tulpen |
A03 | Primeln |
Auftrag
idAuf | Datum | fKunde↑ |
---|---|---|
Auf1 | 01.03.2020 | K54 |
Auf2 | 19.03.2020 | K55 |
Auftragsposition
idPos | fidAuf↑ | fidArt↑ | Menge |
---|---|---|---|
Pos01 | Auf1 | A01 | 100 |
Pos02 | Auf2 | A02 | 50 |
Pos03 | Auf2 | A03 | 200 |
Begründe wieso das Objekt Auftrag und Auftragsposition nicht in einer Tabelle dargestellt werden können.
Wähle eine Antwort.
Begründe wieso Ort und PLZ in einer gemeinsamen Tabelle dargestellt werden können.
Wähle eine Antwort.
mc— | —1 |
|
Welche Objekte stehen im ERD in obigen Zusammenhang?
Wähle zwei Antworten.
— | — |
|
In welchem Zusammenhang stehen die obigen Objekte?
Wähle eine Antwort.
Für einen Webshop benötigt man eine Tabelle für die Kundendaten 👤, für den Warenkorb 🛒 und für eine Artikelliste 🧩.
Dabei hat jeder Kunde beliebig viele Warenkörbe, aber jeder Warenkorb ist genau einem Kunden zugeordnet. Auf der anderen Seite hat jeder Warenkorb beliebig viele Artikel und jeder Artikel ist in beliebig vielen Warenkörben.
Schaut man nun bei den Tabellen mit der n-m-Beziehung zwischen Warenkorb 🛒 und Artikel 🧩 ins Detail, fallen bei den Attributen (Spalten) Ungereimtheiten auf. Jeder Warenkorb kann nur einen Artikel haben und jeder Artikel kann nur einem Warenkorb zugeteilt werden.
1 | ——— | n |
n | ——— | m |
Warenkorb 🛒 Tabelle:
IDW | IDA↑ | Datum | VP | Menge |
---|---|---|---|---|
1 | 10 | 20.01.2023 | 7,23 | 2 |
2 | 10 | 20.01.2023 | 7,23 | 2 |
Artikel 🧩 Tabelle:
IDA | IDW↑ | UVP | Lager |
---|---|---|---|
10 | 1 | 9,99 | 225 |
Neben den Tabellen Kunde 👤, Warenkorb 🛒 und Artikel 🧩 ergänzt man das ERD mit einer sogenannten Koppeltabelle, um die n-m-Beziehung aufzulösen.
Der einfachheitshalber kann man diese Tabelle aus den beiden Namen der beiden Tabellen mit n-m-Beziehung benennen (hier: "Warenkorbartikel").
Überprüft man nun die Attribute der Tabellen Warenkorb 🛒, Warenkorbartikel und Artikel 🧩 kann jeder Warenkorb beliebig viele Warenkorbartikel enthalten und jeder Artikel kann in beliebiger Menge in jeder Bestellung vorkommen. Beachte, dass Fremdschlüssel im Gegensatz zu Primärschlüsseln mehrfach vorkommen dürfen.
1 | ——— | n |
1 | ——— | n |
n | ——— | 1 |
Warenkorb 🛒 Tabelle:
IDW | Datum |
---|---|
1 | 20.01.2023 |
Warenkorbartikel Tabelle:
IDWA | IDW↑ | IDA↑ | VP | Menge |
---|---|---|---|---|
1 | 1 | 10 | 7,23 | 2 |
2 | 1 | 11 | 21,99 | 3 |
Artikel 🧩 Tabelle:
IDA | UVP | Lager |
---|---|---|
10 | 9,99 | 225 |
11 | 25,00 | 120 |
die Datenbank, -en | gespeicherte Daten in strukturierten Tabellen - DB (engl. database) |
das Datenbank-Managementsystem, -e | Software zur Verwaltung der Daten - DBMS (engl. database management system) |
das ER-Modell, -e | Modell (engl. entity relationship model) zur Datenanalyse und Planung von Datenbanken |
das ER-Diagramm, -e | passendes Diagramm zum ERM |
die 1-1-Beziehung, -en | genau einem Objekt wird genau ein Objekt und umgekehrt zugeordnet |
die 1-c-Beziehung, -en | einem Objekt werden kein oder genau ein Obejekt zugeordnet, umgekehrt aber genau eins |
die 1-mc-Beziehung, -en | einem Objekt werden beliebig viele Objekte zugeordnet, umgekehrt aber genau eins |
die Normalisierung, - | redundanzfreie Speicherung von Daten unter Vermeidung von Inkonsistenzen |