Database Design - Analysis (2)

1 minute read

Phase 1: Analysis

당신은 새로운 프로젝트를 위해 데이터베이스를 새로 만들어야 한다. 혹은 기존 시스템은 이제 더 이상 버틸 수 없다. 아마 데이터 양이 늘어나거나 기존 데이터베이스에 문제점이 생겨서 그럴 수도 있다. 이 단계에서는 기존 시스템을 면밀히 검토해야 한다.

NOTE 프로젝트의 크기에 따라 설계자(designer)는 개인일 수도 있고, 여러 명일 수도 있다.

분석 단계에서는 다음과 같은 단계를 거치게 된다.

  1. 조직 분석
  2. 문제점, 가능성 및 제약 조건 정의
  3. 목표 정의
  4. 범위 결정

시스템을 검토할 때, 설계자는 단지 하드웨어나 기존 테이블 구조가 아닌 큰 그림을 봐야한다 - 이를테면 재설계를 필요로하는 조직의 전체적인 상황을 말이다. 예를 들어, 중앙화된 관리 시스템을 가진 대형 은행은, 아무나 웹사이트에 글을 올릴 수 있는 탈중앙화된 미디어 조직과는 다른 구조와 운영 방식을 가질 것이다. 이는 당연할 수도 있지만 데이터베이스를 필요로 하는 조직을 이해하는 것은 매우 중요하다. 다시 말해, 상황이 비슷할지라도, 은행을 위해 설계된 데이트베이스는 미디어 조직을 위해 사용될 수 없을 것이다.

조직의 문화를 이해하는 것은 설계자가 올바른 질문을 생각할 수 있도록 해준다. 예를 들어, 은행에서는 감사 추적과 관련된 데이터를 요구하지 않고, 당연히 포함될 것이라 생각할 수도 있다.

조직의 구조를 이해한 후에, 이제 당신은 기존 시스템의 유저들에게 문제점들과 요구사항을 물어볼 수 있다. 다양한 역할의 유저들을 물어보면서 데이터베이스의 필요 조건을 적어 나가는 것도 중요하다. 예를 들어, 미디어 조직의 마케팅 부서는 특정 글이 어떤 시간에 가장 많이 읽히는지에 대한 통계가 필요할 수 있고, 편집 부서에서는 웹사이트를 확장시키려는 계획을 가지고 있어 글들 끼리의 연관을 짓는 것을 필요로 할수도 있다.

위에서 말한 제약 조건(constraint)은 “기존 데이터베이스 서버를 사용해야해요”, 혹은 “우리는 한 번에 한 명의 데이터 관리자만 근무해요” 등의 조건들이 될 수 있다. 또, 값들의 제한 사항이 될 수도 있는데, 예를 들어 대학교 데이터베이스의 학생들의 점수는 100퍼센트 이상은 갈 수 없거나 극장 데이터베이스의 세 가지 좌석 카테고리는 소, 중, 대로 나뉘는 것과 같은 제약 조건이 존재할 수 있다.

무한대의 시간과 돈이 있다면 모든 것이 가능하겠지만 이는 불가능하다. 따라서 범위를 정하고 공식화하는 것은 데이터베이스 설계에서 매우 중요한 단계이다. 만약 예산은 한 달치인데, 이상적인 솔루션은 세 달이 걸린다면, 설계자는 이러한 제약 조건을 분명히 하고 프로젝트 관리자와 합의하여 구현될 부분과 구현되지 않을 부분을 확실히 해야한다.

출처

Database Design, Mariadb

Updated:

Leave a comment