Micron Engineering ha scritto:
Filippo Cerulo ha scritto:
Micron Engineering ha scritto:
ora... a me sembra sia meglio:

TAnagrafica:
IDAnag, AziendaPersona, IDAziendaPers

TAnagAziende:
IDAzienda, RagSociale, PIVA

TAnagPersoneFisiche:
IDPers, Cognome, Nome, CodiceFiscale

TIndirizzi:
IDIndirizzo, Nazione, Città, CAP, Via, NumeroCivico, Telefono, Fax,
Email, Cellulare,WWW, IDAziendaPers

TConti:
IDConto, TotOrdinato, TotPagato, TotScaduto, IDAziendaPers

dove i campi ID sono le foreign key tra le varie tabelle. L'unica fk che
merita descivere è IDAziendaPers che si relaziona con IDAzienda o IDPers
in funzione di quali record filtrare.
Potrebbe anche essere meglio, se non fosse che, oltre a progettare la
maschera di immissione, ci devi fare un bel lavoro dietro per mettere
tutti i dati al posto giusto.....
per questo esistono le query. Le tabelle non devono essere pensate in
funzione dei dati da presentare in un report o in una maschera, devono
essere un sistema efficiente di memorizazione, diciamo il livello più
basso, il livello intermedio sono le query che forniscono i dati che
servono per maschere e report. In sostanza una maschera o un report
dovrebbero ricevere i dati da una query e non direttamente da una
tabella. E comunque non è un lavoro gravoso e permette l'espandibilità
del db al cambiare delle esigenze, il tutto in modo molto flessibile.
Purtroppo tu come molti altri vi concentrate troppo sulla presentazione
dei dati e non sull'implementazione/gestione. Un pattern molto utile da
seguire è MVC che razionalizza la struttura dell'applicazione.


------------------------------------------------------------------------

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Ciao,
entro in ritardo nella discussione, io avrei una bozza pronta, completa di tabelle e, in parte già funzionale, di un gestionale per negozio. Interamente scritto da me facendo uso di php/Mysql per quanto concerne le tabelle questo è un mio schema, se può essere utile...

ciao

Stefano
# phpMyAdmin SQL Dump
# version 2.5.3
# http://www.phpmyadmin.net
#
# Host: localhost
# Generato il: 04 Ago, 2007 at 11:36 AM
# Versione MySQL: 4.0.15
# Versione PHP: 4.3.3
# # Database : `fatture` # # -------------------------------------------------------- #
# Struttura della tabella `barcode`
#
DROP TABLE IF EXISTS `barcode`;
CREATE TABLE `barcode` (
  `ID` int(12) NOT NULL auto_increment,
  `BARCODE` varchar(20) default NULL,
  `IDPRODOTTO` int(12) default NULL,
  `DESCRPRODOTTO` varchar(80) default NULL,
  `IDFORNITORE` int(12) default NULL,
  `FORNITORE` varchar(250) default NULL,
  `DATA` datetime default NULL,
  `ATTIVO` int(11) default '0',
  PRIMARY KEY  (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=115 ;
# -------------------------------------------------------- #
# Struttura della tabella `carrelli`
#
DROP TABLE IF EXISTS `carrelli`;
CREATE TABLE `carrelli` (
  `NUMCAR` int(15) NOT NULL auto_increment,
  `ANNOCAR` year(4) NOT NULL default '0000',
  `DATACAR` timestamp(14) NOT NULL,
  `PZTOT` int(10) NOT NULL default '0',
  `PRZTOT` double(10,2) NOT NULL default '0.00',
  `NOMECLIENTE` varchar(250) NOT NULL default '',
  `IDCLIENTE` varchar(20) NOT NULL default '',
  `STATOCAR` char(1) NOT NULL default '',
  `FATTURA` varchar(10) default NULL,
  `ANNOFATT` year(4) default NULL,
  `IDFATTURA` int(20) NOT NULL default '0',
  `FATTURADDT` varchar(10) default NULL,
  `ANNOFATTURADDT` year(4) default NULL,
  `IDFATTURADDT` int(20) NOT NULL default '0',
  `DDT` varchar(10) default NULL,
  `ANNODDT` year(4) default NULL,
  `IDDDT` int(20) NOT NULL default '0',
  `ULT_MOD` timestamp(14) NOT NULL,
  KEY `NUMCAR` (`NUMCAR`)
) TYPE=MyISAM AUTO_INCREMENT=51 ;
# -------------------------------------------------------- #
# Struttura della tabella `carrellodettagli`
#
DROP TABLE IF EXISTS `carrellodettagli`;
CREATE TABLE `carrellodettagli` (
  `NUMCAR` varchar(15) NOT NULL default '',
  `ANNOCAR` year(4) default NULL,
  `DATACAR` timestamp(14) NOT NULL,
  `STATO` char(1) NOT NULL default '',
  `IDCLIENTE` varchar(15) NOT NULL default '',
  `ARTCOD` varchar(20) NOT NULL default '',
  `ARTDES` varchar(250) NOT NULL default '',
  `UM` varchar(10) NOT NULL default '',
  `QTA` int(15) NOT NULL default '0',
  `PREZZOX1` double(10,2) NOT NULL default '0.00'
) TYPE=MyISAM;
# -------------------------------------------------------- #
# Struttura della tabella `categorie`
#
DROP TABLE IF EXISTS `categorie`;
CREATE TABLE `categorie` (
  `ID` int(10) NOT NULL auto_increment,
  `nomevisualizzato` varchar(150) default NULL,
  `categoria` varchar(50) default NULL,
  `categoriaweb` varchar(50) default NULL,
  `icona` varchar(50) default NULL,
  `data_inserimento` datetime default NULL,
  `data_modifica` datetime default NULL,
  PRIMARY KEY  (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=13 ;
# -------------------------------------------------------- #
# Struttura della tabella `clienti`
#
DROP TABLE IF EXISTS `clienti`;
CREATE TABLE `clienti` (
  `ID` int(11) NOT NULL auto_increment,
  `RAGIONESOCIALE` varchar(250) default NULL,
  `CONTATTO` varchar(250) default NULL,
  `INDIRIZZO` varchar(250) default NULL,
  `LOCALITA` varchar(250) default NULL,
  `PROVINCIA` char(2) default NULL,
  `CAP` varchar(10) default NULL,
  `TEL01` varchar(20) default NULL,
  `TEL02` varchar(20) default NULL,
  `CELL` varchar(20) default NULL,
  `FAX` varchar(20) default NULL,
  `E_MAIL` varchar(250) default NULL,
  `PI` varchar(20) default NULL,
  `CODICEFISCALE` varchar(20) default NULL,
  `MODPAG` varchar(200) default NULL,
  `DATAINS` datetime default NULL,
  `DATAMOD` datetime default NULL,
  `ARCHIVIO` char(2) default 'No',
  KEY `ID` (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=107 ;
# -------------------------------------------------------- #
# Struttura della tabella `ddt`
#
DROP TABLE IF EXISTS `ddt`;
CREATE TABLE `ddt` (
  `ID` int(11) NOT NULL auto_increment,
  `NUMDDT` int(10) default NULL,
  `ANNODDT` year(4) default NULL,
  `NUMFATT` int(10) default NULL,
  `ANNOFATT` year(4) default NULL,
  `NUMCAR` varchar(11) default NULL,
  `ANNOCAR` year(4) default NULL,
  `IDFORNITORE` varchar(11) default NULL,
  `IDCLIENTE` varchar(11) default NULL,
  `IDDESTINATARIO` varchar(11) default NULL,
  `FORNITORE` varchar(250) default NULL,
  `CLIENTE` varchar(250) default NULL,
  `PI` varchar(20) default NULL,
  `INDIRIZZO` varchar(250) default NULL,
  `LOCALITA` varchar(250) default NULL,
  `PROVINCIA` char(2) default NULL,
  `CAP` varchar(10) default NULL,
  `COLLI` int(5) default NULL,
  `DATACONSEGNA` timestamp(12) NOT NULL,
  `ORACONSEGNA` varchar(5) default NULL,
  `DATA` timestamp(12) NOT NULL,
  `ASPETTO` varchar(100) default NULL,
  `PORTO` varchar(150) default NULL,
  `CAUSALE` varchar(150) default NULL,
  `MEZZO` varchar(150) default NULL,
  `ANNO` year(4) default NULL,
  `VALOREIMPONIBILE` double(11,2) default NULL,
  `IVA` char(2) default NULL,
  `MODPAGAMENTO` varchar(240) default NULL,
  `RESOFORNITORE` int(1) NOT NULL default '0',
  KEY `ID` (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=3 ;
# -------------------------------------------------------- #
# Struttura della tabella `ddtdettagli`
#
DROP TABLE IF EXISTS `ddtdettagli`;
CREATE TABLE `ddtdettagli` (
  `ANNO` year(4) default NULL,
  `NUMFATT` int(10) default '0',
  `NUMDDT` int(10) default '0',
  `ARTCOD` varchar(20) default '0',
  `ARTDES` varchar(250) default NULL,
  `UM` varchar(5) NOT NULL default 'Pz',
  `QTA` int(10) default '0',
  `IMPONIBILE` double(10,2) default '0.00',
  `IVA` int(3) default NULL
) TYPE=MyISAM;
# -------------------------------------------------------- #
# Struttura della tabella `ddtresidettagli`
#
DROP TABLE IF EXISTS `ddtresidettagli`;
CREATE TABLE `ddtresidettagli` (
  `ANNO` year(4) default NULL,
  `NUMFATT` int(10) default '0',
  `NUMDDT` int(10) default '0',
  `ARTCOD` varchar(20) default '0',
  `ARTDES` varchar(250) default NULL,
  `UM` varchar(5) NOT NULL default 'Pz',
  `QTA` int(10) default '0',
  `IMPONIBILE` double(10,2) default '0.00',
  `IVA` int(3) default NULL
) TYPE=MyISAM;
# -------------------------------------------------------- #
# Struttura della tabella `destinatari`
#
DROP TABLE IF EXISTS `destinatari`;
CREATE TABLE `destinatari` (
  `ID` int(11) NOT NULL auto_increment,
  `RAGIONESOCIALE` varchar(250) default NULL,
  `CONTATTO` varchar(250) default NULL,
  `INDIRIZZO` varchar(250) default NULL,
  `LOCALITA` varchar(250) default NULL,
  `PROVINCIA` char(2) default NULL,
  `CAP` varchar(10) default NULL,
  `TEL01` varchar(20) default NULL,
  `TEL02` varchar(20) default NULL,
  `CELL` varchar(20) default NULL,
  `FAX` varchar(20) default NULL,
  `E_MAIL` varchar(250) default NULL,
  `PI` varchar(20) default NULL,
  `MODPAG` varchar(200) default NULL,
  `DATAINS` timestamp(14) NOT NULL,
  `DATAMOD` timestamp(14) NOT NULL,
  `ARCHIVIO` char(2) default 'No',
  KEY `ID` (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=14 ;
# -------------------------------------------------------- #
# Struttura della tabella `fatture`
#
DROP TABLE IF EXISTS `fatture`;
CREATE TABLE `fatture` (
  `ID` int(11) NOT NULL auto_increment,
  `NUMFATT` int(11) default NULL,
  `NUMDDT` int(11) default NULL,
  `ANNODDT` year(4) default NULL,
  `IDCLIENTE` varchar(20) default NULL,
  `CLIENTE` varchar(250) default NULL,
  `PI` varchar(20) default NULL,
  `INDIRIZZO` varchar(250) default NULL,
  `LOCALITA` varchar(250) default NULL,
  `PROVINCIA` char(2) default NULL,
  `CAP` varchar(10) default NULL,
  `IMPONIBILE` double(10,2) default NULL,
  `IVA` int(3) default NULL,
  `MODPAG` varchar(250) default NULL,
  `DATAFATT` timestamp(14) NOT NULL,
  `ANNO` year(4) default NULL,
  `STATO` char(1) NOT NULL default 'A',
  `TIPODOC` varchar(15) default NULL,
  `SCONTRINONUMERO` varchar(20) default NULL,
  `DATASCONTRINO` timestamp(14) NOT NULL,
  PRIMARY KEY  (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=131 ;
# -------------------------------------------------------- #
# Struttura della tabella `fattureddtdettagli`
#
DROP TABLE IF EXISTS `fattureddtdettagli`;
CREATE TABLE `fattureddtdettagli` (
  `ID` int(11) NOT NULL auto_increment,
  `NUMFATT` int(11) NOT NULL default '0',
  `ANNOFATT` year(4) NOT NULL default '0000',
  `DATAFATT` timestamp(14) NOT NULL,
  `COLLI` int(11) NOT NULL default '0',
  `PORTO` varchar(250) default NULL,
  `CASUALE` varchar(250) default NULL,
  `MEZZO` varchar(250) default NULL,
  `ORATRASPORTO` time NOT NULL default '00:00:00',
  `ASPETTO` varchar(250) default NULL,
  `DESTINAZIONE` varchar(250) NOT NULL default '',
  `NOTE` varchar(250) default NULL,
  KEY `ID` (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=6 ;
# -------------------------------------------------------- #
# Struttura della tabella `fatturedettagli`
#
DROP TABLE IF EXISTS `fatturedettagli`;
CREATE TABLE `fatturedettagli` (
  `ANNO` year(4) default NULL,
  `NUMFATT` int(10) default '0',
  `NUMDDT` int(10) default '0',
  `ANNODDT` year(4) default NULL,
  `ARTCOD` varchar(20) default '0',
  `ARTDES` varchar(250) default NULL,
  `UM` varchar(5) NOT NULL default 'Pz',
  `QTA` int(10) default '0',
  `IMPONIBILE` double(10,2) default '0.00',
  `IVA` int(3) default NULL
) TYPE=MyISAM;
# -------------------------------------------------------- #
# Struttura della tabella `fornitori`
#
DROP TABLE IF EXISTS `fornitori`;
CREATE TABLE `fornitori` (
  `ID` int(11) NOT NULL auto_increment,
  `RAGIONESOCIALE` varchar(250) default NULL,
  `CONTATTO` varchar(250) default NULL,
  `INDIRIZZO` varchar(250) default NULL,
  `LOCALITA` varchar(250) default NULL,
  `PROVINCIA` char(2) default NULL,
  `CAP` varchar(10) default NULL,
  `TEL01` varchar(20) default NULL,
  `TEL02` varchar(20) default NULL,
  `CELL` varchar(20) default NULL,
  `FAX` varchar(20) default NULL,
  `E_MAIL` varchar(250) default NULL,
  `PI` varchar(20) default NULL,
  `CODICEFISCALE` varchar(20) default NULL,
  `MODPAG` varchar(200) default NULL,
  `DATAINS` datetime default NULL,
  `DATAMOD` datetime default NULL,
  `ARCHIVIO` char(2) default 'No',
  `PERCORSO` varchar(150) default NULL,
  `CSV` varchar(150) default NULL,
  KEY `ID` (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=8 ;
# -------------------------------------------------------- #
# Struttura della tabella `fornitoricodici`
#
DROP TABLE IF EXISTS `fornitoricodici`;
CREATE TABLE `fornitoricodici` (
  `ID` int(11) NOT NULL auto_increment,
  `IDPRODOTTO` int(11) default '0',
  `IDFORNITORE` int(11) default '0',
  `CODICEFORNITORE` varchar(250) default '0',
  `CODICEPRODOTTO` varchar(250) default '0',
  PRIMARY KEY  (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=12147 ;
# -------------------------------------------------------- #
# Struttura della tabella `fornitorilistini`
#
DROP TABLE IF EXISTS `fornitorilistini`;
CREATE TABLE `fornitorilistini` (
  `ID` int(11) NOT NULL auto_increment,
  `IDFORNITORE` int(11) default NULL,
  `FORNITORENOME` varchar(250) default NULL,
  `LISTINO` varchar(250) default NULL,
  `TRACCIATO` varchar(150) default NULL,
  `DATACARICO` date default NULL,
  PRIMARY KEY  (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=10 ;
# -------------------------------------------------------- #
# Struttura della tabella `gruppimer`
#
DROP TABLE IF EXISTS `gruppimer`;
CREATE TABLE `gruppimer` (
  `ID` int(10) NOT NULL auto_increment,
  `nomevisualizzato` varchar(150) default NULL,
  `nomereale` varchar(150) default NULL,
  `categoria` varchar(50) default NULL,
  `categoriaweb` varchar(50) default NULL,
  `icona` varchar(50) default NULL,
  `data_inserimento` datetime default NULL,
  `data_modifica` datetime default NULL,
  PRIMARY KEY  (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=7 ;
# -------------------------------------------------------- #
# Struttura della tabella `prodotti`
#
DROP TABLE IF EXISTS `prodotti`;
CREATE TABLE `prodotti` (
  `ID` int(11) NOT NULL auto_increment,
  `CATEGORIA` varchar(250) NOT NULL default 'NoCategoria',
  `GRUPPO` varchar(250) NOT NULL default 'NoGruppo',
  `NOME` varchar(250) default NULL,
  `PRODUTTORE` varchar(250) default NULL,
  `CODICE` varchar(50) default NULL,
  `CODICEFORNITORE` varchar(250) default NULL,
  `UNITAMISURA` varchar(5) default 'Pz',
  `PREZZO` double(10,2) default NULL,
  `PREZZOFORNITORE` double(10,2) default '0.00',
  `IVA` int(3) NOT NULL default '20',
  `DESCRIZIONE` varchar(250) default NULL,
  `FOTO` varchar(150) default NULL,
  `WEB` char(2) default 'No',
  `BARCODE` int(13) default '0',
  `MAGAZZINO` double(10,2) NOT NULL default '0.00',
  `DATAINS` timestamp(14) NOT NULL,
  `DATAMOD` timestamp(14) NOT NULL,
  KEY `ID` (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=7736 ;
# -------------------------------------------------------- #
# Struttura della tabella `prodotti_f`
#
DROP TABLE IF EXISTS `prodotti_f`;
CREATE TABLE `prodotti_f` (
  `ID` int(11) NOT NULL auto_increment,
  `IDPRODOTTO` varchar(11) default NULL,
  `IDFORNITORE` varchar(11) default NULL,
  `NOMEFORNITORE` varchar(250) default NULL,
  `CATEGORIA` varchar(250) default NULL,
  `NOME` varchar(250) default NULL,
  `PRODUTTORE` varchar(250) default NULL,
  `CODICE` varchar(50) default NULL,
  `UNITAMISURA` varchar(5) default 'Pz',
  `PREZZO` double(10,2) default NULL,
  `IVA` int(3) NOT NULL default '20',
  `DESCRIZIONE` varchar(250) default NULL,
  `FOTO` varchar(150) default NULL,
  `WEB` char(2) default 'No',
  `DATAINS` timestamp(14) NOT NULL,
  `DATAMOD` timestamp(14) NOT NULL,
  KEY `ID` (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=7575 ;
# -------------------------------------------------------- #
# Struttura della tabella `resiliste`
#
DROP TABLE IF EXISTS `resiliste`;
CREATE TABLE `resiliste` (
  `ID` int(11) NOT NULL auto_increment,
  `IDFORNITORE` varchar(11) default NULL,
  `FORNITORE` varchar(250) default NULL,
  `QTATOT` int(10) default '0',
  `IMPONIBILETOT` double(10,2) default '0.00',
  `IVA` int(3) default NULL,
  `DATAINS` timestamp(14) NOT NULL,
  `DATAMOD` timestamp(14) NOT NULL,
  PRIMARY KEY  (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=16 ;
# -------------------------------------------------------- #
# Struttura della tabella `resilistedettagli`
#
DROP TABLE IF EXISTS `resilistedettagli`;
CREATE TABLE `resilistedettagli` (
  `ID` int(11) NOT NULL auto_increment,
  `IDFORNITORE` varchar(11) default NULL,
  `FORNITORE` varchar(250) default NULL,
  `ARTCOD` varchar(20) default '0',
  `NOMEPRODOTTO` varchar(250) default NULL,
  `ARTDES` varchar(250) default NULL,
  `UM` varchar(5) NOT NULL default 'Pz',
  `QTA` int(10) default '0',
  `IMPONIBILE` double(10,2) default '0.00',
  `IVA` int(3) default NULL,
  `DATAINS` timestamp(14) NOT NULL,
  `DATAMOD` timestamp(14) NOT NULL,
  PRIMARY KEY  (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=21 ;
# -------------------------------------------------------- #
# Struttura della tabella `utenti`
#
DROP TABLE IF EXISTS `utenti`;
CREATE TABLE `utenti` (
  `ID` int(20) NOT NULL auto_increment,
  `utente` varchar(20) default NULL,
  `password` varchar(20) default NULL,
  PRIMARY KEY  (`ID`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;


ciao
Stefano

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Rispondere a