Overview
- 데이터베이스 소개, 엔터티, 속성
- 관계 (Relationship)
- 식별자, 데이터 모델
- 정규화, 관계와 조인
- 모델이 표현하는 트랜잭션, null, 본질 vs 인조
- 관게형 데이터베이스 개요
- 함수, WHERE
- GROUP BY, HAVING, ORDER BY
- JOIN
- 서브쿼리
- 집합 연산자, 그룹 함수, 윈도우 함수
- TOP-N, 계층 쿼리
- PIVOT과 UNPIVOT, 정규 표현식
- DML, TCL
- DDL, DCL
데이터베이스 소개, 엔터티, 속성
데이터베이스(Database)
: 여러 사람이 공유하여 사용할 목적으로 체계화해 통합, 관리하는 데이터의 집합
엔터티(ENTITY, 개체)
: 업무에 필요한 정보를 저장/관리하기 위한 집합적인 명사 개념
인스턴스(INSTANCE)
: 엔터티 집합 내에 존재하는 개별적인 대상
엔터티의 특징
1. 반드시 업무에서 필요한 대상이고 업무에 사용될 것
2. 유일한 식별자로 식별이 가능할 것
3. 인스턴스가 2개 이상일 것
4. 속성이 반드시 2개 이상 존재할 것
5. 관계가 하나 이상 존재할 것 (단, 코드성, 통계성은 생략 가능)
엔터티의 분류 - 유무형에 따라 분류
분류 | 정의 | 예시 |
유형 | 물리적 형태가 있는 엔터티 | 직원, 주류, 강사, 고객 |
개념 | 물리적 형태가 없는 엔터티 | 부서, 과목, 계급 |
사건 | 업무 수행 중에 발생하는 엔터티 | 강의, 매출, 주문, 상담 |
엔터티의 분류 - 발생시점에 따라 분류
분류 | 정의 | 예시 |
기본/키 | 본래 업무에 존재하는 정보 독립 생성 가능, 주식별자 보유 |
직원, 고객, 상품 |
중심 | 기본 엔터티로부터 발생 업무에 있어 중심 역할 |
주문, 매출, 계약 |
행위 | 2개 이상 엔터티로부터 발생 | 주문이력 |
엔터티의 명명(naming) 규칙
1. 가능한 현업 용어를 쓴다.
2. 가능하면 약어를 사용하지 않는다.
3. 단수 명사를 사용한다.
4. 엔터티 이름은 유일해야 한다.
5. 엔터티 생성의미대로 이름을 부여한다. ex) 연락처목록 -> 직원연락처목록? 고객연락처목록?
속성(ATTRIBUTE)
: 업무상 관리하기 위해 의미적으로 더는 분리되지 않는 최소의 데이터 단위
- 속성은 엔터티가 가지는 공통적인 특징을 표현
엔터티, 인스턴스, 속성의 관계
1. 하나의 엔터티는 2개 이상의 인스턴스를 가진다.
2. 하나의 엔터티는 2개 이상의 속성을 가진다.
3. 속성은 각 인스턴스를 설명해줄 수 있다.
4. 하나의 속성에는 하나의 속성값만 들어간다.
식별자란?
: 엔터티 내 유일한 인스턴스를 식별할 수 있는 속성의 집합
속성의 분류(특성에 따른 분류)
분류 | 정의 | 예시 |
기본 | 업무로부터 추출한 속성으로 제일 많이 발생 | |
설계 | 설계시 규칙화 등이 필요해 만든 속성 | 코드성이나 일련번호 등 (필요에 따라 임의로 생성) |
파생 | 다른 속성들로부터 계산/변형 되어 만들어진 속성 | 부서별연봉합 |
속성의 분류(구성방식에 따른 분류)
- pk, fk 등
속성 명명(naming) 규칙
1. 가능한 현업 용어를 쓴다.
2. 가능하면 약어를 사용하지 않는다.
3. 명사형을 쓰고 서술식이나 수식어 등을 제한한다. ex) 오늘배송된상품 -> 일배송상품
4. 가능한 속성 이름은 전체 데이터 모델에서 유일해야 한다.
도메인(DOMAIN)이란?
: 각 속성이 입력 받을 수 있는 값의 정의 및 범위를 의미
보통 테이블을 만들 때 각 속성마다 자료형 및 제약 조건을 줄 때 결정
ex) 나이는 숫자만 입력 받을 수 있다. 입력값은 0 ~ 999 로 한다.
Reference
https://www.youtube.com/watch?v=lxiEiAjp7d0&list=PL6i7rGeEmTvpLoDkB-kECcuD1zDt_gaPn
'🏆 자격증 > SQLD' 카테고리의 다른 글
[과목 1] 1장 데이터 모델링의 이해 (0) | 2024.08.06 |
---|---|
[SQLD] 06. 관계형 데이터베이스 개요, SELECT (0) | 2024.07.26 |
[SQLD] 04, 05 정규화, 관계와 조인의 이해, 모델이 표현하는 트랜잭션의 이해 (0) | 2024.07.26 |
[SQLD] 03 식별자 & 데이터 모델 이해하기 (0) | 2024.07.26 |
[SQLD] 02 관계(Relationship) (0) | 2024.07.25 |