MySQL 테이블 설계시 중요 요소

kmb·2023년 5월 8일
0

DB

목록 보기
8/10
post-thumbnail

MySQL 데이터베이스를 설계할 때 아래의 가이드 라인을 따르자.

 
1) 정규화
데이터 중복을 최소화하여 데이터 일관성을 유지하고 데이터베이스를 최적화한다.
일반적으로 3NF(Normal Form)까지 정규화 하는것이 권장된다.

2) 인덱스 설계
테이블 검색 및 정렬 속도를 향상시키기 위함.
(MySQL에서는 B-tree 인덱스를 사용)
따라서 자주 검색하는 열에 추가한다.

3) 기본 키(Primary Key)
각 레코드를 고유하게 식별하는데 사용.
테이블을 생성함에 있어 반드시 필요하며 일반적으로 자동으로 증가하는 정수형으로 지정한다.

4) 외래 키(Foreign Key)
데이터 일관성과 무결성을 유지하기 위해 사용.

5) 백업과 복원
장애 대응과 데이터 보호를 위해 백업 방법과 주기를 결정하고 백업 파일의 보관 방법을 정의해야 한다.

6) 성능 모니터링
시스템의 성능 유지를 위해 필요.
쿼리 성능, 인덱스 사용여부, 버퍼 풀 및 캐시 사용률을 파악할 수 있다.

7) 확장성 고려
데이터베이스가 커질수록 쿼리 수행 시간이 증가하거나 서버 부하가 증가할 수 있다.
따라서 여러 대의 서버를 운용하거나, 데이터를 분할하여 분산 저장해야 한다.

8) 테이블과 열의 명확한 이름규칙
테이블과 열의 이름은 간결하면서 명확해야 한다.
대소문자를 구분하며 이름의 길이 제한이 없으므로 표준화하고 일관성 있게 작성해야 한다.

 

출처

profile
꾸준하게

0개의 댓글