Database

st2702·2020년 7월 9일
0

Web

목록 보기
3/7
post-thumbnail

Database

  • 데이터를 저장 및 보존 하는 시스템.

RDBMS란?

'Relational DataBase Management System’ 의 약자로 관계형 데이터베이스

  • 데이터를 서로 상호관련성을 가진 형태로 표현한 데이터를 말한다.
  • 모든 데이터들은 2차원 테이블들로 표현된다.
  • 테이블 각각 행 (column)과 열 (row)로 구성된다.
    column : 각 항목
    row : 각 항목들의 실제 값. / 각 row는 고유 키 (Primary Key)가 있다. 주로 이 고유 키를 통해 해당 열을 찾거나 인용하게 된다.

테이블의 관계 ??

각각의 테이블들은 서로 상호관련성을 가지고 있다.
테이블 끼리의 연결에는 크게 3가지 종류가 있다.

  • one to one
  • One to many
  • Many to many

👉 One to one (일대일 관계)
테이블 A의 로우가 테이블 B의 row가 정확히 1:1 매칭 되는 관계

👉 One to many (일대다 관계)
테이블 A의 로우가 테이블 B의 여러 row와 연결 되는 관계

👉 Many to many (다대다 관계)
테이블 A의 여러 row가 테이블 B의 여러 row와 연결 되는 관계

Transaction (트랜잭션) ??

  • 일련의 작업들이 하나의 작업처럼 취급되어 모두 성공하거나 모두 취소 되는걸 의미.
  • Commit & rollback

ACID (Atomicity , Consistency, Isolation , Durability)??

      원자성   ,    일관성    ,  고립성  ,  지속성 
  • 원자성 : 트랜잭션과 관련된 작업들이 부분적으로 실행되다가 중단 되지 않는것을 보장하는 능력이다.
    Ex) 친구에게 계좌이체시 본인에게는 이체성공이라 떳지만 친구에겐 돈이안들어게 되는경우를 방지하기 위해 아예 취소시켜 버림.

  • 일관성 : 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터 베이스 상태로 유지하는것

  • 고립성 : 트랜잭션 수행 시 다른 트랜잭션의 연산 작업이 겹치지 못하게 보장하는 것.

  • 지속성 : 성공적으로 수행된 트랜잭션은 계속 반영되어야 한다.

SQL (관계형테이블) vs NoSQL (비관계형 테이블) ?

👉 SQL

장점

  • 관계형 데이터베이스는 데이터를 더 효율적으로 체계적으로 저장, 관리 할 수 있다.
  • 트랜잭션

단점.

  • 테이블을 미리 정의해야해서 테이블 구조 변화 등에 덜 유연하다
  • 확장성이 쉽지 않다.

👉 NoSQL

장점

  • 데이터 구조를 미리 정의하지 않아도 되므로 저장하는 데이터 구조 변화에 유연하다.
    확장하기가 비교적 쉽다. 그냥 서버 수를 늘리면됨.
  • 확장이 쉽고 데이터 구조도 유연해 방대한 양의 데이터를 저장하는데 유리하다.

단점

  • 데이터의 완전성이 덜함.
  • 트랜잭션이 안되거나 비교적 불안정하다.

출처 : Wecode

profile
Never never never give up!

0개의 댓글