1.2 엔티티
- 엔티티의 개념
* 엔티티 (Entity)
- 데이터베이스의 구성요소 중 독립적으로 식별 가능한 객체(Object).
- 엔티티의 하위 요소를 '속성(Attribute)'라 함.
ex) 회원 엔티티의 속성 : 회원명, 회원코드, 주소
* 엔티티의 특징
1) 업무에서 필요로 하고 관리하고자 하는 정보여야 한다.
2) 식별이 가능하도록 유일한 식별자를 가져야 한다.
3) 영속적으로 존재하는 인스턴스*가 두 개 이상인 집합을 이루어야 한다. _하나인 경우 굳이 엔티티로 정의할 필요X
4) 하위요소로 반드시 속성(attribute)을 가져야 한다.
5) 엔티티는 다른 엔티티와 한 개 이상의 관계를 가져야 한다.
(단, 통계성 엔티티나 코드성 엔티티의 경우 관계 생략 가능)
- 인스턴스 : 엔티티로 정의된 구조에 맞춰 실제 디스크에 저장된 데이터
- attribute : 엔티티의 구성요소
- property : 객체의 특성
릴레이션 (Relation)
엔티티 --- 논리적 데이터 모델링
테이블 --- 물리적 데이터 모델링
1.3 속성
- 속성과 도메인
* 속성(attribute)
- 엔티티의 하위요소로, 엔티티에 대한 자세하고 구체적인 정보를 나타낸 것.
- 의미상으로 분리되지 않는 최소의 데이터 단위.
- 속성의 개수에는 제한이 없지만, 처리하고자 하는 업무 프로세스에 꼭 필요한 것 위주로 최소화 필요.
* 속성값
- 속성이 가질 수 있는 특정 값.
- 하나의 엔티티 인스턴스에서 각각의 속성은 하나의 속성값만을 지님.
- 엔티티, 인스턴스, 속성값
- 한 개의 엔티티는 두 개 이상의 인스턴스를 가진다. (인스턴스의 집합)
- 한 개의 엔티티는 두 개 이상의 속성을 가진다.
- 한 개의 속성은 한 개의 속성값을 가진다.
[ 도서 ] --> 엔티티
No. | 제목 | 장르 |
1 | 해리포터 | 판타지 |
2 | 원더 | 어린이 |
3 | 죄와 벌 | 고전 |
각각의 row --> 인스턴스
'No' , '제목' , '장르' --> 속성
'1' , '해리포터' , '판타지' --> 속성값
* 속성의 특성에 따른 분류
- 기본 속성 : 엔티티가 본래부터 가지고 있어야 하는 속성.
- 설계 속성 : 엔티티가 본래부터 가지고 있던 속성은 아니지만 설계 시 필요하다고 판단되어 도출된 속성.
- 파생 속성 : 다른 속성으로부터 계산되거나 특정 규칙에 따라 변형되어 만들어진 속성. **
* 속성의 구성방식에 따른 분류
- PK (Primary Key, 기본키) 속성 : 해당 엔티티의 인스턴스를 유일하게 식별할 수 있는 속성.
- FK (Foreign Key, 외래키) 속성 : 관계를 통해 다른 엔티티의 속성을 가져와 포함시킨 속성.
- 일반 속성 : 키(PK 또는 FK)가 아닌 나머지 일반 속성.
* 도메인
- 속성이 가질 수 있는 값의 범위(값의 데이터 타입과 크기 등의 조건)를 정의한 것으로,
도메인이 지정된 속성은 해당 도메인의 데이터 타입, 크기, 제약사항 등을 따른다.
ex) '주문'이라는 엔티티가 있을 때 '단가'라는 속성값의 범위는 10에서 1000사이의 정수값이며,
상품명 속성은 길이가 30자리 이내의 문자열이다.
1.5 식별자
* 식별자 관계
- 엔티티 간의 강한 연결 관계를 표현.
- ERD에서 실선으로 표현
- 부모 엔티티 인스턴스가 소멸할 때 자식 엔티티 인스턴스도 같이 소멸하는 경우 적합.
(같은 생명주기를 가짐)
* 비식별자 관계
- 엔티티 간의 약한 연결 관계를 표현.
- ERD에서 점선으로 표현.
- 자식 엔티티의 주식별자를 부모 엔티티와 별도로 생성하거나,
부모 엔티티 인스턴스에 참조값이 없어도 자식 엔티티 인스턴스가 생성될 수 있을 때 적합.
https://www.youtube.com/watch?v=TOObFwC6PjM&list=PLDI0745yTBjXFuIFYqq3vzcQYuVyajFpC&index=3
https://www.youtube.com/watch?v=j_WjuThGZwI&list=PLDI0745yTBjXFuIFYqq3vzcQYuVyajFpC&index=4
https://www.youtube.com/watch?v=6E494qAtZ9Y&list=PLDI0745yTBjXFuIFYqq3vzcQYuVyajFpC&index=5
'자격증 > SQLD' 카테고리의 다른 글
[SQLD] 강의 01~02. 데이터 모델링, 단계, 스키마 (0) | 2025.01.27 |
---|