Ciao a tutti,
visto che l'altro post è diventato una bibbia [Cit. By borgo :quote:] lo riapro sperando di non fare pasticci
Come dicevamo nell'altro post ho la necissita di effettuare uno scarico di quantità da un determinato magazzino, qui c'è stato "l'intoppo" perchè giustamente Borgo mi dice che forse è meglio suddividere i negozi...
A questo punto dando ragione a Borgo e suddividendo le tabelle siamo giunti a questa situazione :
Quindi io ho creato le varie tabelle :
Queste sono tutte le strutture...
visto che l'altro post è diventato una bibbia [Cit. By borgo :quote:] lo riapro sperando di non fare pasticci
Come dicevamo nell'altro post ho la necissita di effettuare uno scarico di quantità da un determinato magazzino, qui c'è stato "l'intoppo" perchè giustamente Borgo mi dice che forse è meglio suddividere i negozi...
A questo punto dando ragione a Borgo e suddividendo le tabelle siamo giunti a questa situazione :
ciao
ti posso dire come avrei fatto io.
ti schematizzo un esempio
tabella negozi
id_n |nome |... e altri dati del negozio se servono
tabella articoli
id_a | codice | nome | descrizione | .....
questa non so se ti serve
tabella operatori
id_o | nome | .....
tabella magazzino
id | id_n | id_a | um | quantita_tot
se ti serve potresti fare anche una
tabella movimenti
id | id_n | id_a | um | quantita_mov | data_mov | tipo_mov | id_o
secondo me facendo una cosa del genere, tramite <select> dinamiche e/o join, dovresti riuscire a gestire il magazzino in modo migliore (è più efficiente): carico/scarico per vendita/spostamento articoli da un negozio all'altro...
in questo modo (faccio solo un esempio) se i negozi passano da due a tre non hai problemi.
Quindi io ho creato le varie tabelle :
Codice:
CREATE TABLE IF NOT EXISTS `Articoli` (
`CodiceInterno` int(11) NOT NULL DEFAULT '0',
`Fornitore` varchar(50) DEFAULT NULL,
`Codice` varchar(30) DEFAULT NULL,
`Descrizione` varchar(200) DEFAULT NULL,
`Reparto` varchar(4) DEFAULT NULL,
`Codice a Barre` varchar(50) DEFAULT NULL,
`UM` varchar(2) DEFAULT NULL,
`Listino Fornitore` double DEFAULT '0',
`IVA` tinyint(4) DEFAULT '0',
`Acquisto` double DEFAULT '0',
`Acquisto non ivato` double DEFAULT '0',
`Vendita` double DEFAULT '0',
`Vendita non ivato` double DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Codice:
CREATE TABLE IF NOT EXISTS `Magazzino` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_n` int(11) NOT NULL,
`id_a` int(11) NOT NULL,
`um` varchar(5) NOT NULL,
`quantita_tot` varchar(5) NOT NULL,
PRIMARY KEY (`id`),
KEY `id` (`id`),
KEY `id_2` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Codice:
CREATE TABLE IF NOT EXISTS `Movimenti` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`id_n` int(11) NOT NULL,
`id_a` int(11) NOT NULL,
`id_o` int(11) NOT NULL,
`um` varchar(5) NOT NULL,
`quantita_mov` varchar(5) NOT NULL,
`data_mov` datetime NOT NULL,
`causale` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Codice:
CREATE TABLE IF NOT EXISTS `Negozi` (
`id_n` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id negozi',
`nome` varchar(100) NOT NULL,
`ragione_sociale` varchar(100) NOT NULL,
`indirizzo` varchar(100) NOT NULL,
`cap` varchar(5) NOT NULL,
`citta` varchar(40) NOT NULL,
`provincia` varchar(2) NOT NULL,
`telefono` varchar(10) NOT NULL,
`fax` varchar(10) NOT NULL,
`piva` varchar(11) NOT NULL,
`cf` varchar(16) NOT NULL,
`email` varchar(120) NOT NULL,
PRIMARY KEY (`id_n`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Codice:
CREATE TABLE IF NOT EXISTS `Operatori` (
`id_o` int(11) NOT NULL AUTO_INCREMENT,
`nome` varchar(100) NOT NULL,
`cognome` varchar(100) NOT NULL,
`indirizzo` varchar(100) NOT NULL,
`cap` varchar(5) NOT NULL,
`citta` varchar(100) NOT NULL,
`provincia` varchar(2) NOT NULL,
`telefono` varchar(10) NOT NULL,
`cellulare` varchar(10) NOT NULL,
`username` varchar(100) NOT NULL,
`password` varchar(100) NOT NULL,
`email` varchar(120) NOT NULL,
`cf` varchar(16) NOT NULL,
PRIMARY KEY (`id_o`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Queste sono tutte le strutture...