PK, FK, ERD
1. 엔티티 관계도 : ERD
2. 제약조건(constraint)
컬럼 안에 들어갈 데이터에 제약을 거는 것이다
테이블 간의 관계를 맺을 때도 제약을 건다.
예) null값이 들어올 수 없어, 중복값이 들어올 수 없어
3. PRIMARY KEY(PK) :기본키
- 고유한 값이며, 각 행의 구분점으로 사용됨
- 중복 값을 허용하지 않고 NULL 값도 허용하지 않는다.
- 하나의 테이블에는 하나의 PK만 걸어 줄 수 있다.
ALTER TABLE TBL_CAR
ADD CONSTRAINT PK_CAR PRIMARY KEY(CAR_NUMBER);
4. FOREIGN KEY(FK): 외래키
- 다른 테이블의 pk를 가져와 사용하며 중복값 허용
- 보통 테이블 간의 관계를 맺어줄 때 사용한다.
- null 값을 허용하지만 좋은 상황은 아니다. (피하려면 피해라)
TABLE 만들었는데 테이블이 안보임 -> 새로고침
not null칸
[체크] = null값이 들어올 수 없다.
[ ] = null값이 들어올 수 있다.
CAR_NUMBER에 체크가 되어있는 이유는 PK라서.
PK는 NULL값을 허용하지 않기 때문에.
FK
- 중복 허용
- NULL허용
FK사용이유
-- 하나의 정보를 여러 테이블에 쪼개 놓았을 때 데이터의 일관성과 정확성을 지켜주기 위해 관계를 맺어준다
-- 데이터 겹치는 거 방지
5. UNIQUE KEY (UK)
- NULL허용하지만 중복 값 허용 안 함
6. NOT NULL
- NULL값을 허용하지 않는다
7. CHECK(컬럼명 = 값)
특정 컬럼에 특정 값만 허용하고 싶을 때 사용하는 제약조건
우리가 원하는 특정값이 들어왔는지 체크해 준다.
예) USER_AGE = 20 해당 컬럼에 20이라는 값이 들어왔는지
8. DEFAULT값
해당 컬럼에 값이 들어오지 않았을 경우 디폴트로 설정한 값이 들어간다.
9. 복합키(조합키)
두 개 이상의 컬럼을 PK로 지정하는 것
테이블에는 한 개의 PK만 존재할 수 있기 때문에
하나의 PK를 두 개이상의 컬럼으로 조합하는 것
테이블을 삭제할 때는 반드시 자식테이블 먼저 삭제하고 부모테이블을 삭제해야 한다.