Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi A - F > Basi di dati ~ informatica triennale
 
Dubbi sul progetto
Clicca QUI per vedere il messaggio nel forum
number15
Al punto 1.2 viene detto: "ogni cinema è gestito da un gestore (che può gestire altri cinema) e contiene una o più sale cinematografiche".

I gestori delle sale sono in pratica anche i gestori cinema, cioè il gestore sala gestisce tutte le sale del cinema e quindi il cinema?

babbo
quello che ho capito io:

un gestore (che chiamo "gestore" e non "gestore di sala" o "gestore di cinema") gestisce 1 o piu' cinema.
un cinema e' un "contenitore" di sale.

quindi, ogni sala e' assosciata ad un gestore ma non direttamente, solo attraverso il cinema.

nelle specifiche c'e' scritto una volta "gestore" e un'altra volta "gestore di sala" sta a te (analista/programmatore/DBA/...) raggruppare tutti questi simonimi.

almeno hai delle specifiche.... nella vita reale spesso non e' cosi'. di solito il cliente non sa cosa vuole e continua a cambiare le idee...

number15
Quindi quante specializzazioni hai? 3? 4? 3 di cui una a sua volta specializzata?

babbo
non capisco di quale specializzazione stia parlando.

di utente? di sala?

puoi spiegarti meglio?

number15
Di utente.

babbo
non riesco a raggionare in modo astratto e parlarti di specializzazioni e generalizzazioni. cerco di spiegarmi e di non confondere le idee a nessuno.

ho un'unica entita' "utente" e un'entita' "gruppo" che sono in una certa relazione (1 a molti o molti a molti non ho ancora deciso)

i gruppi sono 4 (per ora): admin, gestore, valid_user, guest.

gli utenti sono associati ad un gruppo (o piu' gruppi)
ogni gruppo ha un'utenza DB e nel caso in cui un utente e' di tipo gestore, l'utente stesso avra' l'utenza nel DB

quindi, credo che la risposta sia 4 specializzazioni

number15
Ma in pratica ci sono i gestori che gestiscono uno o più cinema (e non le sale) e i gestori delle sale che gestiscono una o più sale di un determinato cinema?
Io logicamente pensavo che chi gestisce il cinema gestisce tutte le sale di quel cinema: non è così?

babbo
esattamente. gestori gestiscono uno o più cinema (e le relative sale). gestore di sala, dal mio punto di vista, non esiste

CaboM.BNA
Originally posted by babbo
esattamente. gestori gestiscono uno o più cinema (e le relative sale). gestore di sala, dal mio punto di vista, non esiste


QUOTO.
sapendo come funziona nel mondo reale, prima di leggere questo thread io non avevo nemmeno hatto caso a questa sottigliezza linguistica...

plafo
Originally posted by babbo
non riesco a raggionare in modo astratto e parlarti di specializzazioni e generalizzazioni. cerco di spiegarmi e di non confondere le idee a nessuno.

ho un'unica entita' "utente" e un'entita' "gruppo" che sono in una certa relazione (1 a molti o molti a molti non ho ancora deciso)

i gruppi sono 4 (per ora): admin, gestore, valid_user, guest.

gli utenti sono associati ad un gruppo (o piu' gruppi)
ogni gruppo ha un'utenza DB e nel caso in cui un utente e' di tipo gestore, l'utente stesso avra' l'utenza nel DB

quindi, credo che la risposta sia 4 specializzazioni





concordo con questa visione, anch'io l'ho interpretata cosi....

number15
Scusate, ma gli utenti non registrati non vanno gestiti da web (php)?
A livello di db, l'ipotetica tabella guest sarebbe sempre vuota, visto che se un utente non è registrato non si hanno dati su di lui.
Sbaglio io?

babbo
questo è vero, e nel mondo reale farai tutti i controlli di accesso al livello appicazione. però, questo è un proggetto di corso di DB...
quindi, tengo conto di una tipologia di utenti anche se non so niente di loro per poter gestire i privilegi.

marbliss
Ciao ragazzi, avrei un dubbio sul progetto.
Quando chiede questa vista:

Occupazione delle sale. La vista restituisce la percentuale media di occupazione delle sale cinematografiche per ogni anno e per ogni sala.

Come si fa a calcolare l'occupazione di una sala? Presumo che dobbiamo calcolare quanti posti sono stati prenotati rispetto al totale per ogni spettacolo, ma non ne sono tanto sicura. Qualcuno mi può illuminare?

Grazie
Marbliss

CaboM.BNA
si, confermo..

occupazione_di_una_sala = posti_prenotati / capienza_della_sala

johnnyd
Quindi per quanto riguarda gli utenti, bisogna distinguere gli utenti dell'applicazione web (che effettueranno le prenotazioni) e gli utenti della base dati (amministratore di sistema e gestore di cinema)
giusto?
ma nel diagramma ER tutto questo va rappresentato?

CaboM.BNA
credo di si...

johnnyd
scusami.. ma come?
come faccio a mettere nella entità cinema un riferimento ad un utente del database ad esempio luca@localhost ?

morbido007
grazie cmq...

CaboM.BNA
@jonny...
ho frainteso la tua domanda...
per "utenti" intendevo le ENTITA (ustente_registrato, utente_gestore ed _utente amministratore). questi sono rappresentati nell'ER poiché sono in relazione con altre entià.

pre quanto riguarda gli UNTENTI veri e prorpi (quelli de "CREATE ROLE...") non credo che vengano rappresentati nell'ER...

DarkSchneider
siete sicuri del discorso cinema - sale cinematografiche?

dando una prima lettura al progetto mi pare di intendere che
il concetto di sala cinematografica sia sinonimo di cinema...

plafo
Originally posted by DarkSchneider
siete sicuri del discorso cinema - sale cinematografiche?

dando una prima lettura al progetto mi pare di intendere che
il concetto di sala cinematografica sia sinonimo di cinema...





io l'ho interpretata nel seguente modo:
- un gestore può gestire N cinema
- un cinema può contenere N sale cinematografiche

number15
Altra domanda: ma voi avete creato le tabelle per ogni entità multivalore di film o avete messo un valore singolo?
Cioè procedendo all'inserimento dei film, vedo che oltre agli attori, sono multivalore anche i registi, i distributori, i produttori.
Voi avete creato tabelle anche per questi o mettete solo un regista, un produttore e un distributore?

DarkSchneider
in una situazione il più reale possibile, sarebbero da prevedere, a mio avviso, anche delle entità a parte, per il catalogo dei registi, degli attori, dei distributori, ecc..

ma sta tutto a quanto si vuole scendere nel dettaglio delle cose credo..

number15
Tu stai facendo il progetto?
Che hai scelto?
Perchè nel nostro caso sarebbero solo da creare in quanto attributi multivalore, perché poi non ci sono altri attributi da aggiungerci all'entità... sarebbero tutte (id, descrizione).

DarkSchneider
sì.. infatti

pensavo anch'io identificativo, descrizione

e poi legare l'id come chiave esterna all'id specificato nelle tabella dei film

number15
Te opti per questa scelta o "te ne freghi" e inserisci solo il distributore, produttore, regista principale?

DarkSchneider
io penso di fare tutta la gestione con entità separate

number15
Mi sa che lo "specifico" anch'io.
Ultima cosa per quanto riguarda questo argomento: distributore si intende distributore italiano? Se sì, credo che fortunatamente questo sia unico.

xSharKMaNx
OT:
Come linguaggio potete utilizzare sia php che asp ?

plafo
i gestori possono inserire, cancellare e modificare le informazioni relative alle sale che hanno in gestione;possono definire il calendario degli spettacoli che si svolgono nelle proprie sale cinematografiche e inserire nuovi film che non siano già presenti nella base di dati.....

tutte queste funzionalità come possono essere fatte dai gestori? sempre tramite l'applicazione web oppure in altro modo????
come l'avete pensata?




grazie a chi mi risponderà....

CaboM.BNA
Originally posted by DarkSchneider
sì.. infatti

pensavo anch'io identificativo, descrizione

e poi legare l'id come chiave esterna all'id specificato nelle tabella dei film


beh solitamente il distributore ed il regista sono uno solo.
è stotto la voce "autore" che si trovano piu persone...

personalmente non mi sono posto questo problema... ho messo un bel "text" all'attributo e risolto la questione...

@ plafo: io ho fatto tutto a livello del DBMS... poi implementerò i rispettivi "bottoni" in php&html...

number15
Io alla fine ho creato le entità artista e produzione (con le rispettive entità relazioni) e in artista ci stanno sia i registi sia gli attori (in quanto la maggior parte degli attori sono anche registi)

DarkSchneider
Originally posted by CaboM.BNA
beh solitamente il distributore ed il regista sono uno solo.
è stotto la voce "autore" che si trovano piu persone...

personalmente non mi sono posto questo problema... ho messo un bel "text" all'attributo e risolto la questione...

@ plafo: io ho fatto tutto a livello del DBMS... poi implementerò i rispettivi "bottoni" in php&html...


e beh, ma ci sono più film, e quindi potenzialmente più registi a mio avviso ...

CaboM.BNA
mi sorge un dilemma...
secondo voi...
CHI ha la possibilta di modificare il conto associato ad ogni utente? il gestore O solo l'amministratore?

number15
Non ho ben capito la domanda... in che senso modificare il conto?
Comunque tra i due sicuramente l'amministratore, il gestore gestisce solo quello che riguarda sala/cinema, non ha info sugli utenti.

Per quello che hai scritto sopra, funzionare credo funzioni, ma non credo sia molto ottimizzato utilizzare un campo text per un attributo multivalore. Gli attributi multivalore a quanto dicono i testi vanno trasformati in entità, se poi in campo professionale si utilizza un tinytext per risolvere questo non lo so.
Poi le specifiche rileggendole parlano di un autore (che io manco ho messo ora che vedo, perchè sui siti italiani non è citato, solo imdb li cita... voi che avete fatto?), un regista, un genere ecc. Però ad esempio io genere lo considero multivalore, solitamente si hanno almeno due generi, regista di solito è singolo, ma la volta che è doppio vanno scritti entrambi a mio avviso.

Edit: L'autore sarebbe sceneggiatura?

CaboM.BNA
mmh... per il conto intendo "colui che ha la possibilita di ricaricare il conto dell'utente".
di default quando viene inserito (dall'utente che si desidera registrare) il conto è settato a 0. Vi è poi qualcuno che quando riceve i soldi dall'utente iscritto provvede a ricaricare il conto dell'untente con la rispettiva somma.
Se qualcuno non provvede a ricaricare il contno, nessun utente che si iscrive può effettuare la prenotazione...

per gli attributi multivalore mi avete fatto sorgere qualche dubbio.
ovviamente concordo con quello che hai scritto:
il regista (di solito) è uno [ma la vola che ve ne è + di uno andrebbero segnalati tutti quanti] , il genre più di uno, etc....
"a naso" però ho optato per il tipo "text"..

sincremente non so.. ci devo pensare su...

P.S. suppondo di si: autore= autore della sceneggiatura

number15
Sul pdf c'è scritto: "...ad ogni utente è associato un conto che può essere periodicamente ricaricato dll'utente..."
Io credo ci vada un qualcosa per ricaricarsi il conto (paypal o simili), in quanto solo l'utente può ricaricarsi il conto.
Penso vada messa la "form" che si usa per pagare o per ricaricarsi i conti su internet (es: sito scommesse).

Poi l'admin avrà sempre la possibilità di toccare il conto, sia nel nostro caso per mettere dei soldi finti per le prove, sia per eventuali errori, promozioni ecc. (sempre nell'esempio scommesse, magari ti capita che per problemi tecnici avuti ti vengano messi sul conto tot €) nella realtà.

DarkSchneider
io penso alla gestione del conto come ad un qualcosa di esterno alla procedura, mi ero immaginato fosse sufficiente creare un entità con numero conto e rispettiva giacenza, ma in effetti la domanda è lecita :?

un'altra cosa; voi come trattate l'attributo indirizzo che è composto?

number15
Indirizzo normale, tutto insieme (Via, Nome, n°civico). La palla mi è venuta fuori per città, regione, cap.
Regione non fa rispettare la 3 forma normale, e idem per cap (che io ho messo unico, cioè Milano 20100, Roma 00100 ecc) e quindi ho creato una tabella Città con id, nome_città, regione, cap.

babbo
per me c'è un regista, un autore e una distro.
genere e attore possono essere più di uno.
visto che è un esame di DB e ci chiede anche NF3, ho creato entità diversa per ogni attributo e delle FK nella entità 'film'. per 'genere' e 'attore' ho creato anche tabelle associative per realizzare una relationship N:N.
volendo, posso considerare tutti multivalori ma mi sembra un po' ecessivo.
gestirli con un tipo text, non è molto forma normale e non è molto efficiente per la ricerca (anomalie di aggirnamento e cancellazione, minuscolo/maiuscolo, errori di battitura).

number15
Guardando in giro i registi possono essere multipli, idem per gli autori, distribuzioni in Italia singolo, multipli anche le produzioni.
Es: http://www.imdb.com/title/tt0451079/

CaboM.BNA
Originally posted by babbo
...
gestirli con un tipo text, non è molto forma normale e non è molto efficiente per la ricerca (anomalie di aggirnamento e cancellazione, minuscolo/maiuscolo, errori di battitura).


indubbiamente vero... ma essendo il nostro un DB per la gestione di multisale, ho supposto che a nessuno interessasero le ricerche/modifiche per regista/attore/trama...
è anche per qst motivo che ho (AVEVO??) scelto il tipo TEXT...

mi sembrano cose un po "fuori" dal nostro progetto... poi magari mi sbaglio... :?

number15
Questo lo pensavo anch'io, perchè leggendo le specifiche, le viste e l'applicazione che va fatta, non si fa mai riferimento alla pagina specifica di un film, quindi tutte queste info che noi mettiamo sulla trama, genere, produzione ecc. non si vedranno mai, però una volta che te li mettono come attributi, per me, essendo multivalore, vanno comunque trasformati come da "manuale".

CaboM.BNA
adex che rileggo il testo...
Ogni film ` caratterizzato da un titolo, un anno di produzione, un produttore, un distributore, un regista, un autore, una trama, e un genere.


magari quegli "un" vano intesi in senso letterale... ossia UN = 1

che obiettate???

CaboM.BNA
Originally posted by number15
Questo lo pensavo anch'io, perchè leggendo le specifiche, le viste e l'applicazione che va fatta, non si fa mai riferimento alla pagina specifica di un film, quindi tutte queste info che noi mettiamo sulla trama, genere, produzione ecc. non si vedranno mai, però una volta che te li mettono come attributi, per me, essendo multivalore, vanno comunque trasformati come da "manuale".


hai ragione... io semplicemente non mi sono posto questo problema.. :oops:

number15
Originally posted by CaboM.BNA
adex che rileggo il testo...


magari quegli "un" vano intesi in senso letterale... ossia UN = 1

che obiettate???


L'avevo scritto anch'io sopra, ma quando i registi son due, i produttori 3 che si fa? Si sceglie quello col nome più bello?

Secondo me per farlo "meglio" vanno messi, se non ci si vuol "sbattere troppo" si possono mettere singoli, e nel caso di appunto del prof, obiettare su quella frase (sulla quale concordo, cioè dale specifiche si deduce quello, ma tanti buchi ci sono in queste specifiche).

CaboM.BNA
non so... diventano un po' tantini...

il distributore credo sia un solo (specifico per ogni nazione)..

autore, regista, produttore, genere invece posso assumere + di un valore...

cmq cito una frase detta a lezione dal prof:
"QUANDO LE SPECIFICHE NON SONO ABBASTANZA PRECISE, SCEGLIETE QUELLO CHE PER VOI RISULTA ESSERE PIU CONVENIENTE"... ;)

plafo
Originally posted by CaboM.BNA
non so... diventano un po' tantini...

il distributore credo sia un solo (specifico per ogni nazione)..

autore, regista, produttore, genere invece posso assumere + di un valore...

cmq cito una frase detta a lezione dal prof:
"QUANDO LE SPECIFICHE NON SONO ABBASTANZA PRECISE, SCEGLIETE QUELLO CHE PER VOI RISULTA ESSERE PIU CONVENIENTE"... ;)





credo che considerare gli attributi autore,regista,produttore,genere multivalore sia un pò eccessivo.
Nelle specifiche indica che per ogni film bisogna mettere a disposizione una scheda tecnica con informazioni sugli attori; questo mi fa pensare che si debba ritenere multi valore solo l'attributo attori. Poi come è stato già detto ognuno interpreta le specifiche come meglio crede e sicuramente non è sbagliato considerarli multivalore, l'importante è motivare le proprie scelte in fase di discussione!

DarkSchneider
scusate un altro dubbio,

ma il fatto che si voglia rappresentare tipo che so gli attori come entità seperata, è una cosa che bisogna evidenziare subito nel modello concettuale, oppure a questo livello si specifica solo che è un attributo di film, e poi lo si trasforma in entità nel modello relazionale ? :?

spero di essere stato chiaro :D

number15
Attore va già specificato perchè ha dei suoi attributi (nel pdf dice informazioni sugli attori principali, quindi nome, cognome ecc).

DarkSchneider
Originally posted by number15
Attore va già specificato perchè ha dei suoi attributi (nel pdf dice informazioni sugli attori principali, quindi nome, cognome ecc).


ah ok! questo mi era sfuggito..

però in linea più generale, in un caso in cui ho un attributo che per motivi di convenienza devo trasformare in entità lo indico subito nel diagramma concettuale, o solo in quello logico relazionale?

number15
Solo nel logico. Se non ha attributi associati non ce n'è bisogno di rappresentarlo come entità nel diagramma er.

DarkSchneider
ah, grazie

johnnyd
scusate la curiosità... ma come si fa a fare in modo che un utente del database possa modificare solo alcune righe di una tabella? ad esempio una sala (riga della eventuale tabella "sale"?)

DarkSchneider
crei una vista basata su una select della tabella sale, e dai all'utente le grant di update solo sulla vista creata, e non sulla tabella stessa...

johnnyd
fin qui tutto ok... :)
ma ho problemi con la grant.. io ho dato i privilegi sulla vista e tutto ok. poi per poter funzionare vuole il privilegio globale "SELECT" è normale?
sto usando phpmyadmi con mysql...

DarkSchneider
la vista è una select della tabella, probabilmente ti chiede il privilegio select perchè l'utente per accedere alla vista, deve effettivamente fare una select, sulla base del sorgente sql della vista in questione, e tra l'altro non sono neppure sicuro che su una vista normale ti sia permesso fare l'update.. hai provato?




tuttavia potresti provare con un altro tipo di vista, la materialized view, o vista materializzata, che non è una select, ma una vera e propria tabella a parte creata sulla base di una select della tabella di partenza, su questa dovresti fare tranquillamente l'update... e forse in questo caso non ti chiede il privilegio di select, perchè non si tratta di una vista normale sulla tabella, ma di una tabella a parte...

number15
La procedura programmazione prende input da tastiera giusto?
Si passa un titolo, una sala e un insieme di date e le inserisce nella tabella "spettacolo"?

Edit: sono in alto mare con questa procedura... qualche dritta?
La mia tabella spettacolo è id_spettacolo, id_film, id_sala, data_orario.
Non posso inserire direttamente il titolo, ma il titolo andrebbe inserito nella tabella film e poi ricavarne l'id, ma nella tabella film non mi basta il titolo, ci sono altre informazioni da metterci.
:wall::wall::wall:

marbliss
Ciao, io ho pensato di fare così: se il film è già presente nel db, allora inserisco la sua proiezione con i dati relativi. Se no, dico al gestore di inserire prima il film e poi la sua proiezione.

Marbliss

number15
Non mi convince molto sta procedura:
se il film non è già nella db, non si può inserire passando solo il titolo, quindi il film dev'essere per forza già presente.
Il questo caso, se ho due film con lo stesso titolo?

CaboM.BNA
non capisco bene il tuo problema...
le specifiche dicono:
... riceve in input un film, una sala...


da nessuna parte di parla di titolo (ovviemente possono esservi 2 o piu film con lo stesso titolo)... puoi tranquillamente dare "in pasto" alla procedura solo l'id...

marbliss
Stavo provando a fare le viste che vengono richieste nel progetto e mi è venuto questo dubbio:
ma le informazioni ottenute da queste viste le possono vedere tutti? Cioè anche gli utenti non registrati? Perché non lo specifica e non saprei dove metterle.

Poi un'altra cosa, quando dice che un utente che vuole fare una prenotazione deve poter vedere i posti liberi e la loro locazione, come faccio? Ho pensato di creare una tabella PRENOTAZIONE dove vado ad aggiungere le prenotazioni fatte man mano che un utente lo richiede. Si può fare così? E da qui andare a prendere quei posti ancora non occupati? Ma mi sembra anche un po' un casino se per esempio una sala contiene 40 posti e io li devo visualizzare quasi tutti!!!

Boh, sono un po' confusa su questa parte delle prenotazioni. Qualche suggerimento? Sarebbe utilissimo :-D.

Grazie per tutte le vostre risposte, le apprezzo moltissimo

Ciao, Marbliss

DarkSchneider
io farei così, o meglio ho intenzione di fare così..

memorizzo il numero di posto nel record di prenotazione per l'utente.

e a questo punto faccio una vista che mi seleziona i posti della sala, meno quelli per cui esiste un record in prenotazioni che contiene quei numeri di posto..

e mi restano i posti liberi della sala


un'altra domanda:

mi sorge un dubbio atroce... ma la sessione di consegna ultima per questo progetto non è aprile vero?

c'è anche settembre.....

mi sto facendo un po' i conti e fra lavoro e altro avevo preso sottogamba l'impegno.. non credo di farcela per questo mese :(

marbliss
sì sì c'è una anche a settembre, ma ci sono solo queste 2 quest'anno, quindi ce la devi fare per settembre, o aspettare il prossimo anno accademico :sad:

DarkSchneider
non sono molto a mio agio con la formalizzazione di ciò che ho in mente tramite documentazione, non avendo seguito il corso..

volevo chiedervi se potevate farmi un esempio anche con due entità in croce di schema concettuale, con le cose principali che ci possono andar dentro..

e di schema relazionale..

giusto perchè ho un po' di confusione sul come documentarli, e su dove mettere cosa...

vi ringrazio anticipatamente :D

edit... un altra cosa:

vi va se ci si scambia i rispettivi schemi concettuali e/o relazionali?

non è per copiare, ma per fare un po' di brainstorming.... :D

giusto perchè n teste ragionano meglio che una.. e cose che a me paiono oscure, a qualcun'altro sono evidenti, e viceversa....

se la proposta non s'ha da fare, don't worry ...



edit 2: :D come fate ad esprimere concettualmente e con relazioni
il discorso dell'attributo multivalore... mi riferisco ad attore...

io ho creato un entita attore con codice e nome, cognome, ecc...

ma poi per agganciare questa all'entità film, credo di aver bisogno di un altra entita che faccia da aggancio tra le due:

che abbia un occorrenza per ogni accoppiata film attore:

del tipo:

film attore

(cod.) arma letale (cod.) mel gibson

(cod.) arma letale (cod.) samuel l. jackson


thanks...

number15
Prova a guardarti qualche slide, ci sono anche di altri professori... ti chiariscono molto bene.


Per quanto riguarda l'attributo multivalore attore puoi fare ad esempio:
Attore (id, nome, cognome, sesso, data_di_nascita)

poi tu avrai la tabella film con dentro quello che ti chiede e su cui si aveva già discusso qualche pagina fa.

Essendoci poi una cardinalità n a n (un attore può recitare in più film e in un film ci recitano più attori) devi creare una tabella es Recitazione dove metti le chiavi primarie di entrambe, in questo caso attore.id e film.id.

number15
Vista circolazione film: sale che hanno proiettato tutti i film usciti in quell'anno.
L'usciti in quell'anno sarebbe l'anno di produzione del film o l'anno in cui il film è uscito per la prima volta in un cinema italiano (quindi da ricavare dalla data della prima proiezione che abbiamo)?
Non mi convince nessuna delle due però.

Edit: anche sale non mi sembra abbia molto senso. Non era meglio cinema?
Non mi intendo molto di cinema visto che non ci vado mai, ma credo che non esista alcuna sala che trasmetta tutti i film usciti in un anno, in quanto un film nello stesso cinema viene trasmesso sempre dalla stessa sala.
Al contrario un cinema con tante sale potrebbe trasmettere tutti i film

marbliss
Ciao, io l'ho intesa così questa vista:
se per es. nel 2007 (anno di produzione) sono usciti 5 film, devi trovare quei cinema (qui sono d'accordo con te che ha più senso cinema che sala) che hanno proiettato TUTTI questi film, a prescindere da quando li hanno proiettati. Quindi devi tenere in considerazione l'anno di produzione del film, e non l'anno della proiezione.

DarkSchneider
scusa number15, una domanda..

ma perchè prima dicevi che la regione all'interno dell'attributo indirizzo non ti permette di rispettare la 3° forma normale?

è un dubbio che mi è venuto...

grazie

number15
Perché la regione la puoi derivare univocamente ogni volta dalla città.
Ogni volta che trovi Milano avrai Lombardia, Torino--Piemonte ecc.
Lo stesso anche per quanto riguarda il cap (che io ho messo senza divisione per zone).
Almeno credo, ma mi sembra anche di averlo visto in qualche slide su internet di altri prof.

number15
Originally posted by marbliss
Ciao, io l'ho intesa così questa vista:
se per es. nel 2007 (anno di produzione) sono usciti 5 film, devi trovare quei cinema (qui sono d'accordo con te che ha più senso cinema che sala) che hanno proiettato TUTTI questi film, a prescindere da quando li hanno proiettati. Quindi devi tenere in considerazione l'anno di produzione del film, e non l'anno della proiezione.


Ci può anche stare, ma non mi viene la traduzione in sql di questa.

DarkSchneider
Originally posted by number15
Perché la regione la puoi derivare univocamente ogni volta dalla città.
Ogni volta che trovi Milano avrai Lombardia, Torino--Piemonte ecc.
Lo stesso anche per quanto riguarda il cap (che io ho messo senza divisione per zone).
Almeno credo, ma mi sembra anche di averlo visto in qualche slide su internet di altri prof.


ma secondo me, questo si intende quando un attributo deriva da una porzione della chiave, ma nel nostro caso si parla di un attributo non chiave, che dipende da un altro attributo non chiave...

non penso ci sia bisogno, però potrei sbagliarmi ...

e comunque per assurdo potremmo avere due città o paesini con lo stesso nome, ma che appartengono a regioni differenti...

number15
Dalle slide del corso:
ORDINE-FORNITORE(NrOrd, Data, NrForn,Nome-Forn, Ind-Forn, Prezzo-Tot-Ord)
d1: NrOrd --> NrForn, Nome-Forn, Ind-Forn, Data, Prezzo-Tot-Ord
d2: NrForn --> Nome-Forn, Ind-Forn
Nome-Forn, Indir-Forn dipendono transitivamente da NrOrd
NON E’ IN 3NF

Sostituendo nel nostro caso:
CINEMA (id_cinema, id_gestore, ecc, città, regione, cap)
d1:id_cinema --> id_gestore, ecc, città, regione, cap
d2: città --> regione, cap

Io l'ho intesa così.
Il caso della città con lo stesso nome è una bella obiezione, che forse permette la possibilità di lasciarlo così.

Forse van bene tutte e due, perché anche se non ce ne fosse bisogno, forse nel mio caso è un pelo più ottimizzato (non lo so però).

Edit: nel caso della tua obiezione, mi è venuta a me una domanda: facciamo che esistano due città di nome Milano.
Ora, se io ti chiedo di farmi vedere tutti i cinema di Milano (la nostra) te come fai?
Devi fare degli ulteriori controlli almeno sul cap. e quindi a sto punto perdi ancora in ottimizzazione.
Poi non so, ripeto secondo me si potrebbe anche lasciare come hai fatto tu.

DarkSchneider
avevo questo dubbio, ma in effetti mi hai convinto...

ma quindi tu nell'entità 1 metteresti solo la città..

e poi la agganceresti a un entita 2 in cui per ogni id città c'è memorizzata regione e provincia?

number15
Ho messo in cinema id_città che è chiave esterna su Città(id_città,nome_città, regione, cap)

number15
Originally posted by number15
Ci può anche stare, ma non mi viene la traduzione in sql di questa.


Chiedo aiuto per questa vista che non mi viene proprio.
Sto provando anche a farla senza la questione dell'anno ma niente.
Voglio che mi trovi i cinema che hanno proiettato tutti i film usciti (quindi inseriti in spettacolo), ma niente da fare

number15
Originally posted by marbliss
Ciao, io l'ho intesa così questa vista:
se per es. nel 2007 (anno di produzione) sono usciti 5 film, devi trovare quei cinema (qui sono d'accordo con te che ha più senso cinema che sala) che hanno proiettato TUTTI questi film, a prescindere da quando li hanno proiettati. Quindi devi tenere in considerazione l'anno di produzione del film, e non l'anno della proiezione.

Originally posted by number15
Chiedo aiuto per questa vista che non mi viene proprio.
Sto provando anche a farla senza la questione dell'anno ma niente.
Voglio che mi trovi i cinema che hanno proiettato tutti i film usciti (quindi inseriti in spettacolo), ma niente da fare


Su

marbliss
Ciao ragazzi, scusate la risposta in ritardo ma non sono stata a casa questi giorni.
Allora, per quanto riguardo questa vista, io ho buttato giù un po' di righe che pare funzionino. E' solo che sono due viste per l'esattezza, perché una mi trova gli indici dei cinema (penso che abbia più senso che sala) che hanno proiettato TUTTI i film, e l'altra associa a questi indici gli indirizzi corrispondenti.

Ecco qui il codice

code:
CREATE VIEW pre_circ AS ( SELECT SP.id_cinema, F.anno_produzione FROM spettacolo AS SP INNER JOIN film AS F ON SP.id_film=F.id_film GROUP BY SP.id_cinema, F.anno_produzione HAVING COUNT(SP.id_film) = ( SELECT COUNT(id_film) FROM film F2 WHERE F2.anno_produzione = F.anno_produzione ) ); CREATE VIEW circolazione AS ( SELECT P.anno_produzione AS anno, C.nome_cinema, I.via, I.cap, I.citta, I.regione FROM pre_circ AS P, cinema AS C, indirizzo AS I WHERE P.id_cinema = C.id_cinema AND C.id_indirizzo = I.id_indirizzo ORDER BY anno );


Allora, per come l'ho pensata io: la query interna (vista pre_circ) mi conta quanti film sono usciti in un certo anno (supponendo che nella tabella FILM ci siano TUTTI i film usciti in un anno, a prescindere dal fatto che sono stati o meno proiettati) e quella esterna mi conta quanti film sono stati proiettati avendo come anno di produzione lo stesso della query interna, raggruppando per l'anno e il cinema.

Io ho fatto un po' di prove e pare che vada bene, se trovate qualche esempio che afferma il contrario, fattemelo sapere, così saprò anch'io che non va ;)

DarkSchneider
ma voi col progetto php come siete messi?

io non ho ancora iniziato a fare una mazza :sad:

antares85
ciao ragazzi!

io sto iniziando ora a fare il progetto per settembre, anzi se qualcuno si vuole unire ne possiamo parlare...

volevo chiedere (come ha già fatto qualcun altro) se c'è un'anima pia che può postare lo schema ER, anche una bozza, per avere un paragone sulle entità scelte e sulle relazioni.

Grazie anticipatamente!

fcaridi
Originally posted by antares85
ciao ragazzi!

io sto iniziando ora a fare il progetto per settembre, anzi se qualcuno si vuole unire ne possiamo parlare...

volevo chiedere (come ha già fatto qualcun altro) se c'è un'anima pia che può postare lo schema ER, anche una bozza, per avere un paragone sulle entità scelte e sulle relazioni.

Grazie anticipatamente!


Ciao, please guarda i tuoi PM (private message)

delpiero
ho un dubbio. Quando l'utente di sale cinematografiche effettua una ricarica, la ricarica ha un taglio preciso o non si pone nessun vincolo al taglio ??? Non so se ci siamo capiti. Un utente che vuole fare una ricarica gli potrà essere offerto un menù a tendina o può immettere qualsiasi importo???

delpiero
io per esempio ho uno schema di relazione prenotazione ((UTENZA,CONTO,SALA),DATA) dove UTENZA,CONTO,SALA è sia chiave che chiave primaria. Vorrei a questo punto sapere se è in terza forma normale.
Grazie

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate