Certificate

자격증 관련 정리
Certificate/SQL개발자

[SQL개발자] 데이터 모델과 성능 - 분산 데이터베이스와 성능

✔ 분산 데이터베이스와 성능 분산 데이터베이스란 여러 곳으로 분산되어 있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스 논리적으로 동일한 시스템에 속하지만, 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임 데이터베이스를 연결하는 빠른 네트워크 환경을 이용하여 데이터베이스를 여러 지역 여러 노드로 위치시켜 사용성/성능 등을 극대화시킨 데이터베이스 데이터가 여러 지역에 분산되어 있지만 하나의 데이터베이스처럼 사용 분산 데이터베이스의 투명성 분할 투명성 (단편화) 하나의 논리적 릴레이션이 여러 단편으로 분할되어 각 단편의 사본이 여러 site에 저장됨 위치 투명성 사용하려는 데이터의 저장 장소 명시가 불필요함 위치정보가 System Catalog에 유지되어야 함 지역..

Certificate/SQL개발자

[SQL개발자] 데이터 모델과 성능 - 반정규화와 성능

✔ 반정규화와 성능 반정규화란 정규화된 엔터티, 속성, 관계에 대해 시스템의 성능 향상과 개발과 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법 데이터를 중복하여 성능을 향상시키기 위한 기법 성능을 향상시키기 위해 정규화된 데이터 모델에 중복, 통합, 분리 등을 수행하는 모든 과정 데이터를 조회할 때 I/O량이 많아서 성능이 저하되거나 경로가 너무 멀어 조인으로 인한 성능저하가 예상되거나 칼럼을 계산하여 읽을 때 성능이 저하될 것이 예상되는 경우 데이터 무결성이 깨질 수 있는 위험을 무릅쓰고 데이터를 중복하여 반정규화를 적용 반정규화 절차 반정규화 대상 조사 범위 처리 빈도수 조사 자주 사용되는 테이블에 접근하는 프로세스의 수가 많고 항상 일정한 범위만을 조회하는 경우 대량의..

Certificate/SQL개발자

[SQL개발자] 데이터 모델과 성능 - 정규화와 성능

✔ 정규화와 성능 정규화란 데이터를 결정하는 결정자에 의해 함수적 종속을 가지고 있는 일반속성을 의존자로 하여 입력/수정/삭제 이상을 제거하는 것 데이터의 중복속성을 제거하고 결정자에 의해 동일한 의미의 일반속성이 하나의 테이블로 집약되게 됨 반복적인 데이터를 분리하고 각 데이터가 종속된 테이블에 적절하게 배치되도록 하는 것 함수적 종속성이란 데이터들이 어떤 기준 값에 의해 종속되는 현상 이때 기준값을 결정자라 하고 종속되는 값을 종속자라고 함 예) 주민등록번호 -> (이름, 출생지, 호주) 이름, 출생지, 호주라는 속성은 주민등록번호 속성에 종속되므로 주민등록번호가 이름, 출생지, 호주를 하수적으로 결정한다고 말할 수 있음 함수적 종속성을 이용하여 정규화 작업이나 각 오브젝트에 속성을 배치하는 작업에 ..

Certificate/SQL개발자

[SQL개발자] 데이터 모델과 성능 - 성능 데이터 모델링의 개요

✔ 성능 데이터 모델링의 개요 성능 데이터 모델링이란 데이터베이스 성능 향상을 목적으로 설계 단계의 데이터 모델링 때부터 여러 가지 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것 정규화, 반정규화, 테이블 통합, 테이블 분할, 조인 구조, PK, FK 등을 반영 성능 데이터 모델링 순서 데이터 모델링을 할 때 정규화를 정확하게 수행 데이터베이스 용량산정을 수행 데이터베이스에 발생되는 트랜잭션의 유형을 파악 용량과 트랜잭션의 유형에 따라 반정규화를 수행 이력모델의 조정, PK/FK조정, 슈퍼타입/서브타입 조정 등을 수행 성능관점에서 데이터 모델을 검증 성능 데이터 모델링 고려사항 사전에 할수록 비용이 들지 않음 분석/설계 단계에서 성능을 고려한 데이터 모델링을 수행할 경우 성능 저하에 따..

Certificate/SQL개발자

[SQL개발자] 데이터 모델링의 이해 - 식별자

✔ 식별자 식별자란 엔터티 내에서 인스턴스를 구분하는 구분자 하나의 엔터티에 구성되어 있는 여러 개의 속성 중에 엔터티를 대표할 수 있는 속성 하나의 엔터티는 반드시 하나의 유일한 식별자가 존재해야 함 식별자의 분류체계 대표성 여부 주 식별자 엔터티 내에서 각 어커런서를 구분할 수 있는 구분자 타 엔터티와 참조관계를 연결할 수 있는 식별자 해당 업무에서 자주 이용되는 속성을 주식별자로 지정 명칭, 내역 등과 같이 이름으로 기술되는 것은 피함 속성의 수가 많아지지 않도록 함 보조 식별자 엔터티 내에서 각 어커런스를 구분할 수 있는 구분자 대표성을 가지지 못해 참조관계 연결을 못함 스스로 생성 여부 내부 식별자 엔터티 내부에서 스스로 만들어지는 식별자 외부 식별자 타 엔터티와의 관계를 통해 타 엔터티로부터 ..

Certificate/SQL개발자

[SQL개발자] 데이터 모델링의 이해 - 관계

✔ 관계 관계란 엔터티의 인스턴스 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로써 서로에게 연관성이 부여된 상태 엔터티와 엔터티 간의 연관성을 표현하기 때문에 엔터티의 정의에 따라 영향을 받기도 하고, 속성 정의 및 관계 정의에 따라서도 다양하게 변할 수 있음 클래스 다이어그램에서의 관계 관계는 존재적 관계와 행위에 의한 관계로 구분될 수 있으나 ERD에서는 관계를 연결할 때, 존재와 행위를 구분하지 않고 단일화된 표기법을 사용 UML에는 클래스 다이어그램의 관계 중 연관관계와 의존관계가 있고 연관관계는 항상 이용하는 관계로 존재적 관계에 해당하고 의존관계는 상대방 클래스의 행위에 의해 관계가 형성될 때 구분하여 표현하므로 실선과 점선의 표기법으로 다르게 표현됨 관계의 표기법 관계명 관계의 이름 ..

Certificate/SQL개발자

[SQL개발자] 데이터 모델링의 이해 - 속성

✔ 속성 속성이란 업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위 엔터티, 인스턴스, 속성, 속성값의 관계 한 개의 엔터티는 두 개 이상의 인스턴스의 집합이어야 함 한 개의 엔터티는 두 개 이상의 속성을 가짐 한 개의 속성은 한 개의 속성값을 가짐 속성의 특징에 따른 분류 기본 속성 업무로부터 추출한 모든 일반적인 속성 설계 속성 업무를 규칙화하기 위해 속성을 새로 만들거나 변형하여 정의하는 속성 파생 속성 다른 속성에 영향을 받아 발생하는 속성 다른 속성에 영향을 받기 때문에 프로세스 설계 시 데이터 정합성을 유지하기 위해 유의해야 할 점이 많으며 가급적 파생속성을 적게 정의하는 것이 좋음 데이터를 조회할 때 빠른 성능을 할 수 있도록 하기 위해 원래 ..

Certificate/SQL개발자

[SQL개발자] 데이터 모델링의 이해 - 엔터티

✔ 엔터티 엔터티란 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 집합적인 것 업무 활동상 지속적인 관심을 가지고 있어야 하는 대상으로서 그 대상들 간에 동질성을 지닌 인스턴스들이나 그들이 행하는 행위의 집합 인스턴스의 집합 엔터티의 특징 반드시 해당 업무에서 필요하고 관리하고자 하는 정보이어야 함 유일한 식별자에 의해 식별이 가능해야 함 영속적으로 존재하는 (두 개 이상의) 인스턴스의 집합이어야 함 업무 프로세스에 의해 이용되어야 함 반드시 집합에 속하는 개체들의 특성을 설명할 수 있는 속성이 있어야 함 다른 엔터티와 최소 한 개 이상의 관계가 있어야 함 (단, 통계성 엔터티, 코드성 엔터티, 시스템 처리 시 내부 필요에 의한 엔터티의 경우 관계를 생략할 수 있음) 엔터티의 분류 유무형에 따른 ..