테이블 생성 시 제약 조건 정의하여 테이블 생성하기12345678910111213141516171819202122232425CREATE 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 NO..
제약 조건 - CHECK 123..., salary NUMBER(2) CONSTRAINT emp_salary_min CHECK ( salary > 0 ), ...cs 해당 컬럼이 만족해야되는 조건문을 지정하는 제약 조건어떤 조건을 거느냐에 따라 광범위하게 사용함CHECK ( 조건문 ) 완벽한 조건문 → 좌변 = 우변 12345678910ex)-- 컬럼 레벨 조건 선언salary NUMBER(10) CONSTRAINT xxx CHECK ( salary > 0 ), == -- 테이블 레벨 조건 선언salary NUMBER(10),...,CONSTRAINT xxx CHECK (salary > 0 ),cs 1234567ex) 성별 VARCHAR2(10) CONSTRAINT ooo CHECK ( 성별 IN ( '..
제약 조건 - FOREIGN KEY - 외래키 제약 조건 - 아무거나 들어가면 안 된다. - 자기 자신 테이블이나 다른 테이블의 특정 칼럼(PK, UK)을 참조하는 제약 조건 - 부모.자식 관계 1234567891011121314151617181920212223242526272829303132-- FK - table level 문법 CREATE TABLE employees( employee_id NUMBER(6), last_name VARCHAR2(25) NOT NULL, email VARCHR2(25), salary NUMBER(8, 2), commission_pct NUMBER(2, 2), hire_date DATE NOT NULL, ... department_id NUMBER(4), CONSTRAI..
제약조건 - PRIMARY KEY - 기본키 제약 조건 - NOT NULL + UNIQUE 의 성격을 가짐 : NULL 값, 중복된 값 못 들어간다 - 특징 : 다른 제약 조건과 다르게 테이블 당 한 번밖에 선언을 못한다 - PRIMARY KEY = 테이블의 대표 컬럼 다른 테이블에서 테이블을 참조할 때 이 컬럼을 대표로 참조한다 → 지극히 개인적인 내용을 잡는 것은 좋지 않다 - ex) 학번, 주민번호, 전화번호 - 어떤 걸 PRIMARY KEY 로 해도 상관없으나 보안적인 걸 생각함녀 개인적인 정보를 하면 안된다 - 테이블 생성 시 대표 컬럼으로 쓰기 위하여 사번, 학번, 제품 번호, 주문 번호, 부서 번호, 위치 번호를 일부러 만든다 1234567891011CREATE TABLE test3( id ..
제약조건 - UNIQUE - 중복된 값 들어올 수 없다. - 즉, 고유한 값만 들어올 수 있다. - ex ) 주민번호, 전화번호, 이메일 - NULL 값은 허용한다. ( NULL = 모르는 값, 정의되지 않은 값, 입력하지 않은 값 ) - 이미 NULL 값이 있으면 중복 가능하다. 모르는 값이라 가능 - 하나의 컬럼에 제약 조건을 한 번만 선언할 수 있는 건 아니다. 1234567891011121314CREATE TABLE test2( id NUMBER(10) CONSTRAINT t2_id_nn NOT NULL CONSTRAINT t2_id_uk UNIQUE, name VARCHAR2(30) CONSTRAINT t2_name_nn NOT NULL, job VARCHAR2(20), email VARCHAR..
제약조건 - NOT NULL - 컬럼 레벨의 문법만 가능 - NOT NULL 이 선언되어 있는 문법은 NULL 이 들어갈 수 없다. - 즉, 실제값이 들어가야된다. 비워둘 순 없다. 123456789Create table test1( id NUMBER(10) CONSTRAINT t1_id_nn NOT NULL, name VARCHAR2(30) CONSTRAINT t1_name_nn NOT NULL, job VARCHAR2(20), email VARCHAR2(20), phone VARCHAR2(20) CONSTRAINT t1_ph_nn NOT NULL, start_date DATE);Colored by Color Scriptercs 1DESC test1cs
제약 조건 - 테이블 생성 당시에 제약 조건을 준다 - 테이블 생성 후 제약 조건을 줄 수도 있다제약 조건 약자 Primary Key PK Foreign Key FK Unique UK Not Null NN Check CK 문법1234567891011121314151617181920212223242526272829-- Example of a column-level constraint : CREATE TABLE employees ( employee_id NUMBER(6) [ CONSTRAINT emp_emp_id_pk ] PRIMARY KEY, first_name VARCHAR2(20), ... ); -- 컬럼명 뒤에 한 칸 띄우고 제약 조건을 쓴다-- CONSTRAINT emp_emp_id_pk 생략 가능..