Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung |
faecher:informatik:oberstufe:datenbanken:er_modelle_praxis:start [06.11.2024 08:53] – [Aufgaben] Marco Kuemmel | faecher:informatik:oberstufe:datenbanken:er_modelle_praxis:start [22.04.2025 08:21] (aktuell) – [Fremdschlüssel] Frank Schiebel |
---|
möglich sind. Jeder Schüler muss sich nur eine Information merken, was einfacher zu verwalten ist, als | möglich sind. Jeder Schüler muss sich nur eine Information merken, was einfacher zu verwalten ist, als |
wenn jeder Lehrer sich alle seine Schüler merken müsste. | wenn jeder Lehrer sich alle seine Schüler merken müsste. |
| |
| Eine Konvention legt fest, dass man im ER-Diagramm Fremdschlüsselattribute nicht als "Attributblase" angibt. |
| |
==== Aufgaben ==== | ==== Aufgaben ==== |
++++ Lösungen | | ++++ Lösungen | |
| |
++ ER-Diagramm | {{ :faecher:informatik:oberstufe:datenbanken:er_modelle_praxis:lsg_a1_erdiagramm.png |}} ++ | ++ ER-Diagramm | {{ :faecher:informatik:oberstufe:datenbanken:er_modelle_praxis:lsgschule.drawio.png |}} Im ER-Diagramm werden Fremdschlüsselattribute nicht eingetragen. ++ |
| |
++ Wie wird die Relation hergestellt? | Die Relation wird hergestellt durch Verknüpfung von Fremd-- zu Primärschlüssel. Der Fremdschlüssel ist das Tabellenfeld KLNummer in der Tabelle Schüler, der Primärschlüssel ist das Feld LNummer in der Tabelle lehrer. Die Verknüpfung wird realisisert durch die Bedingung "Ist schuler.KLNummer = lehrer.LNummer?". LNachname ist ungeeignet, da er ziemlich sicher nicht eindeutig ist. (Müller, Maier, Eissler) | |
| |
{{ :faecher:informatik:oberstufe:datenbanken:er_modelle_praxis:lsg_a1_verkn.png |}} ++ | ++ Wie wird die Relation hergestellt? | Die Relation wird hergestellt durch Verknüpfung von Fremd-- zu Primärschlüssel. Der Fremdschlüssel ist das Tabellenfeld KLNummer in der Tabelle Schüler, der Primärschlüssel ist das Feld LNummer in der Tabelle lehrer. LNachname ist ungeeignet, da er ziemlich sicher nicht eindeutig ist. (Müller, Maier, Eissler) |
| ++ |
| |
++ Eigenschaften des Primärschlüssels/Probleme bei Änderungen | EinNeuer Lehrer muss eine neue LNummer erhalten,die es noch niemals gab. Die LNummer 2 sollte niemals wieder vergeben werden. Wenn die Nummer nicht mehr existiert, erhält man als Ergebnis "existiert nicht", andernfalls erhält man falsche Daten. Idealerweise kann man der Datenbank mitteilen, was mit den zur LNummer 2 gehörenden Fremdschlüssel passieren soll, wenn der Datensatz mit dem Primärschlüssel 2 gelöscht wird. Der Fachbegriff dafür ist "Constraint". ++ | ++ Eigenschaften des Primärschlüssels/Probleme bei Änderungen | Ein neuer Lehrer muss eine neue LNummer erhalten,die es noch niemals gab. Die LNummer 2 sollte niemals wieder vergeben werden. Wenn die Nummer nicht mehr existiert, erhält man als Ergebnis "existiert nicht", andernfalls erhält man falsche Daten. Idealerweise kann man der Datenbank mitteilen, was mit den zur LNummer 2 gehörenden Fremdschlüssel passieren soll, wenn der Datensatz mit dem Primärschlüssel 2 gelöscht wird. Der Fachbegriff dafür ist "Constraint". ++ |
| |
++ Weitere "Modularisierung" | Man könnte die Klassen als weitere Entität einführen: | ++ Weitere "Modularisierung" | Man könnte die Klassen als weitere Entität einführen: |
Importiere die Datenbank {{ :faecher:informatik:oberstufe:datenbanken:er_modelle_praxis:webshop.zip|webshop}} in deinen mysql-Datenbankbereich. | Importiere die Datenbank {{ :faecher:informatik:oberstufe:datenbanken:er_modelle_praxis:webshop.zip|webshop}} in deinen mysql-Datenbankbereich. |
| |
===== Dateien ===== | ===== Material ===== |
| |
| * [[https://slides.info-bw.de/fs-wiki-db-er-modelle-2/|Präsentation: ER-Modelle in der Praxis]] [[https://slides.info-bw.de/fs-wiki-db-er-modelle-2/?print-pdf|(PDF)]]((Link öffnen, dann aus dem Browser in ein PDF drucken)) [[https://codeberg.org/slides-fs/fs-wiki-db-er-modelle-2|(Code)]] |
| |
{{simplefilelist>.:*}} | |