Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Consiglio su come impostare un sito

    Sto realizzando una struttura composta da una amministrazione centrale e dei siti esterni indipendenti tra loro, la struttura gestisce siti di studi commerciali tutti uguali ma con una parte dinamica che varia da acquirente ad acquirente
    in pratica io dalla amministrazione centrale inserisco e aggiorno le parti in comune ad ogni sito ovvero le notizie finanziarie i link istituzionali, gli scadenzari e i file di utilità come winzip ecc... cosi tolgo l'onere all'acquirente di dover aggiornare il sito sotto questi aspetti, il commercialista che acquista il sito può, dal canto suo, attraverso una sua zona di amministrazione, inserire dei comunicati sul proprio sito, inserire dei clienti che poi avranno accesso ad un'area riservata, caricare dei file e creare delle categorie a cui appartengono questi file che sono a loro volta associati ai clienti dello studio.
    In pratica presumendo che l'acquirente si chiami "studio rossi" io dovro creare nel db 4 tabelle (oltre a quelle comuni che sono : news,links,scadenzario e utility) e sono:

    rossi_clienti ( i dati dei sui clienti )
    rossi_procedure ( il nome dei file, il percorso e l'id del cliente a cui è associato il file )
    rossi_procedure_cat ( le categorie che possono essere assegnate alle procedure , esempio "Dichiarazione dei redditi 2005" )
    rossi_comunicati ( puo inserire delle notizie titolo-testo che appaiono in homepage )

    a questo punto ,dopo aver realizzato il sito perfettamente(che buffone!), mi è venuto il dubbio, non essendo molto pratico di php e essendo anche la prima volta che affronto un sito di queste dimensioni, che forse 4 tabelle x acquirente sono troppe ed ho pensato che potrei,invece, crearne SOLO 4 dove tutti gli acquirenti vanno a scrivere e,quindi, di inserire in queste quattro 4 tabelle un altro campo,oltre a quelli già presenti, chiamato chiave_unica, una stringa associata ad ogni acquirente(una specie di cd_key) esempio 41e1j49649d66.
    Quindi a questo punto creare una tabella ulteriore esempio "acquirenti" dove memorizzo tutti i dati anagrafici degli acquirenti compresa questa chiave unica e poi, ogni volta che loro andranno ad inserire un comunicato o qualsiasi altro dato nel db, memorizzare questa chiave nel campo chiave unica di ogni tabella im modo da associare quel record al cliente che l'ha inserito.

    Cosa vi sembra?

    Potrei , invece di utilizzare questa chiave unica, usare l'id dell'acquirente quando lo creo nella tabella "acquirente",ma mi sembra che poi facendo prove gli id non possono combaciare, invece assegnando una chiave unica che poi vado a stampare e a consegnare all'acquirente, oltre che a memorizzare in una tabella, ho maggiori possibilità di reperire questa chiave nel malaugurato caso che andasse perduta.

    cosa ne pensate?

    come posso creare questa chiave unica?

    so di essere stato prolisso ma è la prima volta che mi trovo ad affrontare un sito cosi grande e quindi devo cercare prevedere ogni la possibilità di errore o di miglioria.
    grazie
    "Frase di elevato spessore culturale che ti lascia a riflettere con stupore misto a invidia per non aver pensato di metterla nella tua firma"

  2. #2
    Non vedo quale sia il problema 4 tabelle sono uno scherzo per qualunque server decente... ma quanti clienti hai? cento mila?
    Al posto dell'ID usa il nome del cliente (che è sicuramente univoco)

  3. #3
    Non vedo quale sia il problema 4 tabelle sono uno scherzo per qualunque server decente... ma quanti clienti hai? cento mila?
    non essendo mio il progetto, cioè io realizzo grafica e codice per conto di una società che poi provvederà a venderlo, non posso stabilire quanti clienti avrà e quindi quanti siti ci saranno, io lo sto realizzando e gia ora sono almeno tre quindi gia 12 tabelle,

    Al posto dell'ID usa il nome del cliente (che è sicuramente univoco)
    ci avevo pensato anche io ma non la ritenevo ,causa la mia inesperienza con il php, una soluzione , come dire, elegante, tutto qua
    grazie per l'aiuto, se qualcuno ha altre opinioni o soluzioni, sono bene accette,
    grazie nuovamente
    "Frase di elevato spessore culturale che ti lascia a riflettere con stupore misto a invidia per non aver pensato di metterla nella tua firma"

  4. #4
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    io farei una tabella 'studi' o 'aziende'

    id_azienda
    ragione_sociale
    indirizzo
    tel
    fax
    ecc..

    poi 3 tabelle 'clienti','procedure','comunicati'
    ke avranno un campo 'id_azienda' in modo da creare un'associazione uno-molti con la tabella 'aziende'

    'procedure' sarà anke associata a 'procedure_cat'

    in questo modo puoi aggiungere tutti gli studi e tutte le categorie di procedure ke vuoi e le tabelle rimangono sempre quelle così potrai gestire tutti i dati coerentemente
    Errare humanum est, perseverare ovest

  5. #5
    appunto la soluzione che stavo valutando di adottare,
    (procedure e procedure_cat gia funzionano cosi)

    mi chiedevo se per limitare gli errori dovute a involontarie cancellazioni, dato che la zona di amministrazione centrale permette anche la creazione ed eliminazione di clienti e non sarò io ad amministrarla, se era conveniente usare una chiave identificativa che andrebbe anche stampata anche su formato cartaceo alla creazione del cliente al posto dell' id_azienda;
    tutto qua, e se questa idea fosse valida, come posso creare questa chiave?
    grazie per l'aiuto
    "Frase di elevato spessore culturale che ti lascia a riflettere con stupore misto a invidia per non aver pensato di metterla nella tua firma"

  6. #6
    beh...ci sono 2 modi per mettere gli indici...uno è quello di mettere una chiave primaria auto-increment, un'altro è quello di fare una unica grande chiave primaria che contiene le colonne che devono essere univoche

    e la cosa varia da occasione ad occasione ed anche dal tipo di operazione...se ad esempio faccio 1000 inserimenti al giorno e 10 ricerche è MOLTO meglio mettere una PK autoincrement e magari un indice normale sulla colonna, altrimenti se faccio 1000 ricerche e 10 inserimeti, in questo caso conviene di più e non di poco mettere una chiave primaria unica su tutti i campi che si usano per la ricerca ed usarli sempre

    il perché di usare sempre tutti i campi di ricerca nel where, anche al costo di metterli vuoti è perché in altro caso la chiave primaria non sarebbe usata, o qualsiasi altro indice non sarebbe usato, cmq c'è una bellissima pagina su mysql che spiega il funzionamento degli indici
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  7. #7
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    ma per cliente, intendi l'azienda o il cliente dell'azienda?
    Errare humanum est, perseverare ovest

  8. #8
    ho provato con gli strumenti per le lingue di google ma non esiste ancora un traduttore daniele_dll/italiano,
    posso con chiarezza e senza vergonarmi dirti che non ci ho capito una mazza?
    "Frase di elevato spessore culturale che ti lascia a riflettere con stupore misto a invidia per non aver pensato di metterla nella tua firma"

  9. #9
    ma per cliente, intendi l'azienda o il cliente dell'azienda?
    si scusa, quando dico che l'amministrazione centrale prevede la creazione e la cancellazione di "clienti" mi riferisco alle aziende o studi che acquistano il sito e non ai loro clienti, quindi dicevo di assegnare una chiave unica all'azienda, una specie di cd_key appunto, per la gestione dei loro clienti mi basta l'id_cliente.
    "Frase di elevato spessore culturale che ti lascia a riflettere con stupore misto a invidia per non aver pensato di metterla nella tua firma"

  10. #10
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    non riesco a capire perkè non basta l'id_azienda ke è la cosa + pratica. e non so cosa è una cd_key
    Errare humanum est, perseverare ovest

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.