wecode 6. Database

윤남주·2022년 1월 3일
0

wecode archive

목록 보기
5/13
post-thumbnail

데이터베이스(Database)

데이터

: 수, 단어, 이미지, 영상 등의 형태로 된 의미 단위

데이터베이스

: 컴퓨터 시스템에 저장된 정보나 데이터를 모두 모아 놓은 집합, Database Management System으로 제어/관리
(DB - DBMS ≈ Computer - OS)

  • 데이터가 저장된 하드웨어
  • 데이터베이스를 관리하는 시스템

을 모두 포함하는 통칭


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

테이블이 두개 있으면 테이블 간의 관계를 정의할 수 있게끔 데이터를 정리하는 것

(비관계형 데이터베이스 = 그냥 막 데이터 정리해놓은 것 = 자유도 높음, 아무렇게나 정리하면 됨)

대표 예시) MySQL


## 테이블(Table)의 `Column`, `Row`

Column(열) | Row(행)
➡️ 데이터베이스의 구조(항목)를 잡기 위한 것 =
➡️ 구조에 들어간 실제 각 데이터 =

관계형 데이터베이스에서 테이블의 특징

  1. 모든 데이터들은 2차원 테이블들로 표현할 수 있다
  2. 테이블의 각 행은 저만의 고유 키(Primary Key)가 있다
  3. 각각의 테이블들은 서로 상호 관련성을 가지고 서로 연결될 수 있다

Primary Key 와 Foreign Key

Primary Key
다른 로우와 겹치지 않는 하나의 데이터만 정확하게 지칭할 수 있는 고유한 번호 (흔한 예. id번호)

Foreign Key
연결된 테이블의 Primary Key. 다른 테이블의 레코드를 참조하기 위한 키값으로 사용됨.


테이블의 관계 유형

1️⃣ One-to-One (일대일)

: 하나의 A테이블 데이터는 오로지 하나의 B테이블 데이터와 연결 (예. 주민번호)

2️⃣ One-to-Many (일대다)

: 하나의 A테이블 데이터는 B테이블의 여러 데이터와 연결된다

💡 One-to-Many(1:n) 관계에선 Foreign Key는 항상 다(n, many) 쪽에 만든다

3️⃣ Many-to-Many (다대다)

: 하나의 A테이블 데이터는 B테이블의 여러 데이터와 연결된다. 하나의 B테이블 데이터도 여러 A테이블 데이터와 연결된다

➡️ 정규화 룰에 따라 중간테이블(junction table) 필요

💡 중간테이블(n)은 다른 테이블(1)과 1:n 관계를 가짐




ERD 구성도로 스타벅스 메뉴를 모델화

profile
Dig a little deeper

0개의 댓글