PDA

View Full Version : [MYSQL]database semplice


Psygnosis
22-05-2007, 09:53
Ragazzi ho un problema...
Non ho mai utilizzato Mysql e un po di tempo fa Access lo sapevo destreggiare abbastanza bene, ma sono arruginito...
Grazie ad un topic aperto un po di tempo fa...e grazie a tutti coloro che mi hanno aiutato...
Ora mi serve costruire un piccolo Database che mi contenga i dati che saranno gestiti attraverso un piccolo software scritto in java...

(come mi disse un utente che mi ha aiutato tantissimo qui, ci vuole tempo per imparare java, anni, io ho solo 1 mesetto scarso, e faccio quello che posso, le cose essenziali)

allora...
Mysql è la base...
http://img264.imageshack.us/img264/3867/untitled1ed2.th.jpg (http://img264.imageshack.us/my.php?image=untitled1ed2.jpg)

Questo nell'immagine è quello che voglio realizzare...
Spiego a parole in caso non sia ben chiara l'immagine:

Allora quello che voglio è che ci sia un DB che mi gestisca gli spettacoli di un cinema teatro...
attraverso un id identifico lo spettacolo (il nome) questo deve essere associato a delle date di proiezione (che possono essere diverse), ad un tipo di posto (che dovrebbe poter essere di 4 tipi differente di default, ad esempio, platea, galleria ecc) e il prezzo relativo al posto...

Poi eventualmente attraverso il software java deve essere possibile eliminare e aggiornare una data, o un titolo, o aggiungere nuovi elementi...

Non so se ho organizzato bene il db in quel modo...
Ditemelo voi che sicuramente siete più esperti di me.... :D :mc:

Naturalmente l'id che ho inserito nelle 3 tabelle è uguale per tutte le tabelle...perche nella mia testa pensavo:
Se identifico lo spettacolo Pippo con id 0000 e poi nella tabella DateSpett do id 0000 e riempio il campo Date con 5-6 date con lo stesso id, se facessi una select per quello spettacolo mi restiuirebbe tutte le date relative a quello spettacolo che ha lo stesso id...
Stessa cosa se io decidessi di fare una select con le date, mi restituirebbe anche l'id e il relativo titolo dello spettacolo in quella data!

Per adesso mi serve questo... ihihih

Grazie a tutti

EDIT
un altra cosa...
Se utilizzo un software come netbeans o easyeclipse, di cos'altro ho bisogno per l'interfacciamento con un Db mysql?
Per favore aiutatemi perche cercando sul web sull'argomento non ho capito un tubo di nulla..

Psygnosis
23-05-2007, 08:25
up

Psygnosis
24-05-2007, 09:17
uppp

cionci
25-05-2007, 09:22
Sì, mi sembra che vada bene...anche il discorso che fai sugli id è giusto...
In questo caso id è per le tabelle DateSpett e Prezzi una FOREIGN KEY...per ora però ti consiglio di lasciar perdere l'uso diretto della Foreign Key nella definizione delle tabelle...

Quindi mantieni la struttura che hai scritto, ma server una PRIMARY KEY anche per DateSpett e Prezzi...in questo caso la teoria direbbe di definire la chiave primaria delle due relazioni in questo modo:

Per DateSpett: PRIMARY KEY(id, data)
Per Prezzi: PRIMARY KEY(id, tipoPosto)

Per definire tipoPosto hai diverse alternative: o gli assegni un intero (che so, 1, 2, 3, 4) da codice...e sempre da codice lo traduci con una stringa...
O gli assegni una stringa con il tipo di posto...

Anche qui la teoria vorrebbe che tu creassi una ulteriore FOREIGN KEY che definisce i tipi di posti disponibili...ma ripeto, lasciamo perdere...

Psygnosis
29-05-2007, 08:51
Per definire tipoPosto hai diverse alternative: o gli assegni un intero (che so, 1, 2, 3, 4) da codice...e sempre da codice lo traduci con una stringa...
O gli assegni una stringa con il tipo di posto.

scusate la mia assenza sono stato via per un viaggio...

Non ho ben chiaro quel punto... purtroppo...

cionci
29-05-2007, 08:59
TipoPosto lo puoi definire come un intero: 0 corrisponde a galleria, 1 a platea ecc
Questa corrispondenza la devi però gestire te a livello di codice...
In alternativa definisci TipoPosto di tipo varchar e ci vai a scrivere direttamente 'galleria', 'platea' etc...ovviamente diventa importante che tu ci vada a scrivere sempre le stesse stringhe...
L'ultima alternativa sarebbe il tipo ENUM...prova a darci un'occhiata...

Psygnosis
29-05-2007, 10:07
ho capito,
poi a livello di codice posso scrivere e ricevere dati dal db vero?
ma questi dati li mette in delle variabili per modificarli?

cionci
29-05-2007, 10:29
Devi fare un query di selezione per recuperare i dati e Il modo in cui viene fatto dipende dal linguaggio e dalla libreria che usi...
In Java devi usare il Connector MySQL: http://dev.mysql.com/downloads/connector/j/5.0.html
Qui trovi informazioni ed esempi: http://www.mysql.org/doc/refman/5.0/en/connector-j.html