DATABASE (54) 썸네일형 리스트형 07. 기본값을 정하는 DEFAULT 제약 조건과는 별개로 특정 열에 저장할 값이 지정되지 않았을 경우 기본값을 DEFAULT키워드를 이용하면 된다. CREATE TABLE TABLE_DEFAULT ( LOGIN_ID VARCHAR2(20) CONSTRAINT TBLDFT_LGNID_PK PRIMARY KEY, LOGIN_PWD VARCHAR2(20) DEFAULT '1234', TEL VARCHAR2(20) ); >> 보통 비밀번호를 기본값으로 설정하지는 않지만 직급을 사원으로 고정한다거나 할 때 INSERT INTO TABLE_DEFAULT VALUES ('TEST_ID_1', NULL, '010-1234-4578'); INSERT INTO TABLE_DEFAULT (LOGIN_ID,TEL) VALUES ('TEST_ID_2','010-.. 06. 데이터 형태와 범위를 정하는 CHECK CHECK 제약 조건은 열에 저장할 수 있는 값의 범위 또는 패턴을 정의할 때 사용한다. 예를 들어 시간을 저장할 열 데이터는 0에서 23까지의 숫자만 허용한다. CHECK 제약 조건 역시 다른 제약 조건과 마찬가지로 지정할 수 있다. CREATE TABLE TABLE_CHECK ( LOGIN_ID VARCHAR2(20) CONSTRAINT TBLCK_LGNID_PK PRIMARY KEY, LOGIN_PWD VARCHAR2(20) CONSTRAINT TBLCK_LGNPWD_CK CHECK( LENGTH(LOGIN_PWD) >3), TEL VARCHAR2(20) ); >> 비밀번호를 4글자 이상만 저장할 수 있도록 제한함. 단순 연산뿐만 아니라 함수 활용도 가능 INSERT INTO TABLE_CHECK .. 05. 다른 테이블과 관계를 맺는 FOREIGN KEY 외래키, 외부키로도 부르는 FOREIGN KEY는 서로 다른 테이블 간 관계를 정의하는데 사용하는 제약 조건이다. 특정 테이블에서 PK 제약 조건을 지정한 열을 다른 테이블의 특정 열에서 참조하겠다는 의미로 지정할 수 있다. EMP 테이블의DEPTNO열이 DEPT테이블의 DEPTNO를 참조하는 것이 그 예이다. SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME, R_CONSTRAINT_NAME FROM USER_CONSTRAINTS WHERE TABLE_NAME IN ('EMP','DEPT'); CONSTRAINT_TYPE 열 값이 R일 경우 외래키를 의미하며 R_CONSTRAINT_NAME의 PK_DEPT는 DEPT테이블의 PK = DEPTNO열을 참조한다는 .. 04. 유일하게 하나만 있는 값 PRIMARY KEY PRIMARY KEY 제약 조건은 UNIQUE와 NOT NULL의 제약 조건의 특성을 모두 가지는 제약 조건이다. 즉 데이터 중복을 허용하지 않고 NULL도 허용하지 않는다. NULL이 아닌 유일한 값을 가지므로 테이블의 각 행을 식별하는 데 사용한다. PRIMARY KEY 제약 조건은 테이블에 하나밖에 지정할 수 없고, 특정 열을 PK로 지정하면 해당 열에는 자동으로 인덱스가 만들어진다. 예민한 개인정보를 의미하는 데이터는 PK로 지정하지 않는다. 테이블을 생성하며 제약 조건 지정하기 CREATE TABLE TABLE_PK ( LOGIN_ID VARCHAR2(20) PRIMARY KEY, LOGIN_PWD VARCHAR2(20) NOT NULL, TEL VARCHAR2(20) ); PRIMARY KEY.. 03. 중복되지 않는 값 UNIQUE UNIQUE 제약 조건은 열에 저장할 데이터의 중복을 허용하지 않을 때 사용한다. NULL은 값이 존재하지 않음을 의미하기 때문에 중복 대상에서는 제외된다. 즉 UNIQUE 제약 조건을 지정한 열에 NULL은 여러 개 존재할 수 있다. UNIQUE 지정 방법은 NOT NULL과 동일하다. 테이블을 생성하며 제약 조건 지정 UNIQUE 제약 조건 역시 CREATE문으로 테이블을 생성할 때 사용할 수 있다. CREATE TABLE TABLE_UNIQUE( LOGIN_ID VARCHAR2(20) UNIQUE, LOGIN_PWD VARCHAR2(20) NOT NULL, TEL VARCHAR2(20) ); 제약 조건 확인 USER_CONSTRAINTS 데이터 사전에서 CONSTRAINT_TYPE열 값이 U이면 U.. 02. 빈값을 허락하지 않는 NOT NULL 테이블을 생성하며 제약 조건 지정 NOT NULL은 특정 열에 데이터의 중복 여부와는 상관없이 NULL의 저장을 허용하지 않는 제약 조건이다. 반드시 열에 값이 존재해야만 하는 경우에 지정한다. -- 테이블을 생성할 때 NOT NULL 설정하기 CREATE TABLE TABEL_NOTNULL ( LOGIN_ID VARCHAR2(20) NOT NULL, LOGIN_PWD VARCHAR2(20) NOT NULL, TEL VARCHAR2(20) ); -- 제약 조건이 NOT NULL인 열에 NULL 값 넣어보기 INSERT INTO TABLE_NOTNULL ( LOGIN_ID, LOGIN_PWD, TEL) VALUES ( 'TEST_ID_01' , NULL, '010-1234-5678'); >> NULL을 (.. 01. 제약 조건 종류 제약 조건이란? 오라클에서 사용하는 제약 조건은 테이블의 특정 열에 지정한다. 제약 조건을 지정한 열에 제약 조건에 부합하지 않는 데이터를 저장할 수 없다. 제약 조건 지정 방식에 따라 기존 데이터의 수정이나 삭제 가능 여부도 영향을 받는다. 제약 조건의 종류 1) NOT NULL ; 지정한 열에 NULL을 허용하지 않는다. NULL을 제외한 데이터의 중복은 허용된다. 2) UNIQUE ; 지정한 열이 유일한 값을 가져야 한다. 중복이 불가능하지만 NULL은 허용한다. 3) PRIMARY KEY : 지정한 열이 유일한 값이면서 NULL을 허용하지 않는다. 테이블에 하나만 지정 가능하다. 4) FOREIGN KEY : 다른 테이블의 열을 참조하여 존재하는 값만 입력할 수 있다. 5) CHECK : 설정한 .. 05. 공식 별칭을 지정하는 동의어 동의어란? 동의어(synonym)는 테이블, 뷰, 시퀀스 등 객체 이름 대신 사용할 수 있는 다른 이름을 부여하는 객체이다. 주로 테이블 이름이 너무 길어 사용이 불편할 때 좀더 간단하고 짧은 이름을 하나 더 만들어 주기 위해 사용한다. 동의어를 만들기 위해서는 CREATE문을 사용한다. CREATE [PUBLIC] SYNONYM 동의어 이름 FOR 사용자. 객체이름 ; - PUBLIC : 동의어를 데이터베이스 내 모든 사용자가 사용할 수 있도록 설정. 생략시 동의어를 생성한 사용자만 사용가능. PUBLIC으로 생성되어도 본래 객체의 사용 권한이 없으면 사용 불가능(선택) - 동의어 이름 : 생성할 동의어의 이름 (필수) - 사용자. : 생성할 동의어의 본래 객체 소유자를 지정한다. 생략시 현재 접속한 .. 이전 1 2 3 4 5 ··· 7 다음 목록 더보기