What is Database Normalization?
Ein kostenloses Video-Tutorial von Kirill Eremenko
DS & AI Instructor
51 Kurse
3.415.578 Teilnehmer:innen
Lektionsbeschreibung
In this tutorial, you will learn why you should know how the databases design and why it is essential for data scientists
Steige mit dem kompletten Kurs tiefer ins Thema ein
SQL & Database Design A-Z™: Learn MS SQL Server + PostgreSQL
Learn Both SQL Server & PostgreSQL By Doing. Enhance Your Data Analytics Career With Real World Data Science Exercises
12:37:34 On-Demand-Video • Aktualisiert am April 2025
Create basic SQL Queries
Create advanced SQL Queries
Create Left, Right, Inner and Full Outer joins
Create new tables, alter existing tables in Databases
Normalize Databases
Understand database design
Understand first, second and third normal form schemas
Deutsch [autom.]
Hallo und willkommen zurück zum Kurs über Datenbanken. Heute habe ich einen sehr aufregenden Abschnitt für Sie vorbereitet, in dem es um Datenbankdesign geht, und wir werden uns speziell mit dem Bereich der Normalisierung befassen. Ich habe einige sehr aufregende Folien vorbereitet und kann es kaum erwarten, loszulegen. Bist du aufgeregt? Lassen Sie uns direkt hineinspringen. Gut. Was ist also Normalisierung? Warum ist das wichtig? Nun, die Definition der Normalisierung nach Wikipedia ist der Prozess der Organisation der Spalten oder der Attribute und Tabellen oder der Beziehungen einer relationalen Datenbank, um die Datenredundanz zu verringern und die Datenintegrität zu verbessern. Okay, das ist eine ziemlich weit gefasste Definition, die viel verspricht, aber was bedeutet es eigentlich und was tut es tatsächlich? Im gesamten Abschnitt werden wir uns bemühen, zu verstehen, wie wir unsere Datenbanken besser strukturieren können, um das Potenzial für Anomalien beim Einfügen und Löschen von Updates zu beseitigen und den Prozess der Verwendung dieser Datenbanken zu beschleunigen. Schauen wir uns also ein einfaches Beispiel an, das uns zeigt oder uns in die richtige Richtung führt. Hier haben wir also einen Tisch und dies ist eine Tabelle mit Artikeln, die in einem Bekleidungsgeschäft verkauft werden, und wir haben Shorts, Jeans und lange Hosen, die verkauft werden. Wir haben sie in verschiedenen Farben und Preisen und Steuern. Kannst du etwas falsch mit dieser Tabelle sehen? Nun, als erstes sehen wir sofort, dass diese Tabelle in der Farbspalte doppelte Farben hat, also manchmal nur einen Wert. Oder in diesem Fall und alle Zeilen haben zwei Werte anstelle von einem so gelb grün blau schwarz gelb grün und blau braun Also das ist ein potentielles Fehlerrecht. Wir wollen also nur einen Wert in unseren Spalten in einer Datenbank, anstatt manchmal zwei Werte zu haben, manchmal einen, manchmal drei. Wir sehen also sofort, dass es sich nicht richtig anfühlt, dass dort etwas schief gehen könnte. Was können wir sonst noch sehen, das hier möglicherweise falsch sein könnte? Wenn wir genau hinschauen, werden wir sehen, dass diese beiden Zeilen identisch sind. Recht. Und in einer Datenbank möchten wir keine identischen Zeilen haben, da die zweite Zeile in diesem Fall keinen Wert hinzufügt. Das sind also einige offensichtliche Dinge, und in diesem Abschnitt werden wir definitiv lernen, wie wir die Theorie und dieses Design verstehen, die dahinter stehen, wie wir diese offensichtlichen Probleme der Tabelle loswerden wollen. Aber tatsächlich gibt es einige andere Dinge an dieser Tabelle, die nicht so offensichtlich sind, aber auch verbessert werden könnten. Angenommen, wir arbeiten unter der Bedingung, dass die Farbe den Preis in keiner Weise beeinflusst. Die Farbe des Kleidungsstücks in diesem Geschäft ändert also nicht den Preis für das gelbgrüne Schwarz oder für eine andere Farbe, die keine Rolle spielt. Nehmen wir an, wir möchten dieser Tabelle eine neue Rolle hinzufügen. Recht. Nehmen wir also an, wir möchten eine neue Zeile hinzufügen und wir möchten Jeans hinzufügen, die lila sind. Wenn wir nun diese neue Zeile haben möchten, müssen wir alle vier Spalten ausfüllen, die wir müssen Füllen Sie Artikel aus und geben Sie Jeans in der Farbe Lila ein. Dann müssen wir den richtigen Preis eingeben und die Steuer eingeben. Aber die Sache ist, weil Farbe keinen Einfluss auf den Preis hat und daher keinen Einfluss auf die Steuer. Wir wissen bereits, was der Preis und die Steuer sein sollten, weil wir eine Spaltenzeile haben. Mit Jeans schon drin. Wir haben also eine Reihe, die zweite Reihe hat Gene und deshalb wissen wir, dass der Preis 35 und die Steuern 3 50 US-Dollar beträgt. Und daher, wenn wir diese Informationen manuell ausfüllen oder aktualisieren, während wir diese Zeilen in der fünften Zeile unserer Tabelle hinzufügen. Es passieren zwei Dinge. Zuallererst duplizieren wir Informationen, um Arbeiten auszuführen, die nicht notwendig sind. Diese Informationen sind bereits in unserer Datenbank vorhanden. Es hat keinen Sinn, dass wir diese Informationen tatsächlich schreiben, und es ist zusätzliche Arbeit, die wir ausführen, die Zeit in Anspruch nimmt, Ressourcen in Anspruch nimmt und den Prozess im Allgemeinen verlangsamt. Und die zweite Sache, die passiert, ist, dass es ein Fehlerpotential gibt. Richtig, wir wissen bereits, dass der Preis fünfunddreißig Dollar beträgt und die Steuer für Jeans 3 50 beträgt. Aber in diesem Fall, wenn Sie diese Zeile in Was, wenn wir den falschen Preis oder den falschen Steuersatz angeben. Warum schaffen Sie dieses zusätzliche Fehlerpotential? Das ist also eine andere Art von Dingen, die in der Datenbank nicht so offensichtlich sind, und wir werden uns im gesamten Abschnitt damit befassen, wie Sie diese Dinge verstehen und wie Sie Ihre Datenbanken so strukturieren und gestalten, dass dies verhindert wird Ereignis. Die offensichtliche Frage ist hier, warum Kirill, warum wir etwas über das Datenbankdesign lernen müssen. Wir sind Datenwissenschaftler. Dies ist der Bereich der Datenbankadministratoren und Dateningenieure sowie der Datenarchitekten und der Verwalter der Daten. Nun, der Grund dafür ist ziemlich einfach. Es gibt also tatsächlich ein paar Gründe. Zunächst werde ich Ihnen hier vier Gründe nennen. Wenn Sie zunächst etwas über Datenbankdesign lernen und diesen Abschnitt des Kurses durcharbeiten, müssen Sie diesen Abschnitt auf keinen Fall durchlaufen. Sie können ihn einfach überspringen und haben wahrscheinlich eine gute Karriere in der Datenwissenschaft. Aber wenn Sie diese Dinge wissen, wird dies Ihre Karriere wirklich fördern und Ihnen helfen, ein viel kompetenterer Datenwissenschaftler zu sein, und warum ist das so? Zunächst einmal werden Sie verstehen, warum andere Datenbanken, mit denen Sie arbeiten, auf eine bestimmte Weise entworfen wurden. Sie werden nicht nur besser verstehen, wie sie funktionieren, sondern auch genau, warum dies passiert ist und wie die Überlegungen dazu ausgingen. Zweitens werden Sie verstehen, wie Sie sich in dieser Datenbank zurechtfinden. Schon durch die sofortige Einführung in eine neue Datenbank kennen Sie einige sehr kurze Erkundungsarbeiten. Sie werden feststellen können, welche Art von Struktur diese Datenbank hat, und können sie daher besser navigieren, da Sie alle diese Vorlagen kennen und wir uns mit ihnen befassen werden. Und als nächstes ist dies Punkt Nummer drei. Sie werden in der Lage sein, potenzielle Schwachstellen und Fehler in den Datenbanken, mit denen Sie arbeiten, zu verstehen. Recht. Auf diese Weise wissen Sie, worauf Sie achten müssen, und können Empfehlungen abgeben, wie Sie diese Probleme beheben können. Dies ist eine zusätzliche Fähigkeit, die nur wenige Menschen können. Leute, die diese Dinge nicht kennen, werden diese Empfehlungen nicht verstehen und aussprechen können. Und schließlich Punkt 4: Sie können effektiv mit den Datenverwaltern kommunizieren, dh den Datenbankadministratoren, den Datenbankarchitekten, den Datenbankingenieuren und im Grunde jedem, der hinter dem Datenbankdesign steht und der täglich mit der Datenbank arbeitet. Eine effektive Kommunikation hilft Ihnen, schneller Ergebnisse zu erzielen. Das sind einige wesentliche Gründe, warum Sie diesen Abschnitt durchgehen und diese Dinge lernen sollten. Und außerdem macht es wirklich Spaß, und ich freue mich sehr, dieses Wissen mit Ihnen zu teilen. Wenn Sie an Bord sind, freue ich mich darauf, Sie im nächsten Tutorial zu sehen. Und bis zum nächsten Mal viel Spaß beim Analysieren.