관계형데이터모데링노트 요약 55

데이터 타입 선정 원칙과 절차

올바른 데이터 타입을 선택하는 것은 모델링 과정 중에서 중요한 부분이다. 적절치 않은 데이터 타입을 선택하면 데이터의 무결성 손상이 될수 있으며, 데이터 저장공간을 많이 차지하고 성능이 저하될수 있다. 데이터의 성격에 맞는 데이터 타입을 정해야 무결성이 보존돼품질이 높아진다. 데이터 타입을 결정하는 데 있어 가장 중요한 원칙은 속성에 저장될 데이터의 성격에 맞는 타입을 결정하는 것이다. 그러기 위해서는 속성에 저장될 데이터가 어떤 종류의 데이터 인지를 명확하게 알아야 한다. 데이터 성격을 모르고는 데이터 타입을 결정할 수 없다. 데이터의 성격을 명확하게 팍악하고 규정하는 것은 모델러의 중요한 역활이다. 속성데이터가 날짜면 Date 타입, 숫자명 Number타입을 문자면 Varchar 타입을 사용하는 것이..

도메인

일반적인 정의 : 도메인은 속성에 허용된 유효한 값의 집합이다. 속성이 가질 수 있는 값이 집합이 도메인이다. 데이터모델링에서 사용되는 두가지 정의 -도메인은 데이터 타입과 길이를 의미(물리도메인을 실무에서 사용하는 도메인) -속성을 대표속성을 의미(논리적개념) 물리도메인 물리도메인을 구성하는 주요 요소는 데이터 타입과 길이, 허용값의 범위와 기본값, 값의 포멧등을 포함한다. ex)일자 도메인 이름 : 일자 도메인의 데이터 타입 : date 도메인의 데이터 포맷 : yyyy-mm-dd 허용범위 : 1900년 1월 1일부터 9999년12월31일까지의 날짜 기본값: 9999년12월31일 물리 도메인을 구분할때는 일반적으로 데이터타입과 길이를 기준으로 한다. 데이터 타입과 길이가 주요기준이 되므로 타입과 길이..

속성명

속성명을 정하는 원칙 -속성의 셩격을 가장 잘 표현할 수 있도록 속성명을 정하는 것은 모델러가 해야 할 가장 커다란 역활 -속성의 의미를 명확하게 표현하는 것이 속성명을 명명하는 가장 중요한 원칙 -속성명을 명확하게 표현하려면 구체적으로 명명 ex) 전화번호 -> 자택전화번호 -속성명이 구체적이지 않거나 여러의미로 사용될수 있을때 속성이 잘 못 쓰일 가능성이 존재 -구체적인 것도 좋지만 지나치게 길면 좋지 않다. 의미가 파악되는 한에서 가능한 짧아야 한다 -영문명은 가능한 짧은 것이 좋기때문에 단어에 대응하는 영문단축명은 짧게 정하는 것이 좋다. 영문단축명을 보고 단어의 의미를 알게 하려고 길게 정하는데 이는 컬럼명이 길어지는 대신 효과는 크지 않아 의미가 별로 없다. -속성명은 단어의 조합으로 이루어진..

코드속성 2

전체코드의 부분집합을 관리하는 모델(코드 부분집합 개념을 반영한 모델) 코드유형에 속한 전체코드값 집합중에서 필요한 코드 값만 부분집합으로서 별도 관리 할 수 있는 모델이다. 부분집합으로서 관리가 필요한 코드유형이 생기면 새로운 코드유형으로 등록하고, 코드 값 전체집합을 가리키는 상위코드 유형번호를 지정한다. 그리고 코드 엔터티에는 해당코드유형에 존재하는 코드값을 등록한다. 고객구분코드는 다섯개 값이 존재 (100 -> 01,02,03,04,99) 고객구분코드 개인과 법인만 필요하다고 한다면, 코드유형 릴레이션에 '101' 코드유형을 등록하고 상위코드유형에 '100'으로 등록하고, '101'코드유형에는 '01','03' 코드 인스턴스를 등록한다. 코드유형 릴레이션에서 상위코드유형번호 속성이 null인 것..

코드 속성 1

코드 속성의 명명법 식별자코드와 일반코드는 성격이 다르기 때문에 속성의 이름을 구분해서 정하는 것이 좋다. 식별자코드는 부서번호, 사원번호등과 같이 '~번호'로 사용된다. 이런 식별자코드는 단지 인스턴스를 식별하는 역활을 하면 그만이기 때문에 인조식별자인 '~번호'로 사용하는 것이 바람직하다. 조인 목적으로 사용하며, 자체의미는 없다. 주식별자 값이 문자와 숫자가 혼합돼 있고, 체계가 있어 이미 범용적으로 코드값으로 인식해서 사용하고 있는 식별자는 부서코드 지점코드 등으로 사용할수 있다. 대신 식별자코드의 속성명에는 일반코드에서 설명할 구분자(구분, 유형종류)를 사용하지 않는다. 일반코드는 범주를 의미하므로 구분자역활하는 용어와 함께사용(구분, 유형, 종류) 식별자코드 인스턴스 하나의 개체를 의미하므로 ..

식별자 종류 Part 2

- 속성의 분류방법 중 하나 : 코드속성과 비코드속성 코드속성 : 사전에 약속한 값인 코드 값이 사용된 속성이 코드 속성 코드속성에 저장된 코드값과 이코드값이 의미하는 설명은 공통엔터티에서 관리 코드속성은 이미정해놓은 값만 사용한다. 코드엔터티를 봐야 값이 의미를 알수 있다. 비코드속성 : 코드속성이 아닌 일반속성은 비코드 속성 공통코드에서 관리하는 값과 무관한 값이 저장. 실제값이 저장되기 때문에 값을 보고 의미를 파악해야 한다. 의미파악이 안된다면 데이터자체가 잘못되었거나 관계속성일때다. -일반코드와 식별자코드 식별자코드는 엔터티의 주식별자 이면서 속성이름이 '~ 코드'로 끝난 속성이다. 주식별자 값에 코드의 의미가 유무와 상관없이 주식별자 자체를 의미한다. 대표적인 식별자코드는 부서코드, 사원코드,..

식별자 종류 Part 1.

대리식별자는 주식별자로 선택되지 않은 후보식별자다. 대체식별자라고도 한다. 후보식별자 : 사원주민등록번호, 휴대전화번호, 이메일주소, 고객번호 주식별자를 고객번호로 선정한다면 나머지는 대리식별자(사원주민등록번호, 휴대전화번호, 이메일주소) 주식별자로 선정되지 않은 후보식별자가 대리식별자이므로 인조식별자를 주식별자로 사용하면 모든후보식별자가 대리식별자가 된다. 즉 인조식별자가 사용되면 후보식별자와 대리식별자는 같다. 대리식별자 선정과정 후보식별자를 선정한다. 후보식별자가 여러개 존재할 수 있다. 후보식별자 중에 주식별자로 선정할 후보가 있는지를 판단한다. 후보식별자 중에 주식별자가 있다면 나머지는 대리식별자가 된다. 후보식별자 중에 주식별자가 없다면 인조식별자를 채택한다 인조식별자를 채택하면 모든 후보식별..

업무식별자와 인조식별자의 혼합

업무식별자와 인조식별자가 혼합된 형식의 주식별자. 고객번호+순번, 계좌번호+순번 업무식별자와 인조식별자의 혼합해서 사용하면 바람직하지 않은 이유 - 요건을 알기 어려워 가독성이 떨어짐 위 모델에서 한고객이 같은 상품을 하루에 두번 이상 주문할 수 없다는 요건이 있는데 이를 알기 어려워진다. 업무식별자와 인조식별자를 섞어쓰는 엔터티에서는 업무식별자를 알 수 없다 →업무를 알기 어렵다 → 인스턴스 생성기준 알기 어렵다 → 유니크 인덱스 생성(업무식별자 :고객번호, 상품번호, 주문일자 ) 하지 않으면 데이터 생성기준이 없어짐 - 엔터티 성격이 모호해짐 구체적인 속성을 사용하지 않고 주문엔터티에 주문순번처럼 발생순번, 처리순번, 등록순번 같은 일반적이 속성을 사용하면 엔터티 성격이 모호해진다. 많은 엔터티의 주..

인조식별자

인조식별자는 임의로 생성한 식별자를 의미한다. 후보식별자 중에서 주식별자로 사용할 마땅한 후보가 없을때 순번성격의 속성을 추가해서 식별자로 사용한다. 기존에 존재하는 속성중에서 선택한 식별자가 아닌 새롭게 추가한 속성으로 만든 식별자를 인조식별자라고 한다. 예시)주식별자로 적절하지 않은 이유 주민번호 : 오류로 저장되면 변경가능성이 있어서 주식별자로 적절치 않음. 보안상 DB에 저장 못하게 한다. 휴대폰번호, 이메일 : 변경될수 있어 적철치 않음.예외적으로 이메일주소를 "계정은 변경 할 수 없다"는 업무요건을 만들면 이메일주소가 주식별자로 사용될수 있다. 고객번호 : 사원의 주식별자로 적합하지만 길다는 단점이 있다. 인조식별자 속성에는 의미 없는 번호를 사용한다. 업무식별자를 주식별자로 사용해야 업무가 ..

복합속성&교차엔터티 주식별자

복합 주식별자의 속성 순서 주식별자가 여러 속성으로 구성된 복합 주식별자일때 조회성능을 고려하여 속서의 순서를 결정해야 한다. 이작업은 주식별자가 결정된 후 마지막에 하게 된다. 주식별자의 속성순서는 조회성능에 많은 영향을 끼치는데, 분석·설계 단계에서 조회요건을 검토할 수 없다는 것이다. 조회요건을 검토할 수 있는 최소단계는 개발단계이다. 개발 끝난 후 테스트 단계에서 성능문제 때문에 주식별자의 속성순서를 변경하는 일이 자주 발생한다. 분석·설계 단계에서는 해당 엔터티를 대상으로 자주사용되는 조건파악, 최소한 화면을 확인해서라도 주식별자 속성순서를 결정해야 한다. 주식별자를 물리적인 주키로 생성하면 유니크 인덱스가 생성된다.유니크 인덱스 첫번째 속성이 조회조건절에 자주 사용되도록 하는 것이 핵심이다. ..

728x90
반응형
LIST