Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Unikatowość rekordów (plan zajęć)
Forum PHP.pl > Forum > Bazy danych > MySQL
karwo27
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.
Noidea
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).
karwo27
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ć?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.