실습

[1차 프로젝트] #5 테이블 생성 (직접 테이블 생성하기)

원코딩 2022. 8. 8. 02:23

 

 

테이블 생성

 

 

프로젝트에 필요한 테이블을 직접 생성해보도록 할게요. 

(오라클 디벨로퍼를 사용하고 있습니다) 

 

CREATE TABLE camp_recipe_1(
    cr_rno NUMBER,
    cr_title VARCHAR2(100)CONSTRAINT cr_title_nn NOT NULL,
    cr_subtitle VARCHAR2(100) CONSTRAINT cr_subtitle_nn NOT NULL,
    cr_subject VARCHAR2(2000)CONSTRAINT cr_subject_nn NOT NULL,
    cr_poster VARCHAR2(1000)CONSTRAINT cr_poster_nn NOT NULL,
    cr_recipe CLOB CONSTRAINT cr_recipe_nn NOT NULL,
    cr_detail CLOB CONSTRAINT cr_detail_nn NOT NULL,
    cr_hit NUMBER DEFAULT 0,
    cr_writer VARCHAR2(30) DEFAULT '관리자',
    cr_regdate DATE DEFAULT SYSDATE,
    CONSTRAINT cr_rno_pk PRIMARY KEY(cr_rno)
);

 

한 문장씩 설명해보도록 하겠습니다. 

 

   CREATE TABLE camp_recipe_1

이름이 camp_recipe_1인 테이블을 생성하겠습니다. 

 

    cr_rno NUMBER,

rno기본키 입니다. 숫자이며, 데이터 입력 시에 자동증가 번호를 주어 중복되는 값이 없도록 할 예정입니다. 


    cr_title VARCHAR2(100)CONSTRAINT cr_title_nn NOT NULL,

제목이 들어갈 컬럼입니다. 문자이며, 100byte크기까지 저장 가능하며, null 값을 허용하지 않습니다. 


    cr_subtitle VARCHAR2(100) CONSTRAINT cr_subtitle_nn NOT NULL,

부제목이 들어갈 컬럼입니다. 문자이며, 100byte크기까지 저장 가능하며, null 값을 허용하지 않습니다. 


    cr_subject VARCHAR2(2000)CONSTRAINT cr_subject_nn NOT NULL,

설명이 들어갈 컬럼입니다. 문자이며, 2000byte크기까지 저장 가능하며, null 값을 허용하지 않습니다. 


    cr_poster VARCHAR2(1000)CONSTRAINT cr_poster_nn NOT NULL,

이미지가 들어갈 컬럼입니다. 문자이며, 1000byte크기까지 저장 가능하며, null 값을 허용하지 않습니다.

 
    cr_recipe CLOB CONSTRAINT cr_recipe_nn NOT NULL,

레시피가 들어갈 컬럼입니다. 문자이며, 4GB크기까지 저장 가능하며, null 값을 허용하지 않습니다.


    cr_detail CLOB CONSTRAINT cr_detail_nn NOT NULL,

레시피 설명 들어갈 컬럼입니다. 문자이며, 4GB크기까지 저장 가능하며, null 값을 허용하지 않습니다.


    cr_hit NUMBER DEFAULT 0,

조회수가 들어갈 컬럼입니다. 숫자이며 null 값일 경우 기본 값으로 0을 입력합니다. 


    cr_writer VARCHAR2(30) DEFAULT '관리자',

글쓴이가 들어갈 컬럼입니다. 문자이며, null 값일 경우 기본 값으로 '관리자'을 입력합니다. 


    cr_regdate DATE DEFAULT SYSDATE,

작성일 들어갈 컬럼입니다. 날짜이며, null 값일 경우 기본 값으로 '시스템 날짜'을 입력합니다. 


    CONSTRAINT cr_rno_pk PRIMARY KEY(cr_rno)

기본키 값으로 cr_rno 컬럼을 설정하겠다는 의미입니다. 

 

 

 

Table CAMP_RECIPE_1이(가) 생성되었습니다. 

 

 

 

INSERT INTO
INSERT INTO camp_recipe_1(cr_rno,cr_title,cr_subtitle,cr_subject,cr_poster,cr_recipe,cr_detail) VALUES(1,'hi','hi2','hi3','poster','recipe','detail');

 

디폴트 값이 잘 적용되는지 확인하기 위해서, 끝에 3개의 컬럼에는 값을 넣지 않았습니다. 

과연 값을 넣지 않았을 때 디폴트 값이 잘 입력될까요? 

 

 

원래는 아무 값도 입력하지 않아 null 값이 입력되었겠지만, 

위에 설정한 디폴트 값대로 값이 설정됨을 확인할 수 있습니다! 

 

 

설정된 제약조건은 아래와 같습니다. 

제약조건에 대한 설명은 아래의 글을 참고해주세요.

2022.07.19 - [Oracle] - [DB/오라클] 제약조건(CONSTRAINT) 총정리 - 기본키 설정 법(primary key)

 

[DB/오라클] 제약조건(CONSTRAINT) 총정리 - 기본키 설정 법(primary key)

오라클에서는 데이터의 무결성을 유지하기 위해 제약조건을 사용할 수 있다. PRIMARY KEY pk : primary key 중복이 없는 데이터로 기본키이다. 중복이 없기 때문에 대표격으로 사용된다. 우리가 많은

codingwone.tistory.com