Presentazione
Il lettore viene guidato nelle diverse fasi della progettazione e realizzazione di un database relazionale.
Nelle numerose esemplificazioni pratiche viene utilizzato MySQL come software di gestione database.
Viene poi trattato il linguaggio SQL per interrogare ed aggiornare il database.
Infine vengono presentate le tecniche e gli strumenti per realizzare una applicazione gestionale con il linguaggio C#.
Vengono trattati sia l’approccio tradizionale con ADO.NET e anche un approccio moderno con Entity Framework che è un software ORM (Object Relational Mapping).
Il lettore è invitato a svolgere degli esercizi per verificare la comprensione dei concetti e poi confrontare la soluzione proposta con la propria.
Indice
PRESENTAZIONE 1
INDICE 3
1. INTRODUZIONE AI DATABASE 5
DALLA GESTIONE TRADIZIONALE DEGLI ARCHIVI DI DATI AI DATABASE 5
DIVERSI TIPI DI DATABASE 7
MODELLI PER LE BASI DI DATI 7
UTILIZZO DI UN DATABASE 9
2. LA PROGETTAZIONE DI UN DATABASE 11
LE FASI DELLA PROGETTAZIONE 11
IL LINGUAGGIO SQL 12
IL MODELLO E/R 13
NAVIGAZIONE NEL DIAGRAMMA E/R 20
ASSOCIAZIONI MULTIPLE TRA DUE ENTITA’ 21
ASSOCIAZIONI INTERNE 24
ASSOCIAZIONI TERNARIE 25
3. IL MODELLO RELAZIONALE 30
NOTAZIONI PER LE TABELLE 32
MAPPING 32
VINCOLO 1FN 36
4. REALIZZAZIONE FISICA DEL DATABASE 39
PROPRIETA’ DELLE TABELLE DEL DATABASE 47
GLI INDICI 47
LE AZIONI REFERENZIALI 49
SOTTOINSIEMI E GERARCHIE DI SPECIALIZZAZIONE 52
5. LE FORME NORMALI 56
ELIMINAZIONE DELLA RIDONDANZA 59
LA BCNF - BOYCE-CODD NORMAL FORM 68
APPROFONDIMENTO: DIPENDENZE MULTIVALORE E 4FN 71
CONSIDERAZIONI CONCLUSIVE SULLA NORMALIZZAZIONE 74
6. INTERROGAZIONE DI UN DATABASE 77
FUNZIONI PER LE DATE DI MYSQL 82
TIPI DI JOIN 84
NAVIGAZIONE NELLO SCHEMA RELAZIONALE 95
QUERY DI SINTESI 96
QUERY CON RAGGRUPPAMENTI 102
QUERY COMPOSTE 104
APPROFONDIMENTO: LOGICA A 3 VALORI DI SQL 111
OPERAZIONI INSIEMISTICHE 114
QUERY DI AGGIORNAMENTO DEI DATI 119
COME RECUPERARE DATI IN CASO DI OPERAZIONI DI DELETE E UPDATE ACCIDENTALI 120
7. AUTOMAZIONE DEL DATABASE 123
TRIGGER 123
BEFORE TRIGGER 127
AFTER TRIGGER 128
STORED PROCEDURE 130
8. TRANSAZIONI 135
ATOMICITA’ 136
CONSISTENZA 138
ISOLAMENTO 140
DURABILITA’ (PERSISTENZA) 148
9. SICUREZZA DEL DATABASE 150
LE VISTE DEL DATABASE 150
UTENTI E PRIVILEGI 152
10. PROGRAMMAZIONE DI UN DATABASE 153
10.1 METODO TRADIZIONALE 154
LA RESTITUZIONE DI DATI PROVENIENTI DA PIÙ TABELLE 163
VALORI NULL 165
IL DATAADAPTER 166
APPROFONDIMENTO: GESTIRE DIVERSE FONTI DI DATI 170
TRANSAZIONI 172
10.2 USO DI UN FRAMEWORK ORM 175
CONFIGURAZIONE VS CONVENZIONE 177
VALORI NULL 185
CACHING E CHANGE TRACKING 186
APPROFONDIMENTO 188
10.3 USO DI DAPPER 189
DAPPER.TRANSACTION 196
11. RICERCHE FULL TEXT 198
CENNI DI INFORMATION RETRIEVAL 198
RICERCHE FULL TEXT CON MYSQL 201
QUERY IN “NATURAL LANGUAGE MODE” 204
QUERY IN “NATURAL LANGUAGE MODE WITH QUERY EXPANSION“ 205
QUERY IN “BOOLEAN MODE” 206
STEMMING E SINONIMI 207
APPENDICE 1 - PHP E LA CLASSE PDO 208
APPENDICE 2 – UTILIZZO DI STORED PROCEDURE 213
APPENDICE 3 – GENERATORE DI CLASSI 219
APPENDICE 4 – ELENCO STOPWORD 223
Acquisti
Pagine per informazioni e Acquisti su LULU:
Libro
Download
Errata Corrige
Errata: pag. 194 riga 19
new {codicefiscale = codicefiscale}).ToList();
Corrige: new {codicefiscale = codicefiscale});