2011-02-05 5 views
0

사용자와 아이템을 연결하는 간단한 웹 앱을 만들고 싶습니다. 각 사용자에게 자신에게 할당 된 일부 항목 (이 경우 시리즈 및 에피소드 및 그 중 많은 항목)이 있다고 가정 해 보겠습니다.큰 시스템을위한 데이터베이스의 구조

이와 같은 시스템 (테이블, 필드 등)의 데이터베이스 구조는 어떻게 계획해야합니까? 이 사건을 처음 만났습니다.

답변

1

일반적인 M : N 연관 모양입니다.

create table person (
    id number not null primary key, 
    username varchar not null, -- login 
    -- email, etc 
); 

create table episode (
    id number not null primary key, 
    ordinal number not null, -- which episode in the series 
    name varchar not null, 
    -- whatever else, for instance, a link to series: 
    -- series_id not null number foreign key referencing series(id) 
); 

-- the link table you asked about 
create table person_x_episode (
    person_id number not null foreign key referencing person(id), 
    episode_id number not null foreign key referencing episode(id), 
    -- whatever else, like seen date, rating, etc 
); 

시리즈 및 계절 하위 구분 또는 사용자 그룹 등이 필요한 경우 더 많은 테이블을 보유하게됩니다.

0

기본 사항은 사용자 테이블과 항목 테이블입니다. 이들은 때때로 "마스터"테이블이라고 불립니다. 그런 다음 항목에 대한 외래 키와 사용자에 대한 외래 키가있는 상호 참조 테이블 인 사용자 항목이 있습니다. 이를 "다 대다"테이블이라고도합니다.

열 및 기타 세부 정보는 추적하려는 항목에 대해 더 많이 말해야합니다. 일반적으로 각 사실은 테이블의 열이됩니다. 그래서 TV 시리즈 (나는 여기에 당신이 우리에게 많이 말하지 않았다고 생각합니다)의 시즌에는 시즌, 시즌 1, 시즌 2 등의 컬럼이있을 것입니다. 시즌이 나왔습니다.

아마도 그 계절 동안 별표를 나열하는 items 테이블의 하위 테이블 (아마도 시리즈라고해야 함) 일 것입니다.

자세한 내용을 입력하면 답변을 조금 편집 할 수 있습니다.

관련 문제