DAY 23 ~ 24

KSH·2022년 5월 18일

constraint : 제약 조건
constraints : 제약 조건들

  • 테이블을 만드는 관점에서 필요한 것들
    primary key
  • 하나의 테이블의 각각의 행은 구분될 수 있어야 한다
  • not null + unique
    foriegn key
    unique : 현재 테이블의 현재 컬럼에서 중복된 데이터가 나오면 안된다.(null 포함)
    not null : 입력할 때, 빼 먹으면 안된다.
    check : 입력할 때, 확인을 해라.

default : 입력을 안하면 자동으로 들어가는 값

sequence : 번호표

  • 테이블이나 데이터와는 전혀 상관 없음
  • 여러 테이블이 공유할 수도 있음
  • start with : 시작 번호
  • increment by : 번호가 증가하는 크기
  • maxvalue : 마지막 번호
  • cycle : 마지막 번호 다음에 다시 시작 번호로 돌아간다.

sequence 생성 과정

  • create sequence [이름 마음대로]
  • start with [숫자 마음대로]
  • increment by [숫자 마음대로]
  • maxvalue [숫자 마음대로]
  • cycle;
  • 시퀀스이름.nextval : 시퀀스의 다음 번호 꺼내기
  • 시퀀스이름.currval : 시퀀스의 현재 번호 확인하기, nextval이 1번 이상 수행 후 사용 가능

join : 2개 이상의 테이블을 연결하여, data를 select하는 기법.

equi join

  • 동등한 조건으로 두 개 이상의 테이블을 조회 하는 것.
  • 동등 비교 연산자(=)를 사용한 join 문장.
  • 가장 일반적이고 가장 많이 사용하는 join 문장

non equi join : 비교 연산자를 통한 join ( = 은 제외 )

foriegn key

  • 하나의 테이블에서 다른 테이블을 연결하는 속성(attribute, column).
  • 대부분 다른 테이블의 pk이다.
  • 예) emp의 deptno(fk)는 dept의 pk이다.

cross join : Cartesian Product : 카티션 프로덕트

  • 두 개 이상의 테이블에서 모든 가능한 경우의 수를 조회.

self join

  • 하나의 테이블을 2번 이상 사용해서 join.
  • 예) from emp e1, emp e2

left outer join

  • 두 개의 테이블 중, 좌측의 테이블을 중심으로 join을 수행.
  • 무조건 좌측은 다 나온다.
  • 우측은 join에 해당하는 내용만 나온다.

right outer join

  • 두 개의 테이블 중, 우측의 테이블을 중심으로 join을 수행.
  • 무조건 우측은 다 나온다.
  • 좌측은 join에 해당하는 내용만 나온다.

select * from tab; -- 현재 사용자 소유의 모든 테이블 보기

show RECYCLEBIN; -- 휴지통의 삭제된 테이블 보기

purge RECYCLEBIN; -- 휴지통 비우기

0개의 댓글