개발(Web)/DB

[Oracle] 데이터정의어(DDL) - Table

shinyelee 2020. 7. 21. 13:50

데이터정의어(DDL) - Table에 대해 알아보자.

Ⅰ. Table

1. 테이블 생성(create table)

* 테이블 생성 조건 : create table 권한.

* 테이블 생성 시 테이블명, 컬럼명, 데이터타입, 컬럼 사이즈 지정해야 함.

* 옵션 : Default값, 제약조건 추가 가능.

테이블 dept를 생성한 후 데이터를 삽입했다.
null값을 넣으려면 1. 해당 컬럼 제외해 암시적으로 넣어주거나, 2. null을 입력해 명시적으로 넣어주는 방법이 있다.

※ SQL Developer에서는 날짜 기본 포맷이 RR/MM/DD이다.

create_date 컬럼에 default를 입력하면 오늘 날짜가 입력된다. default값 미지정 컬럼에 default를 입력하면 null값이 들어간다.
CCC의 create_date를 default값으로 수정했다. 데이터를 입력할 때 null을 넣지 않고 비워만 둬도 오늘 날짜가 입력된다.

2. 제약조건

가. 제약조건을 선언하는 시기

(1) table 생성시 : create table 어쩌구;

(2) table 생성후 : alter table 저쩌구;

나. 제약조건 선언시 제약조건명

(1) 사용자 지정 : 의미있고 고유한 제약조건명 지정

     ex. 테이블명약자_컬럼명약자_제약조건유형약자

     - emp_empid_pk(employees, employee id, primary key)

     - emp_sal_nn(employees, salary, not null)

(2) 사용자 생략 : Oracle이 자동으로 고유한 제약조건명 지정

     ex. sys_cxxxxxx(오류 발생 시 뭐가 문제인지 알기 어려움)

다. 제약조건 문법 예시

(1) column-level

(2) table-level

라. 제약조건 5가지

(1) not null 제약조건 : 회원가입 필수정보(빈 값, 즉 null이 올 수 없음).

not null 제약조건은 나머지 네 제약조건과 달리 컬럼 레벨의 문법만 가능하다.

(2) unique 제약조건 : 주민번호, 이메일, 전화번호 컬럼 등에 주로 선언(중복 방지).

unique 제약조건을 걸었다.

(3) primary key 제약조건 : not null + unique.

primary key 제약조건은 한 테이블당 한 번만 선언할 수 있다.

(4) foreign key 제약조건 : 자기 자신이나 다른 테이블의 특정 컬럼(pk, uk)을 참조함.

예시.

(5) check

3. 테이블 생성 시 제약조건 정의하여 테이블 생성하기

제약조건 확인.
저장.
테이블 생성 후 조회.
대체 변수 입력.
결과.

 

출처 : 아이티윌 부산교육센터 Oracle Database 12c : 실습가이드북

반응형