Citat Postat în original de meetzah Vezi Post
nu stiu sa spun cu pk/fk (pk cred ca inseamna primaty key, insa fk nu sunt sigur de la ce vine).
foreign key
Daca baza de date suporta tabele relationate FKs se folosesc pentru a lega parintele de copil (copilu' are foreign key -> id-ul parintelui). Daca se sterge parintele, se sterg automat si copii, daca se modifica IDu parintelui, se modifica automat si FK-urile copiilor lui.

federals, daca nu agreezi ideea unui singur tabel, atunci nu iti mai ramane decat sa folosesti 2, cum ai spus si in primul post:
Tabel Anunturi cu PK ID, CatID FK catre PK-ul ID din tabelul Categorii.
Tabel Categorii cu PK ID, FK catre ID-ul din tabelul Subcategorii.
Tabel Subcategorii cu PK ID (si alte campuri)
cu unele modificari:
anunturi: PK ID, subCatID FK catre PK-ul ID din subcategorii
subcategorii: PK ID, catID FK catre PK-ul din categorii
categorii: PK ID