================== DB 설계 ==================================
* 요구조건 분석이 가장 중요
1) 개념적 설계 ; 개념적 모델링 => ERD
2) 논리적 설계 ; 데이터 모델링 => Relation (table) schema
3) 물리적 설계 ; Indexing , Clustering(어떤것을 묶는가) , Table partition(분할 ) 등
- 고려사항 : 응답시간 , 저장공간 효율화 , 트랜잭션 처리율 등
4) 구 현 ; create database , table ~ 등 ( DDL )
5) 저 장 ; DB에 저장
관계형 DB - 가로세로 열 맞춰야함 <---> 비관계 DB ( AWS , 몽고 , FireBase )
* 관계형은 다양한 방법으로 키값 ( 데이터 )를 찾을 수 있음
* 비관계형은 찾기가 어렵다 . 열 칼럼 관계없이 넣기 때문에 ,,
DB 업그레이드 ( Migration )
논리적 설계 중요 ! ( 관계형 DB 이므로 스키마 생성 )
물리적 설계 ( 인덱스 유무 생성 판단 < 원하는 데이터를 빨리 찾기 위해 > )
* 테이블 스페이스는 논리적(가변적)
* 중복을 없애는 행위 ( 정규화 )
* 트랜젝션 ( DB 처리 과정 , 논리적 ) < insert secret 등등 >
* View 는 2개 있음 ( 정적 , 동적 )
- 정적 : 항상 최신버전을 봄
- 동적 : 자동으로 최선버전을 볼 수 있음
* 쇼핑몰에서 찜하기 - insert 삭제하기 - delete 와 같음
* Lock ( 락 ) - DML (insert secret 등) 이 작동되면 RX
- Row 단위로 락이 걸린다.