본문 바로가기

안녕하세요!

자격증 준비

[ SQLD ] 성능 데이터 모델링 성능 데이터 모델링 성능 데이터 모델링은 DB 성능 향상을 목적으로 하며, 설계 단계의 데이터 모델링 시기 부터 정규화, 반정규화, 테이블 통합 및 분할, JOIN, 기본키, 외래키 등이 데이터 모델링에 반영되도록 하는 것을 말한다. 함수적 종속성 함수적 종속성(Functional Dependency)은 데이터들이 어떤 기준값에 의해 종속되는 현상이다. 기준값은 결정자(Determicant), 종속되는 값을 종속자(Dependent)라고 한다. 반정규화 반정규화란 엔터티, 속성, 관계에 대해 시스템의 성능 향상 및 개발과 운영의 단순화를 위해 중복과 통합, 분리 등을 수행하는 데이터 모델링 기법이다. 데이터 무결성이 깨질 수도 있지만, 데이터를 조회할 때 디스크 I/O의 양이 많거나, 경로가 복잡하여 조.. 더보기
[ SQLD ] 성능 데이터 모델링 - 정규화 성능 데이터 모델링 성능 데이터 모델링은 DB의 성능 향상 목적으로 설계 단계의 데이터 모델링 때부터 정규화와 반정규화, 테이블 통합, 테이블 분할, 조인, 기본키 및 외래키 등의 여러 성능과 관련된 것들이 데이터 모델링에 반영되도록 하는 것이다. 고려 사항 먼저 데이터 모델링을 할 때 정규화를 수행해야 한다. 여기서 정규화란 이상현상이 있는 릴레이션을 분해해 이상현상을 제거하는 과정이다. 두 번째로 DB 용량 산정을 수행한다. 그리고 DB에서 발생되는 트랜잭션의 유형을 파악한다. 네 번째로 용량과 트랜잭션의 유형에 따라 반정규화를 수행한다. 그 다음 이력 모델의 조정, 기본키와 외래키의 조정, 슈퍼 타입과 서브 타입의 조정 등을 수행한다. 마지막으로 성능 관점에서 데이터 모델을 검증한다. [ 정보처리기.. 더보기
[ SQLD ] 데이터 모델링 - Identifier 식별자 식별자(Identifier)는 여러 개의 instance 집합인 Entity를 각기 구분할 수 있는 논리적인 이름이다. 식별자 특징 구분 내용 유일성 주식별자를 사용해 엔터티에 속해 있는 인스턴스들을 유일하게 구분해야 함 최소성 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야 함 불변성 주식별자가 특정 엔터티에 지정되면, 그 식별자의 값은 변하지 않아야 함 존재성 주식별자 지정되면, 반드시 데이터 값이 존재해야 함 식별자 분류 구분 식별자 내용 대표성 여부 주식별자 엔터티 내 각 행을 구분할 수 있는 구분자, 다른 엔터티와의 참조 관계 연결 보조 식별자 주식별자에 비해 대표성이 없어 참조관계 연결 불가 자가 생성 여부 내부 식별자 엔터티 내부에서 자체적으로 만들어지는 식별자 .. 더보기
[ SQLD ] 데이터 모델링 - Attribute Attribute 속성(Attribute)이란 업무상 필요한 인스턴스에서 관리코자 하는 의미상 더 이상 분리되지 않는 최소 단위의 데이터이다. 속성은 주된 식별자에 함수적 종속성을 가지는 정규화 과정 중 하나인 도메인 무결성이 이행되어야 하며, 하나의 속성에는 하나의 속성값(value)만 가진다. 속성의 분류 기본 속성(Basic Attribute)은 업무 분석을 통해 정의한 속성이고, 설계 속성(Designed Attribute)은 기존 업무상 존재하지 않지만 설계 도중 도출해낸 속성이며 파생 속성(Derived Attribute)은 다른 속성으로부터 적용된 속성값을 말한다. 도메인 도메인(Domain)이란 각 Attribute가 가질 수 있는 값의 범위를 정의하며, Attribute는 도메인 외의 값.. 더보기
[ SQLD ] 데이터 모델링 데이터 모델링 모델링 모델링(Modeling)이란 복잡한 현실세계를 단순화하여 표현하는 것을 말한다. 즉, 현실세계에 관한 것들이 추상화라는 방식을 통해 반영되는 것이다. 모델링 특징 추상화는 현실세계를 일정한 형식에 맞춰 표현하는 것이다. 단순화는 복잡한 현실세계를 약속된 규약으로써 제한된 표기법 혹은 특정 언어로 표현하는 것이다. 명확화는 어느 누구나 이해할 수 있도록 대상에 대한 현상을 정확하게 기술하는 것이다. 모델링의 세 가지 관점 데이터 관점은 데이터 간의 관계가 무엇인가에 대해 모델링하는 방법이다. 프로세스 관점은 실제로 무엇을 해야하는지에 관해 모델링하는 방법이다. 상관 관점은 업무가 처리하는 일의 방법에 따라 데이터는 어떻게 영향을 주고받는지 모델링하는 방법이다. 데이터 모델링 데이터 모.. 더보기
[ 정보처리기사 ] 빌드 자동화 도구 빌드 자동화 도구 Make Make는 유닉스 계열 운영체제에서 주로 사용되는 프로그램 빌드 도구이다. 파일 간의 종속 관계를 파악해 기술 파일(Makefile)에 적힌 내용을 컴파일러가 순차적으로 실행하게 한다. Ant Ant는 Java 기반의 빌드 도구로 다른 빌드 도구보다 역사가 오래 되었다. 개발자가 원하는 형태로 개발을 할 수 있는 유연성을 갖추고 있으며, XML 기반의 빌드스크립트로 개발을 진행한다. 그러나 스크립트의 재사용이 어려우며 Remote Repository를 가져올 수 없다는 단점을 지니고 있다. Maven Maven은 프로젝트에 필요한 모든 의존성(Dependency)을 리스트 형태로 Maven에게 알려 관리할수 있도록 돕는 방식이다. 필요한 라이브러리를 특정 파일(pom.xml)에.. 더보기
[ 정보처리기사 ] 버전 관리 도구 버전 관리 도구 CVS CVS는 중앙에 위치한 Repository에 파일을 저장하고, 인가된 모든 사용자가 파일에 접근할 수 있도록 하며 파일의 히스토리를 보존하기 때문에 과거 이력을 확인할 수 있다. Commit 중 오류가 발생하면 롤백되지 않고, 다른 개발자가 작업 중인 파일에 덮어쓰기가 방지된다. 그러나 상대적으로 속도가 느린 편이며, 등록된 파일이나 디렉터리의 변동이 불편하다는 단점이 있다. SVN SVN은 CVS의 단점을 보완하기 위 해 만들어졌다. 최초 1회에 한해 파일 원본을 저장하고, 그 이후에는 실제 파일이 아닌 원본과 차이점을 저장하는 방식이다. 언제든지 원하는 시점으로 복구가 가능하며, Commit 실패 시 Rollback이 가능하다. Trunk, Branches, Tags의 폴더로 .. 더보기
[ 정보처리기사 ] 소프트웨어 아키텍처 소프트웨어 아키텍처 품질 속성 정확성(Correctness)은 사용자가 요구한 기능을 정확히 수행해야함을 의미한다. 신뢰성(Reliability)은 요구한 기능이 오차나 오류가 없이 동작해야한다는 것을 말한다. 효율성(Efficiency)은 기능이 수행되면서 자원(CPU, Memory)을 적절히 사용해야함을 말한다. 무결성(Integrity)이란 자료는 인가된 사용자만 변경할 수 있도록 한다는 것을 의미한다. 사용 용이성(Usability)은 쉽게 배우고 사용할 수 있는 것이다. 유지보수성(Maintainability)은 오류 수정 및 변경이 용이해야함을 말한다. 유연성(Flexibility)은 새로운 요구사항을 쉽게 적용할 수 있는 것을 의미한다. 시험 용이성(Testability)이란 테스트를 하는 .. 더보기

300x250
반응형
loading