Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315

    [sql] struttura tabella email

    Ciao a tutti,

    avrei bisogno di capire la struttura di una tabella contenente le email....
    io avrei elaborato questo:

    codice:
    CREATE TABLE EMAIL(
        ID              INTEGER PRIMARY KEY,
        OGGETTO         VARCHAR(400),
        MITTENTE        VARCHAR(400),
        DESTINATARIO    BLOB,
        CC              BLOB,
        BCC             BLOB,
        PRIORITA        VARCHAR(20),
        RECEIPT         BLOB,
        ORGANIZZAZIONE  BLOB,
        DATA            DATE,
        ORA             TIME,
        BYTES           INTEGER,
        CANCELLATO      VARCHAR(1),
        BODY            BLOB);
    nutro diversi dubbi per quanto riguarda i campi DESTINATARIO, CC, BCC,RECEIPT e ORGANIZZAZIONE che avrei pensato tipo BLOB... googlando ho trovato solo alcuni che dicevano genericamente che erano campi formato testo senza specificarne la lunghezza.

    ho visto molte email con tanti indirizzi di destinazione.... quindi non saprei che dimensione dare a questi fields.

    avete suggerimenti o indirizzi utili dove leggere.... ho avete gia una struttura da postarmi?

    grazie

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315

    Re: Re: [sql] struttura tabella email

    Originariamente inviato da MacApp
    Sei totalmente fuori strada, salvo restando forse solo il campo ID come chiave primaria.
    http://it.wikipedia.org/wiki/Normali...e_del_database
    Ciao MacApp e grazie dell'aiuto!

    fortunatamente esiste questo forum dove postando i miei dubbi riesco ad evitare molti errori.

    ma potresti essere più chiaro? al di la della normalizzazione e la non ridondaza dei dati non ho capito quale e' la struttura della tabella email della quale cerco informazioni....

    forse intendi che devo fare una cosa del genere?
    codice:
    CREATE TABLE EMAIL(
        ID              INTEGER PRIMARY KEY,
        IDdest        INTEGER REFERENCES DESTINATARIO(ID),
        IDcc           INTEGER REFERENCES cc(ID),
        IDbcc          INTEGER REFERENCES bcc(ID),
        oggetto       VARCHAR(400),
        MITTENTE        VARCHAR(400),
        etc,etc...
    questo intendi?
    e se è cosi quando invii una email con 50 indirizzi devi inviare 50 email al server di posta, invece di inviarne 1 con 50 indirizzi di destinazione?

    facendo delle prove con il programma outlook ho visto che nelle caselle destinatario, cc e body si riescono ad inserire 32767 caratteri e nella casella oggetto 256 caratteri

    qualcosa non mi e' chiara....
    grazie dell'aiuto.

  4. #4
    Utente di HTML.it L'avatar di Joe Taras
    Registrato dal
    Nov 2003
    residenza
    Taranto
    Messaggi
    954
    Ciao,
    ti rispondo limitatamente al secondo post, poi la base di dati la devi immaginare come meglio credi ma io farei così
    MITTENTE è a sua volta chiave esterna e non un campo libero.
    IdDest lo sostituirei con IdLista e creerei una nuova tabella
    listadestinatari figlia di email, dove hai due campi
    idemail (che è l'id della mail) e id del contatto, quindi quando invii una mail prendi tutti i destinatari figli della stessa.

    In merito al limite di destinatari, anche i client di posta ne hanno uno infatti in alternativa si creano delle liste di distribuzione, potresti anche immaginare l'uso di queste che ovviamente hanno impatti sulla struttura del db.

    Cmq sicuramente la seconda soluzione è migliore della prima che hai postato ma si può sempre raffinare.

    Ti consiglio di immaginare un diagramma entità relazioni (non deve essere necessariamente formale) ma che ti aiuti nella progettazione della base di dati.

    Buona giornata

  5. #5

    Re: Re: Re: [sql] struttura tabella email

    Originariamente inviato da 123delphi321
    se è cosi quando invii una email con 50 indirizzi devi inviare 50 email al server di posta, invece di inviarne 1 con 50 indirizzi di destinazione?
    No. Organizza i tuoi dati almeno in terza forma normale, poi quando hai bisogno di aggregarli, costruendo ad esempio un campo contenente diversi indirizzi email, li aggreghi con una query opportuna, (effettuando ad esempio join, union, query annidate e quant'altro tra le varie tabelle), che se riterrai opportuno potrai mettere in una view.

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    bene, quindi devo creare automaticamente una tabella con indirizzi email... questa la struttura:

    codice:
    CREATE TABLE INDIRIZZIEMAIL(
        ID            INTEGER PRIMARY KEY,
        ITEM          VARCHAR(150),
        EMAIL         VARCHAR(150) unique);
    
    CREATE TABLE INDIRIZZIDELLAEMAIL(
        ID           INTEGER PRIMARY KEY,
        IDEMAIL      INTEGER REFERENCES EMAIL(ID) on delete cascade,
        IDDEST       INTEGER REFERENCES INDIRIZIEMAIL(ID) on delete cascade,
        IDCC         INTEGER REFERENCES INDIRIZIEMAIL(ID) on delete cascade,
        IDBCC        INTEGER REFERENCES INDIRIZIEMAIL(ID) on delete cascade);
    Nella tabella INDIRIZZIDELLAEMAIL solo 1 field tra IDDEST, IDCC, IDBCC avra un valore per ogni record.

    quindi con questo sistema qualsiasi indirizzo inserito nella email ( to/cc/bcc ) dovrà essere registrato nella tabella indirizzi.

    spero di aver pensato bene..... ?!
    grazie

  7. #7
    Una email puo' essere inviata a tanti destinatari:
    • direttamente;
    • in conoscenza pubblica;
    • in conoscenza privata;

    e magari ci sono altri modi o ce ne saranno in futuro.

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    Originariamente inviato da MacApp
    Una email puo' essere inviata a tanti destinatari:
    • direttamente;
    • in conoscenza pubblica;
    • in conoscenza privata;

    e magari ci sono altri modi o ce ne saranno in futuro.
    cosa intendi?

    direttamente; = destinatario
    in conoscenza pubblica; = cc
    in conoscenza privata; = bcc

    o altro?

    grazie

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,315
    ciao,

    mi sto incasinando. sto avendo delle difficolta nella cattura degli indirizzi email.

    in pratica quando mi arriva una email, possono arrivare, diversi indirizzi che io poi dovrei inserire nell'apposita tabella.

    il problema è che questi indirizzi non hanno sempre la stessa sintassi.. es.:

    "nome, cognome, societa" <nome.cognome@virgilio.it> o anche
    nome.cognome@virgilio.it o anche
    nome, cognome, societa (nome.cognome@virgilio.it)

    e non so in quanti altri modi acora....

    mi sapete suggerire qualcosa?

    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.