jedna tabela bedzie zawierala po prostu szukane nazwy i identyfikatory wierszy drugiej tabeli zawierajacej juz nazwy lub pelne sciezki z nazwami do plikow czyli wygladaloby to tak:
Tabela nazwy: CREATE TABLE nazwy (nazwa_id int not null, plik_id int not null, nazwa char(32) not null, primary key(nazwa_id));
Tabela pliki: CREATE TABLE pliki (plik_id int not null, sciezka char(255) not null, primary key(plik_id));
tabela pliki:
(plik_id, sciezka)
1, 'c:\gdziestam\jakis.iso'
2, 'c:\gdziesindziej\inny\jakis2.iso'
tabela nazwy:
(nazwa_id, plik_id, nazwa)
1, 1, 'nazwa1'
2, 1, 'nazwa2'
3, 2, 'nazwa3'
itd...
jak widzisz plik_id jest to element wspolny obu tabel nie musi sie tak samo nazywac nazwalem go tak samo ale tak jest pozniej latwiej zidentyfikowac relacje pomiedzy tabelami. uzywajac odpowiednie zapytanie ktore tak naprawde dopiero ta relacje wykorzystuje dla nazwa1 i nazwa2 otrzymasz sciezka do pliku 'c:\gdziestam\jakis.iso' a dla 'nazwa3' sciezke: 'c:\gdziesindziej\inny\jakis2.iso' mechanizm jest bardzo prosty.
przykladowe zapytanie wykorzystujace relacje:
SELECT sciezka FROM pliki, nazwy WHERE nazwa='nazwa1' and pliki.plik_id=nazwy.plik_id;
oczywiscie to jest proste zapytanie mozna ulozyc rowniez zapytanie uzywajac bardziej zlozonej skladni lub tez uzywajac LIKE dzieki czemu bedziesz mogl porownywac tylko czesc nazwy a nie dokladna jej skladnie