데이터베이스 설계 순서
1. 요구 조건 분석 - 데이터베이스의 용도 파악
- 실제 세계에서 어떤 시스템을 구축할 것인지에 대한 요구사항 수집
- 요구사항에 대해 어떤 데이터들이 필요한지, 어떤 기능들이 필요한지 분석
- 서비스에 필요한 데이터와 해당 데이터의 관계 파악
- 수집된 정보를 바탕으로 요구 조건 명세서를 작성
2. 개념적 설계 - DBMS에 독립적인 개념적 구조 설계
- 요구사항을 기반으로 개념적 데이터 모델을 작성 -> 개념적 모델링이라고 함
- 보통 E-R 다이어그램을 많이 사용
- 이러한 결과물을 개념적 구조 또는 개념적 스키마라고 함
E-R 다이어그램
- 개체(Entity)
- 단독으로 존재하는 객체를 의미하며, 동일한 객체는 존재하지 않음
- E-R 다이어그램에서 사각형으로 표현(게시글, 사용자)
- 속성(Attribute)
- 개체가 갖는 속성
- E-R 다이어그램에서 원으로 표현(게시글의 작성자, 내용, 작성일자 등)
- 관계성(Relation)
- 개체 타입 간의 관계
- 사용자는 게시글을 작성한다는 관계를 가짐
- E-R 다이어그램에서 마름모로 표현
3. 논리적 설계 - DBMS에 적합한 논리적 구조 설계
- 개념적 설계에서 작성한 개념적 데이터모델을 실제 DBMS에 맞게 변환
-> 개념적 설계에서 만든 E-R 다이어그램을 릴레이션 스키마로 전환
- 논리적 모델링 또는 데이터 모델링이라 하며, 결과물을 논리적 구조 또는 논리적 스키마라고 함
4. 물리적 설계 - DBMS로 구현 가능한 물리적 구조 설계
- 논리적 설계 단계에서 작성된 데이터 모델을 기반으로 실제 데이터베이스를 구현하는 단계
- 이 단계에서 테이블, 인덱스, 제약 조건 등의 물리적 요소를 정의
- 특정 DBMS에 종속적일 수 있으며, 성능, 보안, 가용성 등을 고려해야 함
- 간단히 말하면 선택한 데이터베이스에 실제 테이블을 만드는 작업
5. 구현 - 데이터베이스 생성
- 물리적 설계 단계에서 작성된 데이터베이스를 실제로 구현하고 데이터를 적재
참고 사이트
'CS(Computer Science)' 카테고리의 다른 글
저장 프로시저(Stored Procedure) (0) | 2023.08.06 |
---|---|
결합도(Coupling)와 응집도(Cohesion) (0) | 2023.07.20 |
[데이터베이스] 이상 현상(Anomolay) (0) | 2023.07.09 |
CS Study : 11주차 - 프로세스 동기화 (0) | 2023.01.29 |
CS Study : 11주차 - Synchronous(동기) / Asynchronous(비동기) (0) | 2023.01.26 |