Dottorato di ricerca Nuove Tecnologie e Informazione Territorio – Ambiente Nozioni fondamentali di Basi di Dati Seminario interno.

Slides:



Advertisements
Presentazioni simili
Modulo 5 DataBase ACCESS.
Advertisements

Introduzione ai DBMS I Sistemi di Gestione di Basi di Dati sono strumenti software evoluti per la gestione di grandi masse di dati residenti su memoria.
Introduzione ai database
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
Normalizzazione Forme Normali.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Una Introduzione alle Basi di Dati
Introduzione ai sistemi di basi di dati
DOCUMENTAZIONE DI SCHEMI E/R
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.
ESEMPI DI ARCHIVI DI DATI
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
Tipo Documento: unità didattica 1 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
Basi di dati Università Degli Studi Parthenope di Napoli
Progettazione di una base di dati
Relazioni Relazione : concetto mutuato dalla definizione di relazione matematica della teoria degli insiemi, come sottoinsieme del prodotto cartesiano.
Partizionamento/accorpamento di concetti
Modello Relazionale Proposto agli inizi degli anni ‘70 da Codd
Introduzione alle Basi di Dati. Overview Informazione = contenuto + struttura Informazione non strutturata Molto contenuto, poca struttura Un romanzo.
Implementare un modello di dati
Esercitazione di Basi di Dati
INFORMATICA Corso Base Modulo G: I DataBase  Access.
DAGLI ARCHIVI AI DATABASE
MODELLO LOGICO DEI DATI
Progettare un database
Introduzione a Oracle 9i
LE BASI DI DATI E IL LINGUAGGIO SQL.
Sistemi di Elaborazione delle Informazioni Mod.I.
Introduzione alle basi di dati
EIPASS MODULO 5 Access 2007.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
DATABASE Introduzione
Laboratorio informatico I
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
DB- Sistemi Informativi
ITCG “V. De Franchis” - PON FSE Modulo G/1 l’informatica”
Percorso didattico per l’apprendimento di Microsoft Access
Modulo 5 DataBase ACCESS. Informazioni e Dati INFORMAZIONI vengono scambiate con linguaggio scritto o parlato DATI rappresentazione di informazioni in.
I DATABASE.
Modellazione dei Dati Fabio Scanu a.s. 2012/2013.
SCHEDA INFORMATIVA DI UNITÀ. Progettare una base di dati PROGETTAZIONE DI UNA BASE DI DATI -Identificazione delle informazioni salienti -Creazione di.
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.
Dati e DBMS DBMS relazionali SQL Progettazione di un DBMS Normalizzazione Programma del Corso di Basi di Dati.
Basi di dati Maria Laura Alessandroni
SCHEDA INFORMATIVA DI UNITÀ. PROGETTAZIONE DI UN DATABASE Identificazione delle informazioni salienti Definizione di relazioni fra i dati.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione Programma del Corso.
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione Programma del Corso.
1 Esami Esame scritto: Tra 21 e 25 domande: 20 domande chiuse (20 punti),  5 domande aperte (10 punti) 1½ ore Esame orale/applicativo: Esercizi usando.
Eprogram informatica V anno.
Tipo Documento: unità didattica 2 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
Eprogram informatica V anno.
Tipo Documento: unità didattica 1 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
Cloud informatica V anno.
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Linguaggi per basi di dati Linguaggi di definizione dei dati Utilizzati per definire gli schemi e le autorizzazioni per l’accesso Linguaggi di manipolazione.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
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.
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.
Basi di dati - 09Marco Maggini1 Forme normali forme normali  Le forme normali verificano la qualità di uno schema di una base di dati relazionale  Presenza.
Transcript della presentazione:

Dottorato di ricerca Nuove Tecnologie e Informazione Territorio – Ambiente Nozioni fondamentali di Basi di Dati Seminario interno

COSA E UN DATA-BASE (DB) ? è linsieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB ? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i dati non devono essere inutilmente duplicati per problemi di: - spazio, - gestione, - manutenzione, - affidabilità, - coerenza la permanenza dei dati la base di dati è protetta contro eventi che possano minacciarne lesistenza e/o lintegrità la condivisione dei dati piu utenti devono potere ad un tempo usare la stessa base di dati (supporto unico, aggiornamento unico, coerenza dei dati, affidabilità,...) Prof. M. Cossentino – Univ. di Palermo CONCETTI DI BASE

Schema di una base di dati Descrizione della struttura dei dati di uno specifico contesto applicativo Istanza (o occorrenza) di una base di dati Valore assunto dai dati di un certo DB in un certo istante Organizzazione degli archivi Le informazioni contenute in memoria vengono organizzate in record logici Un record è composto da campi Più record possono essere contenuti in un file (o più file) CONCETTI DI BASE Prof. M. Cossentino – Univ. di Palermo

CONCETTI DI BASE Prof. M. Cossentino – Univ. di Palermo Problemi legati alle informazioni archiviate in modo de-strutturato 1. Inconsistenza e ridondanza dei dati Vi possono essere differenze tra i valori relativi ad una stessa entità ma registrati in posizioni diverse. La duplicazione di dati crea ridondanze, ambiguità e difficoltà di gestione 2. Integrità dei dati L'integrità dei dati viene assicurata dai 'vincoli di consistenza' (Ad esempio un campo non può assumere valore negativo) Se linformazione è registrata in più punti del sistema è necessario predisporre meccanismi talvolta complessi che ne assicurino la congruità. 3. Concorrenza Difficoltà o impossibilità di gestire accessi simultanei alla stessa informazione da parte di più utenti o applicazioni.

CONCETTI DI BASE Vantaggi dei Data Base Management Systems (DBMS) I tutti i sistemi: 1. I dati non sono duplicati e non sussistono ridondanze 2. I vincoli di consistenza fanno parte integrante della base dati e non sono applicazioni esterne Nei sistemi evoluti (cfr. database server): 3. L'accesso ai dati può avvenire in modo differenziato per diversi utenti secondo un sistema di privilegi fissati allinterno della base dati stessa 4. L'accesso ai dati può essere effettuato da diversi utenti simultaneamente con un sistema di controllo e mutua esclusione (blocco dei records) gestito dal DBMS Nelle architetture: 5. I dati possono alimentare applicazioni diverse anche residenti su diverse piattaforme hardware / software

CONCETTI DI BASE Tra i vari modelli di basi dati il modello di gran lunga più utilizzato è Il modello relazionale Una base di dati relazionale è una collezione di relazioni (o tabelle) Una relazione è una tabella costituita da un numero fisso di colonne dette attributi (o campi) e un numero variabile di righe dette tuple (o records) Prof. M. Cossentino – Univ. di Palermo

CONCETTI DI BASE Chiave in una relazione E un sottoinsieme K degli attributi che soddisfa le proprietà di: unicità: in qualunque istanza della relazione, non possono esistere due tuple distinte la cui restrizione su K sia uguale minimalità: non è possibile sottrarre alla relazione un attributo senza violare la condizione di unicità In generale una relazione può avere più di una chiave Ad esempio una relazione contenente nomi di persone e caratterizzata dai seguenti attributi: codice fiscale, nome, cognome, codice meccanografico anagrafe, data di nascita; possiede due chiavi. Chiave primaria in una relazione Corrisponde alla chiave usata più frequentemente per accedere ai dati Prof. M. Cossentino – Univ. di Palermo

PROGETTAZIONE DI UNA BASE DATI Prof. M. Cossentino – Univ. di Palermo Le fasi di progettazione di un DB sono tre: 1 - Progetto CONCETTUALE (-> Schema concettuale) 2 - Progetto LOGICO (-> Schema logico) 3 - Progetto FISICO (-> Schema fisico) 1 - Progetto CONCETTUALE Lo schema concettuale è la rappresentazione più astratta, la più vicina alla logica umana nella definizione di dati e relazioni. Spesso vengono usati i modelli entità-relazioni (ERD) 2 - Progetto LOGICO Lo schema logico dipende fortemente dal DBMS e dal suo modello logico dei dati. Esistono ad esempio DBMS gerarchici, reticolari e relazionali. Nello schema logico vengono definite anche le viste (dette anche schemi esterni) cioè le parti del DB messe a disposizione delle applicazioni. 3 - Progetto FISICO Lo schema fisico definisce come le strutture definite nel progetto logico vanno implementate nellarchivio e nel file system scelti.

ENTITA IMMOBILE SOGGETTO RELAZIONI IMMOBILE SOGGETTO TITOLARITA CARDINALITA IMMOBILE SOGGETTO TITOLARITA (1) (N) ATTRIBUTI IMMOBILE IDENTIFICATORE superficie rendita (1 - ) RAPPRESENTAZIONE DEL MODELLO E-R Definizioni: Entità: un qualsiasi oggetto concettuale che rappresenta una data informazione e che può essere individuato e distinto dagli altri. Attributi: insieme di valori che caratterizzano un'entità Attributi chiave: insieme degli attributi sufficienti ad identificare univocamente un'entità all'interno di un certo insieme

Dal modello ERD alle tabelle Regole per passare dallo schema concettuale (ERD) allo schema logico relazionale (tabella): 1 - Ad ogni entità dellERD corrisponde una tabella 2 - Le relazioni fra entità dellERD (tabelle T1 e T2) sono di fatto costituite da particolari colonne in comune (chiavi primarie ed esterne) 2a - Se la relazione è 1:1 agli attributi di T1 si possono aggiungere quelli che sono chiave primaria di T2 (chiave esterna di T2) e viceversa 2b - Se la relazione è 1:N agli attributi di T2 si possono aggiungere quelli che sono chiave primaria di T1 (chiave esterna di T2) e non viceversa 2c - Se la relazione è N:N è necessario creare una tabella T3 le cui colonne sono le chiavi primarie di T1 e T2. La chiave primaria di T3 è linsieme delle sue colonne ed è linsieme delle chiavi esterne di T1 e T2 RAPPRESENTAZIONE DEL MODELLO E-R (ERD) Prof. M. Cossentino – Univ. di Palermo

NORMALIZZAZIONE DEI DATI PER LUTILIZZO DI DBMS Prima forma normale: In una tabella di dati ogni colonna deve assumere un solo valore, ovvero non può essere una matrice di valori EdificioUnità immobiliari Edificio 1UI1UI2UI3 Edificio 2UI4UI5 EdificioUnità immobiliari Edificio 1UI1 Edificio 1UI2 Edificio 1UI3 Edificio 2UI4 Edificio 2UI5 In questo caso la normalizzazione consiste nel riportare le celle che originariamente erano raggruppate in una unica colonna in più righe replicando gli altri valori

NORMALIZZAZIONE DEI DATI PER LUTILIZZO DI DBMS Seconda forma normale: in una tabella con chiave a più attributi, ogni colonna non appartenente alla chiave deve dipendere da tutte le colonne chiave e non solo da una parte di esse. Codice cittàCodice viaCittàVia 01a1RomaCesare Battisti 01a2RomaCavour 03a3VeneziaVerdi ViaCodice viaCodice città Cesare Battistia101 Cavoura201 Verdia303 Codice cittàCittà 01Roma 03Venezia In questo caso la normalizzazione consiste nel produrre nuove tabelle che soddisfino la condizione di partenza Città dipende soltanto da codice città

NORMALIZZAZIONE DEI DATI PER LUTILIZZO DI DBMS Terza forma normale: In una tabella la dipendenza fra le colonne deve essere basata soltanto sulla chiave primaria. Tipo zonaIndice densità C12,0 C2-11,0 C2-20,85 Codice zonaTipo zonaIndice densità 01C12,0 02C12,0 03C2-11,0 04C2-11,0 05C2-20,85 Anche in questo caso la normalizzazione consiste nel produrre nuove tabelle che soddisfino la condizione di partenza. Indice densità dipende dal tipo di zona non dal codice zona Codice zonaTipo zona 01C1 02C1 03C2-1 04C2-1 05C2-2

ComuneCod_ provincia ScorzèVE CaorleVE Montecchio Vic.VI San Martino Buon AlbergoVR Comuni Select * from comuni <- (Selezione con SQL) UTILIZZO DELLA BASE DATI: LE QUERY DI SELEZIONE ComuneCod_ provincia ScorzèVE CaorleVE Montecchio Vic.VI San Martino Buon AlbergoVR Con gli operatori select e from si estraggono informazioni da una tabella. In questo esempio il risultato della query è identico alla tabella di origine

ComuneCod_ provincia ScorzèVE CaorleVE Montecchio Vic.VI San Martino Buon AlbergoVR Comuni Select comune from comuni (Selezione con SQL) UTILIZZO DELLA BASE DATI: LE QUERY DI SELEZIONE Comune Scorzè Caorle Montecchio Vic. San Martino Buon Albergo Sostituendo lasterisco con una sequenza di nomi di campi si estraggono alcune colonne di una tabella (il numero delle righe rimane inalterato)

ComuneCod_ provincia ScorzèVE CaorleVE Montecchio Vic.VI San Martino Buon AlbergoVR Comuni Select * from comuni where cod_provincia = VE (Selezione con SQL) UTILIZZO DELLA BASE DATI: LE QUERY DI SELEZIONE ComuneCod. provincia ScorzèVE CaorleVE Con luso della clausola where il risultato della query è costituito da righe che sono un sottoinsieme della tabella di origine (questa operazione si può anche definire un filtro sul contenuto della tabella.)

ComuneCod. provincia ScorzèVE CaorleVE Montecchio Vic.VI San Martino Buon AlbergoVR ComuneCod_ provincia Provincia ScorzèVE Venezia CaorleVE Venezia Montecchio Vic.VIVEVenezia San Martino Buon AlbergoVRVEVenezia ScorzèVEVIVicenza CaorleVEVIVicenza Montecchio Vic.VI Vicenza San Martino Buon AlbergoVRVIVicenza ScorzèVEPDPadova CaorleVEPDPadova Montecchio Vic.VIPDPadova San Martino Buon AlbergoVRPDPadova Cod. ProvinciaProvincia VEVenezia VIVicenza PDPadova ComuniProvince Select * from comuni, province Record i cui i valori di codice provincia coincidono UTILIZZO DELLA BASE DATI: LE QUERY DI SELEZIONE Una query con due tabelle estrae tutte le combinazioni possibili tra i rispettivi record

ComuneCod. provincia ScorzèVE CaorleVE Montecchio Vic.VI San Martino Buon AlbergoVR ComuneCod_ provincia Provincia ScorzèVE Venezia CaorleVE Venezia Montecchio Vic.VI Vicenza Cod. ProvinciaProvincia VEVenezia VIVicenza PDPadova ComuniProvince Select * from comuni, province where comuni.cod_provincia = province.cod_provincia In una query con più tabelle, utilizzando la clausola where ottengo un risultato più utile escludendo le combinazioni comune-provincia che non hanno senso UTILIZZO DELLA BASE DATI: LE QUERY DI SELEZIONE

ComuneCod. provincia ScorzèVE CaorleVE Montecchio Vic.VI San Martino Buon AlbergoVR ComuneCod_ provincia Provincia ScorzèVE Venezia CaorleVE Venezia Montecchio Vic.VI Vicenza Cod. ProvinciaProvincia VEVenezia VIVicenza PDPadova ComuniProvince Select * from comuni inner join province on comuni.cod_provincia = province.cod_provincia Utilizzando loperatore di join (tipo inner join) ottengo un risultato analogo al precedente. NB: In entrambi i casi i records che non hanno riferimenti non vengono considerati (cfr San Martino e Padova) UTILIZZO DELLA BASE DATI: LE QUERY DI SELEZIONE

ComuneCod. provincia ScorzèVE CaorleVE Montecchio Vic.VI San Martino Buon AlbergoVR ComuneCod_ provincia Provincia ScorzèVE Venezia CaorleVE Venezia Montecchio Vic.VI Vicenza San Martino Buon AlbergoVR Cod. ProvinciaProvincia VEVenezia VIVicenza PDPadova ComuniProvince Select * from comuni left join province on comuni.cod_provincia = province.cod_provincia Utilizzando il join di tipo left ottengo un risultato equivalente allinner join a cui però vengono aggiunti i record della tabella di sinistra che non hanno riferimenti; su queste righe i campi provenienti alla tabella di destra non riportano valori ma il cosiddetto null (nessun valore). UTILIZZO DELLA BASE DATI: LE QUERY DI SELEZIONE

ComuneCod. provincia ScorzèVE CaorleVE Montecchio Vic.VI San Martino Buon AlbergoVR ComuneCod_ provincia Provincia ScorzèVE Venezia CaorleVE Venezia Montecchio Vic.VI Vicenza PDPadova Cod. ProvinciaProvincia VEVenezia VIVicenza PDPadova ComuniProvince Select * from comuni right join province on comuni.cod_provincia = province.cod_provincia Utilizzando il join di tipo right ottengo un risultato equivalente allinner join a cui però vengono aggiunti i record della tabella di destra che non hanno riferimenti. UTILIZZO DELLA BASE DATI: LE QUERY DI SELEZIONE