728x90
* 본 요약 개념이 수험생분들에게 도움이 되었으면 좋겠습니다 !
1. 데이터 모델링 이해
개념
- 현실 세계를 데이터베이스에 추상적, 구조적으로 표현하는 과정
- 데이터베이스의 저장, 조작, 관리 방법 정의
특징
- 단순화: 핵심 요소 집중, 복잡성 제거
- 추상화: 현실을 일정 양식으로 표현
- 명확화: 정확한 현상 기술로 의사소통 명료화
관점
- 데이터 관점
- 프로세스 관점
- 데이터와 프로세스 결합 관점
유의점
- 중복 최소화
- 비유연성 주의
- 비일관성 방지
데이터 모델링 요소
- 대상(Entity)
- 속성(Attribute)
- 관계(Relationship)
모델링 단계
- 개념적 모델링 (전사적, 추상화 수준 높음)
- 논리적 모델링 (정규화, 데이터 재사용 가능)
- 물리적 모델링 (성능 고려, 가장 구체적)
스키마의 3단계
- 외부스키마 (사용자 관점)
- 개념스키마 (통합 논리적 구조)
- 내부스키마 (물리적 저장 구조)
2. 엔터티(Entity)
개념
- 업무상 관리 대상 객체의 집합
- 엔터티: 학생, 속성: 학번, 이름 등, 인스턴스: 구체적 데이터
특징
- 유일한 식별자 존재
- 업무상 필요 정보만 관리
- 최소 2개 이상의 인스턴스 존재
- 반드시 속성 존재
- 업무 프로세스에서 활용
- 다른 엔터티와 최소 하나의 관계 성립
엔터티의 분류
1) 유형과 무형에 따른 분류
- 유형 엔터티: 물리적 형태 존재 (사원, 물품 등)
- 개념 엔터티: 관리해야 할 개념적 정보 (조직, 보험상품 등)
- 사건 엔터티: 업무 수행 중 발생 (주문, 청구 등)
2) 발생 시점에 따른 분류
- 기본 엔터티: 독립적 존재, 다른 엔터티에서 파생되지 않음 (사원, 고객 등)
- 중심 엔터티: 기본 엔터티에서 발생, 핵심적 역할 수행 (계약, 주문 등)
- 행위 엔터티: 2개 이상 부모 엔터티에서 발생 (주문이력, 이력 등)
3. 속성(Attribute)
개념
- 최소 단위 데이터
- 엔터티의 자세한 정보 표현
특징
- 업무상 필수 정보
- 주식별자에 함수적 종속성
- 단일 값만 저장 (원자성)
속성의 분류
1) 속성의 특성에 따른 분류
- 기본 속성
- 설계 속성
- 파생 속성
2) 엔터티 구성방식에 따른 분류
- PK(Primary Key)
- FK(Foreign Key)
- 일반 속성
3) 분해 여부에 따른 분류
- 단일 속성
- 복합 속성
- 다중값 속성
4. 관계(Relationship)
개념
- 엔터티 간 연관성
- 논리적 연관성 기반 정의
관계의 종류
- 존재적 관계 (부서 삭제시 사원 존재 영향)
- 행위적 관계
관계의 구성 요소
- 관계명
- 차수 (1:1, 1:N, N:M)
- 선택성
관계 차수
- 1대1 관계
- 1대N 관계
- N대M 관계 (연결엔터티로 해소)
관계 페어링
- 인스턴스 간 개별 관계 의미
관계와 조인의 이해
- INNER JOIN: 공통된 값만 결합
- OUTER JOIN: 공통된 값 외에도 NULL로 채워 결합 (LEFT, RIGHT, FULL)
5. 식별자
개념
- 유일하게 엔터티 식별하는 속성
특징
- 유일성, 최소성, 불변성, 존재성
식별자의 분류
1) 대표성 여부에 따른 분류
- 주식별자(대표성)
- 보조식별자
2) 생성 여부에 따른 분류
- 내부식별자
- 외부식별자
3) 속성 수에 따른 분류
- 단일식별자
- 복합식별자
4) 대체 여부에 따른 분류
- 본질식별자: 업무상 자연스럽게 발생 (주민번호 등)
- 인조식별자: 인위적으로 생성 (일련번호 등)
6. 정규화(Normalization)
개념
- 데이터 중복 최소화, 일관성 유지 위한 데이터베이스 설계 방법
이상현상
- 삽입 이상
- 갱신 이상
- 삭제 이상
정규화 단계
- 1정규화: 원자성 유지
- 2정규화: 부분 함수 종속 제거
- 3정규화: 이행 함수 종속성 제거
7. 트랜잭션의 이해
- 원자성(Atomicity): 전체 성공 또는 전체 실패
- 일관성(Consistency): 무결성 유지
- 독립성(Isolation): 동시 실행 시 다른 트랜잭션에 영향 미치지 않음
- 지속성(Durability): 완료 후 영구 저장
8. NULL 속성의 이해
- 값이 정해지지 않은 상태
- 모든 값과의 비교는 UNKNOWN 반환 (IS NULL만 TRUE 반환)
- 0, 공백과 다른 개념
주요 예상 문제 분석
- 모델링 종류 구분 (개념적, 논리적, 물리적)
- 엔터티와 속성, 식별자 특징 이해 및 구분
- ERD 읽고 관계 분석 (1:1, 1:N, N:M)
- SQL 함수 및 쿼리 분석 (NULL 처리, 함수 결과 등)
- 계층형 질의 및 조인문 구문 이해 필요
728x90
'DataScience > SQL' 카테고리의 다른 글
[프로그래머스] 카테고리 별 도서 판매량 집계하기 - SQL (7) | 2024.11.04 |
---|---|
[PostgreSQL] SQL에서 Join 연산 개념 및 문법 정리 (INNER, RIGHT, LEFT, FULL, CROSS, SELF Join) (1) | 2024.10.22 |
[PostgreSQL] ALTER TABLE 문법 총정리 - 컬럼 추가, 이름 변경, 삭제 등 (0) | 2024.10.18 |
pymysql 오류 valueerror: unsupported format character (0) | 2024.09.27 |
[프로그래머스] MySQL 3월에 태어난 여성 회원 목록 출력하기 (0) | 2024.09.26 |