Skip to content

Commit

Permalink
Merge pull request #204 from TilGP/dev2
Browse files Browse the repository at this point in the history
Imporvment Beispiele zu Normalisierung hinzugefügt
  • Loading branch information
LNA-DEV authored Nov 22, 2024
2 parents a35bcee + 6ba4f12 commit d773a61
Show file tree
Hide file tree
Showing 2 changed files with 133 additions and 5 deletions.
136 changes: 131 additions & 5 deletions content/de/AbschlussprüfungTeil2AE/GA2/Normalisierung.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,13 @@ Die Erste Normalform (1NF) ist dann gegeben, wenn alle Informationen in einer Ta

### Stichpunkte

- Atomar
- Atomar: in jeder Spalte ist genau ein Wert

### Beispiel

| R.-Nr. | Datum | Name | Vorname | Straße | H.-Nr. | PLZ | ORT | Artikel | Anzahl | Preis | Währung |
| ------ | ---------- | ---------- | ------- | ------------ | ------ | ----- | ------------ | --------- | ------ | ----- | ------- |
| 420 | 14.11.2024 | Mustermann | Max | Musterstraße | 1 | 12345 | Musterhausen | Bleistift | 5 | 1 | Euro |

## Zweite Normalform

Expand All @@ -24,8 +30,86 @@ Ein Relationstyp (Tabelle) befindet sich genau dann in der zweiten Normalform (2

### Stichpunkte

- Setzt 1NF vorraus
- Alle Attribute hängen vom Primary Key ab
- Setzt 1NF voraus
- Alle Nichtschlüsselattribute sind abhängig vom Primärschlüssel

### Beispiel

{{< rawhtml >}}
<table>
<tr>
<th colspan="3">Rechnung</th>
</tr>
<tr>
<th>R.-Nr.</th>
<th>Datum</th>
<th>K.-Nr.</th>
</tr>
<tr>
<td>420</td>
<td>14.11.2024</td>
<td>69</td>
</tr>
</table>

<table>
<tr>
<th colspan="7">Kunde</th>
</tr>
<tr>
<th>K.-Nr.</th>
<th>Name</th>
<th>Vorname</th>
<th>Straße</th>
<th>H.-Nr.</th>
<th>PLZ</th>
<th>Ort</th>
</tr>
<tr>
<td>007</td>
<td>Mustermann</td>
<td>Max</td>
<td>Musterstraße</td>
<td>1</td>
<td>12345</td>
<td>Musterort</td>
</tr>
</table>

<table>
<tr>
<th colspan="4">Rechnungsposition</th>
</tr>
<tr>
<th>R.-P,-Nr.</th>
<th>R.-Nr.</th>
<th>Art.-Nr.</th>
<th>Anzahl</th>
</tr>
<tr>
<td>1</td>
<td>420</td>
<td>69</td>
<td>5</td>
</tr>
</table>

<table>
<tr>
<th colspan="3">Artikel</th>
</tr>
<tr>
<th>Art.-Nr.</th>
<th>Bezeichnung</th>
<th>Preis</th>
</tr>
<tr>
<td>69</td>
<td>Bleistift</td>
<td>1</td>
</tr>
</table>
{{< /rawhtml >}}

## Dritte Normalform

Expand All @@ -35,8 +119,50 @@ Ein Relationstyp befindet sich genau dann in der dritten Normalform (3NF), wenn

### Stichpunkte

- Setzt 2NF vorraus
- Indirekt abhänge Attribute müssen in eine Tabelle ausgelagert werden
- Setzt 2NF voraus
- Es dürfen keine transitiven Abhängigkeiten zwischen Nichtschlüsselattributen bestehen

### Beispiel

{{< rawhtml >}}
<table>
<tr>
<th colspan="6">Kunde</th>
</tr>
<tr>
<th>K.-Nr.</th>
<th>Name</th>
<th>Vorname</th>
<th>Straße</th>
<th>H.-Nr.</th>
<th>PLZ</th>
</tr>
<tr>
<td>007</td>
<td>Mustermann</td>
<td>Max</td>
<td>Musterstraße</td>
<td>1</td>
<td>12345</td>
</tr>
</table>

<table>
<tr>
<th colspan="2">Postleitzahl</th>
</tr>
<tr>
<th>PLZ</th>
<th>Ort</th>
</tr>
<tr>
<td>12345</td>
<td>Musterort</td>
</tr>
</table>
{{< /rawhtml >}}

In der Tabelle **Kunde** hängt das Attribut **Ort** transitiv vom Primärschlüssel **K.-Nr.** über das Attribut **PLZ** ab. Durch das Auslagern von **PLZ** und **Ort** in eine separate Tabelle wird diese transitive Abhängigkeit aufgelöst, wodurch die dritte Normalform erreicht wird.

## Erklärungsvideo 📹

Expand Down
2 changes: 2 additions & 0 deletions layouts/shortcodes/rawhtml.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
<!-- raw html -->
{{.Inner}}

0 comments on commit d773a61

Please sign in to comment.