본문 바로가기

오라클

DDL

DML

- 데이터 조작어(select, insert, update, delete)


DDL

- 데이터 정의어(create,alter,drop)

- 객체(DB Object)를 생성한다.

- DB Object : 테이블, 뷰, 인덱스, 트리거, 프로시저, 제약사항 등..


**테이블 생성하기(= 텍스트 파일 구조 만들기)


create table 테이블명

(

컬럼 정의,

컬럼 정의,

컬럼명 자료형(길이) NULL표시 제약사항

);



**컬럼명 자료형(길이) NULL표시 제약사항

**제약사항, Constraint

- 해당 컬럼값에 대한 조건(규제) > 조건을 만족하지 못하면 데이터를 못넣는다. > 유효성 검사

- 데이터베이스 무결성 보장(Integrity Constraint Rule - 무결성 제약 조건)


1. Not Null

- 반드시 값을 가져야 한다.


2.Primary Key(PK)

- 기본키

- 테이블 내에서 모든 컬럼들 중에 대표가 되는 컬럼 > 행과 행을 구분하는 수단으로 사용

- 테이블 내에서 행을 구분하기 위한 고유 식별자

- 1개의 테이블내에는 반드시 PK가 존재해야 한다.

- PK는 보통 1개의 컬럼으로 구성 + 가끔씩 2개의 컬럼으로 PK를 구성하는 경우도 있음(복합키, Composite Key)

- PK는 따로 명시하지 않아도 자동으로 not null이 적용된다.

- PK는 따로 명시하지 않아도 Duplicate가 적용된다. > unique가 적용된다. = 중복값을 가질 수 없다.

- PK = Not NUll + Unique


ex)

create table Memo

(

seq number primary key, -- 테이블 행 구분 고유 식별자 + not null + unique(중복불가)

name varchar2(30) not null,

memo varchar2(10000) null,

regdate date null -- 입력하지 않으면 현재시간으로 등록됨.

);


3. Unique

- 해당 컬럼값이 테이블 내에서 유일값이어야 한다.(중복값이 존재해서는 안된다.)

- PK 와 유사

- NULL을 가질 수 있다.

- 절대로 uique식별자로 사용하면 안된다.(null이 있기에)


4. check **?

- 열거형, 범위 비교 등의 제약(사용자 정의형)

- where절 조건과 유사


ex)

create table Memo

(

seq number primary key, 

name varchar2(20) default '익명' null,

memo varchar2(1000) not null,

color varchar2(30) check(color in('red','yellow','blue')) not null, 또는 color varchar2(30) check(color = 'red' or color = 'yellow' or color = 'blue') not null,

regdate date check(regdate between to_date('2018-01-01', 'yyyy-mm-dd') and to_date('2018-12-31', 'yyyy-mm-dd') not null

또는 regdate date check(to_char(regdate,'hh24') between 0 and 11) not null

또는 regdate date check(to_char(regdate,'d') between 2 and 6) not null


);

5. default

- 컬럼 기본값

- 해당 컬럼값에 값을 넣지 않으면 null을 입력하는 대신 자동으로 미리 준비된 기본값을 넣는다.


ex)

create table tblMemo

(

    seq number primary key, 

    name varchar2(20) default '익명' null,

    memo varchar2(1000) not null,

    regdate date not null

);


**제약 사항을 만드는 방법


1. 컬럼 수준에 만드는 방법(여태 수업했던 방법)

    - 컬럼을 정의할 때 같이 제약을 추가하는 방법

    - 1 : 1 제약(컬럼 1개 : 제약 1개)

    - 컬럼명 자료형 제약사항 

    - 컬럼명 자료형 [contraint 제약명] 제약사항

    

2. 테이블 수준에서 만드는 방법

    - pk,fk,check,uq : 가능

    - nn, default : 불가능

    a. create

    b. alter //X





'오라클' 카테고리의 다른 글

오라클(SQL) 함수1(집계함수)  (0) 2018.08.31
오라클 DB 강좌  (0) 2018.08.31
조인(JOIN)  (0) 2018.08.29
뷰(View)  (0) 2018.08.29
INSERT문/UPDATE문/DELETE문 (DML)  (0) 2018.08.29