2014-11-26 2 views
-1

나는 수입과 결과를 추적하기위한 테이블을 만들고 있습니다. 나는 다음과 같은 행이 기본 키 선택

  • 일 [거래의 날] [3 개 값을 가정 할 수있다]

    • incomeAmout
    • incomeDescription
    • outcomeAmount
    • outcomeDescription

    내가 1 차 날짜로서 날짜를 가지고 있다면 나는 여러 거래를 할 수 없을 것입니다. 같은 날짜에 이온. 모든 행을 기본 키로 만들 수 있지만 이것이 최선의 방법이라고 확신하지 않습니다. 내가 너 한테 뭘 제안 했어? 자동 증분 인덱스를 만드는 방법에 대한 몇 가지 주제를 읽었지 만 다른 속성을 추가하지 않고 만들 수 있는지 궁금합니다. 감사합니다.

  • +0

    모든 속성을 사용하더라도 여전히 고유하지 않습니다. 열쇠가 필요합니다. – imel96

    답변

    0

    id 열을 기본 키로 지정하십시오. 이것은 당신의 불변의 레코드 식별자가 될 것입니다.

    UUID 또는 무언가의 SHA256 해시에서 파생 된 값과 같은 무언가의 트랜잭션 식별자도 필요합니다. 그렇게하면 데이터베이스 구조에 대해 너무 많이 드러내지 않고이 식별자를 공유하거나 데이터베이스에있는 레코드 수를 알 수 있습니다.

    다른 키가 필요하면 UNIQUE 색인으로 추가하거나 복합 키로 적용 할 고유 제약 조건을 정의하십시오.

    0

    귀하의 질문은해야합니다 : "ID"라는 이름의 새 필드를 만들고 정수, 자동 증가, 기본 키로 설정 : 귀하의 경우에는 Surrogate Key vs. Natural Key

    , 당신은 키 대리 사용하지만 선택의 여지가 없다.

    여기에서는 대리 키를 사용하는 것이 좋습니다.