0 Daumen
211 Aufrufe

Frage:

Überführen Sie die Tabelle schrittweise in die 3. NF! (a. → nur 1. NF erfüllt aber 2. NF noch nicht
b. → nur 2. NF erfüllt aber 3. NF noch nicht
c. → 3. NF erfüllt)

Leider verstehe ich es nicht, vielen dank im Voraus


Code:

IMG_6838.jpegText erkannt:

Gegeben sei folgende Tabell:
\begin{tabular}{|c|c|c|c|c|c|c|}
\hline \multirow{3}{*}{\begin{tabular}{l}
ID__ \\
Zimmer
\end{tabular}} & \multirow{2}{*}{ Nummer } & \multicolumn{5}{|c|}{ Medikament } \\
\hline & & \begin{tabular}{l}
ID_ \\
Patient
\end{tabular} & Name & \begin{tabular}{l}
ID_- \\
Medikament
\end{tabular} & Bezeichnung & Dosierung \\
\hline & \multirow{4}{*}{ EG-102 } & \multirow[t]{2}{*}{1} & \multirow[t]{2}{*}{ Meier } & 1 & Hustensaft & \( 20 \mathrm{ml} \) \\
\hline \multirow[t]{3}{*}{1} & & & & 2 & Schlaftrunk & \( 10 \mathrm{ml} \) \\
\hline & & \multirow[t]{2}{*}{2} & \multirow[t]{2}{*}{ Schulte } & 3 & Abführmittel & \( 30 \mathrm{ml} \) \\
\hline & & & & 2 & Schlaftrunk & \( 40 \mathrm{ml} \) \\
\hline \multirow[t]{2}{*}{2} & OG-203 & \multirow[t]{2}{*}{3} & \multirow[t]{2}{*}{ Klein } & 1 & Hustensaft & \( 15 \mathrm{ml} \) \\
\hline & & & & 3 & Abführmittel & \( 25 \mathrm{ml} \) \\
\hline
\end{tabular}

Überführen Sie die Tabelle schrittweise in die 3. NF! (a. \( \rightarrow \) nur 1. NF erfüllt aber 2. NF noch nicht
b. \( \rightarrow \) nur 2. NF erfüllt aber 3. NF noch nicht
c. \( \rightarrow \) 3. NF erfüllt)

Avatar von

1 Antwort

0 Daumen

a. Der Wertebereich der Spalte ID_Patient ist nicht atomar. In der Zeile mit ID_Zimmer=1 steht der zusammengesetze Wert (1, 2). Repariere deartige Verstöße gegen die erste Normalform indem du die Einträge auf einzelne Zeilen aufteilst. Wenn du das repariert hast, dann besteht die Tabelle aus sechs Zeilen anstatt wie bis jetzt aus zweien.

b. Das zusammengesetzte Attribut (ID_Zimmer, ID_Patient, ID_Medikament) ist ein Schlüsselkandidat, weil es zu jeder Kombination von Werten der drei einzelnen Attribute höchstens eine Zeile in der Tabelle gibt. Das Attribut Bezeichnung ist aber bereits durch ID_Medikament eindeutig bestimmt. Repariere das indem du eine neue Tabelle (ID_Medikament, Bezeichnung) erstellst und das Attribut Bezeichnung aus der ursprünglichen Tabelle entfernst. Das Attribut ID_Medikament in der ursprünglichen Tabelle wird dabei zu einem Fremdschlüssel in die neue Tabelle.

Verfahre ebenso mit anderen Fällen, in denen ein Nichtschlüsselattribut nur von einem Teil eines Schlüsselkandidaten abhängt.

Du musst die neu erstellten Tabellen ebenfalls normalisieren. Du wirst fünf Tabellen bekommen.

c. Nach meinen Überlegungen sollten die Tabellen in diesem Fall in dritter Normalform sein, wenn du zweite Normalform erreicht hast.

Avatar von 5,7 k

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community