![]() |
Pages (2): [1] 2 » Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Basi di dati ~ informatica triennale (http://www.dsy.it/forum/forumdisplay.php?forumid=211)
-- Social network 2010/2011 (http://www.dsy.it/forum/showthread.php?threadid=41459)
Social network 2010/2011
ciao una domand,io ho già creato il db e inserito qualche decina di giochi e utenti ma non mi è chiara una cosa : i vari permessi degli utenti (vedere profilo degli amici, vedere le classifiche) o piuttosto il non vedere le statistiche (che vede solo analista e admin) lo devo fare nella costruzione del db o fa tutto php? qualcuno nel caso mi indica qualche tutorial/guida di php e postgres?
grazie
EDIT
il fatto che un utente non possa scrivere cavolate tipo mettere che il proprio nome è "via golgi" lo faccio dal db o sempre con php?
Se hai già definito i permessi degli utenti del DBMS sulle tabelle, allora ti spiego come avevo risolto io:
1- Definisco sul DBMS un ruolo(utente del DBMS) per ciascuna tipo utente del sistema(login, admin, user, analyser, ecc)
2- Effettuo il login con una connessione tramite php al mio DBMS con utente del DBMS senza permessi per fare altro(ruolo di utenza "login")
, cioè solo un GRANT SELECT sulla tabella con le info di login utente di sistema
3- Dopo di che, per ogni tipo di utente del sistema che desidera consultare il DBMS, creo una connessione diversa tramite php in base al ruolo assegnatoli: admin, user, analyser, ect...
Il punto due si può modificare in base a come hai scelto la/e tabelle di login... se hai più tabelle, una per ogni ruolo, allora scegli subito la connessione adeguata senza dover creare un ruolo di tipo "login"...
P.S: Vedere il profilo o le classifiche di amici non dipende dal ruolo utente, bensì dalla funzione postgres che andrà a fare i controlli vari e dai GRANT che hai dato alla tabelle per il ruolo "user"
Di non vedere le statistiche invece sì.
Se non ho chiarito bene i tuoi dubbi chiedi pure...
Ciao!
__________________
.. ±·ø·±-`` MuSiC iS My LanGuAGe ´´-±·ø·± ..
Re: Social network 2010/2011
EDIT
il fatto che un utente non possa scrivere cavolate tipo mettere che il proprio nome è "via golgi" lo faccio dal db o sempre con php? [/B]
__________________
.. ±·ø·±-`` MuSiC iS My LanGuAGe ´´-±·ø·± ..
FATE MOLTA ATTENZIONE - Le tabelle devono avere i permessi necessari per i ruoli definiti in modo da poter eseguire le funzioni su di esse; l'idea è di far sì che le funzioni che andrai ad utilizzare trovino/scrivano/aggiornino/eliminino tutte le informazioni di cui hanno bisogno.
__________________
.. ±·ø·±-`` MuSiC iS My LanGuAGe ´´-±·ø·± ..
Non conosco le specifiche di questo progetto, penso che vada controllato l'input in fase iniziale, quindi con php, per poi passarlo al DB.
....e dai GRANT che hai dato alla tabelle per il ruolo "user" Di non vedere le statistiche invece sì.
3- Dopo di che, per ogni tipo di utente del sistema che desidera consultare il DBMS, creo una connessione diversa tramite php in base al ruolo assegnatoli: admin, user, analyser, ect...
Sono fuori corso ormai e mi manca lo scritto di basi, reti ed algoritmi... in bocca al lupo e buona domenica anche a te!
__________________
.. ±·ø·±-`` MuSiC iS My LanGuAGe ´´-±·ø·± ..
io ho un dubbio sulla gestione delle tipologie...
voi avete creato una sola tabella con un campo che definisce la tipologia (carte, videogioco, da tavola) oppure n tabelle diverse in base al numero di tipologie?
Nel primo caso ci sarebbe l'inconveniente di avere molti campi con valori opzionali e quindi occorre inserire dei controlli per assicurarsi che in base alla tipologia vengano inseriti determinati valori e non altri (ad esempio in gioco di carte non posso inserire piattaforma di videogioco).
Inoltre l'inserimento di nuovi utenti lo avete reso possibile oppure resteranno solo quelli inseriti da noi programmatori?
beh un form piccolo piccolo di registrazione dovrebbe esserci. Cioè non è che ci voglia molto a farlo...
non ho ben capito in che modo vadano usati i TAG, sono indeciso tra tre possibilita':
1) l'utente puo' inventarsi e inserire nuovi TAG ad un gioco.
2) l'utente prende un TAG tra quelli disponibili e lo attribuisce a un gioco.
3) non ho capito nulla
cmq pensavo di usare semplicemente una tabella gioco-TAG
Originally posted by kermit63
non ho ben capito in che modo vadano usati i TAG, sono indeciso tra tre possibilita':
1) l'utente puo' inventarsi e inserire nuovi TAG ad un gioco.
2) l'utente prende un TAG tra quelli disponibili e lo attribuisce a un gioco.
3) non ho capito nulla
cmq pensavo di usare semplicemente una tabella gioco-TAG
Originally posted by Snakethesniper
Premetto che il progetto comincerò a farlo più avanti, ho comunque dato un'occhiata al testo ecc.
Anche io pensavo di usare una tabella TAG in quanto come si evince dalla traccia, TAG sarebbe un attributo multivalore e di conseguenza viene gestito come una tabella, seguendo l'ottimizzazione degli attributi (1,n). Io pensavo cmq di usare un dominio predefinito per il TAG che l'utente può scegliere.
io sono d'accordo sulla tabella tag-gioco...
per quanto riguarda il dominio invece non vorrei che ti confondi con la tipologia...
io come tag intendo qualsiasi parola che mi viene in mente pensando al gioco, quindi di libera scelta dell'utente...
Piuttosto io sono molto indeciso sulle tipologie, perchè sono predefinite da noi progettisti, quindi ad esempio:
videogioco, gioco da tavola, gioco di carte
però videogioco a sua volta deve contenere il tipo di console che è multivalore (un gioco può uscire per xbox e wii ad esempio)
quindi come pensate di legare gioco a tipologia?
Ho dato un'occhiata molto veloce al primo paragrafo (non devo dare l'esame) però provo a darvi una mano.
Vi scrivo il relazionale.
GIOCO(id_gioco, nome_gioco, tipologia, età, numero_giocatori_richiesto) /* tipologia campo enum(videogioco, gioco da tavola, gioco di carte) */
TAG(id_tag, nome_tag) /* tag per i giochi */
GIOCO_TAG(id_gioco, id_tag)
PIATTAFORMA(id_piattaforma, piattaforma) /* es xbox, wii, ps3*/
PIATTAFORMA_VIDEOGIOCO(id_piattaforma, id_gioco)
GIOCO_DA_TAVOLA(id_gioco, numero_giocatori_suggerito, durata_prevista) /* info aggiuntive sui giochi da tavola; si può anche mettere tutto in gioco, 'accettand' di aver valori null per questi campi nei videogiochi e nei giochi di carte */
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
pensavo anche io a una cosa del genere....però bisognerebbe implementare per forza in php i controlli del tipo "se è un videogioco deve avere per forza almeno una console di riferimento"
oppure "se è un gioco da tavola può avere un numero di giocatori suggerito"..............
non c'è un implementazione più efficace per far sì che tutto sia gestito a livello dbms?
Direi di no.
Per risolvere quelle richieste ti basta fare 3 form, una per ogni tipologia, dove per videogiochi metti obbligatorio il campo console, mentre in quella giochi da tavolo metti facoltativo il campo nr. giocatori.
Poi vai a fare le insert nelle rispettive tabelle.
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
Scusate, vorrei sottoporre un quesito che forse mi sono posto solo io.
Non trovate problematica la gestione dell'utente Amministratore?
Dalle specifiche del progetto si evince che:
1) l'amministratore è l'unico che "può agire come qualsiasi altro utente dell'applicazione"
2) quindi si suppone che i normali Iscritti non possono essere anche Analisti, e viceversa.
Se organizzassimo Utente in una gerarchia, avremmo che:
- per rispettare la condizione 1, dovremmo avere una gerarchia Overlapping (sovrapposta)
- per rispettare la condizione 2, dovremmo avere una gerarchia Esclusiva tra Iscritto e Analista
Tutto ciò porta ad un insieme vuoto.
Come organizzare quindi una gerachia Utente tra le sottoclassi Admin, Iscritto e Analista?
Direi semplice campo enum (normale, analista, admin) in utente.
Ho capito quello intendi tu, cioè che un admin è anche un utente normale, ma nella tabella tu avrai 1 riga per ogni utente quindi è TE.
Poi a livello di programmazione farai una cosa del tipo:
se utente è admin o normale
...
se utente è analista
....
se utente è admin
...
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
Io ho capito che Admin è sia utente Iscritto che utente Analista. Giusto?
Per campo enum cosa intendi? A livello di schema ER a cosa corrisponde? a un attributo su Utente?
Ci sta che admin sia anche analista, solitamente admin 'è tutto'.
Le specifiche su ste cose sono un po' vaghe, sta a te scegliere.
Se dovessi farlo io il progetto, ad admin darei tutti i permessi.
ENUM è un tipo di dato.
A livello ER direi che devi disegnare un'entità UTENTE e collegarci le 3 entità specializzate NORMALE, ANALISTA, ADMIN tutte con cardinalità 0,1.
Diventa un attributo su utente nel passaggio successivo, da ER --> a relazionale.
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
Ma come si fa a dire, in una gerarchia T,E che Admin è un amministratore, ma fa anche l'iscritto e l'analista?
dunque, il testo dice che le statitiche per gli analisti devono essere materializzate (immagino tabelle e non viste). ma cosa conviene quindi fare?
tabella REPORT dei giochi (o attributi in GIOCO), con ID gioco come pk e attributi percentuali di proprietari, media voti ecc
tabella PROFILO degli utenti (o attributi in UTENTE) con ID utente come pk e numero di giochi posseduti, provati, votati ecc.
in questo caso ogni aggiornamento/cancellazione di una comporterebbe il far aggiornare entrambe le tabelle (impiegandoci troppo ovviamente).
Quale soluzione quindi?
Originally posted by michele.c
Ma come si fa a dire, in una gerarchia T,E che Admin è un amministratore, ma fa anche l'iscritto e l'analista?
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
dbms
Ciao,
il progetto può essere creato con gli strumenti che si preferisce o esistono dei vincoli?
Si può usare Microsoft SQL?
Grazie
__________________
My cocktail bar: http://www.facebook.com/bfreemilan
My Blog:
http://thatdaywillcome.com
Originally posted by number15
Non si fa. Da un punto di vista ER son entità divise.
L'admin non è un utente normale nè un analista, ma ha pure i loro permessi.
Io la vedo così.
Tra l'altro qua mi pare facile, visto che non ci sono attributi diversi a seconda della tipologia di utente.
Re: dbms
Originally posted by offear
Ciao,
il progetto può essere creato con gli strumenti che si preferisce o esistono dei vincoli?
Si può usare Microsoft SQL?
Grazie![]()
Re: Re: dbms
Originally posted by michele.c
Non ci sono vincoli sugli strumenti, per quanto ricordi.
Tutti i vincoli sono presenti sulle sul testo del progetto! Se non c'è scritto nulla puoi usare quello che vuoi
__________________
My cocktail bar: http://www.facebook.com/bfreemilan
My Blog:
http://thatdaywillcome.com
scusate la domanda niubba, ma alla fine quando avrò più utenti registrati la tabella pg_user rimane sempre con admin, utente_normale e utente_analista o oltre a questi vengono memorizzati anche tutti gli altri utenti quindi avrò chessò franco, giacomo, luca ecc..?
Ciao a tutti,
cito testualmente dal punto 2 delle specifiche:
"Tutte le funzioni di statistica per l'utente analista sono materializzate............Il profilo di ogni utente, comprensivo della lista di amici e dei giochi posseduti e/o votati è realizzata tramite viste"
non capisco se l'ultimo capoverso è relativo alle sole funzioni dell'analista o quando un utente accede occorre creare una vista materializzata con i suoi dati! Come lo avete interpretato/implementato?
Grazie.
__________________
Spedom
Originally posted by Spedom
Ciao a tutti,
cito testualmente dal punto 2 delle specifiche:
"Tutte le funzioni di statistica per l'utente analista sono materializzate............Il profilo di ogni utente, comprensivo della lista di amici e dei giochi posseduti e/o votati è realizzata tramite viste"
non capisco se l'ultimo capoverso è relativo alle sole funzioni dell'analista o quando un utente accede occorre creare una vista materializzata con i suoi dati! Come lo avete interpretato/implementato?
Grazie.
Originally posted by gek
Per il momento ho creato 2 viste: una per il profilo utente e raccoglie alcuni dati come n° giochi posseduti o provati, n° di amici, media votazioni,ecc..; l'altra come statistica dei giochi contenente dati sui giochi, sono però delle viste 'totali' riferite cioè a tutti i giochi e a tutti gli utenti, non penso sia una buona scelta creare una vista per ogni utente...a meno che le viste non vengano cancellate...
__________________
Spedom
Dopo l'appello di febbraio, il progetto sarà sempre questo o cambierà?
Sarà sempre questo.
__________________
.. ±·ø·±-`` MuSiC iS My LanGuAGe ´´-±·ø·± ..
Premetto che mi sto rimettendo adesso a guardare il progetto, quindi probabilmente sono un po' arrugginito, volevo un parere.
Nel progetto c'è scritto che bisogna avere due liste (giochi provati/posseduti e giochi desiderati) e che per la lista di giochi posseduti l'utente può inserire un voto e una recensione. Ecco, le liste in questo caso vanno gestite come tabelle giusto? Perchè io stavo pensando di fare due tabelle:
- Giochi posseduti : Recensione,Titolo_Gioco(che si collega poi al Titolo dell'entità gioco),Voto.
- Giochi Desiderati: Titolo_Gioco ..ed eventualmente altre cose se mi vengono in mente..
che dite è corretto?
La soluzione più ovvia è in realtà avere una sola tabella con un flag che è true se sono posseduti e false se sono provati, o eventualmente più flag se vuoi implementare più stati come avevamo fatto noi.
Originally posted by Chobeat
La soluzione più ovvia è in realtà avere una sola tabella con un flag che è true se sono posseduti e false se sono provati, o eventualmente più flag se vuoi implementare più stati come avevamo fatto noi.
Se l'intersezione dei 3 stati è insieme vuoto, puoi anche fare un unico campo enum(provato, desiderato, posseduto)
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
Ho un altro dubbio, la tipologia voi come la state gestendo? Io pensavo di fare un tipo di entità per ogni tipo con i propri attributi...
forse qualcuno ha avuto il mio stesso problema:
accedo con una query php al mio database su postgres: ho una tabella test sul database social, ho un utente testrole sul quale faccio questa grant:
GRANT SELECT ON social.test TO testrole;
la grant va a buon fine e fin qui tutto ok;
da php ho la mia connessione al db:
function test_connection_pgsql() {
$connection = "host=localhost dbname=social user=testrole password=miapwd";
return pg_connect ($connection);
}
e faccio la query in questo modo:
if ($db = test_connection_pgsql()) {
print 'Connessione al DBMS riuscita.<br />';
$sql = "SELECT * FROM social.test";
$resource = pg_query($db, $sql);
$row = pg_fetch_array($resource,NULL,PGSQL_ASSOC);
print_r ($row);
pg_free_result($resource);
pg_close($db);
}
la cosa strana è che la connessione va a buon fine, infatti ottengo:
"Connessione al DBMS riuscita."
però a seguire mi dice che l'utente non ha il permesso di select sulla tabella(anche se l'ho precedentemente grantato):
Warning: pg_query(): Query failed: ERROR: permission denied for schema social LINE 1: SELECT * FROM social.test ^
dove sbaglio?
ubuntu 10.10
postgresql 8.4
php 5
Guarda io non ho creato gruppi utenti e permessi (non erq richiesto) e ho preso +3.. Non stare a complicarti la vita..
Originally posted by Stefano2912
Guarda io non ho creato gruppi utenti e permessi (non erq richiesto) e ho preso +3.. Non stare a complicarti la vita..![]()
Si. Tanto era in localhost
ottimo allora.. mi risparmio di salvare il tipo utente nella sessione e di controllarlo
idem, anche noi +3. se fai bene il resto, quello non serve.
Qualcuno sa darmi una mano riguardo la tipologia? Sto cercando di capire come implementarla nello schema ER. Cioè in linea di massima ho già trovato come metterle, il problema mi viene quando penso poi alla realizzazione, in particolare se viene eseguita una query che richiede le informazioni di un gioco e bisogna segnalarne la tipologia.
Una soluzione sarebbe quella di inserire un attributo "tipo" in gioco che si collegherà all'attributo "nome_tipo" in tipologia dove ci saranno tutti gli attributi delle varie tipologie con cardinalità (0,1). Però questa non mi sembra la soluzione ideale, più che altro perchè penso che in una query come quella descritta sopra poi compaiano campi vuoti con gli attributi che non c'entrano niente con la tipologia selezionata, io preferivo avere una cosa più "pulita" e avere solo gli attributi di quel determinato tipo.
L'altra soluzione era appunto tenere sotto le sottoclassi di tipologia e quindi avere 3 entità : videogioco, giochi da tavolo, giochi di carte. Il problema però sarebbe poi visualizzare in una query il nome del tipo, per il semplice fatto che mi sembra stupido inserire in queste entità un attributo "nome_tipo" che si ripete per ogni tipo di entità (ovvero in Videogioco, nome_tipo sarà sempre videogioco ecc.).
Qualcuno può aiutarmi a chiarirmi le idee? Anche perchè ho la sensazione che sto facendo parecchia confusione xD
Per dare un'idea di quello che ho scritto sopra, copio qui lo schema logico di un esercitazione presente sul sito:
Proprietario (codice, telefono, indirizzo)
• PersonaFisica (codice, CF, nome, cognome)
• PersonaGiuridica(codice, PI, denominazione)
Con codice in Proprietario come chiave primaria e Codice in PersonaFisica e PersonaGiuridica come chiave primaria e chiave esterna.
Ora, se volessi fare una query che, dato un codice di un proprietario mi venga segnalato se è una persona fisica o una giuridica come potrei fare?
Non ho letto i tuoi messaggi precedenti comunque con questa query trovi i nomi dei proprietarifisici
SELECT nome
FROM Proprietario, PersonaFisica
WHERE Proprietario.codice = PersonaFisica.codice
ovviamente se tu inserissi sta roba in un db o in un progetto potresti fare una funzione che se la query precedente non torna nulla allora sul "sito" fai comparire qualche avviso o roba simile...
Originally posted by Snakethesniper
Per dare un'idea di quello che ho scritto sopra, copio qui lo schema logico di un esercitazione presente sul sito:
Proprietario (codice, telefono, indirizzo)
• PersonaFisica (codice, CF, nome, cognome)
• PersonaGiuridica(codice, PI, denominazione)
Con codice in Proprietario come chiave primaria e Codice in PersonaFisica e PersonaGiuridica come chiave primaria e chiave esterna.
Ora, se volessi fare una query che, dato un codice di un proprietario mi venga segnalato se è una persona fisica o una giuridica come potrei fare?
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
Originally posted by number15
Non sto capendo il tuo problema.
Quell'implementazione dell'esempio è fatto ad minchiam.
Aggiungi nella tabella proprietario un campo tipo, che realizzi con un enum(persona fisica, persona giuridica, entrambi) (nomi decenti e, se esclusiva, 'entrambi' va via).
A quel punto hai l'informazione che ti serve nella tabella, senza if, join e robe strane.
Uhm forse ho detto una mezza cavolata...
In pratica, quello che vorrei realizzare è fare in modo che se viene fatta una query su un gioco vengano visualizzate tutte le informazioni relative, quindi per esempio se è un videogioco voglio che vengano visualizzate solo le informazioni relative a quella tipologia e non anche quelle delle altre. Per questo motivo volevo un campo che specificasse la tipologia in modo che poi venivano visualizzate solo gli attributi di quella determinata tipologia e non quelli delle altre... Non so se si capisce cosa intendo
Allora, da quanto ho capito tu avrai una tabella GIOCO che si specializza in 3 tabelle, una per ogni tipologia di gioco, con una gerarchia, immagino, di tipo totale esclusivo.
A quel punto, una volta che tu hai l'id, fai la join tra gioco e la tabella specializzata che ti interessa in base al tipo del gioco.
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
Originally posted by number15
Allora, da quanto ho capito tu avrai una tabella GIOCO che si specializza in 3 tabelle, una per ogni tipologia di gioco, con una gerarchia, immagino, di tipo totale esclusivo.
A quel punto, una volta che tu hai l'id, fai la join tra gioco e la tabella specializzata che ti interessa in base al tipo del gioco.
edit: esempio del cazzo, penso a qualcosa di meglio
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
Abbiamo questa situazione:
gioco(id_gioco, gioco, tipo, genere)
videogioco(id_gioco, console, v.m.)
gioco_di_società(id_gioco, durata, nr._giocatori_minimo)
Vuoi stampre una tabella con l'elenco dei giochi generale.
-Esegui questa query:
(select id_gioco,gioco, tipo, genere from gioco)
-crei una tabella con 3 campi: icona tipologia del gioco (basata sul valore del campo tipo), nome del gioco, genere.
-al click sul nome del gioco, vuoi mostrare le informazioni aggiuntive del gioco.
Facciamo che hai cliccato su Nba2k11:
if tipo = videogioco
select console, vm
from videogioco
where id_gioco = '$id_gioco'
-stampi i valori dei campi
Questa è proprio un'applicazione base.
Un altro esempio, per cui ti è fondamentale il campo tipo, è:
'Mostrami i nomi di tutti i videogiochi".
Ti basta fare:
select gioco
from gioco
where tipo ='videogioco'
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
Originally posted by number15
Abbiamo questa situazione:
gioco(id_gioco, gioco, tipo, genere)
videogioco(id_gioco, console, v.m.)
gioco_di_società(id_gioco, durata, nr._giocatori_minimo)
Vuoi stampre una tabella con l'elenco dei giochi generale.
-Esegui questa query:
(select id_gioco,gioco, tipo, genere from gioco)
-crei una tabella con 3 campi: icona tipologia del gioco (basata sul valore del campo tipo), nome del gioco, genere.
-al click sul nome del gioco, vuoi mostrare le informazioni aggiuntive del gioco.
Facciamo che hai cliccato su Nba2k11:
if tipo = videogioco
select console, vm
from videogioco
where id_gioco = '$id_gioco'
-stampi i valori dei campi
Questa è proprio un'applicazione base.
Un altro esempio, per cui ti è fondamentale il campo tipo, è:
'Mostrami i nomi di tutti i videogiochi".
Ti basta fare:
select gioco
from gioco
where tipo ='videogioco'
Si, e indichi la cardinalità.
La parte delle generalizzazioni/specializzazioni mi ricordo che è fatta molto bene sulle slide della prof.
C'è sia come rappresentarle nel diagramma ER sia come passarle in relazionale.
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
Originally posted by number15
Si, e indichi la cardinalità.
La parte delle generalizzazioni/specializzazioni mi ricordo che è fatta molto bene sulle slide della prof.
C'è sia come rappresentarle nel diagramma ER sia come passarle in relazionale.
Dunque sto iniziando ora a preparare il progetto ma non mi son chiare varie cose... Primo il discorso delle viste:
dice che il profilo con amici e giochi deve essere fatto tramite viste materializzate. Ora qui nasce il primo problema.
1) come materializzo effettivamente le viste? cioè se faccio una create view creo la vista ok ma come la materializzo?
2) anche le statistiche vanno fatte con viste materializzate e qui il problema al punto 3
3) tutto va tenuto aggiornato con i trigger quindi dovrei aggiornare le viste che però vengono fatte su più tabelle e quindi praticamente è infattibile perchè un aggiornamento è fattibile su viste fatte su una sola tabella
Chi mi chiarisce un pò sto discorso delle viste?
EDIT: tolto il PS avevo sbagliato a digitare un nome nel comando
Grazie a chi mi schiarirà un pò le idee...
Dai un'occhiata qua, dovrebbe aiutarti.
http://blog.fl3x.de/2005/10/26/mate...views-in-mysql/
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
Una delucidazione sui giochi degli utenti.
Visto che il risultato finale che devo ottenere è un'entità "Giochi_Utente" con attributi ID_Gioco,ID_Utente, Tipo,Voto*,Recensione* (o almeno io l'ho pensata così, ovvero tenendo la superclasse e mettendo l'attributo Tipo), nello schema ER posso creare un'associazione chiamata appunto "giochi utente" con i suoi 3 attributi che collega le entità gioco e utente? In questo modo poi con il passaggio a schema logico verrà fuori la relazione/entità decisa prima no?
In serata ti rispondo per bene.
Comunque leggendo veloce direi che nell'er devi creare solo un 'rombo' tra utente e gioco.
Poi in relazionale si creerà utente_gioco.
L'attributo tipo va solo in gioco, non te lo porti dietro.
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
Originally posted by number15
In serata ti rispondo per bene.
Comunque leggendo veloce direi che nell'er devi creare solo un 'rombo' tra utente e gioco.
Poi in relazionale si creerà utente_gioco.
L'attributo tipo va solo in gioco, non te lo porti dietro.
Ah ops, pensavo tipo di gioco.
Allora direi tutto giusto
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
Un'altra cosa, che sto andando in confusione, riguarda sempre i tipi di gioco. Io nello schema avevo fatto appunto Gioco e sotto le sottoclassi Videogioco, gioco di carte, gioco da tavolo. Ho deciso di tenere sia superclasse che sottoclasse, di conseguenza ho creato le associazioni 1:1 tra la superclasse e le sottoclassi. Ora il mio dubbio è, so che in questo caso bisogna per forza farle 1:1, ma è corretto in questo caso? Nel senso, per esempio, Videogioco non dovrebbe avere cardinalità 1,n con gioco?
La cardinalità è 0,1 (un gioco può essere 1 videogioco O un gioco di carte O un gioco da tavolo).
Facciamo che id_gioco = 1 sia nba 2k11.
Ad nba2k11 corrisponderà 1 e una sola tupla in videogioco e l'id_gioco = 1 in videogioco corrisponderà esclusivamente ad nba2k11.
Quindi ricapitolando avrai:
gioco (0,1) videogioco
videogioco (1,1) gioco
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
Originally posted by number15
La cardinalità è 0,1 (un gioco può essere 1 videogioco O un gioco di carte O un gioco da tavolo).
Facciamo che id_gioco = 1 sia nba 2k11.
Ad nba2k11 corrisponderà 1 e una sola tupla in videogioco e l'id_gioco = 1 in videogioco corrisponderà esclusivamente ad nba2k11.
Quindi ricapitolando avrai:
gioco (0,1) videogioco
videogioco (1,1) gioco
Originally posted by number15
Dai un'occhiata qua, dovrebbe aiutarti.
http://blog.fl3x.de/2005/10/26/mate...views-in-mysql/
Ciao a tutti volevo chiedervi voi cosa intendete e come trovate il valore numerico il valore numerico proporzionale alla similarità tra utenti?
Originally posted by gab217
Ciao a tutti volevo chiedervi voi cosa intendete e come trovate il valore numerico il valore numerico proporzionale alla similarità tra utenti?
allora nessun numero?
Per quanto riguarda l'amicizia ankio ho ragionato nel tuo stesso modo quindi mi sembra corretto.
Come hai gestito invece dove chiedeva di realizzare tramite viste il profilo comprensivo di amici e di giochi posseduti/votati?
Originally posted by gab217
allora nessun numero?
Per quanto riguarda l'amicizia ankio ho ragionato nel tuo stesso modo quindi mi sembra corretto.
Come hai gestito invece dove chiedeva di realizzare tramite viste il profilo comprensivo di amici e di giochi posseduti/votati?
Qualcuno che ha già fatto e consegnato il progetto mi saprebbe dire se il tipo ENUM è accettato anche se non è uno standard?
Ciao a tutti!
Domandona: la/le tabelle usate ad hoc per le materialized views sono da includere nello schema ER???
Visto che le slide del prof riguardo la connessione al database e il passaggio dei parametri la trovo incompleta e poco chiara, qualcuno sa consigliarmi dove trovare queste informazioni? Magari relative a postgresql
Qualcuno mi sa dire (se usa apache e php) che versione usa di questi?
Continuo ad avere l'errore:
Fatal error: Call to undefined function pg_connect()
nonostante abbia decommentato l'estensione che punta a pgsql.dll e seguito TUTTO quello che c'era da seguire...
sono su windows 7
edit: risolto, a quanto pare era un problema della dll nell'ultima versione
qualcuno mi sa dire una cosa: devo realizzare la funzione/trigger che cancella giochi troppo vecchi e non considerati da nessuno: so fare funzioni che si attivano in seguito ad una insert o delete o robe simili, ma come faccio ad attivare una funz/trigger in base al tempo???????
(cioè tipo far partire il trigger/funzione ogni giorno o ogni settimana)
Di solito si usa cron, ma mi sembra difficile che sia richiesto in un progettino
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
di cron ho letto qualcosa ma non ho la minima idea di come usarlo ...
comunque
Entro pero un periodo di tempo stabilito dall'amministratore, i nuovi
gioci inseriti devono essere scelti come posseduti/provati e/o desiderati da un numero minimo di
utenti, altrimenti vengono automaticamente eliminati. Questa procedura ha lo scopo di evitare
l'inserimento di un numero eccessivo di giochi inesistenti.
Non vedo alternative all'usare cron.
Per far qualcosa di simile potresti sennò fare un trigger/procedura che si attiva ad ogni inserimento di un gioco, andando a controllare se c'è qualcosa di inutilizzato da tot tempo e cancellarlo.
Non è la stessa cosa ovviamente, però è l'unica che mi viene in mente senza schedulare
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
riguardo la seconda parte del tuo messaggio :
Per far qualcosa di simile potresti sennò fare un trigger/procedura che si attiva ad ogni inserimento di un gioco, andando a controllare se c'è qualcosa di inutilizzato da tot tempo e cancellarlo.
ogni giorno a mezzanotte peròcode:
00 00 * * * /usr/bin/cancella.sh
Come gestite questa richiesta "il profilo di ogni utente comprensivo della lista amici e dei giochi posseduti e/o votati è realizzato tramite viste".
Grazie
Originally posted by gab217
Come gestite questa richiesta "il profilo di ogni utente comprensivo della lista amici e dei giochi posseduti e/o votati è realizzato tramite viste".
Grazie
Originally posted by zandrek
riguardo la seconda parte del tuo messaggio :
era venuto in mente anche a me: cioè se un utente qualsiasi fa un'azione qualsiasi (intendo una registrazione di un nuovo utente piuttosto che l'inserimento di un gioco o voto) faccio attivare il trigger. ho solo un dubbio: se il database non viene toccato per 6 mesi non succede nulla e nessun gioco verrà mai cancellato....
per il cron ok posso fare uno script .sh ad esempio e farlo partire
ogni giorno a mezzanotte peròcode:
00 00 * * * /usr/bin/cancella.sh
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
proverò a sentire il prof Ferrara se ritiene accettabile il trucchetto o vuole una roba seria tipo cron o similia...intanto grazie...se poi il tuo "collaboratore" ha voglia di scrivere qua due righe è il benvenuto
vi chiedo un dubbio credo banale che mi è venuto in quanto sono poco pratico di php...
Voi come implementate le varie funzioni degli utenti? Create una pagina php per ognu funzione a sua disposizione oppure riuscite a svolgere tutto sulla stessa pagina? Ad esempio dopo il login il mio utente accede alla sua pagina utente.php
Per richiedere l'amicizia di qualcuno andrà su amici.php, per vedere la lista dei giochi andrà su giochi.php ecc ecc...
Credete sia giusto oppure c'è una soluzione per svolgere le funzioni sulla stessa pagina?
io lascerei come hai fatto tu, magari è più carino avere meno pagine ma sono 3 punti...e ho fatto più o meno uguale....
ma le viste per il profilo vanno ricreate ogni volta che richiamo il profilo di un utente? (sennò non si aggiornano) mmm
cioè la sequenza in teoria è:
1) richiamo il profilo
2) creo o sostituisco la vista (per esempio che raccoglie gli amici)
3) faccio la select sulla vista per tirare fuori gli amici dell'utente in questione
che ne dite?
Che viste dovete creare?
Con vista non aggiornabile si intende che non puoi aggiornare le tabelle su cui opera la vista facendo un'update sulla vista.
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
le specifiche dicono che il profilo dell'utente deve essere fatto tramite viste (per mostrare gli amici, i giochi posseduti/desiderati ecc...) ora considerando che per aggiornare i dati di una vista bisogna sostanzialmente ricrearla mi chiedevo se la sequenza indicata sopra vi sembrava valida...
La vista (NON materializzata) non è altro che una query.
Non necessita di nessun aggiornamento, visto che ogni volta che la chiami riesegue la query in quel momento.
Es. tu crei questa vista che ti estrae le varie coppie gioco/utente
create view giochi_utenti as
select g.id_gioco, gioco, u.id_utente, utente
from utente u, gioco g, gioco_utente gu
where u.id_utente = gu.id_utente and g.id_gioco = gu.id_gioco
Ora quando la chiami con
select * from giochi_utenti
viene eseguita semplicemente la query contenuta nella vista.
Il concetto di vista non aggiornabile (solitamente quando formata da join tra più tabelle) è che NON puoi fare:
update giochi_utenti set gioco = 'nba 2k11' where id_gioco = 10
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
ok questo lo so però le viste vengono usate come fossero tabelle in modo che le operazioni vengano fatte su un sottoinsieme di tutti i possibili dati...
questo mi fa pensare che se io devo visualizzare qualcosa:
1) creo la vista che corrisponderà al risultato della query in quel momento
2) faccio le query che mi servono sui dati nella vista invece che su tutte le tabelle complete
3) quando eseguo un aggiornamento del database (quindi delle tabelle principali -> per esempio aggiungo un amico) le viste non si aggiornano in automatico ma continuano a mostrare i dati di quando le ho create (quindi l'amico appena aggiunto non risulta nella vista) e quindi ogni volta che io chiamo la pagina devo ricreare le viste per aggiornare i dati che queste contengono.
Voglio capire se questa mia visione delle cose è giusta o no.
Allora stai parlando di viste materializzate ed è tutt'altro discorso.
Qualche post prima se ne parlava e ho postato un link ad un altro ragazzo su come gestirle.
Prova a darci un'occhiata
Edit: eri tu
Comunque mi sfugge il senso di tutto ciò: dove sta il vantaggio a materializzare quella vista, se devi sempre ricrearla ad ogni aggiornamento?
Ho dato un'occhiata al progetto: per me intende altro.
Originally posted by progetto
L'utente analista ha funzioni di monitoraggio della comunita. Egli ha accesso a un insieme di statistiche. In particolare, per ogni utente e possibile calcolare un profilo che
riporta il numero di giochi posseduti/provati in relazione al numero medio dei giochi posseduti/provati da tutti gli utenti.
Tutte le funzioni di statistica per l'utente analista sono materializzate e memorizzate in opportune tabelle nella base di dati. E' pertanto necessario realizzare gli opportuni trigger che
mantengano aggiornate tali informazioni a seguito dell'inserimenti di nuovi giochi, dell'acquisizione di nuovi voti e opinioni sui giochi esistenti, e della denizione di nuove relazioni di amicizia
fra utenti.
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
no no allora se vedi l'ultima frase del punto 2 che viene dopo quello che hai riportato, parla del profilo dell'utente.
in sostanza lui vuole che siano usate viste materializzate per le funzioni di statistica e (ho parlato col prof) le informazioni devono proprio essere salvate come tabelle su DB. Quindi lui mi ha detto fai la vista con una select e la salvi su db come fosse una tabella.
poi l'ultima frase dice: "Il profilo di ogni utente comprensivo della lista di amici, dei giochi posseduti e/o votati è realizzato tramite viste"
e qui presumo si intendano viste normali e non materializzate.
la differenza sta solo nel fatto che i dati non vengono fisicamente salvati in una tabella su db ma le viste all'atto pratico vengono usate come fossero tabelle anche se sono virtuali.
per quello penso che per aggiornare una vista l'unico sistema sia ricrearla ogni volta (come viene poi fatto anche nell'articolo che mi hai linkato)
EDIT: è proprio perchè anche a me sfugge il senso di ricreare ogni volta le viste che sto cercando di capire se sto ragionando bene oppure no.
Se te l'ha detto il prof, allora fai come dice lui e copia dal link il procedimento. Mi pare sia fatto bene.
Ad ogni inserimento/aggiornamento (trigger) richiami la cancellazione e creazione della tabella con i dati che ti servono e poi le query del profilo le fai su questa nuova tabella.
In pratica riflettendoci il vantaggio sarebbe che esegui la query 'pesante' solo in caso di aggiornamento di quelle tabelle e non ogni volta che devi visualizzare il profilo.
Il poco senso è che sarà una query con 3 join quindi....
Edit: non pensarle come viste, pensale come tabelle di analisi (report), sennò fai confusione.
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
ok ma a questo punto mi comporto così sia con le viste materializzate che con quelle non materializzate giusto? o meglio più che giusto, ti sembra sensato?
no, le non materializzate una volta che le hai create si aggiornano da sole, non son altro che una scorciatoia: al posto di riscrivere la query con le join ogni volta, fai una select * sulla vista.
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
io ho un dubbio ancora più generale.. a che servono le viste per il profilo?
non si fa prima a mettere sulla pagina i dati dell'utente ed i giochi che possiede/vorrebbe facendo una query su quelle tabelle?
cioè, non saprei proprio che dati mettere nella vista senza creare ridondanza, voi come lo gestite?
Crei la vista che fa le query che ti servono e utilizzi quella nella pagina.
Ovviamente a sto livello le viste servono a poco, però pensa se al posto di avere 'il sito' dove vedere i profili, dovresti controllarli da phpmyadmin, sqlyog o simili.
Dovresti ogni volta riscriverti la query con le join, mentre se ti sei fatto la vista è tutto già pronto.
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
ok proverò ad implementarle così
il fatto di cancellare un gioco che non è stato aggiunto da nessuno invece come lo gestite?
qualcuno mi saprebbe dire dove metterebbe i trigger nel progettino? non ne vedo molta necessità...
e poi nel testo c'è scritto che le amicizie e il profilo degli utenti sono gestiti tramite viste, mentre le statistiche in tabelle (aggiornate con trigger)
questo vuol dire che dobbiamo creare delle tabelle apposite x contenere i dati delle statistiche e le viste x ciò che riguarda l'utente?
Oppure vuol dire che i dati per le statistiche li estrapoliamo direttamente dalle tabelle, mentre per gli utenti passiamo tramite le viste?
Originally posted by pirlo21
[B]
questo vuol dire che dobbiamo creare delle tabelle apposite x contenere i dati delle statistiche e le viste x ciò che riguarda l'utente?
non ne capisco molto il senso...cioè ok per le viste, ma che senso ha creare una tabella con gli stessi dati delle tabelle di partenza? Le statistiche non posso calcolarle con delle query direttamente dalle tabelle di partenza?
Dovrei quindi farmi la tabella:
gioco, numero di utenti che lo possiedono (ad esempio) e tenerla aggiornata con dei trigger ad ogni modifica? Cosa che io farei con una query senza creare un altra tabella
Prova a leggere nei post precedenti che si parlava di viste materializzate (non ricordo se era questo il caso).
Teoricamente avresti delle query molto più leggere da eseguire visto che non servirebbero le join.
Di contro c'è che sta tabella va continuamente aggiornata.
Conviene? Dubito in un progettino del genere, ma se è richiesto...
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
Utenti
Scusate ho un dubbio riguardo le categorie di utenza: devo crearle nel database, assegnandogli i relativi permessi, e poi far connettere dall'applicazione gli utenti che appartengono a questa categoria attraverso questo account? Oppure devo creare un account per ogni utente della categoria con i relativi permessi?
Un'ultima cosa...le tabelle che contengono le statistiche vanno inserite nel modello e/r?
essendo entità a sè stanti mi chiedevo se non sia inutile
Sviluppo Php
Qualcuno sa suggerire eventuali tools di supporto allo sviluppo in php?
Cakephp puo' tornare utile?
Ve ne sono altri ...?
Grazie
Re: Sviluppo Php
Originally posted by fcaridi
Qualcuno sa suggerire eventuali tools di supporto allo sviluppo in php?
Cakephp puo' tornare utile?
Ve ne sono altri ...?
Grazie
__________________
ho un problema... ho una procedura che esegue due comandi:
fa il DROP di una tabella se esiste;
Crea la tabella precedentemente eliminata;
poi ho il trigger che richiama la procedura quando accade un evento.
Il problema è che a fronte dell'evento io ottengo l'errore:
"Explicit or implicit commit is not allowed in stored function or trigger. "
Cosa c'è che non va? La procedura è così:
code:
DELIMITER $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `procedura`() BEGIN drop table if exists tabella; CREATE TABLE tabella SELECT a FROM b WHERE c AND d; END
Se sposti il codice della procedura dentro il trigger che la chiama?
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
non mi permette nemmeno di crearlo segnalandomi lo stesso errore... :/
Credo che il problema sia la drop nel trigger che non vuole.
Col truncate e la insert hai provato?
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
mi da l'errore anche solo con la create table...
io devo eliminare la tabella se già esiste e subito dopo crearla.
truncate e insert non agiscono sulla tabella ma sulle righe... sbaglio?
e poi ho letto questo che sconsiglia il truncate http://inderpreetsingh.com/2010/09/...ion-or-trigger/
Credo si riferisca a myisam, visto che su innodb la truncate non cancella la tabella e la ricrea.
Intendevo qualcosa del tipo:
CREATE TABLE tabella SELECT a FROM b WHERE c AND d if not exists tabella;
truncate table tabella;
INSERT INTO tabella SELECT a FROM b WHERE c AND d;
Edit: nella create potresti usare il like o l'as (controlla)
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
Se rompe ancora il cazzo, prova a creare la tabella fuori dal trigger e dentro al trigger metti solo la truncate e la insert
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
provo così e vediamo cosa succede per ora grazie
Nel caso puoi usare REPLACE al posto di truncate+insert.
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
dunque confermo che la TRUNCATE provoca lo stesso messaggio di errore...
Per risolvere basta seguire il consiglio dell'articolo che ho linkato sopra
in sostanza al posto di:
TRUNCATE TABLE nometabella
bisogna mettere:
DELETE FROM nometabella
(senza l' * )
In sostanza:
1) creo la tabella la prima volta a mano
2) creo la procedura che svuota la tabella e la riempie di nuovo con i dati aggiornati
Così sembra funzionare tutto.
Grazie
Ottimo.
Ma è innodb la tabella su cui esegui la truncate?
Perché truncate = delete from senza where, quindi non capisco perché non vada.
Edit: ecco la spiegazione:
For an InnoDB table before version 5.0.3, InnoDB processes TRUNCATE TABLE by deleting rows one by one. As of MySQL 5.0.3, row by row deletion is used only if there are any FOREIGN KEY constraints that reference the table. If there are no FOREIGN KEY constraints, InnoDB performs fast truncation by dropping the original table and creating an empty one with the same definition, which is much faster than deleting rows one by one.
Si vede che non hai fk allora.
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
si è innodb... il problema stando all'articolo nasce da questa osservazione:
Depending on version and storage engine, TRUNCATE can cause the table to be dropped and recreated. This provides a much more efficient way of deleting all rows from a table, but it does perform an implicit COMMIT. You might want to use DELETE instead of TRUNCATE.
Si si, infatti ti ho postato la spiegazione. Dalla versione 5.0.3 la truncate è diventata una drop + una create, mentre prima era una semplice delete.
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
già
oggi provo ad implementare tutto e faccio tutte le prove del caso ma da quel che ho visto ieri direi che funziona tutto
confermo che funziona tutto... ho implementato 3 viste materializzate con i relativi trigger e procedure e nell'utilizzo ho verificato che funziona tutto correttamente
;-)
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
abbiate pazienza sto sistemando gli ultimi punti mancanti e ho un problema con il punto dove chiede che i giochi che dopo un tot di tempo non vengono presi da un numero di utenti, vengano cancellati in automatico... sinceramente non saprei come fare... ho sentito parlare di cron, sto guardando gli eventi in mysql ma non capisco bene come farlo...
so che ad ogni inserimento dovrei far partire un timer che controlli al suo scadere se qualcuno ha usato il suddetto gioco e se non tovo nessuno devo cancellare il gioco...
ma tecnicamente come cribbio lo faccio? :/
Guarda qualche pagina fa che ne avevo discusso con un altro ragazzo.
Per cron non so aiutarti nello specifico, ma, ripeto, mi sembra 'complesso' per un progettino.
Puoi sennò fare col trigger che avevo consigliato all'altro ragazzo.
Comunque sentirei il prof per capire bene cosa vuole
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
gli ho già scritto per chiedere una delucidazione su una richiesta ma non mi ha ancora risposto -_-' quasi non ci spero che mi possa aiutare...
ma un trigger cmq non basta... nel senso che sicuramente sarà un trigger a far partire il timer, ma il controllo e l'eventuale eliminazione deve farlo qualcos'altro...
Puoi fare un trigger che fai partire dopo una qualche azione e dentro gli fai fare il controllo sulle date.
Con cron non è una azione a far partire un trigger, ma Ad esempio fai che ogni giorno alle 5 di mattina va eseguita una query di delete controllando le date e fine
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
ok credo di aver risolto però una cosa non mi viene... come gli dico in un trigger:
modifica il dato di una tabella quando la primarykey è uguale a questo codice che ho appena inserito in pippo?
il trigger si attiva after insert on PIPPO
EDIT:
spiego meglio con un esempio:
1) inserisco in PIPPO la coppia cod1,cod2
2) si attiva il trigger
come gli dico:
Aggiorna cod3 in PLUTO dove PLUTO.cod1= cod1 che ho appena inserito
???
Non ho capito.
La pk è sempre in pippo?
Prova a far un esempio.
Il costrutto potrebbe essere:
IF NEW.codice = (SELECT xxx FROM xxx)
THEN
UPDATE tabella
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
mmm ho appena risolto bypassando il problema...
riaggiorno lo stato del campo in PLUTO per tutte le righe facendo un normale confronto... così funziona
Tabelle delle statistiche
Raga ma voi le tabelle delle statistiche le avete rapresentate anche nel diagramma e/r? se si come?
qualcuno ha consegnato in questa sessione 26-30 settembre?
si ho portato ieri il mio e c'erano già altre buste sulla scrivania... non erano molte ma non so se erano tutte...
Anche io ieri!
anche io ieri ma ho trovato chiuso e l'ho lasciato nella posta
calendario orali?? sapete più o meno quanto ci vuole prima che esca?
non ne ho idea...
sul sito diceva solo che l'avrebbe pubblicato dopo il 30... teniamo d'occhio il sito e vediamo un pò... :/
Prova
Ciao,
anche io ho consegnato ieri ma purtroppo ho fatto un pasticcio dell'ultimo minuto: tentando di mettere i CSS non mi compilava più nulla. Ho consegnato una versione che compila ma cecchia di 3 giorni quindi con pochi dati nel network e qualche bug.
Che voi sappiate la prova avverrà caricando il CD consegnato e quindi sarò valutato sulla versione zoppa oppure posso sistemare le cose per la prova e caricare tutto on line?
Qualcuno può descrivere come avverrà/quanto dura?
Io portai il mio portatile con il quale feci vedere il progetto.
Loro avevano in mano solo lo schema ER e il dump per guardare i trigger e la struttura.
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
è uscito il calendario delle discussioni.
ognuno dovrebbe vedere il suo giorno ed il suo orario collegandosi alla solita piattaforma accessibile dal link postato dal prof.
potrebbero anche fare le cose un pò meglio...
dovete loggarvi e poi a sinistra andare su iscrizione esami per vedere il tutto e anche lì ci si trova davanti ad una schermata con mille info contrastanti... -_-'
nella mia dice:
data esame -> 12/10/11
iscrizione esame -> 03/10/11
info esame -> 19/10/11 ore 10.30
Non gli viene in mente che magari data esame e info esame sono un pò ambigue? mi presento il 12 o il 19? XD vabbè tengo buono il 19 visto che c'è anche l'ora, che dite?
anche a me è scritto come te ma alle ore 11 quindi credo che vada bene il 19...
A proposito di date, spero che questa cosa sia flessibile perchè io ho superato lo scritto a settembre 2010 e in teoria questo appello è quello di settembre 2011, non ottobre (per la regola che il risultato di un esame è valido per un periodo massimo di un anno)...speriamo
Pirlo: Per quanto riguarda l'aver fatto l'esame a settembre 2010 ti posso tranquillizzare: sono nella stessa situazione ed il prof. mi ha scritto che va bene questa sessione ma non oltre.
Purtroppo io mi sono iscritto ma sotto "info" non vedo nessun orario. A qualcun'altro è capitato?
non dovresti iscriverti... devi andare a sinistra nella sezione iscrizione esami e dovrebbe già esserci la riga del tuo appello...
Avevo l'appello sotto "applli disponibili" e mi sono iscritto... ora è sotto "info appello" ma non c'è indicazione di orario...
ti conviene mandare una mail al prof
voi vi state preparando qualcosa per la discussione?? vengono fatte anche domande di teoria?
Discussione
Tranquillo, la discussione a me non l'ha fatta il professore ma una ragazza (non so chi fosse).
1) Analisi schema concettuale: Non devono essere violate el forme normali, se c'è qualcosa di anomalo può chiderti se viene violate una forma normale e quale. Se c'è qualche gerarchia magari ti può venir chiesto il tipo ma non ci sono quesiti di teoria.
2) Si passa poi a provare l'applicazione sul vostro PC ed in particolare si osserva la funzione per l'affinità degli amici e gli altri quesiti principali. Eventuali registrazioni utente o elementi grafici hanno peso basso o nullo quindi non vale la pena perderci tempo.
Il tutto dura meno di 20 minuti; non so se anche il professore operi così.
Se il sito è malfunzionante si conferma il voto dello scritto, se qualcosa non va (come a me) si aggiunge 1 o 2 punti.
In bocca al lupo!
Ma verbalizzano direttamente il voto finale su libretto?
All times are GMT. The time now is 19:42. | Pages (2): [1] 2 » Show all 151 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.