티스토리 뷰

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
CREATE TABLE employees
(
    employee_id NUMBER(6)
        CONSTRAINT emp_employee_id PRIMARY KEY,
    first_name VARCHAR2(20),
    last_name VARCHAR2(50)
        CONSTRAINT emp_last_name_nn NOT NULL,
    email VARCHAR2(25)
        CONSTRAINT emp_email_nn NOT NULL
        CONSTRAINT emp_email_uk UNIQUE,
    phone_number VARCHAR2(20),
    hire_date DATE
        CONSTRAINT emmp_hire_date_nn NOT NULL,
    job_id VARCHAR2(10)
        CONSTRAINT emp_job_nn NOT NULL,
    salary NUMBER(82)
        CONSTRAINT emp_salary_ck CHECK (salary > ),
    commission_pct NUMBER(22),
    manager_id NUMBER(6)
        CONSTRAINT emp_manager_fk
            REFERENCES employees (employee_id),
    department_id NUMBER(4)
        CONSTRAINT emp_dept_fk
            REFERENCES departments (department_id)
);
cs

1
DESC employees
cs


★ 주의

테이블 생성 employees1

제약 조건 이름에도 emp1_

       겹치면 안 된다

자기 자신 참조할 때도 emp1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
CREATE TABLE employees1
(
    employee_id NUMBER(6)
        CONSTRAINT emp1_employee_id PRIMARY KEY,
    first_name VARCHAR2(20),
    last_name VARCHAR2(50)
        CONSTRAINT emp1_last_name_nn NOT NULL,
    email VARCHAR2(25)
        CONSTRAINT emp1_email_nn NOT NULL
        CONSTRAINT emp1_email_uk UNIQUE,
    phone_number VARCHAR2(20),
    hire_date DATE
        CONSTRAINT emmp1_hire_date_nn NOT NULL,
    job_id VARCHAR2(10)
        CONSTRAINT emp1_job_nn NOT NULL,
    salary NUMBER(82)
        CONSTRAINT emp1_salary_ck CHECK (salary > ),
    commission_pct NUMBER(22),
    manager_id NUMBER(6)
        CONSTRAINT emp1_manager_fk
            REFERENCES employees (employee_id),
    department_id NUMBER(4)
        CONSTRAINT emp1_dept_fk
            REFERENCES departments (department_id)
);
cs

1
DESC employees1
cs

NOT NULL 은 DESC 로 확인 가능

나머지 제약 조건은 확인 방법이 따로 있다


제약 조건 확인 방법

DB 사전 ( Database Dictionary )

- 읽기만 가능

- 먼저 DESC 한다

1
DESC user_constraints
cs

제약 테이블에 선언된 제약 조건을 볼 수 있다

select 할려면 컬럼명을 알아서 할 수 없으니 구조 정보를 본다

제약 조건 이름, 제약 조건 타입만 먼저 본다


1
2
3
4
5
SELECT constranint_name, constraint_type, search_condition
FROM user_constraints
WHERE table_name = 'EMPLOYEES';
 
--   테이블 명은 대문자로 작성하여야 함
cs


1
2
-- 버퍼 들어가기
/ -- 버퍼 실행
cs


1
2
3
4
5
6
7
8
9
ed
 
-- 버퍼 들어가서 employees1도 확인
 
-- 테이블
-- TEST1
-- EMPLOYEES
 
-- 확인해보기
cs


컬럼 넓이 수정

1
COL search_condition FORMAT a50
cs




공지사항
최근에 올라온 글
Total
Today
Yesterday