Widzę następujące rozwiązanie:
niewiadomo która taryfa dotyczy którego komputera. Myślę, że dobrym pomysłem byłoby wybieranie taryfy dla komputera.
Należałoby dodać pole "assignmentsid" do tabeli "nodes" i w tym miejscu przechowywac "id" z tabeli "assignments" oczywiście dla nodes.ownerid=assignments.userid. Jeżeli user ma wiecej niz jedna taryfe to dostanie odpowiednią liczbę wyników assignments.id. Możliwe jest też przydzielenie kilku komputerom jednej taryfy, przez co komputery te dzieliły by przepustowość taryfy między siebie (chodzi mi o możliwość wygenerowania takich skryptów konfiguracyjnych na podstawie bazy LMSa). To od strony konstrukcji bazy.
Jeśli chodzi o interface WWW to nalezaloby do strony gdzie edytuje się ustawienia kompa dodac listę z której wybierało by się taryfę (zapytanie SQL generujące listę możliwych do wyboru taryf dla komputera: SELECT assignments.id, tariffs.name
FROM assignments, nodes, tariffs
WHERE assignments.userid=$id_ownera_kompa_dla_ktorego_przydzielamy_taryfę, AND assignments.tariffid = tariffs.id ) otrzymujemy pary assignments.id <=> tariffs.name tariffs.name to nazwy wyświetlane na liście po wyborze taryfy odpowiednie "assignments.id" należaloby przechować w dodanym polu "nodes.assignmentsid".
Druga sprawa to dodatkowe opcjonalne pole w konfiguracji komputera na publiczny adres IP (to chyba najprościej dorobić).
dodać "publicipaddr" w tabeli "nodes". - no comment
Mam nadzieję ktoś coś z tego zrozumiał :)
-- Michał Rak