Witam,

Chciałbym zrobić grafik dyżurów dla pracowników na zasadzie kalendarza.
Pracownik wypełniałby taki kalendarz na przyszły miesiąc wpisując w każdym dniu od której do której godziny chciałby pracować . Następnie koordynator modyfikowałby grafik do aktualnych potrzeb i pracownik mógłby przejrzeć swój grafik po modyfikacji. Interfejs chciałbym do tego zrobić w php.
Póki co ułożyłem poniższą strukturę tabel, czy będzie ona odpowiednia?



  1. CREATE TABLE loginy(
  2. ID_LOGINU int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  3. login varchar(30) NOT NULL,
  4. haslo varchar(30) NOT NULL
  5. );
  6.  
  7.  
  8. CREATE TABLE pracownik(
  9. ID_PRACOWNIKA int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  10. login varchar (20) NOT NULL,
  11. haslo varchar (20) NOT NULL,
  12. imie varchar (20) NOT NULL,
  13. nazwisko varchar (30) NOT NULL,
  14. firma varchar (40),
  15. ulica varchar (30) NOT NULL,
  16. nr int (20) NOT NULL,
  17. kod int (20) NOT NULL,
  18. miasto varchar (20) NOT NULL,
  19. nrTel int (20) NOT NULL,
  20. nrPesel int (20) NOT NULL,
  21. NIP int (20) ,
  22. email varchar (20),
  23. numerID int (20) ,
  24. umowa decimal(5,2) NOT NULL, INDEX idumowa(umowa) ,FOREIGN KEY (umowa) REFERENCES umowa(ID_MOWY),
  25. grupa decimal(5,2) NOT NULL, INDEX idgrupa(grupa) ,FOREIGN KEY (grupa) REFERENCES grupa(ID_GRUPY)
  26. );
  27.  
  28.  
  29.  
  30.  
  31. CREATE TABLE umowa(
  32. ID_UMOWY int UNSIGNED NOT NULL PRIMARY KEY,
  33. stawka decimal(5,2) NOT NULL,
  34. etat decimal(5,2) NOT NULL
  35. );
  36.  
  37.  
  38. CREATE TABLE zmiana(
  39. ID_ZMIANY int UNSIGNED NOT NULL PRIMARY KEY,
  40. zmiana int (20) NOT NULL
  41. );
  42.  
  43.  
  44.  
  45.  
  46. CREATE TABLE grupa(
  47. ID_GRUPY int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  48. funkcja varchar(50) NOT NULL,
  49. uprawnienia varchar(50) NOT NULL
  50.  
  51. );
  52.  
  53.  
  54. CREATE TABLE godziny(
  55. ID_GODZINY int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  56. godzina decimal(5,2) NOT NULL
  57.  
  58.  
  59. );
  60.  
  61. CREATE TABLE grafik(
  62. ID_GRAFIK1 int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
  63. DATA date NOT NULL,
  64. od int (20) NOT NULL,
  65. do int (20) NOT NULL,
  66. worker int (20) NOT NULL, INDEX idworker(worker) ,FOREIGN KEY (worker) REFERENCES pracownik(ID_PRACOWNIKA),
  67. godziny int (20) NOT NULL, INDEX godziny(godziny) ,FOREIGN KEY (godziny) REFERENCES godziny(ID_GODZINY)
  68.  
  69.  
  70. );