TIL No.17 [Wecode] Session 2 - All | Database

Seunghyun Yoo·2021년 2월 7일
0

데이터 베이스란?

데이터를 저장하고 관리하는 곳. 컴퓨터의 정보를 저장하는 곳.
DBMS (데이터베이스 시스템)으로 관리한다.

데이터베이스를 쓰는 이유?

애플리케이션을 종료하면 임시 메모리에 저장이 되지만, 재부팅 시 사라질 수 있음.
오랜기간 저장하고, 보존하려고 데이터베이스를 사용함.

1. 관계형 데이터베이스

ex) MYSQL

  • 관계형 데이터란?
    일반적으로 Table의 형태에 저장되며, 모든 데이터는 테이블형태로 저장이 가능함.

    각 로우(row)는 고유키가 있으며, 주로 프라이머리키를 통해서 해당 로우를 찾거나 인용함.

    데이터가 많아질수록 테이블끼리 연결이 필요하며, 연결의 종류는 크게 3가지로 나뉜다.

    • one to one : 테이블 A의 로우와 테이블B의 로우가 정확히 일대일 매칭이 되는 관계
    • one to many : 하나의 테이블의 값을 다른 테이블에서 여러곳에 사용이 가능한 관계 (1:N 관계)
    • 표현방식 : "오더스 테이블이 커스터머스 아이디를 Fireign Key(FK : 외래키)로 가지고(참조하고) 있다."
    • many to many : 각각의 테이블의 이름을 합친 중간테이블이 존재하며,

    • 위의 예시처럼 포린키를 사용하여 중복된 데이터들을 중복값 관리를 한다
      -> 이유는, 데이터 수정 시 수정해야하는 번거로움을 덜 수 있음. 그렇기 때문에 중간 테이블에
      각각의 아이디를 부여하고, ID로 데이터 표현함
      + 기존에 있던 데이터가 삭제 or 불필요한 데이터가 됐을 경우, 해당 데이터 자리를 지우지 않고,
      데이터는 보관하고 있어야함 : 지운 데이터에 새로운 데이터를 넣게 됐을 경우, 적용된 다른 테이블에 적용 될 수 있는 오류가 생길 수 있음.
      ex) 위의 이미지에서 4번 최호진님이 삭제하고, 신규 인원을 추가했을 때
      다른 테이블에 적용된 4번이 신규인원에게 적용될 수 있음.

어떤 테이블에서 테이블을 분리해서 각각 테이블을 연결해주는 것을 바로 '정규화(normalization)'이라고 한다.

그 외, 원자성, 일관성, 고립성, 지속성가 주로 사용되며, 알아야 할 내용임.

  • 트랜잭션이란?
    ![]
    은행에서 계좌이체를 예를 들면, 중간 단계가 오류가 나면 다시 돌아오는 과정

NO SQL

비관계형 타입의 데이터를 저장할 때 주로 사용되는 데이터베이스 시스템.
비관계형이기 때문에 관계를 정의(PK)를 정할 필요가 없음.
* 데이터 수정에 용이함

과제

  • 스타벅스의 음료 에 관한 정보를 팀별로 모델링하기

AQUERY TOOL 사이트 : 관계도를 그릴 수 있는 사이트

profile
기본을 중요하게 생각하는 프론트엔드 개발자 유승현입니다! 🙋🏻‍♂️

0개의 댓글