Anteprima
Vedrai una selezione di 6 pagine su 23
Elaborato Basi di Dati Svolto e Completo Pag. 1 Elaborato Basi di Dati Svolto e Completo Pag. 2
Anteprima di 6 pagg. su 23.
Scarica il documento per vederlo tutto.
Elaborato Basi di Dati Svolto e Completo Pag. 6
Anteprima di 6 pagg. su 23.
Scarica il documento per vederlo tutto.
Elaborato Basi di Dati Svolto e Completo Pag. 11
Anteprima di 6 pagg. su 23.
Scarica il documento per vederlo tutto.
Elaborato Basi di Dati Svolto e Completo Pag. 16
Anteprima di 6 pagg. su 23.
Scarica il documento per vederlo tutto.
Elaborato Basi di Dati Svolto e Completo Pag. 21
1 su 23
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

Attributo un nome che la differenzia

da ogni altra Storia.

NomeCollan Nome della Stringa di SI Nome Descrizione Tipo ID

a Collana di caratteri Attributo

Fumetti

DataInizioC Data Data - TitoloStoria Nome della Stringa di SI

oll pubblicazio Storia di caratteri

ne iniziale Fumetti

della

Collana AnnoPubbl Anno in cui Intero -

è stata

pubblicata

la storia

DataPubbl Data in cui è Data -

stata

pubblicata

la storia

Pagine Numero Intero -

delle pagine

della storia Pag. | 6

E’ l’ideatore e Dipendente della Società

Fumettista CapoProgetto

disegnatore dei che coordina altri

fumetti coordinato da dipendenti per

un capo-progetto. raggiungere un obiettivo

Essendo un comune. Il CapoProgetto

Dipendente della casa nel nostro caso coordina

editrice, ha tutte le fumettisti con l’intento di

caratteristiche dello ultimare un progetto

stesso ( ereditandole). d’interesse.

Nome Descrizione Tipo ID Nome Descrizione Tipo ID

Attributo Attributo

TUTTI GLI Stringa di TUTTI GLI Stringa di

CodiceFisc SI CodiceFisc SI

ATTRIBUTI Caratteri ATTRIBUTI Caratteri

aleDip …… aleDip .....

DI ….. DI …..

….. …..

DIPENDENT DIPENTENT

E E

TitoloDiStu Istruzione Stringa di - DataAssunz Data di Data -

dio primaria, caratteri ione assunzione

Secondaria del

e/o dipendente

Universitari capo-

a progetto

FormaContr Forma Stringa di -

attuale indetermina Caratteri

ta,

determinata

o Formativa Pag. | 7

 2° Passo: Individuazione e definizione ASSOCIAZIONI

- Afferenza, Compimento, Riferimento, Composizione, Direzione

- Per ogni associazione andremo a definire le cardinalità ( e quindi anche il rapporto

di cardinalità)

GENERALIZZAZIONE PARZIALE 

Generalizzazione (PARZIALE) di Fumettista/Capoprogetto Dipendente.

La Generalizzazione implica un ’ ASSOCIAZIONE padre-figli tra le varie entità d’interesse. Ogni figlio

erediterà le caratteristiche (attributi/associazioni) del padre. La Generalizzazione è PARZIALE in

quanto non tutti i dipendenti sono fumettista o capo-progetto. Pag. | 8

1) Associazione Afferenza tra le entità Dipendente e Sede

Un Dipendente può lavorare all’interno di una ed una sola Sede. In una Sede possono lavorare da

1 a Molti Dipendenti. Il Rapporto di Cardinalità è UNO A MOLTI.

2) Associazione Compimento tra le Entità Dipendente e Esperienza

Un Dipendente può aver compiuto varie esperienze , così come può non aver pregresso alcuna

esperienza passata. L’esperienza professionale è stata compiuta dall’ unico dipendente di

interesse. Esperienza ha identificatore esterno in Dipendente. Il Rapporto di Cardinalità è di UNO

A MOLTI. Pag. | 9

3) Associazione Riferimento tra le Entità Esperienza e Referente

Un’Esperienza può eventualmente contenere riferimenti a Referenti (identificati da un indirizzo

email). Il Referente avrà come riferimento l’Esperienza specifica. Il Rapporto di Cardinalità per la

relazione è di UNO A MOLTI.

4) Associazione Composizione tra le Entità Collana e Storie

Una Collana può essere composta fino ad un certo numero di storie. Ogni Storia fa parte di una

sola Collana. Il Rapporto di Cardinalità per l’associazione è di UNO A MOLTI. P a g . | 10

5) Associazione Direzione tra le Entità Fumettista e CapoProgetto

Ricordiamo che Fumettista e CapoProgetto sono associate in una relazione padre-figli con l’Entità

Dipendenti. Per cui l’associazione Direzione è Ricorsiva (Dipendenti dirigono/sono diretti da altri

Dipendenti). Un Fumettista può essere diretto da un solo CapoProgetto. Un CapoProgetto può

dirigere 1 o più fumettisti. Il Rapporto di Cardinalità è di UNO A MOLTI. P a g . | 11

P a g . | 12

La Tabella delle Regole Vincoli e Derivazioni

RV1 La FormaContrattuale DEVE essere Indeterminata o Determinata o

Formativa

IL SECONDO PASSO… PROGETTAZIONE

CONCETTUALE

PROGETTAZIONE

LOGICA

La Progettazione Logica è il secondo passo verso quella che sarà l’effettiva implementazione a

livello fisico del nostro progetto. Possiamo suddividere tale progettazione in due fasi ben distinte:

- TRASFORMAZIONE Che consiste in una ristrutturazione del Modello E-R

costruito in precedenza. La ristrutturazione dello schema si rende necessaria perché

non tutti i costrutti del modello E-R hanno una traduzione naturale nei modelli

logici! 

- TRADUZIONE verso un modello relazionale P a g . | 13

1) Trasformazione dell’attributo composto Recapito in attributi semplici (Via/Civico/Città)

In ogni Entità/Associazione gli attributi composti vengono eliminati ed i loro componenti

diventano attributi semplici l’attributo deve essere atomico in questa fase. 

2) Trasformazione della generalizzazione parziale Fumettista/Capoprogetto Dipendente

Tra le possibili azioni attraverso cui effettuare la Trasformazione scegliamo:

- Assorbimento delle Entità figlie nell’Entità padre. Andremo pertanto a definire un

nuovo attributo che ci specificherà la tipologia di Dipendente! TipoDipendente:

fumettista, capoprogetto o altro? P a g . | 14

Modello E-R dopo la Ristrutturazione P a g . | 15

Traduzione verso il Modello Relazionale

Adesso dobbiamo esaminare la traduzione verso il modello Relazionale, andiamo quindi a tradurre

tutte le Relazioni:

1. Afferenza

Dipendenti ≡ {CodiceFiscaleDip, NomeDip, CognomeDip, DataNascita, LuogoNascita ,EmailDip,

TitoloStudio , FormaContrattuale, DataAssunzione, TipoDipendente, Sede}

Sedi ≡ {Denominazione , Via, Civico, Città, Telefono, Fax}

NOTE: Vincolo di integrità referenziale di Sede a Denominazione

2. Direzione

Dipendenti ≡ {CodiceFiscaleDip, NomeDip, CognomeDip, DataNascita, LuogoNascita ,EmailDip,

TitoloStudio , FormaContrattuale, DataAssunzione, TipoDipendente, Sede}

Direzioni ≡ {Fumettista, Capoprogetto)

Note: Fumettista e Capoprogetto referenziano CodiceFiscaleDip

3. Compimento

Dipendenti ≡ {CodiceFiscaleDip, NomeDip, CognomeDip, DataNascita, LuogoNascita ,EmailDip,

TitoloStudio , FormaContrattuale, DataAssunzione, TipoDipendente, Sede}

Esperienze ≡ {DipendenteEsp, DatoreLavoro, DataInizioEsp, DataFineEsp)

Note: Per DipendenteEsp vincolo di referenza esterna all’attributo CodiceFiscaleDip di Dipendenti

4. Relazione: Riferimento

Esperienze ≡ {DipendenteEsp, DatoreLavoro, DataInizioEsp, DataFineEsp }

Referenti ≡ {EmailRef, NomeRef, CognomeRef, Esperienza }

Note: Per Esperienza vincolo di referenza esterna all’attributo DatoreLavoro. P a g . | 16

5. Relazione: Composizione

Collane ≡ {NomeCollana, DataInizioColl, Storia}

Storie ≡ {TitoloStoria, AnnoPubbl, DataPubbl,Pagine}

NOTE: Vincolo di integrità referenziale di Storia a TitoloStoria di Storie P a g . | 17

Raccogliamo tutto il ricavato dalla traduzione…

SCHEMA RELAZIONALE

Dipendenti ≡ {CodiceFiscaleDip, NomeDip, CognomeDip, DataNascita, LuogoNascita ,EmailDip,

TitoloStudio , FormaContrattuale, DataAssunzione, TipoDipendente, Sede}

Sedi ≡ {Denominazione , Via, Civico, Città, Telefono, Fax}

Direzioni ≡ {Fumettista, Capoprogetto)

Esperienze ≡ {DipendenteEsp, DatoreLavoro, DataInizioEsp, DataFineEsp)

Referenti ≡ {EmailRef, NomeRef, CognomeRef, Esperienza }

Collane ≡ {NomeCollana, DataInizioColl}

Storie ≡ {TitoloStoria, AnnoPubbl, DataPubbl,Pagine,Collana }

Vincoli di Integrità Referenziale

Attributo Vincolato Attributo Vincolante

Dipendenti.Sede Sedi.Denominazione

Direzioni.Fumettista Dipendenti.CodiceFiscaleDip

Direzioni.Capoprogetto Dipendenti.CodiceFiscaleDip

Esperienze.DipendenteEsp Dipendenti.CodiceFiscaleDip

Referenti.Esperienza Esperienze.DatoreLavoro

Storie.Collana Collana.NomeCollana P a g . | 18

IL TERZO E ULTIMO PASSO…

PROGETTAZIONE

LOGICA PROGETTAZIONE

FISICA

Per la progettazione fisica del nostro Database per la CasaEditrice, ho utilizzato uno tra i più noti

RDBMS : MySQL.

CREAZIONE DATABASE

mysql> CREATE DATABASE casaeditrice;

CREAZIONE TABELLE PER IL DATABASE casaeditrice

CREAZIONE TABELLA SEDI

mysql> CREATE TABLE sedi(

-> denominazione VARCHAR(30) PRIMARY KEY,

-> via VARCHAR(30) NOT NULL,

-> civico TINYINT NOT NULL,

-> citta VARCHAR(30) NOT NULL,

-> telefono VARCHAR(15) NOT NULL,

-> fax VARCHAR(15) NULL );

Query OK, 0 rows affected (0.09 sec)

CREAZIONE TABELLA DIPENDENTI P a g . | 19

mysql> CREATE TABLE dipendenti(

-> codicefiscaledip CHAR(16) PRIMARY KEY,

-> nomedip VARCHAR(30) NOT NULL,

-> cognomedip VARCHAR(30) NOT NULL,

-> datanascita DATE NOT NULL,

-> luogonascita VARCHAR(30) NOT NULL,

-> emaildip VARCHAR(30) NULL,

-> titolostudio VARCHAR(60) NULL,

-> formacontrattuale ENUM('indeterminata','determinata','formativa') NOT NULL,

-> dataassunzione DATE NULL,

-> tipodipendente ENUM('fumettista','capoprogetto','altro') NOT NULL,

-> sede VARCHAR(30) NOT NULL,

-> FOREIGN KEY(sede) REFERENCES sedi(denominazione)

-> ON UPDATE CASCADE ON DELETE CASCADE);

Query OK, 0 rows affected (0.05 sec)

CREAZIONE TABELLA DIREZIONI

mysql> CREATE TABLE direzioni(

-> fumettista CHAR(16) PRIMARY KEY,

-> capoprogetto CHAR(16) NOT NULL,

-> FOREIGN KEY(fumettista) REFERENCES dipendenti(codicefiscaledip)

-> ON UPDATE CASCADE ON DELETE CASCADE,

-> FOREIGN KEY(capoprogetto) REFERENCES dipendenti(codicefiscaledip)

-> ON UPDATE CASCADE ON DELETE CASCADE);

Query OK, 0 rows affected (0.34 sec)

CREAZIONE TABELLA ESPERIENZE P a g . | 20

mysql> CREATE TABLE esperienze(

-> dipendenteesp CHAR(16) NOT NULL,

-> datorelavoro VARCHAR(30) NOT NULL,

-> datainizioesp DATE NULL,

-> datafineesp DATE NULL,

-> PRIMARY KEY(dipendenteesp,datorelavoro),

-> FOREIGN KEY(dipendenteesp) REFERENCES dipendenti(codicefiscaledip)

-> ON UPDATE CASCADE ON DELETE CASCADE);

Query OK, 0 rows affected (0.36 sec)

CREAZIONE TABELLA REFERENTI

mysql> CREATE TABLE referenti(

-> emailref VARCHAR(30) PRIMARY KEY,

-> nomeref VARCHAR(30) NULL,

-> cognomeref VARCHAR(30) NULL,

-> esperienza VARCHAR(30) NULL,

-> FOREIGN KEY(esperienza) REFERENCES dipendenti(codicefiscaledip)

-> ON UPDATE CASCADE ON DELETE CASCADE);

Query OK, 0 rows affected (0.05 sec)

CREAZIONE TABELLA COLLANE

mysql> CREATE TABLE collane(

-> nomecollana VARCHAR(60) PRIMARY KEY,

-> datainiziocoll DA

Dettagli
Publisher
A.A. 2019-2020
23 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher giuscobebbo di informazioni apprese con la frequenza delle lezioni di Basi di dati e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi del Sannio o del prof Cimitile Aniello.