E.F. Codd schlug das relationale Modell vor, um Daten in Form von Beziehungen oder Tabellen zu modellieren. Nach dem Entwurf des konzeptionellen Modells der Datenbank unter Verwendung von ER-Diagramm , müssen wir das konzeptionelle Modell in ein relationales Modell umwandeln, das mit jedem implementiert werden kann RDBMS Sprache wie Oracle SQL, MySQL usw. Wir werden also sehen, was das relationale Modell ist.
Das relationale Modell verwendet eine Sammlung von Tabellen, um sowohl Daten als auch die Beziehungen zwischen diesen Daten darzustellen. Jede Tabelle hat mehrere Spalten und jede Spalte hat einen eindeutigen Namen. Tabellen werden auch Relationen genannt. Das relationale Modell ist ein Beispiel für ein datensatzbasiertes Modell. Datensatzbasierte Modelle werden so genannt, weil die Datenbank in Datensätzen verschiedener Typen mit festem Format strukturiert ist. Jede Tabelle enthält Datensätze eines bestimmten Typs. Jeder Datensatztyp definiert eine feste Anzahl von Feldern oder Attributen. Die Spalten der Tabelle entsprechen den Attributen des Datensatztyps. Das relationale Datenmodell ist das am weitesten verbreitete Datenmodell und die überwiegende Mehrheit der aktuellen Datenbanksysteme basiert auf dem relationalen Modell.
Was ist das relationale Modell?
Das relationale Modell stellt dar, wie Daten in relationalen Datenbanken gespeichert werden. Eine relationale Datenbank besteht aus einer Sammlung von Tabellen, denen jeweils ein eindeutiger Name zugewiesen ist. Betrachten Sie eine Beziehung STUDENT mit den in der Tabelle gezeigten Attributen ROLL_NO, NAME, ADDRESS, PHONE und AGE.
Tischstudent
| ROLL_NR | NAME | ADRESSE | TELEFON | ALTER |
|---|---|---|---|---|
| 1 | RAM | DELHI | 9455123451 | 18 |
| 2 | RAMESH | GURGAON | 9652431543 | 18 |
| 3 | SUJIT | ROHTAK | 9156253131 | zwanzig |
| 4 | SICHER | DELHI | 18 |
endliche Zustandsmaschine
Wichtige Terminologien
- Attribut: Attribute sind die Eigenschaften, die eine Entität definieren. z.B.; ROLL_NR , NAME ADRESSE
- Beziehungsschema: Ein Relationsschema definiert die Struktur der Relation und stellt den Namen der Relation mit seinen Attributen dar. z.B.; STUDENT (ROLL_NO, NAME, ADDRESS, PHONE und AGE) ist das Beziehungsschema für STUDENT. Wenn ein Schema mehr als eine Beziehung hat, wird es als relationales Schema bezeichnet.
- Tupel: Jede Zeile in der Beziehung wird als Tupel bezeichnet. Die obige Beziehung enthält 4 Tupel, von denen eines wie folgt dargestellt wird:
| 1 | RAM | DELHI | 9455123451 | 18 |
- Beziehungsinstanz: Die Menge der Tupel einer Relation zu einem bestimmten Zeitpunkt wird Relationsinstanz genannt. Tabelle 1 zeigt die Beziehungsinstanz von STUDENT zu einem bestimmten Zeitpunkt. Sie kann sich jedes Mal ändern, wenn in der Datenbank etwas eingefügt, gelöscht oder aktualisiert wird.
- Grad: Die Anzahl der Attribute in der Beziehung wird als Grad der Beziehung bezeichnet. Der STUDENT Die oben definierte Beziehung hat den Grad 5.
- Kardinalität: Die Anzahl der Tupel in einer Beziehung wird als bezeichnet Kardinalität . Der STUDENT Die oben definierte Beziehung hat die Kardinalität 4.
- Spalte: Die Spalte stellt den Wertesatz für ein bestimmtes Attribut dar. Die Kolumne ROLL_NR wird aus der Relation STUDENT extrahiert.
| ROLL_NR |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
- NULL-Werte: Der Wert, der nicht bekannt oder nicht verfügbar ist, wird als NULL-Wert bezeichnet. Es wird durch Leerzeichen dargestellt. z.B.; PHONE des STUDENTS mit ROLL_NO 4 ist NULL.
- Beziehungsschlüssel: Dies sind im Grunde die Schlüssel, die zur eindeutigen Identifizierung der Zeilen dienen oder auch bei der Identifizierung von Tabellen helfen. Dabei handelt es sich um folgende Typen.
- Primärschlüssel
- Kandidatenschlüssel
- Superschlüssel
- Unbekannter Schlüssel
- Alternativer Schlüssel
- Zusammengesetzter Schlüssel
Einschränkungen im relationalen Modell
Beim Entwerfen des relationalen Modells definieren wir einige Bedingungen, die für in der Datenbank vorhandene Daten gelten müssen, sogenannte Einschränkungen. Diese Einschränkungen werden überprüft, bevor eine Operation (Einfügung, Löschung und Aktualisierung) in der Datenbank ausgeführt wird. Bei einem Verstoß gegen eine der Einschränkungen schlägt der Vorgang fehl.
abstrakte Klasse vs. Schnittstelle
Domänenbeschränkungen
Dabei handelt es sich um Einschränkungen auf Attributebene. Ein Attribut kann nur Werte annehmen, die innerhalb des Domänenbereichs liegen. z.B.; Wenn eine Einschränkung AGE>0 auf die Beziehung STUDENT angewendet wird, führt das Einfügen eines negativen Werts für AGE zu einem Fehler.
Schlüsselintegrität
Jede Beziehung in der Datenbank sollte mindestens einen Satz von Attributen haben, der ein Tupel eindeutig definiert. Dieser Satz von Attributen wird als Schlüssel bezeichnet. z.B.; ROLL_NO in STUDENT ist der Schlüssel. Es dürfen keine zwei Schüler die gleiche Rollennummer haben. Ein Schlüssel hat also zwei Eigenschaften:
- Es sollte für alle Tupel eindeutig sein.
- Es kann keine NULL-Werte haben.
Referenzielle Integrität
Wenn ein Attribut einer Relation nur Werte von einem anderen Attribut derselben Relation oder einer anderen Relation annehmen kann, wird es aufgerufen referenzielle Integrität . Nehmen wir an, wir haben zwei Beziehungen
Tischstudent
| ROLL_NR | NAME | ADRESSE | TELEFON | ALTER | BRANCHENCODE |
|---|---|---|---|---|---|
| 1 | RAM | DELHI | 9455123451 | 18 | CS |
| 2 | RAMESH | GURGAON | 9652431543 | 18 | CS |
| 3 | SUJIT | ROHTAK | 9156253131 | zwanzig | ECE |
| 4 | SICHER | DELHI | 18 | ES |
Tischzweig
| BRANCHENCODE | ZWEIGNAME |
|---|---|
| CS | INFORMATIK |
| ES | INFORMATIONSTECHNOLOGIE |
| ECE | ELEKTONIK-UND KOMMUNIKATIONSTECHNIK |
| Lebenslauf | BAUINGENIEURWESEN |
BRANCH_CODE von STUDENT kann nur die Werte annehmen, die in BRANCH_CODE von BRANCH vorhanden sind, was als referenzielle Integritätsbeschränkung bezeichnet wird. Die Relation, die auf eine andere Relation verweist, heißt REFERENCING RELATION (in diesem Fall STUDENT) und die Relation, auf die sich andere Relationen beziehen, heißt REFERENCED RELATION (in diesem Fall BRANCH).
Zahlen im Alphabet
Anomalien im relationalen Modell
Ein Anomalie ist eine Unregelmäßigkeit oder etwas, das vom erwarteten oder normalen Zustand abweicht. Beim Entwerfen von Datenbanken identifizieren wir drei Arten von Anomalien: Einfügen, Aktualisieren und Löschen.
Einfügungsanomalie in der Referenzierungsbeziehung
Wir können keine Zeile in REFERENCING RELATION einfügen, wenn der Wert des referenzierenden Attributs nicht im referenzierten Attributwert vorhanden ist. z.B.; Das Einfügen eines Studenten mit BRANCH_CODE „ME“ in die STUDENT-Relation führt zu einem Fehler, da „ME“ im BRANCH_CODE von BRANCH nicht vorhanden ist.
Lösch-/Aktualisierungsanomalie in der referenzierten Beziehung:
Wir können eine Zeile aus REFERENCED RELATION nicht löschen oder aktualisieren, wenn der Wert von REFERENCED ATTRIBUTE im Wert von REFERENCING ATTRIBUTE verwendet wird. z.B; Wenn wir versuchen, ein Tupel aus BRANCH mit BRANCH_CODE „CS“ zu löschen, führt dies zu einem Fehler, da „CS“ durch BRANCH_CODE von STUDENT referenziert wird. Wenn wir jedoch versuchen, die Zeile aus BRANCH mit BRANCH_CODE CV zu löschen, wird sie gelöscht da der Wert nicht von der Referenzierungsbeziehung verwendet wird. Es kann mit der folgenden Methode behandelt werden:
abstrakte Klasse
Auf Kaskade löschen
Die Tupel werden aus REFERENCING RELATION gelöscht, wenn der von REFERENCING ATTRIBUTE verwendete Wert aus REFERENCED RELATION gelöscht wird. z.B.; Wenn wir nämlich eine Zeile aus BRANCH mit BRANCH_CODE „CS“ löschen, werden die Zeilen in der STUDENT-Beziehung mit BRANCH_CODE CS (in diesem Fall ROLL_NO 1 und 2) gelöscht.
Auf Update-Kaskade
Es aktualisiert das REFERENCING ATTRIBUTE in REFERENCING RELATION, wenn der von REFERENCING ATTRIBUTE verwendete Attributwert in REFERENCED RELATION aktualisiert wird. Wenn wir beispielsweise eine Zeile von BRANCH mit BRANCH_CODE „CS“ auf „CSE“ aktualisieren, werden die Zeilen in der STUDENT-Beziehung mit BRANCH_CODE CS (in diesem Fall ROLL_NO 1 und 2) mit BRANCH_CODE „CSE“ aktualisiert.
Superschlüssel
Jeder Satz von Attributen, der es uns ermöglicht, eindeutige Zeilen (Tupel) in einer bestimmten Beziehung zu identifizieren, wird als Superschlüssel bezeichnet. Aus diesen Superschlüsseln können wir immer eine geeignete Teilmenge auswählen, die als Primärschlüssel verwendet werden kann. Solche Schlüssel werden als Kandidatenschlüssel bezeichnet. Wenn es eine Kombination aus zwei oder mehr Attributen gibt, die als Primärschlüssel verwendet werden, nennen wir es einen zusammengesetzten Schlüssel.
Codd-Regeln im relationalen Modell
Edgar F. Codd schlug das relationale Datenbankmodell vor, in dem er Regeln festlegte. Nun sind diese als Codd-Regeln bekannt. Damit jede Datenbank perfekt ist, muss sie den Regeln folgen.
Weitere Informationen finden Sie unter Codd-Regeln im relationalen Modell .
Vorteile des relationalen Modells
- Einfaches Modell: Das relationale Modell ist im Vergleich zu anderen Sprachen einfach und benutzerfreundlich.
- Flexibel: Das relationale Modell ist flexibler als jedes andere vorhandene relationale Modell.
- Sicher: Das relationale Modell ist sicherer als jedes andere relationale Modell.
- Datengenauigkeit: Im relationalen Datenmodell sind die Daten genauer.
- Datenintegrität: Die Integrität der Daten bleibt im relationalen Modell erhalten.
- Operationen können einfach angewendet werden: Es ist besser, Operationen im relationalen Modell durchzuführen.
Nachteile des relationalen Modells
- Das relationale Datenbankmodell eignet sich nicht sehr gut für große Datenbanken.
- Manchmal ist es schwierig, die Beziehung zwischen Tabellen zu finden.
- Aufgrund der komplexen Struktur ist die Reaktionszeit bei Anfragen hoch.
Merkmale des relationalen Modells
- Daten werden in Zeilen und Spalten dargestellt, die als Beziehungen bezeichnet werden.
- Daten werden in Tabellen mit Beziehungen zwischen ihnen gespeichert, die als relationales Modell bezeichnet werden.
- Das relationale Modell unterstützt Vorgänge wie Datendefinition, Datenmanipulation und Transaktionsverwaltung.
- Jede Spalte hat einen eindeutigen Namen und stellt Attribute dar.
- Jede Zeile stellt eine einzelne Entität dar.