Newsgroup: it.comp.software.database
Titolo: Consiglio su schema db per concessionaria

Salve sto vedendo di fare uno schema con mysql per
gestire un concessionaria di auto e permettere
di fare delle ricerche ben mirate
dunque io ho in quadrato queste tabelle e relazioni
tra parentesi ho messo i possibili valori:
tab auto (idauto, nome etc.)
----------------------------------
1)punto
2)fiesta
3)tipo
4)brava
tab parametri (idparametri,nome)
----------------------------------------
1)alimentazione
2)cambio
4)colore
5)interni
6)allarme
tab valoriparametri ( idvaloriparametri,idparametri,valore)
------------------------
1,1,'benzina'
2,1,'gasolio'
3,2,'automatico'
tab autoparametri (idautoparametri, idauto,idparametro,idvaloreparametro)
-------------------
1,1,1
per una ipotica ricerca del tipo:"trova tutte le auto a gasolio con cambio 
automatico di colore rosso"
farei una query del tipo :
select auto.nome from parametri,valoreparametri,autoparametri
where
idauto =autoparametri.idauto
#primo parametri da verificare
and
autoparametri.valore = 'testo inserito da utente esempio gasolio
and
parametri.nome ='alimentazione'
#secondo parametri da verificare
and
autoparametri.valore = 'testo inserito da utente esempio rosso'
and
parametri.nome ='alimentazione'
and
#terzo parametri da verificare
and
autoparametri.valore = 'testo inserito da utente esempio automatico'
and
parametri.nome =cambio'
Secondo voi può andare ? o altrimenti come potrei modificare lo schema ?
grazie
ciao

 
Prima di fare le query, sistema per bene le tabelle.
Poi normalizzi il tutto e alla fine fatti questa domanda:
Quante *fiesta* a *benzina* con *cambio automatico* di *colore rosso* 
con interni in pelle* che hanno *antifurto* , *gomme da neve* , *catene* 
, *portapacchi*, *carrello appendice, *gancio traino* ecc. ecc
trovo facendo una singola query??
Alla prossima.
	MAX
p.s. voi come fate quando il news readers vi dice :
Article not posted- more included text ecc. ecc. ???
Mi scoccio ad inserire sempre righe vuote tra una risposta e l'altra.
p.s.s. uso Thunderbird


Si infatti la query era una sorta di test per vedere cosa potevo ottenre e 
se funzionava ho fatto
delle prove "concrete" e non  ottengo i risultati da me voluti.
Il problemi principale e che vorrei che i parametri potessero autmentare a 
piacere
Ti faccio un esempio alcune macchine possono avere cerchi in lega altre no
Alcune possono avere il portapacchi altre etc.
Uno si crea la "categoria" cerchi in lega e poi i possibili valori
infine li "lega" all'auto
---

 infine li "lega" all'auto
Esatto. Metti in pratica quello che hai scritto, vedrai che poi ti viene 
facile.
Attenzione che *cerchi in lega* sulla tabella AUTO e' un flag SI/NO
Come la voce *Condizionatore*, mentre la voce *colore* la prendi da una 
tabella correlata.
Ciao.
	MAX

 parametri.nome =cambio'
In poco tempo ti accorgerai che dovrai modificare la query in
rosso* per trovare anche "rosso Ferrari", poi in *rosso* per
trovare "regal rosso" (vanificando il relativo indice), per infine
concludere che anche "bordeaux" in fondo è un rosso, e se la
query non lo restituisce, il risultato è logicamente scorretto.
Dopo ciò, tutto quello che l'applicazione può fare è mostrare
sullo schermo il risultato della ricerca, lasciando il compito
all'utente di verificare se il risultato è ciò che ha chiesto.
Quello che questa query fa è un riconoscimento di stringhe, una
disciplina che attiene di più al trattamento documentale che al data
modeling. Per comprenderne le difficoltà, guarda i motori di ricerca,
e di quanto poco sono progrediti nonostante gli anni trascorsi...
Inoltre, nota dove stai facendo le ricerche: tra i valori non-chiave
primaria.
Il modello relazionale dà un ruolo fondamentale alle chiavi, perché
da esse nasce il "significato" dei dati.
Ti voglio dire la prima e più grande verità sulle chiavi:
- una query espressa come sopra è ciò CHE HAI DETTO
- una query usando chiavi primarie è ciò CHE INTENDI
Questo punto è incredibilmente difficile da comprendere, e richiede
in aggiunta una certa quantità di "esperienza reale", inclusi errori.


ma in questo modo diventa complessisimo anche fare la ricerca
devo n-tabelle uguale alle n-categoria di parametri presenti
e possono essere veramente tanti!


penso di si può darmi ulteriori info note commenti in merito
alle mie problematiche ... ?
---

 
Devi solo scrivere la query giusta, il resto lo fa il calcolatore.
Alla prossima.
	MAX

 ha scritto nel messaggio 
news:ekgres$1mn$1...@newsreader.mailgate.org...

sembra più un indovinello :)
--
The framework for develoment user interface on application web-based
http://sourceforge.net/projects/rdmyframework/
 


Dunque ho rianalizzato le cose (non penso di aver finito cmq...)
Cerco di lavorare con id (chiavi) invece che con campi testo
avendo tab auto : id,nome,etc,
avendo tab parametri : id,nome,etc,
avendo tab autoparametri : id,idauto,idparametro,etc
Letteralmente:
Io vorrei trovare tutte le auto che hanno come id di parametri
1,2,3 le virgole dovrebbero essere and nel senso
devo trovare tutte le auto che hanno 1,2,3 come parametri
ma non quelle cha hanno 1,2 o 1,3 o 3,2 come parametri
grazie
ciao

 
Ok, sei sulla strada giusta.
Pero' ti manca sempre una tabella, quella dove vai ad inserire tutti i 
dati di UNA singola auto.
Alla prossima.
	MAX

 ha scritto nel messaggio 
news:ekhqsa$4m2$2...@newsreader.mailgate.org...

Però pensavo di usare la cross per questo.... 

 alle mie problematiche ... ?
Se vuoi un consiglio spiccio, e spec. se non ti è stato imposto,
in questi casi credo sia preferibile modellare un numero limitato
di accessori di sicura presenza su tutti i modelli (una colonna
per ogni accessorio), più una colonna (stessa tab. o esterna) per
gli accessori poco comuni, di tipo testo e da non darci troppa
importanza.
La facilità di interrogazione e la robustezza del tuo db avrà un
istantaneo aumento.

 
Altro consiglio spiccio.
Se non sei convinto, o non sei in grado di farlo, il lavoro, fallo fare 
ad altri.
Per lo meno l'analisi dei problemi.
Alla prossima.
	MAX

 MAX
bye


Questo può essere un consiglio "buono"
La mia replica è quindi il mio obiettivo è impraticabile oppure è la 
soluzione che
vorrei adottare non adatta a risolvere il mio problema ?
In tal caso consigli i merito ?
P.s
Per risposte simili a l'ultima è meglio non rispondere :D
grazie
ciao


 Per risposte simili a l'ultima č meglio non rispondere :D
Dai su, un po' di spirito.
Ricorda che chi te l'ha detto sono gli stessi che pure ti hanno
aiutato! Non ci vedi l'ironia?

 
Il tuo obiettivo e realizzabile (l'ho fatto anche io).
E' la soluzione che hai adottato che non va bene.
Ti ho/abbiamo gia' dato tutti i consigli che ti servono.
Devi solo mettere insieme le idee e poi partire con il progetto.
Ciao.
	MAX


Bč adesso si :D Pace :D


 ha scritto nel messaggio 
news:eksdk0$b3h$1...@newsreader.mailgate.org...

Si ok se possibile vorrei sapere un'altra cosa che dilaga un pò dal discorso 
originale...
Prendiamo Ebay il loro db secondo voi come è strutturato ?
Notate che se cliccate in ogni categoria ci sono dei parametri di ricerca 
differenti ...
http://search.ebay.it/search/search.dll?sofocus=bs&sbrftog=1&catref=C12&from=R10&satitle=&sacat=11232%26catref%3DC6&sargn=-1%26saslc%3D3&sadis=200&fpos=09010&ga10244=10425&ftrt=1&ftrv=1&saprclo=&saprchi=&fsop=1%26fsoo%3D1&coaction=compare&copagenum=1&coentrypage=search&fgtp=
http://telefonia-cellulari.search.ebay.it/_Cellulari_W0QQcatrefZC12QQcoactionZcompareQQcoentrypageZsearchQQcopagenumZ1QQfromZR10QQfsooZ1QQfsopZ1QQftrtZ1QQftrvZ1QQga10244Z10425QQsacatZ11025QQsaprchiZQQsaprcloZQQsatitleZ
grazie
ciao