|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Oct 2001
Città: Prov. di Frosinone
Messaggi: 948
|
Dubbio base di dati
Ciao
Devo realizzare una cosa simile: Per ogni parola possibile, devo specificare i vari significati che può avere, con l'elenco dei possibili sinonimi per ciascuno di questi. Quindi del tipo: -Cane: - (Significato 1) - Elenco sinonimi - (Significato 2) - Elenco sinonimi - (Significato 3) - Elenco sinonimi L'elenco dei sinonimi può essere tranquillamente un'unica stringa, quindi sostanzialmente abbiamo una tabella di 3 colonne (keyword, significato, sinonimi) Però non so bene come una cosa simile si possa realizzare... non ricordo in particolare se con sql si possano associare ad esempio più valori "significato" alla stessa keyword, oppure se si possano inserire diverse triple (cane, significato1, sinonimi) (cane, significato2, sinonimi) Non so se sono stato spiegato Grazie |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
la chiave in una base di dati è univoca, mentre sql è un linguaggio di interrogazioni alle basi di dati.
fai come chiave la keyword e significato.
__________________
My gaming placement |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2001
Città: Prov. di Frosinone
Messaggi: 948
|
Quindi in pratica diti di impostare la coppia keyword-significato come chiave nella tabella?
Cavolo, sono due anni che non tocco queste cose... mi toccherà fare una full immersion anche in questo |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
la chiava ha lo scopo di rendere univoca in una tabella una determinata riga.
adesso tu puoi risolvere in due problemi, o allarghi la chiave, tipo 2 colonne e non una sola, oppure lasci come colonna la prima, ma in fase di inserimento devi usare qualche "trucchetto", del tipo: [cane (1), significato, sinonimo] [cane (2), significato, sinonimo] [cane (...), significato, sinonimo] [cane (N), significato, sinonimo] così la chiave sarà diversa
__________________
My gaming placement |
|
|
|
|
|
#5 | ||
|
Senior Member
Iscritto dal: Oct 2001
Città: Prov. di Frosinone
Messaggi: 948
|
Quote:
Quote:
Oppure potrei inseire un'altra colonna: [cane, 1, significato, sinonimo] [cane, 2, significato, sinonimo] usando come chiave le prime 2 colonne, ma forse avrebbe poco senso... |
||
|
|
|
|
|
#6 |
|
Bannato
Iscritto dal: Feb 2006
Città: Torino
Messaggi: 93
|
La buona pratica suggerirebbe la creazione 3 tabelle distinte:
1) Vocaboli: [Vocabolo_ID] 2) Significati: [Significato_ID, xVocabolo_ID] xVocabolo_ID in relazione con la tabella Vocaboli 3) Sinonimi: [xSinonimo_ID, xSignificato_ID, xVocabolo_ID] xSignificato_ID, xVocabolo_ID in relazione con la tabella Significati Inoltre il campo xSinonimo_ID e' relazionato con la tabella Vocaboli... I campi che ho contrassegnato con _ID partecipano a costituire la chiave della tabella. Ultima modifica di Il.Socio : 11-08-2006 alle 12:15. |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Oct 2001
Città: Prov. di Frosinone
Messaggi: 948
|
Quote:
Considera che a me tutte quelle informazioni servono sempre: ogni volta che accedo al database mi serve leggere quei 3 campi |
|
|
|
|
|
|
#8 | |
|
Messaggi: n/a
|
Quote:
poi fai delle join per recuperare i dati. altrimenti come ti comporti con il numero di significati? tutte le parole hanno esattamente 3 significati? fai una breve ricerca del termine "normalizzazione" riferito ai database. ti chiarirà tutto |
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Oct 2001
Città: Prov. di Frosinone
Messaggi: 948
|
Quote:
[dog, 1, significato, sinonimi] [dog, 2, significato, sinonimi] [dog, 3, significato, sinonimi] [dog, 4, significato, sinonimi] [dog, 5, significato, sinonimi] [dog, 6, significato, sinonimi] [dog, 7, significato, sinonimi] "car" ne ha 5 [car, 1, significato, sinonimi] [car, 2, significato, sinonimi] [car, 3, significato, sinonimi] [car, 4, significato, sinonimi] [car, 5, significato, sinonimi] E così via... Poi per leggere i dati, seleziono tutte le tuple che hanno "dog" (o "car") come primo elemento. Dici che la cosa potrebbe creare problemi? |
|
|
|
|
|
|
#10 | |
|
Messaggi: n/a
|
Quote:
così ripeti continuamente "dog". pensa se ripeti 7 volte "precipitevolissimevolmente" due belle tabelle, un id esterno x collegarle. e luce fu. |
|
|
|
|
#11 | |
|
Messaggi: n/a
|
Quote:
|
|
|
|
|
#12 | |
|
Bannato
Iscritto dal: Feb 2006
Città: Torino
Messaggi: 93
|
Quote:
Cosa che e' concettualmente errata perche' alla coppia vocabolo/significato deve sempre corrispondere un'unico insieme di sinonimi. Es. pratico, consentirebbe l'inserimento di queste tuple: dog, 1, animale da compagnia, cane dog, 2, animale da compagnia, pollo Generando cosi' una incongruenza nei dati. La normalizzazione serve appunto per eliminare le ridondanze di dati ed i possibili errori di incongruenza degli stessi... Dopo che la struttura del db e' stata normalizzata, a seconda del caso specifico e' poi possibile modificare lo schema violando la forma normale con lo scopo di ottenere vantaggi in termini di performance o per questioni di praticita'... Ma sono scelte che dovrebbero essere prese a posteriori, con cognizione di causa e solo in quelle circostanze dove ve ne sia effettivamente una reale necessita'. |
|
|
|
|
|
|
#13 |
|
Bannato
Iscritto dal: Sep 2001
Città: http://elbompr.splinder.it
Messaggi: 254
|
Vocaboli:
Significati: xVocabolo_ID in relazione con la tabella Vocaboli Sinonimi vocaboli - significati relazione 1 : 1 vocaboli - sinonimi relazione 1 : n _____________________________________ Hengler dica una frase per avere una notte di sesso con un uomo . - esci con me stasera |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:01.



















