Delphi-PRAXiS
Seite 1 von 6  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   FreePascal DB-Modell für eine Software (https://www.delphipraxis.net/183238-db-modell-fuer-eine-software.html)

AlexII 22. Dez 2014 18:55

Datenbank: SQLite • Version: 3 • Zugriff über: SQLite3Connection

DB-Modell für eine Software
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich möchte eine DB-Modell für eine Tagungssoftware erstellen, aber irgendwie habe ich keine Idee wie es weiter gehen soll. Die Anwendung soll Personen beinhalten und Tagungen bzw. Seminare die sie besuchen will. Folgendes habe ich schon gemacht, siehe Anhang...

Nun weiß ich nicht wo ich die Infos packen soll, ob eine Person zur einer Tagung eingeladen wurde, und ob sie diese Einladung angenommen oder abgelehnt hat. Danke für eure Hilfe.

Der schöne Günther 22. Dez 2014 18:59

AW: DB-Modell für eine Software
 
Die nächste Frage wäre doch die nach der Kardinalität zwischen "Person" und "Tagung", oder?

Verhält sich Person:Tagung wie 1:1, 1:n, m:n oder n:1? Soll heißen: Kann eine Person nur auf eine Tagung oder auf mehrere? Kann eine Tagung von mehreren Personen besucht werden? Kann eine Tagung auch existieren, ohne dass Personen sie besuchen?

So als absoluter Datenbank-Depp

AlexII 22. Dez 2014 19:05

AW: DB-Modell für eine Software
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1284417)
Die nächste Frage wäre doch die nach der Kardinalität zwischen "Person" und "Tagung", oder?

Verhält sich Person:Tagung wie 1:1, 1:n, m:n oder n:1? Soll heißen: Kann eine Person nur auf eine Tagung oder auf mehrere? Kann eine Tagung von mehreren Personen besucht werden? Kann eine Tagung auch existieren, ohne dass Personen sie besuchen?

So als absoluter Datenbank-Depp

Ok... eine Person kann natürlich auf mehreren Tagungen sein, aber nicht parallel. Eine Tagung hat eine Start- und Endzeit(Datum). Eine Tagung können viele Personen besuchen und natürlich kann auf eine Tagung keiner kommen.

mkinzler 22. Dez 2014 19:19

AW: DB-Modell für eine Software
 
Und bei einer Tagung sind normalerweise mehrere Personen anwesend.

AlexII 22. Dez 2014 19:21

AW: DB-Modell für eine Software
 
Zitat:

Zitat von mkinzler (Beitrag 1284421)
Und bei einer Tagung sind normalerweise mehrere Personen anwesend.

Genau. Wie bilde ich nur das ganze auf dem Modell ab?

mkinzler 22. Dez 2014 19:24

AW: DB-Modell für eine Software
 
Ist eine n:m Beziehung. Implementiert über eine Zuordungstabelle.

Perlsau 22. Dez 2014 19:30

AW: DB-Modell für eine Software
 
Zitat:

Zitat von AlexII (Beitrag 1284422)
Genau. Wie bilde ich nur das ganze auf dem Modell ab?

Du erstellst eine Tabelle Personen und eine Tabelle Tagungen. Als Verknüpfung erstellst du eine Verknüpfungstabelle (VT), in der du die ID einer Person und die ID einer Tagung mitführst, also eine Tabelle, die zwei Spalten hat. Als PK nimmst du entweder eine dritte Spalte oder, wenn dein DBMS das erlaubt, einen aus den beiden Spalten zusammengesetzten PK. Um dann später zu erfahren, wer alles auf der Tagung mit der ID 75 angemeldet ist, fragst du einfach deine VT nach der Tagungs-ID ab. Wenn du wissen möchtest, auf welchen Tagungen die Person mit der ID 321 bereits angemeldet war, fragst du deine VT nach der Personen-ID ab.

Eine weitere VT könnte abbilden, wer auf den Tagungen auch wirklich anwesend war. Noch Fragen?

Oh, sehe gerade:

Was mkinzler mit Zuordnungstabelle meint, heißt bei mir Verknüpfungstabelle. Ist aber dieselbe Idee.

AlexII 22. Dez 2014 19:48

AW: DB-Modell für eine Software
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ok... etwa so, siehe Screenshot.

Der schöne Günther 22. Dez 2014 19:51

AW: DB-Modell für eine Software
 
Etwas Kritik am Rande: Wirst du (oder jemand anderes) in zwei Wochen noch wissen was ein "tbl_vt" ist?

mkinzler 22. Dez 2014 19:52

AW: DB-Modell für eine Software
 
Nein von der Zwischentabelle zu den beiden Tabellen zwischen denen die n:m Beziehung besteht

A n: m B -> A n : 1 Zw 1 : m B

Im ER-Modell kannst Du auf die Zuordnungstabelle aber auch verzichten


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:19 Uhr.
Seite 1 von 6  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz