202010020_TIL : Mysql 여러가지 속성들
#1 서론
오늘부터 내년 3월 2일, 개학하기 전까지 프로젝트를 인터넷에 공개하려고 한다. 그에 맞춰 오늘은 DB모델링을 하기 위해 여러가지 속성을 살펴본다.
#2 본론
Primary Key (PK, 기본키)
테이블에서 어떤 row를 식별하기위해 존재하는 특별한 column.
Natural Key (자연키)
테이블을 이루고있는 컬럼들 중에서 PK로 설정된 컬럼
Surrogate Key (대체키)
테이블을 이루고 있는 컬럼들 중에서 PK로 설정한 마땅한 컬럼이 없을때, 임의의 식별번호로 이루어진 PK이다.
Not Null (NN)
Null이 아니다. pk와 같이 빈 값이 들어가면 안되는 컬럼에 사용한다.
Auto Increment (AI)
이 속성을 추가하면, DB에서 알아서 자동으로 증가하는 값을 넣어준다. 이 속성은 주로 PK가 Surrogate Key일때 사용한다.
UNIQUE KEY (UQ, 고유키)
이 속성은 값이 중복되지 않게 한다. PK와의 차의점은 값을 입력해도 되지 않아도 된다는 것이다.
중복되면 안되는 데이터에 주로 사용한다 (예: 주민등록번호)
Unsigned (UN)
datatype이 int형 일때, 범위를 양수로만 제한 시키고, 데이터의 입력 가능 범위를 음수에서 양수쪽으로 넓힌다.
(예: int = "-2147483648 ~ 2147483647", Unsigned int = "0~42949627295")
Zerofill (ZF)
datatype이 int일때 입력 가능 범위만큼 앞에 0을 채우라는 의미. (아래 링크에 예시 참조)
#3 결론
Binary와 Generated속성은 뭔지 모르겠다.. 나중에 기회가되면 찾아볼것이다.
오랜만에 다시 글을 쓴다. 프로젝트를 새로 시작하려고 DB에 관한 글부터 차례대로 써 갈거다.
#4 참고자료
https://ms-record.tistory.com/68
https://bunhere.tistory.com/45
https://m.blog.naver.com/writer0713/220837177362
Unsigned:
https://donggu1105.tistory.com/28
https://happylie.tistory.com/130
Zerofill:
https://jybaek.tistory.com/479 (예시 포함)
https://m.blog.naver.com/luvtoma/221179414916 (예시 포함)