1 minute read

DB03

Modification of the Database


Deletion

  • 행이나 열을 제거하는 명령어이다.
  • 기본적으로 from과 where절과 함꼐 쓰인다.

Insertion

  • 행이나 열을 삽입하는 명령어이다.
  • insert into table (select 쿼리) 형태로 쓰인다.

Updates

  • 행이나 열을 수정하는 명령어이다.
  • case statement와 함께 사용할 수 있다.
  • Scalar subquery와 함꼐 쓰일 수 있다.

Join relations


  • 2개의 relation을 받아서 어떤 결과 table을 돌려준다.
  • join연산은 두 relation에서 cartesian-product의 결과에서 어떤 조건에 맞는 결과를 돌려준다.

Natural Join

  • 두 relation에서 공통되는 속성의 열만을 relation으로 돌려준다.
  • 연관없지만 이름이 같은 열이 있는 경우 부정확하게 연산될 수 있다.

Outer Join

  • 정보의 손실을 피하는 조인 연산이다.
  • Left Outer Join
  • Right Outer Join
  • Full Outer Join

Views


  • 특정 사용자에게 특정 정보만을 보여주는 가상 테이블을 view라고 한다.
  • create view를 통해 만들 수 있다.
  • 다른 view를 이용해서 view를 만들 수도 있다.
  • 특정 view 시스템은 물리적으로 저장할 수도 있겠끔 해준다. 이를 Materialized View라고 한다.

Update of a View

  • insert into 명령어를 이용하여 수행할 수 있다.
  • from 절에는 오직 하나의 데이터베이스 relation만이 포함된다.
  • select절에서는 relation의 속성이름만 포함해야 한다. expression이나 aggregates나 distinct는 쓸 수 없다.
  • select절에 포함되지 않은 속성들은 null로 처리된다.
  • group by나 having절을 가질 수 없다.

Transactions


  • transaction은 쿼리 뭉치 또는 일의 단위로 구성되어 있다.
  • SQL은 transaction의 시작을 암묵적으로 명시해준다.
  • transaction은 반드시 다음 2가지 중 하나로 끝나야 한다.
    • Commit work: update된 정보가 영원히 database에 저장된다.
    • Rollback work: update된 정보를 모두 update하기 전으로 변경한다.(실행 취소)
  • 병행적 transaction으로 부터 격리된다.

무결성 제약조건


  • 무결성 제약조건은 불의의 사고로부터 database를 지켜준다.

하나의 relation의 제약조건들

  • not null : 값은 null이 될 수 없다.
  • primary key : 인자로 넘어온 속성을 기본키로 지정해준다. 기본키는 null이 될 수 없다.
  • unique : 인자로 넘어온 속성들을 후보키로 지정해준다. 후보키는 null이 될 수 있다.
  • check : 특정 속성이 정의되어 있는지 확인한다.

JDBC


  • java에서 database와 연결될 수 있게 해주는 JAVA API이다.
  • JDBC를 이용하여 db와 통신하는 과정
    • 커넥션을 연다.
    • statement object를 생성한다.
    • query를 보내고 결과를 fetch하기 위하여 statement object를 이용하여 query를 실행한다.
    • 에러를 처리하기 위해 exception을 쓴다.

JDBC 기능들

  • 데이터베이스와 연결
  • SQL statement를 db로 전달
  • 예외처리와 자원 관리
  • query의 결과 회수
  • statement를 준비
  • 실행가능한 statement
  • metadata 특징

Categories:

Updated: