Tworzenie tabeli z primary key jako wszystkie kolumny

0

Witam! Mam mały dylemat. Jestem początkującym w bazach danych. Mój problem wygląda następująco:

Mam za zadanie utworzenie tabeli w której mamy takie kolumny jak:

Rok, Tydzień, Dzień, IDZadania, IDPracownika,

Pola oprócz IDZadania muszą być unikalne(tzn wszystkie na raz, nie mogę być dwa wiersze z tym samy rokiem, tygodniem, dniem dla danego pracownika), więc myslałem żeby zrobić primary key jako wszystkie kolumny. Ale pole IDPracownika może być null, zatem nie może być primary key, ale może być tylko jeden wiersz w tej tabeli z IDPracownika null co oznacza że dotyczy to wszystkich pracowników. Ale znowu nie wiem wtedy jaki dać klucz, zeby przyśpieszyć późniejsze filtrowanie. IDZadania i IDPracownika będą kluczami obcymi do innych tabel.

Jakieś wskazówki?

1

id (PK)
data (nie rok, tydzien, dzien) + IDZadania +IDPracownika (UI)

0

ok, ale rok tydzień dzień muszę mieć rozdzielone

0

Dlaczego?

0

poprawnie jak pisze Marcin

  1. dużo prościej pisze się update/delete jak w warunku masz podać jedno id zamiast x kolumn
  2. trzymanie daty w osobnych kolumnach to zułooo. Do rozdziału daty na poszczególne składowe służy https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1