본문 바로가기

분류 전체보기

(140)
[SQLD자격증독학] 20. DDL 데이터 유형- 테이블에 특정 자료를 입력할 때 받아들일 공간을 자료의 유형별로 나누는 기준- 선언한 유형이 아닌 다른 종류의 데이터가 들어오려고 하면 데이터베이스는 에러를 발생 - CHARCTER(s)> 고정 길이 문자열 정보> s는 기본 길이 1바이트> s만큼 최대 길이를 갖고 고정 길이를 가지고 있으므로 할당된 변수 값이 길이가 s보다 작을 경우에는 그 차이 길이만큼 공간으로 채워짐- VARCHAR(s)> CHARACTER VARYING의 약자> 가변 길이 문자열 정보> s만큼 최대 길이를 갖지만 가변 길이로 조정되기 때문에 할당된 변수값의 바이트만 적용됨- NUMERIC> 정수, 실수 등 숫자 정보- DATETIME> 날짜와 시각 정보 -> CHAR 유형 : 'AA' = 'AA 'VARCHAR유형 ..
[SQLD자격증독학] 19. 관계형 데이터 베이스 파일시스템- 분산된 데이터 간의 정합성을 유지하는데 과다한 노력이 필요하게 되고 데이터의 정합성을 보장하기 힘들게 된다- 단일 사용자나 단일 어플리케이션이 파일 시스템을 사용하는 경우는 유용하게 사용 가능하다 DBMS(Database Management System)- 인증된 사용자만이 참조할 수 있도록 보안 기능을 제공- 다양한 제약조건을 이용하여 조건에 위배되는 데이터를 입력한다든지, 관계를 연결하는 중요 데이터를 삭제하는 것을 방지하여 데이터의 무결성(Integrity)을 보장 O- 시스템의 갑작스런 장애로부터 사용자가 입력, 수정, 삭제하던 데이터가 제대로 반영될 수 있도록 보장해주는 기능- 시스템 다운, 재해 등의 상황에서도 데이터를 회복/복구할 수 있는 기능을 제공 SQL(Structured ..
[SQLD자격증독학] 18. 분산 데이터베이스와 성능 분산 데이터베이스의 정의- 여러 곳으로 분산되어 있는 데이터베이스를 하나의 가상 시스템으로 사용할 수 있도록 한 데이터베이스- 논리적으로 동일한 시스템에 속하지만 , 컴퓨터 네트워크를 통해 물리적으로 분산되어 있는 데이터들의 모임. 물리적 Site 분산, 논리적으로 사용자 통합.공유 > 데이터베이스를 연결하는 빠른 네트워크 환경을 이용하여 데이터베이스를 여러 지역 여러 노드로 위치시켜 사용성/성능 등을 극대화 시킨 데이터베이스 분산 데이터베이스의 6가지 투명성 (Transparency)1. 분할 투명성 (단편화) : 하나의 논리적 Relation이 여러 단편으로 분할되어 각 단편의 사본이 여러 site에 저장2. 위치 투명성 : 사용하려는 데이터의 저장 장소 명시 불필요. 위치정보가 System Cata..
[SQLD자격증독학] 17. 데이터베이스 구조와 성능 Extended ER모델 = 슈퍼/서브타입 데이터 모델- 공통의 부분을 슈퍼타입으로 모델링하고 공통으로부터 상속받아 다른 엔터티와 차이가 있는 속성에 대해서는 별도의 서브엔터티로 구분하여 업무의 모습을 정확하게 표현하면서 물리적인 데이터 모델로 변환을 할 때 선택의 폭을 넓힐 수 있는 장점- 분석단계에서 많이 쓰이는 모델 - 슈퍼/서브타입을 아무런 기준없이 변환하는 것 자체가 성능이 저하될 수 있는 위험이 있음을 기억해야 한다 슈퍼/서브타입 데이터 모델의 변환- 데이터 보관주기에 따라 쉽게 삭제하는 기능은 제공 될 수 X 1. 트랜잭션은 항상 일괄로 처리하는데 테이블은 개벼로 유지되어 Union연산에 의해 성능이 저하될 수 있다2. 트랜잭션은 항상 서브타입 개별로 처리하는데 테이블은 하나로 통합되어 있어..
[SQLD자격증독학] 16. 대량 데이터에 따른 성능 - 대량의 데이터가 존재하는 테이블에 많은 트랜잭션이 발생하여 성능이 저하되는 테이블 구조에 대해 수평/수직 분할 설계를 통해 성능저하를 예방할 수 있음 대량의 데이터가 하나의 테이블에 존재하게 되면?- 인덱스를 생성할 때 인덱스의 크기(용량)가 커지게 됨> 인덱스를 찾아가는 단계가 깊어지게 됨> 조회의 성능에도 영향을 미침> 데이터를 입력/수정/삭제하는 트랜젝션의 경우 인덱스의 특성상 일량이 증가하여 더 많이 성능의 저하를 유발 칼럼이 많아지게 되면- 물리적인 디스크에 여러 블록에 데이터가 저장되게 됨> 데이터를 처리할 때 여러 블록에서 데이터를 I/O해야 함> SQL문장의 성능이 저하될 수 있는 특징을 가지게 됨- 로우체이닝과 로우마이그레이션이 많아지게 되어 성능이 저하됨> 로우체이닝 (Row Cha..
[SQLD자격증독학] 15. 반정규화와 성능 비정규화- 아예 정규화를 수행하지 않은 모델 반정규화- 성능을 향상시키기 위해 정규화된 데이터 모델에서 중복, 통합, 분리 등을 수행하는 모든 과정을 의미- 정규화만을 수행하면?> 엔터티의 갯수가 증가하고 관계가 많아져 일부 여러 개의 조인이 걸려야만 데이터를 가져오는 경우가 있다- 반드시 데이터 무결성을 보장할 수 있는 방법을 고려한 이후에 반정규화를 적용하도록 해야한다. 반정규화 절차1. 반정규화 대상조사2. 다른 방법유도 검토- 지나치게 많은 조인 > 뷰(VIEW)를 사용하여 해결 가능- 대량의 데이터처리나 부분처리 > 클러스터링을 적용하거나 인덱스를 조정클러스터링? 대량의 데이터를 특정 클러스터링 팩트에 의해 저장방식을 다르게 하는 방법입력/수정/삭제하는 경우 X, 조회가 대부분인 경우 O- 대량..
[SQLD자격증독학] 14. 정규화와 성능 정규화를 하는 것- 데이터에 대한 중복성을 제거- 성능향상 > 데이터를 결정하는 결정자에 의해 함수적 종속을 가지고 있는 일반속성을 의존자로 하여 입력/수정/삭제 이상을 제거하는 것> 한 테이블의 데이터 용량이 최소화되는 효과 함수적 종속성 (Functional Dependency)- 데이터들이 어떤 기준값에 의해 종속되는 현상을 지칭하는 것- 기준값 : 결정자(Determinant), 종속되는 값 : 종속자(Dependent) > 기본적으로 데이터는 속성간의 함수종속성에 근거하여 정규화되어야 한다.
[SQLD자격증독학] 13. 성능 데이터 모델링 개요 성능이 저하되는 데이터 모델의 경우- 데이터 모델 구조에 의해- 데이터가 대용량이 됨으로 인해 불가피 하게- 인덱스 특성을 충분히 고려하지 않고 인덱스 생성함으로 인해 성능 데이터 모델링- 데이터베이스 성능향상을 목적으로 설계단계의 데이터 모델링때부터 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것 성능 데이터 모델링 고려사항- 데이터 모델링을 할 때 정규화를 정확하게 수행- 데이터베이스 용량산정을 수행- 데이터베이스에 발생되는 트랜잭션의 유형을 파악- 용량과 트랜잭션의 유형에 따라 반정규화를 수행- 이력모델의 조정, PK/FK조정, 슈퍼타입/서브타입 조정 등을 수행- 성능관점에서 데이터 모델을 검증