![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 168 Pomógł: 126 Dołączył: 5.02.2010 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Tak dla celów naukowych chciałem zrobić sobie powiedzmy dzienniczek ocen, który będzie miał możliwość dodawania/usuwania semestrów, przedmiotów, ocen.
Próbowałem pomyśleć nad tabelami... Kod +--+--------+---------------------------------+ |ID|Semestr |Przedmioty | +--+--------+---------------------------------+ |1 |Pierwszy|Polski, Matematyka, Geografia | |2 |Drugi |Matematyka, Historia | |3 |Inny |Geografia, Wok, Wos | +--+--------+---------------------------------+ +--+---------+-----+----------+ |ID|Przedmiot|Ocena|Opis oceny| +--+---------+-----+----------+ |1 |Polski |2 |Spr | |2 |Polski |5 |Akt | +--+---------+-----+----------+ Ale teraz pytania: 1. Czy taka tabela ma sens ? Niby jest wszystko co wymieniłem wyżej, ale nie jestem tego pewien. 2. Jakieś relacje też muszą zajść między tymi tabelami, a tego nie ogarnąłem jeszcze zbytnio... dlatego prosiłbym o łopatologiczne wyjaśnienie tego, najlepiej na przykładach. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Z tymi oceniami to nie bardzo rozumiem. Ale jeżeli chodzi o relacje semestr - przedmiot to ja bym to tak rozwiązał.
Kluczowa jest tutaj tabela semestr_przedmiot w której będziesz miał informacje jakie przedmioty w jakim semestrze będą występować. Do ocen potzebna będzie osobna tabela powiązaniem do tabeli semestr_przedmiot i tabela studentów Ten post edytował skowron-line 15.05.2012, 21:19:42 -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 168 Pomógł: 126 Dołączył: 5.02.2010 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Wiesz może czy gdzieś w internecie znajdę przykłady takie właśnie z relacjami ? Żeby były pokazane tabele, dlaczego taka relacja, a nie inna itd... Jak już pisałem, nie do końca to zrozumiałem.
Skąd PHP wie, że właśnie ostatnia tabela jest połączeniem dwóch poprzednich ? Bo chyba o takie coś tutaj chodzi ? Ten post edytował Szymciosek 16.05.2012, 07:09:15 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Skąd PHP wie, że właśnie ostatnia tabela jest połączeniem dwóch poprzednich ? Bo chyba o takie coś tutaj chodzi ? To nie skąd PHP wie, tylko Mysql a dokładnie "zapytanie" które ty definujesz poprzez złączenia tabel w WHERE i JOIN http://www.codinghorror.com/blog/2007/10/a...-sql-joins.html joiny i różnice między nimi na diagamach Vanna http://dev.mysql.com/doc/refman/5.5/en/select.html i manual Mysql z którego dowiesz się jak pisać "zapytania" -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 168 Pomógł: 126 Dołączył: 5.02.2010 Skąd: Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Mam stworzone teraz 3 tabele:
Przedmioty -> ID, nazwa Oceny -> ID, ocena Users -> ID, imie, nazwisko, przedmiot_id, ocena_id I teraz pytanie czy takie coś jest prawidłowo ? Co prawda po takim zapytaniu jak Kod SELECT users.id, imie, nazwisko, oceny.ocena, przedmioty.nazwa FROM users INNER JOIN oceny ON users.ocena_id = oceny.id INNER JOIN przedmioty ON przedmiot_id = przedmioty.id; otrzymuję: Kod +--+------+----------+------+------+ |ID|imie |nazwisko|ocena|nazwa| +--+------+----------+------+------+ |1 |Marek|Kowalski |3 |Polski| +--+-------+----------+-----+-------+ Przy większej ilości wpisów przy tym zapytaniu ID segreguje (a właśnie nie segreguje) w ten sposób: 1,3,7,2,4,6,5... Skąd taki wynik ? A drugą sprawą jest edycja Przedmiotów... Bo teraz mam przypisane po ID, a ID jest tworzone automatycznie i cały czas do góry, co jeśli usunę np jeden przedmiot i będę miał lukę w liczbach ID ? Jak to później połączyć ? Ten post edytował Szymciosek 16.05.2012, 23:11:03 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 17:16 |