Hej,
mam takie tabele, jak:
DANE
idDane |
miasto |
x |
y |
idKlastra |
INT PK |
char |
float |
float |
|
KLASTER
idKlastra |
x |
y |
INT PK |
float |
float |
|
|
|
Teraz muszę wykombinować to w taki sposób, aby wyglądało to tak:
- wgrywam dane do tabeli DANE idklastra jest null
- program sobie oblicza, który punkt należy do jakiego klastra (ilość klastrów jest dowolna), następnie przypisuje mi do idKlastra tę wartość a w tabeli KLASTRY wpisuje jego pozycje.
- wynik działania musi być zapamiętany i widoczny później
Przykładowe działanie:
Wgraj punkty: [[-2, 5], [2, -5]]
Wybierz ilość klastrów: 2
Punkt [-2, 5] przypisano do klastra [-2, 0].
Punkt [2, -5] przypisano do klastra [2, 0].
Przesuwam punkt klastra: [-2, 0] -> [-2, 5] oraz [2, -5] -> [2, 0]
Dane, które zostały pogrubione idą do bazki.
DANE
ID |
Miasto |
x |
y |
idKlastra |
0 |
------- |
-2 |
5 |
0 |
1 |
------- |
2 |
-5 |
1 |
KLASTRY
idKlastra |
x |
y |
0 |
-2 |
5 |
1 |
2 |
-5 |
- musiałbym zrobić tabelę wyniki, która by posiadała idDane i łączyła się z nimi za pomocą relacji 1 do wielu? A ID od tabeli wyników nie miałoby być auto increment?
WYNIKI
id |
idDane |
data |
0 |
0 |
|
0 |
1 |
|
Jak to najlepiej zaplanować?