sql sommario
26-10-2001
14:23
Pagina V
Indice
Introduzione
PARTE PRIMA
Capitolo 1
●
CONCETTI DI BASE
XIII
1
MySQL per amministratori di database
e sviluppatori Access e SQL Server
3
1.1
Perché usare MySQL
4
1.2
Licenza
4
1.3
Confronto fra i tipi di dati di MySQL
e quelli di Access 2000 e SQL Server 7
5
1.4
Carenze di MySQL
7
Interfaccia grafica: “Houston,
abbiamo un problema!”
8
1.5
MySQL, MYSQL e mysql
13
1.6
Dedicato agli utenti di Access: demoni e servizi 16
Avviare il demone mysql (mysqld)
in tutta sicurezza
17
1.7
Dove trovare MySQL
17
1.8
Scelta del metodo di installazione: pro e contro 18
Installazione RPM: la più facile e veloce
18
Installazione dal codice sorgente
(solo per utenti esperti)
19
1.9
Tutto ciò che serve per l’installazione RPM
20
Installazione
20
1.10 Ciclo vitale di un database: creazione, accesso
ed eliminazione
25
1.11 Costrutti SQL non standard o specifici di MySQL
(estensioni allo standard ANSI SQL92)
28
Esecuzione di MySQL in modalità ANSI
33
1.12 Utilità e programmi per MySQL
33
sql sommario
VI
26-10-2001
14:23
Pagina VI
INDICE
1.13
Capitolo 2
Capitolo 3
34
43
43
47
GTK+ e gli sviluppatori Visual Basic
2.1
Perché usare GTK+
2.2
Dove trovare GTK+ e come installarlo
2.3
Licenza
2.4
Panoramica su GTK+
Fasi della creazione di un programma GTK+
Gerarchia degli oggetti
GLib e GDK
Widget, non controlli
Segnali e callback
Il primo, semplice programma
Compilazione del programma
Uso dei widget GtkWindow e GtkFixed
o GtkLayout al posto dei form Visual Basic
Widget GTK+ e ordine di tabulazione
2.5
Contenitori GTK+ come controlli
ridimensionatori
Widget GtkVBox e GtkHBox
Widget GtkTable
Widget GtkWindow
Escursione sui widget di base
51
52
53
53
55
55
55
56
57
58
59
60
Altri
3.1
3.2
3.3
3.4
97
97
103
112
3.5
Capitolo 4
Uso di isamchk per l’analisi e la riparazione
delle tabelle danneggiate
API C di MySQL
Da non fare sul computer di produzione
Compilazione e link
widget GTK+
Widget GtkCombo
Widget GtkProgressBar e GtkStatusBar
Widget GtkFrame e GtkAspectFrame
Widget GtkDialog, GtkFileSelection,
GtkColorSelectionDialog
e GtkFontSelectionDialog
Widget Menu, ItemFactory e Popup
Widget di layout avanzati
4.1
Widget GtkTable
4.2
Widget GtkTree e GtkCTree
4.3
Widget GtkFixed
4.4
Widget GtkLayout
4.5
Widget GtkScrolledWindow
4.6
Widget GtkNotebook
4.7
Widget GtkPaned
61
63
63
64
64
64
65
118
128
139
139
146
153
156
159
162
167
sql sommario
26-10-2001
14:23
Pagina VII
I N D I C E VII
Capitolo 5
Glade e gli sviluppatori Visual Basic
171
5.1
A proposito di Glade
171
Perché utilizzare Glade
172
Dove trovare Glade e come installarlo
172
5.2
Realizzazione del programma HelloWorld
con Glade
173
HelloWorld passo per passo
173
Compilazione ed esecuzione
181
5.3
I file di HelloWorld visti da vicino
183
File main.c
183
File interface.c
185
File support.c
187
File callbacks.c
191
5.4
Gerarchia dei widget
194
Finestra del progetto
194
Finestra Palette
195
Finestra Properties
197
5.5
Definizione della gerarchia degli oggetti
del progetto
198
Finestra Widget Tree
198
5.6
Comunicazione tra finestre in un progetto Glade 199
Stabilire la comunicazione fra widget
di finestre diverse
199
Funzione lookup_widget()
200
Un semplice esempio
200
5.7
Variabili globali e ingegneria
206
PARTE SECONDA
Capitolo 6
●
IMPLEMENTAZIONI REALI
Concetti di base e struttura
dell’applicazione SESI Order Entry
6.1
Definizione del problema e progettazione
Specifiche hardware
Informazioni sulla rete
Informazioni sui dati esistenti
Specifiche del processo attuale
Il nuovo processo
Caratteristiche del software
6.2
Interfaccia utente
Immissione dei dati del cliente (frm_main)
Selezione dei prodotti ordinati
(frm_items_ordered)
Finestre di ricerca
Creazione del database
Distribuzione dell’applicazione
Aggiornamento dell’applicazione
209
211
212
212
212
212
213
213
214
215
215
217
218
219
222
224
sql sommario
26-10-2001
14:23
Pagina VIII
VIII I N D I C E
Capitolo 7
Realizzazione
dell’applicazione SESI Order Entry
7.1
Costruzione dell’interfaccia utente con Glade
Creazione del progetto frm_main
Completamento del lato sinistro di frm_main
Completamento del lato destro di frm_main
Ultimazione dell’interfaccia utente frm_main
Impostazione degli eventi per frm_main
Creazione di frm_items_ordered
Completamento del lato destro
di frm_items_ordered
Impostazione degli eventi
per frm_items_ordered
7.2
Funzioni di utilità dell’applicazione
Creazione del file sesi_utils.c
7.3
Connessione dell’interfaccia
alle funzioni di utilità
File main.c
7.4
Compilazione del programma
7.5
Relazione finale sul progetto
229
230
230
231
232
234
236
239
240
242
244
244
291
304
305
306
Capitolo 8
Concetti di base e struttura
dell’applicazione
Worldwide Commissions
309
8.1
Definizione del problema
309
Informazioni per l’utente finale
311
Informazioni sui dati esistenti
312
8.2
Interfaccia utente
313
Finestra di accesso (frm_login)
313
Form per la visualizzazione dei dati
(frm_table_display)
314
Form per il calcolo delle commissioni
(frm_commissions)
316
8.3
Creazione del database e delle tabelle di accesso 318
8.4
Creazione del database
320
Capitolo 9
Realizzazione dell’applicazione
Worldwide Commissions
9.1
Realizzazione dell’interfaccia utente con Glade
Creazione di frm_table_display
Creazione di frm_commissions
9.2
Controllo di visualizzazione dati (DDC)
9.3
Funzioni di utilità dell’applicazione
Intestazione, registrazione e visualizzazione
dei messaggi
Accesso e password
331
331
332
333
335
340
340
344
sql sommario
26-10-2001
14:23
Pagina IX
INDICE
9.4
9.5
Principali funzioni per l’elaborazione dei dati
File callbacks.c
Relazione finale sul progetto
IX
351
381
391
Capitolo 10
Distribuzione dell’applicazione
Worldwide Commissions
393
10.1 Compilazione dalla riga di comando
393
10.2 Vantaggi di Make
394
10.3 Distribuzione dell’applicazione
396
Configurazione manuale
della barra di avvio di GNOME
396
Configurazione della barra di avvio di GNOME
con uno script della shell
401
Aggiunta delle istruzioni di installazione
al file make
402
10.4 Creazione del pacchetto RPM
404
Contenuto del file di specifiche RPM
409
10.5 Compilazione per Win32
con Microsoft Visual C++
410
File necessari
410
Configurazione del progetto e compilazione
411
Distribuzione dell’eseguibile per Windows
414
File dell’area di lavoro del progetto
416
Capitolo 11
Concetti di base e struttura
dell’applicazione
Key Business Indicators
11.1 Definizione del problema
Problemi di sicurezza
Informazioni sui dati esistenti
11.2 Interfaccia utente
Finestra principale (frm_reports)
Report 1: formato tabulare
(classifica dei rappresentanti)
Report 2: grafico a torta (vendite per settore)
Report 3: grafico a barre (confronto tra vendite
dell’anno e obiettivi)
Report 4: grafico a dispersione (ricerca
delle correlazioni fra i dati numerici)
11.3 Creazione del database
e impostazioni di accesso
11.4 Creazione del database
421
421
421
422
422
422
423
424
425
425
427
427
sql sommario
X
26-10-2001
14:23
Pagina X
INDICE
Capitolo 12
Capitolo 13
PARTE TERZA
●
Capitolo 14
PARTE QUARTA
Appendice A
Appendice B
Realizzazione dell’applicazione
Key Business Indicators
12.1 Definizione del problema
12.2 Applicazione principale
12.3 Report 1: tabella
12.4 Report 2: grafico a torta
12.5 Report 3: grafico a barre
12.6 Report 4: grafico a dispersione
431
431
431
445
453
465
474
Compilazione dell’applicazione
Key Business Indicators
13.1 Compilazione e distribuzione tramite RPM
File make
File di specifiche RPM
13.2 Compilazione con MinGW per Win32
Che cos’è MinGW
File e URL necessari
Configurazione del progetto e compilazione
487
487
487
491
494
494
494
495
UN ESEMPIO
501
Controllo dinamico
dell’interfaccia con XML
503
14.1 Ancora HelloWorld!
503
14.2 Comunicazione tra finestre
510
14.3 Modifica del programma senza ricompilazione 519
●
APPENDICI
523
File generati da Glade
per l’applicazione SESI Order Entry
A.1 File interface.c
A.2 File sesi.glade
525
525
560
File generati da Glade
per l’applicazione
Worldwide Commissions
B.1 File interface.c
B.2 File sesi.glade
613
613
637
sql sommario
26-10-2001
14:23
Pagina XI
I N D I C E XI
Appendice C
File generati da Glade
per l’applicazione
Key Business Indicators
C.1 File di Glade per KBI
File interface.c di KBI
File kbi.glade
C.2 File di Glade per il report tabulare
File interface.c dell’eseguibile
del report tabulare
File tabular.glade
C.3 File di Glade per il grafico a torta
File interface.c dell’eseguibile
del grafico a torta
File piechart.glade
C.4 File di Glade per il grafico a barre
File interface.c dell’eseguibile
del grafico a barre
File barline.glade
C.5 File di Glade per il grafico a dispersione
File interface.c dell’eseguibile
del grafico a dispersione
File scatter.glade
Indice analitico
679
679
679
682
685
685
688
691
691
694
697
697
698
701
701
705
711
sql sommario
26-10-2001
14:23
Pagina XII