Progettazione Concettuale:

Slides:



Advertisements
Presentazioni simili
La progettazione concettuale
Advertisements

Informatica II – Basi di Dati (08/09) – Parte 1
Corso di Laurea in Biotecnologie Informatica (Basi di Dati)
IL MODELLO ENTITÀ-RELAZIONE Gli altri costruttori
PROGETTAZIONE DI BASE DI DATI Metodologie e modelli.
IL MODELLO ENTITA’ - RELAZIONE I costruttori di base
LA PROGETTAZIONE LOGICA Seconda parte
LA PROGETTAZIONE CONCETTUALE Seconda parte
Progettazione concettuale
Progettazione concettuale
1 Progettazione Concettuale: Entity/Relationships (E/R) Esigenza di strumenti efficaci, chiari e sintetici per rappresentare i dati di interesse e le loro.
1 Progettazione Concettuale: Entity/Relationships (E/R) Esigenza di strumenti efficaci, chiari e sintetici per rappresentare i dati di interesse e le loro.
Progettazione Concettuale: Il modello Entità-Relazioni
4 – Progettazione – Introduzione e Modello E-R
5 – Progettazione Concettuale
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Relazioni Relazione: Associazione o legame logico esistente tra due o più entità Socio Prenota Campo.
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
ENTITÀ - RELAZIONE MODELLO ENTITÀ E ATTRIBUTI DOMINI RELAZIONI
teoria … e pratica con Microsoft Access
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
LA PROGETTAZIONE LOGICA
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Metodologie e Modelli di Progetto
Modello E-R Generalizzazioni
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.
Partizionamento/accorpamento di concetti
Modello E-R Generalizzazioni
Esercitazione di Basi di Dati
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
PROGETTAZIONE DI UN DATA BASE TURCO MERY MAT CPA
Basi di Dati e Sistemi Informativi
LA PROGETTAZIONE DELLE BASI DI DATI
Il modello ER Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.
Progettare un database
Corso di Basi di Dati Progettazione di Basi di Dati
Progettazione Concettuale: Strategie di Progettazione
Corso di Basi di Dati Progettazione Logica
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi
DB- Sistemi Informativi
1 Basi di dati (Sistemi Informativi) Scuola di Dottorato in Scienze Veterinarie per la Salute Animale e la Sicurezza Alimentare a.a Ing. Mauro.
Modellazione dei Dati Fabio Scanu a.s. 2012/2013.
Progettazione di una base di dati Progettazione logica (modello relazionale)
Informatica Introduzione alle basi di dati Lezione 2 Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
Progettazione concettuale di basi di dati: introduzione e modello ER
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Diagramma delle Classi
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Progettazione di Database
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Basi di dati e Relazioni Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A 1, A 2, …, A.
Progettazione di una base di dati relazionale Vincoli.
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Progettazione di basi di dati: metodologie e modelli
S. Costantini 06/05/2006 (parte del materiale è tratto da slide del 2001 di Ceri-Atzeni) Normalizzazione di Schemi.
Sistemi di Elaborazione delle Informazioni
PROGETTAZIONE DI BASE DI DATI Metodologie e modelli.
Descrizione del modello EA con uno schema (parziale) EA Compito 1 di laboratorio: Progetto e realizzazione di una base dati per gestire la documentazione.
Metodologie e modelli per il progetto. 2 Introduzione alla progettazione Il problema: progettare una base di base di dati a partire dai suoi requisiti.
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.
Cloud informatica V anno.
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Transcript della presentazione:

Progettazione Concettuale: Corso di Basi di Dati Progettazione Concettuale: Il Diagramma E-R Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/

Progettazione di DB Analisi dei requisiti e progettazione in dettaglio … Studio/analisi dei requisiti Risultati Fasi della progettazione SCHEMA CONCETTUALE Progettazione concettuale SCHEMA LOGICO Progettazione logica SCHEMA FISICO Progettazione fisica

Progettazione di DB Sono disponibili molti modelli concettuali per la progettazione di basi di dati: MODELLO ENTITA’ -RELAZIONE (ER) UNIFIED MODELING LANGUAGE (UML)

Modello E-R Modello Entita’-Relazione  Modello per la rappresentazione concettuale dei dati ad alto livello di astrazione proposto nel 1976. E’ basato su rappresentazione grafica (diagramma). Utile per modellare i dati di interesse di un DB. Utile come documentazione di un DB. Indipendente dal modello logico in uso e dal DBMS di riferimento.

Modello E-R ? ANALISI REQUISITI Si vuole realizzare una base di dati di una Software House, di cui si vogliono rappresentare i dati dei dipendenti e dei progetti. Ogni dipendente e’ identificato da un nome, ed ha una stipendio e data di assunzione. I dipendenti possono far parte di progetti software. E’ consentito ad un dipendente di partecipare a piu’ di un progetto, allocando mesi-uomo su ciascun progetto. Inoltre, ogni progetto ha un direttore unico tra i dipendenti che vi partecipano. Ogni progetto ha un titolo univoco, un budget, e puo’ disporre di diverse release. Ad ogni release di un progetto e’ associato un numero progressivo ed una data. Tra i dipendenti, si vogliono gestire i dati dei tecnici e degli sviluppatori. Di ogni sviluppatore, si vuole tenere traccia delle skill specifiche. Gli sviluppatori sono ulteriormente suddivisi in Programmatori ed Analisti.

Modello E-R Dipendente Progetto Tecnico Sviluppatore Release Nome Anno Assunzione Titolo Budget (1,1) Direzione (0,1) Dipendente Progetto (0,N) Partecipazione (0,N) (1,N) Versioni Tecnico Sviluppatore Mesi Uomo (1,1) Skill Release Numero Programmatore Analista Data

Modello E-R Entità Relazioni Attributi Cardinalità delle relazioni COMPONENTI DI UN DIAGRAMMA E-R Entità Relazioni Attributi Cardinalità delle relazioni Cardinalità degli attributi Identificatori Generalizzazioni

Modello E-R Dipendente Progetto Tecnico Sviluppatore Release Nome Anno Assunzione Titolo Budget (1,1) Direzione (0,1) Dipendente Progetto (0,N) Partecipazione (0,N) (1,N) Versioni Tecnico Sviluppatore Mesi Uomo (1,1) Skill Release Numero Programmatore Analista Data

Modello E-R Entità  Classe di oggetti (fatti, persone, cose) della realtà di interesse con proprietà comuni e con esistenza autonoma. Esempi: IMPIEGATO, STUDENTE, PROFESSORE … Graficamente, un’entità viene rappresentata attraverso un rettangolo (con nome dell’entita’ al centro). Impiegato Studente Professore

Modello E-R In prima approssimazione, un’entità puo’ essere tradotta in una relazione (del modello relazionale), di cui però non e’ ancora definito lo schema. Studente STUDENTE Attributo1 Attributo2 … AttributoN

Modello E-R Ad ogni entità è associato un nome, che identifica l’oggetto rappresentato. Per convenzione, si usano nomi al singolare per rappresentare entità. L’istanza di un’entità e’ uno specifico oggetto appartenente a quell’entità (es. una specifica persona, uno specifico studente, uno specifico professore, etc). Mario Rossi Michele Bianchi … Studente

Modello E-R Entità Relazioni Attributi Cardinalità delle relazioni COMPONENTI DI UN DIAGRAMMA E-R Entità Relazioni Attributi Cardinalità delle relazioni Cardinalità degli attributi Identificatori Generalizzazioni

Modello E-R Dipendente Progetto Tecnico Sviluppatore Release Nome Anno Assunzione Titolo Budget (1,1) Direzione (0,1) Dipendente Progetto (0,N) Partecipazione (0,N) (1,N) Versioni Tecnico Sviluppatore Mesi Uomo (1,1) Skill Release Numero Programmatore Analista Data

Modello E-R Relazione  Legame logico fra due o più entità, rilevante nel sistema che si sta modellando. Graficamente, una relazione viene rappresentata attraverso un rombo collegato ad entità (anche >2). Lavoro Impiegato Dipartimento

Modello E-R In prima approssimazione, una relazione puo’ essere tradotta in una relazione (del modello relazionale), di cui però non e’ ancora definito lo schema. Lavoro Impiegato Dipartimento LAVORO

Modello E-R Ad ogni relazione è associato un nome, che la identifica nello schema. Per convenzione, si usano nomi al singolare (non i verbi, se possibile) per rappresentare le relazioni. L’istanza di una relazione è una combinazione di istanze dell’entità che prendono parte all’associazione. Es. La coppia (c,d) è un’instanza della relazione Lavoro, dove c è un’istanza di Impiegato, e d è un’istanza di Dipartimento.

Modello E-R Lavoro S1 C1 S2 C2 S3 S4 C3 Dipartimento Impiegato E2 E3

Modello E-R Esempi di relazioni binarie (2 entita’ coinvolte …) Lavoro Impiegato Dipartimento Cura Paziente Medico

Modello E-R In generale, una relazione può coinvolgere un numero arbitrario di entità (relazioni n-arie). Fornitura Prodotto Produttore Negozio

Modello E-R Relazione ricorsiva  una relazione puo’ coinvolgere più istanze della stessa entità. Incontro Squadra

Modello E-R In caso di relazioni ricorsive, il modello E-R consente di definire un ruolo per ciascun ramo della relazione. Incontro Squadra CASA TRASFERTA

Modello E-R In caso di relazioni ricorsive, il modello E-R consente di definire un ruolo per ciascun ramo della relazione. Supervisione Dipendente SUPERVISIONA SUPERVISIONATO

Modello E-R Impiegato Dipartimento Progetto Sede Direzione Afferenza Partecipazione Composizione Progetto Sede

Modello E-R Entità Relazioni Attributi Cardinalità delle relazioni COMPONENTI DI UN DIAGRAMMA E-R Entità Relazioni Attributi Cardinalità delle relazioni Cardinalità degli attributi Identificatori Generalizzazioni

Modello E-R Dipendente Progetto Tecnico Sviluppatore Release Nome Anno Assunzione Titolo Budget (1,1) Direzione (0,1) Dipendente Progetto (0,N) Partecipazione (0,N) (1,N) Versioni Tecnico Sviluppatore Mesi Uomo (1,1) Skill Release Numero Programmatore Analista Data

Modello E-R Attributo  Proprietà elementare di un’entità o di una relazione del modello. Ogni attributo è definito su un dominio specifico … Codice Codice Nome Cognome Componente Impiegato

Modello E-R Attributo  Proprietà elementare di un’entità o di una relazione del modello. Ogni attributo è definito su un dominio specifico … Matricola Nome Nome Crediti Data Voto Esame Studente Corso Cognome

Modello E-R E’ possibile definire attributi composti come unione di attributi affini di una certa entità/relazione. Sono rappresentati da un cerchio. Cognome Impiegato Nome Via Recapito Numero Telefono

Modello E-R E’ possibile definire attributi composti come unione di attributi affini di una certa entità/relazione. Sono rappresentati da un cerchio. Cognome Impiegato Nome Via Recapito Numero Telefono

Modello E-R Entità Relazioni Attributi Cardinalità delle relazioni COMPONENTI DI UN DIAGRAMMA E-R Entità Relazioni Attributi Cardinalità delle relazioni Cardinalità degli attributi Identificatori Generalizzazioni

Modello E-R Dipendente Progetto Tecnico Sviluppatore Release Nome Anno Assunzione Titolo Budget (1,1) Direzione (0,1) Dipendente Progetto (0,N) Partecipazione (0,N) (1,N) Versioni Tecnico Sviluppatore Mesi Uomo (1,1) Skill Release Numero Programmatore Analista Data

Modello E-R Quante volte uno studente può ripetere un determinato esame? Dato un corso, quanti appelli sono previsti? Matricola Nome Nome Crediti Data Voto Esame Studente Corso X Y Cognome

Modello E-R <Data, Voto, STUDENTE(Mario Rossi), Corso> Esame Matricola Nome Nome Crediti Data Voto Esame Studente Corso 3 4 Cognome

Modello E-R <Data, Voto, Studente, CORSO (BASI di DATI)> Esame Matricola Nome Nome Crediti Data Voto Esame Studente Corso 3 4 Cognome

Modello E-R Cardinalità delle relazioni  Coppia di valori (min, max) che specificano il numero minimo/massimo di occorrenze delle relazione cui ogni occorrenza di entità può partecipare. Matricola Nome Nome Crediti Data Voto Esame Studente Corso (0,50) (0,100) Cognome

Modello E-R Partecipazione Informatico Progetto Codice Nome Nome Budget MesiUomo Partecipazione Informatico Progetto (1,30) (0,100) Ogni instanza di Informatico deve comparire almeno in un’istanza della relazione Partecipazione. La stessa instanza di Informatico può comparire al massimo in 30 istanze della relazione Partecipazione. La stessa instanza di Progetto può comparire al massimo in 100 istanze della relazione Partecipazione.

Modello E-R Nella pratica, si usano solo due valori per il minimo: 0  Partecipazione opzionale dell’entità. 1  Partecipazione obbligatoria dell’entità Cura Paziente Medico 1,_ In pratica: Ogni paziente deve essere in cura presso (almeno) un medico.

Modello E-R Nella pratica, si usano solo due valori per il minimo: 0  Partecipazione opzionale dell’entita’. 1  Partecipazione obbligatoria dell’entita’ Cura Paziente Medico 0,_ In pratica: Possono esistere pazienti che non sono in cura presso alcun medico.

Modello E-R Nella pratica, si usano solo due valori per il massimo: 1  Al massimo 1 istanza conivolta. N  Non esiste un limite massimo (N arbitrario) Cura Paziente Medico _,1 In pratica: Ad ogni paziente corrisponde al massimo un medico (o nessuno, dipende dal valore minimo).

Modello E-R Nella pratica, si usano solo due valori per il massimo: 1  Al massimo 1 istanza coinvolta. N  Non esiste un limite massimo (N>1, arbitrario) Cura Paziente Medico _,N In pratica: Ogni paziente puo’ essere in cura presso un numero arbitrario di medici …

Modello E-R In base al valore della cardinalità massima delle entità E1 ed E2 (cardMax(E1), cardMax(E2)) coinvolte in una relazione R, si distinguono tre casi: Relazioni uno-ad-uno: cardMax(E1)=1, cardMax(E2)=1. Relazioni uno-a-molti: cardMax(E1)=1, cardMax(E2)=N oppure: cardMax(E1)=N, cardMax(E2)=1. Relazioni molti-a-molti: cardMax(E1)=N, cardMax(E2)=N.

Modello E-R Sostegno Studente Tutor Elezione Nazione Capitale 0,1 0,1 ESEMPI RELAZIONI UNO-A-UNO Sostegno Studente Tutor 0,1 0,1 Elezione Nazione Capitale 1,1 1,1

Modello E-R Rappresentanza Cittadini Sindaco Direzione Dipartimento ESEMPI RELAZIONI UNO-A-MOLTI Rappresentanza Cittadini Sindaco 1,N 1,1 Direzione Dipartimento PresideScuola 0,N 1,1

Modello E-R Cura Paziente Medico Partecipazione Impiegato Progetto 1,N ESEMPI RELAZIONI MOLTI-A-MOLTI Cura Paziente Medico 1,N 0,N Partecipazione Impiegato Progetto 0,N 1,N

Modello E-R Q. Chi stabilisce se una relazione è molti-a-molti, uno-a-molti, uno-a-uno? R. Dipende dalla realtà di interesse, dovrebbe emergere dal documento di specifica dei dati! Q. A che serve sapere una relazione è molti-a-molti, uno-a-molti, uno-a-uno? R. E’ fondamentale in fase di traduzione del modello!

Modello E-R Sostegno Studente Tutor 1,1 0,1 ESEMPI di TRADUZIONE NEL MODELLO RELAZIONALE Sostegno Studente Tutor 1,1 0,1 Matricola Codice Nome Modello Relazionale STUDENTE TUTOR Matricola CodiceTutor Codice Nome

Modello E-R Partecipazione Impiegato Progetto 1,N 0,N ESEMPI di TRADUZIONE NEL MODELLO RELAZIONALE Partecipazione Impiegato Progetto 1,N 0,N Codice Nome Nome Durata Modello Relazionale IMPIEGATO PARTECIPAZIONE CODICE Codice Nome CodImpiegato NomeProgetto Nome Durata

Modello E-R La cardinalità puo’ essere specificata anche in presenza di relazioni ricorsive con ruoli. Supervisione 0,1 Dipendente 0,N SUPERVISIONATO SUPERVISIONA

Modello E-R Entità Relazioni Attributi Cardinalità delle relazioni COMPONENTI DI UN DIAGRAMMA E-R Entità Relazioni Attributi Cardinalità delle relazioni Cardinalità degli attributi Identificatori Generalizzazioni

Modello E-R Come per le relazioni, anche per gli attributi e’ possibile definire una cardinalità minima e massima. Matricola Studente Email (0,N) Telefono (0,N)

Modello E-R Come per le relazioni, anche per gli attributi è possibile definire una cardinalità minima e massima. Codice Impiegato Nome Via Recapito Numero (1,N) (0,N) Telefono

Modello E-R Entità Relazioni Attributi Cardinalità delle relazioni COMPONENTI DI UN DIAGRAMMA E-R Entità Relazioni Attributi Cardinalità delle relazioni Cardinalità degli attributi Identificatori Generalizzazioni

Modello E-R Dipendente Progetto Tecnico Sviluppatore Release Nome Anno Assunzione Titolo Budget (1,1) Direzione (0,1) Dipendente Progetto (0,N) Partecipazione (0,N) (1,N) Versioni Tecnico Sviluppatore Mesi Uomo (1,1) Skill Release Numero Programmatore Analista Data

Modello E-R Identificatore  Strumento per identificare in maniera univoca le istanze di una entità. Corrisponde al concetto di chiave nel modello relazionale (quindi deve godere del requisito di minimalità!) Ogni entità deve avere un identificatore: Interno  Composto da attributi dell’entità. Esterno  Composto da attributi dell’entità + entità esterne.

Modello E-R Identificatore Interno Composto da uno o piu’ attributi dell’entità. Codice Identificatore composto da un solo attributo Impiegato Nome Cognome Codice è l’identificatore interno Non possono esistere due istanze di Impiegato con lo stesso codice!!

Modello E-R Identificatore Interno Composto da uno o piu’ attributi dell’entita’. Data Nascita Impiegato Cognome Identificatore composto da piu’ attributi. Nome Data Nascita e Cognome sono l’identificatore dell’Impiegato.

Modello E-R Gli attributi che formano l’identificatore (interno) di un’entità devono avere cardinalita’ (1,1). ERRORE! RFID Codice Prodotto (0,1) Treno (1,N) Marca ERRORE! Modello Gli esempi sopra riportati NON sono corretti …

Modello E-R Identificatore Esterno  Composto da altre entità, collegate attraverso relazioni. Cognome Matricola Nome (1,1) (0,N) Iscrizione Studente Università Indirizzo Anno

Modello E-R Cognome Matricola Nome (1,1) (0,N) Iscrizione Studente Università Indirizzo Anno Uno studente è identificato dal suo numero di matricola e dall’università cui è iscritto …

Modello E-R Può comprendere anche attributi dell’entita’ PROPRIETA’ DELL’IDENTIFICATORE ESTERNO Può comprendere anche attributi dell’entita’ corrente (es. Matricola) L’entità esterna deve essere in relazione (1,1) con l’entità corrente. In pratica, gli identificatori esterni servono a modellare le situazioni in cui un’istanza di un’entità ha valori univoci solo all’interno di un certo contesto, definito dalle relazioni cui partecipa l’entità …

Modello E-R Autore Titolo Nome Anno (1,N) (0,N) Edizioni Libro Collana ERRORE! Libro e’ coinvolto in una relazione (1,N)  Collana non puo’ essere un identificatore esterno di Libro …

Modello E-R Entità Relazioni Attributi Cardinalità delle relazioni COMPONENTI DI UN DIAGRAMMA E-R Entità Relazioni Attributi Cardinalità delle relazioni Cardinalità degli attributi Identificatori Generalizzazioni

Modello E-R Dipendente Progetto Tecnico Sviluppatore Release Nome Anno Assunzione Titolo Budget (1,1) Direzione (0,1) Dipendente Progetto (0,N) Partecipazione (0,N) (1,N) Versioni Tecnico Sviluppatore Mesi Uomo (1,1) Skill Release Numero Programmatore Analista Data

Modello E-R Generalizzazione  Definisce una gerarchia tra entità basata sul concetto di ereditarietà. Dipendente ENTITA’ PADRE SPECIALIZZAZIONI DELL’ENTITA’ Impiegato Funzionario Dirigente

Modello E-R In generale, un’entità E e’ una generalizzazione di E1, E2, … En se ogni istanza di E1, E2, … En lo e’ anche di E. E1, E2, … En sono specializzazioni di E. Tutti gli attributi di E sono anche attributi di E1, E2, … En E1, E2, … En partecipano a tutte le relazioni di E.

Modello E-R Nascita Citta’ Persona Lavoratore Studente Codice Fiscale Nascita Persona Citta’ Nome (0,N) (1,1) Età Stipendio Lavoratore Studente Uno Studente dispone di Codice Fiscale, Nome, Eta’ …

Modello E-R Persona Persona Lavoratore Studente Uomo Donna GENERALIZZAZIONE PARZIALE GENERALIZZAZIONE TOTALE Persona Persona Lavoratore Studente Uomo Donna Esistono occorrenze dell’entità padre che non sono occorrenze delle entita’ figlie (es. PENSIONATI). Ogni occorrenza dell’entità padre e’ occorrenza di almeno una delle due figlie.

Modello E-R E’ possibile definire generalizzazioni a cascata .. Dipendente Impiegato Tecnico Dirigente TecnicoSemplice TecnicoLaureato

Modello E-R Entita’ Relazione Attributo Cardinalita’ delle relazioni (0,1)…(1,N) Cardinalita’ degli attributi (0,1)…(1,N) Identificatori Generalizzazioni COMPONENTI DEL MODELLO E-R

Modello E-R Il dizionario dei dati e’ una tabella contentente la descrizione delle entita’/relazioni del modello E-R. DIZIONARIO DELLE ENTITA’

Modello E-R Il dizionario dei dati e’ una tabella contentente la descrizione delle entita’/relazioni del modello E-R. DIZIONARIO DELLE RELAZIONI Relazioni Descrizione Componenti Attributi Direzione Direzione di un dipartimento Impiegato, Dipartimento Afferenza Afferenza a un Data Partecipazione a un progetto Progetto Composizione dell'azienda Dipartimento, Sede

Modello E-R PROBLEMA: Il diagramma E-R è uno strumento di modellazione molto potente e completo, ma non tutti i vincoli sono esprimibili nel modello … ESEMPI: Il salario di un impiegato non può essere maggiore del salario del proprio dirigente. Un laureando deve aver sostenuto tutti gli esami del suo corso di laurea. Il numero di impiegati di un dipartimento si ottiene contando gli impiegati (tecnici esclusi).

Modello E-R Per esprimere questi vincoli, si utilizzano delle business rules (regole aziendali): Descrizione di un concetto rilevante per l’applicazione (es. entita’, relazioni, etc)  rappresentate nel glossario dei dati. Vincolo di integrità sui dati dell’applicazione Derivazione di concetti

Modello E-R I vincoli di integrità possono essere espressi mediante asserzioni, ossia affermazioni che devono essere sempre verificate sulla base di dati. Possono essere espresse nella forma: <concetto> deve/non deve <concetti> Esempio. Ogni progetto deve avere uno ed un solo supervisore.

Modello E-R Una regola di derivazione specifica le operazioni (aritmetiche, logiche, etc) che consentono di ottenere un concetto derivato. <concetto> si ottiene <operazioni> Esempio. Lo stipendio di un impiegato per l’anno corrente si ottiene moltiplicando per 0.15 il suo stipendio precedente.

Modello E-R Le business rules possono essere raccolte in tabelle, e devono essere allegate al diagramma E-R.

Modello E-R Ricapitolando: STEP 0: Analisi dei requisiti STEP1: Progettazione Concettuale STEP 1.1: Diagramma E-R STEP 1.2: Dizionario delle entita’ STEP 1.2: Dizionario delle relazioni STEP 1.3: Tabella delle business rules

PROGRAMMAZIONE CONCETTUALE: Modello E-R PROGRAMMAZIONE CONCETTUALE: UN ESEMPIO

Modello E-R Si vuole progettare la base di dati per un sistema on-line di condivisione di cliparti tra utenti registrati al sistema. Ogni clipart ha un codice (univoco), un titolo, una descrizione, e puo’ disporre di diverse versioni. Ogni versione dispone di un numero progressivo, una risoluzione ed un formato. Ogni clipart è associata al nickname del suo creatore, che deve essere un utente registrato del sistema. Ogni utente ha un nickname univoco, un nome, cognome, ed uno o piu’ indirizzi email. Sono previste due tipologie di utenti: utenti semplici ed utenti premium. Gli utenti semplici non possono creare piu’ di 50 clipart nel sistema. Per gli utenti premium è necessario registrare la data in cui l’abbonamento premium scade. Ogni utente può inserire commenti a ciascuna clipart del sistema. Un commento è composto da una nota (stringa di testo), una data associata ed un punteggio (un numero compreso tra 0 e 5). Inoltre, le clipart possono essere organizzate in collezioni tematiche. Ogni collezione dispone di un nome univoco, e del numero totale di files (versioni*clipart) associati.

Modello E-R Commento Raccolta Clipart Utente Versione Utente Utente Allegato Commento Codice Titolo Descrizione Clipart Raccolta Nota Punti Data Creazione Partecipazione Nome Utente Nickname Nome NrFiles Email Cognome Versioning Versione Utente Semplici Utente Premium Numero Formato Risoluzione Data

Modello E-R DIZIONARIO DELLE ENTITA’ Entita’ Descrizione Attributi Identificatore Clipart Clipart del sistema Codice, Titolo, Descrizione Codice Versione Versione della clipart Numero, Formato, Risoluzione Numero, Clipart Raccolta Insieme di clipart Nome, NrFiles Nome Commento Commento inserito dall’utente Nome, Punti, Data Data, Utente, Clipart Utente Utente del sistema Nome, Cognome, Nickname, Email Nickname Utente Semplici Utente generico Utente Premium Utente con abbonamento Data

Modello E-R DIZIONARIO DELLE RELAZIONI Relazione Descrizione Componenti Attributi Versioning Associa versioni ad una clipart Clipart, Versione Partecipazione Specifica il contenuto di una raccolta Clipart, Raccolta Creazione Associa una clipart al suo creatore Clipart, Utente Allegato Associa un commento scritto da un utente ad una clipart Clipart, Utente, Commento

Modello E-R Regole di vincolo TABELLA DELLE BUSINESS RULES Regole di vincolo (1) Gli utenti semplici non possono creare piu’ di 50 clipart nel sistema. (2) Il punteggio deve essere compreso tra 0 e 5. Regole di derivazione (1) Il numero totale di files si ottiene moltiplicando il numero totale di clipart per il numero di versioni associate a ciascuna di esse.