vuoi
o PayPal
tutte le volte che vuoi
Modello di dati
REFERENTE, INTERNO, UTENTE;CONTRATTO (Codice, Nome, Descrizione, Cifra_totale)
AZIENDA_FORNITRICE (P.Iva, Ragione_sociale, Telefono, E-mail, Indirizzo)
ATTIVITÀ (Codice, Seriale, Titolo, Descrizione)
REFERENTE, INTERNO, UTENTE sono coinvolti in una specializzazione disgiunta totale, e verranno costruiti durante i passi successivi.
Passo 2) NO;
Passo 3) NO;
Passo 4) Ass. 1:N : fornitura, include, ha
- fornitura:
Se S= CONTRATTO; T= AZIENDA_FORNITRICE, si aggiunge in SP.Iva (FK), Data_inizio, Data_fine
o CONTRATTO (Codice, Nome, Descrizione, Cifra_totale, P.Iva, Data_inizio, Data_fine) - ha:
Se S= REFERENTE; T= AZIENDA_FORNITRICE, si aggiunge in SP.Iva (FK)
o REFERENTE(P.Iva,….) -- DA COMPLETARE dopo il PASSO 8 - include:
Se S= ATTIVITÀ; T= CONTRATTO, si aggiunge in SCodice_contratto (FK, ridenominazione del campo Codice di CONTRATTO)
o + tutti gli attributi dell’associazione INCLUDEATTIVITÀ (Codice, Seriale, Titolo, Descrizione, Codice_contratto, Unità_funzionali, …)
Max_n_unità_funz_mese, Data_richiesta, Data_consegna, Stato_attività) Passo 5) Ass. M:N: è_associato Si crea la relazione ASSOCIATI_CONTRATTO(Codice_contratto, <chiave primaria diINTERNO>) -- DA COMPLETARE dopo il PASSO 8
Passo 6,7) NOPasso 8) Utilizziamo la specializzazione 8B perché è valida solo per le specializzazioni lecui sottoclassi sono totali, ed è raccomandata in presenza di vincolo di disgiunzione, comein questo caso. REFERENTE e INTERNO ereditano i campi di UTENTE; UTENTE non vienerappresentata. REFERENTE(Matricola, Nome, Cognome, Area, E-mail, Telefono, Username, Password, P.Iva) è completato INTERNO (Matricola, Nome, Cognome, Area, E-mail, Telefono, Username, Password), quindi ASSOCIATI_CONTRATTO(Codice_contratto, Matricola) è completato
Schema relazionale (chiavi esterne in corsivo) CONTRATTO (Codice, Nome, Descrizione, Cifra_totale, P.Iva, Data_inizio, Data_fine) AZIENDA_FORNITRICE (P.Iva, Ragione_sociale, Telefono, E-mail,
Indirizzo)ATTIVITÀ (Codice, Seriale, Titolo, Descrizione, Codice_contratto, Unità_funzionali,Max_n_unità_funz_mese, Data_richiesta, Data_consegna, Stato_attività)
REFERENTE(Matricola, Nome, Cognome, Area, E-mail, Telefono, Username, Password,P.Iva)
INTERNO (Matricola, Nome, Cognome, Area, E-mail, Telefono, Username, Password)
ASSOCIATI_CONTRATTO (Codice_contratto, Matricola)
Vincoli di integrità referenziale:à
CONTRATTO.P.Iva AZIENDA_FORNITRICE. P.Ivaà
ATTIVITÀ. Codice_contratto CONTRATTO.Codiceà
REFERENTE.P.Iva AZIENDA_FORNITRICE.P.Ivaà
ASSOCIATI_CONTRATTO. Codice_contratto CONTRATTO.Codice
ASSOCIATI_CONTRATTO. Matricola INTERNO. Matricolaà
3. La base di dati si trova già in 1NF: non esistono attributi multivalore, composti o loro combinazione come valore di un attributo per una tupla singola;
2NF: tutte le relazioni hanno 1 chiave primaria tranne ASSOCIATI_CONTRATTO, che comunque non contiene attributi non-primi,
Nome, Cognome, Area, E-mail, Telefono, P.Iva, Username) REFERENTE2(Username, Password) Si decompone INTERNO in: INTERNO1(Matricola, Nome, Cognome, Area, E-mail, Telefono, Username) INTERNO2(Username, Password) Schema relazionale normalizzato CONTRATTO (Codice, Nome, Descrizione, Cifra_totale, P.Iva, Data_inizio, Data_fine) AZIENDA_FORNITRICE (P.Iva, Ragione_sociale, Telefono, E-mail, Indirizzo) ATTIVITÀ (Codice, Seriale, Titolo, Descrizione, Codice_contratto, Unità_funzionali, Max_n_unità_funz_mese, Data_richiesta, Data_consegna, Stato_attività) ASSOCIATI_CONTRATTO (Codice_contratto, Matricola)(Nome, Cognome, Area, E-mail, Telefono, P.Iva, Username)
REFERENTE2(Username, Password)
INTERNO1(Matricola, Nome, Cognome, Area, E-mail, Telefono, Username)
INTERNO2(Username, Password)
1) entità forti
BANCA(codice, Nome, Ind)
CONTO(Num_conto, Saldo, Tipo)
PRESTITO(Num_prestito, importo, Tipo)
CLIENTE(SSN, Nome, Telefono, Ind)
2) deboli
FILIALE_BANCA(codice_banca, num_ liale, Ind)
3)NO
4) Num_ liale)
CONTO(Num_conto, Saldo, Tipo,Codice_banca,Codice_banca, Num_ liale)
PRESTITO(Num_prestito, importo, Tipo,Filiali è un’associazione debole e ne abbiamo già tenuto conto al punto 2
5) C-C(SSN, Num_conto)
P-C(SSN, Num_prestito)
6,7,8) No
Schema relazionale nale
BANCA(codice, Nome, Ind)
Num_ liale)
CONTO(Num_conto, Saldo, Tipo,Codice_banca,Codice_banca, Num_ liale)
PRESTITO(Num_prestito, importo, Tipo,
FILIALE_BANCA(codice_banca, num_ liale, Ind)
CLIENTE(SSN, Nome, Telefono, Ind)
C-C(SSN, Num_conto)
P-C(SSN, Num_prestito)
Vincoli integrità referenziale
CONTO.codice_banca
- BANCA.codiceCONTO.num_ liale
- FILIALE_BANCA.Num_ lialePRESTITO.codice_banca
- BANCA.codicePRESTITO.num_ liale
- FILIALE_BANCA.Num_ lialeFILIALE.codice_banca
- BANCA.codice