• Non ci sono risultati.

Basi di dati Basi di dati

N/A
N/A
Protected

Academic year: 2021

Condividi "Basi di dati Basi di dati"

Copied!
77
0
0

Testo completo

(1)

Atzeni, Ceri, Paraboschi, Torlone Atzeni, Ceri, Paraboschi, Torlone

Basi di dati Basi di dati

McGraw-Hill, 1996-2002 McGraw-Hill, 1996-2002

Capitolo 6:

Progettazione di basi di dati:

Progettazione di basi di dati:

Metodologie e modelli Metodologie e modelli

24/3/2003

modificato per il corso di modificato per il corso di

Laboratorio di Sistemi Informativi Laboratorio di Sistemi Informativi

Università di Chieti-Pescara Università di Chieti-Pescara

(2)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 2

Progettazione di basi di dati Progettazione di basi di dati

A partire dai requisiti, consente di definire

struttura, caratteristiche e contenuto della base di dati.

(3)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 3

Progettazione di basi di dati Progettazione di basi di dati

È una delle attività del processo di sviluppo dei sistemi informativi

va quindi inquadrata in un contesto più generale:

il ciclo di vita dei sistemi informativi:

Insieme e sequenzializzazione delle attività svolte da analisti, progettisti, utenti, nello sviluppo e

nell’uso dei sistemi informativi

attività iterativa, quindi ciclo

(4)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 4

Studio di fattibilità

Raccolta e analisi dei requisiti

Progettazione

Realizzazione

Validazione e collaudo

Funzionamento

(5)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 5

Fasi (tecniche) del ciclo di vita Fasi (tecniche) del ciclo di vita

Studio di fattibilità: definizione costi e priorità

Raccolta e analisi dei requisiti: studio delle proprietà del sistema

Progettazione: di dati e funzioni

Realizzazione

Validazione e collaudo: sperimentazione

Funzionamento: il sistema diventa operativo

(6)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 6

i dati hanno un ruolo centrale

i dati sono più stabili

La progettazione di un sistema informativo riguarda due aspetti:



progettazione dei dati

progettazione delle applicazioni

Ma:

(7)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 7

Per garantire prodotti di buona qualità è opportuno seguire una

metodologia di progetto, con:

articolazione delle attività in fasi

criteri di scelta

modelli di rappresentazione

generalità e facilità d'uso

(8)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 8

Studio di fattibilità

Raccolta e analisi dei requisiti

Progettazione dei dati

Realizzazione

Validazione e collaudo

Funzionamento

(9)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 9

Progettazione fisica

Schema concettuale Requisiti della base di dati

Progettazione concettuale

Progettazione logica

Schema logico

Schema fisico

(10)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 10

Progettazione concettuale Progettazione concettuale

Rappresentare le specifiche informali della realtà di interesse tramite una descrizione formale completa ma indipendente dal sistema usato per rappresentare i dati.

(11)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 11

Progettazione logica Progettazione logica

Tradurre lo schema concettuale secondo il modello logico del DBMS. Nel caso di sistema relazionale, lo schema logico che si ottiene è l'insieme delle tabelle e

dei vincoli relativi.

Questa fase è indipendente dal DBMS scelto, ma dipende dal modello logico dei dati.

(12)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 12

Progettazione fisica Progettazione fisica

Completare lo schema logico con la specifica dei parametri fisici di memorizzazione (ad esempio con

l'elenco degli indici da utilizzare).

Questa fase dipende dal DBMS scelto.

(13)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 13

Schemi e Modelli dei Dati Schemi e Modelli dei Dati

Ognuno degli tre schemi prodotti, è basato su un sottostante modello dei dati. Abbiamo un modello concettuale, un modello logico e un modello fisico.

(14)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 14

Modello dei dati Modello dei dati

insieme di costrutti utilizzati per organizzare i dati di interesse e descriverne la dinamica

componente fondamentale: meccanismi di strutturazione (o costruttori di tipo)

come nei linguaggi di programmazione esistono

meccanismi che permettono di definire nuovi tipi, così ogni modello dei dati prevede alcuni costruttori

ad esempio, il modello relazionale prevede il

costruttore relazione, che permette di definire insiemi di record omogenei

(15)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 15

Schemi e istanze Schemi e istanze

In ogni livello di astrazione (concettuale, logico, fisico) esistono:

lo schema, sostanzialmente invariante nel tempo, che ne descrive la struttura (aspetto intensionale)

nel modello relazionale, le intestazioni delle tabelle

l’istanza, i valori attuali, che possono cambiare anche molto rapidamente (aspetto estensionale)

nel modello relazionale, il “corpo” di ciascuna tabella

(16)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 16

Due tipi (principali) di modelli Due tipi (principali) di modelli

modelli logici: utilizzati nei DBMS esistenti per l’organizzazione dei dati

utilizzati dai programmi

indipendenti dalle strutture fisiche

esempi: relazionale, reticolare, gerarchico, a oggetti

modelli concettuali: permettono di rappresentare i dati in modo indipendente da ogni sistema

cercano di descrivere i concetti del mondo reale

sono utilizzati nelle fasi preliminari di progettazione il più noto è il modello Entity-Relationship

(17)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 17

Modelli concettuali, perché?

Modelli concettuali, perché?

Proviamo a modellare una applicazione definendo direttamente lo schema logico della base di dati:

da dove cominciamo?

rischiamo di perderci subito nei dettagli

dobbiamo pensare subito a come correlare le varie tabelle (chiavi etc.)

i modelli logici sono rigidi

(18)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 18

Modelli concettuali, perché?

Modelli concettuali, perché?

servono per ragionare sulla realtà di interesse, indipendentemente dagli aspetti realizzativi

permettono di rappresentare le classi di dati di interesse e le loro correlazioni

prevedono efficaci rappresentazioni grafiche (utili anche per documentazione e comunicazione)

(19)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 19

Modello Entity-Relationship Modello Entity-Relationship

(Entità-Relazione) (Entità-Relazione)

Il più diffuso modello concettuale

Ne esistono molte versioni,

(più o meno) diverse l’una dall’altra

(20)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 20

I costrutti del modello E-R I costrutti del modello E-R

Entità

Relationship

Attributo

Identificatore

Generalizzazione

….

(21)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 21

Entità Entità

Classe di oggetti (fatti, persone, cose) della

applicazione di interesse con proprietà comuni e con esistenza “autonoma”

Esempi:

impiegato, città, conto corrente, ordine, fattura

(22)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 22

Relationship Relationship

Legame logico fra due o più entità, rilevante nell’applicazione di interesse

Esempi:

Residenza (fra persona e città)

Esame (fra studente e corso)

(23)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 23

Uno schema E-R, graficamente Uno schema E-R, graficamente

Esame

Studente Corso

(24)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 24

Entità Entità

Classe di oggetti (fatti, persone, cose) della

applicazione di interesse con proprietà comuni e con esistenza “autonoma”

Esempi:

impiegato, città, conto corrente, ordine, fattura

(25)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 25

Entità: schema e istanza Entità: schema e istanza

Entità:

classe di oggetti, persone, … "omogenei"

Occorrenza (o istanza) di entità:

elemento della classe (l'oggetto, la persona, …, non i dati)

nello schema concettuale rappresentiamo le entità, non le singole istanze (“astrazione”)

(26)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 26

Rappresentazione grafica di entità Rappresentazione grafica di entità

Impiegato Dipartimento

Città Vendita

(27)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 27

Relationship Relationship

Legame logico fra due o più entità, rilevante nell’applicazione di interesse

Esempi:

Residenza (fra persona e città)

Esame (fra studente e corso)

Chiamata anche:

relazione, correlazione, associazione

(28)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 28

Rappresentazione grafica Rappresentazione grafica

di relationship di relationship

Esame

Studente Corso

Residenza

Impiegato Città

(29)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 29

Relationship, occorrenze Relationship, occorrenze

Una occorrenza di una relationship binaria è coppia di occorrenze di entità, una per ciascuna entità coinvolta

Una occorrenza di una relationship n-aria è una n-upla di occorrenze di entità, una per ciascuna entità

coinvolta

Nell'ambito di una relationship non ci possono essere occorrenze (coppie, ennuple) ripetute

(30)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 30

Esempi di occorrenze Esempi di occorrenze

S1

S2

S4 S3

Studente

C1 C2 C3 Corso

E1

E2

E3

E4

(S1,C1) (S2,C2) (S2,C3) (S3,C3)

(31)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 31

Due relationship sulle stesse entità Due relationship sulle stesse entità

Residenza

Impiegato Città

Sede di lavoro

(32)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 32

Relationship n-aria Relationship n-aria

Fornitore Prodotto

Dipartimento Fornitura

(33)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 33

Relationship ricorsiva:

Relationship ricorsiva:

coinvolge “due volte” la stessa entità coinvolge “due volte” la stessa entità

Persona Conoscenza

(34)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 34

Relationship ricorsiva con “ ruoli”

Relationship ricorsiva con “ ruoli”

Successione

Sovrano

Successore Predecessore

(35)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 35

Confronto

Tennista Superficie

Relationship ternaria ricorsiva Relationship ternaria ricorsiva

Migliore Peggiore

(36)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 36

Attributo Attributo

Proprietà elementare di un’entità o di una relationship, di interesse ai fini dell’applicazione

Associa ad ogni occorrenza di entità o relationship un valore appartenente a un insieme detto dominio

dell’attributo

(37)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 37

Attributi, rappresentazione grafica Attributi, rappresentazione grafica

Esame

Studente Corso

Cognome Nome

Matricola

Data Titolo

Codice Voto

(38)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 38

Attributi composti Attributi composti

Raggruppano attributi di una medesima entità o relationship che presentano affinità nel loro

significato o uso

Esempio:

Via, Numero civico e CAP formano un Indirizzo

(39)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 39

Rappresentazione grafica Rappresentazione grafica

Impiegato

Cognome

Età Via

Indirizzo Numero CAP

(40)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 40

Composizione Partecipazione

Progetto

Nome Budget

Impiegato Codice

Cognome Telefono

Dipartimento

Afferenza Nome

Data

Direzione

Città Indirizzo

Sede Via

CAP

(41)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 41

Altri costrutti del modello E-R Altri costrutti del modello E-R

Cardinalità

di relationship

di attributo

Identificatore

interno

esterno

Generalizzazione

(42)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 42

Cardinalità di relationship Cardinalità di relationship

Coppia di valori associati a ogni entità che partecipa a una relationship

specificano il numero minimo e massimo di occorrenze

delle relationship cui ciascuna occorrenza di una entità può partecipare

(43)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 43

Esempio di cardinalit Esempio di cardinalitàà

Assegnamento

Impiegato Incarico

(1,5) (0,50)

(44)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 44

per semplicità usiamo solo tre simboli:

0 e 1 per la cardinalità minima:

0 = “ partecipazione opzionale”

1 = “ partecipazione obbligatoria”

1 e “ N” per la massima:

“ N” non pone alcun limite

(45)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 45

Cardinalit

Cardinalità di Residenzaà di Residenza

Residenza

Studente Città

(1,1) (0,N)

(46)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 46

Tipi di relationship Tipi di relationship

Con riferimento alle cardinalità massime, abbiamo relationship:

uno a uno

uno a molti

molti a molti

(47)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 47

Relationship “ molti a molti”

Relationship “ molti a molti”

Esame

Studente Corso

(0,N) (0,N)

Scalata

Montagna Alpinista

(0,N) (1,N)

Abilitazione

Macchinista Locomotore

(1,N) (1,N)

(48)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 48

Due avvertenze Due avvertenze

Attenzione al "verso" nelle relationship uno a molti

le relationship obbligatorie-obbligatorie sono molto rare

(49)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 49

Relationship “ uno a molti”

Relationship “ uno a molti”

Impiego

Persona Azienda

(0,1) (0,N)

Ubicazione

Cinema Località

(1,1) (0,N)

Ubicazione

Comune Provincia

(1,1) (1,N)

(50)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 50

Relationship “ uno a uno”

Relationship “ uno a uno”

Titolarità

Professore Cattedra

(0,1) (0,1)

Titolarità Professore

di ruolo Cattedra

(1,1) (0,1)

Titolarità Professore

di ruolo Cattedra

coperta

(1,1) (1,1)

(51)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 51

Cardinalità di attributi Cardinalità di attributi

E’ possibile associare delle cardinalità anche agli attributi, con due scopi:

indicare opzionalità ("informazione incompleta")

indicare attributi multivalore

(52)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 52

Rappresentazione grafica Rappresentazione grafica

Impiegato

Telefono

Nome

Numero patente (0,N)

(0,1)

(53)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 53

Identificatore di una entità Identificatore di una entità

“ strumento” per l’identificazione univoca delle occorrenze di un’entità

costituito da:

attributi dell’entità

identificatore interno

(attributi +) entità esterne attraverso relationship

identificatore esterno

(54)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 54

Identificatori interni Identificatori interni

Persona

Data Nascita Cognome

Nome Automobile

Targa

Modello

Indirizzo

(55)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 55

Identificatore esterno Identificatore esterno

Iscrizione

Studente Università

Cognome Matricola

Anno di corso

Nome

Indirizzo

(1,1) (0,N)

(56)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 56

Alcune osservazioni Alcune osservazioni

ogni entità deve possedere almeno un identificatore, ma può averne in generale più di uno

una identificazione esterna è possibile solo attraverso una relationship a cui l’entità da identificare partecipa con cardinalità (1,1)

(57)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 57

(1,1) (0,1)

(0,N) (0,1)

(0,1)

(1,1)

(1,N) (0,N)

(1,N)

(1,N)

Città Indirizzo

Telefono

Dipartimento

Composizione

Sede

Direzione

Afferenza

Impiegato

Progetto

Partecipazione

Nome

Nome Cognome

Budget

Data

Via CAP Codice

(58)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 58

Generalizzazione Generalizzazione

mette in relazione una o più entità E1, E2, ..., En con una entità E, che le comprende come casi particolari

E è generalizzazione di E1, E2, ..., En

E1, E2, ..., En sono specializzazioni (o sottotipi) di E

(59)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 59

Rappresentazione grafica Rappresentazione grafica

Dipendente

Impiegato Funzionario Dirigente

(60)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 60

Proprietà delle generalizzazioni Proprietà delle generalizzazioni

Se E (genitore) è generalizzazione di E1, E2, ..., En (figlie):

ogni proprietà di E è significativa per E1, E2, ..., En (ereditarietà)

ogni occorrenza di E1, E2, ..., En è occorrenza anche di E

(61)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 61

Persona

Codice fiscale

Nome Età

Città

Nascita (0,N)

(1,1)

Lavoratore Studente

Stipendio

(62)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 62

Tipi di generalizzazioni Tipi di generalizzazioni

totale se ogni occorrenza dell'entità genitore è

occorrenza di almeno una delle entità figlie, altrimenti è parziale

esclusiva se ogni occorrenza dell'entità genitore è

occorrenza di al più una delle entità figlie, altrimenti è sovrapposta

consideriamo (senza perdita di generalità) solo

generalizzazioni esclusive e distinguiamo fra totali e parziali

(63)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 63

Studente Avvocato

Persona

Generalizzazione Parziale Generalizzazione Parziale

(64)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 64

Persona

Uomo Donna

Uomo Donna

Generalizzazione Totale Generalizzazione Totale

(65)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 65

Altre proprietà Altre proprietà

possono esistere gerarchie a più livelli e multiple generalizzazioni allo stesso livello

un'entità può essere inclusa in più gerarchie, come genitore e/o come figlia

se una generalizzazione ha solo un’entità figlia si parla di sottoinsieme

(66)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 66

Esercizio Esercizio

Le persone hanno CF, cognome ed età; gli uomini anche la posizione militare; gli impiegati hanno lo stipendio e possono essere segretari, direttori o progettisti (un progettista può essere anche

responsabile di progetto); gli studenti (che non

possono essere impiegati) un numero di matricola;

esistono persone che non sono né impiegati né studenti (ma i dettagli non ci interessano)

(67)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 67

Segretario Direttore Progettista

Responsabile Persona

CF

Cognome

Età

Uomo Donna

Militare

Impiegato Studente

Stipendio Matr.

(68)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 68

Applicazioni degli schemi ER Applicazioni degli schemi ER

I diagrammi ER possono essere usati in vari modi:

come ausilio alla progettazione dei dati

a scopo documentativo, in quanto facilmente comprensibili a chi non è esperto di basi di dati

per descrivere la struttura di una base di dati già esistente

(69)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 69

Insufficienza degli schemi ER Insufficienza degli schemi ER

Gli schemi ER non sono quasi mai sufficienti per rappresentare tutte le informazioni che si desidera.

talvolta è necessario tralasciare qualche attributo per rendere più chiaro lo schema

lo schema indica il nome degli attributi ma non i valori che questi possono assumere (dominio)

alcuni vincoli tra i dati non possono essere espressi

(70)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 70

Le Regole Aziendali Le Regole Aziendali

Occorre accompagnare il diagramma ER con ulteriore documentazione. Le informazioni supplementari allo

schema ER sono spesso chiamate “business rules”

(regole aziendali).

(71)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 71

Le Regole Aziendali /2 Le Regole Aziendali /2

Una regola aziendale può essere:

la descrizione di un concetto rilevante di una

applicazione (definizione precisa di una entità o di un attributo,...)

“ una istanza della entità impiegato identitica un qualunque impiegato dell'azienda, a qualunque livello livello”

(72)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 72

Le Regole Aziendali /3 Le Regole Aziendali /3

un vincolo di integrità sui dati, sia esso la

documentazione di un vincolo espresso nello schema ER che un vincolo nuovo non esprimibile nello schema.

“ un impiegato deve avere uno stipendio maggiore del direttore del dipartimento a cui afferisce”

una derivazione, ovvero una regola matematica per ottenere alcuni attributi da altri attributi dello schema

“ l'attributo Costo di ottiene sommando all'attributo Costo Netto l'attributo Tasse”

(73)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 73

(1,1) (0,1)

(0,N) (0,1)

(0,1)

(1,1)

(1,N) (0,N)

(1,N)

(1,N)

Città Indirizzo

Telefono

Dipartimento

Composizione

Sede

Direzione

Afferenza

Impiegato

Progetto

Partecipazione

Nome

Nome Cognome

Budget

Data

Via CAP Codice

(74)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 74

Dizionario dei dati (entità) Dizionario dei dati (entità)

Entità Descrizione Attributi Identificatore Impiegato Dipendente

dell'azienda Codice, Cognome, Stipendio

Codice

Progetto Progetti

aziendali Nome,

Budget Nome

Dipartimento Struttura

aziendale Nome,

Telefono Nome, Sede Sede Sede

dell'azienda Città,

Indirizzo Città

Le regole aziendali di tipo descrittivo vengono di solito raccolte nel

“dizionario dei dati”.

(75)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 75

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

Dizionario dei dati (relationship) Dizionario dei dati (relationship)

(76)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 76

Vincoli Vincoli

Vincoli di integrità sui dati

1.Il direttore di un dipartimento deve a afferire a tale dipartimento

2.Un impiegato non deve avere uno stipendio

maggiore del direttore del dipartimento al quale afferisce

3.Un dipartimento con sede a Roma deve essere diretto da un impiegato con più di dieci anni di anzianità

4.Un impiegato che non afferisce a nessun

dipartimento non deve partecipare a nessun un progetto

(77)

24/3/2003 Atzeni-Ceri-Paraboschi-Torlone, Basi

di dati, Capitolo 6 77

Derivazioni Derivazioni

Regole di Derivazione

1.Il budget di un progetto si ottiene moltiplicando per tre la somma degli stipendi degli impiegati che vi partecipano

Riferimenti

Documenti correlati

•  concedere il privilegio CREATE TABLE ad un utente creando il ruolo di impiegato:. Per prima cosa creo un

•  Conflitto di impedenza (“disaccoppiamento di impedenza ” ) fra base di dati e linguaggio. •  linguaggi: operazioni su singole variabili

Verdi Giove Milano Verdi Marte Milano Neri Saturno Milano Neri Venere Milano Progetto Sede → Dirigente. Dirigente →

◼ Durante la prova scritta gli studenti non possono consultare libri o appunti e non possono utilizzare dispositivi elettronici di nessun tipo, a parte quello utilizzato per

Un modello dei dati è un insieme di concetti utilizzati per organizzare i dati di interesse e descriverne la struttura in modo da essere comprensibile ad un elaboratore. tipi di

Il modello relazionale è basato sui valori i riferimenti tra dati in relazioni diverse sono rappresentati per mezzo di valori dei domini.. DB

La tabella SOMMARIO CATEGORIA riporta, per ogni categoria di evento e per ogni data, il numero complessivo di eventi previsti e il costo.. complessivo per la

-- Esiste uno studente eleggibile: seleziono la sua matricola SELECT Matricola INTO Matr.