후기: 2017.12.06 DB가이드넷에 접속해 보았더니, 14회 공모전 시상식 화면이 있더군요..., 신청한 사람에게 소리소문없이 시상식이 있다니...
씁슬하지만, 이번 포스트도 오늘로써 일단락 되었네요...
목적: 데이터아키텍처(DA: Data Architecture) 설계 산출물을 8월까지 약 2달간 준비해서 능력이 어느정도인지 가늠하는 기회로 삼으려고 한다.
참가신청URL: http://www.dbguide.net/da.db?cmd=snb10
제출서류:
- 2017_일반부_요구사항 분석서.xls
- 2017_일반부_데이터표준정의서.xls
- 2017_일반부_논리모델.dax (DA# 프로그램으로 제작) 또는 2017_일반부_논리모델.erx (ERwin 프로그램으로 제작)
작업전 사진지식 정리
DB설계 가이드5단계 (1-2번 동시실행, 3-4번 동시실행, 5번 검증)
#1. 요구사항 분석서 초안 작성
- 주제영역을 기준으로 요구사항 명 도출(키워드:[관리]가 들어가는 문장)
#2. 요구사항 분석서 엑셀파일을 작성
- URQ001(요구사항ID) - 요구사항명(위에서 도출한 키워드) - 요구사항 상세 내용
#3. 논리데이터모델 작성시작(DA#사용-바커스표기법, ERwin사용-정보공학표기법IE=Information Engineering)
- 바커스표기법(#:기본키,*:Not Null, O:Null가능)
- 정보공학표긱법(밑줄:기본키)
1) 엔티티 정의
- 요구사항 분석서를 기준으로 엔티티 후보를 도출한다.
- 엔티티 도출 후 자격조건에 부합하는 것만 도출한다
: 자격조건1-주 식별자(PK)가 존재하는가?(예, 강사엔티티->강사번호)
: 자격조건2-주 식별자외의 다수 속성이 존재하는가?(테이블구조인가?)
: 자격조건3-db에 저장관리가 필요한가?
: 자격조건4-다른 엔티티와 외부키(FK)로 관계가 연결되는가?(1:1,1:N,N:M / 식별(FK+PK),비식별(FK) 관계)
2) 엔티티의관계 정의(앞으로 편의상 엔티티는{}로 표기.-PK,FK만 있음)
- 엔티티생성 순서는 KEY엔티티 > 메인엔티티 > 액션(서브)엔티티 순으로 작성한다.
- 요구사항 분석서를 기준으로 업무적으로 관계있는 엔티티끼리 연결(관계명/역할명 표기)
- 앞으로 편의상 [슈퍼-서브타입]관계는 [S-S타입]관계으로 표기
:예1) 상품엔티티S-S타입관계{구성특성.각면사양(앞면,옆면,뒷면)}
:예2) 주문엔티티S-S타입관계{계약금납부방법(신용카드,계좌이체,무통장입금)}
논리모델링에서는 그대로 두지만, 물리모델링에서는 3가지로 처리해야 한다.(참조URL아래)
참고)슈퍼타입1개-서브타입3개일때 = All in one(1개의 테이블), Plus(슈펴키+서브키인 3개의 테이블), one to one(상속관계인 4개 테이블)
:예3) 주문내역엔티티S-S타입관계{주문상품구분(기본구성,고객주문구성)}
:예4) 고객{메인엔티티} - 상품주문{액션엔티티}관계 - 상품{메인엔티티}
:예5) 판매사원{} - 상품주문계약등록{}관계 - 상품주문{}
:예6) 주문내역{} - 배송처리주문{배송처리일자}관계 - 배송{}
:예7) 고객서비스내역S-S타입관계1{안내방법(이메일,DM)}
:예8) 고객서비스내역S-S타입관계2{판매후관리(A/S,교환,환불)}
:예9) 고객서비스내역S-S타입관계3{판매후관리.A/S(무상,유샹)}
:예10)부서조직S-S타입관계{본사조직,매장(구분:오프라인,모바일,인터넷),서비스센터}
3) 다대다관계(교차엔티티)를 1:N 관계로 분리
:예1) 매장{매장번호PK} - 매장판매상품{진열액션} - 상품{상품번호PK}
:예2) 부서{부서번호PK} - 사원부서발령이력{발령액션} - 사원{사원번호PK}
:예3) 주문내역{번호PK}-배송처리주문{배송FK+주문FK+상품번호FK}-배송{번호PK}
4) 해당엔티티(테이블)에 속성을 배치함.
-이전 작업에서 모든 엔티티(주식별자-PK만 포함)와 관계명이 도출된 이후에 속성을 작성한다.
5) 1,2,3차 정규화검증(참조= http://blog.daum.net/bluelinu/8511663)
-1차정규화:속성에 다중값,반복값들이 존재가능할 경우 테이블분리(속성값의 원자화).입력 이상(Anomaly)현상방지=원자값이 아닌 도메인을 분해
-2차정규화:주식별자(PK,복합속성)의 일부속성에 종속된 속성이 존재할 경우 테이블분리(FK이용)=부분함수종속제거
-3차정규화:주식별자(PK)가 아닌 속성에 종속하는 속성이 존재할 경우 테이블분리(FK)=이행함수종속제거
나머지 고급정규화(참고사항): BCNF:결정자가 후보키가 아닌 함수 종속제거, 4NF:다치속성제거, 5NF:조인종속제거
#4. 데이터 표준 정의서 엑셀파일 작성
- 위 논리모델 작성시(동시작성) 도출되는 데이터 용어(명칭,정의+형식=도메인,설계코드=약속된 상수값)에 대해 표준을 정의
:예1) 용어 표준명시{단품(단일상품), 고객구성품(고객이 구성하는상품)}
:예2) 속성의 입력값 조건 표준명시{일자(년월:char[6],일자char[8],일시[12])}
:예3) 설계속성 값인 코드 명시1 상품{코드명=완성구분(01:완성품,02:고객구성품)}
:예4) 설계속성 값인 코드 명시2 상품{코드명=가구종류(01:침대,02:장롱,03:책상)}
#5. 요구사항 분석서 엑셀파일의 관련 엔티티타입(검증)부분에 엔티티명 표기(매핑)
:예1) 요구사항: 거래처관리 = 고객{}, 납품단가이력{}, 상품{}
Ps. ER-win Academic License 받기
NoSQL 맛보기 (0) | 2017.08.04 |
---|---|
대학교 학부 데이터베이스 수준 (0) | 2017.06.21 |
ANSI SQL, PL/SQL, T-SQL 의 사용내역 (0) | 2017.04.21 |
DB에 CSV자료 밀어 넣기전 CSV를 수정해야 할때 사용하는 GNU GPL v2 라이센스 프로그램 (0) | 2016.08.12 |
스파크-제플린으로 통계 그래프 출력하기(윈도우환경) (0) | 2016.01.13 |
댓글 영역