Chi mi pùò aiutare.....Prima ho creato la tabella utenti registrati poi ho creato la tabella rubriche dove per ogni rubrica creo il corrispettivo contatto
codice:
CREATE TABLE IF NOT EXISTS UtentiR(
EmailR varchar(20) PRIMARY KEY,
Nome char(30),
Cognome char(30),
Data date,
Sesso char(1),
Password varchar(12) not null,
Ut varchar(2),
Administrator varchar(2)
) ENGINE=INNODB;
CREATE TABLE IF NOT EXISTS Rubriche(
id_Num int not null AUTO_INCREMENT,
UtenteR varchar(50),
Rubrica varchar(20),
EmailC varchar(50),
Nome char(30),
Cognome char(30),
Telefono varchar(15),
Cellulare varchar(15),
Fax varchar(15),
Citta varchar(30),
Indirizzo varchar(30),
SitoWeb varchar(100),
Visibilita char(15) not null,
UNIQUE(id_Num),
PRIMARY KEY(id_Num),
INDEX Ind_Autore(UtenteR),
FOREIGN KEY(UtenteR) REFERENCES UtentiR(EmailR) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=INNODB;
Ora sto cercando di creare dei gruppi di utenti che possono visualizzare solo determinati contatti io ho pensato di fare così:
codice:
CREATE TABLE IF NOT EXISTS AssUtGr(
EmailR varchar(50),
nomeGruppo varchar(50),
PRIMARY KEY(nomeGruppo),
FOREIGN KEY(EmailR) REFERENCES UtentiR(EmailR) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=INNODB;
CREATE TABLE IF NOT EXISTS AssGrCt(
nomeGruppo varchar(50),
id_Num int,
PRIMARY KEY(nomeGruppo,id_Num),
FOREIGN KEY(nomeGruppo) REFERENCES AssUtGr (nomeGruppo) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY(id_Num) REFERENCES Rubriche (id_Num) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=INNODB;
CREATE TABLE IF NOT EXISTS AssGrOtherUt(
EmailR varchar(50),
nomeGruppo varchar(50),
PRIMARY KEY(EmailR,nomeGruppo),
FOREIGN KEY(EmailR) REFERENCES UtentiR(EmailR) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY(nomeGruppo) REFERENCES AssGrOtherUt (nomeGruppo) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=INNODB;
Secondo voi sta bene?