![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 16.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Hej,
Mam do opracowania bazę danych w SQL na temat budowy systemu do tworzenia planu zajęć. Wszystkie tabele mam stworzone raczej poprawnie, jednak mam do Was pytanie, jak stworzyć unikalność rekordów w tabeli Przydział, tak aby żaden prowadzący nie miał w tym samym czasie dwóch zajęć, tak aby jedna sala nie była zajmowana przez dwie grupy...itd. itp? Jak to rozwiązać w SQL? Moje tabele: Przydział ID_przydział ID_przedmiot ID_wykladowca ID_grupa ID_sala ID_dzien ID_godzina Opis Przedmiot ID_przedmiot Nazwa_przedmiotu Opis Rok ID_rok Nazwa Rok_rozpoczecia Opis Grupa ID_grupa ID_rok Liczba_studentow Nazwa Opis I reszta tabel wygląda podobnie....chodzi mi głownie o tabelę Przydział, jak rozwiązać mój problem budowy planu zajęć? Z góry dzięki za pomoc. Ten post edytował karwo27 16.05.2011, 15:38:49 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 61 Dołączył: 20.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem, że masz takie założenia:
w danym dniu i o danej godzinie sala może mieć tylko jeden przydział w danym dniu i o danej godzinie grupa może mieć tylko jeden przydział w danym dniu i o danej godzinie wykładowca może mieć tylko jeden przydział W takim razie wystarczy dodać do tabeli Przydział trzy klucze UNIQUE, składające się z trzech kolumn każdy (jak w ww. założeniach). -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 16.05.2011 Ostrzeżenie: (0%) ![]() ![]() |
Czyli mam wykonać komendę UNIQUE, która będzie wyglądać następująco:
... UNIQUE (ID_wykladowca and ID_dzien and ID_godzina), UNIQUE (ID_sala and ID_dzien and ID_godzina), UNIQUE (ID_grupa and ID_dzien and ID_godzina), ... Czy to jakoś inaczej ma wyglądać? Ten post edytował karwo27 16.05.2011, 17:42:35 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 18:12 |