DBMS 여섯번째

Park In Kwon·2022년 11월 21일
0

1. Foreign key (외래 키)

  • 외래키, 외부키, 참조키, 외부 식별자 등으로 불린다. 흔히 FK 라고 한다.
  • FK 가 정의된 테이블을 자식 테이블이라고 칭한다.
  • 참조되는 테이블. 즉, PK가 있는 테이블을 모두 부모 테이블 이라고 한다.
  • 부모테이블은 자식의 데이터나 테이블이 삭제된다고 영향을 받지 않는다.
  • 참조하는 데이터 컬럼과 데이터 타입은 반드시 일치해야 한다.
  • 참조할 수 있는 컬럼은 기본키(PK) 이거나 UNIQUE 만 가능하다. (보통 PK랑 엮는다)

2. 삭제 옵션

2-1. on delete cascade : 참조되는 부모 테이블의 행에 대한 delete를 허용한다.

                              즉, 참조되는 부모테이블 값이 삭제되면 연쇄적으로 자식 테이블 값 역시 삭제된다.

2-2. on delete set null : 참조되는 부모 테이블의 행에 대한 delete를 허용한다.

                            부모 테이블의 값이 삭제되면 해당 참조하는 자식 테이블의 값들은 null 값으로 설정된다.

3. View (뷰)

  • view 는 table 과 유사하며, 테이블처럼 사용한다.
  • 테이블과는 달리 데이터를 저장하기 위한 물리적인 공간이 필요하지 않은 가상 테이블이다.
  • 데이터를 물리적으로 갖지 않지만 논리적인 집합을 갖는다.
  • 테이블과 마찬가지로 select, insert, update, delete 명령이 가능하다.

4. 시퀀스 (Sequence)

  • 연속적으로 번호를 만들어 주는기능
  • 자동으로, 순차적으로 증가하는 순번을 반환하는 데이터베이스 객체이다.

4-1. 시퀀스 구분

     create sequence : 시퀀스 이름
     increment by n    : 증가값을 설정, 2 -> 2씩 증가, 기본값은 1
     start with n        : 시작값 설정, 기본값 1
     maxvalue n        : 시퀀스의 최대값을 설정
     minvalue n         : 시퀀스의 최소값을 설정
     cycle/nocycle     : 시퀀스를 반복적으로 사용할지를 설정
     cache n            : 시퀀스 속도를 개선하기 위한 캐싱여부 지정

5. index

5-1. 인덱스란?

  • 조회 속도를 향상시키기 위한 데이터베이스 검색 기술
  • 색인이라는 뜻으로 해당 테이블의 조회결과를 빠르게 하기 위해 사용
  • 즉, 인덱스가 필요한 이유는 인덱스를 생성해 줌으로써 조회 속도를 빠르게 할 수 있다.

5-2. 인덱스가 불필요한 경우

  • 데이터가 적은( 수천만건 미만) 경우에는 인덱스를 설정하지 않는게 오히려 성능에 좋다.
  • 조회보다 삽입, 수정, 삭제, 처리가 많은 테이블

5-3. unique index

  • 인덱스를 사용한 컬럼의 중복값들을 포함하지 않고 사용할 수 있는 장점

    create unique index 인덱스명
    on 테이블명(컬럼);

5-4. non-unique index

  • 인덱스를 사용한 컬럼에 중복 데이터 값을 가질 수 있다.

    create index 인덱스명
    on 테이블명(컬럼);

profile
개발자로 진로 변경을 위해 준비하고 있습니다

0개의 댓글