Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302

    Relazionare tabelle per una progettazione ottimale

    Un saluto a tutti,
    avrei bisogno di un vostro supporto per stabilire se la mia idea di struttura per le tabelle di un database mysql può andar bene:

    Dovrei poter caricare all'interno del db i dati inerenti gli interventi di manutenzione vetture e mantenerne nel tempo uno storico o meglio un archivio.

    Volevo strutturare le tabelle in questo modo ma ho tanti dubbi:

    Tabella clienti

    id.cliente|Cognome|Nome|

    Tabella Veicolo
    id.vettura|id.cliente|Modello|Targa|Km

    Tabella Interventi
    id.intervento|id.cliente|id.vettura|DescrizioneInt ervento|DataIntervento

    Tabella Meccanici
    id.tecnico|id.intervento|id.cliente|id.vettura|Nom eCognomeMeccanico

    Tabella Tipologia Pagamento
    id.pagamento|id.tecnico|id.intervento|id.cliente|i d.vettura|TipoPagamento

    Tabella Importo
    id.importo|id.pagamento|id.tecnico|id.intervento|i d.cliente|id.vettura|Qta|prezzounitario|sconto|tot ale


    Secondo voi la struttura potrebbe andare
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    A cosa corrisponde Tipologia Pagamento ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302
    Quote Originariamente inviata da badaze Visualizza il messaggio
    A cosa corrisponde Tipologia Pagamento ?
    Ciao badaze,
    anzitutto grazie mille per la risposta...

    Tipologia Pagamento conterrà:
    Contante|Carta di Credito|Assegno|Bonifico|

    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  4. #4
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Mmmm!!!
    La prima cosa che noto è il nome della tabella (Tipologia Pagamento) con uno spazio,
    se sei all'inizio consiglio di toglierlo subitissimo

    per la domanda invece:
    a me sembra tutto rindondante
    Solo per esempio nella tabella del veicolo
    cosa c' entrano i Km ?? e il cliente ??

    .
    Ultima modifica di nman; 12-05-2016 a 20:25

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Proponi la struttura finale o è solo un campione ?
    Se è la struttura finale allora ti mancano un sacco di campi. Dovresti trovare una fattura per vedere le informazioni che vi sono. Per esempio se fai il tagliando vedrai che ci sono diversi interventi con voci differenti, tariffe differenti, IVA differenti, tempi o quantità, etc...

    Tabella clienti
    id.cliente|Cognome|Nome|
    Mancano l'indirizzo, il telefono fisso/cellulare, indirizzo e-mail, etc...


    Tabella Veicolo
    id.vettura|id.cliente|Modello|Targa|Km
    Il Km lo metterei a livello di intervento. Poi dipende da cosa intendi con Modello. Per esempio è Renault Clio 1.2 o è il numero del modello fornito dalla casa automobilistica (che viene stampato sul libretto) ?


    Tabella Interventi
    id.intervento|id.cliente|id.vettura|DescrizioneInt ervento|DataIntervento
    id.cliente non serve in quanto hai id.vettura. Aggiungerei Km qui perché ad ogni intervento il Km cambia. Manca un campo "commento" dove il meccanico puo' segnalare interventi futuri da fare per esempio. Puoi comunque aggiungere un campo per l'id della persona che ha preso in carico la macchina.


    Tabella Meccanici
    id.tecnico|id.intervento|id.cliente|id.vettura|Nom eCognomeMeccanico
    id.cliente e id.vettura non servono in quanto sono già nella tabella degli interventi. Fossi in te farei una tabella Meccanici vera e propria e quindi NomeCognomeMeccanico non è utile. Di più immagino che diversi meccanici possono intervenire. Se è proprio cosi il meccanico deve essere a livello di importo e questa tabella non serve. Se c'è sempre un unico tecnico per ogni intervento puoi aggiungere il campo alla tabella degli interventi. Di conseguenza questa tabella non serve.

    Tabella Tipologia Pagamento
    id.pagamento|id.tecnico|id.intervento|id.cliente|i d.vettura|TipoPagamento
    id.tecnico, id.cliente e id.vettura non servono in quanto sono già in tabelle di livello superiore. Manca un campo "pagato" e una data di pagamento. I campi di questa tabella dovrebbero essere messi nella tabella Interventi perché ha una relazione 1 per 1 con Interventi. Ovvero un intervento per una tipologia e vice versa.


    Tabella Importo
    id.importo|id.pagamento|id.tecnico|id.intervento|i d.cliente|id.vettura|Qta|prezzounitario|sconto|tot ale
    id.cliente, id.vettura non servono in quanto sono già in tabelle di livello superiore.
    Manca il campo IVA, il campo "id.prodotto" che si riferisce per esempio a Olio, o manodopera, etc... id.tecnico è utile solo se puoi avere diversi tecnici che intervengono.
    id.pagamento puo' essere rimosso se rimuovi la tabella Tipologia pagamento.


    Concludo che non sono uno specialista del settore automobilistico ma ho molta esperienza nel dare lavoro ai meccanici . Ovviamente il mio intervento è una bozza. Di sicuro ci sono altri campi da aggiungere come la data di creazione o di aggiornamento dei record, il nome dell'utente che li ha creati, etc...
    Come scritto primo dovresti vedere una fattura per farti un'idea delle informazioni di cui avrai bisogno.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  6. #6
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Quote Originariamente inviata da condor_uk Visualizza il messaggio
    ...... dati inerenti gli interventi di manutenzione vetture ........
    Mi era sfuggito quel manutenzione vetture

    allora mi correggo, non mi sembra più cosi rindondante,
    certamente ci sono osservazioni ma Badaze si è gia espresso bene

    Lo spazio nei nomi tabelle e campi invece confermo
    meglio evitarlo (evitiamo anche i caratteri speciali )

    .

  7. #7
    Io strutturerei così:

    Tabella clienti

    id.cliente|Cognome|Nome

    Tabella Veicoli
    id.vettura|id.cliente|Modello|Targa|Km

    Tabella Meccanici
    id.tecnico|NomeCognomeMeccanico

    Tabella Tipologie Pagamento
    id.pagamento|TipoPagamento

    Tabella Interventi
    id.intervento|id.cliente|id.vettura|id.tecnico|id. pagamento|Importo|Sconto|DescrizioneIntervento|KmI ntervento|DataIntervento

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    302
    Ragazzi grazie per le risposte e per il supporto, in sostanza io non devo generare fatture, necessito di un programmino che mi tenga traccia di tutti gli interventi effettati sulle vetture, provo grazie ai vostri suggerimenti a ricostruire la struttura e attendo il vostro parere.

    Tabella clienti
    id.cliente|Cognome|Nome|Telefono|Cellulare|mail|Co diceFiscale|PartitaIva
    Esempio: 1|Rossi|Gianluca|025241254|333123456|r.gianluca@gm ail.com|RRRMMM12S52F112B|012345678

    Tabella Fornitori
    id.fornitore|Fornitore
    Esempio: 1|Ap Olio Torino
    Esempio: 2|Sales Dischi Freni
    Esempio: 3|Dear Spazzole

    Tabella Veicolo
    id.vettura|id.cliente|Modello|Targa
    Esempio: 1|1|Fiat Grande Punto 1.4 mjt|AC123FB

    Tabella Meccanici

    id.meccanico|CognomeNome
    Esempio: 1|Rossi Mario
    Esempio: 2|Bianchi Giulio
    Esempio: 3|Verde Olivio

    Tabella Stato Pagamento
    id.pagamento|TipoPagamento
    Esempio: 1|Aperto
    Esempio: 2|Chiuso
    Esempio: 3|In Attesa

    Tabella Interventi
    Ad ogni vettura possono corrispondere diversi interventi nella stessa data

    id.intervento|id.vettura|id.fornitore|id.meccanico |DescrizioneIntervento|Fornitore|Q.ta|PrezzoUnitar io|Sconto|Totale|DataIntervento|Meccanico|Stato Pagamento
    Esempio: 1|1|2|2|Sostituzione Dischi Freni|Sales Dischi Freni|2|100,00|10|180,00|12/05/2016|Bianchi Giulio|Aperto
    Esempio: 1|1|3|2|Sostituzione Spazzole|Dear Spazzole|2|10,00|10|18,00|12/05/2016|Bianchi Giulio|Aperto


    Ho forti dubbi sulla tabella interventi, in effetti nella stessa data esempio 12/05/2016 alla vettura con targa AC123FB
    lo stesso meccanico Bianchi Giulio potrebbe effettuare un numero indefinito di interventim quindi i campi
    id.fornitore|id.meccanico|DataIntervento|Stato Pagamento saranno sempre gli stessi per questa scheda cliente

    Mi sono un pò perso ...
    Se volete che la funzione di un programma non venga scoperta dall'utente, descrivetela nella documentazione...

  9. #9
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quote Originariamente inviata da condor_uk Visualizza il messaggio
    Ragazzi grazie per le risposte e per il supporto, in sostanza io non devo generare fatture, necessito di un programmino che mi tenga traccia di tutti gli interventi effettati sulle vetture, provo grazie ai vostri suggerimenti a ricostruire la struttura e attendo il vostro parere.
    Cosa meglio di una fattura contiene la traccia di tutto l'operato ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  10. #10
    La tabella Stato Pagamento non serve, usa un campo nella tabella Interventi, anche un booleano va bene.
    Per non avere ridondanza nella tabella Interventi, dovresti avere una tabella con i pezzi di ricambio, magari collegata alla tabella fornitori, una tabella con l'id del ricambio ed il prezzo e lo sconto applicato al cliente, ed infine una tabella di giunzione tra la tabella degli interventi e quella con i prezzi dei pezzi di ricambio.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.