Progettare Basi di Dati

Documenti analoghi
TEORIA RELAZIONALE: INTRODUZIONE

Normalizzazione. Definizione

Normalizzazione di Basi di Dati. Prof. Francesco Accarino IIS Altiero Spinelli via Leopardi 132 Sesto San Giovanni

Introduzione alla normalizzazione dei dati

La in verifica forma teoria normale della normalizzazione fornisce comunque uno strumento di già

CAPITOLO V. DATABASE: Il modello relazionale

INTRODUZIONE ALLE BASI DATI RELAZIONALI

La normalizzazione. CdL Informatica Applicata UNIURB - Dott. Maurizio Maffi

Progettazione di Basi di Dati

Relazioni e tabelle. Introduzione alle Basi di Dati Relazionali. Relazioni uno a uno. Esempio

Gestione di basi di dati in Access. SUISM Docente: Ugo de Liguoro a.a Asti

NORMALIZZAZIONE. Fino ad ora. Dipendenze funzionali e Normalizzazione per basi di dati relazionali

Lezione basi di dati 26 gennaio NORMALIZZAZIONE

Interrogazioni nidificate

Progettazione di Database

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza

Capitolo 9. Esercizio 9.1. Esercizio 9.2

I database. Introduzione alla teoria delle basi di dati

Introduzione Concetti Generali Pratica su Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 1

Progettazione logica

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, Progettazione logica. Dati di ingresso e uscita

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 26 Giugno 07 Nome: Cognome: Matricola: Esercizio 1

Interrogazioni nidificate

ESERCIZIO di NORMALIZZAZIONE

BASI DATI: algebra relazionale

1 LibreOffice Base GESTIONE BIBLIOTECA

Microsoft Access. Microsoft Access. Maurizio Rebaudengo, Paolo Garza 1. Microsoft Access. Creazione base di dati. Apertura di una base dati

Università per Stranieri di Siena

Microsoft Access (parte 5) Query. Query. Query. Query. Creare una query

SQL. Il nome sta per Structured Query Language Le interrogazioni SQL sono dichiarative

GESTIONE VOTI SCOLASTICI

Le query di comando e di servizio in Access

LE PREVISIONI DI CASSA CON MICROSOFT EXCEL

Il modello relazionale

Utilizzo delle Maschere in Microsoft Access

Raccolta e analisi dei requisiti

Basi di Dati. Corso di Informatica. Memorizzazione dei Dati. Accesso ai Dati. Corso di Laurea in Conservazione e Restauro dei Beni Culturali

Ingegneria del Software

Corso di Basi di Dati A.A. 2015/2016

Teoria della Progettazione delle Basi di Dati Relazionali

Algebra Relazionale. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Database. Cos è un database? Intro Tipi di entità Mapping ER/EER à Relazionale

GESTIONE ABBONAMENTI RIVISTE

INFORMATICA SANITARIA Domande ed Esercizi di Preparazione all Esame (Parti 8-17)

Modello logico dei dati utilizzato nell ambito delle basi di dati, introdotto da Codd nel 1970.

Gestione Alunni. SCUOLA SECONDARIA DI II GRADO Anagrafe Nazionale Avvio a.s. 2016/2017

Selezione per messaggio Sedex e Movpop

Compito Sistemi Informativi LA. Tempo concesso : 90 minuti 28 Giugno 05 Nome: Cognome: Matricola: Esercizio 1

Come è memorizzato un documento su disco. Ogni documento è una sequenza di byte, cioè di numeri interi compresi tra 0 e 255, detti anche caratteri

BASI DI DATI. Titolo Prof. Cognome Nome Indirizzo Numero Telefono

Basi di dati 19 dicembre 2016 Prova parziale Compito A Tempo a disposizione: un ora e quindici minuti. Libri chiusi.

Strutture fisiche di accesso

Pagina Personale Docente. Guida Utente. Progetto DISCITE. Facoltà Teologica del Triveneto. SEED Edizioni Informatiche. Guida Utente DISCITE - PPD

MODELLI DEI DATI. Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia

Progettazione logica relazionale (1/2) Progettazione logica. Progettazione logica relazionale (2/2) Introduzione. Progettazione logica

Bibliografia. INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. Definizione di DB e di DBMS

1. Dire cosa si intende per componente intensionale e componente estensionale di una base di dati.

Guida Utente. Progetto DISCITE. ISTITUTO TEOLOGICO SAN TOMMASO - Messina

Elementi di gestione di dati con MS Access 2000

Che cosa è e a cosa serve un GIS?

Guida al servizio Sezione AZIENDE

Si considerino le seguenti specifiche relative alla realizzazione di un sistema informativo per la comunità scientifica di ricerca paleontologica.

Caratteristiche dei linguaggi per Database

BANDO DI CONCORSO PER L ASSEGNAZIONE DI

Guida alla compilazione on-line delle domande di Dote Scuola e Percorsi di Istruzione formazione Professionale primo anno A.S.

Informatica Industriale

SQL terza parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2010/11

SPI DESCRIZIONI ARTICOLI IN LINGUA

INSERIMENTO PREVENTIVO E SUCCESSIVE TRASFORMAZIONI

Esercizio 9.1. Figura 9.20 Relazione per l esercizio 9.1. Soluzione:

Basi di dati. Selezione, proiezione e join. Linguaggi di interrogazione. Selezione, proiezione e join. Equivalenza di espressioni

Riconoscere e formalizzare le dipendenze funzionali

Gestione della Concorrenza

Laboratorio di Basi di Dati progettazione concettuale

Compito Basi di Dati. Tempo concesso: 90 minuti 15 Febbraio 2007 Nome: Cognome: Matricola:

Access. P a r t e t e r z a

ITIS A. Volta Flavia Lollis pag. 1

Indicare quale o quali delle seguenti affermazioni sono vere?

Informatica e Bioinformatica: Basi di Dati

OPERAZIONI SULLA STRUTTURA

Modulo 5 Basi di dati Access

Ciclo di vita di un sistema informativo

Basi di Dati. S Q L Lezione 2

Guida rapida per gli studenti

Esempio di database relazionale con l utilizzo del prodotto MySQL

GESTIONE VERBALI DI ESAME

! Un arco multiplo corrisponde ad un associazione molti-a-molti: il padre (libro) non determina funzionalmente il figlio (autore)

Corso di Fondamenti di Informatica Tipi strutturati: Strutture typedef Anno Accademico 2008/2009 Francesco Tortorella

COLLEGIO PAPIO SCUOLA MEDIA e LICEO Casella Postale 840, CH-6612 Ascona Tel. +41 (0) Fax +41 (0)

Corso di CHIMICA L (A-K)

Indagine statistica. Indagine Totale Indagine Campionaria Fasi dell indagine

Informazione e sua rappresentazione: codifica

Lab. di Sistemi Operativi - Esercitazione - Comandi Shell

Si considerino le seguenti specifiche relative alla realizzazione di un sistema informativo per un concessionario di automobili.

Corso di Basi di Dati

Laboratorio di Basi di Dati prova totale 20 febbraio 2013

SQL: Structured Query Language. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma

Università degli Studi di Milano. Esercizi Corso SIT. Basi di dati

IL MODELLO ENTITY RELATIONSHIP. il modello ER 1

Transcript:

Progettare Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Elementi di informatica per l economia

Teoria della normalizzazione La teoria della normalizzazione ha come scopo quello di fornire metodi per progettare basi di dati senza anomalie. La realtà che si intende analizzare tramite una base di dati può avere più schemi, equivalenti fra loro, che la descrivono. Alcuni di questi schemi possono presentare degli inconvenienti (ridondanze o anomalie di comportamento) che rendono inadeguato l utilizzo efficiente delle informazioni. 2

Anomalie di comportamento Ridondanza Anomalie da modifica Anomalie da inserzione Anomalie da cancellazione 3

Anomalie di comportamento Con ridondanza si intende la non necessaria ripetizione della stessa informazione con il conseguente spreco di spazio; Con anomalie da modifica si intende la necessità di ripetere, in caso di cambiamento di una informazione, la modifica ovunque tale informazione è, duplicata; Con anomalia da inserzione si intende la necessità di inserire ulteriori informazioni, non strettamente necessarie per poter inserire un nuovo dato; Per anomalie di cancellazione si intende l eliminazione di alcune informazioni in conseguenza della cancellazione di altre. 4

Esempio: Codice Cliente Nome Via Codice Articolo Quantità ordinata 10 Rossi Antonio Piazza Garibaldi A25 20 10 Rossi Antonio Piazza Garibaldi B10 10 20 Bianchi Maria Viale Fermi C12 3 Si osserva che: Le informazioni anagrafiche si ripetono tante volte quanti sono gli ordini fatti; Se un cliente cambia indirizzo, bisogna modificare più righe; Non si può caricare un nuovo cliente se questo prima non ha effettuato un ordine; Se un articolo deve essere eliminato (per esempio C12), si possono cancellare anche delle informazioni anagrafiche. 5

Teoria della normalizzazione La teoria della normalizzazione si occupa dei seguenti problemi su schemi (soprattutto) relazionali: Definire quando due schemi sono equivalenti Definire criteri di bontà per schemi (forme normali) (Una forma normale è una proprietà di uno schema relazionale che ne garantisce la qualità,cioè l assenza di determinati difetti) Determinare metodi algoritmici per ottenere uno schema migliore ed equivalente a partire da uno schema non in forma normale ( normalizzazione) 6

Forme Normali Relazione in 1NF Relazione in 2 NF Relazione in 3 NF Relazione in BCNF Relazione in 4 NF Relazione in 5 NF 7

Normalizzazione L attività che permette di trasformare schemi non normalizzati in schemi che soddisfano una forma normale è detta normalizzazione; La normalizzazione va utilizzata come tecnica di verifica dei risultati della progettazione di una base di dati; Non costituisce quindi una metodologia di progettazione; 8

Normalizzazione Per costruire uno schema relazionale: 1. Si parte da un buon schema E-R e lo si traduce ; 2. Si costruiscono direttamente le relazioni e poi si correggono quelle che presentano anomalie ; 3. Si analizza uno schema relazionale già esistente e lo si modifica/completa; 9

PRIMA FORMA NORMALE Ogni campo deve contenere un solo valore: (la 1NF è chiamata anche FORMA ATOMICA). Un campo non atomico può essere strutturato o multivalore: ogni attributo strutturato viene sostituito da tanti attributi quanti sono i valori che appaiono nell attributo strutturato stesso; ogni attributo multivalore diventa un attributo semplice spezzando la tupla che contiene il valore in tante tuple quanti sono i valori descritti nell attributo; (Se una tabella si trova nella prima forma normale, non c è alcuna possibilità di suddividere ulteriormente i campi della tabella) 10

1NF Esempio: Tabella STUDENTI: (#MATRICOLA, nomecognome, indirizzo, voti) NomeCognome e indirizzo sono campi strutturati e vengono divisi in nome, cognome, via, cap, città Voti è un campo multivalore, di conseguenza ogni riga viene divisa in più righe, una per ogni voto riportato 11

1NF (continua): Tabella STUDENTI: (#MATRICOLA, nome, cognome, via, cap, città, voto) Attenzione: #Matricola non può più essere chiave della relazione perché uno studente deve fare più esami: (#MATRICOLA, #ESAME, nome, cognome, via, cap, città, voto) 12

SECONDA FORMA NORMALE Una tabella è in 2NF se è in 1NF e se tutti i suo attributi sono dipendenti dall intera chiave primaria. La tabella viene divisa in più tabelle che soddisfano la condizione. 13

2NF Esempio: Tabella STUDENTI: (#MATRICOLA, #ESAME, nome, cognome, via, cap, città, voto) I campi nome, cognome, via, cap, città dipendono solo da una parte della chiave (#MATRICOLA) 14 Tabella STUDENTI: (#MATRICOLA, nome, cognome, via, cap, città) Tabella ESAMI: (#MATRICOLA, #ESAME, voto)

Qualità delle decomposizioni Una decomposizione dovrebbe sempre soddisfare due proprietà: la decomposizione senza perdita, che garantisce la ricostruzione delle informazioni originarie la conservazione delle dipendenze, che garantisce il mantenimento dei vincoli di integrità originari 15

TERZA FORMA NORMALE Una tabella è in 3NF se è in 2NF e tutti gli attributi che non sono chiavi sono mutuamente indipendenti (eliminazione delle dipendenze transitive). La tabella viene divisa in più tabelle che soddisfano la condizione. 16

3NF Esempio: Tabella STUDENTI: (#MATRICOLA, nome, cognome, via, cap, città, #isee, tassa) Con #isee si intende il codice dello scaglione di reddito che determina la tassa scolastica. Tabella STUDENTI: (#MATRICOLA, nome, cognome, via, cap, città, #isee) Tabella TASSA: (#ISEE, tassa) 17

Una lista di informazioni è così strutturata: Costruire da queste informazioni una base dati normalizzata 18

Una lista di informazioni è così strutturata: Costruire da queste informazioni una base dati normalizzata 19

Una lista di informazioni è così strutturata: Costruire da queste informazioni una base dati normalizzata 20

Una lista di informazioni è così strutturata: Titolo Autore Biografia ISBN Subject Pag Editore Sede (editore) Introdu zione alle tecnolo gie WEB Vito Roberto Marco Frailis Roberto è professore ordinario a Udine, Frailis è dottorando in informatica 88386 6181 Informatica, WEB design, Ateneo 426 McGra w-hill Milano Costruire da queste informazioni una base dati normalizzata 21

Una lista di informazioni è così strutturata: Costruire da queste informazioni una base dati normalizzata 22

Una lista di informazioni è così strutturata: Costruire da queste informazioni una base dati normalizzata 23