📌 데이터베이스를 설계할 때에 고려해야 할 점
정확한 데이터 모델링
데이터베이스는 비즈니스 프로세스를 반영해야 합니다. 따라서 엔티티, 속성, 관계 등을 정확하게 식별하고 모델링하는 것이 중요합니다.
데이터 정규화
데이터베이스 스키마 설계시 정규화는 중요한 고려사항입니다. 정규화는 중복을 최소화하고, 데이터 무결성을 보장하며, 데이터의 일관성을 유지하는 데 도움이 됩니다.
데이터 무결성
데이터 무결성은 데이터베이스에서 데이터의 정확성, 일관성, 신뢰성을 보장하는 것입니다. 이를 위해 기본 키, 외래 키, 유니크 키 등의 제약 조건을 활용할 수 있습니다.
성능 최적화
대용량 데이터를 처리할 때는 쿼리 성능이 중요해집니다. 따라서 인덱싱, 테이블 파티셔닝, 쿼리 최적화 등을 고려하여 성능이 좋은 스키마를 설계해야 합니다.
확장성 고려
미래의 비즈니스 요구사항이나 데이터 양의 증가에 대비하여 데이터베이스 스키마는 확장성을 고려하여 설계해야 합니다.
보안
데이터베이스에는 중요한 정보가 저장되기 때문에, 스키마 설계시 데이터 접근 권한을 고려하여야 합니다.
문서화
데이터베이스 스키마와 관련된 모든 정보를 문서화하여 유지 관리와 커뮤니케이션을 용이하게 합니다.
- 요구사항 수집 → 요구사항 분석 → 개념 모델링 → 논리 모델링 → 물리 모델링 → 구현
개념 모델링
ERD(Entity Relationship Diagram)
- 개체들의 관계를 도식화하여 표현하는 방법
- entity(개체) : 데이터베이스화 될 대상. 타원형의 도형으로 표현한다.
- 관계 : 개체와 개체간의 연관성을 나타내는 요소
- 속성 : 개체, 관계에 대한 주요 속성을 나타내는 요소
논리 모델링
- 개념 모델링의 구조에서 디테일한 속성을 추가한다.
- 사용할 데이터베이스의 특성에 맞는 요소를 추가한다. 관계형 데이터베이스 → (PK, FK)
- 정규화를 거쳐 데이터베이스의 무결성을 유지할 수 있도록 테이블의 구조를 잘 나누어 설계하게 된다.
정규화(NF - Normal Form)
- 테이블을 문제가 생기지 않도록 잘 나누는 규칙들을 말한다.
- 정규화를 통해서 데이터베이스 구조의 무결성을 얻을 수 있으나, 성능 부분에서는 좋은 않은 점도 있음.
1NF → 2NF → 3NF → BCNF → … 6NF
위와 같은 많은 고려사항들이 있습니다. 모두 고려하지 못하지만 최대한 고려하면서 데이터베이스 설계를 해보겠습니다.
'프로젝트' 카테고리의 다른 글
[MES 프로젝트] 2. 요구사항 정의서 (0) | 2023.12.06 |
---|---|
[MES 프로젝트] 1. 프로젝트 주제선정 (0) | 2023.12.05 |
쇼핑몰 개발 04. 개발 css 템플릿 안쓰고 직접 만들기 (1) | 2023.11.24 |
쇼핑몰 개발 03. 개발 라이브러리, xml, context 파일 초기 설정 (1) | 2023.11.24 |
쇼핑몰 개발 01. 기획[요구사항 정의서] (1) | 2023.11.24 |