Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Unikatowość rekordów (plan zajęć)
karwo27
post
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
Go to the top of the page
+Quote Post
Noidea
post
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).
Go to the top of the page
+Quote Post
karwo27
post
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
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: 25.12.2025 - 01:06