Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

verflixte 3.NF

Empfohlene Antworten

Hallo,

ich versuche mich in die Normalisierung der Datenbanken einzuarbeiten. Könnt ihr mein nachfolgendes Beispiel bitte überprüfen, ob es schon in der 3.NF ist?

schüler.zip

Ich würde sagen aus der Praxis heraus wäre das vollkommen OK so.

Allerdings werden viele Sachen redundant abgelegt, wie zum Beispiel "m", "w" oder die Schulfächer. Solche Dinge, die halt mehrfach vorkommen können, soll man laut Lehre auslagern. Also eine Tabelle "Geschlecht" oder "Schulfächer".

Das hab ich mir auch schon gedacht, aber über welchen Schlüssel stellt man dann eine Beziehung zu der jeweiligen Person her?

Ich sehe hier keinen Grund, das auf mehrere Tabellen zu verteilen. Welche abhängigen Beziehungen gibt es denn? Welche Redundanzen verhinderst du durch diese drei Tabellen?

Nur bei den Noten sehe ich ein Problem: Die Anzahlen gehören nicht als Wert in die Tabelle. Du hast zB Schüler 5 mit einer 4 in DV, aber 0 4en...

Es gibt soweit keine Beziehungen die abhängig sind...

wie kann ich dass lösen mit den 0en. hast du eine idee?

Mein Lehrer würde an einigen dingen meckern... :)

Haarfarbe

Augenfarbe

Lieblingsband

Lieblingsfach

Seh ich grad auf den ersten Blick...

Auch würde ich empfehlen, wenn du das schon in Excel machst, auch die Funktionen zu benutzen. z.B. Primär-/Fremdschlüssel einfärben.

Hi,

das ist nicht mal 2 NF.

Allerdings seh ich, davon unabhängig, einen ganz ganz schweren Fehler: Du hast das Alter in Jahren eingetragen. In einem solchen Fall immer das geburtsdatum verwenden, dann ist Deine Datenbasis immer korrekt ansonsten im schlimmsten Fall nie bzw. Du musst sie ständig aktualisieren.

Haarfarbe, Augenfarbe, Lieblingsband und Lieblingsfach wären eigene Entitäten. Ein Streitfall wäre auch die Entität Noten. Theoretisch bräuchte man eine Entität Noten in der die Werte 1-6 abgelegt sind sowie eine n:m Auflösungsentität Schülernoten in der jeden Schüler für jede erhaltene Note einen entsprechenden Eintrag bekommt. Praktisch wärs auch ok alle 6 Noten dort abzulegen, denn die Anzahl ist ja doch recht stabil ;-)

Bei den Haarfarben etc. würd ich einen Mittelweg gehen. In den entsprechenden neuen Entitäten sind die Werte abgelegt aus denen der Anwendung auswählen kann. Der Klartext wird jedoch in der Entität Schüler bzw. Eigenschaften und Lieblingsdinge direkt abgelegt.

Das nennt sich Denormalisierung und wird in praktisch jedem Datenmodell gemacht um die Performance zu erhalten die man braucht und sie Komplexität nicht ins unermessliche wachsen zu lassen..

Dim

Das nennt sich Denormalisierung und wird in praktisch jedem Datenmodell gemacht um die Performance zu erhalten die man braucht und sie Komplexität nicht ins unermessliche wachsen zu lassen..

Das ist allerdings Schule. Und leider sind in dem Bereich viele Lehrer Quereinsteiger, die es m.A. nicht verkraftet haben, dass ihre schöne Theorie in der Praxis nicht so angewendet wird. Wir haben z.B. einen der konsequent die 5. NF haben möchte. Zum glück nicht meiner.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.