1 분 소요

DB 무료 연습 사이트

1. CREATE TABLE

  • 테이블 생성
CREATE TABLE 테이블명 (
  COLUMN명 데이터타입(크기) 제약조건,
  COLUMN명 데이터타입(크기) 제약조건
)


CREATE TABLE PERSON_TABLE (
  NAME VARCHAR2(8),
  GENDER CHAR(2),
  AGE NUMBER(5),
  PHONE CHAR(13)
)


  • 자주 쓰는 데이터 타입
    • CHAR : 주로 고정 크기일 때 사용
    • VARCHAR2 : 주로 가벼 크기일 때 사용
    • NUMBER : 숫자
    • DATE : 날짜

oracle-createtable


2. Constraint

  • 자신이 얻고자 하는 값만 받을 수 있도록 설정하는 것


- NOT NULL

  • 해당 컬럼 안에 NULL 값이 들어올 수 없음

oracle-constraint1

에러 발생!


- PRIMARY KEY

  • 기본키
  • 테이블의 각 행들을 식별하는 기능
  • NULL과 중복 값을 허용하지 않음

oracle-constraint2

ERROR!


- FOREIGN KEY

  • 외래키
  • 다른 테이블의 키를 가져와 해당 테이블의 행을 식별
  • NULL과 중복 값 허용
CREATE TABLE PK_TABLE (
  key varchar2(10),
  // CONSTRAINT / 명칭 / PRIMARY KEY / 해당 테이블 KEY COLUMN 명
  CONSTRAINT PK_COLUMN PRIMARY KEY (key)
 );  // 다른 테이블에서 FK로 가져다 쓸 수 있음

CREATE TABLE FK_TABLE (
  val varchar2(10),
  key varchar2(10),
  CONSTRAINT FK_COLUMN
    FOREIGN KEY (key)  // FK_TABLE의 key를 FOREIGN KEY로 사용
    REFERENCES PK_TABLE(key)  // PK_TAbLE의 PRIMARY KEY인 key를 가져옴
);

INSERT INTO PK_TABLE(key) VALUES('PK_VAL');  // PRIMARY KEY를 'PK_VAL'로 삽입하면
INSERT INTO FK_TABLE(val,key) VALUES('TEST_VAL','PK_VAL');
INSERT INTO FK_TABLE(val) VALUES('TEST_VAL');  // FK는 'PK_VAL'만 사용 가능

SELECT * FROM FK_TABLE

oracle-constraint3


- UNIQUE

  • NULL은 허용, 중복 값은 허용하지 않음

oracle-constraint4


- CHECK

  • 특정 값만 입력할 수 있도록 범위를 설정하는 것

oracle-constraint5

29 > 19 이므로 OK


oracle-constraint6

17 < 19 이므로 ERROR!

태그: , ,

카테고리:

업데이트:

댓글남기기