2022-05-19 소프트웨어_분석_및_설계_15

2022. 5. 19. 00:34학부 강의/소프트웨어 분석 및 설계

ERD 작성 실습

교수님 살살;;


1. 엔티티 도출

 

  • 5개 이상 엔티티를 도출한다.

수강신청서를 ERD로 표현할 것이다.

 

엔티티를 도출한다.

 

엔티티는 업무수행을 위해 기업이 알아야 할 대상이 되는 사람, 장소, 사물, 사건 및 개념이다.

 

각 엔티티는 인스턴스라 불리는 개별적인 객체들의 집합이다

 

도출된 엔티티 목록

  1. 수강신청서
  2. 수강신청자
  3. 수강신청 과목
  4. 학과
  5. 담당교수


2. 관계 연결 및 특성 지성

 

  • 엔티티 간 관계선 연결

  • 기수성, 선택성 표시 (M:N 관계는 별도의 엔티티를 추가하여 1:N 관계로 변경)

M:N 관계 발생.

 

M:N 관계는 관계형 DB에서 구현하기 힘들다.

  • 1:1 관계는 서로가 서로를 특정할 수 있다.
  • 1:N 관계는 1에서 N은 특정할 수 없지만 N에선 1을 특정할 순 있다.
  • M:N 관계는 서로 특정할 수 없다.

 

아무것도 특정할 수 없으니 구현할 이유가 없다고 보는 것이다.

 

별도의 엔티티를 추가해서 1:N 관계로 변경해주자.

 

수강신청서와 수강신청 과목 모두를 특정할 수 있는 엔티티가 필요하다.

 

수강신청 매칭이라는 엔티티를 새로 만든다.

 

수강신청 매칭을 특정할 수 있으면 수강신청서와 수강신청 과목도 특정할 수 있다.

 

 

참고 : https://siyoon210.tistory.com/26


3. 속성 및 식별자 정의

  • 속성을 추가한다.

  • PK, FK를 모두 ERD 상에 표시한다.

 

2022-05-25 교수님 피드백

1. 수강신청자 -> 학생

2. 수강신청 과목 -> 교과목

3. 학생은 매 학기마다 수강신청서를 작성하므로 학생과 수강신청서의 관계는 1:N다. (기수성)

4. 학생이 처음 입학할 경우 수강신청서를 작성한 적이 없다. (선택성)

5. 특정 교과목에 아무도 신청하지 않을 수 있다.