Database

박광수·2022년 3월 9일
0

데이터베이스(Database)의 개념을 이해합니다.
관계형 데이터베이스 (RDBMS)가 무엇이며, 왜 사용하는지 이해합니다.
테이블(Table)이 무엇인지 이해하고, Column, Row를 설명할 수 있습니다.
테이블(Table)의 관계 - One to One, One to Many, Many to Many 예시를 나열할 수 있습니다.
Primary Key 와 Foreign Key 의 관계를 설명하고, 테이블에 지정할 수 있습니다.
관계형 데이터베이스와 비관계형 데이터베이스의 차이를 알 수 있습니다.
ERD 구성도로 데이터 관계를 모델링 할 수 있습니다.

Database란?

  • 컴퓨터 시스템에 저장된 정보나 데이터를 모두 모아 놓은 집합
  • 데이터를 휘발성으로 사라지게 하지 않고 오랜 기간 저장하며 동시에 체계적으로 보관하기 위해서 사용한다.

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

  • 데이터 사이의 관계에 기초를 둔 데이터베이스
  • 관계형 데이터베이스에서 모든 데이터는 2차원 테이블로 표현
idnameprice
1Americano4,500
2cold brew latte5,000
3Banana smoothie5,500
  • columnid name price category 에 해당하는 항목을 의미
  • row 는 항목들의 실제값 (예를 들면 Americano, 4500, espresso)
  • Primary Key(PK) 는 각 항목의 고유번호(id)를 의미
  • Primary Key를 통해서 특정 로우를 찾거나, 인용(reference)할 수 있다.

관계의 종류

  • one - to - one
    만약 위의 커피 메뉴에 다음과 같이 카테고리를 추가한다고 하자.

Category

idcategorymenu_id
1smoothie3
2espresso1
3cold brew2

이와 같이 Menu와 Category의 항목이 정확히 하나씩 맞대응 되는 경우 one-to-one 이라 한다. 이 경우 id항목은 PK(Primary Key), menu_id항목은 위의 MENU에서 가져온 것으로 FK(Foreign Key)라 한다.

  • one - to - many
    만약 위의 커피 메뉴에 다음과 같이 주재료를 추가한다고 하자.

Main Ingredients

idmain ingredientsmenu_id
1coffee1
1coffee2
2banana3

coffee 는 Americano 와 Cold brew 두 항목과 중복연결되어있다. 한 테이블의 로우 하나가 다른 테이블의 여러 로우와 연결되어있는 경우 one - to - many라 한다.

  • many - to - many

알러지 정보에 대한 테이블을 음료와 연결하려한다. (실제로 있는지 모르겠지만) 커피, 바나나, 우유 알러지가 있다고 가정해보자. Menu Table의 Banana smoothie 같은 경우 바나나, 우유 두 항목에 해당이된다. 거꾸로 우유항목도 Cold brew latte 와 Bananan Smoothie 두 항목에 해당이 된다. 이처럼 서로서로 다른 테이블의 두 개 이상의 항목과 연결되는 항목이 있는 경우 many-to-many 로 분류한다.
이 경우 관계를 표현하는 방법은 junction table을 이용하는 것이다.

idnameprice
1Americano4,500
2cold brew latte5,000
3Banana smoothie5,500

Allergen

idallergen
1milk
2coffee
3banana
idmenu_idallergen_id
112
221
322
431
533

스타벅스 메뉴 모델링

배운 것을 바탕으로 스타벅스 메뉴 DB 모델링을 한 결과이다.
PK 와 FK는 아래 그림처럼 선을 연결하여 표시하면 된다.

profile
박광수입니다.

0개의 댓글

관련 채용 정보