![]() |
Pages (12): « 1 [2] 3 4 5 6 » ... Last » 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)
-- Progetto Basi 2011/2012 (http://www.dsy.it/forum/showthread.php?threadid=42537)
Si.
TI faccio un esempio ("pseudocodice"):
UTENTE(id_utente, username, password, email, tipo_utente);
id_utente MEDIUMINT AUTO_INCREMENT;
PK(id_utente);
UNIQUE(email);
UNIQUE(username);
ANNUNCI(id_annuncio, xxx,xxx, id_utente);
FK(id_utente) REFERENCES utente(id_utente);
E' l'id_utente in annunci che fa riferimento ad utente e non il contrario
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
Come sempre grazie per le risposte e la pazienza Mi potresti spiegare che differenza ci sarebbe se fosse il contrario??
PS: ho scaricato e installato apache sul mio portatile. Ora per completare l'opera dovrei scaricare php , postgres e phppgadmin per poter lavorare nello stesso ambiente del laboratorio di DB. Qualcuno riesce a trovare un link decente per scaricare php?? Non riesco a trovare nessun installer, solo file zip pieni di cartelle e altri file php e sinceramente non so cosa farne -.-
Semplicemente tu la chiave esterna la metti su una chiave peimaria di un altra tabella. Quindi tu crei id_utente in Utente come chiave primaria mentre id_utente in Annunci è chiave esterna riferita a id_utente in Utente. Questo garantisce che ogni annuncio sia associato ad un utente esistente nella base di dati.
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
Non riesco a trovare nessun installer, solo file zip pieni di cartelle e altri file php e sinceramente non so cosa farne -.-Scarica il zip e leggi con attenzione il README... prima di aprirlo libera un paio di chakra. Io avevo usato php 5.3.
__________________
.. ±·ø·±-`` MuSiC iS My LanGuAGe ´´-±·ø·± ..
@number15: tutto chiaro grazie
@cowboy: apache è installato e funzionante. Avevo gia scaricato lo zip di php per windows, estratto i file all'interno di una cartella che ho chiamato php, e messo la cartella in C:\ . Ho trovato una guida sull'installazione di apache-php-postgres..secondo questa all'interno del mio zip dovrei avere un file php5ts.dll (che manca) che va messo nella cartella WINDOWS. C'è scritto poi di editare il file httpd.conf (nella cartella apache) inserendo 3 righe di codice. Seguo tutte le istruzioni alla lettera ma il mio simpaticissimo portatile mi dice che non posso editare il file httpd.conf perchè non riesce a trovare il path
penso di essere vicino all'esaurimento!
hehe... te l'ho detto di liberare un paio di chakra
L'installazione all'inizio sembra complicata, dagli un'altra chance. Nel frattempo vedo se riesco a trovare il materiale del progetto dove ho tenuto un diario dell'istallazione
__________________
.. ±·ø·±-`` MuSiC iS My LanGuAGe ´´-±·ø·± ..
Il file httpd.conf lo trovi (normalmente, per la versione 2.2) sotto:
C:\Programmi\Apache Software Foundation\Apache 2.2\conf\
Quindi vai sul Prompt, posizionati sulla cartella conf e scrivi:
notepad httpd.conf > invio
Al file di configurazione io ho aggiunto le seguenti 5 righe:
LoadModule php5_module "PHPinstallDIR/php5apache2.dll"
AddType application/x-httpd-php .php
PHPIniDir "PHPinstallDIR"
DocumentRoot "C:/prog"
LoadFile C:/Programmi/PostgreSQL/8.4/bin/libpq.dll
La riga Document root era dove io avevo i file del mio progetto. Attenzione anche alle cartelle nominate secondo le versioni, le mie e le tue non coincidono.
Se, come me, hai estratto i file di php sotto C:\php allora:
1- copia il file php.ini-recommended (del zip) nella cartella di estrazione
2- copia le seguenti librerie nella cartella di estrazione(ricontrollare le versioni):
- fdftk.dll
- libmysql.dll
- php5apache2_2.dll
- php5ts.dll
3- copiare il contenuto della cartella ext nella cartella [/b]extensions[/b]
4- modificare il contenuto di php.ini (il file al punto 1, rinominato) come segue, alcune voci sono presenti nel file:
include_path = "PHPinstallDIR\includes"
extension_dir = "PHPinstallDIR\extensions"
extension = php_mysql.dll
extension = php_pgsql.dll
extension = php_xsl.dll
5- riavvia il sistema (anche se fai delle modifiche minori)
Buon progetto!
__________________
.. ±·ø·±-`` MuSiC iS My LanGuAGe ´´-±·ø·± ..
Grazie per la spiegazione CowBoy!
Rispondo a pintu...se fosse il contrario ogni utente sarebbe collegato a un solo annuncio invece ogni utente puo pubblicare qnt annuncio vuole..
Per quanto riguarda gli utenti non registrati io nn ho fatto alcuna tabella xk nn sn necessarie credenziali per verificarne l'accesso.
Per l amministratore invece si perche cmq l amministratore anche se uno solo ha un login e una password
Infine rispondo a number15..non sono daccordo sulla tua decisione d mettere come primary key l'id utente..io ho messo come primary key il nome dell'utente proprio cm succede qnd t registri da qualche parte...quello che è unico è il nome dell'utente e se e gia occupato da qlkn altro risulta non disponibile
Dal testo del progetto:
"Utente registrato. Ha accesso al sistema mediante credenziali e può pubblicare annunci. Gli utenti registrati possono essere privati o agenzie. Il contatto dell'utente registrato che ha pubblicato l'annuncio è sempre visibile mentre l'insieme completo dei dati di registrazione di un utente è disponibile per la consultazione solo da parte degli amministratori del sistema."
1) "Gli utenti registrati possono essere privati o agenzie."
E' una richiesta che comporta le opportune modifiche al dbms o no? Nel senso...nella mia tabella UTENTE potrò avere 'gli utenti pinco pallino' e 'azienda srl' senza preoccuparmi del fatto che uno sia un privato e l'altro un azienda o secondo voi è necessario aggiungere alla tabella l'attributo 'tipoUtente' con dominio (privato, azienda)??
2)"Il contatto dell'utente registrato che ha pubblicato l'annuncio è sempre visibile mentre l'insieme completo dei dati di registrazione di un utente è disponibile per la consultazione solo da parte degli amministratori del sistema."
Ciò significa che un (utente registrato e non) può sapere solo che un certo annuncio è stato pubblicato da 'pincopallino' mentre l'amministratore può vedere tutte le info come nome, cognome, password?
So che sono domande banali ma prima di mettermi a smanettare volevo avere delle certezze su come impostare le tabelle
Originally posted by SanJuanWolf89
Infine rispondo a number15..non sono daccordo sulla tua decisione d mettere come primary key l'id utente..io ho messo come primary key il nome dell'utente proprio cm succede qnd t registri da qualche parte...quello che è unico è il nome dell'utente e se e gia occupato da qlkn altro risulta non disponibile
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
Originally posted by pintu
Dal testo del progetto:
"Utente registrato. Ha accesso al sistema mediante credenziali e può pubblicare annunci. Gli utenti registrati possono essere privati o agenzie. Il contatto dell'utente registrato che ha pubblicato l'annuncio è sempre visibile mentre l'insieme completo dei dati di registrazione di un utente è disponibile per la consultazione solo da parte degli amministratori del sistema."
1) "Gli utenti registrati possono essere privati o agenzie."
E' una richiesta che comporta le opportune modifiche al dbms o no? Nel senso...nella mia tabella UTENTE potrò avere 'gli utenti pinco pallino' e 'azienda srl' senza preoccuparmi del fatto che uno sia un privato e l'altro un azienda o secondo voi è necessario aggiungere alla tabella l'attributo 'tipoUtente' con dominio (privato, azienda)??
2)"Il contatto dell'utente registrato che ha pubblicato l'annuncio è sempre visibile mentre l'insieme completo dei dati di registrazione di un utente è disponibile per la consultazione solo da parte degli amministratori del sistema."
Ciò significa che un (utente registrato e non) può sapere solo che un certo annuncio è stato pubblicato da 'pincopallino' mentre l'amministratore può vedere tutte le info come nome, cognome, password?
So che sono domande banali ma prima di mettermi a smanettare volevo avere delle certezze su come impostare le tabelle![]()
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
Non avevo minimamente pensato a "contatto" in quel senso ahah xD Comunque volevo lasciarla visibile all'admin così se un utente l'ha dimenticata in qualche modo si recupera
Se scegli di non criptare allora sì, altrimenti ne dovresti creare una nuova in caso di dimenticanza.
__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com
Originally posted by number15
Ciao, è ovviamente giusto anche la tua scelta ma pensa all'alla gestione/ottimizzazione di un database.
Ad esempio con la tua scelta la chiave esterna in annuncio sarà un varchar(20) mentre potrebbe essere uno smallint unsigned.
Quindi le join saranno molto più 'pesanti'.
Per indicare come unico un campo si usano gli indici Unique: in questo caso puoi farne due, uno per username e uno per email.
In ogni caso i controlli saranno gestiti dall'applicazione web e non dal database, cioè prima del db sarà l'applicazione a dirti che esiste già un utente con quello username.
All times are GMT. The time now is 13:31. | Pages (12): « 1 [2] 3 4 5 6 » ... Last » Show all 167 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.