전체 글 99

코드 속성 1

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

식별자 종류 Part 2

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

식별자 종류 Part 1.

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

[ORACLE] AWR 스케줄러잡등록 및 리포트 조회(scheduler job)

일별 용량관리, AWR snapshot job에 등록하여 활용 --스케줄러 잡 생성 begin dbms_scheduler.create_job( job_name=>'TEST_JOB', job_type=>'plsql_block', job_action=>'begin dbms_workload_repository.create_snapshot; end;', start_date=>to_date('20201001 0804','yyyymmdd hh24mi'), end_date =>to_date('20201003 0904','yyyymmdd hh24mi'), repeat_interval=>'freq=daily;interval=1', enabled=>true ); end; --스케줄러 잡 삭제 begin dbms_sched..

DB 관리 TIP 2023.11.16

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

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

인조식별자

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

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

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

복잡한 주식별자

엔터티의 복잡한 주식별자는 여러가지 이유로 복잡해 질수 있는데, 복잡한 주식별자 자체가 문제가 되진 않는다. 주식별자가 복잡해지는 가장 큰 원인은 업무식별자가 복잡하기 때문이다. 논리적으로 업무에서 사용하는 데이터 용도에 따라 주식별자는 복잡해 질수 있고, 이는 업무에 최적화된 식별자다. 물리적으로 성능을 고려하여 주식별자를 식별자로써 상속시켜 주식별자 복잡할 수 있다. 기준데이터를 관리할 때 기준데이터는 업무의 기준이 되는 데이터를 관리하는 엔터티이다.기준데이터를 관리할때 주식별자의 속성이 많아질수 있다. 어떤기준데이터를 얼마나 상세하게 분해해서 관리하느냐에 따라 주식별자에 속하는 속성이 많아질 것이다. 기준데이터를 관리하는 엔터티는 보통 하위 엔터티가 존재하지 않는다. 즉 참조무결성 제약으로 참조되는..

728x90
반응형
LIST