Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Verknüpfungen erstellen (https://www.delphipraxis.net/154158-verknuepfungen-erstellen.html)

Tod787 30. Aug 2010 15:56

Verknüpfungen erstellen
 
Habe ein eine Tabelle mit 100 Namen von Personen stehen und möchte diese miteinander verknüpfen.

Die Verknüpfungen möchte ich in einer Untertabelle speichern.

Folgendes Szenario

P1 wird mit P2 verknüpft:

In der Untertabelle stehen dann die Verknüpfungen
P1 mit P2
P2 mit P1

P2 wird mit P3 verknüpft
In der Untertabelle stehen dann die Verknüpfungen
P1 mit P2
P2 mit P1
P2 mit P3
P3 mit P2

plus zusätzlich

P1 mit P3
P3 mit P1

weil P1 ja schon zu P2 gehört

Mein Problem ist, dass ich nicht genau weiß wie ich am besten die Untermengen berücksichtige.

mkinzler 30. Aug 2010 16:00

AW: Verknüpfungen erstellen
 
Was meinst du mit Tabelle?

shmia 30. Aug 2010 16:26

AW: Verknüpfungen erstellen
 
Also ich würde die Einträge P1 mit P3 und P3 mit P1 nicht in der Datenbanktabelle ablegen.
Der Grund ist, dass sich P1 und P3 nicht direkt, sondern nur indirekt kennen.

Ich schätze mal der Sind und Zweck der Übung soll sein, bei zwei vorgegebenen Personen die Bekanntschaftsverhältnisse auszugeben.
Ein Beispiel
gesucht sind: P13 und P29
Output: P13<->P6<->P82<->P29

DeddyH 30. Aug 2010 16:28

AW: Verknüpfungen erstellen
 
Geht es denn überhaupt um Datenbanken? "Tabelle" kann ja alles mögliche heißen.

mkinzler 30. Aug 2010 16:29

AW: Verknüpfungen erstellen
 
Zitat:

Zitat von DeddyH (Beitrag 1046118)
Geht es denn überhaupt um Datenbanken? "Tabelle" kann ja alles mögliche heißen.

Deshalb ja auch meine (Nach-)Frage

DeddyH 30. Aug 2010 16:31

AW: Verknüpfungen erstellen
 
Dachte ich mir schon :zwinker:

Tod787 31. Aug 2010 06:28

AW: Verknüpfungen erstellen
 
Ja es sind Datenbanktabellen :) Entschuldigung für die ungenaue Beschreibung.

Die 100 Personen stehen also in der Mastertabelle. Die Verknüpfungen sind in der Untertabelle. Das Feld ID_VKPerson in der Untertabelle ist mit dem Feld ID der Mastertabelle verknüpft. Somit kann ich mir beim scrollen in der Mastertabelle alle Personen anzeigen lassen die mit dem aktuellen Record verknüpft sind.

Jetzt habe ich die Funktion "addVerknüpfung" wo ich den aktuell ausgewählten Record mit einer Person verknüpfen kann. Das funktioniert auch soweit nur möchte ich jetzt dass alle anderen Records die mit der neu hinzugefügten Person verknüpft sind auch mit dem aktuellen Record verknüpft werden und umgekehrt.

Vermute dass da ein rekursives Aufrufen nötig ist aber mir fehlt der Ansatz.

himitsu 31. Aug 2010 07:09

AW: Verknüpfungen erstellen
 
Wieso willst du eigentlich das doppelt in einer weiteren rießigen Tabelle speichern?
Laß dir doch einfach diese Verknüfungen erst berechnen/ausgeben, wenn du sie benötigst.
Für deine 100 Leute sind das immerhin schon bis zu 19800 redundante Informationen. (falls ich mich nicht verschätzt hab)

Soein rekursives Ausleseproblem wurde vor Kurzen hier schonmal behandelt.

Tod787 31. Aug 2010 08:05

AW: Verknüpfungen erstellen
 
@himitsu
Du meinst nur die direkte Verknüpfung speichern und den Rest jedes Mal ausrechnen? Wollte eigentlich die Untertabelle mit der Mastertabelle direkt verknüpfen.

btw
Von den 100 Personen werden auch nicht alle miteinander verknüpft sondern nur einige wenige, sodass sich die Anzahl der Datensätze in der Untertabelle in Grenzen hält.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:29 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