Computer Science/데이터베이스

정규화를 통한 성능 향상 전략 정규화를 수행한다는 것은 데이터를 결정하는 결정자에 의해 함수적 종속을 가지고 있는 일반 속성을 의존자로 하여 입력/수정/삭제 이상현상을 제거하는 것이다. 데이터의 중복 속성을 제거하고 결정자에 의해 동일한 의미의 일반 속성이 하나의 테이블로 집약되므로 한 테이블의 데이터 용량이 최소화되는 효과가 있다. (고객과 주문테이블의 분리) 정규화된 테이블을 데이터를 처리할 때 속도가 빨라질 수도 있고 느려질 수도 있는 특성이 있다. 정규화 용어 정규화 Normalization 함수적 종속성등과 같은 이론에 근거하여 관계형 데이터베이스 테이블의 삽입,삭제,갱신 이상(Anomaly) 현상 발생을 최소화하기 위해 좀 더 작은 단위의 테이블로 설계하는 과정. 즉, 데이터 모델을 정규형에 ..
성능 데이터 모델링이란 데이터베이스 성능향상을 목적으로 설계단계의 데이터 모델링 때부터 정규화, 반정규화, 테이블통합, 테이블분할, 조인구조, PK, FK 등 여러 가지 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것으로 정의할 수 있다. 성능 데이터 모델링 수행시점 성능 향상을 위한 비용은 프로젝트 수행 중에 있어서 사전에 할수록 비용이 들지 않는다. 분석/설계 단계에서 데이터 모델에 성능을 고려한 데이터 모델링을 수행할 경우 성능 저하에 따른 재업무(rework)비용을 최소화할 수 있는 기회를 가지게 된다. 분석/설계 단계에서 데이터베이스 처리 성능을 향상시킬 수 있는 방법을 주도면밀하게 고려해야 한다. 성능 데이터 모델링 고려사항 데이터 모델링을 할 때 정규화를 정확하게 수행한다. ..
식별자란? 여러 개의 집합체에서 각각을 구분할 수 있는 논리적인 이름이 있어야 한다. 이 구분자를 식별자라고 한다. 엔티티내의 각 인스턴스를 개별적으로 식별하기 위해 사용된다. id, key 식별자의 특징 유일성: 주식별자에 의해 엔티티내의 모든 인스턴스들이 유일하게 구분되어야 한다. 최소성: 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 한다. (사원번호만으로 구분가능한 경우, 분류코드+사원번호로 식별자가 구성될 경우 부적절함) 불변성: 지정된 주식별자의 값은 자주 변하지 않는 것이어야 한다. 존재성: 주식별자가 지정이 되면 반드시 값이 들어와야 한다.(사원번호가 없는 직원은 있을 수 없음, not null) 식별자의 분류 식별자 도출 기준 해당 업무에서 자주 이용되는 속성을 주..
관계란? 사전적정의: 상호연관서잉 있는 상태 엔티티 간 논리적인 연관성을 의미한다. 존재에 의한 관계와 행위에 의한 관계로 구분된다. 관계의 페어링 관계는 엔티티 안에 인스턴스가 개별적으로 관계를 가지는 것(패어링)이고 이것의 집합을 관계로 표현한다는 것이다. 각각의 엔티티의 인스턴스들은 자신이 관련된 인스턴스들과 관계의 어커런스(발생, 사건)로 참여하는 형태를 관계 페어링(Relationship Paring)이라 한다. 관계의 분류 존재의 의한 관계 "소속된다" 라는 의미는 행위에 따른 이벤트에 의해 발생되는 의미가 아니고 그냥 사원이 부서에 소속되어 있기 때문에 나타나는 즉 존재의 형태에 의해 관계가 형성되어 있는 것이다. 행위에 의한 관계 주문 엔티티의 주문번호는 고객이 "주문한다" 라는 행위에 의..
속성이란? 업무에서 필요로 함 의미상 더이상 분리되지 않는다. 엔티티를 설명하고 인스턴스의 구성요소가 된다. 속성의 표기법 속성명을 기재하고 해당 속성이 식별자(#,key)인지 아닌지 표시하고 해당 속성이 필수값(*,not null)인지 선택값(O,nullable)인지 표시 한다. 속성의 특징 엔티티와 마찬가지로 반드시 해당 업무에서 필요하고 관리하고자 하는 정보 이어야 한다.(ex.강사의 강사명) 정규화 이론에 근간하여 정해진 주 식별자에 함수적 종속성을 가져야 한다. 하나의 속성에는 한 개의 값만을 가진다. 하나의 속성에 여러 개의 값이 있는 다중 값일 경우 별도의 엔티티를 이용하여 분리한다. 속성의 분류 특성에 따른 분류 기본속성: 업무분석을 통해 바로 정의한 속성 설계속성: 원래 업무상 존재하지는..
엔티티란? 사람, 장소, 물건, 사건, 개념 등의 명사에 해당 업무상 관리가 필요한 관심사 저장이 되기 위한 어떤 것이다. 엔티티와 인스턴스 엔티티: 과목, 강사, 날짜 인스턴스: 수학,영어 / 김떙떙, 이떙떙 / 20220412,20231029 엔티티는 인스턴스의 집합 엔티티의 특징 반드시 해당 업무에서 필요하고 관리하고자 하는 정보이어야 한다. 유일한 식별자에 의해 식별이 가능해야 한다. 영속적으로 존재하는 인스턴스의 집합 이어야 한다.(한개가 아니라 두개이상) 엔티티는 업무 프로세스에 의해 이용되어야 한다. 엔티티는 반드시 속성이 있어야 한다. 엔티티는 다른 엔티티와 최소 한개 이상의 관계가 있어야 한다. 엔티티의 분류 유무형에 따른 뷴류 유형 사원, 물품, 강사 물리적인 형태가 있고 안정적이며 지..
모델링이란? 복잡한 "현실세계"를 단순화시켜 표현하는 것 사물 또는 사건에 관한 양상이나 관점을 연관된 사람이나 그룹을 위하여 명확하게 하는 것 현실 세계의 추상화된 반영 현실세계를 추상화, 단순화, 명확화 하기 위해 일정한 표기법에 의해 표현하는 기법 모델링의 특징 추상화는 현실세계를 일정한 형식에 맞추어 표현을 한다는 의미 단순화는 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현 명확화는 누구나 이해하기 쉽게 하기 위해 대상에 대한 애매모호함을 제거하고 정확하게 현상을 기술 모델링의 세가지 관점 데이터관점: 업무가 어떤 데이터와 관련이 있는지 또는 데이터 간의 관계는 무엇인지에 대해서 모델링하는 방법 프로세스 관점: 업무가 실제하고 있는 일은 무엇인지 또는 무엇을 해야 하는지를 모..
클러스터 인덱스 클러스터 인덱스는 데이터 위치를 결정하는 키 값이다. 인덱스들을 통해 PK값들을 통해 결국 주소를 찾아야하는데 클러스터인덱스가 데이터주소가 저장되어 있는 인덱스이다. MySQL의 PK는 클러스터 인덱스다. MySQL에서 PK를 제외한 모든 인덱스는 PK를 가지고 있다. 클러스터 인덱스는 데이터위치를 결정한다. 클러스터 키 데이터 주소 1 A 2 B 3 C 5 D 위와 같은 인덱스가 있을 때 클러스터 4번이 Insert되면 아래 처럼 클러스터 순서에 맞게 위치가 된다. 데이터 주소도 밀리게 된다. 클러스터 키 데이터 주소 1 A 2 B 3 C 4 D 5 F 클러스터 키 순서에 따라서 저장 위치가 변경되기 때문에 클러스터 키 삽입/갱신시에 성능이슈 발생 (데이터가 전부 땡겨지겨나 밀리기 때문..
윤재에요
'Computer Science/데이터베이스' 카테고리의 글 목록 (4 Page)