Ciao,
sto creando un semplice DB per accesso e configurazioni ad un sito.
CREATE TABLE `Utenti` (
`idutente` int(15) unsigned NOT NULL AUTO_INCREMENT,
`nomeutente` varchar(60) NOT NULL DEFAULT '',
`emailutente` varchar(60) NOT NULL DEFAULT '',
`passwordutente` varchar(60) NOT NULL DEFAULT '',
PRIMARY KEY (`idutente`)
) ;
CREATE TABLE `preferenzeutente` (
`idutente` int(15) unsigned NOT NULL,
`idlingua` int(11) DEFAULT NULL,
// altre preferenze.......
PRIMARY KEY (`idutente`),
CONSTRAINT `relazioneutentepreferenza` FOREIGN KEY (`idutente`) REFERENCES `Utenti` (`idutente`)
) ;
quello che non riesco bene a comprendere, e non trovo qualcosa di chiaro in rete, è come gestire le relazioni a livello di codice intendo, a livello pratico.
Il codice qui sopra è una relazione 1:n? se la volessi 1:1? o n:m?
constraint, esattamente, cosa serve?
grazie mille!!
sto creando un semplice DB per accesso e configurazioni ad un sito.
CREATE TABLE `Utenti` (
`idutente` int(15) unsigned NOT NULL AUTO_INCREMENT,
`nomeutente` varchar(60) NOT NULL DEFAULT '',
`emailutente` varchar(60) NOT NULL DEFAULT '',
`passwordutente` varchar(60) NOT NULL DEFAULT '',
PRIMARY KEY (`idutente`)
) ;
CREATE TABLE `preferenzeutente` (
`idutente` int(15) unsigned NOT NULL,
`idlingua` int(11) DEFAULT NULL,
// altre preferenze.......
PRIMARY KEY (`idutente`),
CONSTRAINT `relazioneutentepreferenza` FOREIGN KEY (`idutente`) REFERENCES `Utenti` (`idutente`)
) ;
quello che non riesco bene a comprendere, e non trovo qualcosa di chiaro in rete, è come gestire le relazioni a livello di codice intendo, a livello pratico.
Il codice qui sopra è una relazione 1:n? se la volessi 1:1? o n:m?
constraint, esattamente, cosa serve?
grazie mille!!