Show [ 데이터베이스 구축 단계 ] 2.3. 데이터베이스 라이프 사이클 - 요구 사항 분석 단계
- 개념 모델링 단계
- 논리 모델링 단계
- 물리 설계 단계
- 데이터베이스 구축 단계
2.4. 주제 영역(Subject Area) - 데이터 아키텍처의 최상위 단계로 비즈니스의 목표를 달성하는 데 필요한 데이터 집합을 의미한다. - 여기저기에 산재된 유사한 성격의 데이터를 체계화해 그룹으로 묶은 것을 의미한다. - 주제 영역을 정의하려면 기업에 존재하는 모든 데이터를 파악해야 한다. - 주제 영역이 한없이 늘어날 수 없으므로 모든 데이터는 10개 또는 20개로 정의된 주제 영역에 속해야 한다. - 각 주제 영역의 상세화 수준도 균일해야 한다. - 고객이나 조직, 계좌와 같은 주제 영역은 실체 성격의 주제 영역이다. 이런 주제 영역은 누가 모델링을 하더라도 유사해질 수 있다. - 이벤트, 거래 등의 주제 영역은 행위 성격의 주제 영역으로 모델링을 수행하는 사람에 따라 모델이 달라질 수 있다. - 하위 개념의 서브 주제 영역으로 분류할 수 있으며 주제 영역 내에서는 데이터를 상세하게 정의한 엔터티를 관리하게 된다. - 주제 영역은 기업의 정보 체계 구조를 한눈에 파악하고 관리하기 위해 구축된다. 즉 데이터 모델링을 하지 않더라도 주제 영역은 정의돼야 한다. - 논리 모델과 주제 영역은 완전하게 연결(Alignment)돼야 한다. - 이렇게 주제 영역의 하위 레벨에 개념 모델과 논리 모델, 몰리 모델 등의 데이터 모델이 존재하는 것이 이상적이지만 실무에서 이렇게 관리되는 예는 매우 드물다. 일단 주제 영역을 도출하는 예가 많지 않으며 주제 영역을 도출했더라도 활요하지 않는다. (현행은 업무 영역이나 어플리케이션 영역으로 데이터 모델이나 물리 테이블이 관리되는 경우가 많음) 2.5. 데이터 표준화 - 일정한 기준에 따라 통일시키는 것이 데이터 표준화의 핵심이다. - 속성이 데이터 표준화의 주된 대상이다. - 데이터 표준화를 수행하는 이유는 데이터의 품질을 높이기 위해서이다. 일관된 사용은 데이터 오류를 줄여주므로 품질이 높아진다. - 표준화를 할 때는 사전적인 의미에 얽매일 필요는 없을 것 같다. 그보다 더 중요한 것은 일관되도록 사용하는 것이다. 예를 들어 사원과 직원이라는 용어 중에서 사원을 사용하기로 원칙을 정했다면 '사원번호'와 '직원번호'가 같이 사용되면 안된다. 같이 사용되지 않도록 시스템에서 제어해 줘야 한다. - 데이터 표준화의 출발은 단어를 정의하는 것이다. 단어를 정의할 때 주의할 것이 이음동의어(Synonym)와 동음이의어(Homonym)이다. 두 가지 모두 허용하지 않는 것이 바람직하다고 생각한다. - 도메인(Domain)은 데이터 타입과 길이, 포멧 등이 같은 값의 집합이다. 하나의 속성에는 허용된 유효한 값의 형태가 같아야 하므로 도메인이 하나만 사용돼야 한다. - 표준화 원칙의 예
2.6. ERD(Entity Relationship Diagram) - ERD는 데이터를 함축적이고 이해하기 쉽게 표현해 주는 다이어그램이다. - ERD를 작성할 때는 엔터티를 배치하는 것이 중요하다.
- 엔터티의 속성 순서를 적절하게 위치시키는 것도 모델의 가독성을 높이는 효과를 가져다준다. 논리 모델이나 물리 모델에서 엔터티의 속성 순서는 나름대로 의미가 있다. - 주 식별자는 엔터티의 최상단에 위치해야 한다. 주 식별자 다음으로 대체 식별자가 오는 것이 좋다. - 일반 속성은 기초 속성(Basic Attributes)이 엔터티 위쪽에 위치하게 된다. - 추출 속성(Derived Attributes)과 중복 속성은 기초 속성과 주로 같이 사용되는 속성이라면 같은 위치에 존재하는 것이 좋다. - 기초 속성과 주로 같이 사용되지 않으면 엔터티 아래쪽에 존재하는 것이 좋다. - 엔터티 가장 하단에는 시스템 속성(System Attributes)이 위치해야 한다. - 물리적 요소를 고려해서 논리 모델링 단계에서 속성의 순서를 정하는 것이 바람직하다. - 관계선을 표현할 때는 관계선이 서로 얽히지 않게 표현해야 한다. - 관계선이 엔터티를 통과하지 않도록 한다. - ERD는 엔터티의 스키마를 표현하는 도구이므로 ERD만으로 이해나는 데 한계가 있을 수 있다. 중요 데이터에 대해서는 사례 데이터를 릴레이션으로 생성해 놓는 것이 좋다. - ERD와 사례 데이터 릴레이션이 있다면 데이터를 이해하는 데 많은 도움이 될 것이다. 팀원 : 김민주, 양재연 반려 동물의 수는 증가하는데에 반해 반려동물 관련 서비스는 적은 것을 인지하여 이러한 프로젝트를 진행하게 되었다. 전국의 동물 병원을 검색해서 병원 정보를 얻고, 병원 리뷰를 사용자들이 직접 등록할 수 있는 서비스 프로젝트 언어 : Python DB : MySQL에서 제공하는 innoDB엔진 2. 데이터베이스 설계첨부 보고서요구사항 분석, 테이블 명세서, 용어 사전, 도메인 기술서 등 자세한 설계 과정과 정규화 과정은 첨부된 보고서 참고 E-R 다이어그램릴레이션 스키마물리 ERD |