Ja tam nic nie zrozumiałem z twojej wypowiedzi :/
odpytujesz o cos po kliencie select * from xx where uzytkownik = "xx";
dostajesz listę rekordów z Id, którą wrzucasz na listę, liczebność listy to liczba rekordów, nie znaczy to że id są od 1 do liczebność listy
jeśli dane jakie pobrałeś są nadrzędne, to możesz po tych id przeszukać dane podrzędne przyporządkowane do rekordów
Problem pojawia sie przy usuwaniu bo jak usune np 5 to i tak przy ladowaniu, wczytam ilosc ID (to tak jakby counter w javie) i bede niepotrzebnie raz przeszukiwal przy ID 5 bo ID 5 jest puste
tego kompletnie nie kumam. Usuwasz id 5 i co z tego, to następnym razem pobierzesz rekordy np. z id 2, 3, 4 i 6, w sumie 4 rekordy, ale nie znaczy ze o id od 1 do 4.
Czy w gimnazjach chodź trochę polskiego nie mogą nauczyć :(