개체와 속성 추출
개체는 저장할 만한 가치가 있는 중요 데이터를 지닌 사람이나 사물 등을 의미한다. 일반적으로 개체는 명사로 표현된다. 단, 조직의 업무 처리와 관련이 적은 일반적이고 광범위한 의미의 명사는 제외하고, 의미가 같은 명사가 여러 개면 대표 명사 하나만 선택한다. 명사 중에는 개체가 아닌 속성으로 분류되는 단어도 존재하기 때문에 이를 정확히 분류하는 작업이 필요하다.
한빛 마트 요구 사항 명세서에서 명사를 추출하면 다음과 같다.
한빛 마트, 회원, 회원아이디, 비밀번호, 이름, 나이, 직업, 등급, 적립금, 상품, 상품번호, 상품명, 재고량, 단가, 주문, 주문번호, 주문수량, 배송지, 주문일자, 제조업체, 공급, 공급일자, 공급량, 제조업체명, 전화번호, 위치, 담당자, 게시글, 작성, 글번호, 글제목, 글내용, 작성일자
여기서 개체와 속성을 나눠야 하는데, 이에 앞서 한빛 마트는 이 전체를 아우르는 명사이기 때문에 제외한다. 여기서 개체는 총 네 가지로 분류할 수 있는데, 회원, 상품, 주문, 제조업체, 게시글이 개체에 해당한다. 그리고 각각의 개체에 속할 속성을 정리하면 다음 표와 같다.
여기서 주문, 공급, 작성은 개체나 속성이 될 수 없다. 또한 주문번호, 주문수량, 배송지, 주문일자, 공급일자, 공급량은속성이 될 수 없다. 주문, 공급, 작성 같은 경우, 추출할 특정 관계의 속성으로 판단할 가능성이 높다. 그리고 주문번호, 주문수량 등과 같은 것은 주문을 해야 생기는 정보이므로 속성으로 보기 어렵다.
관계추출
관계는 개체 간의 의미 있는 연관성이다. 일반적으로 관계는 요구 사항을 표현한 문장에서 동사로 표현된다. 단, 조직의 업무 처리와 관련하여 개체 간의 연관성을 의미 있게 표현한 동사만 선택하고, 의미가 같은 동사가 여러 개이면 대표 동사 하나만 선택한다.
한빛 마트 요구 사항 명세서에서 명사를 추출하면 다음과 같다.
입력해야 한다, 부여된다, 식별한다, 유지해야 한다, 식별한다, 주문할 수 있다, 유지해야 한다, 공급할 수 있다, 유지해야 한다, 유지해야 한다, 식별한다, 작성할 수 있다, 유지해야 한다, 식별한다
여기서 개체 간의 관계를 결정 지을 수 있는 동사를 찾아야 하는데, 우선 '입력해야 한다'는 회원 개체의 속성에 대한 설명이고, '부여된다' 또한 회원 개체의 속성에 대한 설명이다. '식별한다'도 각 개체의 키 값을 설명하는 것이므로 제외한다. 이와 마찬가지로 '유지해야 한다' 또한 각 개체의 속성을 설명함으로 관계 추출에서 제외한다. 따라서 남은 동사인 '주문할 수 있다', '공급할 수 있다', '작성할 수 있다'가 개체 간의 관계를 결정할 수 있는 동사가 될 수 있다.
첫 번째로, '주문할 수 있다' 는 회원 개체와 상품 개체가 맺는 관계를 설명하므로 주문 관계를 추출할 수 있다. 회원 한 명이 여러 상품을 주문할 수 있고, 하나의 상품을 여러 회원이 주문할 수 있으므로 다대다 관계가 된다. 회원이 상품을 반드시 주문해야 하는 것은 아니므로 회원 개체는 주문 관계에 선택적으로 참여한다고 볼 수 있다. 또한 회원이 주문하지 않은 상품이 존재할 수 있으므로 상품 개체도 주문 관계에 선택적으로 참여한다고 볼 수 있다.
두 번째로, '공급할 수 있다' 는 제조업체 개체와 상품 개체가 맺는 관계를 설명하므로 공급 관계를 추출할 수 있다. 각 상품은 한 제조업체가 공급하고, 제조업체 하나는 여러 상품을 공급할 수 있으므로 일대다 관계가 된다. 상품은 제조업체가 반드시 공급해야 하므로 상품 개체는 공급 관계에 필수적으로 참여한다고 볼 수 있다. 그리고 상품을 공급하지 않는 제조업체도 존재할 수 있으므로 제조업체 개체는 공급 관계에 선택적으로 참여한다고 볼 수 있다.
세 번째로, '작성할 수 있다' 는 회원 개체와 게시글 개체가 맺는 관계를 설명하므로 작성 관계를 추출할 수 있다. 회원을 게시글을 여러 개 작성할 수 있고, 게시글 하나는 한 명의 회원만 작성할 수 있으므로 일대다 관계가 된다. 회원이 반드시 게시글을 작성해야 하는 것이 아니므로 회원 개체는 작성 관계에 선택적으로 참여한다고 볼 수 있다. 하지만 게시글은 반드시 회원이 작성해야 하므로 게시글 개체는 작성 관계에 필수적으로 참여한다고 볼 수 있다.
선별한 동사에서 관계를 추출한 최종 결과 표는 다음과 같다.
E-R 다이어그램 작성
개체와 속성을 추출하고 개체 간의 관계를 추출하여 표현한 E-R 다이어그램은 다음과 같다.
E-R 다이어그램은 다음 프로그램을 통해 만들었음. https://app.diagrams.net/
Flowchart Maker & Online Diagram Software
Flowchart Maker and Online Diagram Software draw.io is free online diagram software. You can use it as a flowchart maker, network diagram software, to create UML online, as an ER diagram tool, to design database schema, to build BPMN online, as a circuit d
app.diagrams.net
'데이터베이스 > 데이터베이스 설계' 카테고리의 다른 글
물리적 설계와 구현 (0) | 2024.06.08 |
---|---|
논리적 설계 (0) | 2024.06.08 |
요구 사항 분석 (0) | 2024.06.07 |
데이터베이스 설계 단계 (0) | 2024.06.07 |