나는 몇 가지 공통적 인 작업을 수행하는 그룹 기능을 설계하는 Spring MVC 애플리케이션을 개발 중이다. 그래서이 응용 프로그램에는 GroupAccount와 GroupMembers라는 두 개의 테이블이 있습니다. GroupMembers는 GroupAccount와 외래 키 관계를 가지고 있습니다. GroupMembers의 이메일 주소는 Spring Security가 로그인 할 때 사용합니다. 나는 아래에 SQL 코드를 게시 할 것이다.many-to-many 연관성이있다.
현재이 아키텍처에서 groupMember는 하나의 GroupAccount에만 포함될 수 있습니다. 이것은 내가 구현하고자하는 것이 아닙니다. groupMember는 여러 GroupAccount의 일부일 수 있습니다. 나는 당신이 many-to-many를 생각할 것이라는 것을 안다. 그러나 그것은 groupAccount 나 groupMembers 행을 복제하는 것을 의미하지만, 나는 단지 연관성을 원한다. 따라서 Spring-Security가 포함될 때 중복 행을 만들지 않고 단일 groupMember를 많은 groupAccount 중 일부 또는 그 반대로 사용할 수 있습니다. 나는 그것을 분명히하고 싶다. 어떤 제안이나 아이디어가 이것을 달성하는 방법? 내 글이 명확하지 않으면, 설명해 주겠다.
SQL 코드 :
CREATE TABLE GroupAccount (
groupid NUMERIC NOT NULL,
groupName VARCHAR,
adminPassword VARCHAR,
CONSTRAINT groupid PRIMARY KEY (groupid)
);
CREATE TABLE groupmembers (
memberid NUMERIC NOT NULL,
musername VARCHAR,
mpassword VARCHAR,
groupid NUMERIC NOT NULL,
CONSTRAINT memberid PRIMARY KEY (memberid)
);
ALTER TABLE groupmembers ADD CONSTRAINT groupaccount_groupmembers_fk
FOREIGN KEY (groupid)
REFERENCES GroupAccount (groupid)
ON DELETE NO ACTION
ON UPDATE NO ACTION
NOT DEFERRABLE;
모든 포인터를 환영합니다. 고맙습니다.
P.S : 최대 절전 모드에서 Postgres를 사용하고 있습니다. –