AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken FreePascal DB-Modell für eine Software
Thema durchsuchen
Ansicht
Themen-Optionen

DB-Modell für eine Software

Ein Thema von AlexII · begonnen am 22. Dez 2014 · letzter Beitrag vom 23. Dez 2014
Antwort Antwort
Seite 1 von 6  1 23     Letzte »    
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#1

DB-Modell für eine Software

  Alt 22. Dez 2014, 19:55
Datenbank: SQLite • Version: 3 • Zugriff über: SQLite3Connection
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.
Miniaturansicht angehängter Grafiken
screenshot.jpg  
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.156 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: DB-Modell für eine Software

  Alt 22. Dez 2014, 19:59
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
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#3

AW: DB-Modell für eine Software

  Alt 22. Dez 2014, 20:05
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.
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: DB-Modell für eine Software

  Alt 22. Dez 2014, 20:19
Und bei einer Tagung sind normalerweise mehrere Personen anwesend.
Markus Kinzler
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#5

AW: DB-Modell für eine Software

  Alt 22. Dez 2014, 20:21
Und bei einer Tagung sind normalerweise mehrere Personen anwesend.
Genau. Wie bilde ich nur das ganze auf dem Modell ab?
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: DB-Modell für eine Software

  Alt 22. Dez 2014, 20:24
Ist eine n:m Beziehung. Implementiert über eine Zuordungstabelle.
Markus Kinzler
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#7

AW: DB-Modell für eine Software

  Alt 22. Dez 2014, 20:30
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.

Geändert von Perlsau (22. Dez 2014 um 20:32 Uhr) Grund: Ergänzung
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#8

AW: DB-Modell für eine Software

  Alt 22. Dez 2014, 20:48
Ok... etwa so, siehe Screenshot.
Miniaturansicht angehängter Grafiken
screenshot.jpg  
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.156 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: DB-Modell für eine Software

  Alt 22. Dez 2014, 20:51
Etwas Kritik am Rande: Wirst du (oder jemand anderes) in zwei Wochen noch wissen was ein "tbl_vt" ist?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: DB-Modell für eine Software

  Alt 22. Dez 2014, 20:52
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
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 6  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:31 Uhr.
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