[sqld 1과목 요약]
- 데이터모델링의 특징: 추상화/ 단순화/ 명확화
- 데이터모델링의 단계: 개념적 모델링(1차, 추상성 가장 큼) , 논리적 모델링(2차, 세부적 속성), 물리적 모델링(3차, 실제 서버 내용까지 고려한 설계)
- ERD 작성 순서 : 엔터티 도출 > 엔터티 배치 > 엔터티 관계 설정 > 엔터티 기술 > 관계 참여도 기술 > 관계 필수 여부 기술
- 데이터베이스 3단계 스키마: 외부 스키마(응용프로그래밍이 접근), 개념 스키마(일반적인 스키마를 의미), 내부 스키마(물리적 저장)
-엔터티 : 논리적 모델링을 할 때 테이블을 의미함(데이터의 집합)
-엔터티의 분류:
[유형에 따른 분류] 유형엔터티(가장 기본적인 엔터티), 개념엔터티(개념적으로 존재), 사건엔터티(비지니스 프로세스에 따라 발생)
[발생 시점에 따른 분류] 기본엔터티(유형엔터티와 비슷),중심엔터티(개념 엔터티와 비슷),행위엔터티(사건엔터티와 같은 맥락으로 간주)
- 속성(Attribute) : 엔터티가 가지는 항목
- 속성 특징: 하나의 값만 가져야 함, 주식별자에게 함수적 종속
-속성 종류 : 기본속성 / 설계속성 / 파생속성
-관계(Relationship) : 엔터티간 논리적인 연관성
-관계의 분류 : 존재에 의한 관계/ 행위에 의한 관계
-식별자 : 엔터티를 대표하는 속성 (하나의 엔터티는 하나의 유일한 식별자를 가지고 있어야 함)
-키의 종류: 기본키/후보키/슈퍼키/대체키/외래키
-정규화: 데이터의 일관성, 최소한의 중복, 최대한의 데이터 유연성을 기르기 위해 사용
-제1정규화: 기본키 설정
-제2정규화: 기본키 2개이상일 때, 2개 분리하여 테이블 생성(부분함수 종속성 제거)
-제3정규화: 기본키를 제외한 컬럼간 종속성 제거(이행함수 종속성 제거)
-정규화의 주의사항: 모든 정규화는 이전 정규화 만족/ 정규화시 join발생은 성능저하 발생 가능
-반정규화: 정규화로 쪼갠 것들 합치기 or 다른것 만들기
-반정규화 특징: 유연성 낮아짐, 조회속도는 향상됨
-반정규화 하는 이유: 성능저하 일어난 것 회복 가능