2010-08-21 8 views
0

저자가 게시물을 만들고 게시물에 주석을 등록하지 않고 사용자가 응용 프로그램과 같은 블로그를 작성하면 작성자가 승인 한 경우에만 주석이 표시되며 원하는 도움말은 데이터베이스와 관련됩니다. 테이블, 나는 이름, 이메일, 전화 번호, 위치 등등과 같은 레코드를 보유 할 테이블을 만들었습니다. 나는 속한 뉴스의 ID를 보유하기 위해 외래 키로 new_id를 정의했습니다.PHP에서 시스템 주석 달기

alt text

이 하나 개의 관계에 많은 기반으로 구축 될 것이다 주석 시스템으로 그 일을의 올바른 방법, 또는 내가 외부 키를 정의하는 다른 테이블을 작성해야합니까? 나는 그것을 어떻게 성취합니까?

답변

1

일대 다 관계를 테이블 중 하나의 외래 키 또는 접합 테이블과 매핑 할 수 있습니다.

일반적으로 선호하는 방식입니다. 사용자에게는 newsitem_id가 있으며 뉴스 항목에 여러 명의 사용자가있을 수 있습니다.

뉴스 항목을 추가 할 때와 같이 추가 정보를 저장하려는 경우 접합 테이블을 사용할 수 있습니다. 또한 뉴스 항목에 여러 명의 사용자가 있어야한다고 생각되면 접합 테이블이 필요합니다.

+0

감사합니다. 현재 테이블을 고수하고 있습니다. –

1

당신의 접근 방식은 기본적으로 건전합니다. (new_id의 이름이 더 좋을지라도 좋습니다.) 설명하는 것을 얻기 위해 추가 테이블이 필요하지 않습니다. new_id를 외래 키로 만들면 참조 무결성을 강화할 수 있습니다. 즉, 게시물을 삭제하면 주석이 함께 삭제됩니다. 여기에서 외래 키를 검색하고 외래 키에 대한 설명이 몇 가지 있습니다.

+0

cakephp를 사용했기 때문에 new_id를 사용했으며 cakephp에서 설명한대로 명명 규칙을 따르고 있습니다. 예를 들어 테이블 이름이 복수형이어야합니다. new_id 내가 뉴스라는 테이블을 가지고 있기 때문에 나는 s를 ommitted했고 id에 합류했다. 그것은 내가 cakephp에서 해왔 던 방식이다. –

관련 문제