728x90
반응형
데이터 베이스 설계 프로세스를 수행하는 방법에 대한 전반적인 생각과 프로세스에 포함된 각 순서에 대한 일반적인 생각을 가지고 있는 것은 중요하다.
일곱단계에 걸쳐서 설계 프로세스에 있는 정리 했으며, 설계 프로세스에 대한 전체적인 그림과 기술들의 이해를 보다 명확하게 할 수 있도록 도움이 되길 바란다.
새로운 데이터베이스를 설계할 때나 현재 운영중인 데이터베이스를 개선할 때, 혹은 분석한 결과를 토대로 새로운 데이터베이스를 설계하기 위해 운영 중인 데이터 베이스를 설계 할때 사용할 수 있을 것이다.
데이터 베이스에서 구조적인 무결성과 데이터 무결성의 수준이 전체적으로 설계 프로스세를 준수한 수준과 정비례 관계에 있다.
-
임무 목표와 임무 명세 정의
-
데이터 베이스의 임무 목표와 임무 명세를 정의하는 단계이다.
-
데이터 베이스의 목적을 확인하여 임무 명세에서 정의해야 한다. 이것은 적절한 데이터 베이스 구조를 개발하고 데이터 베이스를 만드는 목적을 지원하기 위해 필요한 데이터를 모을 수 있도록 해준다.
-
사용자가 데이터 베이스에 있는 데이터에 대한 작업을 수행할 수 있는 일반적인 작업과 지원하기 위해서 데이터 베이스 구조의 여러 사항들을 결정하는 데 도움을 얻기 위해 사용 된다.
-
첫번째 그룹 = 개발자, 조직의 장, 관리자 | 두번째 그룹 = 개발자, 관리자, 사용자
-
기존 데이터 베이스 분석
-
기존의 데이터 베이스가 있다면, 그것을 분석하는 것에서 시작한다.기존의 데이터 베이스(물려받은)는 여러해 걸쳐 사용하고 있으며, 존재하고 있는 데이터 베이스,종이로 만들어진 데이터 베이스는 일정 양식, 인덱스 카드, 마닐라 폴더 등 이다.
-
분석의 다른 부분에서는 사용자와 관리자의 인터뷰를 진행하는 것이 포함. 개발자로서 사용자에게 업무를 수행하는 방식과 정보 관련 요구사항이 무엇인지에 대하여 요청 해야한다.
-
필드의 초기 목록을 편집하기 위해 분석과 인터뷰를 통해 얻은 정보를 사용해야 한다.
-
초기 필드 목록이 완성 되면, 간략한 검토와 추가 개선을 위해 사용자, 관리자에게 피드백을 요청한다.
-
데이터 구조 생성
-
테이블과 필드를 정의하고, 키를 설정하며, 모든 필드에 대한 필드 명세를 작성하는 단계이다.
3.1. 테이블이 하나의 주제만을 표현하며, 중복된 필드가 없는지를 확실하게 하기 위해 각 테이블을 검토한다.
3.2. 테이블이 표현하는 대상의 구분된 특징을 보여주지 못하는 필드들을 삭제하거나 이동 시키고, 필드들이 단독 값을 저장할 수 있도록 테이블에 있는 모든 다중 구조나 다중값 필드들을 개선한다.
3.3. 각 필드에 대한 필드 명세를 설정하고 사용자와 관리자들과 인터뷰를 진행한다. 그들에게 중요한 필드와 특징을 확인하고 익숙하지 않은 다른 특징들을 검토하고 이야기 하는 과정이다.
인터뷰를 마친 후 확인 내용에 대해 수정하고 재검토를 진행한다.
-
테이블 관계 연결 및 결정
-
테이블 관계설정 하는 단계이다. 관계와 관계의 특징을 확인하고 관계 수준의 무결성을 설정하기 위해 사용자와 관리자들과의 인터뷰를 한번 더 수행한다.
-
개발자는 사용하는 데이터에 있어서 어색하다. 때문에 그들에게 사용하는 데이터에 대해 큰 도움이 될 수 있다.
-
관계를 확인한 후에는 기본 키나 연결 테이블을 통해 각 관계에 있는 테이블 간의 논리적인 연결을 설정한다. 어떤 것을 사용할지는 테이블 사이에 설정된 관계의 유형에 따라 결정한다.그 후에 관계가 있는 각 테이블에 대해 참여의 유형과 정도를 결정한다.
-
업무 규칙 정의 및 결정
-
업무 규칙을 결정하고 정의 하는 단계이다. 데이터베이스의 다양한 측면에서 제약사항을 확인하고, 엄무 규칙을 설정하여 검증 테이블을 정의하고 구현한다.
-
특별한 제약사항 : 사용자와 진행하는 인터뷰에서 적용되는 것
-
ex1) 주문 처리에서 선적 일자가 주문 일자보다 늦어야 한다.
-
ex2) 기입된 전화번호는 낮시간에 사용 가능한 번호이어야 한다.
-
ex3) 선적 방식 기입은 필수이다.
-
일반적인 제약사항 : 관리자와 진행하는 인터뷰에서 적용 되는 것
-
ex1) 연예 기획사의 사무 관리자는 한명의 대리인이 20명 이상의 연예인을 관리할 수 없다.
-
ex2) 연예인들에 대한 홍보 자료는 매년 갱신 되어야 한다.
-
특정 필드에 대해 일정 범위 이내 값들만 들어갈 수 있다고 가정하면, 필드 값들에 대해 일관성과 유효성을 보장할 때 검증 테이블을 사용할 수 있다.
-
운영중에도 계속 변경되는 사항들을 적용하기 위해서 개발자는 무결성을 유지하기 위해 꾸준히, 부지런해야 한다.(시발)
-
뷰의 정의 및 결정
-
뷰를 결정하고 정의하는 단계이다.
-
사용자와 관리자와의 인터뷰를 수행하고 각 데이터로 수행하는 방법을 결정하여 데이터 베이스에 구현할 필요가 있는 뷰의 유형을 확인한다.
-
데이터 무결성 재확인
-
데이터 베이스 구조의 무결성을 확인하는 단계이다.
7.1. 각 테이블이 잘 설계된 테이블의 기준에 맞는지 테이블 내에 있는 필드들이 적절한 구조로 되어 있는지에 대하여 검토한다.
7.2. 각 필드에 대한 필드 명세를 점검하고 검토한다. 필드들에 대한 필요한 개선사항들을 적용하고 필드 수준의 무결성을 점검한다.
7.3. 각 관계에 대한 유효성을 검토하여 관계 유형과 관계 내에 있는 각 테이블에 대한 참여 특징을 확실하게 결정 하는 것이다.
그리고 공유된 필드 사이에 값이 일치하는지와 관계 내의 테이블들에 데이터를 삽입, 갱신, 삭제하는 작업에서 문제는 발생하지는 않는지 무결성을 검토한다.
7.4. 설계 프로세스의 이전 단계에서 확인한 업무 규칙을 검토하고 데이터 베이스의 다양한 측면에 있는 제약사항을 결정한다.
728x90
반응형
'Database > MySQL' 카테고리의 다른 글
MySQL 5.7 설정 튜닝 (0) | 2019.10.22 |
---|---|
Indexing for High Performance (0) | 2019.10.22 |
Isolation level (트랜잭션 고립(격리) 수준) (0) | 2019.10.22 |
MySQL's Storage Engines - InnoDB Engine (0) | 2019.10.22 |
프로시저 언제 사용해야 하나? (0) | 2019.10.22 |