분류 전체보기 119

3-2 DDL

1. 데이터 유형 1) CHARACTER - s는 기본 길이 1바이트 - 최대 길이 Oracle 2000바이트, SQL Server 8000바이트 - 고정 길이를 갖고 있음. 2) VARCHAR - 가변 길이 문자열 정보 - Oracle은 VARCHAR2, SQL Server는 VARCHAR - s는 최소 길이 1바이트, 최대 길이 Oracle 4000바이트, SQL Server 8000바이트 - 할당된 변수값의 바이트만 적용(Limit 개념) 3) NUMERIC - 정수, 실수 등의 숫자 정보 - Oracle은 NUMBER, SQL Server는 10가지 이상의 숫자 타입 보유 4) DATETIME - 날짜와 시각 정보 - Oracle은 DATE, SQL Server는 DATETIME CHAR 유형 '..

3-1 관계형 데이터베이스

1. 데이터베이스: 특정 기업이나 조직 또는 개인이 필요에 의해 데이터를 일정한 형태로 저장해 놓은 것. DBMS: 많은 사용자들이 보다 효율적인 데이터의 관리 뿐만 아니라 데이터의 손상을 피하고 필요시 필요한 데이터를 복구하기 위한 강력한 기능의 소프트웨어 관계형 데이터베이스: 정규화를 통한 합리적인 테이블 모델링을 통해 이상현상을 제거하고 데이터 중복을 피할 수 있으며, 동시성 관리, 병행 제어를 통해 많은 사용자들이 동시에 데이터를 공유 및 조작할 수 있는 기능을 제공 2. SQL: 데이터베이스에서 데이터 정의, 데이터 조작, 데이터 제어를 하기 위해 사용하는 언어 - 관계형 데이터베이스에 대한 전담 접속(다른 언어는 관계형 데이터베이스에 접속 x) 용도로 사용. 데이터를 집합으로써 취급(RDB가 ..

2-6 분산 데이터베이스와 성능

여러 곳으로 분산되어 있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스 분산 데이터베이스의 투명성 - 분할 투명성(단편화): 하나의 논리적 Relation이 여러 단편으로 분할되어 각 단편의 사본이 여러 site에 저장 - 위치 투명성: 데이터 저장 장소 명시 불필요. 위치정보가 System Catalog에 유지되어야 함 - 지역사상 투명성: 지역 DBMS와 물리적 DB사이의 Mapping 보장. 각 지역시스템 이름과 무관한 이름 사용 가능 - 중복 투명성: DB객체가 여러 site에 중복인지 알 필요 X - 장애 투명성: 구성요소의 장애에 무관한 트랜잭션의 원자성 유지 - 병행 투명성: 다수 트랜잭션 동시 수행시 결과의 일관성 유지 분산 데이터베이스의 적용 기법 1) 테이블 ..

2-5 데이터베이스 구조와 성능

1. 슈퍼/서브타입 모델의 성능고려 방법 Extended ER모델(슈퍼/서브타입 데이터 모델): 공통의 부분을 슈퍼타입으로 모델링하고 별도는 서브엔터티로 표현 - 최근에 자주 쓰이는 모델링 방법 - 업무를 구성하는 데이터의 특징을 공통과 차이점의 특징을 고려하여 효과적으로 표현 가능 - 물리적인 데이터 모델로 변환을 할 때 선택의 폭을 넓힐 수 있는 장점 - 논리적인 데이터 모델에 이용 - 분석 단계에서 많이 사용 슈퍼/서브타입 모델 변환 방법 - 1:1 타입 - 슈퍼+서브 타입 - All in One 타입 -> 데이터의 양과 트랜잭션의 유형에 따라 테이블을 설계하지 않으면 슈퍼/서브 타입 변환 잘못하면 성능 저하된다. - 트랜잭션은 일괄 처리지만 테이블은 개별로 유지되어 Union 연산에 의해 성능 저..

2-4 대량 데이터에 따른 성능

1. 대량 데이터발생에 따른 테이블 분할 개요 아무리 설계가 잘 되어 있는 데이터 모델도 대량의 데이터가 하나의 테이블이나 하나의 하드웨어 공간에 저장되어 있으면 성능 저하를 피하기 힘들다. -> 그래서 트랜잭션이 분산 처리될 수 있도록 테이블 단위에서 분할의 방법을 적용할 필요가 있다. 또한 한 테이블에 많은 수의 컬럼이 존재하게 되면 데이터가 디스크의 여러 블록에 존재하므로 인해 디스크에서 데이터를 읽는 I/O 량이 많아지게 되어 성능이 저하된다. 인덱스 크기가 커질 경우 조희의 성능에는 영향을 미치는 정도가 작지만 데이터를 입력/수정/삭제하는 트랜잭션의 경우 인덱스의 특성상 일량이 증가하여 더 많이 성능의 저하를 유발하게 된다. 또한 데이터에 대한 범위 조회시 더 많은 I/O를 유발할 수 있게 되어..

2-3 반정규화와 성능

1. 반정규화를 통한 성능향상 전략 정규화된 엔터티, 속성, 관계에 대해 시스템의 성능향상과 개발과 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링의 기법 데이터 무결성 깨질 수 있는 위험이 있는데도 데이터를 중복하여 반정규화를 적용하는 이유는 데이터를 조회할 때 디스크 I/O량이 많거나, 경로가 너무 멀어서 발생하는 조인으로 인하거나, 칼럼 계산하여 읽을 때 성능 저하가 예상되는 경우 반정규화를 수행한다. 프로젝트 설계 단계에서 반정규화를 기술적으로 수행하지 않으면 - 성능이 저하된 데이터베이스가 생성될 수 있다. - 구축단계나 시험단계에서 반정규화를 적용할 때 수정에 따른 노력비용이 많이 들게 된다. 반정규화 적용 방법 1) 반정규화 대상조사 - 범위처리빈도수 조사 - 대량의 범..

2-2 정규화와 성능

정규화를 통한 성능 향상 전략 - 정규화를 수행하는 것은 데이터를 결정하는 결정자에 의해 함수적 종속을 가지고 있는 일반속성을 의존자로 하여 입력/수정/삭제 이상을 제거하는 것 -> 한 테이블의 데이터 용량이 최소화되는 효과 *정규화: 데이터의 일관성, 최소한의 데이터 중복, 최소한의 데이터 유연성을 위한 방법, 데이터를 분해하는 과정 (제1정규화(중복값 제거, 원자성 확보), 제2정규화(부분 함수 종속성 제거, PK 2개 이상일 때 종속되는 관계 분리), 제3정규화(이진적 함수 종속 관계, PK에 의존하지 않고 일반 컬럼에 의존하는 컬럼 제거), BCNF, 제4정규화, 제5정규화) *반정규화: 데이터의 중복을 허용하고 조인을 줄이는 데이터베이스 성능 향상 방법(조회 속도 향상 but 모델 유연성 저하)..

2-1 성능 데이터 모델링

1. 성능 데이터 모델링의 개요 데이터베이스 성능향상을 목적으로 설계단계의 데이터 모델링 때부터 정규화, 반정규화, 테이블 통합, 테이블분할, 조인구조, PK, FK 등 여러 가지 성능과 고나련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것으로 정의 3. 성능 데이터 모델링 고려사항 1) 데이터 모델링 시, 정규화 정확하게 수행 2) 데이터베이스 용량산정을 수행 -> 가장 좋은 방법이 엔터티에 대한 용량산정 3) 발생되는 트랜잭션의 유형 파악 -> CRUD 매트릭스를 보거나 시퀀스 다이어그램(객체지향 모델링 적용하면) 보면 유형 파악 용이 4) 용량과 트랜잭션 유형에 따라 반정규화 수행 -> 테이블, 속성, 관계에 대해 포괄적인 반정규화 방법을 적용 5) 이력모델의 조정, PK/FK 조정, 슈퍼타입..

7. 엔티티타입 도출 방법

엔티티타입 도출 방법 - 명사형 도출: 장표나 업무기술서 등에서 명사를 구분하여 이것을 엔티티타입 후보로 삼은 다음 일정한 기준에 의해 판단하는 방법. -> 초기에 도출할 때 가장 많이 사용. 도출 과정에서 주관이 개입되어 오류 범할 위험 존재. - 정규화 이용: 정규화를 하려면 우선 해당 업무에서 발생하는 데이터들을 장표의 표현 방법에 의해 나열. 그 다음 1차, 2차, 3차, BCNF, 4차, 5차 정규화 적용. -> 많은 데이터를 장표 기준에 맞추기까지 해서 배열하는 작업은 실제 프로젝트에서 거의 실현 불가능. - 엔티티타입 구분에 의한 4-STEP 데이터 모델링(구조 -> 업무 흐름 -> 기술적 모델링 -> 모델 검토): 기본 엔터티타입을 먼저 도출하여 모델링 툴에 나열, 중심 엔티티타입을 도출하..

1-5 식별자

식별자 - 엔터티내에서 인스턴스들을 구분할 수 있는 구분자 대표성 여부 - 주식별자,보조식별자 스스로 생성여부 - 내부식별자, 외부식별자 속성의 수 - 단일식별자, 복합식별자 대체여부 - 본질식별자, 인조식별자 - 유일성: 주식별자에 의해 엔터티내에 모든 인스턴스들을 유일하게 구분(사원번호 개인별로 고유하게 부여) - 최소성: 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수(사원번호만으로도 고유한데 사원분류코드+사원번호로 식별자 구성되면 부적절한 구조) - 불변성: 주식별자 한 번 지정되면 식별자의 값 변하면 안됨 - 존재성: 주식별자 지정되면 반드시 데이터 값 존재(null 값 안됨) 주식별자 도출 기준 - 해당 업무에서 자주 이용되는 속성을 주식별자로 지정 - 명칭, 내역 등과 같이 이름..