tb_utenti
id_profilo: 1tb_profili
id: 1
descrizione: normale
Codice (MySQL):
tb_utenti
KEY `fk_p` (`id_profilo`),(ovvero: costringi fk_p, chiave referenziante di id_profilo a referenziare il campo id di tb_profili)
CONSTRAINT `fk_p` FOREIGN KEY (`id_profilo`) REFERENCES `tb_profili` (`id`)
ON DELETE CASCADE ON UPDATE CASCADE
ESEMPIO DI IMPLEMENTAZIONE
DROP TABLE IF EXISTS `dbname`.`tb_profili`;
CREATE TABLE `dbname`.`tb_profili` (
`id` int(11) NOT NULL auto_increment,
`descrizione` varchar(40) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
INSERT INTO `dbname`.`tb_profili` (`id`,`descrizione`) VALUES
(1,'Amministratore'),
(2,'Utente'),
(3,'Ospite');
DROP TABLE IF EXISTS `dbname`.`tb_utenti`;
CREATE TABLE `dbname`.`tb_utenti` (
`id` int(11) NOT NULL auto_increment,
`username` varchar(20) NOT NULL,
`password` varchar(50) NOT NULL,
`nome` varchar(30) default NULL,
`cognome` varchar(50) default NULL,
`email` varchar(50) default NULL,
`data` datetime NOT NULL,
`attivo` int(11) NOT NULL default '0',
`id_profilo` int(11) NOT NULL default '0',
`note` text,
PRIMARY KEY (`id`,`username`),
UNIQUE KEY `id` (`id`),
KEY `fk_profili` (`id_profilo`),
CONSTRAINT `fk_profili` FOREIGN KEY (`id_profilo`) REFERENCES `tb_profili` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8;
(vedere manuale MySQL per il significato del valore AUTO_INCREMENT)
No comments:
Post a Comment