Entity-Relationship-Modellierung
- Starker Bezug zum relationalen Datenmodell
- Abstraktere Beschreibung von relationalen Strukturen
- Transformation in das relationale Modell
- Datenmodellierungstechnik, basierend auf
- Klassifikation von Objekten
- Klassifikation von Beziehungen zwischen Objekten
- Wurde Mitte der 70er Jahre entwickelt
- Verschiedene Variationen
- Werkzeugunterstützung
Klassifikation von Objekten
- Entitätstypen klassifizieren Objekte
- Haben Identifikator
- Beinhalten Attribute, die die Objekte beschreiben
- Haben Datentypen
- Können optional oder notwendig sein
- Haben einen intensionalen und extensionalen Charakter
- Intensional: Struktur, d.h.die intendierte Form der Informationen
- Extensional: Menge der Objekte zu einem Zeitpunkt, Datenbankzustand
Entitätstyp und Extension
Klassifikation von Beziehungen
- Beziehungstypen klassifizieren Beziehungen
- Graphische Darstellung von Kardinalitäten
- Kardinalität 1: 0..1 oder 1
- Kardinalität N: 0..* oder 1..*
- Hinweis: Keine Fremdschlüsselspalte in Lehrperson
- Wird bei der Übersetzung ins relationale Modell erzeugt
Beziehungstyp und Extension
Kardinalitäten - Bedeutung
Min-Max-Notation
| Entitätstyp |
Min..Max |
Beschreibung |
Bedeutung |
| Lehrperson |
0..* |
Eine Lehrperson kann minimal mit 0 Gebäuden verbunden sein
Maximal N Lehrpersonen können mit einem Gebäude verbunden sein
|
Eine Lehrperson muss kein Büro in einem Gebäude haben
Viele Lehrpersonen können ein Büro im selben Gebäude haben
|
| Lehrperson |
1..* |
Eine Lehrperson muss minimal mit 1 Gebäuden verbunden sein
Maximal N Lehrpersonen können mit einem Gebäude verbunden sein
|
Eine Lehrperson muss ein Büro in einem Gebäude haben
Viele Lehrpersonen können ein Büro im selben Gebäude haben
|
| Gebaeude |
0..1 |
Ein Gebäude kann minimal mit 0 Lehrpersonen verbunden sein
Maximal 1 Gebäude kann mit einer Lehrpersonen verbunden sein
|
Ein Gebäude muss kein Büro für eine Lehrperson haben
Eine Lehrperson kann nicht Büros in mehreren Gebäuden haben
|
| Gebaeude |
1 |
Ein Gebäude muss minimal mit 1 Lehrpersonen verbunden sein
Maximal 1 Gebäude kann mit einer Lehrpersonen verbunden sein
|
Ein Gebäude muss ein Büro für mindestens eine Lehrperson haben
Eine Lehrperson kann nicht Büros in mehreren Gebäuden haben
|
Interaktiv diskutieren - Beispiel-Datei öffnen
Kardinalitäten - Beispiele
| one-to-one |
one-to-many |
many-to-many |
| 1---1 |
1---1..* |
1..*---1..* |
| 0..1---1 |
0..1---1..* |
0..*---1..* |
| 1---0..1 |
1---0..* |
1..*---0..* |
| 0..1---0..1 |
0..1---0..* |
0..*---0..* |
Diskussion Beispiele
- Produkt / Lieferant
- Bestellung / Bestellposition
- Mietvertrag / Schlüssel
- Kunde / Schliessfach
- Student/in / Modul
- Raum / Gebäude
- Paket / Empfänger
- Person / Geburtsurkunde
- Arzt / Krankenhaus
- Patient / Raum
ER nach Rel: optional many / optional one
CREATE TABLE Lehrperson (
LPID INTEGER NOT NULL,
Name VARCHAR(100) NOT NULL,
EMail VARCHAR(100),
GID INTEGER,
PRIMARY KEY (LPID)
);
CREATE TABLE Gebaeude (
GID INTEGER NOT NULL,
Bez VARCHAR(50) NOT NULL,
PRIMARY KEY (GID)
);
ALTER TABLE Lehrperson
ADD CONSTRAINT fk_hat_buero_in FOREIGN KEY (GID) REFERENCES Gebaeude (GID);
ER nach Rel: many / optional one
CREATE TABLE Lehrperson (
LPID INTEGER NOT NULL,
Name VARCHAR(100) NOT NULL,
EMail VARCHAR(100),
GID INTEGER NOT NULL,
PRIMARY KEY (LPID)
);
CREATE TABLE Gebaeude (
GID INTEGER NOT NULL,
Bez VARCHAR(50) NOT NULL,
PRIMARY KEY (GID)
);
ALTER TABLE Lehrperson
ADD CONSTRAINT fk_hat_buero_in FOREIGN KEY (GID) REFERENCES Gebaeude (GID);
ER nach Rel: optional many / optional many
CREATE TABLE Lehrperson (
LPID INTEGER NOT NULL,
Name VARCHAR(100) NOT NULL,
EMail VARCHAR(100),
PRIMARY KEY (LPID)
);
CREATE TABLE Gebaeude (
GID INTEGER NOT NULL,
Bez VARCHAR(50) NOT NULL,
PRIMARY KEY (GID)
);
CREATE TABLE hat_buero_in (
LPID INTEGER NOT NULL,
GID INTEGER NOT NULL,
PRIMARY KEY (LPID, GID)
);
ALTER TABLE hat_buero_in
ADD CONSTRAINT fk_hat_buero_in_Lehrperson FOREIGN KEY (LPID) REFERENCES Lehrperson (LPID);
ALTER TABLE hat_buero_in
ADD CONSTRAINT fk_hat_buero_in_Gebaeude FOREIGN KEY (GID) REFERENCES Gebaeude (GID);
Anforderungen ER-Modell Hochschule
- Diese sind nicht vollständig
- Sie sind auch nicht präzise
- Sie dienen lediglich als Grundlage für die VL und Ü
Bereiche der Modellierung
- Personen
- Standorte
- Akademische Struktur
- Lehre
- Prüfungen
- Bibliothek
Personen
- Unterschiedliche Personengruppen mit unterschiedlichen Aufgaben
- Studendierende sind Studiengängen zugeordnet, studieren nach einer Studienordnung, nehmen an Lehrveranstaltungen teil, machen Prüfungen
- Lehrpersonen halten Lehrveranstaltungen, führen Prüfungen durch
- Lehrpersonen (Rollen): Professoren, akademische Mitarbeiter, Lehrbeauftragte
- Rollen gelten für bestimmte Zeiträume
Standorte
- Eine Hochschule umfasst mehrere Standorte
- Ein Standort umfasst Gebäude
- Ein Gebäude enthält Räume
- Räume haben verschiedene Raumarten
- Räume haben Ausstattungsmerkmale, z.B. Whiteboard, Beamer
Akademische Struktur
- Eine Hochschule setzt sich aus Fachbereichen zusammen
- Ein Fachbereich beinhaltet Studiengänge
- Ein Studiengang hat mehrere Studienordnungen
- Studienordnungen legen Module und deren Regelsemester fest
- Module können Pflicht, Wahlpficht und Wahl sein
- Module haben Bestandteile, z.B. Vorlesung, Übung
- Bestandteile haben einen zeitlichen Umfang (SWS)
Lehre
- Studierende belegen Module
- Module werden semesterweise durchgeführt
- Module können im Semester mehrfach angeboten werden (Züge, Gruppen)
- Modulbestandteile finden zu bestimmten Zeiten in festgelegten Räumen statt
- Z.B. wochenweise in bestimmten Zeitbereichen
- Oder zweiwöchentlich, oder als Blockveranstaltung
- Belegungen haben Prioritäten, z.B Studierende mit Kindern
- Oder Belegung im Regelsemester
Prüfungen
- Studierende melden sich zu Prüfungen an
- Prüfungen beziehen sich auf Module
- Haben einen Status, z.B. angemeldet, abgemeldet, durchgeführt
- Haben einen Termin
- Führen zu einer Note
Bibliothek
- Die Bibliothek hat verschiedene Medien, z.B. Bücher, Zeitschriften,
Abschlussarbeiten
- Medien werden Schlagworte zugeordnet
- Zu jedem Medium gibt es Exemplare, die an verschiedenen Standorten stehen können
- Exemplare können zu unterschiedlichen Zeitpunkten beschafft worden sein
- Es gibt mehrere Nutzerklassen, z.B. Studierende, ProfessorInnen
- Für die Nutzerklassen gelten unterschiedliche Ausleihefristen
- Ausleihen können verlängert werden
- Medien können vorbestellt werden
- Bei Fristüberschreitung erfolgt eine Mahnung
Beispieloberfläche
Diskussion Semester
- Ist nicht nur Bezeichnung
- Hat Attribute
- Sollte daher Entitätstyp sein
Module - erster Ansatz
- In einem Semester können viele Module angeboten werden
- Ein Modul kann in vielen Semestern angeboten werden
- Ein Modul kann von vielen Studierenden belegt werden
- Studierende können viele Module belegen
Problem des Ansatzes
- Nicht erkennbar, wer in welchem Semester welches Modul belegt hat
- Verbundoperation würde immer Studierende in allen Semestern liefern
Auflösung des Problems
- Unterscheidung zwischen Modul und Kurs
- Kurs ist die konkrete Durchführung eines Moduls
- Module haben Informationen unabhängig von der Durchführung
- Differenzierung notwendig, um Redundanzen und Inkosistenzen zu vermeiden
Semesterzuordnung von Kursen
Modul- und Kursbestandteile
- Modul PROG1: VL und Ü
- VL 2 SWS und Ü 2 SWS
- Regelsemester ist 1
- Kurs pro Semester
- Belegt wird der Kurs
- Hat 2 VL und 2 Ü
- VL/Ü hat Raum
- Hat Lehrperson
- "Kann lehren" für Planung