Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    15

    Sviluppare un sistema di statistica relazionale

    Salve gente,
    scusate per il titolo, però è il meglio che la mia mente ha potuto pensare per la mia questione ma passiamo al dunque:
    sto cercando di creare una sorta di database per gestire i miei clienti, ho già sviluppato infatti la prima tabella del database che comprende tutti i dati anagrafici dei vari clienti, una sorta di rubrica e una seconda tabella del database che comprende tutti i prodotti che offro ai clienti, ora però vorrei implementare anche un piccolo sistema di statistica per ogni cliente, del tipo "tutti i prodotti acquistati da Nome Cognome", "ultime date degli acquisti di Nome Cognome" e cose del genere
    Vorrei sapere quindi, come posso formulare il database e la query del DB per poter richiedere per ogni cliente tutti i prodotti che ha acquistato e la data in cui ha effettuato i vari acquisti. Chiedo di spiegarmi soltanto la pura logica del database e della query, non necessariamente il codice sorgente per implementare questo sistema. Nel senso che vorrei capire come il DB dovrà strutturarsi per poter attribuire ad un dato cliente, una determinata data di acquisto e il prodotto acquistato e dove tutte queste attribuzioni dovranno essere salvate per essere ripescate, poi, dalla query.
    Ringrazio vivamente in anticipo chiunque riuscisse a rispondere in modo esauriente alla mia domanda. Grazie, grazie, grazie

    P.S: giusto per informazione, mi appoggio al DB MySQL

  2. #2
    Allora con le sole due tabelle CLIENTE,PRODOTTO non hai tutte le informazioni che ti serviranno.
    Io creerei un terza tabella PRODOTTI_AQUISTATI in cui mi andrei a registrare le informazioni che ti serviranno. Faccio un esempio

    CLIENTE(ID_CLIENTE,NOME,COGNOME...) (PRIMARY KEY ID_CLIENTE)
    PRODOTTO(ID_PRODOTTO,DESCRIZIONE....) (PRIMARY KEY ID_PRODOTTO)
    PRODOTTI_ACQ(ID_CLIENTE,ID_PRODOTTO,DT_ACQ,MOD_PAG ....)(PRIMARY KEY ID_CLIENTE,ID_PRODOTTO).

    Al momento di un acquisto andrò ad inserire le informazioni dell'acquisto nella nuova tabella.
    Per quanto riguarda le interrogazioni a questo punto abbiamo tutte le informazioni che ci serviranno es:
    Tutti i prodotti acquistati da un cliente e in quale data
    codice:
    Select c.nome,c.cognome,p.descrizione,acq.dt_acq
    From CLIENTE c, PRODOTTO p, PRODOTTI_ACQ acq
    where acq.ID_CLIENTE=c.ID_CLIENTE AND
             acq.ID_PRODOTTO = p.ID_PRODOTTO AND
             c.ID_CLIENTE = 1

  3. #3
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    Non me ne intendo molto, ma sconsiglio fortemente l'uso di acronimi tipo
    DT_ACQ, MOD_PAG e così via, a favore di
    data_ultimo_acquisto, modo_pagamento e così via.

  4. #4
    Originariamente inviato da franzauker2.0
    Non me ne intendo molto, ma sconsiglio fortemente l'uso di acronimi tipo
    DT_ACQ, MOD_PAG e così via, a favore di
    data_ultimo_acquisto, modo_pagamento e così via.
    Faccio un esempio:
    Non dico altro, (franzauker2.0) ma ti sei alzato col piede sinistro stamane ?

  5. #5
    Originariamente inviato da francesco.muia
    CLIENTE(ID_CLIENTE,NOME,COGNOME...) (PRIMARY KEY ID_CLIENTE)
    PRODOTTO(ID_PRODOTTO,DESCRIZIONE....) (PRIMARY KEY ID_PRODOTTO)
    PRODOTTI_ACQ(ID_CLIENTE,ID_PRODOTTO,DT_ACQ,MOD_PAG ....)(PRIMARY KEY ID_CLIENTE,ID_PRODOTTO).
    Ovviamente hai ragione, aggiungo solo che è una buona cosa aggiungere due chiavi esterne.
    STK/Unit: Unit Test framework per MariaDB
    http://stk.wikidot.com/stk-unit

  6. #6
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    Originariamente inviato da francesco.muia
    Non dico altro, (franzauker2.0) ma ti sei alzato col piede sinistro stamane ?
    Abbi pazienza, non ho competenze tali da poter dare giudizi, solo suggerimenti.
    Anzi, a pensarci bene, neppure quelli.
    Infatti non capisco benissimo questo
    PRIMARY KEY ID_CLIENTE,ID_PRODOTTO
    però un motivo ci sarà.

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.