TIL 18 | DataBase

Soojong Kim·2021년 6월 18일
0
post-thumbnail

데이터베이스(DB, DataBase)?

데이터베이스란 컴퓨터 시스템에 저장된 정보 또는 데이터 집합을 의미한다. 즉, 여러 사람들이 공유하고 접근할 수 있게 통합적으로 관리되는 데이터들의 모음이다.

  • Application에서 메모리 안에 데이터가 존재하고 메모리에 존재하는 데이터는 보존이 불가능하기에 종료하게되면 메모리에 있던 데이터들은 다시 읽을 수 없다. 데이터를 저장 및 보존하기 위해서 사용하는 것이 Database이다.
    ex:) MySQL, Posgres, Oracle DB

관계형 데이터베이스(RDBMS,Relational DataBase Management System)

관계형 데이터란 데이터를 서로 상호관련성을 가진 형태로 표현한 데이터를 말한다.

  • 모든 데이터들은 2차원 table로 표현할 수 있다.
  • column은 테이블의 각 항목을 의미하고 row는 실제 값들을 말한다.
  • row는 고유 키(Primary Key)가 있고, 이를 이용해 row를 찾거나 인용(reference)하게 된다.
  • 각각의 테이블들은 서로 상호관련성을 가지고 서로 연결된다.

테이블끼리 연결에는 크게 3가지 종류가 존재한다.

  • one to one : 테이블 A와 B의 로우가 일대일 매칭 되는 관계
  • one to many : 테이블 A의 로우가 테이블 B의 여러 로우와 연결되는 관계
  • many to many : 테이블 A의 여러 로우가 테이블 B의 여러 로우와 연결되는 관계

테이블과 테이블은 Foregin key(외부키)라는 개념을 사용해서 연결한다.
테이블에 모든 정보를 다 넣게되면 동일한 정보들이 불필요하게 중복되는 것을 방지하기 위해 테이블을 나누어서 저장합니다.

  • 테이블을 나누어 저장하게되면 중복된 데이터를 저장하지 않기때문에 디스크를 더 효율적으로 사용할 수 있고 내용이 다른 데이터가 생기는 문제를 해결할 수 있다.
    이것을 정규화(normalization)이라고 한다.

NoSQL DataBase

관계형 데이터와 반대로 비관계형 데이터 베이스를 저장할 때 주로 사용하는 데이터베이스이다.
저장하기 전에 정의 할 필요 X
ex:) MongoDB, Redis, Cassandra

0개의 댓글