Datenbank Forum - für Anfänger und Profis

Willkommen im Datenbank Forum von Datenbanken-verstehen.de - Das Datenbank, Data Warehouse & Business Intelligence Forum!

Das Datenbank Forum für Anfänger und Profis ist eine Community zu den Themen Datenbanken, Data Warehouse & Business Intelligence. Nimm teil an der Community von Datenbanken-verstehen.de und tausch dich mit deinen Fragen und Lösungen mit anderen Nutzern aus.

Als registrierter Benutzer genießt Du viele Vorteile, wie

  • den vollen Zugang zu allen Foren und Unterforen
  • Kostenloses Lernmaterial inkl. Lösungen zum Thema Datenbanken
  • Zugriff auf DB-Tutorials, Best Practices und SQL-Snippets

Bevor Du einen Beitrag verfassen möchtest, kannst Du dich einfach kostenlos registrieren.

oder Einloggen mit



Beachte bitte die Forenregeln von Datenbanken-verstehen.de. Wir wünschen Dir viel Spaß im Datenbank Forum! - Dein Datenbanken-verstehen.de-Team

Fragebogen -> Datenbank-Modellierung

Ein gutes Datenbankdesign ist Pflicht! Doch wie geht man an die Datenmodellierung heran?
Hier treffen Datenbankdesign und Datenmodellierung aufeinander...

Fragebogen -> Datenbank-Modellierung

Beitragvon jacomo » Mo 28. Dez 2015, 15:33

Hallo,

ich erstelle gerade eine Datenbank für einen Fragebogen einer Evaluierung.
Ich habe dabei folgende Tabellen:

1. Lehrveranstaltung (ID, Nummer, Name, Typ_ID)
2. Lehrveranstaltung_Typ (ID, Name)
3. Professor (ID, Name)
4. Professor_has_Lehrveranstaltung (Professor_ID, Lehrveranstaltung_ID) -> n-m-Beziehung zwischen 1. und 3.
5. Frage (ID, Typ, Titel, Text_Frage)
6. Antwort (Antwort_ID, Frage_ID, Professor_ID, Lehrveranstaltung_ID, Text) -> n-m-Beziehung zwischen 4. und 5.

Zwischen 1. und 2. besteht außerdem eine n-1-Beziehung.

Zuerst mal: Ist der Entwurf so in Ordnung oder muss da noch etwas verändert werden?
Wie füge ich am besten eine zeitliche Komponente ein? Also dass man nur die Antworten eines bestimmten Semesters auflisten kann.

Danke schonmal
jacomo
Zuletzt geändert von jacomo am Di 29. Dez 2015, 14:00, insgesamt 1-mal geändert.
jacomo
 
Beiträge: 5
Registriert: Mo 28. Dez 2015, 15:21

Re: Fragebogen -> Datenbank-Modellierung

Beitragvon chuky666 » Di 29. Dez 2015, 09:05

Moin moin,

im Anhang haste mal deinen Textentwurf etwas visuell dargestellt :)

An sich sieht es erstmal ok aus....fürs erste.

1.) Könntest du bitte noch erläutern warum genau zwischen tabelle1 und tabelle2 eine n-1 Beziehung besteht?!

2.) Du schreibst das zwischen 4 und 5 eine n-m Beziehung besteht?! Warum? Klar, 1 Frage kann N-Antworten haben usw. es kommt drauf an wie die Daten, in dem Fall die Fragen, aussehen.

3.) Auf was für ein System soll das ganze aufgesetzt werden?

So genug gefragt sollte reichen um das Thema ins rollen zu bringen :)

Grüße
Dateianhänge
Unbenannt.jpg
MCSA SQL-Server 2016; DBA
chuky666
 
Beiträge: 57
Registriert: Mo 28. Sep 2015, 21:04

Re: Fragebogen -> Datenbank-Modellierung

Beitragvon jacomo » Di 29. Dez 2015, 14:00

Vielen Dank für deine Antwort!

chuky666 hat geschrieben:1.) Könntest du bitte noch erläutern warum genau zwischen tabelle1 und tabelle2 eine n-1 Beziehung besteht?!


Jede Lehrveranstaltung besitzt einen Typ, ein Typ kann aber mehreren Lehrveranstaltungen zugewiesen werden.

chuky666 hat geschrieben:2.) Du schreibst das zwischen 4 und 5 eine n-m Beziehung besteht?! Warum? Klar, 1 Frage kann N-Antworten haben usw. es kommt drauf an wie die Daten, in dem Fall die Fragen, aussehen.


Zu jeder Kombination LV-Prof gibt es N Fragen, aber jede Frage kann auch zu N Kombinationen LV-Prof beantwortet werden.
(Wobei mir hier gerade auffällt, dass die Antwort_ID als PK in Antwort fehlt...)

chuky666 hat geschrieben:3.) Auf was für ein System soll das ganze aufgesetzt werden?


Als Webapp mit Java Spring und MySQL.

Danke nochmal
jacomo
jacomo
 
Beiträge: 5
Registriert: Mo 28. Dez 2015, 15:21

Re: Fragebogen -> Datenbank-Modellierung

Beitragvon chuky666 » Di 29. Dez 2015, 14:14

mhh... beim ersten haste natürlich recht :D

Könntest du zu dem Frage/Antwort Fall mal 1-2 Beispiele bringen. Ich glaube dann wird es für alle etwas klarer :mrgreen:
MCSA SQL-Server 2016; DBA
chuky666
 
Beiträge: 57
Registriert: Mo 28. Sep 2015, 21:04

Re: Fragebogen -> Datenbank-Modellierung

Beitragvon jacomo » Di 29. Dez 2015, 15:07

chuky666 hat geschrieben:mhh... beim ersten haste natürlich recht :D

Könntest du zu dem Frage/Antwort Fall mal 1-2 Beispiele bringen. Ich glaube dann wird es für alle etwas klarer :mrgreen:


Wird gemacht:
Jede Antwort wird in einer Zeile abgespeichert. Wichtig ist dabei, dass sowohl die ID der Frage als auch auch die IDs von Lehrveranstaltung und Professor mitgespeichert werden, damit diese bei der späteren Auswertung eindeutig identifiziert werden können.
Also wenn man z.B. Frage 5 von Lehrveranstaltung a bei Professor b auswerten will, muss man dann eben alle Zeilen anzeigen lassen, wo Frage_ID=5, Lehrveranstaltung_ID=a und Professor_ID=b ist.
Jetzt verstanden? :D
jacomo
 
Beiträge: 5
Registriert: Mo 28. Dez 2015, 15:21

Re: Fragebogen -> Datenbank-Modellierung

Beitragvon chuky666 » Mi 30. Dez 2015, 08:44

Moin moin :)

sehr schön du hast dir mehr Gedanken drüber gemacht :)

Na dann ran ans modellieren ;-)

Es gibt dafür diverse Tools um es visuell darzustellen. Ich benutze dafür meistens "DbSchema" oder direkt das Management Studio vom SQL Server.

Poste mal deine Modelle bin gespannt :)

Grüße 8-)
MCSA SQL-Server 2016; DBA
chuky666
 
Beiträge: 57
Registriert: Mo 28. Sep 2015, 21:04

Re: Fragebogen -> Datenbank-Modellierung

Beitragvon jacomo » Do 31. Dez 2015, 16:15

Eine Frage hätte ich noch:

Gibt es Probleme, wenn ich z.B. bei Professor_hat_Lehrveranstaltung eine neue ID einführe und die als PK verwende? Damit wäre das leichter in Java & Co zu benutzen. Was wäre in dem Fall der PK? Die ID alleine oder die ID zusammen mit den Fremdschlüsseln?
jacomo
 
Beiträge: 5
Registriert: Mo 28. Dez 2015, 15:21

Re: Fragebogen -> Datenbank-Modellierung

Beitragvon SQLUnion » Mi 6. Jan 2016, 09:49

Du kannst eine neue ID vergeben => wäre dann ein künstlicher Primärschlüssel, der eindeutig ist.
Es geht aber auch eine Kombi aus den beiden anderen Werten.

Ich bevorzuge aber immer einer künstlichen Schlüssel...

Warum benutzt Du keinen OR-Mapper, wenn Du mit Java implementierst?
SQLUnion
 
Beiträge: 155
Registriert: Fr 1. Nov 2013, 15:54

Re: Fragebogen -> Datenbank-Modellierung

Beitragvon jacomo » Mi 6. Jan 2016, 21:04

SQLUnion hat geschrieben:Du kannst eine neue ID vergeben => wäre dann ein künstlicher Primärschlüssel, der eindeutig ist.
Es geht aber auch eine Kombi aus den beiden anderen Werten.

Ich bevorzuge aber immer einer künstlichen Schlüssel...

Warum benutzt Du keinen OR-Mapper, wenn Du mit Java implementierst?


Achso, habe immer gedacht, dass man das vermeiden sollte :)

Ich verwende Hibernate dazu, aber trotzdem ist es leichter mit einer ID zu arbeiten, als mit einem zusammengesetzten Schlüssel aus zwei anderen Tabellen.

Danke für die Antwort!
jacomo
 
Beiträge: 5
Registriert: Mo 28. Dez 2015, 15:21


Zurück zu Datenbankdesign und Datenmodellierung

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste

  • Jetzt Fan werden
  • Newsletter abonnieren? Hier anmelden!

    Alle Informationen aus dem Portal, Blog und Forum in einem Newsletter!

    E-Mail-Adresse: