SQL

    [SQLD] 데이터 모델과 성능 - Ⅰ성능 데이터 모델링의 정의

    ■ 성능 데이터 모델링의 정의 ​ DB 성능향상을 목적으로 설계단계의 데이터 모델링 때부터 정규화, 반정규화, 테이블 통합 및 분할, 조인구조, PK, FK 등 여러가지 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것 (데이터 베이스 성능을 고려하여 데이터 모델링을 수행하는 것) ​ 성능이 저하되는 모델의 경우 크게 세가지의 경우를 고려하여 그 성능을 향상시킬 수 있다. - 데이터 모델 구조에 의해 성능 저하 - 데이터가 대용량이 됨으로 인해 불가피하게 성능 저하 - 인덱스 특성을 충분히 고려하지 않고 인덱스를 생성함으로 인해 성능 저하 ​ ■ 성능 데이터 모델링 수행 시점 - 빠를 수록 좋다 (분석/설계 단계(초기 단계)에서 성능 모델링 수행 -> 재업무 비용 최소화) IF 대충 설계 ..

    [SQLD] 데이터 모델링의 이해 - Ⅴ 식별자 (identifier)

    ■ 식별자 하나의 엔터티에 구성되어 있는 여러 개의 속성 중에 엔터티를 대표할 수 있는 속성 하나의 엔터티는 반드시 하나의 유일한 식별자가 존재해야 한다. ■ 식별자 특징 ★ 주식별자의 특징 유일성 주식별자에 의해 엔터티내에 모든 인스턴스들을 유일하게 구분함 사원번호가 주식별자가 모든 직원들에 대해 개인별로 고유하게 부여됨 최소성 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되어야함 사원번호만으로도 고유한 구조인데 사원분류코드 + 사원번호로 식별자가 구성된다면, 부 적절한 주식별자 구조임 불변성 주식별자가 한 번 특정 엔터티에 지정되면 그 식별자의 값은 변하지 않아야 함 사원번호의 값이 변한다는 의미는 이전기록이 말소되고 새로운 기록이 발생되는 개념임 존재성 주식별자가 지정되면 반드시 ..

    [SQLD] 데이터 모델링의 이해 - Ⅳ 관계 (Relationship)

    ■ 관계 엔터티의 인스턴스 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태 ■ 관계의 페어링 페어링 - 엔터티 내 인스턴스 간의 개별적 연관성 페어링의 집합 -> 관계 최초의 ERD(Peter Chen 모델)에서 관계는 속성을 가질 수 있었으나, 최근 ERD(IE 모델)에서 관계는 속성을 갖지 않음 ■ 관계의 분류 존재에 따른 분류 - 엔터티 간의 상태를 나타낸다. - UML에서 연관관계 : 실선으로 표현되고 소스코드에서 멤버변수로 선언 행위에 의한 관계 - 엔터티와 엔터티 사이의 행위 - UML에서 의존관계 : 점선으로 표현되고 행위를 나타내는 코드인 Operation(Method)에서 파라미터 등으로 이용 ERD에서는 존재적 관계와 행위에 의한 관계를 구분하지 않..

    [SQLD] 데이터 모델링의 이해 - Ⅲ 속성 (Attribute)

    ■ 속성의 개념 - 사물의 특징 또는 본질적인 성질 - 엔터티를 설명하며 인스턴스의 구성요소 - 업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위 SQLD 자격검정 실전문제 제 1장 - 14번 ■ 속성의 특징 - 엔터티에 대한 자세하고 구체적인 정보를 나타냄 - 해당 업무에서 필요하고 관리하고자 하는 정보이어야 함 (예, 강사의 교재이름) - 모든 속성은 주식별자에 함수적 종속성을 가져야 함 - 하나의 속성에는 한 개의 값만을 가짐 (하나의 속성에 여러 개의 값이 있는 다중값일 경우 별도의 엔터티를 이용하여 분리) 엔터티, 인스턴스, 속성, 속성값에 대한 관계 - 한 개의 엔터티는 두 개 이상의 인스턴스의 집합이어야 한다. - 한 개의 엔터티는 두 개 이상..