RDBMS - 관계형 데이터베이스

이재문·2021년 11월 14일
0
post-thumbnail

관계형 데이터베이스(RDBMS)란

  • 행과 열(엑셀 형식)을 가지고 표 형식 데이터를 저장하는 형태의 데이터베이스 (엑셀은 데이터 대량작업 불가, 자유롭게 데이터 조회 및 수정 불가)

    RDBMS는 이런 표를 많이 저장하고 각각의 테이블에 이름을 붙여 관리한다.(SQL) - 하나의 표를 테이블로 지정하고 이름을 붙인다.
    Columm : 테이블의 각 항목을 의미한다.(id, name, number, 거주지)
    Row : 각 항목들의 실제 값을 의미한다.
  • 고유 키(Primary Key)

    각 행은 고유 키(Primary Key)가 있다.
    각 Row는 다른 Row와 겹치지 않는, 하나의 데이터만 지칭하는 고유한 번호가 있다.
    Primary Key를 통해 특정 Row를 찾고, reference 할 수 있다.

  • 각각의 테이블은 서로 관련성을 가지고 연결을 시킬 수 있다.
    (A가 좋아하는 음식으로 연결 - 중복 가능)
  • RDBMS가 가장 일반적으로 활용되는 인프라는 인터넷이다.
  • RDBMS 소프트웨어
    관계형 데이터베이스를 관리하는 소프트웨어는 MySQL, Oracle, PostgreSQL 등이 있다.

RDBMS - 상호관련성

RDBMS의 유형은 세가지로 나눌 수 있다.

  • One to One - 일대일 관계
  • One to Many - 일대다 관계
  • Many to Many - 다대다 관계

One to One

- 테이블 내의 테이터는 다른 테이블의 데이터와 하나씩만 연결된다. 중복 X
ex) 이름 테이블과 주민번호 테이블의 연결

One to Many

- 한 쪽의 테이블 내의 데이터는 다른 테이블의 데이터와 중복으로 연결된다.
ex) 이름 테이블과 음식 테이블의 연결 (음식이 사람을 좋아 할 수 없으므
로)

Many to Many

- 양 쪽의 데이터를 모두 다른 테이블과 중복으로 연결될 수 있다.
- 서로 다른 테이블의 데이가 연결 될 때 데이터의 조합을 입력하기 위한 중간 테이블이 생성된다. - 가독성이 떨어짐, 관리가 힘듬, 비효율
ex)
이름 테이블과 프로젝트 이름 테이블의 연결
(팀 프로젝트를 진행했을 때 각 각의 사람들이 다른 팀으로 프로젝트를 진행했을 때)


ACID

ACID는 데이터의 유효성을 보장하기 위한 트렌잭션의 특징들의 앞글자를 딴 단어이다.

트랜잭션

- ACID를 보장하면서 일련의 작업들이 하나의 작업처럼 취급되어 모두 성공하거나 모두 실패하는 것을 의미.
쉽게 말해 송금과정에서 출금통장에서 출금이 되어 입금되는 중에 오류로 인해 중간단계에서 실패할 경우 모든 과정이 롤백되는 현상을 트랜잭션이라고 할 수 있다.

  • Atomicity(원자성)
    모든 작업이 반영되거나 모두 롤백되는 특성
  • Consistency(일관성)
    트랜잭션의 실행이 성공적으로 완료되면 일관성있는 데이터베이스 상태로 유지하는 특성
  • Isolation(고립성)
    A와 B 두개의 트랜젝션의 연산 작업이 실행중일 때 다른 트랜잭션이 끼어들지 못하도록 보장하는 것
  • Durability(영구성)
    한번 반영된 트랜젝션의 내용은 영원히 반영되어야 하는 것
profile
이제부터 백엔드 개발자

0개의 댓글