projekt bazy mysql

0

Witam,

Próbuję stworzyć bazę kwaterunku.

http://img201.imageshack.us/img201/2158/szafki.png

Posiadam kilkadziesiąt szt. różnego asortymentu, który jest przydzielony do różnych numerowanych pomieszczeń. Chciałbym wiedzieć jaki sprzęt mam w danym pomieszczeniu, ile mam tego sprzętu, oraz możliwość zmiany sprzętu w poszczególnych pomieszczeniach. Np. dzisiaj koc jest w pom. nr 2 a jutro już może będzie w pom. nr 8 itp.

Mam tabelę sprzęt, pomieszczenia, miary (może by szt. albo m2) i lokalizacja sprzętu.

Teraz ma problem z ewentualnym wprowadzaniem sprzętu do bazy.
Bo jeżeli mam 30 kocy to muszę je wprowadzić pod 30 pozycjami? Wszystkie koce mają jeden indeks materiałowy czyli tzw JIM np. 37828288. Jakieś latarki będą miały inny indeks np. 9998998. Itd.

Może zerkniecie na bazę a będę wdzięczny za wpisy.

1

ilosc_cala, id_miary ze sprzętu do usunięcia natomiast w lok_sprzętu powinna być właśnie ilość i jednostka (dlaczego ilość jest varchar?)
Mając 20 kocy i chowając 15 w pom1 i 5 w pom2 dodajesz do tabeli sprzęt RAZ koc a następnie RAZ koc w pom1 i ilości 15 i RAZ koc w pom2 i ilości 5. W sumie 3 inserty

0

Dziękuję za podpowiedź. Chciałbym później w php zrobić ewidencję tego sprzętu, tylko jeszcze nie wiem jak przenosić sprzęt miedzy pomieszczeniami jak zajdzie taka potrzeba. Będę chciał zostawiać historię stanu sprzętu w pomieszczeniach po zmianach.

0

historię sobie zapisuj w osobnej tabeli - kto, co, skąd, dokąd, ile. Co do samego przenoszenia to zmniejszasz ilość w jednym pomieszczeniu (UPDATE) i dodajesz w drugim (UPDATE jeśli już jakiś był albo INSERT jeśli jeszcze nie było) plus do tego zapisanie historii

0

Ok. W sumie to proste. Historia, czyli osobna tabela? Nie wiem tylko jakie pola tam stworzyć.

0
kmpl napisał(a):

Ok. W sumie to proste. Historia, czyli osobna tabela? Nie wiem tylko jakie pola tam stworzyć.

historię sobie zapisuj w osobnej tabeli - kto, co, skąd, dokąd, ile

0

Proste jeżeli chodzi o zmianę pomieszczeń UPDATE, INSERT. Gorzej z tabelą historia :)

1

z czym gorzej bo nie rozumiem? Jak chcesz przesunąć 5 szt kocy z pom1 do pom2 to
a) w pom2 nie ma żadnych kocy

  1. UPDATE lok_sprzętu SET ile = ile - 5 WHERE sprzet = 'koc' AND pom = 'pom1';
  2. INSERT INTO lok_sprzętu (ile, sprzet, pom) VALUES (5, 'koc', 'pom2');
  3. INSERT INTO historia (kto, co, skad, dokad, ile) VALUES ('ja', 'koc', 'pom1', 'pom2', 5);

b) w pom2 są już koce

  1. UPDATE lok_sprzętu SET ile = ile - 5 WHERE sprzet = 'koc' AND pom = 'pom1';
  2. UPDATE lok_sprzętu SET ile = ile + 5 WHERE sprzet = 'koc' AND pom = 'pom2';
  3. INSERT INTO historia (kto, co, skad, dokad, ile) VALUES ('ja', 'koc', 'pom1', 'pom2', 5);

cała filozofia

Oczywiście można do tego napisać odpowiednie procedury po stronie bazy, gdzie tylko podasz co, skąd, dokąd i ile i już

0

Teraz już mi się rozjaśniło :) Wielkie dzięki.

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