Sie "zeichnen" Entitätsbeziehungen in Datenbanken nicht direkt. Sie * modellieren sie mithilfe eines visuellen Tools (wie einem Zeichnungsprogramm oder einer dedizierten Datenbankdesign -Software) und übersetzen dieses Modell dann in das Schema der Datenbank (die tatsächliche Datenbankstruktur). Die visuelle Darstellung wird als Entitätsbeziehungsdiagramm (ERD) bezeichnet.
So repräsentieren Sie Entitätsbeziehungen in ERDs zusammen mit der entsprechenden Datenbankimplementierung:
1. Entitäten:
* Darstellung: Rechtecke. Jedes Rechteck repräsentiert eine Entität (ein Ding oder ein Konzept) wie "Kunden", "Order", "Produkt".
* Datenbankimplementierung: Diese werden zu Tabellen in Ihrer Datenbank. Jede Tabelle enthält Spalten (Attribute), die die Eigenschaften der Entität darstellen.
Beispiel:
`` `
+----------++-----------+
| Kunde | | Bestellung |
+----------++-----------+
| CustID | | Orderid |
| Name | | CustID |
| Adresse | | Orderdate |
+----------++-----------+
`` `
2. Attribute:
* Darstellung: Ovale, die mit dem Rechteck verbunden sind, das die Entität darstellt. Diese beschreiben die Eigenschaften der Entität (z. B. "Name", "Adresse", "OrderID", "OrderDate"). Sie können auch Datentypen angeben (z. B. `int`,` varchar`, `date`).
* Datenbankimplementierung: Diese werden Spalten in den entsprechenden Datenbanktabellen. Der Datentyp in den ovalen Karten zum Datentyp der Spalte in der Datenbank.
3. Beziehungen:
* Darstellung: Leitungen, die die Entitätsrechtecke verbinden. Die Art der Zeile und die zugehörigen Symbole geben die Art der Beziehung an:
* Eins-zu-eins (1:1): Eine einzelne Instanz einer Einheit hängt mit höchstens einer Instanz einer anderen Entität (z. B. einer Person und ihres Pass) zusammen. Oft mit einer Linie mit einer "1" an jedem Ende oder manchmal einer besonderen Notation wie einer Linie, die in einem Diamanten an der einseitigen Seite endet.
* Eins-zu-Many (1:m) oder viele zu eins (m:1): Eine Instanz eines Unternehmens bezieht sich auf viele Fälle eines anderen Unternehmens (z. B. kann ein Kunde viele Bestellungen haben). Dargestellt durch eine Linie mit "1" an einem Ende und "m" (oder Krähenfußnotation - ein dreizackiges Symbol) auf der anderen Seite.
* Viele zu viele (m:n): Viele Fälle einer Einheit beziehen sich auf viele Fälle einer anderen Entität (z. B. können viele Studenten viele Kurse belegen). Dargestellt durch eine Linie mit "M" an beiden Enden. Dies erfordert in der Datenbankimplementierung normalerweise eine Anschluss Tabelle (oder Brückentabelle).
Beispiel:Eins-zu-Viele (Kunde zu Bestellungen)
`` `
+----------+--------------+
| Kunde | |
+----------+--------------+
| CustID | 1 |
| Name | |
| Adresse | ------------- | m
+ ----------+ |
|
V
+-----------+
| Bestellung |
+-----------+
| Orderid |
| CustID |
| Orderdate |
+-----------+
`` `
Beispiel:Viele zu viele (Studenten und Kurse)
`` `
+----------++-----------+
| Student | | Kurs |
+----------++-----------+
| Studid | -------- m | CursId |
| Name | | | Name |
+ ----------+ | +-----------+
|
| M -------- 1
V
+-------------------+
| Studentscourse |
+-------------------+
| Studid |
| CursId |
+-------------------+
`` `
4. Kardinalität und Teilnahme:
* Kardinalität: Die Anzahl der Fälle einer Entität, die mit einem anderen zusammenhängt (dargestellt durch "1" oder "m").
* Teilnahme: Ob die Teilnahme an der Beziehung obligatorisch oder optional ist (in einigen ERD -Notationen mit unterschiedlichen Symbolen in den Zeilen, wie z. B. einem Kreis für optional).
Datenbankimplementierung (SQL -Beispiel):
Für das Beispiel für Kunden- (1:m) werden Sie zwei Tabellen erstellen:
`` `SQL
Tischkunde erstellen (
CustID INT -Primärschlüssel,
Name Varchar (255),
Adress varchar (255)
);
Tabellenreihenfolge erstellen (
Orderid int Primärschlüssel,
CustID int,
Orderdate Datum,
Ausländer Key (CustID) Referenzen Kunde (CUSID)
);
`` `
Die Einschränkung der "Fremd Key" in der Tabelle "Order" erzwingt die Beziehung. Jedes "OrderID" hat einen "CustId", und dieses "CustId" muss in der Tabelle "Kunden" vorhanden sein.
Für das vielen-zu-viele-Beispiel haben Sie drei Tische (Studenten, Kurse und Studentscourse). Die "StudentCourse" -Tisch ist die Junction/Bridge -Tabelle, die Schüler mit Kursen verbindet.
Zusammenfassend erstellen Sie die ERD visuell, um Ihre Datenbank zu entwerfen und Entitäten, Attribute und Beziehungen anzuzeigen. Anschließend übersetzen Sie dieses visuelle Modell mithilfe von SQL (oder einer anderen Datenbanksprache) in das tatsächliche Datenbankschema, um Tabellen zu erstellen, Spalten zu definieren und Einschränkungen für die Durchsetzung der Beziehungen festzulegen. Viele Datenbankdesign -Tools generieren SQL für Sie direkt aus der ERD.