DB 기초

yeji kang·2020년 8월 9일
0

Database란?

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

데이터베이스를 사용하는 이유?

  • 어플리케이션에서는 데이터가 메모리 상에서 존재합니다.
  • 해당 어플리케이션이 종료되면 메모리에 있던 데이터를 다시 읽을 수 없습니다. 그러므로 데이터를 장기 기간동안 저장하고 보존하기 위해 데이터베이스를 사용합니다.

1. RDBMS란?(Relational DataBase Management System)

관계형 데이터 모델에 기초를 둔 데이터 베이스 시스템을 말합니다.

  • 관계형 데이터란 데이터를 서로 상호관련성을 가진 형태로 표현한 데이터를 말한다.
  • 각각의 테이블들은 서로 상호관련성을 가지고 서로 연결할 수 있다.
  • ex ) MySQL ,PostgreSQL (Postgres)

2. TABLE이란? Column과 Row 그리고 Primary Key란?

  • colunm (컬럼) : 테이블의 각 항목을 뜻합니다.
  • row (로우) : 각 항목들의 실제 값들을 뜻합니다.
  • Primary Key : 각 로우는 저만의 고유키를 가지고 있다.

3. 테이블의 관계 , One to One, One to Many, Many to Many는 무엇인가?

각각의 테이블은 서로 상호관련성을 가지고 서로 연결될 수 있습니다.

  • One to One
    - 일대일 매칭이 되는 관계
  • One to Many
    - 하나의 테이블의 row 다른 테이블의 여러 row와 연결되는 관계
    ex) 사용자가 여러개의 상품을 구입했을 때

  • Many to Many
    - 테이블 A의 여러 로우가 테이블의 B의 여러 로우와 연결이 되는 관계

4. 왜 관계형 테이블을 쓰는가?

하나의 테이블에 모든 정보를 다 넣으면 동일한 정보들이 불필요하게 중복되어 저장이 됩니다.

  • 하나의 테이블에 모든 정보를 넣으면 더많은 디스크를 사용하게되고, 잘못된 데이터가 저장 될 가능성이 높아집니다.
  • 여러 테이블에 나누어서 저장하고 연결 시키면 중복된 데이터를 저장하지 않음으로 디스크를 더 효율적으로 쓰고, 또한 서로 같은 데이터지만 부분적으로 틀린 데이터가 생기는 문제가 없어집니다.(normalization)

5. 트랜잭션이란? ACID는 무엇인가?

트랜잭션 : 일련의 작업들이 마치 하나의 작업처럼 취급되어서 모두 다 성공하거나 아니면 모두 실패하는 걸 이야기한다.

ACID

  • 원자성(Atomicity) : 트랜잭션과 관련된 작업들이 부분적으로 실행되다가 중단되지 않는 것을 보장하는 능력입니다.
  • 일관성(Consistency) : 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것을 의미합니다.
  • 고립성(Isolation) : 트랜잭션을 수행 시 다른 트랜잭션의 연산 작업이 끼어들지 못하도록 보장하는 것을 의미합니다.
  • 지속성(Durablility) : 일련의 데이터 조작을 완료하고 완료 통지를 사용자가 받는 시점에서 그 조작이 영구적이 되어 그 결과를 잃지 않는 것을 나타냅니다. 시스템이 정상일 때 뿐 아니라 데이터베이스나 OS의 이상 종료, 즉 시스템 장애도 견딜 수 있다는 것을 말합니다.

6. 관계형 데이터베이스 와 비관계형 데이터베이스의 차이는?

관계형은 미리 정의함으로 데이터의 완전성이 보장되는 한편 테이블 구조 변화 등에 덜 유연합니다.
비관계형 데이터베이스는 미리 정의하지 않아도 되서 데이터의 구조 변화에 유연하지만 완전성이 덜 보장됩니다.

0개의 댓글