Search

#021 #홍쌤의 데이터랩 정리

링크
모델링의 특징
단순화
추상화
명확화
데이터 모델링의 유의점 (피해야할 요소)
중복
비유연성
비일관성
데이터 모델링 3가지 요소
대상
속성
관계
데이터 모델링의 3단계
개념적 모델링
추상화 수준이 높음
핵심 엔터티를 추출하는 단계 → ERD
논리적 모델링
개념적 모델링의 결과를 토대로 세부속성, 식별자, 관계 표현
물리적 모델링
데이터 정규화 수행
데이터 모델의 표기법 (ERD: Entity Relationship Diagram)
엔터티와 엔티티 간의 관계를 시각적으로 표현한 다이어그램
ERD 작성 절차 (6단계
엔티티 도출후 그림
배치
관계
관계명 서술
관계의 참여도 기술
관계의 필수 여부 확인
엔터티의 개념
현실 세계에서 독립적으로 식별 가능한 객체나 사물을 나타낸다.
instance들로 이루어진 집합
엔티티와 속성 인스턴스 등의 관계
엔터티의 특징
유일한 식별자에 의해 식별이 가능하다
인스턴스의 집합
업무 프로세스에 의해 이용
다른 엔터티와 최소 1개 이상의 관계를 가지고 있어야 한다.
엔터티의 분류
유형
물리적 형태가 있음
사원, 물품
개념
물리적인 형태가 없음
조직, 보험상품 등
사건
업무를 수행에 따라 발생하는 엔티티
주문, 청구, 미납
발생시점
기본엔터티
그 업무에 원래 존재하는 정보
고유한 주식별자를 가진다.
사원, 부서, 고객, 상품 등
중심엔티티
기본 엔티티로부터 발생되고 파생되는 것
계약, 사고, 청구, 주문, 매출
행위엔티티
2개 이상의 부모 엔ㅌ어티로부터 발생
주문 (고객과 상품이 필요)
엔티티의 명명
단수 명사 사용
유일하게 이름 부여
엔티티와 인스턴스 표기법
엔티티는 사각형
엔티티에 대한 표기법
속성의 개념
업무에서 필요로 하는 고유한 성질, 특징을 의미 → 컬럼으로 표현할 수 있는 단위
엔티티, 인스턴스, 속성, 속성값의 관계
한개 엔티티는 2개 이상의 인스턴스의 집합
한개 엔티티는 2개 이상의 속성을 갖는다
한개의 속성은 1개의 속성값을 갖는다.
속성의 특징
정해진 주식별자에 함수적 종속성을 가져야 한다.
하나의 속성이 하나의 값을 갖고있는 것 → 원자성
함수적 종속성
어떤 값에 대해 다른 속성도 유일하게 결정된다면, 함수적으로 종속되었다라고 한다.
속성의 분류
기본속성
업무로 부터 추출된 모든 속성
원금, 예치기간
설계속성
상품코드, 지점코드
파생속성
일반적으로 계산된 값들이 해당
함계평균 이자 등등
엔티티 구성방식에 따른 분류
기본기 pk
외래키 fk
일반 속성
분해 여부에 따른 속성
단일 속성
하나의 의미로 구성
복합 속성
여러개의 의미로 구성
다중값 속성
속성에 여러 개의 값을 가질 수 있는 경우
속성의 명명규칙
서술식 안됨
유일한 명칭
도메인
각 속성이 가질 수 있는 값의 범위
관계의 개념
관계는 엔티티간의 연관성을 나타낸 개념
엔티티를 어떻게 정의하느냐에 따라 변경하기도 함
관계의 종류
존재적 관계
행위적 관계
관계의 구성
관계명
차수
선택성
관계의 차수
한 엔티티의 레코드가 다른 엔티티의 레코드와 어떻게 연결되는지를 나타내는 표현
1대1 관계
선택적 1대1 관계
한쪽이 없어도 되는 관계
1대 n의 관계
고객은 여러 개의 계좌를 가질 수 있음
m대 n의 관계
연결 엔티티를 추가해서 1대n관계로 해소할 필요가 있음
관계의 페어링
엔티티 안에 인스턴스가 개별적으로 관계를 가지는 것
관계와 차수, 페어링의 차이
학생과 강의 엔티티는 관계를 가짐
인스턴스의 관계로 페어링
차수는 하나의 엔티티와 다른 엔티티간의 레코드간의 연결
식별자 개념
엔티티를 대표할 수 있는 속성을 나타냄
유일한 식별자가 존재해야함
논리 모델링에서 사용하는 용어, 물리 모델링에서는 키라고 표현
주식별자 특징
유일성
주식별자에 의해 모든 인스턴스를 유일하게 구분
최소성
주식별자를 구성하는 속성은 유일성을 만족하는 최소한의 속성으로 구성
불변성
주식별자가 한번 특정 엔티티에 지정되면 그 식별자의 값은 변하지 않아야 함
존재성
주식별자가 지정되면 반드시 값이 존재해야하며 null은 허용 안된다.
식별자 분류
대표성 여부에 따른 식별자 분류
주식별자
보조식별자
생성 여부에 따른 식별자의 종류
내부식별자
외부식별자
속성 수에 따른 식별자 종류
단일 식별자
복합 식별자
대체 여부에 따른 식별자의 종류
본질식별자
인조식별자
ie 표기법
barker표기법
주식별자 도출기준
자주 이용되는 속성을 주식별자
명칭이나 내역등과 같은 이름은 피함
속성의 수를 최대한 적게 구성
관계간 엔티티 구분
강한개체
독립적으로 존재
약한개체
독립적 x
식별관계 비식별관계
식별관계
서로 주식별자를 가지고 있느냐
한쪽에서 강한 식별자를 가지고 있느냐
다른 엔티티가 기본키의 하나로 공유하는 관계
실선으로 표시
비식별관계
기본키가 아닌 일반 속성으로 관계
ERD에서 점선으로 표시
정규화의 개념
엔티티를 분해하는 과정
중복을 제고하고 데이터 모델의 독립성을 확보하기 위함
논리 데이터 모델링 수행시점에 고려
1정규화에서 5정규화 까지 존재하는데, 3정규화 까지 수행
이상현상
정규화를 하지 않아서 발생하는 현상(삽입이상, 갱신이상, 삭제이상)
정규화 단계
1정규화
테이블 컬럼이 원자성을 갖도록 테이블을 분해하는 단계
한 속성에 배열이 들어가있으면 쪼개는 과정
제 2정규화
제 1정규화를 진행한 테이블에 대해 완전 함수 종속을 만들도록 테이블을 분해
완전함수 종속
기본키를 구성하는 컬럼이 다른 켤럼을 결정 짓는 상태
두개키가 다른 속성을 결정 짓지 못하는 것 → 완전함수종속을 위배했다.
이 속성들을 테이블로 쪼개는 과정
수강이력 ex
완전함수종속을 위반하는 것을 찾아 pk로 부터 분리하는 과정
제 3정규화
이행적 종속을 없애도록 테이블을 분리
이행적 종속이란
a가 b를 결정하고 b가 c를 결정하는 것
이행적 종속관계를 분리하는 과정
계좌번호 제 3정규화
반정규화의 개념
데이터베이스의 성능 향상을 위해서 데이터 중복을 허용하고 조인을 줄이는 데이터 베이스 성능향상 방법
수행케이스
활용성은 향상되지만, 수행 속도가 느려지는 경우
다량의 범위를 자주 처리해야하는 경우
관계의 개념
엔티티 인스턴스 사이의 논리적인 연관성
상속된 속성을 매핑키로 활용
예시
부서번호가 조인키
관계의 분류
존재관계
행위관계
조인의 의미
데이터의 중복을 피하기 위해 테이블은 정규화에 의해 분리된다.
테이블은 분리되면서 서로 관계를 맺게된다.
계층형 데이터 모델
상호 배타적 관계
둘중에 하나만 가능한 관계
트랜잭션이란
하나의 연속적인 업무 단위를 말함
서로 독립적으로 발생하면 안됨
부분 commit 불가
필수적 관계와 선택적 관계의 ERD
null의 특성
ie표기법에서는 null허용여부를 알 수 없음
barker표기법은 앞에 동그라미가 있다.
식별자 구분
본질 식별자
본질적으로 존재하는 업무에서 만들어진 식별자
인조 식별자
업무에는 필요가 없지만, 관리목적으로 생성한 식별자.
중복 데이터 발생 가능성이 있다.
불필요한 인덱스를 생성하게 된다.
인덱스는 dml처리시 index split현상으로 인해서 성능이 저하된다.