Zum Inhalt springen

ERM und Normalisierung


Kuddl

Empfohlene Beiträge

Guten Tag,

ich mache eine schulische Ausbildung zum technischen Assistenten für Informatik, um später eine Ausbildung zum Fachinformatiker/Systemintegration zu machen oder an einer Fachhochschule zu studieren... Ich habe aber leider folgendes Problem... Ich habe bei einer "angeblichen Datenbank-Ikone" Unterricht im Fach "Datebanken erstellen, pflegen und verwalten"... leider kann dieser Lehrer die Thematik nicht richtig vermitteln bzw. verweist immer auf andere Quellen.

Es wäre einfach klasse, wenn mir hier jemand einige Websiten oder andere Quellen nennen könnte, mit deren Hilfe ich mich schnell und verständlich in das Thema "Entity Relationship Model und Normalisierung" einarbeiten kann... am besten anhand von Beispielen!

Danke im Vorraus!

Mit freundlichen Grüßen

Patrick

Link zu diesem Kommentar
Auf anderen Seiten teilen

Jede Entität verfügt über eine Reihe von Attributen, welche die Entität beschreiben. Eine Entität namens course (Kurs) würde die in einem College angebotenen Kurse beschreiben.

Eine Zeile ist eine Einzelinstanz von Attributwerten. Eine Zeile in der Entität course beschreibt z.B. einen einzelnen vom College angebotenen Kurs.

Einige Entitätsattribute identifizieren die einzelnen Reihen dieser Entität eindeutig. Diese Attribute bezeichnet man als Primärschlüssel. Für die Entität, welche die Studenten beschreibt, ist das Attribut student ID (Studenten-Bezeichnung) der Primärschlüssel, da es die einzelnen Studenten eindeutig identifiziert.

Keines der Attribute, die den Primärschlüssel bilden, kann einen Nullwert haben.

Ein Fremdschlüssel ist ein Attribut in einer Entität, dessen Werte als Primärschlüssel in einer anderen Entität vorkommen müssen.

Entitäten werden zueinander in Bezug gesetzt.

Die Reihenfolge der Zeilen innerhalb einer Entität ist beliebig.

Die Reihenfolge der Attribute innerhalb einer Entität ist beliebig.

Eine Tabelle besteht aus Zeilen und Spalten

Aus der Sicht eines Praktikers wird eine Entität als Datenbanktabelle implementiert. Die Attribute einer Entität werden als Tabellenspalten implementiert. Ein einzelner Satz Attribute oder Spaltenwerte wird als Zeile bezeichnet. Die Begriffe Zeile und Datensatz haben dabei dieselbe Bedeutung.

Eine Spalte in einer Datenbanktabelle stellt die Attribute einer Entität dar.

Eine Zeile ist eine einzelne Gruppe von Entitätsattributen oder Spaltenwerten in einer Datenbanktabelle.

Ein Datensatz ist dasselbe wie eine Zeile - es handelt sich um eine einzelne Gruppe von Entitätsattributen oder Spaltenwerten.

Sie können nicht anhand eines Verzeichnisses im Dateisystem feststellen, welche Tabellen in einer Datenbank gespeichert sind, da das RDBMS die interne Struktur seiner Dateien verwaltet. Bei einem Dateiverwaltungssystem wie dBASE wird jede »Tabelle« als separate Datei in einem Verzeichnis gespeichert.

Die Reihenfolge der Zeilen ist beliebig

Ein Grundsatz der Theorie relationaler Datenbanken ist, daß eine Tabelle keine implizite Reihenfolge hat. Die einzige Möglichkeit, die Reihenfolge zu erfahren, in der die Zeilen einer Tabelle abgerufen werden, ist es, diese Reihenfolge vorzugeben. Das Konzept der nichtimpliziten Reihenfolge ist wirksam, da Sie auf diese Weise die Tabellen abstrakt betrachten und in den meisten Fällen die physische Implementierung von Datenbankstrukturen ignorieren können.

Die Reihenfolge der Spalten ist beliebig

Wie die Zeilen einer Tabelle haben auch die Spalten keine implizite Reihenfolge. Wenn Sie für die Ausgabe einer Tabellenbeschreibung SQL verwenden, gibt SQL die Spalten in der Reihenfolge zurück, in der sie erstellt wurden. Sie können allerdings eine beliebige Reihenfolge vorgeben, in der die Spalten abgerufen werden sollen. Darüber hinaus können Sie die Definition einer Spalte ändern, ohne dadurch andere Spalten zu beeinträchtigen. So haben Sie zum Beispiel die Möglichkeit, eine Spalte zu vergrößern, ohne auch nur eine der bestehenden Tabellendefinitionen oder SQL-Anweisungen ändern zu müssen. Die Beachtung der mit der Änderung verbundenen physischen Details ist Aufgabe des Management-Systems für relationale Datenbanken (RDBMS). Eine relationale Datenbank soll für logische Datenunabhängigkeit sorgen, da die Definitionen der einzelnen Spalten voneinander unabhängig sind.

Datenintegrität

Nach der relationalen Theorie verfügt jede Entität über eine Reihe von Attributen, welche die einzelnen Spalten dieser Entität eindeutig identifizieren. Die relationale Theorie sagt auch aus, daß in einer Tabelle keine Zeilen doppelt vorhanden sein können, was ganz einfach bedeutet, daß jede Tabelle einen Primärschlüssel haben muß. Dieses Konzept wird als Datenintegrität bezeichnet. Eindeutig ist zum Beispiel die Sozialversicherungsnummer der einzelnen Mitarbeiter.

Primärschlüssel

Jede Entität verfügt über eine Gruppe von Attributen, welche eine Instanz dieser Entität eindeutig definieren. Diese Attributgruppe wird als Primärschlüssel bezeichnet. Der Primärschlüssel kann sich aus einem einzelnen Attribut - ein Student wird durch Student ID (Studenten-Bezeichnung) eindeutig identifiziert - oder mehreren Attributen - ein Kurs wird sowohl durch Department ID (Fachbereichs-Bezeichnung) als auch Course ID (Kurs-Bezeichnung) eindeutig identifiziert. Manchmal sind die den Primärschlüssel bildenden Attribute offensichtlich, manchmal sind sie es nicht. Um festzustellen, ob Ihre Vorstellungen von einem Primärschlüssel richtig sind, müssen Sie sich vorhandene Daten anschauen. Sie müssen aber auch mit Personen sprechen, welche die Art und Weise kennen, in der die Organisation arbeitet. Verlassen Sie sich bei der Validierung Ihrer Vorstellungen von einem Primärschlüssel nicht nur auf vorhandene Daten.

Ein Primärschlüssel ist eine Gruppe von Attributen, welche eine Zeile eindeutig identifizieren.

Kein Teil des Primärschlüssels hat einen Nullwert

Ein Grundsatz der relationalen Theorie ist, daß kein Teil des Primärschlüssels einen Nullwert haben kann. Wenn Sie eine Weile darüber nachdenken, erscheint diese Tatsache intuitiv klar. Der Primärschlüssel muß die einzelnen Zeilen einer Entität eindeutig bezeichnen; wenn der Primärschlüssel (oder ein Teil davon) einen Nullwert hätte, könnte der Primärschlüssel nichts identifizieren. Ein Kurs, der über keine Course ID verfügt, kann weder identifiziert noch in irgendeiner Weise verarbeitet werden.

Referentielle Integrität

Tabellen werden mit Hilfe von Fremdschlüsseln zueinander in Relation gesetzt. Ein Fremdschlüssel besteht aus einer oder mehreren Spalten, für die eine Gruppe möglicher Werte im Primärschlüssel einer zweiten Tabelle zu finden ist. Referentielle Integrität wird erreicht, wenn die Werte in der Spalte eines Fremdschlüssels auf den referenzierten Primärschlüssel oder auf den Nullwert eingeschränkt werden. Hat der Datenbankentwickler Primär- und Fremdschlüssel erst einmal deklariert, ist die Durchsetzung der Datenintegrität und der referentiellen Integrität Aufgabe des RDBMS.

Ein Fremdschlüssel besteht aus einer oder mehreren Spalten, deren Werte im Primärschlüssel einer anderen Tabelle wiederzufinden sein müssen.

Beziehungen

Die Verbindung zwischen zwei Entitäten wird als Beziehung bezeichnet. In einer Beziehung wird eine Entität als übergeordnet und die andere Entität als untergeordnet identifiziert. Eine Beziehung wird durch folgende Merkmale definiert:

Identifizierend oder nichtidentifizierend: Bei einer nichtidentifizierenden Beziehung bildet der Primärschlüssel der übergeordneten Entität einen Teil des Primärschlüssels der untergeordneten Entität. In einer nichtidentifizierenden Beziehung ist der Primärschlüssel der übergeordneten Entität nicht Teil des Primärschlüssels der untergeordneten Entität.

Kardinalität: Die Kardinalität einer Beziehung wird durch die Anzahl der Zeilen innerhalb der untergeordneten Entität definiert, über welche die übergeordnete Entität verfügen muß. Beispiele für Kardinalitäten sind null, eins oder mehr. Zum Beispiel kann ein Kursleiter, der sich mit Grundlagenforschung beschäftigt, null oder mehrere Klassen unterrichten. Eine Fachabteilung muß jedoch einen oder mehrere Kurse anbieten, andernfalls wäre sie keine Fachabteilung.

Die Kardinalität bezeichnet die Anzahl der Zeilen einer untergeordneten Entität, über die eine einzelne Zeile einer untergeordneten Entität verfügen muß. Die Kardinalität der Beziehung zwischen einer übergeordneten und einer untergeordneten Entität kann erforderlich sein - zum Beispiel darf eine Zeile einer übergeordneten Entität nur eine einzige Zeile in einer untergeordneten Entität haben. Die Kardinalität kann allerdings auch weniger restriktiv sein - eine Zeile in einer übergeordneten Entität kann zum Beispiel null oder mehrere Zeilen in einer untergeordneten Entität besitzen.

Erforderlich oder optional: Eine Beziehung ist erforderlich, wenn eine Zeile in einer übergeordneten Entität über eine gewisse Anzahl von Zeilen in einer untergeordneten Entität verfügen muß. Die Beziehung ist optional, wenn eine Zeile in der übergeordneten Entität ohne damit zusammenhängende Zeilen in der untergeordneten Entität auskommen kann.

Integritätsregeln: Diese Regeln definieren, welche Maßnahmen ergriffen werden müssen, wenn eine Zeile in der übergeordneten oder untergeordneten Entität auf irgendeine Weise geändert wird. Es gibt sechs Möglichkeiten: Eine Zeile der übergeordneten Entität wird hinzugefügt, geändert oder entfernt, oder eine Zeile der untergeordneten Entität wird hinzugefügt, geändert oder entfernt. Für jede dieser Möglichkeiten gibt es mehrere anwendbare Maßnahmen - die Aktion einzuschränken, den Schlüsselwert in der über- oder untergeordneten Entität auf einen Nullwert zu setzen, die Operation in bezug auf die untergeordnete Entität zu kaskadieren oder den Schlüsselwert der über- oder untergeordneten Entität auf einen Standardwert zu setzen.

Das Konzept des Nullwerts

Ein großer Unterschied zwischen einer relationalen Datenbank und der Technologie älterer Datenbanken liegt im Konzept des Nullwerts. In einer nichtrelationalen Datenbank gibt ein bestimmter Wert das Fehlen eines Werts in einem Zeichenfeld oder einem numerischen Feld an.

Das Wort Null gibt an, daß der Wert einer Spalte oder eines Ausdrucks nicht verfügbar ist oder nicht zugewiesen wurde.

In einer relationalen Datenbank stellt der Nullwert einer Spalte verschiedene Konzepte dar:

Ein Wert für diese Spalte ist für die betreffende Zeile nicht verfügbar.

Der Spalte wurde noch kein Wert zugewiesen.

In einer relationalen Datenbank können Sie den Wert einer Spalte auf null setzen oder eine Spalte daraufhin prüfen, ob ihr Wert null ist.

mfg Bernd

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...