--- Sangalli Fabio ha scritto: > mi sto avvicinando in questi mesi a base e volevo sapere se sia > possibile > attibuire ad uno o piu' campi l'opzione UNICO; cioe' avendo dei campi > contenenti codici avrei bisogno che il databese verificasse che non > sia gia' stato usato quel valore.
devo ammettere che non conosco base e quindi non so di preciso cosa intendi per "opzione UNICO". Per verificare che in una colonna (o insieme di colonne) un valore non sia stato ripetuto puoi: * far si che quella colonna sia la chiave primaria della tabella * far si che quella colonna abbia un indice univoco * creare un trigger che impedisce l'inserimento in un campo di un contenuto già esistente in un altro record Se quella tabella che stai per creare contiene dei codici "univoci" poi da utilizzare in altre tabelle, allora è consigliabile crearsi una chiave primaria (o al più un indice univoco) in modo poi da creare delle foreign key sulle altre tabelle che utilizzano tali codici. In ogni caso prima di creare le tabelle devi studiare un po' e capire: * quanti dati conterranno o potranno contenere * come devono essere utilizzate (una tabella o un insieme di tabelle deve fornire, oltre che un buon mezzo di immagazzinamento dati, anche un buon mezzo per ottenere i risultati che vuoi in un tempo "istantaneo") Poi è meglio cercare, tenendo conto dei due punti precedenti, di spezzare le informazioni in più tabelle in modo da evitare ripetizioni di dati e crearsi una struttura che garantisce la consistenza dei dati (quindi usare primary e foreign key, indici, ...). Bisogna anche tenere conto del database che si sta utilizzando e quindi delle sue caratteristiche e dei suoi limiti. Se le cose che ho detto non ti sono molto chiare è forse meglio prima fare un corso di SQL (ce ne sono molti anche on-line) o leggersi il manuale di utente del proprio db (molte volte contiene le spiegazioni dettagliate dei vari comandi SQL) ... e poi fare molti esercizi. Ciao Davide Dizionari: http://linguistico.sourceforge.net/wiki Conoscere il TC: http://www.no1984.org Strumenti per l'ufficio: http://it.openoffice.org Sistema operativo: http://www.it.debian.org Browser: http://www.mozilla.org/products/firefox Client di posta: http://www.mozilla.org/products/thunderbird GNU/Linux User: 302090: http://counter.li.org -- Non autorizzo la memorizzazione del mio indirizzo di posta a chi usa outlook: non voglio essere invaso da spam ___________________________________ Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB http://mail.yahoo.it --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
