개념을 아는 것이란 참으로 어려운 것이다. 그것의 본질부터 이해를 해야하기 때문이다.
1) NOT NULL
2) UNIQUE
3) PRIMARY KEY
4) FOREIGN KEY
5) DEFAULT
테이블을 만드는데
NOT NULL NULL 과 NULL 이 YES라는 것과 NO 라는 것과 DEFAULT 값은 또 다 무엇이며.. 그냥 자료를 봐서는 이해가 되지 않는다.
1)NOT NULL
말그대로 NULL이 아니다!
NOT NULL 제약조건을 설정하면 NULL값을 가질 수 없다는 것.
NOT NULL이 설정된 필드는 무조건 데이터를 가지고 있어야한다!
2) UNIQUE
해당 필드는 서로 다른 값을 가져야한다.
중복된 값을 저장할 수 없다.
3) PRIMARY KEY
그래서 primary key(기본키)는 NOT NULL 이며 UNIQUE 하다.
4) FOREIGN KEY 가 무엇이냐?
post 테이블의 여러 행(row)이 동일한 값을 가질 때,
one table 과 another table 을 연결해주는 링크와 같은 것이다.
It identifies each row of another table uniquely that maintains the referential integrity in MySQL
PK(Primary Key) 를 참조하는 FK(Foreign Key)를
MUL 이라고 한다. 그것은 Multiple 이라는 뜻이다.
FK 제약조건은 하나의 테이블을 다른 테이블에 의존하게 만든다.
Fk를 설정할 때 참조 되는 테이블은 반드시 PK이거나 UNIQUE 제약조건이 설정되어있어야한다.
(FK는 PK 를 참조한다)