![]() |
Datenbank: MS SQL • Version: 2005 • Zugriff über: ADO
Komplexes SQL
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
ich bräuchte Hilfe bei einem für mich recht komplexen Datenbankdesign und Umsetzung in SQL Skripte / GUI Interaktion. Im Anhang findet ihr die momentan angelegten Tabellen und deren Beziehungen zueinander. Die Beziehungen sind nicht ganz komplett... Und zwar gibt es User die sich in mehreren Teams befinden können. Einem Team können nun per Eintrag in der TB_AM_Team_Activity mehrere Aktivitäten hinzugefügt werden. (Dies funktioniert soweit schon :) ). Aus diesem Pool (Alle Aktivitäten der Teams in dem der User mitglied ist) soll sich der User nun seine zur Zeit genutzen Aktivitäten auswählen können. (Eintrag in der TB_AM_User_Activity). Wird eine Aktivität aus TB_AM_Team_Activity gelöscht, wird durch die DB automatisch diese automatisch auch beim User entfernt. Mein Problem ist, das durch die mehrfache "Mitgliedschaft" eines User in verschiedenen Teams, auch ein und dieselbe Aktivität mehrfach gleistet wird... Wenn der User z.B. die Aktivität "Meeting" auswählt, die in zwei seiner Teams aktiviert ist müsste glaube ich auch zwei Einträge in der TB_AM_User_Activity anlegen, und auf die TB_AM_Team_Activity verweisen... Ich hoffe ich konnte mein Problem einigermaßen verständlich machen. Ansonten einfach nachfragen! Gruß Marcus |
Re: Komplexes SQL
Du musst halt dann Tuppel von User, Team, Aktivität bilden.
|
Re: Komplexes SQL
Wie meinst du das mit Tupeln bilden aus User, Team, Aktivität??
Diese Daten kann ich doch schon in TB_AM_User_Activity aufnehmen... Wenn ich einen Primärschlüssel aus den Feldern bildet, weiß ich nicht wie ich mit diesem "großen" Schlüssel in Delphi arbeiten muss. |
Re: Komplexes SQL
ich würde die Verbindung zwischen TEAM_ACTIVITY und USER_ACTIVITY aufheben, die brauchst du eigentlich nicht, da du ja nur wissen musst, welcher User welche Aktivität durchführen soll. Wenn das Team auch relevant ist, kannst du das TEAM mit in die USER_ACTIVITY aufnehmen und hast dann ein Tupel wie von mkinzler beschrieben.
|
Re: Komplexes SQL
Hi noidic,
das geht leider nicht, da eine Aktivität erst für ein oder mehrere Team(s) aktiviert werden soll. Aus dieser Menge soll der User dann wieder seine für ihn wichtigen Aktivitäten aktiveren können. Nur diese sollen ihm später in den Auswahllisten angezeigt werden. Wird jedoch eine Aktivität auf Teamebene deaktiviert (Datensatz in TB_AM_Team_Activity gelöscht), dann soll diese beim User verschwinden. Daher die Löschweitergabe auf der DB. TB_AM_Activites | TB_AM_Team_Activities | TB_AM_User_Activities Aktivtäten --> Aktiväten die für Team X aktiv sein sollen --> Aktivitäten die der User aufgrund seiner Team zugehörigkeit auswählen soll. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz