2010-12-28 7 views
1

"상태 수집"의 일환으로 "Tweets"및 "Facebook Status"를 내 응용 프로그램에 저장하여 모든 상태 수집에 여러 개의 Tweets 또는 Facebook 상태. 페이스 북의 경우 텍스트에만 관심이 있으므로 지금은 비디오/사진을 저장하지 않을 것입니다.두 개의 유사한 객체에 대해 두 개의 개별 테이블을 만들어야합니까?

DB 디자인을위한 모범 사례에 대해 궁금해하고있었습니다. 하나의 테이블 (페이스 북과 트위터 제한을 모두 포함하기 위해 420에 상태를위한 최대 값을 두는 것)이 더 나은가? 어떤 유형의 상태인지를 결정하는 "유형"열 또는 두 개의 개별 테이블을 갖는 것이 더 낫다. 그리고 왜?

답변

1

엄밀히 말하면 트윗은 FB 업데이트와 동일하지 않습니다. 현재 텍스트가 아닌 텍스트는 무시할 수 있지만 나중에 마음이 바뀌고 작동하지 않는 모델로 인해 붙어있을 수 있습니다. 일반적으로 개체는 실제로 존재하지 않는 한 상호 교환 할 수 없도록 처리해야합니다. 두 테이블이 비슷하다면 별도의 테이블을 두 개 사용하거나 필요에 따라 추가 열을 사용해야합니다.

모든 것이 말하자면, 실제로 텍스트 일 ​​경우 하나의 테이블로 벗어날 수 있습니다. 그러나 이것은 의견의 문제이며 아마 많은 답변을 얻을 것입니다.

+0

당신은 좋은 지적입니다. 내가 말하고자하는 것은 비즈니스 객체가 실제 객체가 아닌 객체를 기반으로 DB를 설계해야한다는 것입니다. 그가 SocialMediaMessages 또는 짹짹 및 FB 게시물에 관심이 있다면 그것은 내려 오는 것 같아요 ... –

+0

그래,이 말이 맞아. 향후 요구 사항이 정상적으로 변경되며 향후 각 유형에 대한 추가 정보가 필요할 수 있습니다. – Tam

1

나는 하나 개의 테이블에 메시지를 넣고 유형 정의하는 또 다른 것 :

SocialMediaMessage 
------------------ 
id 
SocialMediaTypeId 
Message 

SocialMediaType 
--------------- 
Id 
Name 

그들은 그들을 분리 할 지점이없는만큼 유사한 것입니다. 또한 소셜 네트워킹 사이트를 통해 쿼리를 수행하려는 경우 사용자의 삶을 편하게 만듭니다.

1

테이블 및 사용 유형을 사용하여 식별하기가 더 쉽습니다. 테이블이 여러 개인 경우 각 유형에 대해 하나의 쿼리 대신 데이터에 액세스하기 위해 하나의 쿼리/저장 프로 시저 만 필요합니다.

관련 문제