DAY 8 - SQL활용#5

Min·2023년 8월 3일

1. 무결성 제약 조건

데이터 무결성 제약 조건은 테이블에 잘못된 데이터가 들어가지 못하도록 하기 위해 사용하는 제약 조건이다.

1.1 primary key

  • 테이블에 들어있는 데이터를 구분하는데 사용하는 대표컬럼으로 사용하고 싶을때 컬럼에 적용한다.

  • 해당 컬럼의 값으로 null과 중복된값을 허용 하지 않는다.
    기본키라 한다.

  • 설정된 컬럼은 중복되지 않는 유일한 값을 가지고 있어서 테이블에 데이터를 식별하는 용도로 사용한다. 유일한 값을 가진다. 테이블에 한개만 존재하고 중복된 컬럼을 하나의 키로 사용할 수 있다.

1.2. foreign key

  • 설정된 컬럼은 다른 테이블의 primary key 컬럼에 존재하는 값 중 하나의 값을 값으로 가지는 컬럼 이다. 외래키라 한다.

1.3 not null

  • null을 허용하지 않는다.

1.4 unique

  • 중복된 값을 허용하지 않는다. 같은 값이 들어갈수 없다.

1.5 check

  • 선택된 컬럼에 설정한 범위의 값만 허용한다.

2. VIEW와 SEQUENCE

  • VIEW는 기존에 존재하는 여러 테이블이나 뷰를 조합하여 새로운 가상 테이블로 만든 것을 VIEW라한다.
  • VIEW에 정의되지 않은 데이터들은 사용자에게 보이지 않기 때문에, 데이터를 비교적 안전하게 관리할 수 있다.

2.1 view

사원의 이름과 해당 사원이 일하는 부서 이름을 출력해보자.

select employees.first_name,departments.department_name from
employees,departments
where employees.department_id = departments.department_id;

2.2 VIEW로 만들어보기

ex)

create view 뷰이름 as 쿼리
create view view_ed as
select employees.first_name,departments.department_name from
employees,departments
where employees.department_id = departments.department_id;

2.3 VIEW로 출력해보기

앞에서 만든 view를 이용해서 사원의 이름과 해당 사원이 일하는 부서 이름을 출력해보자.

select first_name,department_name from view_ed;

2.4 SEQUENCE

  • 시퀀스는 스스로 하나씩 증가하는 카운터를 관리하는 객체이다.
  • 시퀀스 생성: create sequence 시퀀스명;
    시퀀스 삭제: drop sequence 시퀀스명;

ex) testSequence가 가지고 있는 카운트를 하나씩 증가시켜보기

select testSequence.nextval from dual;

3. INDEX

0개의 댓글