레코드의 발생 가능한 최대 수를 예측한다. 예 ) 1년에 몇 개 정도 발생하는가? 한달에 몇 개 정도 발생하는가? 예 ) 처리해야 하는 대상이 대략 몇 개정도 되는가?
만일 대상 레코드가 수십 만개 정도라면 999,999로 커버할 수 있다. 따라서 32bit int(2, 147,483,647)를 사용할 수 있다. varchar(6)을 사용해서 '999999'까지 처리할 수 있다.
PK의 데이터 타입 후보를 대상으로 다음을 고려한다. int 등 숫자를 PK로 채택할 경우 자동 증분 속성을 사용할 수 있다 (편리성) String을 사용하면 숫자가 아닌 문자를 섞어서 PK값에 의미를 부여할 수 있다. 특별한 의미를 부여할 필요가 없을 경우 정수형을 사용하는 것이 바람직하다.
PK는 고유 식별자 기능으로 충분 PK값에 어떤 의미를 부여하는 것은 부담
✏️공부한 내용
컬럼에서 사용하는게 아니라 인조식별자 PK값으로 사용할 값을 사용해서 사용하는경우가 더 많다.
설계하려는 데이터 크기에 따라서 해당 하는 값을 생각해서 데이터타입을 설정해야된다. ( 확실히 데이터타입을 어떨때 어떤게 써야되고 어떤게 적합한지는 알아야될거같다)
PK를 INT로하면 자동증분기능을 이용해서 편한다 ( 편한거뿐만 아니라 동시에 만약 INSERT할 경우 100명 1000명이면 넣기가 어렵다 여러명이 동시에 넣을경우 )