Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- SQLD
- mobilenet
- 데이터모델링
- 정규화
- Inductive Bias
- 연산량 감소
- 엔터티
- outer join
- 식별자
- Depthwise Separable Convolution
- resnet
- get_dummies()
- 백준
- 인접리스트
- numpy
- skip connection
- bottleneck
- BFS
- dfs
- 그래프
- dp
- depthwise convolution
- Two Pointer
- 1x1 Convolution
- SQLD 후기
- 인접행렬
- pytorch
- CROSS JOIN
- feature map
- SQL
Archives
- Today
- Total
SJ_Koding
SQLD 대비 (2) - 엔터티(Entity)와 속성(Attribute), 관계(Relationship) 본문
2023.11.09 - [SQL/SQLD] - SQLD 대비 (1) - 데이터 모델의 이해
이전 글과 이어지는 글입니다. 해당 정리글은 아래의 유튜브 영상을 참고하여 만들었습니다. 문제 시 삭제하겠습니다.
빨간색 형광펜은 강의에서 강조한 부분, 노란색 형광펜은 추가 서치로 내용을 '직접' 보강한 부분입니다.
https://youtu.be/gmMaH5mMJ9M?t=862
엔터티 (논리적 모델링을 할 때, 테이블의 다른 말)
- 데이터의 집합
- 저장되며 관리되는 데이터
- 개념, 사건, 장소 등의 명사
- 유형과 무형에 따른 분류
- 유형 엔터티: 물리적이며 안정적이며 지속적인 엔터티
- 사원, 제품, 교수 등등
- 개념 엔터티: 물리적이진 않지만 개념적으로 존재하며 정보로 구분되는 엔터티
- 강의, 금융상품, 부서 등등
- 사건 엔터티: 비즈니스 프로세스에 따라 발생되는 엔터티. 데이터가 많다.
- 구매, 판매, 영업, 수납 등등
- 유형 엔터티: 물리적이며 안정적이며 지속적인 엔터티
- 발생 시점에 따른 엔터티 분류
- 기본 엔터티: 키 엔터티라고 하며, 독립적으로 생성 및 관리된다. (유형 엔터티와 비슷)
- 고객, 부서, 판매제품
- 중심 엔터티: 기본 엔터티로 부터 발생되는 행위 엔터티를 생성하는 중간 엔터티이다. (개념 엔터티와 비슷)
- 계좌, 주문, 수납 등등
- 행위 엔터티: 상위에 있는 2개 이상의 엔터티로 부터 발생되는 엔터티이다. (사건 엔터티와 비슷)
- 주문 이력, 접속 이력, 수납 이력 등등
- 기본 엔터티: 키 엔터티라고 하며, 독립적으로 생성 및 관리된다. (유형 엔터티와 비슷)
* 엔터티의 특징
- 반드시 해당 업무에서 필요하고 관리하고자 하는 정보이어야 한다.
- 유일한 식별자에 의해 식별이 가능해야 한다.
- 영속적으로 존재하는 두 개 이상의 인스턴스 집합이어야 한다.
- 엔터티는 업무 프로세스에 의해 이용되어야 한다.
- 엔터티는 반드시 속성이 있어야 한다.
- 엔터티는 다른 엔터티와 최소 한 개 이상의 관계가 있어야한다.
* 엔터티를 명명하는 방법
- 현업업무에서 사용하는 용어를 사용한다.
- 약어를 사용하지 않는다.
- 단수명사를 사용한다.
- 모든 엔터티를 통틀어서 유일하게 이름이 부여되어야 한다.
속성 (Attribute, 테이블의 컬럼이라 생각하자)
- 엔터티가 가지는 항목
- 속성은 더 이상 분리 되지 않는다.
- 업무에 필요한 데이터를 저장 한다.
- 인스턴스의 구성 요소로 최소의 데이터 단위 이다.
- 속성의 특징
- 속성은 업무에서 관리되는 정보이다.
- 속성은 하나의 값만 가진다.
- 주식별자에게 함수적으로 종속된다. 기본키에 따라 속성의 값도 변경될 수 있다.
- 특성에 따른 속성의 종류
- 기본 속성: 비즈니스 프로세스에서 도출한 본래의 속성
- 이름, ID, 전화번호, 등록일시 등등
- 설계 속성: 데이터 모델링 과정에서 발생되는 속성 (데이터 모델링을 위해 만들어낸 것)
- 상품코드, 지점코드 등등
- 파생 속성: 다른 속성에 의해서 만들어지는 속성
- 합계, 평균 등등
- 기본 속성: 비즈니스 프로세스에서 도출한 본래의 속성
관계 (Relationship)
1. 관계의 개념
- 엔터티간 논리적인 연관성을 의미한다.
- 엔터티의 정의에 따라 영향을 받을 수 있다.
- 속성 정의 및 관계 정의에 따라서 다양하게 변할 수 있다.
2. 관계의 분류
- 존재에 의한 관계
- ex) 사원 홍길동은 부서 DB팀에 소속한다(존재).
- 행위에 의한 관계
- ex) 고객 홍길동은 A231메뉴를 주문한다(행위).
3. 관계의 표기법
- 관계명: 관계의 이름
- 관계에 엔터티가 참여하는 형태를 정의한다.
- 각 두개의 관계명을 가진다.
- 관계명은 능동적 또는 수동적으로 명명된다.
- 애매한 동사를 피하고 현재형으로 표기한다.
- 관계차수: 1:1, 1:M, M:M
- 관계에 있는 엔터티간에 참여하는 수를 의미한다.
- 1:1 - 한 엔터티 인스턴스(row)가 다른 엔터티의 단 하나의 인스턴스와 관계를 가지는 경우
- ex) '사람'과 '여권'의 관계
- 1:M 예시 - 한 엔터티의 단일 인스턴스가 다른 엔터티의 여러 인스턴스와 관계를 가지는 경우
- ex) '강사'와 '강의'의 관계. 한 강사가 여러 강의를 가르칠 수 있지만. 각 강의는 단 한 명의 강사에 의해서만 가르쳐짐.
- M:M 예시 - 한 엔터티의 여러 인스턴스가 다른 엔터티의 여러 인스턴스와 관계를 가지는 경우:
- ex) '학생'과 '강의'의 관계. 여러 학생들이 여러 강의를 수강할 수 있고, 각 강의는 여러 학생들에 의해 수강될 수 있음.
- 관계 선택 사양: 필수 관계, 선택 관계
- 엔터티가 관계에 있어 항상 참여하는지, 선택적 참여를 하는지 표기한다.
- 필수 관계 - 한 엔터티의 인스턴스가 반드시 다른 엔터티와 관계를 맺어야 함
- ex) '자동차'와 '엔진'의 관계. 각 '자동차'는 반드시 하나의 '엔진'을 가지고 있어야 한다. 여기서 '엔진'이 없는 '자동차'는 존재할 수 없으므로, 이 관계는 필수적임
- 선택 관계 - 한 엔터티의 인스턴스가 다른 엔터티와 관계를 맺을 수도 있고 맺지 않을 수도 있음.
- 관계 표기법에서 까마귀 발 옆에 O 표기
- ex) '학생'과 '클럽'의 관계. 학생은 클럽에 가입할 수도 있고, 가입하지 않을 수도 있음.
* 두 개의 엔터티 사이에서 관계를 도출 할 때 체크 할 사항
- 두 개의 엔터티 사이에 관심있는 연관규칙이 존재하는가?
- 두 개의 엔터티 사이에 정보의 조합이 발생되는가?
- 업무기술서, 장표에 관계연결에 대한 규칙이 서술되어 있는가?
- 업무기술서, 장표에 관계연결을 가능하게 하는 동사(Verb)가 있는가?
다음 글
2023.11.11 - [SQL/SQLD] - SQLD 대비 (3) - 식별자
'SQL > SQLD' 카테고리의 다른 글
SQLD 대비 (6) - SQL 문법 및 라이브러리_1 (1) | 2023.11.13 |
---|---|
SQLD 대비 (5) - 관계형 데이터베이스 (RDBMS) (0) | 2023.11.13 |
SQLD 대비 (4) - 성능 데이터 모델링 및 정규화/반정규화, 데이터베이스 (0) | 2023.11.12 |
SQLD 대비 (3) - 식별자(Identifier) (2) | 2023.11.11 |
SQLD 대비 (1) - 데이터 모델의 이해 (0) | 2023.11.09 |