TIL no.30 - DataBase

김종진·2021년 1월 19일
0

DataBase

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

어플리케이션에서는 데이터가 메모리 상에서 존재하는데, 메모리나 브라우저에 저장된 데이터는 보존이 되지 않는다. 이러한 휘발성 때문에 해당 어플리케이션이 종료된 후에는 다시 데이터를 읽어들일 수 없다.

데이터를 장기간 저장 및 보존하기 위해서 데이터베이스를 사용한다. 일반적으로 데이터베이스에는 관계형 데이터베이스(RDBMS)와 "NoSQL"로 명칭되는 비관계형(Non-relational) 데이터베이스가 있다.

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

데이터를 서로 상호관련성을 가진 형태로 표현한 데이터이다.
엑셀로 정리된 데이터 관계를 생각하면 이해하기 좋다.

모든 데이터들은 column과 row로 구성된 테이블로 표현할 수 있다.

  • column은 테이블의 각 항목
  • row는 각 항목들의 실제 값
    ★ 각각의 row는 자기만의 고유 키(Primary Key)가 있다. 주로 이 고유 키를 통해서 해당하는 row를 찾거나 참조한다.

테이블의 관계

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

  1. One To One
    테이블 A와 테이블 B의 row가 정확히 1대1 매칭이 되는 관계

  2. One To Many
    테이블 A의 로우가 테이블 B의 여러개의 row의 연결이 되는 관계

  3. Many To Many
    테이블 A의 여러개의 row가 테이블 B의 여러개의 row와 연결이 되는 관계

어떻게 연결될까?

Foreign Key(외래키)를 사용하여 주로 연결한다.

Primary Key (기본키) : 기본키는 테이블의 각 로우를 식별해주는 키로 각 로우의 유일한 값이고 또 null 이 될 수 없다. 각 테이블 마다 무조건 있어야 한다.

Foreign Key (외래키) : 외래키 / 외부키는 테이블의 열중 다른 테이블의 기본키를 참조할 수 있는 키이다.

왜 테이블들을 연결할까?

하나의 테이블에 모든 정보를 다 넣어버리면 동일한 정보들이 불필요하게 중복 저장된다. 이는 더 많은 디스크 사용과 잘못 된 데이터가 저장될 가능성이 높아진다.

서로 같은 데이터지만 부분적으로 틀린 데이터가 생기는 문제를 방지 할 수 있다. 이를 normalization 정규화 라고 한다.

profile
FE Developer

0개의 댓글