AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Komplexes SQL

Ein Thema von Salomon · begonnen am 6. Dez 2007 · letzter Beitrag vom 6. Dez 2007
Antwort Antwort
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#1

Komplexes SQL

  Alt 6. Dez 2007, 08:08
Datenbank: MS SQL • Version: 2005 • Zugriff über: ADO
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
Miniaturansicht angehängter Grafiken
user_activity_zuordnung_110.jpg  
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Komplexes SQL

  Alt 6. Dez 2007, 09:01
Du musst halt dann Tuppel von User, Team, Aktivität bilden.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#3

Re: Komplexes SQL

  Alt 6. Dez 2007, 09:18
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.
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
noidic

Registriert seit: 21. Nov 2005
Ort: Mönchengladbach
25 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Komplexes SQL

  Alt 6. Dez 2007, 09:33
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.
The light at the end of the tunnel may be an oncoming dragon.
  Mit Zitat antworten Zitat
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#5

Re: Komplexes SQL

  Alt 6. Dez 2007, 09:55
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.
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:38 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