REALIZZAZIONE DEL PROGETTO CINEMA ON-LINE CineWeb

18
1 REALIZZAZIONE DEL PROGETTO CINEMA ON-LINE “CineWeb” Ing. Nelson Firmani Dipartimento di Ingegneria Elettrica Università di L’Aquila, AQ 67040, Italy Premessa Questa relazione accompagna il progetto “CineWeb” . Contiene una breve presentazione del sito, seguita dalla completa documentazione sulla progettazione del modello relazionale che sta alla sua base.

Transcript of REALIZZAZIONE DEL PROGETTO CINEMA ON-LINE CineWeb

Page 1: REALIZZAZIONE DEL PROGETTO CINEMA ON-LINE CineWeb

1

REALIZZAZIONE DEL

PROGETTO

CINEMA ON-LINE “CineWeb”

Ing. Nelson Firmani

Dipartimento di Ingegneria Elettrica Università di L’Aquila, AQ 67040, Italy

Premessa

Questa relazione accompagna il progetto “CineWeb” . Contiene una breve presentazione del sito, seguita

dalla completa documentazione sulla progettazione del modello relazionale che sta alla sua base.

Page 2: REALIZZAZIONE DEL PROGETTO CINEMA ON-LINE CineWeb

2

2 Presentazione CineWeb è un sistema per la gestione e la consultazione della programmazione delle sale cinematografiche via web. Cineweb come portale per l'informazione: Il sito dovrà fornire una presentazione generale della sala cinematografica nonché dei servizi offerti. Inoltre con l’obiettivo di assistere lo spettatore, verranno forniti informazioni relative ai film in programmazione in ogni singola sala, gli orari, il costo del biglietto e la disponibilità di tariffe agevolate in giorni particolari della settimana, oppure per categorie specifiche (studenti, militari, ecc). Per quanto riguarda le pellicole in programmazione, è possibile richiamare la scheda film con la copertina, l'anno e la nazione di provenienza, il genere, il regista, la casa di produzione, la trama e eventuali giudizi critici. Inoltre per ogni interprete è disponibile la scheda anagrafica e il personaggio interpretato. Possibilità di ricerche in archivio per genere film (ad esempio, tutti i film drammatici in programmazione) per interpreti (ad esempio, tutti i film in programmazione in cui recita Monica Bellucci) per regista e diversamente combinate fra loro.

Gli utenti possono registrarsi per ricevere la programmazione dei film per posta elettronica o sul telefono cellulare tramite SMS secondo diversi criteri (ad esempio, invio messaggio solo in caso di prime visioni, o invio messaggio solo per il genere horror, ecc.) Un apposita area permette agli iscritti di lasciare commenti, recensioni ecc. Questo creerà una piccola virtual comunity di critici cinematografici.

Page 3: REALIZZAZIONE DEL PROGETTO CINEMA ON-LINE CineWeb

3

Cineweb come sistema di gestione del back-office: Passando alla parte amministrativa, il sito prevede la figura dell’amministratore, questo dopo l’autenticazione entra in un completo menu che permette di gestire ogni aspetto della base di dati.

� Gestione catalogo film con eventuale

anagrafica interpreti. Grazie ad un'interfaccia intuitiva, tutte le operazioni di inserimento, aggiornamento, cancellazioni dei dati contenuti nel database sono facili e veloci da effettuare.

� Gestione programmazione spettacoli. L'applicazione guida interattivamente il gestore nella compilazione del modulo di programmazione film.

� Gestione della mailinglist degli iscritti L'applicativo consente di ricercare i dati e le caratteristiche principali degli utenti iscritti al fine di personalizzare la propria offerta cinematografica nonchè l'invio di messaggi di sponsor. Possibilità dell’amministratore di statistiche sul film più apprezzato dagli utenti

Soluzione tecnologiche adottate La soluzione adottata per conseguire gli obiettivi sopra descritti si basa sull’utilizzo di pagine web dinamiche, generate a partire dalle informazioni contenute in una base dati, e pagine web statiche per quanto concerne le informazioni relative a: presentazione sala, servizi offerti, orari apertura chiusura, il costo del biglietto, la disponibilità di tariffe agevolate in giorni particolari della settimana, oppure per categorie specifiche (studenti, militari, ecc) e l’eventuale pubblicazione della carta dello spettatore. L’architettura studiata presenta come elementi caratterizzanti l’uso dei linguaggi di markup HTML, CSS e linguaggio di scripting PHP unitamente a DBMS relazionale.

Page 4: REALIZZAZIONE DEL PROGETTO CINEMA ON-LINE CineWeb

4

3 Progettazione 3.1 Analisi dei requisiti 3.1.1 Requisiti informali

CineWeb

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

Si vuole realizzare un sistema informativo per la gestione e la consultazione della programmazione delle

sale cinematografiche via web

L’applicazione deve gestire il palinsesto relativo ai film in programmazione, interessa conoscere la data,

gli orari, in quale sala, l’eventuale prima visione e il titolo del film che verrà proiettato.

Per ogni film in programmazione deve essere disponibile il titolo del film, l’eventuale grafica (copertina

del Film), l’anno e la nazione di provenienza, il genere, il regista, la casa di produzione, l’eventuale

trama, l’eventuale link e gli interpreti principali; per ogni interprete deve essere disponibile l’anagrafica,

il nome d’arte, eventuali link e il personaggio interpretato nel film.

L’applicazione prevede tre tipi di figure: utente generico, utente registrato, gestore.

L’utente generico accede al sistema senza effettuare l’operazione di login può consultare il palinsesto e

può registrarsi via web.

L’utente registrato, dopo l’operazione di login attraverso l’uso di una username e di una password., può

accedere ad aree riservate, lasciare commenti e votazioni sui film può inoltre decidere se ricevere la

programmazione film attraverso e-mail o attraverso SMS secondo diversi criteri di invio, può anche

decidere di cancellarsi. Per ogni utente iscritto si dovrà conoscere il cognome, il nome, il sesso, la data e

la città di residenza, l’indirizzo e-mail e l’eventuale numero telefonico nonché i generi di film preferiti.

Il gestore, dopo il login, deve essere in grado di modificare aggiungere ed eliminare le informazioni nel

catalogo film, anagrafica interpreti e nel palinsesto.

L’applicativo deve consentire al gestore di ricercare le informazioni relative agli utenti registrati ed

eventualmente eliminarle. Inoltre il gestore può fare statistiche sul film più apprezzato, sul genere.

Del gestore si dovrà conoscere il cognome e il nome; l’identificazione e l’autentica avverranno attraverso

l’uso di una username e di una password.

Per tutti gli utenti devono essere possibili ricerche per genere Film (ad esempio, tutti i film drammatici in

programmazione) per interpreti (ad esempio, tutti i film in programmazione in cui recita Monica

Bellucci) per regista ecc.

Tabella 1

Page 5: REALIZZAZIONE DEL PROGETTO CINEMA ON-LINE CineWeb

5

3.1.2 Glossario dei termini Per una migliore comprensione e precisione dei termini che sono stati utilizzati nella descrizione dei requisiti realizzata precedentemente, è stato ritenuto utile definire il seguente glossario dei termini: Termine Descrizione Sinonimi Collegamenti

Palinsesto Passaggio di Film Film in

programmazione

Film

Film Film presente in archivio Catalogo Film Palinsesto, Interpreti, Utenti

Interprete Interprete del Film Anagrafica

interpreti

Film

Utente registrato Una persona che si è registrata Utente iscritto Film

Utente generico Si tratta di una persona che non si è

ancora registrata o autenticata

Utente

Gestore Si tratta di una persona che dopo

l’autenticazione potrà gestire tutti gli

aspetti della base di dati;

Amministratore

Tabella 2 3.1.3 Decomposizione del testo dei requisiti La descrizione della Tabella 1 può essere modificata in modo da realizzare in pieno i seguenti obiettivi:

� Evitare di usare termini troppo specifici o troppo generici, che rendono poco chiaro un concetto; � Mantenere sempre lo stesso stile sintattico: per esempio, “per/a <dato> va indicato/associato

<insieme di proprietà>” oppure “per/a <dato> può essere indicato/associato <insieme di proprietà>”; � Evitare frasi contorte; � Esplicitare il riferimento tra termini.

Inoltre, la suddetta descrizione deve tener conto dei risultati della Tabella 2, con particolare riferimento all’eliminazione dei sinonimi. Infine, è molto utile in questa fase decomporre il testo in gruppi di frasi omogenee, relative cioè agli stessi concetti. Il risultato di questa fase di modifica e ristrutturazione è il seguente:

Page 6: REALIZZAZIONE DEL PROGETTO CINEMA ON-LINE CineWeb

6

Frasi di carattere generale

Si vuole realizzare un sistema informativo per la gestione e la consultazione della programmazione delle sale

cinematografiche via web

Frasi relative al palinsesto

L’applicazione deve gestire il palinsesto, per ogni film in programmazione va indicato la data, gli orari, in

quale sala, l’eventuale prima visione e il titolo del film che verrà proiettato.

Frasi relative ai Film

Per ogni film va indicato il titolo del film, l’eventuale grafica (copertina del Film), l’anno e la nazione di

provenienza, il genere, il regista, la casa di produzione, l’eventuale trama, l’eventuale link e gli interpreti

principali

Frasi relative agli interpreti

Per ogni interprete va indicato il nome, il cognome, la data di nascita, il sesso, la nazionalità, il nome d’arte,

eventuali link e il personaggio interpretato nel film.

Frasi relative agli utenti registrati

L’utente registrato, dopo l’operazione di login attraverso l’uso di una username e di una password., può

accedere ad aree riservate, lasciare commenti e votazioni sui film può inoltre decidere se ricevere la

programmazione film attraverso e-mail o attraverso SMS secondo diversi criteri di invio, può anche

decidere di cancellarsi. Per ogni utente registrato va indicato il cognome, il nome, il sesso, la data e la città di

residenza, l’indirizzo e-mail e l’eventuale numero telefonico nonché i generi di film preferiti.

Frasi relative ai gestori

Per ogni gestore va indicato il cognome e il nome; l’identificazione e l’autentica avverranno attraverso l’uso

di una username e di una password.

Page 7: REALIZZAZIONE DEL PROGETTO CINEMA ON-LINE CineWeb

7

3.1.4 Specifiche sulle operazioni Operazione Descrizione

1 Registrazione utente L’ utente inserisce autonomamente i suoi dati, in modo da poter accedere alle aree riservate e ricevere la programmazione film

2 Autenticazione utente L’ utente già registrato inserisce il proprio username e password in modo da autenticare la sua identità e poter procedere con le operazioni solo a lui consentite.

3 Autenticazione gestore Un gestore autentica la propria identità ed entra nella sezione di propria competenza.

4 Aggiornamento film Il gestore può inserire, modificare, cancellare i dati nella tabella film

5 Aggiornamento interprete Il gestore può inserire, modificare, cancellare i dati nella tabella interprete

6 Vista palinsesto Permette all'utente generico di vedere i film in programmazione

7 Compilazione palinsesto Permette al gestore di inserire i film presenti nella tabella film nella tabella palinsesto con data orari e sala proiezione

8 Vista scheda film Permette all'utente generico di richiamare la scheda informazione su film

9 lasciare commento-voto l'utente registrato può lasciare un commento critico sul film e un voto

10 Invio palinsesto sul genere preferito

L'utente registrato può ricevere (attraverso e-mail e/o sms) i film in programmazione il cui genere coincide con il genere preferito dall'utente

11 Invio palinsesto sulla prima visione

L'utente registrato può ricevere (attraverso e-mail e/o sms) i film in programmazione in prima visione

3.2 Progettazione concettuale La strategia seguita nella fase di modellazione concettuale è la TOP-DOWN: Dall’analisi dei requisiti si sono rappresentate tutte le informazioni in uno schema scheletro.

Page 8: REALIZZAZIONE DEL PROGETTO CINEMA ON-LINE CineWeb

8

3.2.1 Schema Scheletro

Utente

Palinsesto

FilmVisione

Interpretazione

Composizione

InterpreteGestore

3.2.2 Passo iterativo, raffinamento In seguito sono stati effettuati dei raffinamenti successivi al fine di fornire una visione più dettagliata del progetto. Il risultato di tali operazioni è il seguente schema concettuale di tipo E-R, sul quale sono state effettuate le verifiche delle qualità seguenti:

� Correttezza: lo schema utilizza propriamente i costrutti messi a disposizione dal modello concettuale di riferimento;

� Completezza: lo schema rappresenta tutti i dati di interesse e tutte le operazioni; � Leggibilità: lo schema rappresenta i requisiti in maniera naturale e facilmente comprensibile � Minimalità: Tutte le specifiche sui dati sono rappresentate una sola volta nello schema.

Page 9: REALIZZAZIONE DEL PROGETTO CINEMA ON-LINE CineWeb

9

Visione

Interpretazione

Composizione

UtenteUserName

Password

DataNascitaSesso

CognomeNome

Residenza

FlagInvioGenerePreferito

E-mailTelefono

Interprete

SessoNome

Nazionalità

Link

Film

Palinsesto

PrimaVisioneOrariData Sala

RegiaProduttoreNazioneAnnoDurataGenereFotoTrama

Id_filmTitolo

LinkDataInsert

voto

Commenti

Personaggio

(1,1)

(1,N)

(0,N) (0,N)

(0,N)

(0,N)

Gestore

Nome CognomePasswordUserNameDataNascita NomeDarte

(1,N)

Vincoli non esprimibili nel modello E-R

1. L’interprete può avere più parti nello stesso film

2. Orari proiezione film deve essere compatibile con la durata dei film (vedi scelte progetto)

3. Possono essere proiettati più film nello stesso giorno e nella stessa sala solo in intervalli temporali

compatibili

4. I valori dell’attributo Genere dell’entità Film e l’attributo GenerePreferito dell’entità Utente devono

appartenere allo stesso insieme atomico {avventura, azione, animazione, commedia, drammatico,

fantastico, giallo, horror, musicale, sentimentale, storica, western}

Page 10: REALIZZAZIONE DEL PROGETTO CINEMA ON-LINE CineWeb

10

Scelte fatte nella fase di progettazione concettuale

Attributo Orari come stringa e non come attributo multivalore di tipo TIME.

Questa scelta è stata fatta visto l’interesse del gestore di non automatizzare la procedura degli orari

spettacolo visto la dinamicità della realtà da rappresentare dipendente da diversi fattori

3.3 Progetto logico L’attività di progettazione logica è suddivisa in due fasi:

� Ristrutturazione dello schema E/R E’ indipendente dal modello logico e consiste in una semplificazione dello schema E/R, basata su criteri di ottimizzazione dello schema.

� Progetto logico relazionale

Questa fase è riferita al modello logico relazionale e porta alla vera e propria trasformazione dello schema E/R semplificato nello schema relazionale.

Prima di procedere, è importante effettuare una valutazione del carico di lavoro previsto sul database, considerando sia la dimensione dei dati da gestire (tavola dei volumi) che le caratteristiche delle operazioni che si stima saranno eseguite. Ricordiamo che il costo di una operazione è dato dal numero di occorrenze di entità e associazioni che mediamente vanno visitate per rispondere ad una operazione sulla base di dati. Quindi per caratteristiche delle operazioni si intende:

• tipo dell’operazione (interattiva o batch); • frequenza (numero medio di esecuzioni in un certo intervallo di tempo); • dati coinvolti (entità e/o associazioni).

Tali caratteristiche possono essere descritte facendo uso di opportune tabelle:

� tavola delle operazioni

� tavola degli accessi per ciascuna delle operazioni previste.

Page 11: REALIZZAZIONE DEL PROGETTO CINEMA ON-LINE CineWeb

11

3.3.1 Tavole

Tavola dei volumi

Concetto <Nome> Tipo E/R Volume <Dim>

Utente

Visione

Film

Interprete

Interpretazione

Palinsesto

Composizione

Gestore

E

R

E

E

R

E

R

E

2000

10000

1000

1000

3000

1000

1000

5

Tavola delle operazioni

1

2

3

4

5

6

7

8

9

10

11

Operazione Tipo Frequenza

Registrazione utente

Autenticazione utente

Autenticazione gestore

Aggiornamento film

Aggiornamento interprete

Vista palinsesto

Compilazione palinsesto

Vista scheda film

lasciare commento-voto

Invio palinsesto sul genere preferito

Invio palinsesto sulla prima visione

I

I

I

I

I

I

I

I

I

B

B

50 alla settimana

50 alla settimana

1 alla settimana

1 alla settimana

1 alla settimana

1000 al giorno

1 alla settimana

1000 al giorno

200 alla settimana

300 alla settimana

100 alla settimana

5000*20=10000 Supponendo che mediamente in un anno dei 2000 utenti registrati, 500 lasciano commenti su 20 film

1000*3=3000 Considerando che per ogni film ci sono mediamente 3 interpreti principali

I dati nel palinsesto vengono mantenuti per un anno Considerando mediamente 1 film per sala. Mediamente 3 sale disponibili

Page 12: REALIZZAZIONE DEL PROGETTO CINEMA ON-LINE CineWeb

12

Tavola degli Accessi

Concetto Costrutto<E/R> Accessi TipoAccesso<L/R>

Operazione 1

Legenda: L = Lettura; S = Scrittura

Page 13: REALIZZAZIONE DEL PROGETTO CINEMA ON-LINE CineWeb

13

3.3.2 Ristrutturazione dello schema E-R E’ una fase indipendente dal modello logico scelto e si basa su criteri di ottimizzazione dello schema e di semplificazione della fase di traduzione. In particolare, in tale fase sono state effettuate:

� Eliminazione di attributi multivalore: Il modello relazionale non permette di rappresentare direttamente attributi multivalore. Si può eliminare un attributo multivalore introducendo una entità e una relazione.

� Sono stati introdotti identificatori ad hoc (Id) per non usare chiavi complesse nel collegamento delle

tabelle (chiavi composte da più attributi o basate su stringhe)

Utente

GenerePreferito

(1,N)

Utente

Genere

(1,N)

GeneriPreferiti

Genere

(1,N)

Scelte di progettazione fatte

Invece di introdurre una nuova entità e una nuova relazione si è deciso di rendere l’attributo GenerePreferito

un attributo semplice scegliendo come dominio l’insieme SET (Avventura, Azione, Animazione, Commedia,

Drammatico, Fantastico, Giallo, Horror, Musicale, Sentimentale, Storica, Western). Così ogni utente può

scegliere più generi preferiti. Il problema di questa soluzione è il realizzo delle operazioni 10 e 11 che non

saranno delle semplici query . In questo caso la soluzione più ovvia è gestire l’op10 e 11 da programma

oppure utilizzare la funzione FIND_IN_SET nella query (problema di portabilità). Si è optato per

quest’ultima soluzione. Così per risolvere l’operazione 10 è necessario la seguente query:

select Nome,Email,FlagInvio,Titolo,genere,Data,orari,sala,flagPrimaVisione from film,palinsesto,utente

where palinsesto.film=film.id_film and FlagInvio<>'n' and FIND_IN_SET(genere,generepreferito)>0

che mi fornisce:

1 gli utenti che vogliono ricevere film il cui genere coincide con il genere preferito dall’utente

2 Il relativo titolo del film con la data e gli orari di proiezione.

Page 14: REALIZZAZIONE DEL PROGETTO CINEMA ON-LINE CineWeb

14

Come risultato della fase di ristrutturazione, è stato realizzato il seguente schema E-R:

Visione

Interpretazione

Composizione

UtenteUserName

Password

DataNascitaSesso

CognomeNome

Residenza

FlagInvioGenerePreferito

E-mailTelefono

Interprete

DataNascitaSessoNomeDarte

NomeNazionalità

LinkId_interprete

Film

Palinsesto

PrimaVisioneOrariData

Id_palinsestoSala

RegiaProduttoreNazioneAnnoDurataGenereFotoTrama

Id_filmTitolo

LinkDataInsert

voto

Commenti

Personaggio

(1,1)

(1,N)

(0,N) (0,N)

(0,N)

(0,N)

Gestore

Nome CognomePasswordUserName

Id_utente

Id_gestore

3.3.3 Traduzione verso il modello relazionale La seconda parte della progettazione logica si occupa della traduzione dallo schema E-R ristrutturato ad uno schema logico equivalente del modello relazionale. In base alle regole relative alle associazioni uno a molti, molti a molti è stato prodotto il seguente schema relazionale: Utente (Id_utente, Password, UserName, Nome, Cognome, Sesso, DataNascita, Residenza, FlagInvio, GenerePreferito, E-mail, Telefono) Visione (Utente, Film, Voto, Commento) Film (Id_film, Titolo, Regia, Produttore, Nazione, Anno, Durata, Genere, Foto, Trama, Link, DataInsert)

Page 15: REALIZZAZIONE DEL PROGETTO CINEMA ON-LINE CineWeb

15

Vincolo di integrità referenziale fra: Visione.Utente e Utente.Id_utente Visione.Film e Film.Id_film Interprete (Id_interprete, Nome, NomeDarte, Sesso, DataNascita, Nazionalità, Link) Interpretazione (Interprete, Film, Personaggio) Per Interpretazioni la chiave è l’insieme di attributi {Interprete,Film,Personaggio} Si assume che un Interprete possa avere più parti in un film Per garantire l’integrità dei dati occorre definire un vincolo di integrità referenziale Interpretazione.Interprete e Interprete.Id_interprete Interpretazione.Film e Film.Id_film (Possono comunque esistere film senza interpreti e interpreti senza film) Palinsesto (Id_palinsesto, Film, Data, Orari, Sala, PrimaVisione) Vincolo di integrità referenziale fra: Palinsesto.Film e Film.Id_film La chiave per la relazione Composizione è solo l’identificatore dell’entità Palinsesto perché la cardinalità verso la relazione è (1,1). La relazione Palinsesto e Composizione hanno un’unica chiave e quindi possono essere fuse insieme.

VisioneUtente Film(0,N) (0,N)

InterpretazioneInterprete Film(0,N) (0,N)

ComposizioneFilm Palinsesto(1,N) (1,1)

Page 16: REALIZZAZIONE DEL PROGETTO CINEMA ON-LINE CineWeb

16

LinkNazionalitàDataNascitaSessoNomeDarteNomeId_interprete LinkNazionalitàDataNascitaSessoNomeDarteNomeId_interprete

PersonaggioFilmInterprete PersonaggioFilmInterprete

DataInsertLinkTramaFotoGenereDurataAnnoNazioneProduttoreRegiaTitoloId_film DataInsertLinkTramaFotoGenereDurataAnnoNazioneProduttoreRegiaTitoloId_film

TelefonoE-mailGenerePreferitoFlagInvioResidenzaDataNascitaSessoCognomeNomeUserNamePasswordId_utente TelefonoE-mailGenerePreferitoFlagInvioResidenzaDataNascitaSessoCognomeNomeUserNamePasswordId_utente

CommentoVotoFilmUtente CommentoVotoFilmUtente PrimaVisioneSalaOrariDataFilmId_palinsesto PrimaVisioneSalaOrariDataFilmId_palinsesto

CognomeNomePasswordUserNameId_gestore CognomeNomePasswordUserNameId_gestore

Gestore

Interprete

Interpretazione

Palinsesto

Film

Visione

Utente

# MySQL-Front Dump 1.22 # # Host: localhost Database: dbcinema #-------------------------------------------------------- # Server version 3.22.34-shareware-debug # # Table structure for table 'film' # CREATE TABLE film ( Id_film mediumint(8) unsigned NOT NULL DEFAULT '0' auto_increment, Titolo varchar(40) NOT NULL DEFAULT '' , Regia varchar(40) , Produttore varchar(40) , Nazione varchar(20) , Anno year(4) , Durata smallint(5) unsigned , Genere enum ('Avventura', 'Azione', 'Animazione', 'Commedia', 'Drammatico', 'Fantastico', 'Giallo', 'Horror', 'Musicale', 'Sentimentale', 'Storica', 'Western') , Trama text , Link varchar(60) , DataInsert date , Foto varchar(60) , PRIMARY KEY (Id_film) );

Page 17: REALIZZAZIONE DEL PROGETTO CINEMA ON-LINE CineWeb

17

# # Table structure for table 'interpretato' # CREATE TABLE interpretato ( Interprete mediumint(8) unsigned NOT NULL DEFAULT '0' , Film mediumint(8) unsigned NOT NULL DEFAULT '0' , Personaggio varchar(60), UNIQUE(Interprete,Film) ); # # Table structure for table 'interprete' # CREATE TABLE interprete ( Id_interprete mediumint(8) unsigned NOT NULL DEFAULT '0' auto_increment, Nome varchar(40) , NomeDarte varchar(40) , Nazione varchar(40) , DataNascita date , Sesso set('f','m') NOT NULL DEFAULT '' , Link varchar(60) , PRIMARY KEY (Id_interprete) ); # # Table structure for table 'palinsesto' # CREATE TABLE palinsesto ( Id_palinsesto mediumint(8) unsigned NOT NULL DEFAULT '0' auto_increment, Film mediumint(8) unsigned NOT NULL DEFAULT '0' , Data date NOT NULL DEFAULT '0000-00-00' , Orari varchar(50) NOT NULL DEFAULT '' , Sala tinyint(3) unsigned NOT NULL DEFAULT '1' , FlagPrimaVisione set('1','0') , PRIMARY KEY (Id_palinsesto), UNIQUE (Sala,Data,Orari) ); # # Table structure for table 'utente' # CREATE TABLE utente ( Id_utente mediumint(8) unsigned NOT NULL DEFAULT '0' auto_increment, UserName varchar(20) NOT NULL DEFAULT '' , Password varchar(20) NOT NULL DEFAULT '', Nome varchar(20) , Cognome varchar(20) , DataNascita date , Citta varchar(30) ,

Page 18: REALIZZAZIONE DEL PROGETTO CINEMA ON-LINE CineWeb

18

Telefono varchar(12) , Sesso set('f','m') NOT NULL DEFAULT '' , Email varchar(40) , FlagInvio enum('e','t','n') NOT NULL DEFAULT 'e' , GenerePreferito set ('Avventura', 'Azione', 'Animazione', 'Commedia', 'Drammatico', 'Fantastico', 'Giallo', 'Horror', 'Musicale', 'Sentimentale', 'Storica', 'Western') , PRIMARY KEY (Id_utente), UNIQUE (UserName,Password) ); # # Table structure for table 'visione' # CREATE TABLE visione ( Utente mediumint(8) unsigned NOT NULL DEFAULT '0' , Film mediumint(8) unsigned NOT NULL DEFAULT '0' , Voto tinyint(3) unsigned , Commenti text , UNIQUE (Utente,Film) );

Author: Ing. Nelson Firmani ([email protected]) Last update: 02/03/2006