#20. Database 위코드 2주차

qwerzxcvss·2020년 10월 30일
0
post-thumbnail

요즘은 흘러가는 시간들을 붙잡고 싶은 마음뿐입니다. 분명 프로그래밍에 많은 시간을 쏟고 있지만 하루를 되돌아보면 진도를 따라가기에도 급급했다는 생각이 드네요.
지난 수요일에는 위코드 3개월차 선배님들의 강의를 듣고 동기부여를 받았습니다. 진도를 따라가기에도 분명 벅차지만 배운것들을 정리해서 추후에 적용도 하고 다른 사람들에게 도움을 줄 수 있다는 건 너무 멋진 일이라고 생각했습니다.
좀 더 힘을 내서 오늘 배웠던 Database에 대해서 정리하려고 합니다.

DBMS란?

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

데이터베이스를 사용하는 이유는 데이터를 장기간동안 저장 및 보존하기 위함입니다. 휘발성인 메모리와 반대되는 개념입니다. 일반적으로 관계형데이터베이스(RDBMS)와 "NoSQL"로 명칭되는 비관계형 데이터베이스가 있습니다.

RDBMS란?

관계형 데이터 모델에 기초를 둔 데이터베이스 시스템을 말합니다. 여기서 관계형 데이터는 데이터를 상호관련성을 가진 형태로 표현한 데이터를 말합니다.

RDBMS의 특징

  1. 모든 데이터들은 2차원 테이블들로 표현된다.
  2. 각각의 테이블은 컬럼(항목)과 로우(항목들의 실제 값)로 구성된다.
  3. 각 로우는 저마다의 고유 키(Primary Key)가 있다. 주로 Primary Key를 통해서 해당 로우를 찾거나 인용한다.
  4. 각각의 테이블들은 서로 상호관련성을 가지고 서로 연결될 수 있다.

RDBMS의 개념을 간단하게 마인드맵으로 정리해보았습니다.


이제는 테이블을 만들고 관계를 파악하여 정규화 과정을 거치는 ERD(Entity Relationship Diagram)를 만들어 보겠습니다. 스타벅스의 음료와 푸드를 DB로 하겠습니다.
먼저, 테이블을 어떻게 구현할지 고민하는 과정에서 마인드맵을 사용했습니다.

데이터 정규화 과정.. 어려워서 여러번 들여다봐야겠다는 생각이 들어요

ERD 사용예시

스타벅스 홈페이지의 음료/푸드에 대한 ERD입니다.
더 좋은 방법 알고계신 분 알려주세요!
아래 사진에서 one to one, one to many, many to many의 알 수 있습니다.

profile
Frontend Developer

0개의 댓글