Creare struttuta db | Progettazione di DataBase Relazionali

Topic: Pubblico - Composto da 7 Posts di 2 Utenti.

20 Giugno, 2009 10:41 #1
erbagold
Utente

erbagold
Registrato: Jun, 2009
Posts: 4
Offline

Ciao a tutti, sto studiando il database mysl per la creazione di una struttura di database per la gestione di un portale auto. Il progetto è diretto alla vendita di auto, moto, camper, barche, veicoli industriali, ed in più è rivolto a tutto l’indotto che ruota intorno a queste attività, vedi officine, carrozzerie, assicurazioni, vendita parti meccaniche, ecc. Si deve creare un pannello di amministratore per il titolare del portale il quale potrà registrare tutti i clienti che vorranno esporre i propri prodotti sul portale. I negozianti saranno registrati in base all’abbonameno acquistato e potranno inserire nelle proprie aree un numero massimo di prodotti, esempio: • Mario Rossi acquista il pacchetto gold il quale potrà pubblicare nel suo spazio definito un numero massimo di 20 prodotti • Luigi Verdi acquista il pacchetto silver e potrà inserire un numero massimo di 15 prodotti e cosi via. Quindi Paolo Rossi che il titolare del portale quando registrerà un utente potrà scegliere che tipo di abbonamento assegnare ad un determinato cliente.

Il portale avra’: La registrazione del cliente si dovrà inserire: • User • Psw • Nome • Cognome • Intestazione della società • Tipo attività • P.IVA • Codice fiscale • Indirizzo dell’attività (città-via-telefono-cellulare-cap-provincia-regione) • Mail • Tipo pagamento “relativo all’abbonamento del cliente” • Banca • CODICE IBAN • Data iscrizione • Tipo abbonamento “Platinum-Golden-Silver- Bronze-Copper-Aluminum” • Sito web • Autorizzazione alla privacy Il pannello di registrazione prodotti sarà cosi composto: • Nome prodotto • Numero massimo foto Il cliente da lato suo dovrà accedere alla sua pagina con i codici forniti dal titolare del sito e potrà caricare un numero massimo di prodotti per quanto prevede il suo abbonamento.

Il pannello del cliente dovrà contenere i seguenti campi: • Foto “max 8” • Tipo Attività “ venditore auto- di moto- officina ecc.” • Marca • Modello • Versione • Chilometri • Anno • Carburante • Carrozzeria • Cambio • Cilindrata • Classe di emissione • Stato Vettura “usato – nuovo- km 0” • Prezzo • Trazione • Emissioni • Colore • Stato • Regione • Provincia • Citta’ • Note • Nome responsabile • Telefono responsabile • Mail Criteri ricerca utente • Tipo Attività “ venditore auto- di moto- officina ecc.” • Marca • Modello • Versione • Chilometri da – a • Anno da – a • Carburante • Carrozzeria • Cambio • Cilindrata • Classe di emissione • Stato Vettura • Prezzo da – a • Trazione • Emissioni • Colore • Stato • Regione • Provincia • Citta’ • Ricerca per distanza “km 5,10,15,20,25,30 dal cap”

Pensavo di creare le seguenti tabelle:

  • abbonamento “Tipologia di abbonamento acquistato”
  • clienti “Anagrafica del cliente”
  • distanze_comuni “Dati di tutti i comuni”
  • tipo_prodotto “Tipo di prodotto di vendita”
  • prodotto “Descrizione dettaglita del prodotto”

Spero che sia chiara la realizzazione del mio progetto. Vi ringrazio per la delucidazioni.

22 Giugno, 2009 20:44 #2
g2d
Moderatore

g2d
Registrato: Jul, 2008
Posts: 867
Offline
Segui g2d su Twitter!

Ciao user:”erbagold”,

Benvenuto su MySQL Italia

Allora facciamo un pò di chiarezza, hai bisogno di progettare questo DB, ragionando per entità e trascurando per un attimo la moltitudine di attributi, suggerirei che devi sviluppare un modello basato sulle seguenti entità:

  • Utente
  • Prodotto
  • Categoria (prodotto)
  • Abbonamento

Connettendo le entità con le opportune relazioni, potrai convertire il modello logico in vere e proprie tabelle.

Per quanto riguarda le distanze tra i vari comuni, se non hai già i dati mi sembra un impresa abbastanza ardua, ti suggerisco di dare uno sguardo a tutti i servizi GIS che offrono API liberamente utilizzabili inizia ad esempio da Google Maps e da Yahoo Maps.

Tienici aggiornati

Saluti user:”algweb”


Un tempo ero algweb ora sono g2d

23 Giugno, 2009 10:50 #3
erbagold
Utente

erbagold
Registrato: Jun, 2009
Posts: 4
Offline

Grazie mille per la risposta algweb, Per quanto riguarda i comuni ho tutti i dati repriti tramite GIS e quindi un punto lo escludiamo. Quindi per capirci il mio data base dovra contenere: 1) tabella chiamata utenti con tutti i campi descritti sopra; 2) tabella chiamata prodotto dove verranno inseriti tutti i prodotti di vendita (es. “auto-moto-camion ecc. con le relative descrizioni”); 3) tabella chiamata categoria dove trovero’ tutte le categorie relative hai vari prodotti (es. “auto-moto-barche ecc..”); 4) tabella abbonamento che sta ad indicare che tipo di servizi a sottoscritto il cliente; 5) tabella comuni con i relativi dati GIS;

Una volta create le 5 tabelle vi devo applicare le relazioni in modo tale che esempi i clienti prendano tutti i dati relativi alla tabella comuni.

Sepro di aver capito bene.

23 Giugno, 2009 19:25 #4
g2d
Moderatore

g2d
Registrato: Jul, 2008
Posts: 867
Offline
Segui g2d su Twitter!

Ciao user:”erbagold”,

riguardo le tabelle, tieni presente che i nomi vanno sempre indicati al plurale (es. Utenti) nel mio post facevo riferimento alle Entità del modello, le quali vanno sempre indicate al singolare.

Per quanto riguarda le tabelle che devi creare starei attento alla tabella Abbonamenti, il mio suggerimento è quello di inserire in questa tabella i parametri relativi ai tipi di abbonamento, cioè la tabella Abbonamenti deve avere di base i seguenti campi (i campi rimanenti aggiungili tu):

  • Id
  • Tipologia
  • NumeroMaxFoto
  • Costo etc.

L’informazione che lega l’utente al tipo di abbonamento, una relazione tra le due entità, a mio avviso, devi memorizzarla nella tabella utenti con l’Id dell’abbonamento scelto.

come sempre …. tienici aggiornati

Saluti user:”algweb”


Un tempo ero algweb ora sono g2d

24 Giugno, 2009 09:42 #5
erbagold
Utente

erbagold
Registrato: Jun, 2009
Posts: 4
Offline

Ciao algweb, se gentilissimo, ti ringrazio per i chiarimenti, per quanto riguarda l’ entita’ si sarebbero tutte al singolare compreso i nomi delle tabelle, per ora ero solo interessato alla sola struttura del DB. Per le relative tabelle pensavo di creare solo le tabelle cliente, comune, e prodotto, senza la tabella abbonamento e categoria, per poi assegnarli i valori tramite una checklist ed inviare i dati tramite form per rendere i DB piu’ leggero. Pero’ non so se sia molto corretto. Saluti

24 Giugno, 2009 21:06 #6
g2d
Moderatore

g2d
Registrato: Jul, 2008
Posts: 867
Offline
Segui g2d su Twitter!

caro user:”erbagold”,

non si tratta di essere più o meno corretto, è solo un questione di scelte.

Vale sempre la regola, se hai possibilità di parametrizzare e di usare il db o al massimo qualche file di configurazione, ne puoi avere solo vantaggi, al prezzo di faticare un pò in più all’inizio.

Cmq riguardo la leggerezza del DB, ti posso rassicurare sul fatto che per dare fastidio a MySQL, anche in un installazione semplice e standard e con una macchina non eccessivamente performante, ci vogliono un bel pò di dati.

Per qualsiasi cosa non esitare a postare.

Saluti user:”algweb”


Un tempo ero algweb ora sono g2d

25 Giugno, 2009 12:48 #7
erbagold
Utente

erbagold
Registrato: Jun, 2009
Posts: 4
Offline

Gentilissimo Algweb per questa squisita discussione ancora grazie

Condividi su:

Loggati o Registrati per replicare