Database란?
데이터란 무엇인가?
- 수, 단어, 이미지, 영상 등의 형태로 된 의미 단위
데이터베이스란?
- 컴퓨터 시스템에 저장된 정보나 데이터를 모두 모아 놓은 집합
사용하는 이유
- 오랜기간 저장 및 보관
- 체계적으로 보존하고 관리
관계형 데이터베이스
RDBMS - 관계형 데이터 모델에 기초를 둔 데이터베이스 시스템
관계형 데이터 - 데이터가 서로 상호 관련성을 가진 형태로 표현한 데이터
- 모든 데이터들은 2차원 테이블들로 표현할 수 있다.
- 테이블의 각 행(row)은 저만의 고유 키(Primary Key)가 있다.
- 각각의 테이블들은 서로 상호 관련성을 가지고 서로 연결될 수 있다.
- One to One
테이블 A의 로우와 테이블 B의 로우가 정확히 일대일 매칭이 되는 관계
- One to Many
테이블 A의 로우가 테이블 B의 여러 로우와 연결이 되는 관계
- Many to Many
테이블 A의 여러 로우가 테이블 B의 여러 로우와 연결이 되는 관계
SQL이란?
- 데이터를 체계적으로 저장, 관리할 수 있다.
- 정형화된 데이터, 데이터의 완전성이 중요한 데이터를 저장하는데 유리하다. ex) 전자상거래 정보, 은행 계좌 정보 등
- 테이블 구조가 미리 정의되어 있어 단순히 서버를 늘리는것 만으로 확장하기가 쉽지않다.
-
데이터 구조를 미리 정의하지 않아도 되므로 데이터 구조 변화에 유연하다.
-
확장하기가 쉽고, 방대한 양의 데이터를 저장하기에 유리하다. ex) 로그데이터
-
트랜잭션이 안되거나 비교적 불안정하다.
스타벅스 음료 데이터 모델링
음료 이름과 1:1로 이어지는 것 - 음료 설명, 신상 여부, 영양 정보
음료 이름과 1:M로 이어지는 것 - 카테코리, 음료 이미지
음료 이름과 N:M로 이어지는 것 - 알레르기 유발 요인