2010-01-11 2 views
3

여기에 작은 질문을하고 싶지만 실제로이 질문의 답이 무엇인지 모르겠습니다.우리가 고유 한 값을 가진 경우 테이블의 ID 열을 사용하는 이유

나는 계정 테이블이 있습니다

사용자 이름 |

사용자 이름 비밀번호

는 기본 키 그래서 독특한

그래서 테이블에 ID 열을 넣어하는 것이 필요하다? 예, 그렇다면 이점은 무엇입니까?

감사합니다.

+3

대리 키라고합니다. 예를 들어, 사용자 이름을 외부 키로 참조하는 사용자 이름 변경을 방지합니다. –

답변

2

숫자 키로 검색하는 것이 약간 (데이터베이스마다 다릅니다). 또한 사용자 테이블에 대한 참조가 많으면 문자열 이름이 아니라 숫자 ID를 외래 키로 사용하여 데이터베이스 공간을 절약 할 수 있습니다.

+0

다른 관련 테이블이 없으므로 기본 - 외부 관계가 없습니다. MYSQL을 사용하고 있습니다. – trrrrrrm

+0

없음? 그 사용자가하는 일을 기록하지 않습니다. – cgp

2

다른 모든 테이블과의 외래 키 관계를 중심으로 모든 것을 더 쉽게 만듭니다. 원한다면 사용자 이름을 변경할 수 있습니다. 기본 키는 변경하기 쉽지 않습니다. 여러 번 언급 한 바와 같이, 외부 키

  • 로 사용하는 경우 인덱스에

  • +0

    하지만 내 프로젝트는 사용자가 사용자 이름을 변경하는 것을 허용하지 않습니다. – trrrrrrm

    +0

    @ From.Me.to.YOU : 충분히 큰 프로젝트에서는 어느 시점에서 누군가의 사용자 이름을 변경해야 할 수 있습니다. 예 : 사용자 이름이 실제 이름에서 생성되고 이름을 입력하는 오타가있는 경우 –

    +0

    또는 사람들이 결혼 할 때. –

    0
    • 빠른는
    • 당신의 호스트를 수정하지 않고 사용자 이름을 변경할 수 있습니다 (다시 빠르고입니다) 적은 디스크 공간을 사용 다른 테이블.
    관련 문제