Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: [db] Piccolo consiglio

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    144

    [db] Piccolo consiglio

    Ciao! Ognuno dei miei utenti può caricare varie immagini per arricchire il proprio profilo. Una volta caricata l'immagine, nel db ci andrà a finire solo il percorso.
    Vorrei avere un consiglio su come predisporre le tabelle del database. Faccio una tabella unica apposta per le immagini di tutti gli utenti? O c'è qualche soluzione migliore?
    Ciao, Grazie

  2. #2
    io farei una tabella t_immagini con campi:
    c_id; magari anche solo un valore autoincrementale che faccia da chiave primaria
    c_path;
    c_user_id;

    qualcosa del genere ... perchè se fai una sola tabella dopo sei cotretto a replicare le righe utenti se mettono più immagini ... così mi sembra più snello
    OUTSHINE '84

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    144
    Sisi nel mio post volevo dire quello.. una tabella per i dati di tutti gli utenti e una tabella con i percorsi di tutte le immagini di tutti gli utenti!

  4. #4
    Originariamente inviato da W3bm@st3r
    Sisi nel mio post volevo dire quello.. una tabella per i dati di tutti gli utenti e una tabella con i percorsi di tutte le immagini di tutti gli utenti!

    hai due soluzioni:

    1) Una tabella per gli utenti, Users, e una per le immagini, Images

    Users:

    id primary_key
    ...

    Images:

    id primary_key
    user_id foreign_key references Users.id
    path


    in relazione 1 a molti, quindi ad 1 utente corrispondono tante immagini in Images collegate all'utente grazie alla foreign key


    2) Una tabella per gli utenti, Users, una per le immagini, Images, una per fare la relazione 1 a molti fasulla, users_to_images, dove:

    Users:

    vedi sopra

    Images

    vedi sopra ma manca del campo user_id

    users_to_images:

    id
    user_id foreign_ley references Users.id
    image_id foreign_key references Images.id


    ovviamente è una relazione 1 a molti fasulla perchè lo schema ti permetterebbe di avere molti utenti che posseggono la stessa foto (infatti in genere si usa per queste situazioni).. però è un'alternativa

    altri modi nun ce stanno

    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Io userei entrambe le soluzioni di Santino83_02, mi spiego meglio.

    La chiave esterna sulla tabella immagini la usi per capire i pèroprietari della immmagini.
    La tabella di relazione molti a molti la usi per far in modo di collegare le immagini di un utente con quelle di un altro utente.

    Se i due utenti hanno un rapporto di amicizia(tipo facebook per capirci) potranno condividere le immagini che decideranno oppure pubblicarle l'uno sulla pagina dell'altro.

    Cosi' potrai mettere in codeivisiano le foto degli utenti. ....

    Comodo no?

    Poi anche tenere la cosa piu' in piccolo e far si che che solo le immagini collegate siano visibili agli amici tutti gli altri non potranno mai vedere le mie foto a meno che io non deccida altrimenti.

    E se possono vederle saro io a decidere quali.

    Quindi puoi giocare con la configurazione delle amicizi mettendo un campo
    photo_view_mode [0,2]

    0=> non vede foto
    1=> le vede tutte
    2=> vede solo quelle che ho collegato.



  6. #6
    Ciao..

    Oltre a quello consigliato dagli utenti prima di me, io ti consiglierei di salvare sul DB , SOLTANTO il nome del file da caricare.

    Questo perchè, se un domani per esempio, vuoi cambiare cartella alle immagini caricate, invece di passarti tutte le righe della tabella immagini, cambi soltanto il percorso dal php e sei apposto

    Spero di esserti stato utile

  7. #7
    Originariamente inviato da Virus_101
    Io userei entrambe le soluzioni di Santino83_02, mi spiego meglio.

    La chiave esterna sulla tabella immagini la usi per capire i pèroprietari della immmagini.
    La tabella di relazione molti a molti la usi per far in modo di collegare le immagini di un utente con quelle di un altro utente.

    Se i due utenti hanno un rapporto di amicizia(tipo facebook per capirci) potranno condividere le immagini che decideranno oppure pubblicarle l'uno sulla pagina dell'altro.

    Cosi' potrai mettere in codeivisiano le foto degli utenti. ....

    Comodo no?
    no è sbagliato concettualmente... un conto è possedere una foto, un conto è poterla vedere... sono due azioni distinte che devono essere gestite distintamente nel database

    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    144
    ok, Grazie mille a tutti!

  9. #9
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Prego.

    X santino .... non capisco e' prorpio come dice te le 2 situazione sono gesdtite distintamente.

    1- possessore della foto e' linkato con chiave esterna dalla tabella foto
    2- dati di condivisione sono stipati su tabella di relazione

    .....
    Non capisco perche' dice che e' concettualmente sbagliato.
    2 tipi di collegamenti diversi sono stipati su tabelle diverse.

    1- relazione 1 a molti
    2- relazione molti a molti

    ..... mah

  10. #10
    Originariamente inviato da Virus_101
    Prego.

    X santino .... non capisco e' prorpio come dice te le 2 situazione sono gesdtite distintamente.

    1- possessore della foto e' linkato con chiave esterna dalla tabella foto
    2- dati di condivisione sono stipati su tabella di relazione

    .....
    Non capisco perche' dice che e' concettualmente sbagliato.
    2 tipi di collegamenti diversi sono stipati su tabelle diverse.

    1- relazione 1 a molti
    2- relazione molti a molti

    ..... mah
    scusa mi ero perso il collegamento utente-foto nella tabella foto
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.