Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Projekt bazy danych
LukPG
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 3.10.2008

Ostrzeżenie: (0%)
-----


Witam

Chciałbym wykonać bazę danych, opisującą zarządzanie urlopami pracowników. Istnieją trzy tabele:
Pracownicy - zawierająca informacje o pracownikach, np. id_pracownika, imie, nazwisko, adres, telefon, id_karty
Karty - zapisane są na niej informacje dotyczące urlopów, (każdy użytkownik posiada dokładnie jedną kartę) np. id_karty, data_wydania, data_wygasniecia, ...
Urlopy - informacje dotyczące urlopów, zapisane na karcie, id_urlopu, id_karty ,rodzaj_urlopu, data_rozpoczecia, data_zakonczenia, rodzaj
Zastanawiam się, czy takie połączenie tabel urlopy i karty jest poprawne? Czy jako klucz główny tabeli urlopy lepiej wybrać pojedynczą wartość id_urlopu, czy lepiej wybrać klucz złożony id_urlopu+id_karty. Prosiłbym o wskazówki. Za pomoc z góry dziękuję.

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
patryczakowy
post
Post #2





Grupa: Zarejestrowani
Postów: 420
Pomógł: 44
Dołączył: 22.10.2008

Ostrzeżenie: (0%)
-----


moim zdaniem powinno być tak id_urlopu- klucz główny id_karty- klucz obcy z karty
a do tabeli karty dodać klucz obcy id_pracownik żeby było wiadomo która karta do którego pracownika


--------------------
Sztuką jest widzieć to czego nie widać.
Go to the top of the page
+Quote Post
LukPG
post
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 3.10.2008

Ostrzeżenie: (0%)
-----


Dzięki za szybką odpowiedź. Napisałeś, żeby do tabeli karty dodać klucz obcy id_pracownika. W tym projekcie zrobiłem trochę inaczej: do tabeli pracownicy dodałem klucz obcy id_karty z tabeli karty. Zastanawiam się, która z tych dwóch możliwości byłaby lepsza?
Go to the top of the page
+Quote Post
patryczakowy
post
Post #4





Grupa: Zarejestrowani
Postów: 420
Pomógł: 44
Dołączył: 22.10.2008

Ostrzeżenie: (0%)
-----


to w tym wypadku jak masz w tabeli pracownicy id_karty to w tabeli urlopy kluczem obcym powinno być id_pracownika a nie id karty


--------------------
Sztuką jest widzieć to czego nie widać.
Go to the top of the page
+Quote Post
LukPG
post
Post #5





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 3.10.2008

Ostrzeżenie: (0%)
-----


Ale dlaczego w tabeli urlopy nie może być również klucza obcego id_karty? W takim wypadku, istniałyby dwa takie same klucze obce: w tabeli pracownicy oraz w tabeli urlopy. Czy obecność dwóch identycznych kluczy obcych jest błędem? Cały czas jestem w stanie wydobyć z bazy wszystkie potrzebne informacje - istnieje połączenie pomiędzy wszystkimi tabelami.
Go to the top of the page
+Quote Post
kaminskp
post
Post #6





Grupa: Zarejestrowani
Postów: 98
Pomógł: 0
Dołączył: 18.03.2008
Skąd: Olsztyn

Ostrzeżenie: (20%)
X----


Moim zdanie w tabeli Pracownicy nie powinno być id_karty
Id... może ulec zmianie. Można stworzyć oddzielną tabelę
w której będą id, id_pracownika, id_karty.
Tak bym to zrobił.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 21:07