1. 속성(Attribute) 정의

속성(Attribute)이란 정보를 나타내는 최소의 단위로써 엔티티의 성질, 분류, 수량, 상태, 특성 등을 나타내는 세부 항목이다.

db4.png

2. 속성(Attribute) 의 유형

속성의 유형                                                의미
기본 속성 해당 엔티티가 원래 가지고 있는 속성
설계 속성 원래 업무에는 존재하지 않지만 시스템의 효율성을 위해 임의로 추가되는 속성 
예) 코드 또는 일련번호
파생(추출) 속성    다른 속성으로부터 계산이나 변형되어 생성되는 속성 
데이터 중복성 및 무결성 확보를 위해 가급적 적게 정의 
→ Trigger 이용, Computed column(계산된 컬럼) 선언


db5.png

3. 속성(Attribute) 정의시 고려 사항

속성 정의시 다음 네 가지 사항들을 확인해 보자.

  • 엔티티가 관리할 특성들인가?
  • 의미적으로 독립적인 최소 단위인가?
  • 하나의 값만을 가지고 있는가?
  • 원본인가 파생된 값인가?

1) 엔티티(Entity)가 관리할 특성들인가?

   db6.png

주문자 성명이란 속성은 주문 엔티티에 별도로 있어야 할까? 고객 엔티티와 관계만을 맺으면 될까?

2) 의미적으로 독립적인 최소 단위인가?

속성은 멀티 파트가 되어서는 안된다. 멀티 파트라는 의미는 속성이 여러 개의 부분들로 이루어져 있는 경우와 하나의 의미를 가지는 여러 개의 속성이 존재하는 경우이다.

     ■ 속성이 여러 개의 부분들로 이루어져 있는 경우

     예 1) 주민번호 = 주민번호1 + 주민번호2

             → 전체만이 의미가 있으므로 분리해서는 안된다.

     예 2) 고객 : 우편번호

              → 우편물을 보낼 때 기입할 우편번호 참조 코드의 의미이므로 통합되어야 한다.

              우편번호 : 우편번호1, 우편번호2

              → 우편번호1은 "시/군/구"를 분리하는 코드이고, 우편번호2는 "읍/면/동"을 지칭하는 코드이므로 분리해야 한다.

     ■ 하나의 의미를 가지는 여러 개의 속성이 존재하는 경우

     예 1) 중복되는 의미를 가지는 속성의 통합

db7.png

              → 동일한 의미를 갖는 중복된 속성으로 값이 동일하다. 이는 주문일자 또는 등록일자 속성 하나만을 관리해야 한다. 

            

     예 2) 배타적인 의미를 가지는 속성의 통합

   db8.png

3) 하나의 값만을 가지고 있는가?

속성의 111원칙 : 엔티티 타입내에서 하나의 속성은 한 시점에 한 개의 값만을 가져야 한다. 하나의 속성이 시간에 따라 여러 개의 값(다중값 속성)을 가지면 그 값을 해당업무에서 관리해야 할 필요가 있으면 새로운 엔티티를 생성한다. 

예) 한 고객이 여러 번 방문한 방문일, 방문내용을 관리해야 한다. 

a) 고객 엔티티의 속성만으로 존재할 수 없고, 새로운 엔티티가 생성. 관계는 고객과 1:M 관계로 설정되어야 한다

db9.png
 

b) 속성1, 속성2, 속성3 ... 과 같이 하나의 엔티티로 정의할 수도 있다.


   db10.png
 
3번 이상 방문시는 테이블도 수정하고, 프로그램도 수정해야만 한다.
 
최대 두 개나 세 개 정도의 값이 들어온다면, 두번째 방법으로 처리할 수도 있지만, 최대 얼마의 값들을 처리해야 할지 알 수 없을 경우에는 별도의 엔티티로 분리하는 첫번째 방법을 이용해야한다.
 
4) 원본인가 파생된 값인가? 

파생된 값은 실제 성능을 위해서 사용되기도 하지만, 이런 값의 중복은 나중에 심각한 무결성 문제를 발생할 수 있으므로 조심해서 사용하여야 한다.


 4. 용어사전 정의

용어사전은 논리명과 물리명을 정의하는 것으로, 논리명은 업무로부터 도출된 속성의 이름을 의미하고 물리명은 데이터베이스에 구축될 속성 이름을 의미한다.
 

  • 엔티티의 속성명을 모두 한 곳에 모아 기술한다.
  • 속성명을 업무에서 사용하는 단어의 단위로 분리한다.
    : 복합어를 단일어로 분리
  • 각각의 단위 속성에 의미를 기술하고 물리 속성명을 업무 특성에 적합하게 정의한다.
  • 물리 속성명 명명 규칙을 정한다.
    : 최종작업일자를 LAST_WORK_DATE, LASTWORK_DATE, LasdtWorkDate, LST_DT로 할지에 대한 기본규칙 지정
  • 단위 속성명에 따라 엔티티의 모든 속성명에 대해 논리 속성명을 일치시키고, 물리속성명을 생성해준다.

다음은 속성으로부터 용어사전을 정의하는 방법이다.

1) 모든 속성을 엑셀 파일로 정리하여 유일한 속성에 대해 속성분리1, 속성분리2, 속성분리3, 속성분리4로 다음과 같이 분리한다. 

엔티티명 속성명 유일속성명 속성 분리1 속성 분리2 속성 분리3 속성 분리4
도서 도서번호 도서번호 도서 번호    
  도서명 개수 개수      
회원 주민번호 결재방법코드 결재 방법 코드  
  회원주소 구매가격 구매 가격    
  회원전화번호 구매포인트 구매 포인트    
  회원휴대폰번호 도서명 도서    
  회원번호 도서번호 도서 번호    
  구매포인트 배송방법코드 배송 방법 코드  
  전자메일 배송번호 배송 번호    
  결재방법코드 배송지전화번호 배송지 전화번호    
주문 주문번호 배송지주소 배송지 주소    
  배송지주소 전자메일 전자메일      
  배송지전화번호 주문번호 주문 번호    
  주문일자 주문일자 주문 일자    
  회원번호 주민번호 주민번호      
  결재방법코드 회원번호 회원 번호    
  배송방법코드 회원전화번호 회원 전화번호    
  배송번호 회원주소 회원 주소    
주문목록 구매가격 회원휴대폰번호 회원 휴대폰번호    
  주문번호          
  개수          
  도서번호          


2) 다음과 같이 용어사전을 정의한다. 

용어 물리명 동의어 용어정의
도서 BOOK 일반적인 서적
가격 AMT 금액, ~가 물건의 가격을 나타냄
개수 CNT ~수, 건수 셀 수 있는 사물의 수
결재 SIGN 승인, 허가 승인/미승인된 결과
구매 BUY 구입 상품을 사는 행위
NM 이름 지칭하는 말
방법 METHOD 방안 목적을 이루기 위해 취하는 방식이나 수단
배송 DELIEV   물건을 주문한 회원에게 보내는 행위
배송지 DELIEV_PLACE   물건을 주문한 회원에게 보내기 위한 장소
번호 NO   숫자
일자 DATE   날짜
전자메일 EMAIL_ID   인터넷 통신을 위한 전자메일 ID
전화번호 TEL   전화번호
주문 ORDER   도서를 주문
주민번호 JUMINO   주민번호
주소 ADDR   거주지의 주소
코드 CD 구분코드 정보를 나타내는 기호의 체계
포인트 POINT 점수 가점, 득점
회원 MEMBER   어떤 회를 구성하는 사람들
휴대폰번호 HTEL 핸드폰 손으로 들고다니는 전화기

 5. 도메인 지정

엔티티내 속성에 대한 데이터 타입과 크기, 제약 사항을 지정하는 것을 의미한다.
 
다음은 속성으로부터 도메인을 정의하는 방법이다.
1) 모든 속성 중에 뒤부터 2~4자 정도를 분리해 본다.
2) 공통으로 발생하는 접미어를 분리하여 하나로 만든다.
 

엔티티명 속성명 접미어2자 접미어3자 접미어4자
도서 도서번호 번호 서번호 도서번호
  도서명 서명 도서명  
회원 주민번호 번호 민번호 주민번호
  회원주소 주소 원주소 회원주소
  회원전화번호 번호 화전호 전화번호
  회원휴대폰번호 번호 폰번호 휴대폰번호
  회원번호 번호 원번호 회원번호
  구매포인트 인트 포인트 매포인트
  전자메일 메일 자메일 전자메일
  결재방법코드      
주문 주문번호 번호 문번호 주문번호
  배송지주소 주소 지주소 송지주소
  배송지전화번호 번호 화전호 전화번호
  주문일자 일자 문일자 주문일자
  회원번호 번호 원번호 회원번호
  결재방법코드      
  배송방법코드      
  배송번호 번호 송번호 배송번호
주문목록 구매가격 가격 매가격 구매가격
  주문번호 번호 문번호 주문번호
  개수 개수    
  도서번호 번호 서번호 도서번호

 
 

도서번호
주민번호
주소
전화번호
회원번호
포인트
전자메일
결재방법코드
주문번호
일자
결재방법코드
배송방법코드
배송번호
가격
개수

 
3) 분리된 접미어를 비슷한 것(의미하는 내용별)끼리 묶어 이름을 부여한다. 이 때 ㅋ드와 번호에 해당하는 도메인은 개별로 부여한다.

4) 각 도메인별로 데이터 타입과 길이를 지정한다. 

도메인구분 도메인명 도메인타입 비고
번호 도서번호 VARCHAR2(10) YYYYMM+SEQ(4)
  배송번호 VARCHAR2(8)  
  전화번호 VARCHAR2(18) ' - ' 포함할 수 있음
  주문번호 VARCHAR2(14) YYYYMM+SEQ(8)
  회원번호 VARCHAR2(6)  
  주민번호 VARCHAR2(13) ' - ' 제외
코드 결재방법코드 CHAR(2)  
  배송방법코드 CHAR(2)  
날짜 일자 DATE  
금액 금액(N, 10) NUMBER(10) 일반금액
수량 수량 NUMBER(7)  
주소 주소 VARCHAR2(120) 시도군, 읍면동, 리번, 동포함
이름 이름(V, 40) VARCHAR2(40) 짧은 이름
  이름(V, 80) VARCHAR2(80) 긴 이름
전자메일 전자메일 VARCHAR2(100)  


5) 각 엔티티의 속성에 도메인을 할당한다.

엔티티명 속성명 도메인 데이터타입
도서 도서번호 도서번호 VARCHAR2(10)
  도서명 이름(V, 40) VARCHAR2(40)
회원 주민번호 주민번호 VARCHAR2(13)
  회원주소 주소 VARCHAR2(120)
  회원전화번호 전화번호 VARCHAR2(18)
  회원휴대폰번호 전화번호 VARCHAR2(18)
  회원번호 회원번호 VARCHAR2(6)
  구매포인트 수량 NUMBER(7)
  전자메일 전자메일 VARCHAR2(100)
  결재방법코드 결재방법코드 CHAR(2)
주문 주문번호 주문번호 VARCHAR2(14)
  배송지주소 주소 VARCHAR2(120)
  배송지전화번호 전화번호 VARCHAR2(18)
  주문일자 일자 DATE
  회원번호 회원번호 VARCHAR2(6)
  결재방법코드 결재방법코드 CHAR(2)
  배송방법코드 배송방법코드 CHAR(2)
  배송번호 배송번호 VARCHAR2(8)
주문목록 구매가격 금액 NUMBER(10)
  주문번호 주문번호 VARCHAR2(14)
  개수 수량 NUMBER(7)
  도서번호 도서번호 VARCHAR2(10)
번호 제목 글쓴이 날짜 조회 수
공지 [기술 보고서 다운로드] IDC Technology Spotlight: 모델 기반 데이터 설계를 통한 비즈니스 민첩성 확보 방안 관리자 2015.08.24 8533
공지 ER/Studio Team Server(ER/Studio 용 웹포탈) 설치 및 사용자 가이드 손보라 2014.07.15 39730
공지 Repository 설치 및 사용 가이드 손보라 2014.05.27 50500
공지 ER/Studio Data Architect 설치 및 사용자가이드 관리자2 2012.01.27 52906
142 [기술백서] ER/Studio를 활용한 데이터 표준화 시스템 구축방안 관리자 2014.11.12 1156
141 DB Power Studio #4-2. DBArtisan 둘러보기(데이터베이스 보안 관리) 손보라 2014.08.20 1175
140 DB Power Studio #4-5. DBArtisan 둘러보기(데이터 관리) 손보라 2014.08.21 1179
139 DB Power Studio #4-6. DBArtisan 둘러보기(데이터베이스 성능 관리) 손보라 2014.08.22 1185
138 DB Power Studio #4-3. DBArtisan 둘러보기(데이터베이스 공간 관리) 손보라 2014.08.21 1203
137 DB Power Studio #4-7. DBArtisan 둘러보기(메뉴 기능) 손보라 2014.08.22 1212
136 DB Power Studio #4-4. DBArtisan 둘러보기(SQL 관리) 손보라 2014.08.21 1276
135 ER/Studio 기본 가이드 #6. ER/Studio Data Architect로 메타데이터 import & export하기 손보라 2014.08.07 1277
134 ER/Studio 기본 가이드 #5. ER/Studio Data Architect의 데이터 딕셔너리 사용하기 손보라 2014.08.06 1296
133 DB Power Studio #4-1. DBArtisan 둘러보기(오브젝트 및 스키마 관리) 손보라 2014.08.20 1319
132 ER/Studio 기본 가이드 #4. ER/Studio Data Architect로 모델 간 비교 및 차이점 반영하기 손보라 2014.08.05 1323
131 DB Power Studio #1. DB Optimizer 둘러보기 손보라 2014.08.09 1334
130 DB Power Studio #3-2. Rapid SQL 둘러보기(비주얼 쿼리 빌더) 손보라 2014.08.19 1343
129 [기술백서] 데이터아키텍트가 비즈니스 업무 부서와 협업하기 위해 알아야 할 다섯가지 관리자 2014.09.26 1343
128 [기술백서] ERwin이 아닌 ER/Studio를 선택하는 10가지 이유 관리자 2014.11.12 1347
127 ER/Studio 기본 가이드 #2. ER/Studio Data Architect로 논리/물리 모델링 시작하기 손보라 2014.08.01 1350
126 ER/Studio 기본 가이드 #3. ER/Studio Data Architect로 기존 데이터베이스 문서화하기 손보라 2014.08.04 1354
125 ER/Studio 기본 가이드 #1. ER/Studio Data Architect로 데이터모델링 시작하기 손보라 2014.08.01 1361
124 DB Power Studio #3-1. Rapid SQL 둘러보기(SQL 작성) 손보라 2014.08.18 1388
123 [온라인 세미나 발표자료] 스마트한 DBMS관리: DB PowerStudio 따라잡기, LIVE! 관리자 2014.09.25 1405