[SQL] TABLE 생성 시 Column 속성 의미(DATA-TYPE, NULLABLE, DATA-DEFAULT, Unique, PK(Primary Key), FK(Foreign Key)
# 열(COLUMN)
>> 표의 각 열(column)의 제목으로 표시되며, 언어에 따라 속성 값(Key-키, variable-변수 등)과 대응된다.
# 데이터 타입(DATA-TYPE)
>> 각 열(column)의 형식을 결정한다.
- NUMBER(a,b) - 숫자 타입, a-소수점 포함 전체 자릿수, b-소수점 자릿수
- VARCHAR2('a' BYTE) - 문자열 타입, 최대 'a'Byte까지 허용 (영문/기타 1개 1byte, 한글/한자 1개 2byte)
- DATE - 날짜 타입, 연/월/일/시/분/초까지 입력 가능 (기본 표시는 '일'까지 ex. 2022/02/12)
- CLOB - 문자형 대용량 객체 타입, 주로 문자형 대용량 데이터에 활용
- BLOB - 이진형 대용량 객체 타입, 주로 이미지 / 동영상 등에 활용
# null 가능 여부(NULLABLE)
- YES(null) - 빈 값(null) 입력을 허용
- NO(not null) - 빈 값(null) 입력을 허용하지 않음
# 기본 값 설정(DATA-DEFAULT)
>> 데이터 값 입력이 없을 때 기본으로 주어지는 값이 있을지 결정
- SYSDATE - DATE type에서 시스템 날짜를 기본으로 넣는다.
- 'abc' - 문자열(ex.abc)을 기본으로 넣는다.
- 123 - 숫자(ex.11)를 기본으로 넣는다.
# Unique(U) / PK(P) / FK(F)
>> Unique(U / 유일키)
- 중복된 값을 허용하지 않는다(단, PK와 달리 null 허용하나, null값 중복 입력은 안됨).
- 테이블에 이미 PK가 있는 경우, 유니크한 특성을 활용하여 사전에 null값을 주고 PK대체용으로 사용할 수 있다.
>> Primary Key(PK / 기본키)
- UNIQUE, NOT NULL 제약 조건이 포함되어, 중복된 값이나 빈 값을 가질 수 없다.
- 위의 특징으로 인해 식별자(ex. 고유 ID) 혹은 참조(FK) 대상으로 사용할 수 있다.
- 테이블의 데이터를 쉽고 빠르게 찾도록 도와주는 역할을 수행할 수 있다.
- 가급적 테이블 당 한 개의 PK만 설정하는 것이 관리/이용 측면에서 좋다.
>>Foreign Key(FK / 참조키)
- 테이블을 연결하여, 특정 데이터의 하위 값을 불러오기 위한 다리 역할을 한다.
- 부모 테이블의 PK를 자식 테이블이 FK로 참조한다(단, 정보가 유니크(PK-not null) 하지 않으면 참조(FK)할 수 없다).
>> 가장 아래 계층에 모든 정보를 모으는 것도 좋지만, 데이터 입력/ 유지보수가 어려워진다.