Normalisierung einer relationalen Datenbank - Normalformen 1 bis 3

Поділитися
Вставка
  • Опубліковано 12 вер 2024

КОМЕНТАРІ • 75

  • @BadRix90
    @BadRix90 7 місяців тому +8

    ich hab in 50 Minuten hier mehr gelernt als in 1 1/2 Jahren Umschulung. Vielen Dank! 👌

    • @StefanMacke
      @StefanMacke  7 місяців тому

      Das freut mich sehr! 😄

  • @marcelleusch5915
    @marcelleusch5915 11 місяців тому +7

    Mega, dass du uns das hier kostenlos zur Verfügung stellst! Hilft mir sehr für unsere Azubis!

    • @StefanMacke
      @StefanMacke  11 місяців тому

      Gern geschehen! Freut mich, wenn ich helfen kann.

  • @User-fc7iw
    @User-fc7iw 3 місяці тому +1

    Ich kommentiere selten, aber das ist mir ein Bedürfnis. Wirklich super erklärt, mit wichtigem Inhalt und aufs Wesentliche fokussiert, Vielen Dank!

    • @StefanMacke
      @StefanMacke  3 місяці тому +1

      Danke, das freut mich. :-)

  • @emmarosscyubahiro5943
    @emmarosscyubahiro5943 4 місяці тому +1

    Die beste Erklärung zur Normalisierung, die ich je gehört habe. Top! 👌.Danke

  • @CTSB99
    @CTSB99 4 місяці тому

    Morgen ist die Prüfung, wenn ich bestehe dann haben deine Videos auf jeden Fall mehr dazu beigetragen als viele vergeudete Stunden in der Berufsschule, dankechön

    • @StefanMacke
      @StefanMacke  4 місяці тому

      Ich wünsche dir viel Erfolg!

  • @Qahnung
    @Qahnung 11 місяців тому +2

    Schreibe in einem Jahr meine Prüfungen und bin ihnen sehr dankbar für ihre Videos. Freue mich auf mehr :D

    • @StefanMacke
      @StefanMacke  11 місяців тому +1

      Ich drücke dir die Daumen! :-)

  • @Le_M_Le_M
    @Le_M_Le_M 9 місяців тому +2

    Sehr unterschätztes Video, meine Lehrerin hat dieselbe Tabelle benutzt, aber sie hat es nicht so gut erklärt wie du. Möge Gott dich segnen.

    • @StefanMacke
      @StefanMacke  9 місяців тому

      Danke, das freut mich sehr!

  • @masonatkinson2682
    @masonatkinson2682 8 місяців тому +1

    Hallo Herr Macke. Vielen Dank für die zahlreichen informativen Videos zum Thema IT! Diese haben mir bisher sehr weitergeholfen. Man darf dabei aber eines nicht vergessen: Chuck Norris bekommt bei Praktiker 20 Prozent auf alles. Auch auf Tiernahrung!

    • @StefanMacke
      @StefanMacke  8 місяців тому +1

      Hehe 😄 Ich werde beim nächsten Mal dran denken!

  • @Livy2964
    @Livy2964 2 місяці тому

    Wunderbare Video ich hab 2 mal geschaut und notizen gemacht supi erklärkt danke danke danke!

  • @justinwiebe8171
    @justinwiebe8171 9 місяців тому

    Du hast mir bisher so sehr geholfen, deine Videos und deine Tipps in deinem Podcast sind der Hammer, ich empfehle allen die eine IHK Prüfungen abgelegen wollen den Podcast, die Website, diese Videos und einen vorbereitungskurs der IHK. Danke für diese Tipps und deine Erfahrungen ❤

    • @StefanMacke
      @StefanMacke  9 місяців тому +1

      Danke für dein Feedback. Das freut mich sehr. 😊

  • @Kl3XY_DEV
    @Kl3XY_DEV 8 місяців тому

    DANKE, du bist der erste wo ich es tatsächtlich verstehen konnte
    wünschte meine lehrer wären nur so gut -.-

    • @StefanMacke
      @StefanMacke  8 місяців тому

      Danke für das Feedback. Gern geschehen! 😊

  • @rebornyamada9324
    @rebornyamada9324 7 місяців тому

    Schreibe morgen meine Klausur in datenbanken und das hat mir sehr gut geholfen es besser zu verstehen.

    • @StefanMacke
      @StefanMacke  7 місяців тому

      Dann wünsche ich dir viel Erfolg!

  • @KarMa-ws3ll
    @KarMa-ws3ll 9 місяців тому

    Vielen Dank, habe es jetzt endlich verstanden, statt nur auswendig gelernt!

  • @dironin2363
    @dironin2363 8 місяців тому

    Vielen Dank, Herr Macke, alles sehr gut erklärt!

    • @StefanMacke
      @StefanMacke  8 місяців тому

      Danke für das Feedback. Das freut mich.

  • @Ohykha
    @Ohykha 7 місяців тому

    Krass gut erklärt, vor allem der part mit Normalisierung der Datenbanken

    • @StefanMacke
      @StefanMacke  7 місяців тому

      Freut mich, dass ich helfen kann! 😊

  • @timaya6
    @timaya6 7 місяців тому

    Stefan du bist der beste danke vielmals

  • @aaronkatzmann2992
    @aaronkatzmann2992 9 місяців тому

    Mega Video

    • @StefanMacke
      @StefanMacke  9 місяців тому

      Danke, das freut mich! :-)

  • @fightForYourExistence
    @fightForYourExistence 5 місяців тому

    asserta = am Anfang & oben auf der Datenhalde vs. assertz = zuhinterst und ganz unten des Daten Heaps
    ... : Normalisierung wäre eine Vereinheitlichung der Datenspeicherung

    • @StefanMacke
      @StefanMacke  5 місяців тому

      Sorry, keine Ahnung was du damit sagen willst.

  • @christopher_deer
    @christopher_deer 6 місяців тому

    Vielen Dank für dieses Video! Das hat mir sehr geholfen!
    Ich habe eine Frage, welche bei mir auf einem Übungsblatt vorkommt. Welche Redundanzen sind denn jeweils noch in der 1. und 2. NF, vor der Überführung in die 3. NF möglich?
    Sind nicht tatsächlich alle 3 Anomalien noch möglich vor der 3. NF? (Einfüge-, Update-, Löschanomalie)

    • @StefanMacke
      @StefanMacke  6 місяців тому +1

      In der 1. NF sind die Tabellen quasi voll mit Redundanzen. Die wurden ja sogar explizit eingeführt, um Wiederholungsgruppen aufzulösen. Und in der 2. NF führen die transitiven Abhängigkeiten zu Redundanzen. Beispiel: Mehrere Artikel haben die gleiche Artikelgruppe mit dem gleichen Namen/Rabatt, die mehrfach identisch in der Tabelle stehen.

    • @christopher_deer
      @christopher_deer 6 місяців тому

      Vielen Dank! :) @@StefanMacke

  • @thacreepwalk
    @thacreepwalk 3 місяці тому

    Müste die 1NF nicht heißten: atomare Werte, keine wdh-Gruppen und Bestimmung eines Primärschlüssels? Weil es könnte ja sein, dass die Tabelle in der 0.ten NF, die vorliegt, keinen Primärschlüssel hat. Oder liege ich da falsch?

    • @StefanMacke
      @StefanMacke  3 місяці тому +1

      Den Primärschlüssel solltest du festlegen, das stimmt. Das ist aber nicht direkt Teil der Normalisierung, bei der es ja um die Vermeidung von Redundanzen geht. Und Schlüssel einzuführen verringert nicht die Redundanz. Dennoch ist das ein logischer Schritt, den du in der Praxis in der 1. NF durchführst.

    • @thacreepwalk
      @thacreepwalk 3 місяці тому

      @@StefanMacke Ah ok, danke 🙂👍

  • @schlachs4hn316
    @schlachs4hn316 5 місяців тому

    Ist es in der 3. Normalform nicht theoretisch auch richtig, eine neue Tabelle für PLZ & Ort zu schaffen? Da diese ja theoretisch auch redundant auftreten können, da mehrere Kunden aus z.B. Köln kommen können.

    • @StefanMacke
      @StefanMacke  5 місяців тому +1

      Wie würde diese Tabelle denn deiner Meinung nach aussehen? Denk daran, dass PLZ Ort eine m:n-Kardinalität hat.

    • @schlachs4hn316
      @schlachs4hn316 5 місяців тому

      Quasi dass Kunde die selben Attribute hat wie bisher, nur dass PLZ in Kunde ein FK ist und in der neuen Tabelle, ich nenne sie mal "Ort" PLZ der PK ist und Ort somit davon abhängig ist. An sich macht das ja keinen großen Unterschied. Aber wäre das auch richtig für die dritte Normalform oder wäre dies nicht gültig?@@StefanMacke

    • @StefanMacke
      @StefanMacke  5 місяців тому +1

      @@schlachs4hn316 Das geht leider so nicht. PLZ kann kein PK werden, weil sie nicht eindeutig ist. Es gibt mehrere Orte, die die gleiche PLZ haben und umgekehrt. Wie gesagt: m:n

  • @nicohunger2729
    @nicohunger2729 11 місяців тому

    heißt das, dass wenn die tabellen in der 3. Normalform vorliegen, dann bestehen nur noch 1:1 Beziehungen? hab das jetzt so verstanden, dass m:n bei der umstellung auf die 2. NF aufgelöst wird und 1:n bei der umstellung auf die 3. NF. sehe ich das richtig? danke für die wirklich sehr guten videos und podcasts.

    • @StefanMacke
      @StefanMacke  11 місяців тому +1

      Nein, die Kardinalitäten zwischen den Entitäten ändern sich nicht durch die Normalformen, nur ihre Abbildung in Tabellen. Aus einer m:n-Beziehung wird keine 1:1-Beziehung, sondern quasi zwei 1:n-Beziehungen.
      Und ja, die m:n-Beziehungen werden auf NF2 aufgelöst und 1:n auf NF3. Es können aber auch mal 1:n in der NF2 dabei sein, wie @carnaqe1154 schon schrieb.

  • @carnaqe1154
    @carnaqe1154 11 місяців тому

    wurde nicht in der 2. Normalform auch schon eine 1 : N Beziehung aufgelöst mit Kunde und Bestellung? Fremdschlüssel in Bestellung?

    • @StefanMacke
      @StefanMacke  11 місяців тому +1

      Ja, das stimmt. Nur die Begründung ist eine andere (Abhängigkeit vom Teilschlüssel statt transitiver Abhängigkeit).

  • @awoolf
    @awoolf 10 місяців тому

    Gibt es irgendwo einen Ort, wo die Themen und evtl sogar m;glichen aufgaben stehen?

    • @StefanMacke
      @StefanMacke  10 місяців тому

      it-berufe-podcast.de/GAP1

  • @snakecaseofficial
    @snakecaseofficial 4 місяці тому

    "atomar" kommt etymologisch vom altgriechischen Wort "atomos", was "unteilbar" bedeuted...

    • @StefanMacke
      @StefanMacke  4 місяці тому

      Da hast du recht! Hier steht es auch nochmal: de.wikipedia.org/wiki/Atom

  • @saftladentv4366
    @saftladentv4366 11 місяців тому

    Sie haben anfänglich erwähnt, dass es manchmal sinnvoll ist, Datenbanken nicht zu normalisieren.
    Haben Sie dafür noch ein Bsp.?
    Abgesehen von dem Aufwand, der durch eine Normalisierung entstehen könnte

    • @StefanMacke
      @StefanMacke  11 місяців тому

      Durch die Normalisierung werden oft bereits bei "simplen" Abfragen viele Tabellen gejoint, da die Daten auf mehrere Tabellen verteilt und wieder verknüpft werden müssen. Diese Operationen sind recht teuer. Wenn man eine schnelle Massenverarbeitung braucht, kann es sinnvoll sein, die Datenbank zu denormalisieren und dann mit einfachen SELECTs ohne JOIN zu arbeiten. Beispiel: Data Warehouse.

    • @saftladentv4366
      @saftladentv4366 11 місяців тому

      @@StefanMacke Viel Dank für die schnelle Antwort!

  • @gamernicky4808
    @gamernicky4808 6 місяців тому

    Wäre dann nicht "KundenNr->PLZ->Ort" auch noch transitiv? Wenn ich zwei Kunden aus einem Ort hätte, hätte ich somit weiterhin Redundanz... (oder Fahrradkette ;?)

    • @StefanMacke
      @StefanMacke  6 місяців тому +1

      Ui, klassische Fehlannahme! PLZ/Ort ist eine m:n-Beziehung. Du kannst aus der PLZ nicht direkt auf den Ort schließen und auch nicht umgekehrt.

    • @Voidyz
      @Voidyz 5 місяців тому

      @@StefanMacke In einer Prüfung des U-Form verlages war genau dies der Fall. Dort wurde erwartet, eine weitere Tabelle "Ort" zu erstellen in welcher man die Spalten "OrtID" "PLZ" und "Ort" hat. Wäre das denn richtig? Außerdem zu dem Thema speichersparen: Auch dazu war eine Frage im U-Form Heft. Da war die "Lösung" dass die Normalisierung zu einem Höheren speicherverbrauch führt, da man mehrere Tabellen hat.

    • @StefanMacke
      @StefanMacke  5 місяців тому

      In dieser Tabelle wäre ja die OrtID der eindeutige PK, also richtig so. Mehr Speicherplatz wegen mehr Tabellen!? Quatsch meiner Meinung nach. Nicht die Tabellen kosten Speicher, sondern die enthaltenen Daten.

    • @Voidyz
      @Voidyz 5 місяців тому

      @@StefanMacke Aber die OrtID könnte man ja auch in Ihrer Tabelle anlegen oder nicht? In der aufgabe des U-Form war diese auch nicht von Anfang an gegeben sondern man sollte diese selbst erstellen

    • @StefanMacke
      @StefanMacke  4 місяці тому

      @@Voidyz Ja, aber was soll das bringen? Dadurch sparst du ja keine Redundanz!?

  • @tanero6922
    @tanero6922 11 місяців тому

    Danke für das tolle Video. Was mich bei solchen Beispielen nur etwas stört, ist, dass sie nicht ganz praxistauglich sind. Was ist z.B. wenn der Kunde umzieht und eine neue Adresse hat. Wenn ich das in deinem Beispiel im Kundenstamm ändere, habe ich die Adressen von allen bereits bestehenden und abgeschlossenen Bestellungen auch geändert. Ich komm dann nie wieder an die alte Adresse. Was macht man da?

    • @StefanMacke
      @StefanMacke  11 місяців тому +1

      Für eine Einführung muss das Beispiel etwas einfacher sein. :-) Die von dir geschilderte Anforderung ist eine "Adresshistorie", bei der du eine m:n-Beziehung zwischen Kunde und Adresse hast. Die wird dann meist über eine Zuordnungstabelle mit zusätzlichen Informationen wie "gültig ab" und "gültig bis" ergänzt. Die Details kann ich hier jetzt nicht im Kommentar darlegen.

  • @dereine7193
    @dereine7193 6 місяців тому

    also ehrlich jetzt, das waren 20% auf tiernahrung früher ;)

  • @ramon2282
    @ramon2282 4 місяці тому

    Ich bin sad. Du hast für die 3. NF PLZ und Ort vergessen. Und bei der 1. NF Straße und Hausnummer.🥲

    • @StefanMacke
      @StefanMacke  4 місяці тому

      Ich bin sad, dass du PLZ/Ort nicht als m:n erkennst. :-P Und Straße/Hausnummer habe ich im Video begründet (glaube ich).

    • @ramon2282
      @ramon2282 4 місяці тому

      @@StefanMacke Ok, hat bisschen gedauert bis ich mich richtig in die Aufgabe hinein gedacht habe. Ja, du hast recht man braucht keine aufteilung, weil entweder nimmt man einen Zusammengesetzten Primärschlüssel aus PLZ und Ort und dann wird die Tabelle überflüssig oder man nimmt eine PLZ_Ort_Nummer.
      Zu zweiterem: kann sein, hab nur durchgeskippt.

    • @ramon2282
      @ramon2282 4 місяці тому

      @@StefanMacke Finde aber echt erschreckend, dass ich das insgesamt 3 Mal im Unterricht hatte und es niemandem aufgefallen ist. 1 mal im Informaik Abi und 2 mal in der Ausbildung.

    • @StefanMacke
      @StefanMacke  4 місяці тому

      @@ramon2282 So sieht es aus! :-) Aber du bist nicht der erste, der PLZ/Ort so nicht auf dem Schirm hatte.