2012-09-26 2 views
1

테이블이 videos입니다. 여기에는 media_id, project_idvideo_url의 세 열이 있습니다. 제 질문은, 제가 media_id을 가지고 있어야합니까? 다른 테이블에서는 사용하지 않습니다. 나는 동일한 숫자이지만 video_url과 다른 복수형이있을 것이라고 기대한다.정규화 및 고유 ID

답변

4

무언가에 대한 대리 ID가 있거나없는 것은 정규화와 관련이 없습니다.

(저작권 야유)

뭔가를 대리 ID의의를 가진 데 아닌지 당신이 그것을위한 유용한 사용이 있는지 여부에 따라 달라집니다. 당신은 이미 그 자신에 대한 답을 주셨습니다. 그리고 현재 실제 사용이 없더라도 가까운 미래에 그러한 사용이 신속하게 나타날 수있는 가능성이 있는지 여부에 따라 다릅니다.

+0

나는 행복하게 저를 언급하는 * 어떤 대답을 upvote거야. 하, 하, 하. –

1

모델에서 함수 종속성 키로 project_id 및 video_url을 사용할 수 있지만 실제 수준에서는 키를 URL의 일부로 사용하고 싶지 않습니다.

이렇게하면 키가 다른 테이블에서 참조 될 때마다 긴 문자열로 입력하는 것을 피하기 위해 ID 나 숫자를 선호합니다.

+0

이렇게 유지하십시오 ... – jason328

1

필요하다고 생각합니다. 이것은 순수하게 미디어 항목이 고유하고 하나의 프로젝트에 대해 여러 개의 미디어 항목이있을 수 있다는 사실에 기반합니다. 이렇게하면 행에 대한 고유 한 ID, 적절한 프로젝트 관계 및 미디어 리소스에 대한 중요한 URL 데이터가 유지됩니다.

+1

의미가없는 대리 키 ID 번호가없는 모든 테이블에 추가 할 수 있으며 정의 상 고유합니다. 그것만으로는 좋은 생각이 아닙니다. * rows *를 식별하는 것은 중요하지 않습니다. 행이 나타내는 실제 세계를 식별하는 것이 중요합니다. –