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
|