Struktura bazy (program płacowo-kadrowy)-opinie,sugestie

0

Witam
Mam wykonać projekt aplikacji obejmującej zarządzanie kartoteka personalną oraz płacami pracowników w małym przedsiębiorstwie.
Projekt mam zamiar wykonać w PHP + MySQL
Moje pytania:

  1. czy struktura bazy jest poprawna i czy relacje też
  2. muszę rozwiązać problem urlopów, dni chorobowych oraz ich wynagrodzenie nie wiem jak to teraz połączyć
  3. używam MySQL Workbench 5.1.16 i nie wiem czemu nie chce mi dodawać insertów do bazy , po prosty czy tworzeniu tabeli dodaje tez jakieś inserty i przy synchronizacji z baza tabele są ale insertów już mi nie dodało
  4. jestem nowy więc nie walcie z grubej rury
0

nie jest poprawny - występuje nadmiarowość danych - np. pracownik ma imię i nazwisko tak samo jak i dane_pracownika - po co? Po co jest tabelka konto, dane_pracownika? Powinna być (jak już) to tabela banki z nazwą, konto powinno być przy pracowniku. Nieobecności powinny być podpięte do pracownika - w końcu to on jest nieobecny a nie jego kalendarz. Co do wynagrodzenia to się nie wypowiem bo nie mam wiedzy z tego zakresu (czy wszystko musi tam być)

0

dokładnie tak jak napisał Abrakadaber. Poza tym bez PESELa raczej PITa nie wystawisz, a pracownik też musi mieszkać pod jakimś adresem. Mam tylko nadzieję, że to jest baza "do ćwiczeń", a nie projekt komercyjny

0

W tabeli konto i dane_pracownika nie były rozwinięte wszystkie pola wybaczcie.

Juz wszystko wyjaśniam, tabela dane_pracownika stworzyłem po to aby tabela pracownik nie posiadała tak dużo pól, tabela konto będzie sie odwoływać do systemu logowania pracownika na swoje konto na stronie www ( pracownik będzie mógł sobie zobaczyć ile dni ma urlopowych, kalendarz pracy, zarezerwować dni wolne, powiadomić przełożonego o chorobie itd.).

Tabele nieobecność rozumiałem w ten sposób: ze każdy pracownik będzie miał swój kalendarz pracy(wyswietlany kalendarz na stronie www ) i dane do kalendarza bedzie pobierał z bazy z tabeli kalendarz_pracy (każdy dzień w roku kazdego pracownika- duzo rekorów?) i bedzie jeszcze sprawdzał warunek czy w tabeli nieobecność
jest taki rekord *FK_Kalendarza_pracy * i jeżeli tak to bedzie to jakoś zaznaczone ze nie ma go w pracy.

Czy ja dobrze rozumiem powinienem zlikwidować tabele dane_pracownika i umieścić jej pola w tabeli pracownik a tabele nieobecność podpiąć pod pracownika .
Nie to nie jest projekt komercyjny tylko zaliczenie projekty.
Juz zgupiałem:)
Wrzucam jeszcze raz diagram.

0

PESEL - 45 znaki varchar ? PESEL ma zawsze 11 znaków. Brakuj pola POCZTA. W małych wioskach poczta może znajdować się w innej miejscowości.

0
  1. Takie dane, jak "Stanowisko", czy "rodzaj_umowy" powinny być zesłownikowane (nazwy w oddzielnej tabeli, a w "Pracownik" tylko id).

  2. Czy potrzebujesz danych historycznych, np. na jakim stanowisku był pracownik wcześniej, jaką ma historię zmian wynagrodzeń?

0

rozbijanie jednej tabeli na 4 połączone 1..1 do siebie jest nieporozumieniem. Gdyby jeszcze było tak, że część danych jest zawsze uzupełniona a część bardzo rzadko to miało by to jakieś pokrętne uzasadnienie ale rozdzielanie na 4 tabele dane pracownika to nieporozumienie. Potem musisz za każdym razem łączyć te tabele. Natomiast do tabel słownikowych powinny wylecieć takie dane jak województwo, miasto, bank i oddział (rozumiem, że chodzi o nazwę banku) stanowisko, rodzaj umowy

0

Struktura bazy danych programu płacowego to w polskiej rzeczywistości temat na doktorat. Jeżeli to ma być tylko projekt ćwiczeniowy to raczej nie próbuj ogarnąć całego tematu. Weź do garści PIT 37 zobacz co potrzebuje US, weź PŁATNIKA zobacz co tam jest potrzebne i spróbuj to jakoś razem skompilować.
Ja osobiście Bank i konto bankowe pracownika trzymałbym w tej samej tabeli co dane pracownika (pesel, adres itp.) tylko z tą uwagą, że były by to co najmniej dwa konta gdyż czasami pracownik chce aby część pieniędzy wpłynęła na jego konto, a część np. na konto żony.

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