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" ?
|
|
|
|
![]() |
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ść.
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 0 Dołączył: 29.04.2012 Ostrzeżenie: (0%)
|
a co do szybkości ?
|
|
|
|
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.
|
|
|
|
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 ?
|
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 353 Pomógł: 50 Dołączył: 28.07.2005 Skąd: Łaziska Górne Ostrzeżenie: (0%)
|
Tak
|
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 12 Dołączył: 15.02.2012 Ostrzeżenie: (0%)
|
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 |
|
|
|
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
|
|
|
|
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. |
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 23:54 |