2011-08-13 2 views
0

목록 이벤트가 포함 된 웹 사이트 (PHP + MySQL 기반)를 만들고 있습니다.각 이벤트에 대한 태그 목록 구성하기

현재 '이벤트'라는 데이터베이스에 이벤트가 저장되어 있습니다.

각 이벤트에 태그 목록이 필요합니다. MySQL의에서 하나 개의 값이 같은 ... (이 tag1, tag2로, TAG3)

또는

    정렬로 나는 ...

    1. 스토어 모든 태그를 내가해야하는지 잘 모르겠어요
    2. event_tags라는 별도의 데이터베이스를 만들고 각 태그에 대해 하나의 행을 가져야합니다. 태그는 참조하고있는 이벤트의 event_id를 포함합니다.

    또는

    1. 뭔가 더 나은 내가의 생각을 havn't는?

답변

1

태그 이름을 변경하면 모든 태그의 값을 변경하지 않아도됩니다.

다른 테이블을 사용하여 이벤트 테이블을 태그 테이블에 연결하십시오.

이벤트 테이블 :

|ID|Event | 
|1 |first | 
|2 |second| 
그것과 같을 것이다

을 (당신이 고유 키로 이벤트 및 태그 열을 만들 필요가 여기에) 이벤트, 태그, event_tags : 그러니까 기본적으로 이러한 테이블이

태그 테이블 :

|ID|Tag| 
|1 |c# | 
|2 |c++| 

Event_tag 테이블 :

|Event|Tag| 
|1 |1 | 
|1 |2 | 
|2 |2 | 
+0

그래서 Event1 & Event2가있는 경우. 두 이벤트 모두 '음악'태그가 있습니다. 그렇다면 태그 테이블에 2 행이 필요합니까? –

+0

내 편집 된 게시물을보십시오. 각 이벤트 및 태그의 ID를 갖습니다. 예제에서 첫 번째 이벤트에는 C# 및 C++ 태그가 있고 두 번째 이벤트에는 C++ 만 있습니다. –

+0

[다 대다 관계] (http://www.youtube.com/watch?v=SENtNG5SSIc) –

0

나는 그것이 당신에게 달려 있다고 생각합니다. 태그가 반복 될 것이라고 생각되면 태그 테이블을 만든 다음 외부 테이블을 사용하여 태그 테이블을 만드는 것이 좋습니다. 아니면 이벤트 ID를 참조하는 태그를 만들면됩니다.