mam taki schemat bazy danych

lub jak kto woli kod sql z przykładowymi danymi http://nopaste.info/4a1913ed7e.html
wkleiłem tam ponieważ tutaj bardzo rozciągał post nie potrzebnie.
Mam 3 tabelki: weapons, skills oraz peoples
Oraz 2 tabelki łączące (relacja wiele do wielu): weapons_skills, peoples_skills
Jeden człowiek może mieć wiele zdolności tak samo broń żeby ją obsługiwać wymaga wielu zdolności teraz jakimś zapytaniem chciałbym dla każdego człowieka (peoples) na podstawie jego zdolności jakie ma (peoples_skills) dopasować jak bardzo pasuje do niego ta broń (weapons) na podstawie tabelki (weapons_skills),
czyli jeżeli broń ma wszystkie skille jakie posiada człowiek lub więcej niż ten człowiek to będzie 100% dopasowania, jeżeli nie ma wcale wspólnych to 0% i posródku wiadomo 10 ,20% czy ile tam wyjdzie, czy da się takie coś na takiej strukturze? jak nie to jak powinna wyglądać struktura? albo PHPem to zrobić? Bardzo prosze o pomoc