![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
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ć.
|
|
|
![]()
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?
|
|
|
![]()
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ć.
|
|
|
![]()
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.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 0 Dołączył: 18.03.2008 Skąd: Olsztyn Ostrzeżenie: (20%) ![]() ![]() |
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ł. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 21:07 |