Newsgroup: it.comp.lang.delphi
Titolo: Ho scoperto di essere un pirla con i database!

Ciao a tutti! Ho un consiglio da chiedervi. Ho giò postato una domanda sul
tema e vi ringrazio per le risposte ma credo che mi convenga ricominciare da
capo il mio lavoro. Voglio fare un database di CD con due tabelle, una per
l'elenco dei CD (con titolo, gruppo, genere etc..) e una con l'elenco di
tutte le canzoni (con titolo e durata). Vorrei poter visualizzare in una
form i dati di un Cd alla volta con in una grid le relative canzoni e di
avere la possibilità di poter modificare i dati e di aggiungere nuovi record
sia per quanto riguarda i CD che per quanto riguarda le canzoni.Infine
vorrei che l'elenco dei CD fosse ordinabile secondo vari criteri (gruppo,
titolo, genere...) Che soluzione mi consigliate di adottare in termini di
indici secondari, primari, tipo di tabella? Saranno quindici giorni che
provo a farlo con ogni tipo di soluzione ma ogni volta c'è qualcosa che non
funziona (indici di sola lettura, capacità non supportate dalle tabelle).
Grazie infinite a chiunque avesse voglia e tempo di aiutarmi. Ciao
--
Never burn the bridges before you
Never burn the bridges behind
Don't burn the one that you're walking on
Gonna hit the water in time
SAVATAGE

Ciao Maurizio,
premetto che non ho letto il tuo post precedente, ma mi sembri un po'
vago nella descrizione della tua base dati.
Se non ho capito male vorresti usare due sole tabelle e cioè una con
l'elenco dei cd ed una che contiene le canzoni di ogni cd. Già su
questo punto avrei qualche cosa da ridire (mi sembrano un po' pochine
due tabelle...).
In ogni caso per poterti aiutare sarebbe necessario sapere quale
database vorresti usare.
Inoltre dovresti indicare quali componenti intendi usare per l'accesso
al db.
Senza altre informazioni credo sia difficile darti dei consigli.
Ciao, Rocco.
Rocco Barbaresco:
Herrare Humanum Est,
Perseverare Ovest ....
(By Fichi D'India)

Due tabelle  bastano e avanzano è un tipico esempio di tabelle Master &
Detail
tabella1 dei CD :
  Campi:
     ID:integer  (Primary Key)
     Titolo,Autore Descrizione,lunghezza,Etc.
tabella2 Dati del CD
    Campi
      titolo_brano, num_track, Etc...
      CD_Id:integer.
Fregatene degli indici e con qualunque database se l'applicazione è in
locale va bene (Paradox).
Usa l'oggetto TQuery e cerca l'help sul tuo Hard-Disk  localSQL.hlp.
Usa SQL es.:
select Titolo,Descrizione
From Tabella1
Where Autore='pinco pallino'
Oppure per visualizzare l'associazione
select *
From Tabella1,Tabella2
Where Tabella1.ID=Tabella2.CD_ID
Questo è tutto cio che ti serve e...
...ho visto cose che voi umani
non potete neanche immaginare.
Navi da guerra in fiamme
al largo dei bastioni di Orione.
Ho visto i raggi-B
balenare nel buio vicino alle porte di Tannhauser.
Ma...tutti questi momenti
andranno persi nel tempo...
come...
lacrime nella pioggia.
-Blade Runner-

Usa l'oggetto TQuery e cerca l'help sul tuo Hard-Disk  localSQL.hlp.
Io sono d'accordo con te sull'uso delle tquery anche se con paradox le
ttable sono piu' veloci.


Ok, certo sono d'accordo quando si puo risparmiare spazio è sempre la
soluzione migliore. Io avevo proposto quella perchè, più semplice da
realizzare poi sono sicuro che Maurizio ci avrebbe pensato da solo.
Per quella cosa che non avevi capito, io volevo dire che poteva scegliere un
qualsiasi tipo di db e se non aveva esigenze Client/Server andava bene
Paradox
Bye, Bye!!.

Grazie per l'aiuto ma non mi sembra molto facile questo SQL!!!


 Ciao, Rocco.
PS: Io ho Delphi3
Ho usato tante di quelle volte il Wizard per la creazione di questo database
che non sarei in grado di contarle...
Il mio problema principale è che se assegno ad una canzone un campo (ex:
CDID) per capire e a quale CD appartiene tramite un indice secondario, se
poi cerco di aggiungere una canzone in running mode mi compare un messaggio
che dice che l'indice è read-only e non so come ovviare al problema.
Ciao!