• Non ci sono risultati.

Corso di Basi di Dati

N/A
N/A
Protected

Academic year: 2021

Condividi "Corso di Basi di Dati"

Copied!
83
0
0

Testo completo

(1)

Corso di Basi di Dati

!

Progettazione Concettuale:

Il Diagramma E-R

Home page del corso: !

http://www.cs.unibo.it/~difelice/dbsi/

(2)

Studio/analisi dei requisiti

Progettazione concettuale

Progettazione logica Progettazione fisica

SCHEMA CONCETTUALE

SCHEMA LOGICO

SCHEMA FISICO

Fasi della progettazione

Risultati

Analisi dei requisiti e progettazione in dettaglio …

Progettazione di DB

(3)

Sono disponibili molti modelli concettuali per la progettazione di basi di dati:

MODELLO ENTITA’

-RELAZIONE (ER)

UNIFIED MODELING LANGUAGE (UML)

Progettazione di DB

(4)

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

(5)

Modello E-R

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.

ANALISI REQUISITI ?

(6)

Modello E-R

Dipendente

Tecnico Sviluppatore

Nome Anno Assunzione

Direzione

Partecipazione

Progetto

(0,1)

(0,N)

(1,N) (1,1)

Mesi Uomo Versioni

Release

Numero

Data

(0,N)

(1,1)

Titolo

Analista Programmatore

Skill

Budget

(7)

➢ Entità

➢ Relazioni

➢ Attributi

➢ Cardinalità delle relazioni

➢ Cardinalità degli attributi

➢ Identificatori

➢ Generalizzazioni

Modello E-R

COMPONENTI DI UN DIAGRAMMA E-R

(8)

Modello E-R

Dipendente

Tecnico Sviluppatore

Nome Anno Assunzione

Direzione

Partecipazione

Progetto

(0,1)

(0,N)

(1,N) (1,1)

Mesi Uomo Versioni

Release

Numero

Data

(0,N)

(1,1)

Titolo

Analista Programmatore

Skill

Budget

(9)

➢ 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

(10)

In prima approssimazione, un’entità puo’ essere

tradotta in una relazione (del modello relazionale), di cui però non e’ ancora definito lo schema.

Attributo1 Attributo2 AttributoN

STUDENTE

Studente

Modello E-R

(11)

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).

Modello E-R

Studente

Mario Rossi Michele Bianchi

(12)

➢ Entità

➢ Relazioni

➢ Attributi

➢ Cardinalità delle relazioni

➢ Cardinalità degli attributi

➢ Identificatori

➢ Generalizzazioni

COMPONENTI DI UN DIAGRAMMA E-R

Modello E-R

(13)

Modello E-R

Dipendente

Tecnico Sviluppatore

Nome Anno Assunzione

Direzione

Partecipazione

Progetto

(0,1)

(0,N)

(1,N) (1,1)

Mesi Uomo Versioni

Release

Numero

Data

(0,N)

(1,1)

Titolo

Analista Programmatore

Skill

Budget

(14)

➢ 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

(15)

In prima approssimazione, una relazione puo’ essere tradotta in una relazione (del modello relazionale), di cui però non e’ ancora definito lo schema.

LAVORO

Lavoro

Impiegato Dipartimento

Modello E-R

(16)

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

(17)

S1

S2 S4 S3

Impiegato

C1 C2 C3

Dipartimento

E2

E3

E4

Lavoro

Modello E-R

(18)

Esempi di relazioni binarie (2 entita’ coinvolte …)

Lavoro

Impiegato Dipartimento

Paziente Cura Medico

Modello E-R

(19)

In generale, una relazione può coinvolgere un numero arbitrario di entità (relazioni n-arie).

Prodotto Produttore

Negozio Fornitura

Modello E-R

(20)

Relazione ricorsiva à una relazione puo’ coinvolgere più istanze della stessa entità.

Incontro

Squadra

Modello E-R

(21)

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

(22)

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

(23)

Composizione Partecipazione

Progetto Sede

Impiegato Dipartimento

Afferenza Direzione

Modello E-R

(24)

➢ Entità

➢ Relazioni

➢ Attributi

➢ Cardinalità delle relazioni

➢ Cardinalità degli attributi

➢ Identificatori

➢ Generalizzazioni

COMPONENTI DI UN DIAGRAMMA E-R

Modello E-R

(25)

Modello E-R

Dipendente

Tecnico Sviluppatore

Nome Anno Assunzione

Direzione

Partecipazione

Progetto

(0,1)

(0,N)

(1,N) (1,1)

Mesi Uomo Versioni

Release

Numero

Data

(0,N)

(1,1)

Titolo

Analista Programmatore

Skill

Budget

(26)

➢ Attributo à Proprietà elementare di un’entità o di una relazione del modello.

Ogni attributo è definito su un dominio specifico …

Nome

Impiegato

Cognome Codice

Componente

Codice

Modello E-R

(27)

➢ Attributo à Proprietà elementare di un’entità o di una relazione del modello.

Ogni attributo è definito su un dominio specifico …

Esame

Studente Corso

Matricola Nome

Cognome

Data Voto Nome Crediti

Modello E-R

(28)

E’ possibile definire attributi composti come unione di attributi affini di una certa entità/relazione. Sono rappresentati da un cerchio.

Cognome

Nome Via

Numero Telefono Recapito

Impiegato

Modello E-R

(29)

E’ possibile definire attributi composti come unione di attributi affini di una certa entità/relazione. Sono rappresentati da un cerchio.

Cognome

Nome Via

Numero Telefono Recapito

Impiegato

Modello E-R

(30)

➢ Entità

➢ Relazioni

➢ Attributi

➢ Cardinalità delle relazioni

➢ Cardinalità degli attributi

➢ Identificatori

➢ Generalizzazioni

COMPONENTI DI UN DIAGRAMMA E-R

Modello E-R

(31)

Modello E-R

Dipendente

Tecnico Sviluppatore

Nome Anno Assunzione

Direzione

Partecipazione

Progetto

(0,1)

(0,N)

(1,N) (1,1)

Mesi Uomo Versioni

Release

Numero

Data

(0,N)

(1,1)

Titolo

Analista Programmatore

Skill

Budget

(32)

◇ Quante volte uno studente può ripetere un determinato esame?

◇ Dato un corso, quanti appelli sono previsti?

Esame

Studente Corso

Matricola Nome

Cognome

Data Voto Nome Crediti

Modello E-R

X Y

(33)

<Data, Voto, STUDENTE(Mario Rossi) , Corso>

<Data, Voto, STUDENTE(Mario Rossi) , Corso>

<Data, Voto, STUDENTE(Mario Rossi) , Corso>

Esame

Studente Corso

Matricola Nome

Cognome

Data Voto Nome Crediti

Modello E-R

3 4

(34)

<Data, Voto, Studente, CORSO (BASI di DATI) >

<Data, Voto, Studente, CORSO (BASI di DATI) >

<Data, Voto, Studente, CORSO (BASI di DATI) >

<Data, Voto, Studente, CORSO (BASI di DATI) >

Esame

Studente Corso

Matricola Nome

Cognome

Data Voto Nome Crediti

Modello E-R

3 4

(35)

➢ 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.

Modello E-R

Esame

Studente Corso

Matricola Nome

Cognome

Data Voto Nome Crediti

(0,50) (0,100)

(36)

Modello E-R

Partecipazione

Informatico Progetto

Codice Nome

MesiUomo Nome Budget

(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.

(37)

Modello E-R

Nella pratica, si usano solo due valori per il minimo:

!

➢0 à Partecipazione opzionale dell’entità.

!

➢1 à Partecipazione obbligatoria dell’entità

Paziente Cura Medico

1,_

In pratica: Ogni paziente deve essere in cura presso

(almeno) un medico.

(38)

Modello E-R

Nella pratica, si usano solo due valori per il minimo:

!

➢0 à Partecipazione opzionale dell’entita’.

!

➢1 à Partecipazione obbligatoria dell’entita’

Paziente Cura Medico

0,_

In pratica: Possono esistere pazienti che non sono in

cura presso alcun medico.

(39)

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)

Paziente Cura Medico

_,1

In pratica: Ad ogni paziente corrisponde al massimo

un medico (o nessuno, dipende dal valore minimo).

(40)

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)

Paziente Cura Medico

_,N

In pratica: Ogni paziente puo’ essere in cura presso

un numero arbitrario di medici …

(41)

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.

(42)

Modello E-R

Sostegno

Studente Tutor

0,1

Elezione

Nazione Capitale

1,1

0,1

1,1

ESEMPI RELAZIONI UNO-A-UNO

(43)

Modello E-R

Rappresentanza

Cittadini Sindaco

1,N

Direzione

Dipartimento PresideScuola

0,N

1,1

1,1

ESEMPI RELAZIONI UNO-A-MOLTI

(44)

Modello E-R

Paziente Cura Medico

1,N

Partecipazione

Impiegato Progetto

0,N

0,N

1,N

ESEMPI RELAZIONI MOLTI-A-MOLTI

(45)

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!

(46)

Modello E-R

Sostegno

Studente Tutor

1,1 0,1

ESEMPI di TRADUZIONE NEL MODELLO RELAZIONALE

Matricola Codice Nome

Matricola CodiceTutor

STUDENTE

Codice Nome

TUTOR Modello Relazionale

(47)

Modello E-R

Partecipazione

Impiegato Progetto

1,N 0,N

ESEMPI di TRADUZIONE NEL MODELLO RELAZIONALE

Codice Nome Durata

Codice Nome

IMPIEGATO

CodImpiegato NomeProgetto

PARTECIPAZIONE Modello Relazionale Nome

Nome Durata

CODICE

(48)

La cardinalità puo’ essere specificata anche in presenza di relazioni ricorsive con ruoli.

Supervisione

Dipendente

SUPERVISIONATO SUPERVISIONA

Modello E-R

0,1 0,N

(49)

➢ Entità

➢ Relazioni

➢ Attributi

➢ Cardinalità delle relazioni

➢ Cardinalità degli attributi

➢ Identificatori

➢ Generalizzazioni

COMPONENTI DI UN DIAGRAMMA E-R

Modello E-R

(50)

Come per le relazioni, anche per gli attributi e’

possibile definire una cardinalità minima e massima.

Modello E-R

Matricola Email

Telefono (0,N)

(0,N)

Studente

(51)

Come per le relazioni, anche per gli attributi è possibile definire una cardinalità minima e massima.

Modello E-R

Nome Via

Numero Telefono Recapito

Impiegato

Codice

(1,N)

(0,N)

(52)

➢ Entità

➢ Relazioni

➢ Attributi

➢ Cardinalità delle relazioni

➢ Cardinalità degli attributi

➢ Identificatori

➢ Generalizzazioni

COMPONENTI DI UN DIAGRAMMA E-R

Modello E-R

(53)

Modello E-R

Dipendente

Tecnico Sviluppatore

Nome Anno Assunzione

Direzione

Partecipazione

Progetto

(0,1)

(0,N)

(1,N) (1,1)

Mesi Uomo Versioni

Release

Numero

Data

(0,N)

(1,1)

Titolo

Analista Programmatore

Skill

Budget

(54)

➢ Identificatore à Strumento per identificare in maniera univoca le istanze di una entità.

Modello E-R

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.

(55)

➢ Identificatore Interno à Composto da uno o piu’ attributi dell’entità.

Modello E-R

Codice

Impiegato Nome

Cognome

Codice è l’identificatore interno àNon possono esistere due istanze di Impiegato con lo stesso codice!!

Identificatore composto da un solo attributo

(56)

➢ Identificatore Interno à Composto da uno o piu’ attributi dell’entita’.

Modello E-R

Data Nascita e Cognome sono l’identificatore dell’Impiegato.

Identificatore composto da piu’ attributi.

Data Nascita Cognome Nome

Impiegato

(57)

Modello E-R

Marca Prodotto

Gli attributi che formano l’identificatore (interno) di un’entità devono avere cardinalita ’ (1,1).

RFID

(0,1)

Treno

Codice

(1,N)

Modello

ERRORE!

ERRORE!

Gli esempi sopra riportati NON sono corretti …

(58)

➢ Identificatore Esterno à Composto da altre entità, collegate attraverso relazioni.

Modello E-R

Cognome Matricola

Anno

Nome

Indirizzo (1,1) (0,N)

Iscrizione

Studente Università

(59)

Modello E-R

Cognome Matricola

Anno

Nome

Indirizzo (1,1) (0,N)

Iscrizione

Studente Università

Uno studente è identificato dal suo numero di matricola

e dall’università cui è iscritto …

(60)

Modello E-R

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à …

(61)

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 …

(62)

➢ Entità

➢ Relazioni

➢ Attributi

➢ Cardinalità delle relazioni

➢ Cardinalità degli attributi

➢ Identificatori

➢ Generalizzazioni

COMPONENTI DI UN DIAGRAMMA E-R

Modello E-R

(63)

Modello E-R

Dipendente

Tecnico Sviluppatore

Nome Anno Assunzione

Direzione

Partecipazione

Progetto

(0,1)

(0,N)

(1,N) (1,1)

Mesi Uomo Versioni

Release

Numero

Data

(0,N)

(1,1)

Titolo

Analista Programmatore

Skill

Budget

(64)

➢ Generalizzazione à Definisce una gerarchia tra entità basata sul concetto di ereditarietà.

Modello E-R

Dipendente

Impiegato Funzionario Dirigente

SPECIALIZZAZIONI DELL’ENTITA’

ENTITA’ PADRE

(65)

Modello E-R

In generale, un’entità E e’ una generalizzazione di E

1

, E

2

, … E

n

se ogni istanza di E

1

, E

2

, … E

n

lo e’

anche di E.

!

E

1

, E

2

, … E

n

sono specializzazioni di E.

!

➢ Tutti gli attributi di E sono anche attributi di E

1

, E

2

, … E

n

!

➢ E

1

, E

2

, … E

n

partecipano a tutte le relazioni di E.

(66)

Modello E-R

Nome

(1,1) Età Stipendio

Persona

Lavoratore Studente

Codice Fiscale

Nascita Citta’

(0,N)

Uno Studente dispone di Codice Fiscale, Nome, Eta’ …

(67)

Modello E-R

Persona

Lavoratore Studente

Persona

Uomo Donna

GENERALIZZAZIONE PARZIALE GENERALIZZAZIONE TOTALE

Ogni occorrenza dell’entità padre e’

occorrenza di almeno una delle due figlie.

Esistono occorrenze dell’entità padre che non sono occorrenze delle entita’

figlie (es. PENSIONATI).

(68)

Modello E-R

E’ possibile definire generalizzazioni a cascata ..

Dipendente

Impiegato Tecnico Dirigente

TecnicoSemplice TecnicoLaureato

(69)

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

(70)

Modello E-R

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

DIZIONARIO DELLE ENTITA’

(71)

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

dipartimento

Impiegato, Dipartimento

Data Partecipazione Partecipazione

a un progetto

Impiegato, Progetto Composizione Composizione

dell'azienda

Dipartimento, Sede

(72)

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).

(73)

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

(74)

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.

(75)

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.

(76)

Modello E-R

Le business rules possono essere raccolte in tabelle , e

devono essere allegate al diagramma E-R.

(77)

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

(78)

Modello E-R

PROGRAMMAZIONE CONCETTUALE:

UN ESEMPIO

(79)

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.

(80)

Modello E-R

Clipart

Codice Titolo Descrizione

Versione

Formato Risoluzione

Numero

Versioning

Partecipazione

Raccolta

Nome NrFiles

Utente

Utente Semplici

Utente Premium

Data

Creazione

Commento

Nota Punti Data

Allegato

Nickname Email Nome

Cognome

(81)

Modello E-R

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 Nickname

Utente Premium Utente con abbonamento

Data Nickname

DIZIONARIO DELLE ENTITA’

(82)

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

(83)

Modello E-R

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.

Riferimenti

Documenti correlati

(2 punti) Il software di rete di un personal computer collegato ad una rete locale deve capire se l’indirizzo IP del destinatario di un pacchetto appartiene alla propria LAN?.

Corso di laurea in Geologia Istituzioni di matematiche.

Corso di laurea in Geologia Istituzioni di matematiche.

Si innesca un ‘ciclo’ di attivazioni, non esplicitamente realizzato con strutture cicliche, dovuto alle susseguenti attivazioni che il sottoprogramma fa a se stesso (se

• Dividere il gruppo rimasto in tre sottogruppi e applicare di nuovo il procedimento finché i sottogruppi contengano una sola pallina: l’ultima pesata indicherà quale delle

aquilone alligatore pneumatico anatroccolo stivale aviatore edicola oceano

non è possibile inserire informazione sull'addetto assegnato ad una casa se non si conosce ancora il genere di animali destinato alla casa stessa.

• Ogni specialista può avere necessità di un certo insieme di strumenti per i quali è presente un codice univoco ed una descrizione. • Uno strumento può essere utilizzato da uno