2013-01-03 3 views
-1

나는 '텍스트'테이블을 가지고 있는데, 텍스트 테이블은 짹짹, SMS, 이메일 등과 같은 다른 소스에서 온 것일 수 있으며 각 소스는 자체 로그를 가지고 있습니다. 텍스트는 소스에서 온 것입니다. 그래서 나는 약간의 해결책을 가지고 왔지만, 나는 어느 것이 최선인지 모른다.많은 소스 (한 곳에서) 한 테이블 - 데이터베이스 디자인

해결 방법 1 :

Text(
text_id PK 
content 
source_type (tweet, sms, email, etc) 
source_id (can't be FK since it may contain sms_id, tweet_id, or email_id) 
) 

Tweet(
tweet_id PK 
tweet_text 
tweet_username 
etc... 
) 

Sms(
sms_id PK 
sms_text 
sender_number 
etc... 
) 

Email(
email_id PK 
email_text 
email_sender 
etc... 
) 

해결 방법 2 :

Text(
text_id PK 
content 
sms_id FK 
tweet_id FK 
email_id FK 
) 

Tweet(
tweet_id PK 
tweet_text 
tweet_username 
etc... 
) 

Sms(
sms_id PK 
sms_text 
sender_number 
etc... 
) 

Email(
email_id PK 
email_text 
email_sender 
etc... 
) 

하나 '텍스트'를주의는 하나의 소스에서왔다. 내가 솔루션 2를 사용하는 경우

때문에, SMS에서 온 한 소스가 다음 데이터가이

Text(
12 
'the text' 
333 
null 
null 
) 

Sms(
333 
'the text' 
0818833733664 
etc... 
) 

모양을 가정 해 봅시다 그래서 가장 좋은 방법이다?

UPDATE :

내가 내 질문에 큰 부분을 그리워하고, 그 잘못 할 수있다이다, 그 죄송합니다. 필자의 경우 텍스트는 csv (excell) 파일에서도 올 수 있습니다. 이는 파일이 많은 텍스트 (혼수 상태 또는 행 분리)에 대한 덤프이기 때문에 하나의 파일이 많은 텍스트를 가질 수 있음을 의미합니다. SMS, 트윗, 텍스트와 이메일 관계는 1-1이지만, 텍스트와 파일 많은 에 하나는 나의 문제의 큰 누락 된 부분이 추가 테이블 text_source라고

File(
file_id PK 
file_name 
etc.. 
) 

답변

1

이 만들어보십시오 파일 테이블입니다 및 그런 다음 각 소스 (즉, SMS, 전자 메일 등)가 FK text_source_id을 통해 참조하도록합니다. 그렇게하면 text 테이블에 text_source_id 테이블 만있을 수 있습니다.

Text 테이블 --FK ->text_source 테이블 < --FK-- SMS, Email,

+0

Tweet가이 같이하셨습니까, 텍스트 (text_id, 내용, SOURCE_ID (FK)) , Text_Source (source_id (PK), sms_id (FK), tweet_id (FK), email_id (FK))? – Ahmad

+0

아닙니다. (PKK), Source_id (FK), other_columns ...), SMS (sms_id (PK), source_id (FK)) 등이 있습니다. Text 테이블과 세 개의 소스 테이블 사이에 테이블을 추가하기 때문에 한 Text_Source 테이블 만 참조하면됩니다. – jchapa

+0

답변 해 주셔서 감사합니다. 그러나 나는 생각한다, 나는 나의 질문에 큰 부분을 놓친다. 그리고 그것은 잘못 될지도 모른다, 그것을 유감스럽게 생각한다. 필자의 경우 텍스트는 csv (excell) 파일에서도 올 수 있습니다. 이는 파일이 많은 텍스트 (혼수 상태 또는 행 분리)에 대한 덤프이기 때문에 하나의 파일이 많은 텍스트를 가질 수 있음을 의미합니다. 텍스트와 SMS, 트윗 및 이메일 관계는 일대일이지만 텍스트가있는 파일은 일대 다입니다. 전에 고마워. – Ahmad

관련 문제