분류 전체보기 23

SQLD(8일차)

[2] 인덱스 특성을 고려한 PK/FK 데이터베이스 성능향상 1. PK/FK 칼럼 순서와 성능 개요 * 테이블에 발생되는 트랜잭션의 조회 패턴에 따라 PK/FK 칼럼의 순서를 조정해야 한다. - 용어 정리 인덱스 : 데이터를 조회할 때 가장 효과적으로 처리될 수 있도록 접근 경로를 제공하는 오브젝트 DDL : 데이터베이스를 정의하는 언어로 데이터를 생성하거나 삭제, 수정 등의 역할을 하는 것을 나타낸다. ex. CREATE, DROP, ALTER - 성능을 고려한 데이터베이스 설계가 이루어지도록 설계 단계 말에 PK/FK 칼럼의 순서를 조정할 필요가 있다. - PK는 해당 테이블의 데이터를 접근할 때 가장 빈번하게 사용되는 유일한 인덱스(Unique Index)를 모두 자동 생성한다. 2. PK칼럼의 순..

SQLD 2023.09.03

SQLD(7일차)

[2] 한 테이블에 많은 수의 칼럼을 가지고 있는 경우 칼럼 수가 많은 테이블에서 데이터 처리를 하게 되면 디스크 I/O의 양이 증가하여 성능이 저하된다. => 칼럼 수가 많은 테이블에 대해서는 트랜잭션이 발생될 때 어떤 칼럼에 대해 집중적으로 발생하는지 분석하여 테이블을 분리해주면, 디스크에 적은 칼럼이 저장되므로 로우 체이닝과 로우 마이그레이션이 많이 줄어들고 따라서, 디스크 I/O의 양이 감소하여 성능이 개선된다. [3] 대량 데이터 저장 및 처리로 인한 성능 데이터의 양이 너무 많으면 서버 사양이 훌륭하고 인덱스를 잘 생성한다고 해도 SQL문장의 성능이 떨어지게 된다. 그래서 논리적으로는 하나의 테이블로 보면서 물리적으로는 여러 개의 테이블 공간에 분리하여 저장할 수 있는 파티셔닝을 적용해야 한다..

SQLD 2023.08.31

SQLD(6일차)

[2] 반정규화된 테이블의 성능저하 사례1 - 용어 정리 조인 : 한 데이터베이스 내의 여러 테이블의 레코드를 조합하여 하나의 열로 표현한 것이다. PK(Primary Key) : 중복될 수 없는 유일한 단일값(Unique)을 가지며, 값이 비어있지(Not Null) 않아야 한다. Unique Index : 인덱스가 걸려있는 컬럼에 중복될 수 없는 유일한 값만을 보장하며, 인덱스가 걸려있는 컬럼에 Null 값을 입력하는 것이 가능하다. 테이블 당 PK는 하나이고, UNIQUE INDEX는 여러 개를 생성하는 것이 가능하다. (PK 컬럼에 인덱스가 생성되어 있지 않은 경우, PK 생성시 자동으로 UNIQUE INDEX가 생성된다.) [3] 반정규화된 테이블의 성능저하 사례2 - 용어 정리 DISTINCT ..

SQLD 2023.08.30

SQLD(5일차)

5. 비식별자 관계로만 설정할 경우의 문제점 - 일반적으로 엔터티에는 중요한 기준 속성이 있는데, 기준 속성은 부모엔터티에 있는 PK 속성으로부터 상속되어 자식엔터티에 존재한다. 데이터 모델링을 전개할 때 각 엔터티 간의 관계를 비식별자 관계로 설정하면 이러한 유형의 속성이 자식엔터티로 상속되지 않아, 자식엔터티에서 데이터를 처리할 때 쓸데없이 부모엔터티까지 찾아가야 하는 경우가 발생된다. 그렇기 때문에 SQL구문에 많은 조인이 걸리게 되며, 복잡성이 증가하고 성능이 저하된다. 6. 식별자 관계와 비식별자 관계 모델링 두 가지 관계에 대해서 일정한 규칙을 가지고 데이터 모델링을 한다면 효과적인 데이터 모델을 만들어 내는데 유용하게 활용할 수 있을 것이다. 1) 비식별자관계 선택 프로세스 기본적으로 식별자..

SQLD 2023.08.29

SQLD(4일차)

[4] 엔터티의 분류 1. 유무형에 따른 분류 1) 유형엔터티(Tangible Entity)는 물리적인 형태가 있고 안정적이며 지속적으로 활용되는 엔터티이다. ex. 사원, 물품, 강사 2) 개념엔터티(Conceptual Entity)는 물리적인 형태는 존재하지 않고 관리해야할 개념적 정보를 가지는 엔터티이다. ex. 조직, 보험상품 3) 사건 엔터티(Event Entity)는 업무를 수행함에 따라 발생되는 비교적 발생량이 많고 각종 통계자료에 이용되는 엔터티이다. ex. 주문, 청구, 미납 2. 발생시점에 따른 분류 1) 기본엔터티는 원래 업무에 존재하는 정보로써 다른 엔터티와 관계에 의해 생성되지 않으며 독립적으로 생성하고 자신은 타 엔터티의 부모 역할을 한다. 다른 엔터티로부터 주식별자를 상속받지 ..

SQLD 2023.08.28