Esercitazione sulla modellazione dati

Rilevazione statistica delle visite alle pagine Web dei corsi on line

Un’azienda di formazione offre diversi corsi on line a pagamento riservati agli utenti registrati. Gli utenti accedono tramite un username e una password. Ogni corso è formato da molte pagine Web. Si vogliono monitorare le visite degli utenti alle pagine dei corsi, registrandone alcune informazioni importanti, quali: data della visita, durata, IP di provenienza, browser utilizzato e sistema operativo del computer dell’utente. Si trascuri la parte riguardante le iscrizioni ai corsi e i pagamenti.

Analisi del problema

Le entità che possono essere individuate sono:
Corso per descrivere le informazioni sui corsi;
Utente  per descrivere le informazioni sugli utenti;
Pagina per rappresentare le pagine che compongono il corso;

Tra Utente e Pagina esiste un’associazione N:N,  che può essere spezzata introducendo l’entità Visita per legare Utente e Pagina.

Gli attributi di Corso sono:CodiceCorso, Descrizione, Prezzo, Difficoltà, Prerequisiti.
Tutti gli attributi sono di tipo carattere, tranne Prezzo che è numerico.
Gli attributi di Utente sono:CodiceUtente, Username, Password, Cognome, Nome, CF,
DataNascita.
Tutti gli attributi sono di tipo carattere, tranne DataNascita. che è di tipo Data/Ora.
Gli attributi di Pagina sono:CodicePagina, URL.
Tutti gli attributi sono di tipo carattere.
Gli attributi di Visita sono: IDentificativo, IPProvenienza, Browser, SistemaOperativo, DataVisita, OraInizio, OraFine.
Tutti gli attributi sono di tipo carattere tranne ID che è  di tipo numerico autoincrementale e Data, OraInizio e OraFine che sono di tipo Data/Ora.

Tra l’entità Corso e l’entità Pagina esiste un’associazione 1:N perché ogni pagina appartiene in genere a un solo corso, mentre un corso è costituito da più pagine.
Tra l’entità Utente e l’entità Visita esiste una relazione 1:N, perché un utente può effettuare più visite, mentre le informazioni su una specifica visita sono registrate per un solo utente.
Tra l’entità Pagina e l’entità Visita esiste una relazione 1:N, perché una pagina può riguardare più visite, mentre le informazioni su una visita specifica riguardano una sola pagina.

Lo sviluppo dell’applicazione riguarda la parte delle rilevazioni statistiche sulle visite degli utente alle singole pagine del corso. Trascurando gli aspetti gestionali su iscrizioni e pagamenti degli utenti, non viene indicata l’associazione tra Utente e Corso.

Modello E/R


 

 


 

Ogni corso può pubblicare una o più pagine, ogni pagina deve essere pubblicata in un solo corso.
Ogni utente può effettuare una o più visite, ogni visita deve essere effettuata da un solo utente.
Ogni pagina può registrare una o più visite, ogni visita deve essere registrata per una sola pagina.

Tabelle

Utenti (CodiceUtente, Username, Password, Cognome, Nome, CF, Data Nascita)
Corsi (CodiceCorso, Descrizione, Prezzo, Difficoltà, Prerequisiti)
Pagine (CodicePagina, URL, Codice Corso)
Visite (ID, IPProvenienza, Browser, SistemaOperativo, DataVisita, OraInizio, OraFine,
 CodicePagina , CodiceUtente)

 

Descrizione dati

TABELLA

ATTRIBUTI

CHIAVE

TIPO

DIMENSIONE

OBBLIG

INDICE

Utenti

CodiceUtente Username Password Cognome
Nome
CF
DataNascita

PK

Carattere
Carattere Carattere Carattere Carattere Carattere
Data/Ora

10
15
15
30
30
16
8

Si
Si
Si

Si

Corsi

CodiceCorso Descrizione Prezzo
Difficoltà Prerequisiti

PK

Carattere Carattere
Numerico
Carattere Carattere

10
30
Reale
10
50

Si
Si

Si

Pagine

CodicePagina URL
 Codice Corso

PK

FK

Carattere Carattere Carattere

10
30
10

Si

Si

 

Visite

Id
IpProvenienza Browser
SistemaOperativo
DataVisita OraInizio
OraFine
Codice Pagina
CodiceUtente

PK

 

 

 

FK
FK

Numerico
Carattere Carattere Carattere
Data/Ora
Data/Ora
Data/Ora
Carattere Carattere

AutoIncrem
15
30
30
8
8
8
10
10

Si

Si