Autore Topic: Sviluppo Gestionale Rubinetto Felice  (Letto 15056 volte)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:Sviluppo Gestionale Rubinetto Felice
« Risposta #120 il: 01 Febbraio 2016, 17:50:00 »
Ciao Sotema,
sono bloccato, ho trovato un'incongruenza fra la tabella clienti e la tabella sedi.
La tabella sedi ha come chiave primaria idsede come può essere anche chiave esterna lato molti per la tabella clienti?  :rolleyes:

 :ciao:
Dove sta il problema?
La chiave esterna per la tabella clienti è un vincolo referenziale; ti vieta di assegnare per un Cliente una Sede che non esiste nella tabella Sedi. Se poi volessi cancellare un Cliente (cosa per altro da evitare quasi sempre) ti permette di cancellarne in automatico (ON DELETE CASCADE) anche tutte le sedi corrispondenti.
 :ciao:

Forse non mi sono spiegato:
Come fa una la chiave primaria della tabella sedi (idsede) a essere unica e univoca in quanto appunto chiave primaria ed essere al contempo ripetuta come è una chiave esterna lato molti (idsede clienti ha il lato uno in clienti e il lato molti in sedi).
È un controsenso.

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:Sviluppo Gestionale Rubinetto Felice
« Risposta #121 il: 02 Febbraio 2016, 21:19:37 »
Ciao ragazzi.
Visto che si stenta a comprenderci appieno, quasi sicuramente perché ognuno di noi è fedele alle proprie conoscenze (come potrebbe essere altrimenti?) e anche involontariamente tende a non immedesimarsi nei ragionamenti altrui, provo a inviarvi i comandi psql per creare un database PostgreSQL di prova (test_felix) sulla base del mio diagramma in modo che possiate provarlo e magari comprendere le mie elucubrazioni.
Potrebbe darsi che così siate più disposti a discutere nel merito di quale cosa e del perché secondo voi non andrebbe bene.
Infatti, malgrado ne stiamo parlando da diversi post, io francamente non ho ancora capito cosa nella sua struttura non funzioni, a parte il cambiamento di nome ad alcune voci di campo da me poco azzeccate e lo spostamento di alcune da anazie alle tabelle specifiche tipo la partita iva.

Siate gentili date un'occhiata provatelo e poi ditemi cosa non vi convince, ma per favore prima cercate di capire cosa era mia intenzione fare.

Per ora come prova ho messo tutti gli id (i codici) a serial poi nel database vero vedremo come fare ad esempio la tabella ansedi dovrebbe riportare un codice di tipo carattere che dia l'idea di cosa rappresenta es. seamm o sedam per sede amministrativa.
Vorrei far notare che con questo semplice schema ad esempio si possono registrare  per ogni cliente tutti i punti di consegna che vogliamo; da zero a infinito idem per gli addetti le banche...
A cosa servirebbe un campo multi-consegna, quando la maschera clienti caricherà il particolare record automaticamente leggerà se vi sono più punti consegna ecc., basta una semplice interrogazione e poi decidere come organizzare la maschera.
La tabella ansedi come detto contiene il tipo di sede, tanto per prova si può fare 1 = Sede, 2 = Magazzino ecc.
NOTA: Ho dato per scontato che abbiate creato l'utente test come da istruzioni di Sotema, altrimenti dovete cambiare il primo comando mettendo al posto di test il vostro utente creato.
                       Alcune tabelle tipo banca sono solo accennate, altre mancano tipvet, stati, mansio,valute e incomplete di utagg ulagg. Ma nessuno vi vieta di completarle  :P
 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Berserker79

  • Grande Gambero
  • ***
  • Post: 201
    • Mostra profilo
Re:Sviluppo Gestionale Rubinetto Felice
« Risposta #122 il: 03 Febbraio 2016, 20:31:56 »
Vorrei far notare che con questo semplice schema ad esempio si possono registrare  per ogni cliente tutti i punti di consegna che vogliamo;
I punti di consegna dove vanno inseriti? Su una delle tabelle di cui abbiamo discusso o su una ancora da progettare?

Propongo di abolire i valori null e di usare lo 0 per i numerici e il blank per le stringhe.

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:Sviluppo Gestionale Rubinetto Felice
« Risposta #123 il: 03 Febbraio 2016, 21:48:36 »
Ciao, Berserker79,
anazie è la tabella di supporto che raccoglie tutte le utenze aziendali che saranno qualificate attraverso il tipo memorizzato in ansedi.
Supponiamo tu abbia necessità di registrare il cliente Bianchi Srl via Del Mare 1 00118 Roma RM ITALY IT C.F. tal dei tali P.I. talaltra Telefono 06ecc. Fax idem mail quella@chevuoi sito web wwwtttppp con sede legale presso lo studio del Notaio Rossi via Fori Imperiali,12 ecc., con magazzino di ricevimento merce in via Dei Monti, 25 ecc. con punto vendita in Via Della Campagna 25R ecc.
Quando creeremo l'applicazione la maschera registrerà il cliente numero 1 nella tabella anacli, e scriverà nella tabella anazie con idazi 1 e idcli 1 e idsed a (quello che decideremo per indicare la sede amministrativa) Bianchi Srl ecc. con idazi 2 e idacli (sempre) 1 e idsed a (quello che decideremo per indicare la sede legale) Notaio Rossi ecc. con idazi 3 e idacli (sempre) 1 e idsed a (quello che decideremo per indicare il magazzino di consegna) Bianchi Srl via Dei Monti... Infine registrerà con idazi 4 e idacli (sempre) 1 e idsed a (quello che decideremo per indicare il punto vendita) Bianchi Srl via Della Campagna 25.....
Come ho detto, nell'allegato ho messo tutte le ID a integer automatico quindi per le prove ti devi accontentare di un numero progressivo.

Non sono d'accordo di abolire il NULL la cosa va ponderata e non può essere generica in quanto per certi dati è persino utile, l'interrogazione su anazie ne è la dimostrazione.
Spesso il fatto che ci siano dei null è sinonimo di errore nella progettazione, quindi come detto occorre che sia ponderato vale a dire solo dove ci sono dei numeri che vanno calcolati e solo se è normale che  manchino i dati in quel campo.
 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Berserker79

  • Grande Gambero
  • ***
  • Post: 201
    • Mostra profilo
Re:Sviluppo Gestionale Rubinetto Felice
« Risposta #124 il: 04 Febbraio 2016, 08:18:39 »
Ciao Gianluigi, mi trovo in disaccordo su tutto.
Quando hai aperto questa discussione, parlavi di voler realizzare un db solido, seguendo tutte le regole per creare un corretto db relazionale, invece progetti una tabella (anazie) dove ci butti dentro clienti, fornitori, vettori, ecc. Poi per ognuno di essi, sempre su anazie, ci butti dentro sede legale, sede amministrativa, sede del magazzino, sede del punto vendita e chi più ne ha più ne metta.
Insomma una tabella, che per me, è un pandemonio. Poi proprio non riesco a concepire una tabella che contiene records che hanno un significato a seconda di quale colonna è valorizzata (idcli, idfor, ecc..).
Stesso discorso per i valori null, da come ne parli tu, sembra che ti servano come strumento di debug o come valore per filtrare i record. Per me il db non deve accettare valori null, se c'è un errore di progettazione, il db non inserirà il record e restituirà l'errore.
Poi mi chiedo una cosa, ma registrare tutti questi dati di un cliente (sede legale, sede amministrativa, magazzino1, magazzino2, punto vendita1, punto vendita2, ecc..) è necessario? La rubinetto felice per poter fatturare la merce, credo abbia bisogno solo dei dati fiscali e degli indirizzi di spedizione della merce. Invece sembra che i clienti, vengano gestiti come se fossero la nostra azienda, per la quale dobbiamo tenere tutte le informazioni possibili.
Detto questo, essendo tu il capo del progetto, mi adeguero a quanto da te realizzato dandoti dove posso il mio contributo, ma ci tenevo a farti sapere la mia opinione.
Ciao.

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:Sviluppo Gestionale Rubinetto Felice
« Risposta #125 il: 04 Febbraio 2016, 14:00:52 »
Ciao Berserker79,
intanto vorrei precisare che questa è una proposta oltre a tutto è prematura perché, come già detto più volte, non siamo ancora in possesso dei dati basilari per poter creare le relazioni (tabelle).
Prima occorre che voi mandiate tutte le voci che vanno trattate dal nostro database.
Le proposte si fanno per essere discusse, per valutarne i pro e i contro vi chiedo solo di ponderarle in tutti gli aspetti e, come giustamente hai fatto, dare un parere.
Quelli che sanno quali dati occorre avere registrati circa i clienti, i fornitori, i vettori e l'organizzazione siete voi.
Io vi ho mandato a tal scopo dei modelli ott con possibilità di note proprio perché completaste commentandole le voci già da me estrapolate dai documenti inviati da Tornu.

So benissimo di aver proposto diciamo così un progetto azzardato, uno degli assiomi dei database relazionali è appunto quello di ben separare ogni cosa per poi ricollegarla con correlazioni.
Io comunque ho proposto questo schema abbozzato ed estremizzato (tutto nella anazie) per far capire il concetto.
Non è che così progettato anazie sia un guazzabuglio dove finisce tutto mischiato, noi abbiamo le tabelle dei soggetti ben separate fra loro, anazie è solo la tabella che le supporta, se decideremo di adottare questo schema dovremo anche decidere quali dati sono in essa superflui e vanno spostati nelle tabelle soggetto.
Se poi in punta di diritto filosofico vogliamo guardare ad anazie sul lato relazionale noi in effetti dovremmo convenire che essa contiene solo ed esclusivamente indirizzi.
Mi stupisce poi che proprio tu dica questo di una tabella che comunque è ben suddivisa in campi mono dato con record solidamente collegati alle tabelle “madri”, non sei tu colui che ha parlato di grandi tabelle suddivise in “mini tabelle” con campi pluridato che gestiscono tutta l'attività del database professionale su cui lavori?
Comunque sia, ripeto, occorre ben ponderare i pro e i contro, una struttura così concepita per me renderebbe più agevole trattare i dati delle aziende tutte e non dimentichiamoci del personale.
Tenete conto che se separiamo tutto tutto poi comunque dovremmo appoggiarci a delle viste che più o meno lavorerebbero sugli stessi concetti.

Citazione
...proprio non riesco a concepire una tabella che contiene records che hanno un significato a seconda di quale colonna è valorizzata (idcli, idfor, ecc..)...
Scusa ma che modo è di descrivere le foreign key? Quello li è il metodo più solido e sicuro di legare dati fra due tabelle, non esiste metodo più certo, puoi stare tranquillo al 100% che quanto è scritto il quella tupla è parte integrante dei record della tabella “madre”.

Su NULL mi devo essere spiegato male, sono d'accordo nel cambiarlo con dati più esplicativi che oltre a tutto evitino il grande problema che quando un amministratore di database vede il campo vuoto entra subito in paranoia. Ad esempio se abbiamo il classico campo che prevede il colore dei capelli e uno è calvo mi sta bene si cambi NULL con l'acronimo di “non applicabile”.
Quello che non vorrei è il cambio indiscriminato e mi sono permesso di fare un esempio solo per farmi capire. Il campo NULL è previsto dallo standard SQL e vi sono comandi ad hoc per trattarlo.
Quando il progetto sarà terminato forse non ne sopravviverà nessuno.
 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Berserker79

  • Grande Gambero
  • ***
  • Post: 201
    • Mostra profilo
Re:Sviluppo Gestionale Rubinetto Felice
« Risposta #126 il: 04 Febbraio 2016, 20:03:55 »
Mi stupisce poi che proprio tu dica questo di una tabella che comunque è ben suddivisa in campi mono dato con record solidamente collegati alle tabelle “madri”, non sei tu colui che ha parlato di grandi tabelle suddivise in “mini tabelle” con campi pluridato che gestiscono tutta l'attività del database professionale su cui lavori?
Ciao Gianluigi, la tabella contenente le mini tabelle, di cui ti avevo parlato, serve solo per gestire tutte quelle entità che si possono esprimere con pochissimi campi, ad esempio il campo codice e il campo descrizione. Tutte le altre entità, che possiedono molti campi, sono gestite tramite "classiche" tabelle dedicate.
L'anagrafica dei Destinatari è gestita da una sua tabella specifica, mentre lo stato del destinatario (1=ATTIVO, 2=SOSPESO, 3=ANNULLATO, ecc) viene gestito da quell'unica tabellona.


Citazione
...proprio non riesco a concepire una tabella che contiene records che hanno un significato a seconda di quale colonna è valorizzata (idcli, idfor, ecc..)...
Scusa ma che modo è di descrivere le foreign key? Quello li è il metodo più solido e sicuro di legare dati fra due tabelle, non esiste metodo più certo, puoi stare tranquillo al 100% che quanto è scritto il quella tupla è parte integrante dei record della tabella “madre”.


Vediamo se riesco a spiegarmi,
i record contenuti nella tabella anazie, hanno un significato non per il valore associato ad ogni campo che la compone, ma più che altro da quale campo è valorizzato piuttosto che un altro.
Questo perché i due campi idcli e idfor sono in conflitto fra loro, la presenza di uno esclude la presenza dell'altro.
Se domani nasce la necessità di gestire una nuova entità che non è un cliente o un fornitore, cosa facciamo, modifichiamo la tabella e aggiungiamo una nuova colonna?
Se vogliamo gestire su anazie tutte le sedi (legale, amministrativa, punto vendita, magazzino, ecc.), almeno separiamo quella dei fornitori dai clienti con due tabelle distinte, anaziecli e anaziefor.
Poi se fosse per me farei delle tabelle distinte dove mettere le sedi legali e amministrative e un'altra dove inserire le sedi per la consegna della merce.
Ciao.

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:Sviluppo Gestionale Rubinetto Felice
« Risposta #127 il: 04 Febbraio 2016, 21:48:24 »
Ciao Berserker79,
tu e gli altri dovete essere gentili e sforzarvi fra tutti di chiarire quali dati occorre gestire e per quale entità occorre gestirli.
Perché altrimenti non ci chiariremo mai.
Se volete domani ve lo scrivo in prosa, io non so quali dati occorra gestire, quando ti ho scritto di sedi, magazzini, negozi era per far capire che così disegnato, passatemi i termini, il database era in grado di incamerare più occorrenze per la stessa entità.
Io ho messo tutti i dati che per ora conosco in anazie perché non ho ancora capito dove va cosa.
Quindi è inutile perderci nei particolari. Proporrei di sospendere la prematurissima discussione sulle aziende e concentrarci sui dati.
Se volete essere cortesi compilate per benino gli ott con una descrizioni ove la riteniate utile.
Una volta che avremo chiaro questo sarà anche più semplice capirci e non perderò più tempo in inutili diagrammi.

Solo un chiarimento, come già ho avuto modo di dire riguardo alla matematica avanzata, anche per la teoria degli insiemi e la logica predicato di ordine primo se mi dicessero “le devi capire per poter progettare un database” scapperei ululando, ma poi occorre che ci ricordiamo che dietro le astrazioni in forma di tabelle c'è questa roba e nessuno di noi credo possa essere certo di sapere come è meglio muoversi. Lo possiamo supporre ma di certezze non ce ne sono, l'unica certezza è che se funziona allora dovrebbe andar bene.

@Sotema
ho difficoltà a capire il tuo schema occorre che tu mi dia qualche spiegazione in più.
Circa le tabelle ereditate io quello che ho capito è che la tabella figlia eredita ma non vede il padre mentre il padre vede la figlia. Ma in cosa questo possa tradursi nel concreto non mi appare chiaro, riguardo ad esempio alle aziende, potrebbe andare incontro a ciò che chiede Berserker79?

 :ciao:  :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:Sviluppo Gestionale Rubinetto Felice
« Risposta #128 il: 06 Febbraio 2016, 18:36:12 »
Le relazioni nella teoria degli insiemi e nella logica predicato di ordine primo secondo l'idraulico che mi ha aggiustato la perdita del lavabo:

Secondo lui non sono concetti particolarmente difficili (sig), in effetti se fosse vera la sua semplificazione allora potrei aver ragione nell'avere proposto lo schema RelazioniAziende(20-01).

Secondo la teoria dell'idraulico occorre pensare alle chiavi sia primarie che esterne come a delle valvole idrauliche, esse si attivano  solo se vengono collegate fra loro da una speciale manichetta.
Gli agganci sono in base alla chiave o meglio alla valvola primaria, pertanto diviene impossibile collegare una manichetta alla chiave sbagliata.

Secondo lui si può verificare facilmente facendo una prova empirica.
Data una valvola primaria su un contenitore A e la valvola esterna sul contenitore B provare a riempire il contenitore B collegando una manichetta alla valvola esterna.
La manovra risulterà impossibile.
Solo collegando il contenitore A con la manichetta fornita degli agganci adatti alla valvola primaria si attiverà la possibilità di collegare la manichetta alla valvola esterna e riempire il contenitore B.

In effetti se volete provare ho allegato un disegno dimostrativo ma anche un file testo con i comandi SQL che dimostrerebbero la teoria dell'idraulico.

Ho anche messo i comandi per creare una tabella che secondo me si adatta di più alle descrizioni date da Berserker79 della tabella anazie.

Nello scrivere il file di testo mi sono accorto che l'altra volta ho dimenticato il passaggio:
Codice: [Seleziona]
\c test_felix
prima di creare le tabelle, spero vi siate ricordati seguendo la precisa guida di Sotema, nel caso abbiate creato per errore delle tabelle nel vostro template niente panico col comando DROP potete cancellarle.
Citazione
DROP TABLE [ IF EXISTS ] nome [, ...] [ CASCADE | RESTRICT ]
Dovete cancellare per prima anaper, poi banche quidi anazie  e anavet almeno credo da qui in poi finiscono i vincoli.
Per controllare se in template avete delle tabelle create per colpa mia basta da li dare il comando \d

Per cancellare i database di prova usate sempre il comando DROP.

Citazione
DROP DATABASE [ IF EXISTS ] nome


Ricapitolando, Berserker79 hai ragione quando sostieni che le relazioni (tabelle) si chiamano così appunto perché se guardo il record di una tabella es. fornitori so che sto guardando i dati di un fornitore e qui non ci piove.
Il fatto è che tu guardi ad anazie (per l'amor di Dio cambiamogli nome) come se fosse la tabella padre, ma la tabella padre è appunto anafor (fornitori) e anazie è solo la tabella di supporto e l'ho chiamata aziende genericamente perché tu guardi i dati parziali di un azienda e non dei fornitori.
La tabella di test_felix_drop2 quella si che è il caos a cui ti riferisci, ma non è la stessa cosa di anazie.

 :ciao:
« Ultima modifica: 06 Febbraio 2016, 18:36:56 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:Sviluppo Gestionale Rubinetto Felice
« Risposta #129 il: 08 Febbraio 2016, 18:09:57 »
Ciao Sotema,
puoi controllare se così può andare e darmi una dritta per il riempimento e le interrogazioni?

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:Sviluppo Gestionale Rubinetto Felice
« Risposta #130 il: 10 Febbraio 2016, 16:00:38 »
Nuovo schema aziende che prevede la separazione netta fra tutte le parti in causa.
Tanto nel precedente schema era tutto compatto quanto qui è tutto separato.
Ho tenuto conto delle indicazioni di Sotema riguardo i dati da conservare dei clienti e della nostra organizzazione l'unica cosa di cui non sono sicuro è l'iscrizione alla camera di commercio che se ho capito bene non serve più, sostituito dal C.F.
Solo per l'organizzazione il REA l'ho spostato nella tabella unità, anche se forse avendo l'organizzazione una tabella tutta sua sarebbe più corretto scrivere in anaorg un nuovo record per tutti gli uffici che fatturano anche perché avranno intestazioni giocoforza differenti.
Naturalmente mancheranno, qui e la, dei dati di campo ma se voi non mi fate sapere...
Non avendo capito a fondo come funziona l'eredità per ora me ne tengo alla larga.
So che anche così non è quello che chiedeva Berserker79 ma non sono ancora riuscito a fare quanto vuole.
Questo schema permette di registrare aziende con varie unità, tutti i contatti che desideriamo, possiamo annotare dove abitano, la data di nascita per eventuale invio di auguri e regali.
Ho lasciato queste possibilità anche per il personale dei fornitori e dei vettori non si sa mai.
Per il personale dell'organizzazione in più c'è il codice fiscale, servono altri dati?
Mi sono accorto che il rapporto banche aziende non è uno a molti ma molti a molti, infatti una banca può avere molti clienti e un cliente può avere molte banche, negli schemi precedenti avevo sbagliato.
Per ragioni storiche allego anche lo schema bocciato aggiornato.
Le tabelle di supporto; ansedi per il tipo di sede, stati per lo stato dei record e mansioni del personale non le ho collegate e da quanto ho capito non vorreste collegarle col join, solo il controllo attraverso Gambas per questi tipi di dato? Come vedete non ho messo il booleano per la sede legale in quanto credo sia più utile sapere attraverso i tipi che unità è quella registrata, naturalmente si può decidere diversamente.
Non so voi ma io gradirei approfondire tutti gli aspetti di tutti i diagrammi cercandone i punti deboli ed eventuali punti di forza, ammesso che ce ne siano. Solo così escono eventuali idee nuove.
Naturalmente non l'ho ancora testato volevo prima dei pareri.

 :ciao: :ciao: :ciao:

PS. Mi ero dimenticato una vecchia dicitura (idoaz al posto di idorg) l'ho cambiata.
Approfitto di questo per chiedere a Sotema che in precedenza aveva parlato di relazione clienti personale molti a molti, non dovrebbe essere uno a molti? C'è una ragione che mi sfugge?
Altro refuso avevo dimenticato idazi orfano in banche, a proposito di banche potrebbe servire memorizzare un contatto?
« Ultima modifica: 11 Febbraio 2016, 15:43:38 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:Sviluppo Gestionale Rubinetto Felice
« Risposta #131 il: 11 Febbraio 2016, 16:11:57 »
Alcune precisazioni sull'ultimo schema postato e in generale:
Quando scrivo che non so dove va cosa non intendo lamentarmi delle vostre chiare spiegazioni, semmai è colpa mia che prima di realizzare..., mi riferisco alla mia ignoranza che mi impedisce di sapere ad esempio se occorra registrare anche le banche per fornitori e vettori. Se non serve è chiaro che lo schema postato non va bene almeno sotto quell'aspetto.
Lo schema è riferito alle sole aziende e ai dati a loro indispensabili, non tengo conto dei rapporti fra queste entità perché credo occorra farlo quando ingloberemo i listini, gli ordini, i ddt, le fatture e i magazzini.
Forse nasce da qui l'incomprensione sulla terza tabella da voi richiesta? È per legare le aziende fra di loro?
Un'altra fonte di incomprensione potrebbe venire dal mio schema che si sta sviluppando da destra verso sinistra se volete lo posso ribaltare.
Circa l'eredità, come detto ci capisco poco e avendo già tanti problemi con la normalizzazione... direi che la dove Sotema ritenga utile inserirla se avrà la gentilezza di farlo...
Queste cose dimostrano la precocità di fare uno schema ancora prima di sapere quali dati occorre memorizzare e perché.
Nasce da questo la necessità che vi diate da fare per inviare tutti i nomi dei soggetti (tabelle) e degli attributi (campi) che occorrerà manipolare per il nostro gestionale.
Nella speranza che non vi siate rotti...
 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline Berserker79

  • Grande Gambero
  • ***
  • Post: 201
    • Mostra profilo
Re:Sviluppo Gestionale Rubinetto Felice
« Risposta #132 il: 13 Febbraio 2016, 10:20:15 »
Ciao Gianluigi, mi puoi dare qualche conferma sul nuovo schema?
Vediamo se ho capito la nuova relazione.
Sia i clienti, i fornitori e i vettori hanno partita iva e codice fiscale direttamente nelle tabelle principali (anacli, anafor e anavet), mentre tramite le tabelle unicli, unifor e univet registriamo tutte le varie sedi che vanno dalla sede legale, alla sede amministrativa, ai vari punti di consegna/ritiro, ecc...
Mentre le tabelle anaorg e uniorg, sono utilizzate per la gestione della nostra azienda/sedi.

Questo schema mi piace e mi sembra una buona base su cui lavorare.
Fammi sapere, ciao.
P.S.: potresti allegare il file modificabile al posto del pdf?!
« Ultima modifica: 13 Febbraio 2016, 10:22:05 da Berserker79 »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:Sviluppo Gestionale Rubinetto Felice
« Risposta #133 il: 13 Febbraio 2016, 14:18:46 »
Ciao Gianluigi, mi puoi dare qualche conferma sul nuovo schema?
Vediamo se ho capito la nuova relazione.
Sia i clienti, i fornitori e i vettori hanno partita iva e codice fiscale direttamente nelle tabelle principali (anacli, anafor e anavet), mentre tramite le tabelle unicli, unifor e univet registriamo tutte le varie sedi che vanno dalla sede legale, alla sede amministrativa, ai vari punti di consegna/ritiro, ecc...
Mentre le tabelle anaorg e uniorg, sono utilizzate per la gestione della nostra azienda/sedi.

Si è esattamente come dici tu. Tieni conto che non l'ho ancora provato ma più o meno il funzionamento è lo stesso dello schema precedente solo che qui entrano in gioco più relazioni.

Citazione
Questo schema mi piace e mi sembra una buona base su cui lavorare.
Fammi sapere, ciao.
P.S.: potresti allegare il file modificabile al posto del pdf?!
:ok: Allego il file SVG creato da Inkscape.

Ciao
« Ultima modifica: 13 Febbraio 2016, 14:21:45 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re:Sviluppo Gestionale Rubinetto Felice
« Risposta #134 il: 20 Febbraio 2016, 23:19:47 »
Salve gente,
mi dispiace per questa mia lunga assenza che non mi ha permesso di seguire assiduamente lo svolgersi di questo progetto.
Ho dato una lettura (veloce) a tutto il lavoro che avete svolto fin qui, non me ne voglia Gianluigi che apprezzo per l'impegno
e il molto tempo che ci stà dedicando, però non posso non notare i diversi punti di vista (giustamente) che ci sono in questa
fase di progettazione delle tabelle del DB, che secondo me stanno creando un pò di confusione, come ha fatto notare
Berserker79 qualche post addietro e con il quale mi trovo quasi completamente d'accordo. Scusate se rientro un pò a gamba
tesa, comunque nel rispetto del lavoro da voi fatto fino ad oggi.
Se mi permettete consiglierei di discutere una tabella alla volta e sviscerarla fino in fondo, ci sarà sempre tempo per correzioni
e miglioramenti, vi posso assicurare che in un progetto così ambizioso capiterà spesso di ritornare su argomenti che si pensava
di aver chiuso. In base alla mia esperienza una tabella deve contenere tutti i campi inerenti il soggetto (per esempio tabella Clienti)
e non spezzetata in varie tabelle, così mi hanno insegnato, ciò detto non vuol dire che sia il metodo migliore però la maggior parte
dei DB (gestionali) con cui ho lavorato e lavoro così sono strutturati, ma anche leggendo i vari trattati in materia le teorie sono
varie e disparate. Vi allego alcuni esempi di tabelle per come io le intendo. Fatemi sapere cosa ne pensate.
« Ultima modifica: 20 Febbraio 2016, 23:23:48 da tornu »
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)