aboutsummaryrefslogtreecommitdiff
path: root/Info/10
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2023-11-14 14:34:47 +0100
committerFlorian Fischer <florian.fischer@muhq.space>2023-11-14 14:36:00 +0100
commitbb8961820f9520e0ccb1bf19be499343e4165b5d (patch)
treee74aa7ded0fa210c8715561822eeaa71106f786e /Info/10
parent8587109c201c2c2f2f955b99f9c041f3307265f1 (diff)
downloadunterricht-bb8961820f9520e0ccb1bf19be499343e4165b5d.tar.gz
unterricht-bb8961820f9520e0ccb1bf19be499343e4165b5d.zip
add my last info lesson in 10B
Diffstat (limited to 'Info/10')
-rw-r--r--Info/10/1/06_Beziehungstabellen/Beziehungstabellen_Wdh.pptxbin0 -> 363646 bytes
l---------Info/10/1/Redundanz/Beziehungstabellen_Wdh.pptx1
-rw-r--r--Info/10/1/Redundanz/slides.md104
3 files changed, 105 insertions, 0 deletions
diff --git a/Info/10/1/06_Beziehungstabellen/Beziehungstabellen_Wdh.pptx b/Info/10/1/06_Beziehungstabellen/Beziehungstabellen_Wdh.pptx
new file mode 100644
index 00000000..1b972128
--- /dev/null
+++ b/Info/10/1/06_Beziehungstabellen/Beziehungstabellen_Wdh.pptx
Binary files differ
diff --git a/Info/10/1/Redundanz/Beziehungstabellen_Wdh.pptx b/Info/10/1/Redundanz/Beziehungstabellen_Wdh.pptx
new file mode 120000
index 00000000..502e3932
--- /dev/null
+++ b/Info/10/1/Redundanz/Beziehungstabellen_Wdh.pptx
@@ -0,0 +1 @@
+../06_Beziehungstabellen/Beziehungstabellen_Wdh.pptx \ No newline at end of file
diff --git a/Info/10/1/Redundanz/slides.md b/Info/10/1/Redundanz/slides.md
new file mode 100644
index 00000000..e23d45d3
--- /dev/null
+++ b/Info/10/1/Redundanz/slides.md
@@ -0,0 +1,104 @@
+---
+author: Florian Fischer
+theme: metropolis
+aspectratio: 169
+header-includes: |
+ \usepackage{tikz}
+ \usetikzlibrary{calc}
+ \usetikzlibrary{positioning}
+ \usetikzlibrary{tikzmark}
+ \usetikzlibrary{fit}
+ \usetikzlibrary{decorations.pathreplacing,angles,quotes}
+ \usepackage{fontawesome5}
+ \let\tightlist\relax
+ \makeatletter
+ \beamer@ignorenonframefalse
+ \makeatother
+ \newcommand{\boldred}[1]{\textcolor{red}{\textbf{#1}}}
+ \newcommand{\appear}[3]{\only<#1>{\underline{\phantom{#3}}}\only<#2>{\boldred{#3}}}
+ \newcommand{\mydash}[1]{\tikz[baseline=(todotted.base)]{\node[inner sep=1pt,outer sep=0pt] (todotted) {#1}; \draw[dashed] ([yshift=-2pt]todotted.south west) -- ([yshift=-2pt]todotted.south east); } }
+---
+
+
+## Wiederholung - n:m Beziehungen
+
+##
+
+Ein Versandhandel verwaltet sämtliche Bestellungen in einer Tabelle mit folgendem Schema:
+
+\texttt{BESTELLUNG[\underline{KdNr}; Name; Vorame; Adresse; Telefon; \underline{ArtNr}; Artikel; Preis; Anzahl; \underline{BDatum}}
+
+![](Copyrighted/bestellungen.jpg)
+
+\pause
+### \faIcon{desktop} Arbeitsauftrag - 3 min
+
+* Überlege Dir welche Informationen werden unnötig oft gespeichert?
+* Finde Probleme die durch das Tabellenschema entstehen wenn Datensätze geändert werden müssen.
+
+## \faIcon{pencil-alt}
+
+Unter \appear{1}{2-}{Redundanz} versteht man die Mehrfachspeicherung von Daten.
+
+Beim Ändern, Löschen oder Einfügen von Datensätzen kann können dadurch Probleme entstehen, sogenannte \appear{3}{4-}{Anomalien}.
+
+## UPDATE-Anomalie
+
+Beim Löschen können ungewollte andere Informationen verloren gehen.
+
+Welche Informationen gehen verloren wenn abgeschlossene Bestellungen gelöscht werden?
+
+### Verlorene Information
+
+* Kundendaten (Name, Vorname, Adresse, Telefon)
+* Produktinformationen (Artikel, Preis)
+
+## INSERT-Anomalie
+
+Neue Daten lassen sich nicht einfügen solange Teile des Primärschlüssels nicht bekannt sind.
+
+![](Copyrighted/insert_anomalie.jpg)
+
+Ein neues Produkt kann erst aufgenommen werden, wenn es auch bereits bestellt wurde.
+
+
+## \faIcon{pencil-alt} Arbeitsauftrag - 7 min
+
+Erstelle ein Klassendiagramm das die Klassen der Bestelltabelle und ihre Beziehungen darstellt.
+
+Benenne die Beziehungen und gib ihre Kardinalitäten an.
+
+## Lösung
+
+\centering
+\scalebox{1.3}{
+\begin{tikzpicture}
+\node[draw] (k) {Kunde};
+\node[draw,right=3cm of k] (b) {Bestellung};
+\node[draw,right=3cm of b] (a) {Artikel};
+
+\draw (k) -- (b) node[midway, above] {tätigt >};
+\path (k) -- (b) node[very near start, above] {1};
+\path (k) -- (b) node[very near end, above] {n};
+
+\draw (b) -- (a) node[midway, above] {enthält >};
+\path (b) -- (a) node[very near start, above] {m};
+\path (b) -- (a) node[very near end, above] {n};
+\end{tikzpicture}
+}
+
+## \faIcon{pencil-alt} Arbeitsauftrag - 7 min
+
+Erstelle ein Tabellenschema das dein Klassendiagramm in eine Datenbank überträgt.
+
+Markiere Primär-/ und Fremschlüssels wie gewohnt.
+
+## Lösung
+
+\texttt{Kunde[\underline{KndNr}; Name; Vorname; Adresse; Telefon]}
+
+\texttt{Bestellung[\underline{BDatum; \mydash{KndNr}}]}
+
+\texttt{Artikel[\underline{ArtNr}; Artikel; Preis]}
+
+\texttt{Enthaelt[\underline{\mydash{BDatum; KndNr}; \mydash{ArtNr}}; Anzahl};