Database

hyounglee·2020년 9월 3일
1

Developer

목록 보기
5/11
post-thumbnail

Database

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

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

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

RDBMS

Relation DataBase Management System
관계형 모델에 기초를 둔 데이터베이스 시스템.
ex) MySQL, Postgres, Oracle DB

관계형 데이터란 데이터를 서로 상호관련성을 가진 형태로 표현한 데이터를 말한다. 이 데이터 베이스는 엑셀처럼 테이블로 구성되어있다.

  • 각각의 테이블은 컬럼(column)과 로우(row)로 구성된다.

    • 컬럼은 테이블의 각 항목을 말한다.
    • 로우는 각 항목의 실제 값들을 이야기한다.
    • 각 로우는 저만의 Primary Key가 있다. 이 Primary key를 통해서 해당 로우를 찾거나 인용하게 된다.
  • 각각의 테이블들은 서로 상호관련성을 가지고 서로 연결될 수 있다.

    • one to one
    • one to many
    • many to many
  • 테이블과 테이블은 Foreign key라는 개념을 사용하여 주로 연결된다.

왜 테이블들을 연결할까?

하나의 테이블에 모든 정보를 다 넣으면 동일한 정보들이 불필요하게 중복되어 저장된다. 더 많은 디스크를 사용하게 되고, 또한 잘못된 데이터가 저장 될 가능성이 높아진다. 여러 테이블에 나누어서 저장한 후 필요한 테이블끼리 연결시키면 위의 두 문제가 사라진다.

  • 중복된 데이터를 저장하지 않음으로 디스크를 더 효율적으로 쓸 수 있다.
  • 서로 같은 데이터지만 부분적으로 틀린 데이터가 생기는 문제가 없어진다.
  • 이것을 normalization 정규화 라고 한다.

정규화 nomalization
데이터를 정제하여 이상이 없는 데이터를 만드는 것을 의미한다. 1차, 2차, 3차 정규형이 있으며 이 중 사용하기 좋은 형태로 바꾼다.

  • 1차 정규형 : 각 로우마다 컬럼의 값이 1개씩만, 원자값(atomic value)를 갖는다고 표현
  • 2차 정규형 : 모든 속성은 기본키에 종속
  • 3차 정규형 : 기본키를 제외하고 서로 종속 불가
profile
(~˘▾˘)~♫❝ 쉽게만 살아가면 재미없어 빙고 .ᐟ ❞•*¨*•.¸¸♪

0개의 댓글