| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- 내일배움캠프#til#sql
- 이상치 제거
- 내일배움캠프#til#데이터 리터러시
- 통계
- 데이터분석
- vscode
- 다중검정
- Ai
- 내일배움캠프#til#sqld#eda#데이터리터러시
- 내일배움캠프#til#sqld
- 책
- 제1종오류
- 내일배움캠프#til#파이썬#python
- 가설검정
- 내일배움캠프#til#파이썬#python#전처리
- 내일배움캠프#til#파이썬#python#통계학
- 통계101x데이터분석
- 카이제곱검정
- #내일배움캠프 #사전캠프 #til #sql
- 데이터
- 차원축소
- 이상탐지
- 제2종오류
- 머신러닝
- 통계학공부
- 라이브 세션
- 딥러닝
- 통계학
- t검정
- A/B테스트
- Today
- Total
Ming's Life
[내일배움캠프] 5일차 본문
1. 오늘 학습 키워드
- SQLD 자격증 공부
2. 오늘 학습 한 내용을 나만의 언어로 정리하기
엔티티 (Entity)
엔티티의 개념
- 데이터 모델의 핵심 구성 요소
- 개체라고 표현하며 정보의 세계에서 의미 있는 하나의 정보 단위를 뜻 한다
- 데이터베이스에서 레코드가 개체에 해당된다
엔터티와 인스턴스

엔터티의 특징
핵심적으로 다뤄지는 6가지 특징
업무에서 필요로 하는 정보
- 엔터티는 특정한 업무에서 필요로 하는지를 파악하는 것이 중요
- 데이터를 수집하고 관리하는 목적은 기본적으로 업무에서 활용하기 위해서이기 때문이다.
식별 가능 여부
- 엔터티를 도출하는 경우에는 업무적으로 의미를 갖는 인스턴스가 식별자에 의해 한 개씩만 존재하는지 검증해야 한다.
인스턴스의 집합
- 엔터티는 기본적으로 2개 이상의 인스턴스로 구성되어 있어야 한다.
- 따라서 인스턴스가 한 개 밖에 없는 엔터티는 집합이 아니기 때문에 엔터티가 아니다.
업무 프로세스에 의해 활용되어야 함
- 엔터티는 업무 프로세스에 활용
- 만약 활용되지 않는 엔터티가 있을 경우에는 해당 엔터티를 제거하거나
프로세스에서 놓치고 있는 부분은 없는지 확인해야 한다.
속성을 포함해야 함
- 주식별자만 존재하고 일반 속성은 전혀 없는 경우 엔터티가 아니다.
- 엔터티는 엔터티를 설명할 수 있는 속성이 존재해야 의미를 갖는다.
관계의 존재
- 엔터티가 도출되었다는 것은 해당 업무에서 어떠한 연관성을 갖고 다른 엔터티와의 연관성이 있음을 나타낸다.
- 관계가 설정되지 않은 엔터티는 부적절한 엔터티가 도출되었거나
아니면 다른 엔터티와의 직접적인 연결 관계를 찾지 못했을 수 있다.
엔터티의 분류
유/무형에 따른 분류
유형 엔터티
- 물리적인 형태가 존재하는 엔터티이며 안정적이고 지속적이어야 한다.
- 예) 상품, 강사, 병장
개념 엔터티
- 물리적인 형태가 아닌 관리해야 할 개념적인 정보로 구분되는 엔터티다.
- 예) 학과, 코스닥 종목
사건 엔터티
- 특정한 이벤트에 종속되는 엔터티다.
- 업무 수행에 따라 발생되는 엔터티로 비교적 발생량이 많으며 각종 통계에 이용되는 엔터티다.
- 예) 이벤트 응모, 주문
발생 시점에 따른 분류
기본/키 엔터티 (Basic Entity)
- 관계가 아닌 독립적인 생성이 가능하고 다른 엔터티의 부모 엔터티 역할을 한다.
- 이 말은 고유한 주식별자를 갖는다는 의미다.
- 예) 고객, 상품
중심 엔터티 (Main Entity)
- 기본 엔터티로부터 발생하고 업무에서 중심적인 역할을 한다.
- 처리해야 하는 데이터의 양이 많으며 다른 엔터티와의 관계를 통해 많은 행위 엔터티를 생성한다.
- 예) 주문, 취소
행위 엔터티 (Active Entity)
- 두 개 이상의 부모 엔터티로부터 발생한다.
- 자주 내용이 바뀌거나 데이터의 양이 증가한다.
- 예) 주문 내역, 취소 내역
엔터티 분류 방법의 예시

엔터티의 이름짓기 방식
- 엔터티는 고유한 이름을 갖게 되는데, 이때 특징한 규칙을 기반으로 이름 짓기(네이밍)
1. 가능하면 업무에서 사용하는 용어를 사용한다.
2. 가능하면 축약어(shortcut)를 사용하지 않는다.
- 의미가 온전하게 드러날 수 있도록 작성한다.
3. 단수 명사를 사용하고 띄어쓰기를 하지 않는다.
4. 모든 엔터티에서 유일한 이름이 부여되어야 한다.
- 즉, 엔터티 이름은 중복되지 않아야 한다.
5. 엔터티 생성 의미대로 이름을 부여한다.
속성 (Attribute)
속성의 개념
- 인스턴스가 가진 어떠한 성질(성격)
* 업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위
엔터티의 개념 정리
1. 엔터티는 사람, 장소, 물건, 사건, 개념 등의 명사에 해당
2. 엔터티는 업무상 관리가 필요한 관심사에 해당
3. 엔터티는 저장이 되기 위한 어떤 것(Thing)
엔터티, 인스턴스, 속성, 속성값의 관계
- 한 개의 엔터티는 두 개 이상의 인스턴스의 집합이어야 한다.
- 한 개의 엔터티는 두 개 이상의 속성으로 구성된다.
- 한 개의 속성은 한 개의 속성값을 갖는다.
속성의 표기법

속성의 특징 및 분류
속성의 특징
1. 속성은 업무에서 필요로 합니다.
-따라서 아무 요소나 모두 속성이 되지 않고 업무에 관련된 어떤 특징이 속성이 될 수 있다.
-해당 업무에서 관리하고자 하는 정보여야 한다.
2. 속성은 의미상 더 이상 분리되지 않는 그 자체로 독립성을 유지한다.
-가장 작은 단위로 의미를 지닌다.
3. 엔터티를 설명하고 인스턴스의 구성요소가 된다.
-속성을 통해 인스턴스가 구성되며 인스턴스가 모여 엔터티가 되기 때문에 결과적으로 엔터티를 설명한다고 볼 수 있다.
4. 정규화 이론에 기반을 두고 정해진 주식별자에 함수적 종속성을 가져야 한다.
* 함수의 종속성(Functional Dependency)
- X → Y (X: 결정자, Y: 종속자)
- X의 값을 알면 Y의 값을 바로 알 수 있고 X 값에 의해 Y 값이 달라질 때,
이를 Y는 X에 함수적 종속이라고 함
- 완전 함수 종속 / 부분 함수 종속 / 이행 함수 종속
5. 하나의 속성은 한 개의 값만 갖습니다.
-하나의 속성에 여러 개의 값이 있는 다중 값의 형태는 별도의 엔터티로 분류하여 관리한다.
속성의 분류
속성의 특징에 따른 분류
기본 속성 (Basic Attribute)
- 업무로부터 추출된 모든 속성이며 속성 중에서 가장 많은 종류를 차지한다.
설계 속성 (Designed Attribute)
- 데이터 모델링, 업무의 규칙화 등을 위해 새로 만들거나 변형하여 정의하는 속성이다.
파생 속성 (Derived Attribute)
- 다른 속성에 영향을 받아 발생하는 속성으로 보통 계산된 형태의 값이 이에 해당한다.
- 데이터의 정합성(정확성)을 유지하기 위해서는 가급적 파생적 속성을 적게 정의하는 것이 좋다.
다른 속성이 변화하면 파생된 속성에도 영향을 미치기 때문에 정합성이 저하될 수 있다.
엔터티 구성 방식에 따른 분류
PK(Primary Key) 속성
- 엔터티를 식별할 수 있는 속성
ex. 주민번호, 상품번호
FK(Foreign Key) 속성
- 다른 엔터티와의 관계에 포함된 속성
일반 속성
- PK, FK에 포함되지 않은 다른 속성
도메인 및 속성의 명명
도메인
- 각 속성이 가질 수 있는 값의 범위를 의미한다.
- 엔터티 내에서 속성에 대한 데이터 타입과 크기, 제약 사항 등을 지정한다.
속성의 명명
속성은 고유한 이름을 갖게 되는데, 이때 특정한 규칙을 기반으로 속성을 명명
1. 가능하면 업무에서 사용하는 용어를 사용한다.
2. 가능하면 축약어(shortcut)를 사용하지 않고 의미가 온전하게 드러날 수 있도록 작성한다.
3. 서술형보다는 명사형을 사용한다.
4. 수식어가 많이 붙지 않고 명확하게 의미를 파악할 수 있어야 한다.
-명시적인 형태로 의미 전달을 할 수 있어야 한다.
5. 전체 데이터 모델에서 유일하게 작성해야 한다.
-이는 데이터 정합성 유지와 반정규화 작업을 수행할 때 속성의 충돌을 해결하는 데 도움이 된다.
관계
관계의 정의
- 관계(Relationship)를 사전적으로 정의하면 '상호 연관성이 있는 상태'
- 엔터티와 인스턴스 사이의 논리적인 연관성으로서 존재의 형태 행위로서 서로에게 연관성이 부여된 상태
관계의 페어링
- 관계는 엔터티 안에 인스턴스가 개별적으로 연결되어 있는 구조이며 이러한 관계를 페어링이라 한다

관계의 종류
1. 존재에 의한 관계
- 존재에 의한 관계를 기준으로 인스턴스 간의 관계를 살펴보면 소속/포함의 형태로 볼 수 있다.
- 회사에서 사원이 언제나 특정한 부서에 속해있는 것은 존재에 의한 관계로 볼 수 있다.
2. 행위에 의한 관계
- 행위에 의한 관계를 기준으로 인스턴스 간의 관계를 살펴보면 행동/행위의 결과로 나타난다.
- 어떤 서비스를 제공할 때 고객이 주문을 하는 경우에 '주문'이라는 행동은
고객이 직접 행해야 발생하기 때문에 행위에 의한 관계로 볼 수 있다.
UML(Unified Modeling Language) - 통합 모델링 언어
- 소프트웨어 공학에서 사용되는 표준화된 범용 모델링 언어
* 이것만 기억하자, UML 과 ERD 의 차이점 !
ERD에서는 존재적 관계와 행위에 의한 관계를 구분하지 않고 표현했다면
URD의 클래스 다이어그램에서는 이를 구분하여 연관 및 의존 관계로 표현
* 관계차수(Degree / Cardinality) - 중요!!
1. 1:1
2. 1:N ( 1:M )
3. M:N ( M:M )
1. 1:1 (ONE TO ONE) 관계 표시
- 관계에 참여하는 각 엔터티는 관계를 맺는 다른 엔터티에 대해 하나의 관계로 연결된다.
- A Entity에 존재하는 데이터 1개와 관계되는 B Entity에 존재하는 데이터의 개수도 1개인 Entity 간의 관계를 1:1 관계라고 한다.

2. 1:M (ONE TO MANY) 관계 표시
- 관계에 참여하는 각 엔터티는 관계를 맺는 다른 엔터티에 하나 혹은 그 이상의 관계를 맺고 있다.
다만, 이 방향은 한쪽 방향에만 해당되며 반대 방향은 오직 하나의 관계만 갖는다.
- A Entity에 존재하는 데이터 1개와 관계되는 B Entity에 존재하는 데이터의 개수가 여러 개인 엔터티 간의 관계를 1:M 관계

3. M:N(MANY TO MANY) 관계 표시
- 1:M 관계가 양방향에서 모두 발생하는 경우를 의미
- A Entity에 존재하는 데이터 1개와 관계되는 B Entity에 존재하는 데이터의 개수가 여러 개이며,
B Entity에 존재하는 데이터 1개와 관계되는 A Entity에 존재하는 데이터의 개수도 여러 개인 Entity 간의 관계를 M:N 관계

관계선택사양 (Optionality)
- 선택참여관계(Optional)가 핵심
- 필수(Mandatory Membership)와 선택참여(Optional Membership)
필수 조건
- 실선으로 표시하고 상대 Entity에 대한 해당 조건을 만족하는 Entity가 반드시 존재할 경우에 표시
- | 로 표시
선택 조건
- 점선으로 표시하고 상대 Entity에 대한 해당 조건을 만족하는 Entity가 존재할 수도 혹은 하지 않을 수도 있는 경우 표시
- 0 로 표현

관계선택사양을 IE와 Barker 표기법 (하단 표)

관계 정의 시 체크 사항
- 두 엔터티 사이에는 관심 있는 연관 규칙이 존재하는지 여부
- 두 개의 엔터티 사이에 정보의 조합이 발생하는지 여부
- 업무 기술서, 장표에 관계 연결에 대한 규칙이 있는지 여부
- 업무 기술서, 장표에 관계 연결을 가능하게 하는 동사(Verb)가 있는지 여부

- 기준(Source) 엔터티를 한 개(One) 혹은 각(Each)으로 읽는다.
- 대상(Target) 엔터티의 관계 참여도 개수(하나, 하나 이상)로 읽는다.
- 관계 선택 사양과 관계 이름을 읽는다.
식별자 (Identifier)
- 엔터티의 인스턴스를 구분 가능하게 만들어주는 대표 격인 속성
주식별자의 특징
유일성
- 주식별자에 의해 엔터티 내에서 모든 인스턴스들을 유일하게 구분
최소성
- 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수
불변성
- 한 번 특정 엔터티에 지정되면 그 식별자의 값은 변하지 않아야 한다.
존재성
- 주식별자가 지정되면 반드시 데이터 값이 존재해야 한다.
식별자 분류
- 자신의 엔터티 내에서 대표성을 갖는지에 따라 주식별자(Primary Identifier)와 보조식별자(Alternate Identifier)로 구분

대표성 여부

스스로 생성 여부

속성의 수

대체 여부

식별자 표기법


주식별자 도출 기준
1. 해당 업무에서 자주 이용되는 속성으로 설정한다.
2. 명칭, 내역 등과 같이 특정한 이름으로 기술되는 것은 가능하면 주식별자로 사용하지 않는다.
3. 복합으로 주식별자를 구성하는 경우 너무 많은 속성이 포함되지 않도록 해야한다.
* 문장의 편리함과 성능을 위해서 과도한 복합키의 사용은 지양
식별자 관계와 비식별자 관계에 따른 식별자
식별자 관계와 비식별자 관계의 결정 요인
1. 엔터티에 주식별자가 지정되고 엔터티간 관계를 연결하면 부모 쪽의 주식별자를 자식 엔터티의 속성으로 보내게 된다.
2. 자식 엔터티에서 부모 엔터티로부터 받은 외부 식별자를 주식별자로 쓸 것인지
혹은 부모와 연결된 속성(Foreign Key)으로만 이용 할 것인지 결정해야 한다.
식별자 관계
- 부모로부터 받은 식별자를 자식 엔터티의 주식별자로 이용하는 경우는 비어있는 값이 있으면 안 된다.
- 부모와 자식의 관계를 연결 함에 있어 어떻게 연결할 것인지에 대한 대상이 없다면 연결할 수 없는 건 당연

비식별자 관계
- 부모 엔터티로부터 속성을 받았지만 자식 엔터티의 주식별자로 사용하지 않고 일반 속성으로만 사용하는 경우
식별자 관계와 비식별자 관계의 모델링
식별자와 비식별자 관계의 비교

3. 학습하며 겪었던 문제점 & 에러
-
4. 내일 학습 할 것은 무엇인지
SQL 코드카타 , SQLD강의 듣기
'내일배움캠프' 카테고리의 다른 글
| [내일배움캠프] 7일차 (0) | 2025.05.20 |
|---|---|
| [내일배움캠프] 6일차 (0) | 2025.05.19 |
| [내일배움캠프] 4일차 (0) | 2025.05.15 |
| [내일배움캠프] 3일차 (0) | 2025.05.14 |
| [내일배움캠프] 2일차 (0) | 2025.05.13 |