Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dziennik internetowy
Cliassi
post
Post #1





Grupa: Zarejestrowani
Postów: 142
Pomógł: 0
Dołączył: 29.04.2012

Ostrzeżenie: (0%)
-----


Witam, mam problem z strukturą bazy danych. Mam tabele: szkoły klasy studenci. Chąc stworzyć system wyświetlający oceny wszystkich studentów lepiej jest robić oddzielna tabelke dla klasy czy wszystko w jednej trzymać i dać pole "id klasy" ?
Go to the top of the page
+Quote Post
spokoloko123
post
Post #2





Grupa: Zarejestrowani
Postów: 114
Pomógł: 12
Dołączył: 15.02.2012

Ostrzeżenie: (0%)
-----


Odpowiednio zrobione osobne tabelę zapewniają większą elastyczność.
Go to the top of the page
+Quote Post
Cliassi
post
Post #3





Grupa: Zarejestrowani
Postów: 142
Pomógł: 0
Dołączył: 29.04.2012

Ostrzeżenie: (0%)
-----


a co do szybkości ?
Go to the top of the page
+Quote Post
PanGuzol
post
Post #4





Grupa: Zarejestrowani
Postów: 353
Pomógł: 50
Dołączył: 28.07.2005
Skąd: Łaziska Górne

Ostrzeżenie: (0%)
-----


Tworzenie nowej tabeli dla każdej nowej klasy to raczej złe rozwiązanie. Z czasem jak będziesz miał kilka tysięcy klas i tym samym kilka tysięcy tabel to będzie bardzo trudne i powolne jak będziesz chciał policzyć statystykę lub cokolwiek bazując na wszystkich danych. Standardowa relacja jeden do wielu powinna być najlepszym rozwiązaniem.
Go to the top of the page
+Quote Post
Cliassi
post
Post #5





Grupa: Zarejestrowani
Postów: 142
Pomógł: 0
Dołączył: 29.04.2012

Ostrzeżenie: (0%)
-----


czyli lepiej mieć to wszystko w jednej tabeli ?
Go to the top of the page
+Quote Post
PanGuzol
post
Post #6





Grupa: Zarejestrowani
Postów: 353
Pomógł: 50
Dołączył: 28.07.2005
Skąd: Łaziska Górne

Ostrzeżenie: (0%)
-----


Tak
Go to the top of the page
+Quote Post
spokoloko123
post
Post #7





Grupa: Zarejestrowani
Postów: 114
Pomógł: 12
Dołączył: 15.02.2012

Ostrzeżenie: (0%)
-----


Cytat(Cliassi @ 17.11.2012, 19:23:52 ) *
czyli lepiej mieć to wszystko w jednej tabeli ?

Żeby nie było nieporozumień w trzech tabelach (IMG:style_emoticons/default/wink.gif) Trudno o receptę na bazę danych. To co napisałeś na początku "szkoły klasy studenci" jest najprostsze, a proste rozwiązania zazwyczaj sprawdzają się najlepiej. Zastanawia mnie tylko czy dla klas jest sens tworzenia osobnej tabeli bo zazwyczaj klasę opisujemy od dwóch do trzech znaków np. 1A, 3Az

Ten post edytował spokoloko123 17.11.2012, 21:21:41
Go to the top of the page
+Quote Post
CuteOne
post
Post #8





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


+ co najmniej 2 tabele na relacje - jeden student, może być zapisany do X kirunków w X uczelniach
Go to the top of the page
+Quote Post
thek
post
Post #9





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Jak dla mnie najprostszym podejściem będzie wersja z podziałem podobnym do:

Uczeń: id, nazwisko, imię
Szkoła: id, nazwa
Klasa: id, id_szkoły, nazwa
Przedmiot: id, nazwa

Klasa_rocznika: id, id_klasy, rok
Ocena: id_ucznia, id_klasy_rocznika, id_przedmiotu, ocena

Oczywiście można rozbijać na wiele innych relacji, ale ten sposób w jednym miejscu gromadzi wszystkie konieczne dane. Ocena wskazuje na ucznia i przedmiot, a dodatkowo określoną klasę. Dla takiego podejścia wydzieliłem jeszcze rocznik klasy. Dzięki temu dochodzi kilka możliwości przy wyłuskiwaniu danych, bez zbytniego rozbicia na malutkie klasy. Oczywiście to tylko jedna z wielu możliwości podejścia. Wiele zależy od tego, na co kładziesz nacisk.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 05:52