Entity Relationship Diagram (ERD) Tutorial - Part 1
entity, attribute 개념
Entity는 행이 되고, Attribute는 열이 된다.
Entity 간의 relationship을 알아보자
Entity 사이에 화살표나 점선, 실선이 담긴 선을 긋는거는 ERD Cardinality
쇼핑몰의 예시
Customer 한 사람 관점)
Customer 한 사람이 최소 0개 order에서 최대 무한대-many order까지 주문 가능 (0부터 많은 수까지 범위가 있는 경우)
데이터베이스에서는 매우 많이 담을 수 있으면 무한대-->many로 취급하는 듯
그러다보니 customer 한명에 Zero or many로 연결해줬다.
Order 관점에서 Customer 보면
Order 하나에 Custmoer 하나가 대응한다.
그래서 one to one으로 매핑
주문 하나에 상품 하나 또는 여러 개)이건 Customer 한 명에 order가 0 아니면 1~many여서 Zero or many 인 것과는 비교된다.
참고
@Entity
- 테이블과의 매핑
- @Entity가 붙은 클래스는 JPA가 관리하는 것으로, 엔티티라고 불림
> 속성
Name : JPA에서 사용할 엔티티 이름을 지정.
보통 기본값인 클래스 이름을 사용
> 주의사항
- 기본 생성자는 필수 (JPA가 엔티티 객체 생성 시 기본 생성자를 사용)
- final 클래스, enum, interface, inner class 에는 사용할 수 없음
- 저장할 필드에 final 사용 불가
|| @Table
- 엔티티와 매핑할 테이블을 지정
- 생략 시 매핑한 엔티티 일므을 테이블 이름으로 사용
> 속성
Name : 매핑할 테이블 이름 (default. 엔티티 이름 사용)
Catalog : catalog 기능이 있는 DB에서 catalog 를 매핑 (default. DB 명)
Schema : schema 기능이 있는 DB에서 schema를 매핑
uniqueConstraints : DDL 생성 시 유니크 제약조건을 만듦
스키마 자동 생성 기능을 사용해서 DDL을 만들 때만 사용