2011-02-18 6 views
0

주 주제별로 여러 가지 하위 주제가 있어야한다는 요구 사항이 있습니다. 그리고 모든 하위 주제는 n 개의 주석을 가질 수 있어야합니다.데이터베이스 디자인 및 쿼리

이 구조를 나타내는 데이터베이스 테이블이 있어야하고 하위 주제 목록을 가져오고 모든 하위 주제에 대해 모든 속표를 가져야합니다. 나는 또한 모든 부영양화에 대한 의견의 끝에 도달했을 때를 알 수있는 방법이 있어야한다.

누군가가 최고의 디자인/질문을 조언 해 주시겠습니까?

나는 MySQL을 사용합니다.

대단히 감사합니다! - 알렉스

+0

숙제 센서가 작동하고있는 것처럼 느껴집니다. –

답변

1

나는이 데이터베이스 설계가 작동하지 않을 수 있습니다 생각 :

TOPIC 
id 
name 

TOPIC_HAS_TOPIC 
id 
parentId 
childId 

COMMENTS 
id 
comment 
topicId 
0

이처럼 설계 할 수있다 :

|Topic| -1----*- |SubTopic| -1----*- |Comments| 

(편집 : 별표 그래서 색상 차이를 무시하세요 기울임에 대한 표시 할 것 같다.)

즉, 1 대

Create Table Topic (topic_id int auto_increment, primary key(topic_id),...) 
012 : 주제 많은 관계는 의견 당신은 테이블 당 대리 기본 키를 가질 수

에 하위 항목에서 다른 1-많은 하위 항목 및합니다

하위 토픽에 대한 subtopic_id와 댓글에 대한 외래 키 등이 있습니다.

처럼 될 수있는 특정 주제에 대한 모든 의견을 얻기 : (? 주석 테이블에 대한 텍스트 속성 (아마 TEXT 데이터 형식을 가정))

select comment.text from comments 
join suptopic using(subtopic_id) 
join topic using (topic_id) 
where topic_id = 1; 

(에 가입하는 것은 과 동일 내부 조인 및 '을 사용하는 경우'은 '조인 - 열'이 같은 이름을 공유하는 경우에만 적용 가능합니다. 그렇지 않으면 구문이 다릅니다.

+0

가정 : 하나의 하위 주제가 하나의 주제에만 속한다고 가정합니다 (그렇지 않으면 arex의 스키마로 이동하고 쿼리에 추가 조인 만있을 것입니다) – PhD

1

테이블이 필요 : 주제를 하위 항목을 코멘트 ((부모 항목을 다시 가리키는 부모 키가) 부모의 하위 항목에 부모 키를 가리키는있다)

그런 다음 주어진 하위 주제에 대해 해당 하위 주제 키가있는 모든 설명을 선택하기 만하면됩니다.