create table USERS (
PK_USER int not null auto_increment primary key,
EMAIL varchar(100) not null,
PASSWORD char(40) not null
);
create table CIRCLES (
PK_CIRCLE int not null auto_increment primary key,
CIRCLE varchar(45),
FK_CREATOR int,
foreign key(FK_CREADOR) references USERS(PK_USER)
);
create table MEMBERS (
FK_MEMBERS int,
FK_CIRCLES int,
foreign key(FK_MEMBER) references USERS(PK_USER),
foreign key(FK_CIRCLE) references CIRCLES(PK_CIRCLE)
);
이 PK_USER
에 대한 이중 참조를 갖는 것이 맞습니까? (. 심판에 대한 USERS = USUARIOS, MEMBERS = MIEMBROS, 원 = CIRCULOS, CREATOR = CREADOR) 나는 그들이 두 개의 서로 다른 역할을 재생하는«추론»수있는함으로써Google 서클과 같은 그룹의 올바른 데이터베이스 구현
거기 * 자체 * 아무 문제가 없지만'MIEMBROS.FK_MIEMBRO'에 의해 참조되는'CIRCULOS.FK_CREADOR' 같은 경우'MIEMBROS.FK_CIRCULO' 다음은 [3NF]을 위반하는 것 (HTTP ://en.wikipedia.org/wiki/Third_normal_form). – eggyal
나는 eggyal이 말한 것에 동의한다. 그러나 데이터 수가 증가 할 때 우리는 언젠가 비정규 화를 사용해야합니다. 내가 같은 목록에 작성자의 이메일을 넣을 때 –
덕분에 이미 질의를하고 난 회원의 이메일 및 원 목록을 알고 싶다면, 예를 잘 작동, 나는 내부 2 조인을 사용,하지만 난 문제가 발생할, 무엇을 할 수있어? 이메일을 선택, 원, 내부 구성원 제작자 EMAIL합니다 (= FK_CIRCLE –