반응형

IT 97

[Oracle] 제약 조건(6) - 디폴트(DEFAULT)

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 디폴트(DEFAULT) 설명 DEFAULT는 테이블에 데이터가 INSERT될 때 아무런 값이 입력되지 않을 경우 입력되는 기본값을 설정해 주는 제약 조건이다. 문법 CREATE TABLE [테이블 이름]( (다른 열 정의 문법 생략), [열 이름] [열 자료형] DEFAULT [기본값으로 설정할 값] ); 사용 예시 1. TB_SHOP_MEMBER 테이블에 회원 정보가 INSERT 될 시 COL_POINT 데이터가 입력되지 않으면 0으로 설정 CREATE TABLE TB_SHOP_MEMBER( COL..

[Oracle] 제약 조건(5) - 체크(CHECK)

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 체크(CHECK) 설명 CHECK는 값의 범위 또는 패턴을 정의할 때 사용하는 제약 조건이다. 예를 들면 특정 열에 들어가는 문자열이 반드시 5글자 이상이어야 한다거나, 특정 열에 들어가는 숫자는 반드시 1000을 넘어야 한다는 조건 등을 설정해 두는 것이다. 문법 인라인(inline) 제약 조건 정의 -- 제약 조건 이름 미기입 시 CREATE TABLE [테이블 이름]( (다른 열 정의 문법 생략), [열 이름] [열 자료형] CHECK [해당 열의 조건 설정] ); -- 제약 조건 이름 기입 시..

[Oracle] 제약 조건(4) - 외래 키(FOREIGN KEY)

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 외래 키(FOREIGN KEY) 설명 외래 키(이하 FK)는 다른 테이블의 열을 참조하여 존재하는 값만 입력할 수 있는 제약 조건이다. 예를 들어 한 학원에서 강의 시스템을 관리하는 데 '강의실' 테이블과 '강의' 테이블이 있다고 가정하자 각 '강의'마다 '강의실'이 배정해야 한다고 할 때, 한 직원이 '강의' 테이블의 '강의실코드' 컬럼에 실수로 'R05'를 기입하면 어떻게 될까? 다른 직원들이 그 자료를 참조했을 때 혼란을 겪게 될 것이다. '강의실코드'가 'R05'에 해당하는 강의실은 존재하지 ..

[Oracle] 제약 조건(3) - 기본 키(PRIMARY KEY)

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 기본 키(PRIMARY KEY) 설명 PRIMARY KEY(이하 PK)는 지정한 열이 유일한 값이면서 NULL을 허용하지 않는 제약 조건이다. 테이블에 하나만 지정 가능하다. 이는 PK가 하나라는 의미이며, PK를 구성하는 열은 여러 개일 수 있다는 의미이다. 문법 인라인(inline) 제약 조건 정의 -- 제약 조건 이름 미지정 CREATE TABLE [테이블명] ( [열이름] [자료형] PRIMARY KEY, (...) ); -- 제약 조건 이름 지정 CREATE TABLE [테이블명] ( [열이..

[Oracle] 제약 조건(2) - UNIQUE

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 UNIQUE 설명 열에 저장할 데이터의 중복을 허용하지 않고자 할 때 사용하는 제약 조건. UNIQUE 제약 조건은 중복되는 값은 허용하지 않지만 NULL 저장은 가능하다. NULL은 존재하지 않거나 해당 사항이 없다는 의미로 사용되는 특수한 값이므로 NULL에 데이터 중복의 의미를 부여할 수 없다. 사용 예시 -- COL_IDX열에 UNIQUE 제약 조건을 설정하여 테이블 생성 CREATE TABLE TB_UNIQUE( COL_IDX NUMBER(3) UNIQUE, COL_NAME VARCHAR2(..

[Oracle] 제약 조건(1) - 제약 조건(CONSTRAINT) 제어, NOT NULL

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 제약 조건(CONSTRAINT) 제어, NOT NULL 설명 제약 조건(constraint) : 테이블에 저장할 데이터를 제약하는 특수한 규칙. 종류로는 NOT NULL, UNIQUE, PRIMARY KEY , FOREIGN KEY, CHECK가 있음 NOT NULL : 지정한 열에 NULL을 허용하지 않는 제약 조건. NULL을 제외한 데이터의 중복은 허용됨. 제약 조건 제어 문법 제약 조건 조회하기 SELECT OWNER, CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_N..

[Oracle] DDL(8) - 시퀀스(SEQUENCE)

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 시퀀스(SEQUENCE) 개념 데이터베이스에서 특정 규칙에 맞는 연속 숫자를 생성하는 객체. 번호를 사용해야 하는 사용자에게 계속 다음 번호를 만들어 주는 역할. 예를 들면, 우리가 주로 홈페이지를 이용하며 볼 수 있는 게시판에서 게시글을 등록할 때마다 게시판 번호를 생성할 때 사용할 수 있음. ※ SELECT MAX(COLUMN) + 1 FROM TABLE; 시퀀스 대신 위의 쿼리를 사용하는 방식은 테이블 데이터가 많아질수록 가장 큰 데이터를 찾고 새로운 번호를 계산하는 시간이 늘어난다는 단점이 있..

[Oracle] DDL(7) - 시노님(SYNONYM)

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 시노님(SYNONYM) 개념 우리말 그대로 해석해 동의어라고도 칭한다. 주로 테이블 이름이 너무 길어 사용이 불편할 때 좀 더 간단하고 짧은 이름을 하나 더 만들어 주기 위해 사용하는 객체. 테이블, 뷰, 시퀀스 등 객체 이름 대신 사용할 수 있는 다른 이름을 부여함. 문법 및 사용 예시 시노님 생성 CREATE [PUBLIC] SYNONYM [동의어명] FOR [사용자.][객체명]; PUBLIC : 동의어를 데이터베이스 내 모든 사용자가 사용할 수 있도록 설정. 생략할 경우 동의어를 생성한 사용자만..

[Oracle] DDL(6) - 뷰(VIEW)

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 뷰(VIEW) 개념 하나 이상의 테이블을 조회하는 SELECT문을 저장한 객체. 물리적 데이터를 따로 저장하지 않음. SELECT문의 FROM절에 사용하면 특정 테이블을 조회하는 것과 같은 효과를 얻을 수 있음. 장점 1. SELECT문의 복잡도를 완화하는 편리성 2. 테이블의 특정 열을 노출시키지 않는 보안성 뷰 생성 및 조회 뷰 생성 및 세부 문법 설명 CREATE [OR REPLACE] [FORCE | NOFORCE] VIEW [뷰이름] [열이름1, 열이름2, ... 열이름N(선택)] AS [저..

[Oracle] DDL(5) - 인덱스(INDEX)

이 게시물은 Database GUI Oracle SQL Developer의 아래 버전 정보를 기준으로 작성되었습니다. Java(TM) 플랫폼 : 1.8.0_321 Oracle IDE : 4.1.5.21.78 인덱스(INDEX) (1) 인덱스의 개념 데이터베이스에서 데이터 검색 성능의 향상을 위해 테이블 열에 사용하는 객체. 테이블에 보관된 특정 열 데이터의 주소, 즉 일종의 색인 기능. 쿼리 속도 향상을 위해 사용하나, 과도한 사용은 데이터베이스 전체의 성능 부하를 가져올 수 있음 (2) 인덱스 생성 문법 CREATE [UNIQUE(선택)] INDEX [인덱스명] ON [테이블명]([열이름 혹은 열 관련 계산식1], [열이름 혹은 열 관련 계산식2], ... , [열이름 혹은 열 관련 계산식N]); → ..

반응형