LA PROGETTAZIONE DI UN DATABASE IL DISEGNO RELAZIONALE.

Slides:



Advertisements
Presentazioni simili
Modulo 5 DataBase ACCESS.
Advertisements

Introduzione ai database
DBMS (DataBase Management System)
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Una Introduzione alle Basi di Dati
Basi di Dati prof. A. Longheu
4 – Progettazione – Introduzione e Modello E-R
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
ACCESS.
Archivi   L’uso degli archivi deriva dalla necessità di conservare dati e informazioni in modo permanente affinché possano essere riutilizzate anche.
Archivio Necessità di immagazzinare in modo permanente grandi quantità di dati. Esempio: anagrafe dei cittadini di un comune.
Archivio Cé necessità di immagazzinare in modo permanente grandi quantità di dati. Esempio: anagrafe dei cittadini di un comune.
L’uso dei database in azienda
1 I SISTEMI INFORMATIVI Luso dei DATABASE in azienda Giovedì, 22 aprile 2004Alessandro Capodaglio.
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
Ms. Access: corso pratico di utilizzo dello strumento
Access: Query semplici
Basi di dati Università Degli Studi Parthenope di Napoli
Progettazione di una base di dati
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
INTRODUZIONE ALL’USO DI MICROSOFT ACCESS 2003
DBMS ( Database Management System)
Basi di Dati - 3 Dati su più tabelle Informatica 1 (SAM) - a.a. 2010/11.
Implementare un modello di dati
Basi di Dati Microsoft Office: Access OpenOffice: Base Informatica 1 (SAM) - a.a. 2010/11.
Gerarchia delle funzioni e modello FH
INFORMATICA Corso Base Modulo G: I DataBase  Access.
ACCESS Introduzione Una delle necessità più importanti in informatica è la gestione di grandi quantità di dati. I dati possono essere memorizzati.
Progettare un database
Introduzione a Oracle 9i
LE BASI DI DATI E IL LINGUAGGIO SQL.
Sistemi di Elaborazione delle Informazioni Mod.I.
EIPASS MODULO 5 Access 2007.
DATABASE Introduzione
Laboratorio informatico I
Microsoft Access Chiavi, struttura delle tabelle.
Interrogare il database
ITCG “V. De Franchis” - PON FSE Modulo G/1 l’informatica”
IV D Mercurio DB Lezione 1
Modulo 5 DataBase ACCESS. Informazioni e Dati INFORMAZIONI vengono scambiate con linguaggio scritto o parlato DATI rappresentazione di informazioni in.
I DATABASE.
Modulo 5 - Database. Contenuti della lezione 5.1.1Concetti Fondamentali 5.1.2Organizzazione di un Database 5.1.3Relazioni 5.2.1Lavorare con i database.
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Database Concetti di base
IV D Mercurio DB Lezione 2
Il modello relazionale. Modello logico dei dati basato su concetti relazione e tabella Relazione: da teoria degli insiemi Tabella: rappresentazione grafica.
Basi di dati Maria Laura Alessandroni
Microsoft Access Chiavi, struttura delle tabelle.
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Progettazione di basi di dati: metodologie e modelli
Esercitazione no. 4 EXCEL II Laboratorio di Informatica AA 2009/2010.
Modulo 5 Uso delle Basi di dati Paola Pupilli
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
InformaticApp 1 biennio. Access CREA TABELLE IN MODALITÀ STRUTTURA.
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Microsoft Access Filtri, query. Filtri Un filtro è una funzione che provoca la visualizzazione dei soli record contenenti dati che rispondono a un certo.
Le basi di dati.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
Programmazione Fondi Strutturali 2007/2013 Programma Operativo Nazionale: “Competenze per lo Sviluppo” finanziato con il Fondo Sociale Europeo Piano Integrato.
1 “ Le Basi di Dati ”. 2 Parte 5: Tabelle –Creazione di una tabella –Indici e chiavi primarie –Relazioni e integrità referenziale Basi di Dati Struttura.
Access Breve introduzione. Componenti E’ possibile utilizzare Access per gestire tutte le informazioni in un unico file. In un file di database di Access.
Il modello relazionale. Modello Relazionale 2 Dal modello concettuale a quello logico Una volta stabilita la rappresentazione concettuale della realtà.
Modulo 5 – Database ACCESS LICEO SCIENTIFICO “ B. RESCIGNO COMPUTER SCUOLA PIANO INTEGRATO 2008/09 ESPERTO prof.ssa Rita Montella.
Planet HT – Genova - Elisa Delvai
Elementi di statistica con R e i database LEZIONE 2 Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 12 Aprile 2012.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
I DONEITÀ DI C ONOSCENZE E C OMPETENZE I NFORMATICHE ( A – D ) Un database è un insieme di record (registrazioni) e di file (archivi) organizzati per uno.
Transcript della presentazione:

LA PROGETTAZIONE DI UN DATABASE IL DISEGNO RELAZIONALE

Fin dall'antichità l'uomo ha sempre avuto bisogno di memorizzare ed elaborare informazioni. Che fossero parole o numeri poco importava, quello che serviva era uno strumento per far sì che queste informazioni non fossero affidate solo alla memoria umana, ma continuassero ad esistere e ad essere disponibili a tutti. INTRODUZIONE

Prima dell'avvento dei computer l'unico supporto su cui era possibile memorizzare i dati era la carta (fogli, libri, ecc.) con tutte le limitazioni che essa comportava Con l'introduzione dei computer le cose migliorarono decisamente si cominciarono a studiare metodi e sistemi di gestione delle informazioni tali da ottimizzarne la ricerca e l'elaborazione.

Si sentì quindi il bisogno di organizzare il contenuto dei file in maniera organica; perché ciò fosse possibile furono realizzati dei programmi che generavano DATABASE, vale a dire dei file in cui i dati erano memorizzati secondo precisi criteri di omogeneità e sequenzialità. Sulla base di tali criteri i suddetti programmi furono poi in grado di ricercare ed elaborare i dati con notevole velocità.

Un DBMS (Data Base Management System) è un programma in grado di generare ed elaborare uno o più DATABASE, cioè uno o più file in cui i dati relativi a determinate entità (animali, persone, prodotti, fatture, ecc.) sono organizzati secondo i seguenti criteri: - ciascun elemento appartenente all'entità viene descritto da un RECORD (riga); - ogni record è suddiviso in CAMPI (colonne), ciascuno dei quali contiene un attributo (caratteristica) della suddetta entità.

Un database di clienti, ad esempio, può contenere i seguenti campi che descrivono le caratteristiche di ciascun cliente: - codice cliente - nome - cognome - indirizzo - città - CAP

Cercando di ottimizzare le prestazioni dei programmi DBMS ci si accorse ben presto che i database, così come erano strutturati, contenevano molti dati inutilmente ripetuti. Dovendo archiviare gli ordini dei clienti, ad esempio, era necessario ripetere per ogni ordine i dati anagrafici dei clienti che avevano effettuato più di un ordine.

Se, in aggiunta, si volevano memorizzare le fatture emesse, ecco che i dati anagrafici dei clienti dovevano essere di nuovo ripetuti, con un evidente spreco di tempo degli operatori e di spazio sui dischi dei computer.

Si cercò allora il modo di ovviare a questo inconveniente progettando dei programmi in grado di archiviare i dati in contenitori differenti, in base alla loro natura: le cosiddette TABELLE, e di mettere queste tabelle in relazione tra loro, secondo le necessità. Nacquero così gli RDBMS (Relational Data Base Management System). |

Nelle suddette tabelle ciascun record è contraddistinto da un campo contenente un identificatore univoco (un dato che compare una volta soltanto nell'intera tabella); questo identificatore viene utilizzato nelle altre tabelle, invece di ripetere per intero il record che lo contiene.

Se ad esempio, ogni cliente contenuto nella tabella anagrafica dei clienti viene identificato da un numero progressivo (ID Cliente), nella tabella degli ordini e in quella delle fatture emesse sarà sufficiente inserire questo numero invece di ripetere ogni volta tutti i dati anagrafici del cliente.

Programma del corso l Partiamo da un semplice esempio... l Il modello relazionale l I vantaggi della tecnologia relazionale l Il processo di progettazione di un database l La “normalizzazione” di un database

Partiamo da un semplice esempio... l Desideriamo costruire l’archivio dei nostri contatti. l Si tratta di persone che normalmente operano in azienda l Possono svolgere ruoli diversi l Vogliamo rintracciarle per azienda o per nome

I ipotesi: organizzazione “piatta” per azienda L’archivio è organizzato per azienda Vengono predeterminati gli incarichi previsti

I ipotesi: organizzazione “piatta” per azienda: i problemi l Alcuni incarichi potrebbero non esistere in particolari aziende l Come memorizzare un nominativo che non lavora in nessuna azienda? l E se bisogna inserire un ruolo non previsto (ad esempio il portinaio!)? In realtà questo approccio risulta: –POCO FLESSIBILE –MOLTO COSTOSO IN TERMINI DI SPAZIO

II ipotesi: organizzazione “piatta” per persona PersonaAziendaRuolo Bertasi RenzoFlower s.p.a.Amm. Del. Ferrini FrancaFlower s.p.a.Dir. Gen. Martini MarcoMartini s.r.l.Dir. Amm. Martini MarioMartini s.r.l.Amm. Del. Noaro FlavioFlower s.p.a.Dir. Comm. l L’archivio è organizzato per persona l Per ogni persona viene memorizzato il ruolo e l’azienda in cui opera l I dati dell’azienda sono replicati tante volte quante sono le persone

II ipotesi: organizzazione “piatta” per persona: i problemi l Vi è una inutile e costosa ripetizione delle informazioni l Quante modifiche sono necessarie se cambia la ragione sociale dell’azienda? Questo approccio è: –molto flessibile –presenta grosse difficoltà di gestione

Il modello relazionale Aziende Ragione Sociale Partita IVA Indirizzo Pagamento Banca Persone Cognome Nome Indirizzo Ruolo Cellulare Aziende e Persone sono classi di entità diverse della realtà, che devono essere descritte indipendentemente l’una dall’altra

Il modello relazionale l Presuppone il riconoscimento del tipo di legame, cioè di relazione, che lega le diverse entità del fenomeno che si intende rappresentare

Il modello relazionale Costruire un database relazionale significa quindi: –Individuare i dati elementari –Identificare le entità (tabelle) –Individuare, per ogni entità, la CHIAVE –Scoprirne le relazioni –Creare un modello della realtà che faccia riferimento alle entità individuate ed alle loro relazioni

Il modello relazionale l Garantisce espandibilità e flessibilità nella costruzione del modello e delle applicazioni che ne derivano l Elimina la necessità di duplicare i dati

Le Tabelle l Le informazioni relative ad una classe di entità vengono memorizzate in una struttura chiamata TABELLA l La Tabella è organizzata in righe (RECORD) e colonne (CAMPI) l Ogni campo identifica una proprietà dell’entità ed assume in ogni record un valore specifico l Ogni riga identifica un elemento dell’insieme delle entità. In ogni riga viene registrata l’informazione relativa a una specifica entità

Le Tabelle CAMPI o COLONNE RECORDRECORD

Costruzione del modello Per costruire un modello relazionale bisogna poter associare, se due tabelle (entità) sono in relazione, ogni record di una tabella con il record corrispondente della tabella collegata. Quanti tipi di relazione possono esistere?

Relazione “uno a uno” l Ad ogni record di una tabella principale è associato al più un record della tabella relazionata: Posti numerati Galleria 1 Galleria 2 Platea 1 Platea 2 Platea 3 Prenotazioni numerate Patrizia Giovanna Isabella

Relazione “uno a uno” l I posti esistono anche se non ci sono prenotazioni l Ogni prenotazione è relativa ad un posto (deve esistere il record corrispondente nella tabella POSTI) l Non possono esserci più prenotazioni per lo stesso posto

Relazione “uno a molti” l Ad ogni record di una tabella possono essere associati nessuno o molti record di una tabella collegata, ma ad ogni record di questa è associato sempre un’unico record di quella d’origine Clienti Rossi s.p.a. Bianchi s.r.l. Verdi s.n.c. Ordini

Relazione “molti a molti” l Ogni record di una tabella può essere associato a molti record della tabella collegata, e viceversa Clienti Rossi s.p.a. Bianchi s.r.l. Verdi s.n.c. Prodotti Penne Matite Carta Inchiostro Calamai

Come vengono create le relazioni l Relazioni 1 a 1 e 1 a molti –In ogni record della tabella relazionata si deve inserire il riferimento al record corrispondente della tabella principale

Come vengono create le relazioni l Relazioni molti a molti intermedia –bisogna creare una tabella intermedia, legata con una relazione “uno a molti” con entrambe le tabelle originarie Clienti Rossi s.p.a. Bianchi s.r.l. Verdi s.n.c. Prodotti Penne Matite Carta Inchiostro Calamai Ordini

La “Chiave Primaria” l E’ quindi necessario poter identificare in maniera univoca ogni record della tabella principale della relazione l Questo compito è svolto dalla CHIAVE PRIMARIA l La chiave primaria garantisce l’unicità del record: non ci possono essere due record di una tabella con la stessa chiave primaria

La “Chiave Primaria” l Le tabelle collegate (relazionate) conterranno un campo dove viene indicata la chiave primaria del record della tabella principale l Questo campo viene chiamato CHIAVE ESTERNA

La “Chiave Primaria” l La chiave primaria può consistere in un singolo campo: –Tabella FATTURE > CP Numero fatt. l in una combinazione di campi: –Tabella CITTA’ -----> CP Latitud. + Longitud. – PV + NUM (targhe) l in un valore esterno (artificiale): –Tabella CLIENTI ---> CP Codice cliente

Esempio di relazione tra tabelle (uno a molti) CodRag. SocialeIndirizzo 001Rossi s.p.a.V.le Monza, Verdi s.n.c.P.zza Garibaldi, 6 003Bianchi s.r.l.Via Palladio, 2 DataNumeroCod. cliente 2/5/ /5/ /5/ TABELLA CLIENTI TABELLA ORDINI

Gli indici l Una tabella è naturalmente ordinata: –secondo l’ordine di inserimento dei record se la tabella non ha una chiave primaria –secondo la chiave primaria se esiste l Tuttavia i record di una tabella devono poter essere ordinati secondo un qualsiasi campo, in senso crescente o decrescente; questa funzione è svolta dagli indici

Gli indici l Un INDICE è uno strumento che mantiene costantemente ordinati i record di una tabella secondo i campi su cui è applicato l L’insieme dei record ordinati non è una nuova tabella, ma un “altro punto di vista” della tabella stessa.

Gli indici l Se esiste un indice corrispondente al criterio di ordinamento, l’elenco è ordinato in ogni momento –viene rallentato l’aggiornamento, ma l’ordinamento è immediato l Se non esiste un indice, i record vengono ordinati quando ciò viene richiesto –è più veloce l’aggiornamento, ma è lento l’ordinamento

Gli indici l Di conseguenza conviene associare un indice ai metodi di ordinamento utilizzati di frequente: –elenco clienti in ordine alfabetico --> indice associato –elenco dipendenti in ordine di età --> nessun indice associato

La progettazione di un DB 1.Identificare gli oggetti (entità) ---> TABELLE 2.Scoprire le relazioni ---> RELAZIONI TRA TABELLE 3.Determinare le proprietà --> CAMPI 4.Controllare la validità dei dati inseriti 5.Individuare gli indici adatti 6.Gestire la sicurezza (accessi in lettura/scrittura) 7. Documentare l’applicazione

Approcci alla progettazione l Bottom - up –Applicazione --> Schema (analisi)--> Database –Analisi limitata agli aspetti inerenti all’applicazione l Top - down –Realtà --> Analisi --> Database --> Applicazioni –Analisi completa della realtà e generazione della applicazioni come conseguenza

I vantaggi dei DB relazionali l Il disegno dei dati è indipendente dalle applicazioni e viene mantenuto aggiornato l Il linguaggio di accesso al DB è standarizzato (SQL - QBE) l Il motore del database è intercambiabile l E’ semplificato l’accesso al DB da applicazioni standard (Microsoft Office)

Controllare la validità dei dati l Definire il tipo di dato di ogni campo –numero intero o con la virgola, testo, data, valuta, oggetto, ecc. l Definire i limiti dei valori del campo –massimo e minimo di un numero, lunghezza di un testo, ecc. l Aspetti formali (maiuscolo e minuscolo) l Controllare un valore in funzione di un altro campo

L’integrità referenziale l Gestire l’integrità referenziale significa: –rendere impossibile cancellare un record o modificarne la chiave primaria se esso ha dei record collegati in un’altra tabella l Ciò impedisce la possibilità che esistano record della tabella collegata che fanno riferimento a record della tabella principale che non esistono

L’integrità referenziale Quando si applica l’integrità referenziale non è possibile: l aggiungere record ad una tabella relazionata se nella tabella principale non esistono record associati l modificare i record della tabella principale che genererebbero record isolati in una tabella correlata l eliminare record dalla tabella principale se in una tabella correlata sono inclusi dei record correlati corrispondenti

Regole da seguire l Relazionare ogni campo al soggetto della tabella –un campo che descrive il soggetto di un’altra tabella appartiene all’altra tabella l Non inserire nella tabella valori calcolati l Indicare i campi nelle loro più piccole suddivisioni logiche

La normalizzazione del DB l La normalizzazione è un processo formalizzato di costruzione e verifica del DB che garantisce la correttezza della progettazione e grazie a ciò: –la semplicità –la flessibilità –la manutenibilità –la capacità analitica delle applicazioni costruite sul DB

I forma normale: campi ripetitivi l Richiede che le tabelle siano “piatte” e che non contengano gruppi ripetitivi: una tabella piatta ha solo due dimensioni - lunghezza (numero dei record) e larghezza (numero dei campi) e non può contenere caselle di dati con più di un solo valore

II forma normale: dipendenza da CP l Richiede che i dati contenuti in tutte le colonne non chiave siano completamente dipendenti dalla chiave primaria: –ciò significa che i valori dei dati in ogni colonna siano determinati univocamente dal valore della chiave primaria

III forma normale: indipendenza dei campi l Richiede che tutte le colonne (campi) non chiave siano dipendenti dalla chiave primaria ed indipendenti tra loro

IV forma normale: no relazioni “molti a molti” l Richiede che le entità dei dati indipendenti non siano contenute nella stessa tabella quando esistono delle relazioni “molti a molti” tra quelle entità

V forma normale l Richiede che deve essere possibile la ricostruzione della tabella di origine dalle tabelle in cui essa è stata scomposta –questa operazione viene eseguita per mezzo di “query”

Ora quanto abbiamo capito ? RIPRENDIAMO ALCUNI CONCETTI CHIAVE: ENTITA’ TABELLE RELAZIONI CHIAVE PRIMARIA, CHIAVE ESTERNA INDICI ITER DI PROGETTAZIONE INTEGRITA’ REFERENZIALE NORMALIZZAZIONE

I database relazionali: un esempio

Cos’è Access l Access è un DBMS, cioè una applicazione nata per gestire delle grosse quantità di dati. l Per realizzare questo compito, è necessario che i dati abbiano una loro strutturazione ben definita e retta da regole l Quindi Access consente di definire queste regole e di creare sui dati delle vere e proprie applicazioni per scopi specifici (applicazioni verticali)

SVILUPPATORE: colui che crea l’applicazione UTENTE: la persona che utilizza l’applicazione, potrebbe essere anche un neofita di computer. Con Access si fa ingresso nella categoria di sviluppatori di applicazioni che verranno utilizzate da persone con poca o nessuna esperienza di computer. ACCESS serve anche per creare APPLICAZIONI Una applicazione è un database automatizzato, lo scopo è creare un prodotto che tutti possano utilizzare, anche le persone che non sanno nulla di Access. ACCESS E I DUE PUNTI DI VISTA

Perché usare un RDBMS come Access? l Perché si hanno molte informazioni da gestire e magari e si vogliono organizzare e razionalizzare l Perché si vogliono utilizzare gli stessi dati per molti scopi diversi l Perché le informazioni devono essere condivise tra molti utilizzatori (utenti) l Perché si vuole garantire la correttezza dei dati (tramite dei meccanismi automatici di input) l Perché si vuole rendere le informazioni disponibili solo a chi serve e “nascoste” agli altri

Access Base: Contenuti l Definizioni: che cos’è un database e che cos’è Access l Progettare un database l L’interfaccia e gli oggetti di Access l Tabelle, dati e tipi di dati l Relazioni, chiave primaria e chiave straniera l Dai dati alle informazioni: le Query l Importazioni ed esportazioni semplici l Input e output con Maschere (schede) e Report