Esercitazione sulla modellazione dati

Interventi tecnici di assistenza hardware e software

Si vuole realizzare un’applicazione che consenta ad un’azienda di assistenza informatica di gestire gli interventi tecnici, hardware e software, presso i clienti.
L’azienda ha diversi tecnici che svolgono l’attività di assistenza e gli interventi riguardano le apparecchiature dei clienti. Ogni cliente ha in manutenzione diverse apparecchiature.
Ai fini della fatturazione, è importante registrare, non solo la data dell’intervento, ma anche la durata in ore e la motivazione. Si trascuri per parte specifica riguardante la gestione e la stampa delle fatture.
Sviluppare l’analisi dei dati, costruire il modello dei dati e derivare le tabelle.
Interrogazioni
1. Elenco delle apparecchiature di un cliente, di cui viene fornito il codice, sulle quali sono stati effettuati interventi nel mese di marzo.
2. Elenco delle apparecchiature di un cliente, di cui viene fornito il cognome.

Analisi del problema

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

CognomeCliente

 

Carattere

25

NomeCliente

 

Carattere

20

 

CF

 

Carattere

16

 

 

Indirizzo

 

Carattere

40

 

 

NumeroTelefono

 

Carattere

12

 

 

Email

 

Carattere

40

 

 

Apparecchiature

IDApparecchiatura

PK

Carattere

5

Si

Descrizione

 

Carattere

40

 

Tipologia

 

Carattere

1

 

 

CodCliente

FK

Carattere

5

Tecnici

IDTecnico

PK

Carattere

5

CognomeTecnico

 

Carattere

25

NomeTecnico

 

Carattere

20

 

NumCellulare

 

Carattere

12

 

 

Interventi

IDInterventi

PK

Carattere

5

Data

 

Data/Ora

8

 

Motivazione

 

Carattere

30

 

 

Durata

 

Numerico Intero

2

 

 

CodApparecchiatura

FK

Carattere

5

CodTecnico

FK

Carattere

5

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?’];