projekt bazy danych studentow
lukasz - 11-11-2005 11:41
projekt bazy danych studentow
Mam drobny problem z zaprojektowaniem bazy danych studentow. W istote problemu wchodza trzy tabelki: Studenci, Grupy, Studenci_Grupy. Tabelka Grupy ma strukture drzewiasta tzn. każda grupa może miec podgrupy, podpodgrupy itd. Grupą która bedzie najwyzej w chierarchi (nie będzie mieć nadgrupy) jest 'uczelnia' (co jest zupelnie zrozumiale i oczywiste). Przejdźmy teraz do tabeli studenci. Kluczem głównym nie może być nr indexu ponieważ studenci mogą być z różnych uczelni. Pesel też nie wchodzi w grę. Doszedlem do wniosku iż rozsądne by było jeśli KG byłby złożony z numeru indeksu oraz identyfikatora uczelni. Problem w tym iż przyporządkowanie uczelnia - student siedzi już w tabeli Studenci_Grupy i przy każdym tworzeniu studenta musialbym wpisywać dane do dwóch tabel. Poza tym nie jest to prawidlowy projekt bazy. Usunięcie grupy 'uczelnia' tez nie może być zrealizowane ponieważ podgrupy w stylu 'kierunek' muszą mieć swojego rodzica.
Jesli ktos mialby jakis plan co do rozwiązania powyższego problemu będę bardzo wdzięczny
-- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Robert Grabowski - 11-11-2005 11:41
lukasz wrote: [...] > Jesli ktos mialby jakis plan co do rozwiązania powyższego problemu będę bardzo > wdzięczny >
Poczytaj o sztucznym kluczu głównym i naturalnym kluczu głównym. Ten pierwszy będzie rozwiązaniem Twojego problemu.
pozdrawiam Robert Grabowski
=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 11-11-2005 11:42
lukasz wrote: > Mam drobny problem z zaprojektowaniem bazy danych studentow. > W istote problemu wchodza trzy tabelki: Studenci, Grupy, Studenci_Grupy. > Tabelka Grupy ma strukture drzewiasta tzn. każda grupa może miec podgrupy, > podpodgrupy itd. > Grupą która bedzie najwyzej w chierarchi (nie będzie mieć nadgrupy) jest > 'uczelnia' (co jest zupelnie zrozumiale i oczywiste). > Przejdźmy teraz do tabeli studenci. Kluczem głównym nie może być nr indexu > ponieważ > studenci mogą być z różnych uczelni. Pesel też nie wchodzi w grę. > Doszedlem do wniosku iż rozsądne by było jeśli KG byłby złożony z numeru indeksu > oraz identyfikatora uczelni.
Słuszny wniosek
> Problem w tym iż przyporządkowanie uczelnia - student siedzi już w tabeli > Studenci_Grupy i przy każdym tworzeniu studenta musialbym wpisywać dane do dwóch > tabel.
Nie bardzo roumiem ten problem?
> Poza tym nie jest to prawidlowy projekt bazy.
A skąd ten wniosek. Nie podałeś znaczenia tabeli studenci_grupy (wygląda na tabele do realizacji realcji n:m i w takiej sytuacji w projekcie nie powineneś myśleć o tej tabeli a o tabeli grupy)
> Usunięcie grupy 'uczelnia' tez nie może być zrealizowane ponieważ podgrupy w > stylu 'kierunek' muszą mieć swojego rodzica. > > Jesli ktos mialby jakis plan co do rozwiązania powyższego problemu będę bardzo > wdzięczny
Powiąż studenta bezpośrednio z uczelnią. Myśle, że będzie to przydatne nie tylko przy sprawdzaniu unikalności indexu. Tylko, że to powinna być relacja n:m... czyli może mieć kilka indeksów (czy indeksy przewidziałeś jako osobny obiekt? :) ) Aby doradzić dokładniej, trzeba wiedzieć co masz w tej tabeli grupy.
-- P.M.
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?=
[laik]Jak =?ISO-8859-2?Q?stworzy=E6/zaczac_tworzyc__ma=B3=B1?==?ISO-8859-2?Q?__baz=EA_danych_na_potrzeby_www=3F?=
[mysql] przenoszenie danych =?ISO-8859-2?Q?mi=EAdzy_tabelami_?==?ISO-8859-2?Q?w_r=F3=BFnych_bazach?=
Ksiazka - "Podstawowy =?ISO-8859-2?Q?wyk=B3ad_z_system=F3w_?==?ISO-8859-2?Q?baz_danych=22?=
Zrywanie =?ISO-8859-2?Q?po=B3aczen_z_baza_danych_-_pos?==?ISO-8859-2?Q?tgresql_=3C-=3E_odbc?=
=?iso-8859-2?Q?=5BSQL_Server_2000=5D_uprawnienienia_do_u=BFyw ania_widoku_?==?iso-8859-2?Q?opartego_na_tabeli_z_innej_bazy?=
Dwie bazy czy dwie tabele?
[PHP i MySQL] Wstawianie =?ISO-8859-2?Q?rekord=F3w_do_bazy_?==?ISO-8859-2?Q?a_z=B3e_kodowanie?=
[mssql] insert do tabeli na podstawie danych z innej tabeli
=?ISO-8859-2?Q?=5Bmysql=5D_synchronizacja_struktury_bazy_?==? ISO-8859-2?Q?lokalnej_ze_zdaln=B1?=
zanotowane.pldoc.pisz.plpdf.pisz.plquentinho.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|