salve ragazzi...
ho un problema che non riesco a risolvere, quindi ho pensato di chiedere un vostro consiglio..

devo progettare un database che deve essere utilizzato da una applicazione software... il dbms in questione è HSQL.
il problema è che devo far in modo che per ogni entità di una determinata tabella, la lista dei suoi attributi sia contenuta in una seconda tabella.
cerco di essere più chiaro;
il sistema può decidere ad esempio che ad ogni "Studente" vengano associati dei valori quali "nome" o "cognome"... ma deve avere successivamente la possibilità di volerne aggiungere qualcuno... o di eliminarne altri.

la mia idea iniziale era quella di lavorare con 3 tabelle, definite così (seguo l'esempio su studenti)...

tab Studenti ( idStudente )
tab Attributi (idAttributo, NomeAttrib )
tab Valori (idStudente, idAttrib, valore)

in questo modo è facile ottenere l'IdStudente che ha 'piero' come valore dell'attrib di nome 'Nome'

ma come si fa ad ottenere gli IdStudente che hanno come valore 'roma' all'attrib di nome 'Città' e contemporaneamente il valore 'SI' all'attrib di nome 'Fuorisede' ???

....considerando il fatto che la ricerca può essere fatta anche su più di 3 / 4 attrib per volta diventa complicato...

c'è per caso un'altra strategia che potrei utilizzare?

sono un po' in panne...
grazie per l'aiuto