예를 들어 programs
이라는 테이블과 format
이라는 테이블이 있습니다. format
테이블에는 format이라는 단일 열이 포함되어 있으며 세 가지 값인 zip, rar 및 exe가 있습니다. 형식 테이블에 기본 키가 있어야합니까?하나의 열만있는 테이블에 기본 키가 있어야합니까?
답변
값이 고유하면 아마도 그렇지 않습니다. 그러나 값에 고유 색인이없는 경우 중복이있을 수 있으며 이는 단일 행을 식별하기 어렵게 만듭니다. 또한 알려진 고정 길이 (예 : 정수 ID)의 PK를 사용하면 성능을 높이고 색인 분할을 유지할 수 있습니다. 또한이 테이블에 조인해야하는 경우 외래 키 (일부 RDBMS에서는 PK가 필요함)를 사용하여 값이 아닌 형식의 ID를 참조하는 것이 좋습니다. 당신이 표는 Programs
을 불러 테이블 값의 무리와 함께 Format
를 호출 한 경우
, 왜 그냥 Program
테이블에 FormatId
열이 있고 Format
테이블에 (현재 3 개) 외래 키 값 중 하나를 사용하지?
정상화에 대한 내용은 http://en.wikipedia.org/wiki/Database_normalization을 참조하십시오 (이 사실을 알고 계실지 모르지만 질문을 읽는 다른 사람이 아닐 수도 있음).
하나의 열만있는 테이블은 반복되는 값으로 대부분의 경우 고유 한 값을 가지며 단일 열의 값도 의미가 없습니다.
따라서, 귀하의 경우에, 그것은 해당 필드에 색인을 부과) 형식이 (내가 무슨 생각을 먹으 렴) 반복되지 않을 것이다, 그래서 기본 키하지만
1 제작에 전혀 해가없는 (당신이 원하는 할 나중에이 테이블을 다른 테이블에 연결하려는 경우이를 기본 키로 사용하고 기본 키의 format_id와 같은 것을 사용하지 않도록하십시오. 그렇게한다면 지금은 기본 키로 사용하지 마십시오.
내가 그걸 유일하게 만들어야합니까? 내가 다른 테이블에 외국 키잉 것입니다 – user1461607
은 테이블에 포함 할 경우 발생하는 생각 :
zip
rar
exe
exe
당신이 다음 테이블에 PK를 필요로하지 않는 문제를 볼 경우.
두 exe와 문제가 보이지 않는다 – user1461607
하지만 당신은 두 exe 데에 값을 볼 수 있습니까? – Thilo
- 1. 차원 테이블에 기본 키가 있어야합니까?
- 2. 여러 테이블에 기본 키가 있어야합니까?
- 3. 차원 모델링 : 팩트 테이블에 외래 키가 있어야합니까?
- 4. sfGuardUser 테이블에 기본 키가 있습니까?
- 5. 하나의 자동 증가 열만있는 테이블에 행을 삽입하는 방법은 무엇입니까?
- 6. 하나의 테이블에 여러 개의 외래 키가 하나의 다른 테이블에 mysql에
- 7. 데이터베이스 테이블에 기본 키가 필요한 이유는 무엇입니까?
- 8. Django ManyToManyField 연관 테이블에 서로 게이트 키가 있어야합니까?
- 9. sqlite 테이블에 기본 키가 있는지 확인하고 싶습니다
- 10. 데이터 세트 오류 "테이블에 기본 키가 없습니다."
- 11. 오라클 - 테이블에 기본 키가 없다는 효과가 있습니까?
- 12. SQL 테이블에 복합 및 기본 키가 있음
- 13. PHP 테이블에 기본 키가 있는지 확인
- 14. 기본 ID가 있어야합니까? 다른 필드를 인덱싱 오전
- 15. 하나의 열만있는 테이블을 추가하는 것이 좋습니다 (자동 증가 ID)?
- 16. 하나의 외래 키가 여러 기본 키를 가리킬 수 있습니까?
- 17. 기본 키가 합성 된 테이블에 새 행을 삽입하는 방법은 무엇입니까?
- 18. SQL : Many-Many 테이블에 대해 자동 증분 기본 키가 필요합니까?
- 19. 기본 키가 이미있는 테이블에 데이터를 추가하는 방법은 무엇입니까?
- 20. 기본 키가 자동으로 인덱싱됩니까?
- 21. 기본 키가 오버플로되면 어떻게합니까?
- 22. 외래 키가 2 개 있고 기본 키가 없습니까?
- 23. JPA가 - 대다 연관 테이블의 하나의 외래 키가
- 24. 활동 댓글은 새 테이블에 있어야하며 동일한 테이블에 있어야합니까?
- 25. 모든 테이블에 <tbody>이 있어야합니까?
- 26. mysql db의 모든 테이블에 동일한 인코딩이 있어야합니까?
- 27. iBatis가 테이블에 기본 키를 적용합니까?
- 28. 기본 키가 제한을 초과하면 어떻게됩니까?
- 29. GUID 기본 키가 생성되지 않음
- 30. 병합 삽입 기본 키가 위반되었습니다
어떻게 그 테이블을 사용합니까? – Thilo
에는 응용 프로그램이라는 다른 테이블과 서식을 지정할 외래 키가 있습니다. – user1461607