1 / 14

PROGETTAZIONE DI DATA BASE

PROGETTAZIONE DI DATA BASE. Maurizio Fermeglia - DICAMP. Data Base Relazionali: cosa sono? . Decidere che tabelle creare, che colonne contengono e che relazioni ci sono tra tabelle Prendere decisioni su come considerare sistemi nel mondo reale e modellarli in un database Tabelle

Download Presentation

PROGETTAZIONE DI DATA BASE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PROGETTAZIONE DI DATA BASE Maurizio Fermeglia - DICAMP

  2. Data Base Relazionali: cosa sono? • Decidere che tabelle creare, che colonne contengono e che relazioni ci sono tra tabelle • Prendere decisionisu come considerare sistemi nel mondo reale e modellarli in un database • Tabelle • Tabelle rappresentano ‘entità‘ del mondo reale • Ciascuna tabella deve rappresentare solo una entità • Tali entità possono essere oggetti oppure eventi

  3. Tabelle, unicità e chiavi • Ciascuna riga di una tabella deve esere unica • Ci si garantisce unicità attraverso le primarykey- una colonna che contiene valori unici • Ciascuna tabella puo’ avere solo una primary key (PK) • Chiavi semplici/composte • Decidere sull’assegnazione di PK • Minimalità • Stabilità • Semplicità • Le migliori PK spesso sono Integer, LongInteger, o Counter

  4. Chiavi Esterne e Domini • Primarykeys(PK)sono essenziali quando si devono creare relazioni • Foreignkey(FK): una colonna in una tabella usata per referirsi ad una PK in un’altra tabella • PK e FK devono appartenere allo stesso dominio • Relazioni nel mondo reale sono molto complesse • Relazioni nel RDB sono collegamenti tra due tabelle: • One-to-one • One-to-many • Many-to-many

  5. Normalizzazione • Normalizzazione è il processo di semplificazione di un data base per ottenere la struttura ottimale • FormeNormalisono progressioni lineari di regole da applicare al data base, con ciascuna forma normale si ottiene un miglioramento del data base • …per diventare Normali • 1NF: Una colonna un valore. Rimuovere gruppi ripetuti • 2NF: Spezzare in tabelle che descrivano entità separate. Spezzare le tabelle con PK composte • 3FN: Rimuovere colonne calcolate e creare tabelle di lookup

  6. Regole di Integrità • Regole generali • Entita • PK • Appartenenza al dominio • Valori NULL • Vincolo di ennupla • Referenziale • Database non deve contenere chiavi esterne non corrispondenti a PK • Regole specifiche del Database... • Business rules (trigger, Stored Procedures, User Def, Functions) • Processi transazionali

  7. Approccio Pratico alla progettazione di Database 1. Analisi dell’applicazione 2. Scrittura obiettivi fondamentali su carta • Bozza dei data entry forms su carta • Creazione di un diagramma E/R basata sul punto 3 5. Considera reports esistenti (o creane di nuovi su carta) • Modifica schema concettuale in funzione dei reports • Semplificazione dello schema concettuale – progettazione logica – schema delle tabelle 8. Su carta, aggiungi records, usando dati reali. 9. Incomincia la normalizzazione. Crea PK su ciascuna tabella. Assicurati che la PK prevenga possibili duplicazioni.

  8. Approccio Pratico alla progettazione di Database 10. Su carta, annota le chiavi esterne, aggiungendole se necessario alle tabelle. Stabilisci le relazioni tra le tabelle specificando se sono 1-1 o… Se si tratta di relazioni molti a molti progetta le tabelle di sponda (linking table) e valuta se utilizzare chiavi composte su queste tabelle. 11. 1NF?Tutti i campi sono atomici? Ci sono gruppi che si ripetono? 12. 2NF?Ciascuna tabella descrive una singola entità? Ciscuna PK delle singole tabelle implica tutte le altre colonne. Se sono presenti chiavi primarie composte, spezza le chiavi.

  9. Approccio Pratico alla progettazione di Database 13. 3NF?Ci sono colonne calcolate? Ci sono colonne dipendenti? Eliminale con delle tabelle di lookup. 14. Aggiusta le relazioni tra le tabelle ed eventualmente denormalizza il data base solo dove risulta necessario. 15. Crea tabelle e relazioni nel programma scelto (Access) 16. Crea il prototipo delle queries, forms e reports. Potrebbero in questa fase evidenziarsi problemi nel progetto. Aggiusta il progetto. 17. Mostra il prototipo al cliente.

  10. Approccio Pratico alla progettazione di Database 18. Torna al progetto ed aggiungi Business Rules 19. Crea le forms e report finali. Sviluppa l’applicazione. 20. Consegna al cliente per il test. Modifica il progetto di conseguenza 21. Consegna finale

  11. Approccio Pratico alla progettazione di Database 22. (Opzionale) Vai a berti qualcosa!

  12. Dalla creazione del prototipo… • Gli step precedenti hanno permesso di definire e relizzare un prototipo di applicazione che soddisfa il cliente… • … ma per ottenere performances e multiutenza reale è consigliabile passare sotto motore SQL… • … realizzando una applicazione professionale.

  13. … al data base reale... 1. Separa, sotto Access il prototipo in due files: 1 contenete il front end e l’altro contenete solo i dati Split data base 2. Collega i due file (link tables ed ODBC – OLE db) 3. Porta sotto motore (SQL server, Oracle,…) il file dati usando appositi strumenti di porting 4. Imposta/verifica il driver ODBC / OLEdb per il data base appena convertito 5. Collega il vecchio front end Access al motore usando il driver ODBC / OLEdb 6. Verifica che il funzionamento sia uguale al prototipo

  14. … al data base reale 7. Implementa il sistema di security sul server pensando all’utilizzo in rete 8. Implementa caratteristiche specifiche del motore (business rules, stored procedures,…) 9. Verifica che il database sia utilizzabile via ODBC / OLEdb da applicazioni standard e che il sistema di sicurezza funzioni 10. Scegli un sistema di sviluppo del front-end (VB, C, Delphi, Power Builder,…) e valuta l’esitenza di strumenti di porting 11. Scrivi il front end 12. Verifica finale di funzionamento

More Related