Witam.

Jestem w trakcie projektowania schematu bazy danych do programu monitor pozycji w wyszukiwarkach.Każdy zarejestrowany użytkownik będzie mógł dodać swoje strony, potem stworzyć grupy w których będzie sprawdzał słowa kluczowe dla różnych wyszukiwarek.Grupy mają za zadanie rozdzielenie logiczne słów kluczowych np. sklep agd zawiera asortyment lodówki w którym jest 600 modelli(osobna grupa), zamrażarki(250 modelli)-inna grupa.Daje to większe możliwości zarządzania bazą słów kluczowych.

Chcę również użytkownikowi dać kilka możliwości wybierania wyszukiwarek dla niektórych stron(kilka słów kluczowych) w obrębie stron, dla większych również możliwość wybierania wyszukiwarek w obrębie grup oraz samych słów kluczowych. Może się okazać że w danej grupie dla niektórych słów kluczowych użytkownika będzie Interesowała wyszukiwarka google, a dla pewnej ilości słów kluczowych google i yahoo.Zabezpieczam się na jak największą ilość możliwości.Czy lepszym rozwiązaniem będzie stworzenie tabeli wyszukiwarki wktórej będę miał wypisane wyszukiwarki sama tabela będzie przyłączona jako klucz osobny czy może lepiej użyć jakiegoś innego rozwiązania?

Lepiej zaprojektować wszystkie możliwości od początku, niż potem modyfikować.
Kolejną funkcjonalnością są raporty wysyłane na mail klienta.

Baza aktualnie wygląda tak.

User(Id_User,Id_Site,imie,nazwisko,mail,grupa,login,hasło,active,last.login)

Site(Id_Site,Id_Grupy,,Id_Wyszukiwarki,www)
Gruoy(Id_Grupy,Id_keyword,Id_Wyszukiwarki,nazwa,data_dodania)
Keyword(Id_KeywordId_WyszukiwarkiId_Pozycja,nazwa)
Pozycja(Id_Pozycja,Id_Wyszukiwarki,Id_Raport,pozycja1,pozycja2,pozycja,data)-pozycja 1 to pozycja w wyszukiwarkach rano,
pozycja 2 liczona jest w godzinach wieczornych,pozycja natomiast to uśredniony wynik
Raport(IId_Raport,mail,tytul,data)

Niektóre tabele zawierają aż 3 po 3 klucze obcy, nie wiem zy jest to najlepsze rozwiązanie

Pytania odnoszą do samej logiki projektu, szczególnie do tabel Grupy,Wyszukiwarki i Raport.