.dsy:it. 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)


Posted by number15 on 24-12-2011 15:44:

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


Posted by pintu on 27-12-2011 19:54:

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 -.-


Posted by number15 on 27-12-2011 22:41:

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


Posted by CowBoy on 27-12-2011 22:48:

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.

Per scaricare php vai su http://www.php.net/downloads.php
Se usi WinOS vai su http://windows.php.net/download/

Ogni versione ha delle piccole accortezze, ma una volta letto con calma il README (meglio se due volte) l'installazione e l'integrazione dell'intero sistema(apache+postgres) dovrebbe essere facile ed immediata.

Ciao

__________________
.. ±·ø·±-`` MuSiC iS My LanGuAGe ´´-±·ø·± ..


Posted by pintu on 27-12-2011 23:47:

@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!


Posted by CowBoy on 28-12-2011 13:17:

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 ´´-±·ø·± ..


Posted by CowBoy on 28-12-2011 13:45:

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 ´´-±·ø·± ..


Posted by pintu on 29-12-2011 00:10:

Grazie per la spiegazione CowBoy! :)


Posted by SanJuanWolf89 on 29-12-2011 10:03:

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


Posted by pintu on 29-12-2011 18:20:

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 :)


Posted by number15 on 29-12-2011 18:37:

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


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.

__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com


Posted by number15 on 29-12-2011 18:45:

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 :)


1) attributo tipo mettilo sempre: guarda poi se in base al tipo di utente ci sono informazioni diverse.
2) direi che non c'entra con db ma con applicazione. Comunque direi che psw non la vede neanche l'admin. Contatto credo sia email o telefono.

__________________
Portale segnalazioni marchi-negozi di abbigliamento
http://www.ovojo.com


Posted by pintu on 29-12-2011 18:59:

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 :D


Posted by number15 on 30-12-2011 09:58:

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


Posted by SanJuanWolf89 on 02-01-2012 08:41:

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.



hai ragione hhahah anke s nn ho voglia d rimodificare tutto


cmq ho una domanda ..nel testo viene detto che ogni categoria puo avere caratteristiche ..in che senso???


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.