일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 미래혁신대전
- Til
- 1463
- 백준
- 컴퓨터 과학이 여는 세계
- JP Study
- Programmers
- 엘런 튜링
- MVT
- CS
- 문제풀이
- computer science
- stored function
- Stored Procedure
- 다시 왔다!
- 덴드로그램
- 2023
- 혼자 공부하는 SQL
- 퓨처셀프
- FastAPI
- 선형대수
- 한 권으로 읽는 컴퓨터 구조와 프로그래밍
- 멀티스레딩
- mysql
- 프로그래머스
- SQL
- Recommender system
- Django
- PCA
- WIL
- Today
- Total
Growth Hoon
20230828_TIL_SQLD {Entity, Attribute, Relationship, Identifiers} 본문
20230828_TIL_SQLD {Entity, Attribute, Relationship, Identifiers}
sayhoon 2023. 8. 28. 22:58Entity (엔터티)
- Entity는 사람, 장소, 물건과 같은 명사이다.
- 저장이 되기 위한 어떤 것
- 예시) Entity - 과목, Instance - 수학, 영어 ...
- Entity의 특징으로는 반드시 속성이 있어야 한다.
- 다른 Entity와 최소 한 개 이상의 관계가 있어야 한다.
- 식별이 가능해야하며 (중복적인 명사 x - 이름) , 업무프로세스에 사용이 되어야 한다.
Entity의 분류
1. 유무형에 따른 분류
- 유형 엔터티 : 일반적인 물리형태가 있는 Entity
- 개념 엔터티 : 물리적인 형태가 없는 Entity ( 조직, 부서 등)
- 사건 엔터티 : 업무를 수행하면서 발생하는 Entity
2. 발생시점에 따른 분류
- 기본 엔터티 : 원래 존재하는정보, 타 엔터티의 부모 역할을 한다
- 중심 엔터티 : 기본 엔터티로 발생하고, 업무에 있어서 중심적인 역할을 한다.
- 행위 엔터티 : 두 개 이상의 부모 엔터티로부터 발생, 내용이 자주 바뀌거나 데이터 증가
속성 (Attribute)이란?
- 업무에서 필요로 하는 인스턴스로 관리하고자 하는 의미상 더 이상 분리되지 않는 최소의 데이터 단위
- S/W 비용을 산정하는 기능점수 산정 시, 분리된 속성을 하나의 속성(DET)으로 계산
- 예시로 "년도월일"이 있다.
엔터티는 인스턴스를 포함하고, 인스턴스는 속성을 포함한다.
각 속성마다 속성값이 존재한다.
속성의 특성에 따른 분류
- 기본 속성 : 엔터티를 식별하기 위해 부여된 일련번호 ( 제조년월, 제조원가 등 )
- 설계 속성 : 업무를 규칙화하기 위해 속성을 새로 만들거나 변형하여 정의 ( 제품 분류 번호 )
- 파생 속성 : 다른 속성에 영향을 받아 발생하는 속성 ( 평균값 = 제품 분류번호 별 제조원가의 평균)
엔터티 구성 방식에 따른 분류
- Primary Key 속성, Foreign Key 속성, 둘 다 아닌 일반 속성
Domain(도메인)
- 각 속성이 가질 수 있는 값의 범위
관계 (Relationship)란?
- Entity의 instance 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태
관계의 분류
- Sayhoon은 DB팀에 속한다와 같은 존재의 형태에 의한 관계
- 소비자 A는 생수를 구매한다와 같은 행위에 의한 관계
관계의 표기법
- 관계명 : 관점에 따라 능동적, 수동적으로 명명
- 관계차수 : Entity간 관계에서 참여자의 수를 표현 ( Crow's Foot은 1:M )
- 관계선택사항 : 필수참여와 선택참여로 구별됨. 선택참여는 Entity쪽을 원으로 표시
식별자 (Identifiers) 란?
식별자라는 용어는 업무적으로 구분되는 정보, Key는 DB Table에 접근을 위한 매개체
하나의 Entity는 반드시 하나의 식별자(Key)가 존재해야 한다.
주식별자(PK)의 특징
- 유일성 : Entity내 instance들을 유일하게 구분
- 최소성 : 주식별자를 구성하는 속성의 수는 유일성을 만족하는 최소의 수가 되야함.
- 불변성 : 주식별자의 값은 변하지 않아야함.
- 존재성 : 주식별자에는 반드시 값이 존재해야함.
식별자의 분류
- 대표성 여부 : 주식별자, 보조 식별자로 구분함.
- 스스로 생성여부 : 내부식별자와 외부식별자( Foreign Identifier)로 구별
- 속성의 수 : 단일식별자와 복합식별자로 구분
- 대체 여부 : 본질식별자(업무에 의해 생성)와 인조식별자(원조식별자가 복잡하여 생성)로 구분
식별자관계
- 부모 Entity의 PK가 자식 Entity의 PK(실제로는 FK)로서 활용이 된다면 1:1관계
- 자식 Entity의 PK와 부모로 받은 FK를 사용하면 1:M의 관계
비식별자관계
- 자식Entity에서 부모의 PK를 받지 않는 경우
- Life Cycle를 다르게 관리하는 경우 : 부모의 instance가 자식의 entity와 관계가 있지만 먼저 소멸되는 경우
- 여러 Entity가 통합되어 각각의 Entity가 별도의 관계를 가지는 경우
- 자식 Entity에서 별도의 PK를 생성하는 것이 유리한 경우
1과목의 2장인 성능 데이터 모델링은 내일 정리하기로 한다.
오늘 1과목을 한번 쭉 읽고, CS책 1장의 일부를 읽었다.
이번주도 화이팅 !
'TIL_Today I Learned' 카테고리의 다른 글
20230904_TIL_Computer Science{컴퓨터 구조, 프로세스 코어, 함수} (0) | 2023.09.04 |
---|---|
20230829_TIL SQLD 1과목 ( 데이터 모델과 성능 ) (0) | 2023.08.29 |
20230827_TIL_SQLD공부 ( ~24p) (0) | 2023.08.27 |
20230826_TIL_JPstudy(엔트로피, 파이썬 내장 자료형) (0) | 2023.08.27 |
20230821_TIL_미분의 의미, 자연 상수(e)의 의미 Deep (0) | 2023.08.21 |