Najlepsze podejście MySQL do normalizacji db, relacji i kluczy obcych

Najpierw jest etap weryfikacji nazwy użytkownika / hasła, a następnie baza danych ma następującą strukturę

^ is primary key

* uses foreign key


1.StudentDetails table
===========================================================================  
 ID^| Username   | Password | Email       | Address * | Website |Comments
====+============+==========+=============+===========+=========+========== 
1   | xxxxxxxxxx | xxxxxxx  | [email protected]  | 1         | http:// | text

2.Submissions table
===========================================================================================
ID^|Username*|SubmitDate|SelectedCourse*|Price*|Promotion*|SubmitComments|SubmitStatus*
===+=========+==========+===============+======+==========+==============+=================
1  |xxxxxxxxx|2013-7-12 |  int          | int  |  int     | text         | int


3.SubmitComplete table
==================================================
ID^| Username * | SelectionDate | SubmitStatus *  
====+============+===============+================
1   | xxxxxxxxxx |  2013-08-01   | int

Teraz mam problem z wprowadzeniem adresu, kiedy próbuję wprowadzić dane ucznia, który nie będzie akceptowany, dopóki nie pojawi się pole adresu, jak najlepiej sobie z tym poradzić? Kiedy robię łączenie lewe, wybierając pewne pola z Szczegółów ucznia i niektórych pól z Adresów, adresy nie są wyświetlane.

Jestem mysql noob, więc chciałbym uzyskać kilka wskazówek, aby sprawdzić, czy normalizacja i struktura została wykonana poprawnie, czy też można to zrobić lepiej, oto jestskrzypce Nie mogłem sprawić, by działało poprawnie, ciągle otrzymywałem błędy w liniach, w których dodałem klucze obce, mimo że budowanie schematu działało dobrze na moim komputerze.

Konsola skrzypiec mówi o błędzie w linii 2, ale wygląda na to, że jest w linii 76. Jeśli coś jest niejasne, pls daj mi znać. Dzięki

questionAnswers(3)

yourAnswerToTheQuestion