Visualizzazione dei risultati da 1 a 3 su 3

Discussione: implementazione EAV

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    434

    implementazione EAV

    Ciao a tutti,

    vorrei implementare un modello EAV in mysql ed avevo pensato ad una cosa del genere per non essere costretto ad effettuare tutta la validazione dei dati attraverso la UI dell'applicazione:

    TABELLA UTENTI
    id
    nick
    password

    TABELLA ATTRIBUTI
    id (int)
    nome (varchar)
    datatype (enum: int,double,varchar,text,date)

    TABELLA VALORI
    id (int)
    id_utente (int)
    id_attributo (int)
    valore_int (int)
    valore_double (double)
    valore_varchar (varchar)
    valore_text (text)
    valore_date (date)

    con questi campi che possono essere NULL:
    valore_int (int)
    valore_double (double)
    valore_varchar (varchar)
    valore_text (text)
    valore_date (date)

    Prima domanda: come vi pare come struttura?

    Seconda domanda: è possibile in qualche modo fare una query del tipo

    INSERT INTO valori
    VALUES ($id_utente, $id_attributo, $valore)

    e poi mysql mi mette il dato automaticamente nel campo giusto guardando quale tipo di dato ha quel particolare attributo?

    O magari anche una determinazione del tipo di dato al volo, ma temo che questo sia chiedere troppo.

    Grazie mille

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    la struttura penso possa andar bene, mentre per l'INSERT mi pare non si possa fare come dici... mentre si può controllare a priori il tipo del dato... ma intendi da PHP?

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    434
    no avrei voluto fare una cosa del genere in mysql... ma vabè, la farò in php.

    grazie

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 © 2024 vBulletin Solutions, Inc. All rights reserved.