Le entità che possono essere individuate nel problema sono:
- Tecnico, per rappresentare il personale tecnico che svolge l’assistenza.
- Cliente, per rappresentare i clienti proprietari delle apparecchiature oggetto degli interventi.
- Apparecchiatura, per rappresentare le apparecchiature hardware o i prodotti software, oggetto degli interventi.
- Intervento, per rappresentare gli interventi di assistenza effettuati.
Gli attributi dell'entità Tecnico sono: IDTecnico, Cognome Tecnico, Nome Tecnico, Numero cellulare.
Gli attributi dell'entità Cliente sono: IDCliente, Cognome Cliente, Nome Cliente, Codice Fiscale, Indirizzo, Numero telefono, Email.
Gli attributi dell'entità Apparecchiatura sono: IDApparecchiatura, Descrizione, Tipologia (Hw/Sw).
Gli attributi dell'entità Intervento sono: IDIntervento, Data, Motivazione, Durata.
Associazioni
Tra l'entità Cliente e l'entità Apparecchiatura esiste un'associazione uno a molti, perché un cliente può possedere una o più apparecchiature, ma ogni apparecchiatura deve essere posseduta da un solo cliente.
Tra l'entità Apparecchiatura e l'entità Intervento esiste un'associazione uno a molti, perché ogni apparecchiatura può richiedere uno o più interventi, ma un intervento deve essere richiesto per una sola apparecchiatura.
Tra l'entità Tecnico e l'entità Intervento esiste un'associazione uno a molti, perché ogni tecnico può eseguire uno o più interventi, ma ogni intervento deve essere eseguito da un solo tecnico.
Modello E/R
Regole di lettura
Ogni cliente può possedere una o più apparecchiature, ogni apparecchiatura deve essere posseduta da un solo cliente.
Ogni apparecchiatura può richiedere uno o più interventi, ogni intervento deve essere richiesto per una sola apparecchiatura.
Ogni tecnico può eseguire uno o più interventi, ogni intervento deve essere eseguito da un solo tecnico.
Tabelle
Tecnici (IDTecnico, CognomeTecnico, NomeTecnico, NumCellulare)
Clienti (IDCliente, CognomeCliente, NomeCliente, CF, Indirizzo, NumeroTelefono, Email)
Apparecchiature (IDApparecchiatura, Descrizione, Tipologia, CodCliente)
Interventi (ID, Data, Motivazione, Durata, CodApparecchiatura, CodTecnico)
Descrizione dati
TABELLA |
CAMPO |
CHIAVE |
FORMATO |
DIMENSIONE |
OBBLIGATORIO |
INDICE |
Clienti |
IDCliente |
PK |
Carattere |
5 |
Sì |
Sì |
CognomeCliente |
|
Carattere |
25 |
Sì |
Sì |
NomeCliente |
|
Carattere |
20 |
Sì |
|
CF |
|
Carattere |
16 |
|
|
Indirizzo |
|
Carattere |
40 |
|
|
NumeroTelefono |
|
Carattere |
12 |
|
|
Email |
|
Carattere |
40 |
|
|
Apparecchiature |
IDApparecchiatura |
PK |
Carattere |
5 |
Sì |
Si |
Descrizione |
|
Carattere |
40 |
Sì |
|
Tipologia |
|
Carattere |
1 |
|
|
CodCliente |
FK |
Carattere |
5 |
Sì |
Sì |
Tecnici |
IDTecnico |
PK |
Carattere |
5 |
Sì |
Sì |
CognomeTecnico |
|
Carattere |
25 |
Sì |
Sì |
NomeTecnico |
|
Carattere |
20 |
Sì |
|
NumCellulare |
|
Carattere |
12 |
|
|
Interventi |
IDInterventi |
PK |
Carattere |
5 |
Sì |
Sì |
Data |
|
Data/Ora |
8 |
Sì |
|
Motivazione |
|
Carattere |
30 |
|
|
Durata |
|
Numerico Intero |
2 |
|
|
CodApparecchiatura |
FK |
Carattere |
5 |
Sì |
Sì |
CodTecnico |
FK |
Carattere |
5 |
Sì |
Sì |
Interrogazioni
Elenco delle apparecchiature di un cliente, di cui viene fornito il codice, sulle quali sono stati effettuati interventi nel mese di marzo.
InterventiFK ⋈ ApparecchiaturePK Temp1=Congiunzione di Interventi su CodApparecchiatura e di Apparecchiature su IdApparecchiatura
σP Temp1 Temp2=Selezione di Temp1 per Mese(Data)=3
and CodCliente=[‘quale codice cliente?’]
πL Temp2 Temp3=Proiezione di Temp2 su IdApparecchiatura e Descrizione
Select Apparecchiature.IDApparecchiature, Apparecchiature.Descrizione
From Apparecchiature INNER JOIN Interventi On Interventi.CodApparecchiatura = Apparecchiature.IdApparecchiatura
Where Apparecchiature. CodCliente=[‘quale codice cliente?’] AND Mese(Data)=3;
Elenco delle apparecchiature di un cliente, di cui viene fornito il cognome.
ClientiPK ⋈ ApparecchiatureFK Temp1=Congiunzione di Clienti su IdCliente e Apparecchiature su CodCliente
σP Temp1 Temp2=Selezione di Temp1 per CognomeCliente=[‘quale cliente?’]
πL Temp2 Temp3= Proiezione di Temp2 su IdApparecchiatura e Descrizione
Select Apparecchiature.IDApparecchiature, Apparecchiature.Descrizione
From Apparecchiature INNER JOIN Clienti
On Clienti.IdCliente = Apparecchiature.CodCliente
Where Clienti.CognomeCliente=[‘quale cliente?’];