저가 생각하고 있는 테이블 구조입니다.
 TAGKEY TABLE ------ UNIINTAG TABLE 관계를 맺고 있는 구조이며,
구지 관계형을 정의를 하자면..  1----* 가 되겠네요

아래 sqlquery 문은 oracle에서 테스트한 쿼리이며, 안드로이드에서도 foreign key로 정의가 되는지는 확인해보세요

테이블을 만들기 위한  Create Query이며 중요하게 볼것은 테그 테이블은 primary key를 가진 태그로 구성되며, UNIINTAG 테이블에서는 Uri컬럼 값과 태그값을 세팅하기위하여 Foreign Key로 구성되는게 가장 중요하게 볼 점이네요

CREATE TABLE TAGKEY(
    TAGKEY VARCHAR2(200) PRIMARY KEY
)
/

CREATE TABLE UNIINTAG(
URI VARCHAR2(150)
, TAGKEY VARCHAR2(100)
, CONSTRAINT FK FOREIGN KEY(TAGKEY) REFERENCES TAGKEY(TAGKEY)
)
/

테이블 값 Query
INSERT INTO TAGKEY VALUES ('HOME');
INSERT INTO TAGKEY VALUES ('SCHOOL');
INSERT INTO UNIINTAG VALUES ('CONTENT://xxx1.JPEG','HOME');
INSERT INTO UNIINTAG VALUES ('CONTENT://xxx2.JPEG','HOME');
INSERT INTO UNIINTAG VALUES ('CONTENT://xxx3.JPEG','HOME');
INSERT INTO UNIINTAG VALUES ('CONTENT://xxx4.JPEG','SCHOOL');
INSERT INTO UNIINTAG VALUES ('CONTENT://xxx5.JPEG','SCHOOL');
INSERT INTO UNIINTAG VALUES ('CONTENT://xxx6.JPEG','SCHOOL');
/

HOME의 태그값을 가진 모든 uri 검색하는 Query
SELECT * FROM UNIINTAG
WHERE TAGKEY LIKE (SELECT TAGKEY FROM TAGKEY WHERE TAGKEY LIKE 'HOME')
\

안드로이드에서도 위와 같은 방법으로 테이블이 구성된다면.. 중복되는 컬럼을 최소화 하지 않을까요??

규철아 도움이 될진 모르겠다 ㅎ
쿼리문은 책이나 인터넷을 찾아보면 정보는 나올꺼야.. 그럼 멋진 DB 설계를 해주길 바래^^