1. ERD
ERD란 Entity Relationship Diagram의 약자로 개체 관계 지도, 개체 관계 다이어그램이라고도 부른다.
데이터베이스 안에 있는 개체 간의 관계를 시각화해서 보여주는 방식을 말한다
- Entity: 개체, 테이블
- Attribute: Entity가 가지고 있는 특성, 컬럼
- Relationsh: Entity간의 관계 (e.g. PK primary key, FK foreign key)
- 여기서 11자 모양은 1:1 관계를 나타냄 (one to one)
- 삼각형 모양 일자: customer 테이블에 customer_id가 꼭 1개가 있고 또는 여러개가 있을 수도 있다 (one to many)
- 삼각형 모양 동그라미: customer 테이블에 customer_id가 0개가 있을 수도 있고 여러개가 있을 수도 있다 (many to many)
2. ERD 만들때 주의할 점!
데이터 타입
- 숫자
- 정수
- tinyint: 3자리수
- smallint: 5자리수
- mediumint: 7자리수
- int: 10자리수
- bigint: 2의 63승 등...
- 실수
- decimal(): 정확한 값을 저장하기 때문에 정밀하게 계산해야할 떄 사용 e.g. 가격 저장할 때
- float(): 지수표현을 통해 근사값을 저장함. 따라서 정확성은 떠라지지만 처리 속도가 빠름
- double: float()보다 정확한 대신 저장공간이 더 많이 필요함
- 정수
- 문자
- varchar(): 글자수가 정해져있지 않은 문자 (이름, 주소)
- char(): 글자수가 일정한 문자
- 날짜/시간
- date(): 1000-01-01
- datetime(): 1000-01-01-00:00:00, 000000
- timestamp() = datetime() + timezone (e.g. KST) 가장 많이 사용
- JSON
- JavaScript Object Notation의 약자로 데이터를 저장하고 전송하기 위해 사용되는 포맷
- JSON 포맷의 표현 방식
- 객체(Object): 키-값 쌍의 집합 (e.g.{'이름':'김민호', '키':'158', '취미': '축구'})
- 배열(Array): 순서가 있는 값의 집합
- 고정된 컬럼이 아닌 유동적인 경우에 사용
- 분석할 때는 필요한 값만 가지고 와서 분석에 사용