database: modello entityrelationship



Похожие документы
Progettaz. e sviluppo Data Base

Organizzazione degli archivi

Progettazione di Basi di Dati

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

Basi di Dati e Microsoft Access

Informatica (Basi di Dati)

TEORIA sulle BASI DI DATI

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Database 1 biblioteca universitaria. Testo del quesito

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Esercizio data base "Biblioteca"

1. BASI DI DATI: GENERALITÀ

Sistemi Informativi e Basi di Dati

PROGETTAZIONE CONCETTUALE

Progettazione di Database. Un Esempio

Lezione V. Aula Multimediale - sabato 29/03/2008

Il database management system Access

MODELLO RELAZIONALE. Introduzione

Database. Si ringrazia Marco Bertini per le slides

DATABASE = collezione di oggetti, ovvero contenitore di dati

Corso di Informatica (Basi di Dati)

I database. Cosa sono e a cosa servono i Database

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

BASI DI DATI - : I modelli di database

Lezione 2. Il modello entità relazione

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

Basi di Dati Relazionali

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Organizzazione delle informazioni: Database

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2

Gestione Voti Scolastici

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione alla teoria dei database relazionali. Come progettare un database

Le Basi di Dati. Le Basi di Dati

Capitolo 13. Interrogare una base di dati

Facoltà di Farmacia - Corso di Informatica

Access. P a r t e p r i m a

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

DATABASE RELAZIONALI

Basi di dati. Le funzionalità del sistema non vanno però ignorate

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

I Sistemi Informativi

Basi di dati 9 febbraio 2010 Compito A

Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale

Fasi del progetto ( 1 )

Informatica (Basi di Dati)

LA NORMALIZZAZIONE. Introduzione

Attributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

MODELLO E/R. Modellazione dei dati

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

Le Basi di dati: generalità. Unità di Apprendimento A1 1

Progettaz. e sviluppo Data Base

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Il modello Entity-Relationship: pattern di progettazione

Identificatori delle entità

Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto:

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

Rappresentazione grafica di entità e attributi

Esercitazione di Basi di Dati

DATABASE. A cura di Massimiliano Buschi

LABORATORIO. 2 Lezioni su Basi di Dati Contatti:

Il Modello Relazionale

Progettazione di un DB....in breve

Esercizio sui data base "Gestione conti correnti"

Introduzione ai Sistemi di Gestione di Basi di Dati XML

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

Progettazione Logica. Progettazione Logica

Introduzione al data base

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

I database relazionali (Access)

Volumi di riferimento

Cardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni

Associazioni. Informatica. Associazioni. Associazioni. Associazioni. Attributi. Possono esistere associazioni diverse che coinvolgono le stesse entità

DBMS (Data Base Management System)

Data Base. Ing. Maria Grazia Celentano

Strutturazione logica dei dati: i file

PROGETTAZIONE DI UN DATABASE

I DATABASE Database relazionale

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

MODELLO E/R. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Segreteria da campo. Database Relazionali

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE

Alessandra Raffaetà. Basi di Dati

Vincoli di integrità

LABORATORIO di INFORMATICA

Progettazione di una base di dati Ufficio della Motorizzazione

Progettazione concettuale

Database 3 affitto veicoli. Testo del quesito

Транскрипт:

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8 database: modello entityrelationship Prof.Valle D.ssaFolgieri Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 1 Fasi di sviluppo di un database Quando si sviluppa un database si passa per tre fasi successive: Analizzare le esigenze degli utenti ed individuare i dati necessari per soddisfare tali esigenze Disegnare un modello dal database Tradurre il modello in strutture fisiche per utilizzare al meglio i dati Si suole utilizzare l architettura standard ANSI/SPARC a tre livelli per i DBMS (Database Management System) Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 2 1

Architettura standard (ANSI/SPARC) a tre livelli per DBMS Tre livelli di descrizione del database: Schema esterno:descrizione del database dal punto di vista degli utenti Schema logico:descrive la base di dati nel DBMS Schema fisico (interno):rappresentazione dello schema logico con strutture fisiche di memorizzazione Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 3 Architettura standard (ANSI/SPARC) a tre livelli per DBMS Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 4 2

Modello concettuale per DBMS relazionali Si usa il modello Entity-relationship (entità-relazione). E un modello concettuale Mette a disposizione costrutti per descrivere la realtà Semplice e indipendente dalla gestione dei dati all interno diun DBMS Si deve a P. Chen (1977) Dall analisi del caso si passa al diagramma E/R Successivamente: Traduzione del diagramma E/R in tabelle non ottimizzate Normalizzazione delle tabelle (grazie a teoria relazionale di Codd) Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 5 Peter Chen Nel 1976 propone la tecnica Entity- Relationship Insieme alla tecnica, ne propose una notazione grafica (che useremo nelle prossime slide), detta diagramma E/R (ERD) Oggi il diagramma E/R è il più utilizzato per immediatezza e semplicità Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 6 3

Fasi del disegno di una base di dati Si procede per fasi successive, come mostrato in figura: Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 7 Elementi principali del modello E/R Il modello si basa su tre elementi principali: entità:classi di oggetti con proprietà comuni che li identificano come soggetti a sè relazione:legame (logico) tra due o più entità attributi:proprietà elementari di un entità o di una relazione Es. se dobbiamo creare un database di libri, avremo l entità libro, con attributi come anno di pubblicazione, editore, autore, ma avremo anche l entità autore, con anno di nascita e biografia. Queste due entità sono legate dalla relazione autore ha scritto libri (ogni autore ha scritto più libri) Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 8 4

Altri elementi del modello E/R Molto importanti sono i vincoli di integrità che riguardano i dati: se vi è qualche variazione negli attributi, nelle entità o nelle relazioni, queste variazioni devono rispecchiarsi in tutte le entità coinvolte nella relazione. Es. se un autore cambia nome (es. assume uno pseudonimo), non devo andare a cambiarne il nome per ogni libro, ma lo cambierò una sola vota, nell entità che lo descrive e la variazione sarà riportata automaticamente in tutti i libri che ha scritto Abbiamo poi altri concetti importanti: Cardinalità delle Relazioni (che vedremo nel seguito) identificatori delle entità(chiavi) Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 9 Un esempio concreto Per comprendere il modello E/R partiamo da un esempio concreto: dobbiamo creare un database per un agente di vendita che si serve di diversi concessionario di automobili che vendono a lorovolta macchine di marche diverse Avremo le entità, sottolineate (ed i corrispondenti attributi, riportati sotto ognuna): Concessionario Automobile Produttore Nome modello denominazione Indirizzo produttore indirizzo Città colore città Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 10 5

Quante entità? Perché abbiamo individuato le entità viste prima? In modo che ciascuna rappresenti una categoria a sé:non possiamo mischiare macchine e concessionari perché hanno attributi diversi! In tal modo ci garantiamo che: i dati siano integri la memoria sia occupata il meno possibile Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 11 Il concetto di chiave primaria Tra i vari attributi ce ne deve essere uno che identifica l entitàin modo univoco. Tra gli attributi che abbiamo segnato, non ve ne sono. Aggiungiamo in grassetto le chiavi primarie: Concessionario Automobile Produttore P.IVA targa P.IVA Nome modello denominazione Indirizzo produttore indirizzo Città colore città Se non vi fosse un attributo che identifica un entitàin modo univoco, si può aggiungere un codice identificativo inventato (es. per i prodotti di un magazzino si ha il codice di inventario) Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 12 6

Le relazioni tra le entità Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 13 Il concetto di relazione Le relazioni servono dunque ad evidenziare i rapporti esistenti tra le entità. In tal modo i dati (attributi) che descrivono le entitàpotranno essere utilizzate (inserite, aggiornate, interrogate) in modo corretto. Se le relazioni sono impostate correttamente, il database èben disegnato. Abbiamo visto che a livello intuitivo èpiuttosto semplice enunciare una relazione. Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 14 7

Le relazioni tra le entità Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 15 Il concetto di cardinalità La cardinalità quantifica i rapporti (relazioni) tra le entità. Abbiamo tre casi di cardinalità: 1 a 1: a un occorrenza di un entità corrisponde una sola occorrenza di un altra entità Un poliziotto specifico (Mario) ha un solo grado (tenente) 1 a molti: a una occorrenza di un entità corrispondono più occorrenze di un altra entità, ma non viceversa Es. un concessionario vende più macchine, ma non si può dire che una macchina specifica (fiat uno, rossa, targa 1234) sia venduta da più concessionari! Molti a molti: ad un occorrenza di un entità corrispondono più occorrenze di un altra entità e viceversa Es. un concessionario ha a che fare con molti produttori e viceversa un produttore tratta con più concessionari Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 16 8

Lo schema E/R Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 17 Lo schema E/R (ERD Chen) Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 18 9

Riassumendo In un modello entity-relationship si considerano: Entità Attributi Relazioni Le relazioni sono espresse: qualitativamente, attraverso il loro significato (rapporto tra le entità) quantitativamente: quante istanze di ciascuna entità sono coinvolte nella relazione Per identificare in modo univoco un entità, occorre individuarne la chiave primaria (attributo univoco) Per collegare tra loro le entità occorre riportare, ove opportuno, un attributo come chiave esterna NOTA: un entità può essere coinvolta in più relazioni! Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 19 Traduzione del modello E/R in struttura fisica del database Le entità diventano le tabelle Gli attributi diventano i campi (colonne) delle tabelle Le relazioni sono indicate tramite le chiavi (primarie ed esterne) Vedremo un esempio con Microsoft Access, prima, però, faremo qualche cenno (nella prossima lezione) al linguaggio SQL, che serve per inserire, aggiornare ed accedere ai dati (interrogare) presenti in un database. Non ci soffermeremo, invece sulla normalizzazione (processo cui abbiamo accennato all inizio, che consiste nel creare una base di dati senza dati inutili, ripetuti o ridondanti, perché è un concetto più complesso che implica formulazioni matematiche rigorose. Lez7 25.10.07 Trattamento dati. Database: modello entity-relationship 20 10