PK, FK, ERD

1. 엔티티 관계도 : ERD

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를 두 개이상의 컬럼으로 조합하는 것

 

테이블을 삭제할 때는 반드시 자식테이블 먼저 삭제하고 부모테이블을 삭제해야 한다. 

'DBMS > Oracle DBMS SQL' 카테고리의 다른 글

DBMS 연결 연산자  (0) 2024.02.23
무결성  (0) 2024.02.23
DDL (Data Definition Langauge) : 데이터 정의어  (0) 2024.02.21
DML (Data Manipulation Langauge) : 데이터 조작어  (0) 2024.02.21
DBMS SQL 자료형, 연산자 종류  (0) 2024.02.19