본문 바로가기
반응형

Data Base/Data Modeling (DA#)10

[Data Modeling] : 반정규화의 장점 및 단점과 절차 반정규화 (Denormalization) 장점 : 성능이 향상되고 관리 효율이 올라갑니다. 단점 : 데이타의 일관성, 정합성을 해칠 가능성이 있습니다. 중복된 내용이 많다보니 비용이 많이 발생합니다. 지나치게 반정규화가 많으면 오히려 성능에 악영향을 미칠 수 있습니다. 모델러나 설계자가 단독으로 정하지 않고 관련자들과 협의를 통해 반정규화를 결정합니다. 모델러나 설계자의 다양한 경험이 필요합니다. 반정규화 절차 1. 반정규화 대상 조사 - 범위 처리 빈도수 - 대량의 범위 처리 - 통계성 프로세스 - 테이블 조인 개수 2. 다른 방법 유도 검토 - 뷰, 테이블 - 클러스터링 적용 - 인덱스 조정 - 응용 어플리케이션 3. 반정규화 적용 - 테이블의 반정규화 - 속성의 반정규화 - 관계의 반정규화 참고 2.. 2021. 11. 26.
[Data Modeling] : 칼럼(column) 명명 규칙 칼럼 명명 규칙 1. 통용되는 약어가 있다면 그대로 표현합니다. 2. 가급적 4자리 이내로 정의하고 영문의미 약자 형태로 표현합니다. 3. 가급적 영어 자음위주로 구성하고 필요에 따라 모음도 사용합니다. 4. 자음이 중복되는 경우 중복 자음 중 하나만 사용합니다. 5. 영문의미가 3개 이상의 단어로 구성된 경우 각 단어의 첫 자를 사용합니다. 6. 단어영문명의 중복이 발생한 경우 중복 제거 우선 순위 - 영문의미를 다른 영문 단어로 변경하여 정의합니다. - 모음을 포함하여 정의합니다. - 길이를 4자로 정의합니다. 7. 접사가 포함된 표준단어는 공백이나 특수문자 사용을 배제합니다. 8. 숫자가 포함된 경우 단어영문명+숫자 형태로 구성합니다. - 숫자가 먼저 오지 않도록 합니다. 2021. 11. 26.
[Data Modeling] : 물리 데이터 모델링 기초 물리 데이터 모델링 정의 물리 데이터 모델링은 논리적 모델을 특정 데이터베이스로 설계함으로써 생성된 데이터를 저장할 수 있는 물리적인 스키마를 말합니다. (논리데이터 모델을 사용하고자 하는 DBMS 특성을 고려해서 데이터 베이스의 저장 구조로 변환하는 것 ( 그 데이터의 타입, 사이즈 등)) 물리 데이터 모델링과 데이터베이스 디자인 - 물리 데이터 모델링은 데이터의 구조에 관련된 것들을 물리적인 모습까지 설계하는 것 입니다. -데이터베이스 디자인은 이러한 물리적인 모델(설계도면)을 DBMS 관점의 오브젝트로 생성하는 최적의 설계(디자인)를 하는 것입니다. 물리 데이터 모델의 의의 물리적 데이터 모델링은 관계 데이터 모델링이라고도 합니다. 논리적 데이터 모델을 각각 관계형 데이터 베이스 관리 시스템의 특성.. 2021. 11. 19.
[Data Modeling] : 논리 데이터 모델링 연습 논리 데이터 모델링 연습하기 이 엔터티를 가지고 정규화를 해 봅니다. 색상이 중복될 수 있기 때문에 따로 빼 줍니다. 식별자를 줘서 M : M 관계를 만들어 줄 수 있습니다. 이 엔터티를 가지고 정규화 작업을 해 봅니다. 우선 딱 보이는 것은 반복적인 것은 하위 엔터티로 만들어줘야 하는 것 입니다. 출고 하나에 제품이 여러개가 생기기 때문에 1차 정규화를 했습니다. 그리고 나머지는 다 3차 정규화를 진행해 주면 이렇게 만들 수 있습니다. 주문을 할 때 하나만 하는 것이 아니라 여러개를 하기 때문에 출고, 출고상세 이렇게 나누어 볼 수 있습니다. 이것들을 하나로 관리하다 보면 출고에 대한 정보가 반복적으로 들어가게 됩니다. 그렇게 되면 변경 이상이 발생할 수 있기 때문에 데이터의 특정 정보만 수정하기 위해.. 2021. 11. 19.
[Data Modeling] : 이력 관리 정의 이력 관리 현재는 단지 하나의 점에 불과하지만 과거란 엄청난 갯수의 점이 모여 있는 형상입니다. 이력은 선분이고 현재의 순간은 점이므로 선분을 관리해야 합니다. 이력 관리를 하려면 비용이 들어갑니다. 사용자 조사를 잘 하고 협의해서 합니다. 사용자 조사 데이터의 이력을 관리한다는 것은 많은 비용이 들어가므로 사용자의 검증 과정이 필요합니다. - 변경 내역을 감시할 필요가 있는가? - 시간의 경과에 따라 데이터가 변할 수 있는가? - 시간의 경과에 따라 관계가 변할 수 있는가? - 과거의 데이터를 조회할 필요가 있는가? - 과거 버전을 보관할 필요가 있는가? 이력 데이터의 종류 발생 이력 데이터 - 어떤 데이터가 발생할 때마다 이력 정보를 남기는 것 입니다. - 예를 들면 고객의 접속 기록 같은 것이 발생.. 2021. 11. 12.
[Data Modeling] : M : M 관계 해소, BCNF M : M 관계 해소 - M : M 관계는 논리 데이터 모델링 과정에서 많이 나타납니다. - 최종적으로 완성된 데이터 모델에는 존재할 수 없는 형태입니다. - M : M의 관계를 해소하면 행위 엔터티인 릴레이션 엔터티가 만들어 집니다. 이 엔터티를 가지고 M : M 관계 해소 작업을 해봅니다. 이렇게 M : M 관계를 해소해 주고 UID Bar를 가져왔습니다. 조금 더 고치면 이렇게 표현할 수 있습니다. 이렇게 식별자를 일련번호 하나에 둬서 할 수도 있는데 이건 개발자에게 떠넘기는 무책임한 설계라고 볼 수 있습니다. BCNF 결정자가 식별자의 항목이 아닌 것, 식별자로 들어와야 하는데 그렇지 못 한 것을 제거하는 것이 BCNF라고 볼 수 있습니다. 2021. 11. 12.
[Data Modelling] : 3차 정규화 복습 정규화 논리 데이터 모델을 일관성이 있고 안정성 있는 자료구조로 만드는 단계입니다. 정규화 의미 - 입력 이상 # 릴레이션에 새 데이터를 삽입하기 위해 원치않는 불필요한 데이터도 함께 삽입해야 하는 문제 - 삭제 이상 #릴레이션에서 데이터를 삭제하면 꼭 필요한 데이터까지 함께 삭제하여 데이터가 손실되는 연쇄 삭제 현상 - 갱신 이상 # 릴레이션의 중복된 데이터들 중 일부만 수정하여 데이터가 불일치하게 되는 모순이 발생하는 것 - 저번에 이어 정규화에 대해 알아보도록 하겠습니다. 2021.10.29 - [Data Base/DA#] - [DA#] : 정규화 정의 및 제1정규화, 제2정규화 [DA#] : 정규화 정의 및 제1정규화, 제2정규화 정규화 (Normalization) - 논리 데이터 모델을 일.. 2021. 11. 5.
[Data Modelling] : 속성 정의 및 엔터티 상세화 속성 검증 및 확정 - 1단계 : 최소 단위까지 분할합니다. - 2단계 : 하나의 값만을 가지는 검증합니다. - 3단계 : 추출 속성인지 검증합니다. - 4단계 : 보다 상세하게 관리할 것인지 확인합니다. 속성 정의 시 유의사항 - 의미가 명확한 속성 명칭을 부여합니다. - 유일한 복합명사를 사용합니다. - 단수형으로 속성 명을 정합니다. - 표준 단어를 사용하고 작의적인 전용 금지합니다. 식별자 확정(UID : Unique Identifier) - 식별자는 엔터티 내 모든 인스턴스의 유일성을 보장하기 위해 반드시 필요합니다. - 키 엔터티의 본질 식별자 - 절대 종속 / 상대 종속 의미 - 직접 종속 / 간접 종속 의미 - 행위 엔터티의 본질 식별자 # 행위 엔터티는 육하원칙을 생각하면서 작성하면 됩니.. 2021. 10. 29.
[Data Modelling] : 정규화 정의 및 제1정규화, 제2정규화 정규화 (Normalization) - 논리 데이터 모델을 일관성이 있고 안정성 있는 자료구조로 만드는 단계입니다. - 정규화 의미 # 엔터티에 데이터를 삽입, 수정, 삭제할 때 오류가 발생할 개연성을 가지고 있으며, 이를 변경 이상이라 하며 구체적으로 삽입 이상, 수정 이상, 삭제 이상 등이 있습니다. # 변경 이상이 발생하는 데이터가 신뢰할 수 없는 값들로 채워지고 데이터의 일관성, 무결성을 해칩니다. # 정규화 과정을 통해서 변경 이상의 엔터티를 정규화된 엔터티로 변환하게 됩니다. 입력 이상 - 릴레이션에 새 데이터를 삽입하기 위해 원치 않는 불필요한 데이터도 함께 삽입해야 하는 문제입니다. 아아디 이벤트 번호 당첨 여부 고객 이름 등급 apple 01 Y 홍길동 GOLD apple2 02 N 홍동.. 2021. 10. 29.
01 . DA# Modeler5 테이블 만들고 PK 설정과 서브 타입 설정하기. DA# Modeler5 버전을 다운받았습니다. 간단한 테이블 만들기 실습을 합니다. 실행을 시키고 첫 화면입니다. 좌측 상단에 모델 추가를 눌러 줍니다. 아직은 프로젝트를 할 게 아니라 간단한 연습만 할 예정이라 프로젝트 추가를 할 필요가 없습니다. 이름과 물리 모델 유형을 선택해 줍니다. 오라클을 보통 사용해서 오라클로 선택을 했지만 리스트에 mysql 등 여러 물리 모델 유형을 선택할 수 있게 되어 있습니다. 파일을 추가하면 좌측 처럼 파일들이 생깁니다. 주제 영역에 논리와 물리가 생성되는 것도 볼 수 있습니다. 좌측 상단 메뉴에서 옵션 버튼을 눌러줍니다. 여기에서 기본 설정들을 바꿀 수 있습니다. 아직은 사용할 일은 없지만 나중에 본인에 맞춰 이것 저것 편리하게 설정하여 사용할 수 있습니다. 주제영.. 2021. 9. 3.
반응형