ER다이어그램
관계
1 : 1 (One to One Relationship)
ex. 나라 - 수도. 한 나라는 하나의 수도만을 가진다.
1 : N (One to Many Relationship)
ex. 회원은 여러 전화번호를 가질 수 있다.
N : M (Many to Many Relationship)
ex. 학생은 여러 과목을 수강할 수 있다. 한 과목에 여러 학생이 신청할 수 있다.
학생 ------< 수강신청 >------ 과목
예시1
연락처, 이메일 주소가 반드시 필요하다.
게시글을 작성할 때에는 제목, 내용, 작성자, 작성일 정보가 필요하며 회원은 자신이 게시한 글에 대해
자신도 삭제할 수 없는 삭제금지 옵션을 사용할 수 있다.
회원은 연락처 정보를 1개가 아닌 여러개를 등록하여 사용할 수 있다.
모든 회원은 등록된 게시글에 댓글을 작성할 수 있으며, 댓글에는 댓글내용, 작성자, 추천수 정보가 필요하다.
또한 관리자에 의해 해당 댓글은 삭제될 수 있으나 실제 삭제가 된 것은 아니고 삭제됨 옵션으로 처리하게 한다.
게시글을 카테고리별로 분류하여 관리할 수 있도록 한다. 카테고리는 언제든 추가할 수 있다.
카테고리별로 분류된 후에는 관리자에 의해 해당 카테고리의 모든 게시글을 숨김처리하여 회원들에게
보이지 않을 수 있어야 한다.
회원에 등급을 부여하여 등급별로 차별화된 서비스를 제공하고자 한다. 등급은 브론즈, 실버, 골드, 플래티넘이
있으며, 나중에 다양한 등급이 추가 될 수 있다.
회원 개체에 관리자 유무를 추가하여 해당 회원이 커뮤니티 사이트를 관리할 수 있는 관리자인지 구분하려고
합니다. 관리자에 해당하는 경우 별도의 권한을 부여하여 각 카테고리별 게시판을 관리할 수 있도록 하려합니다.
관리자는 여러명 있을 수 있으며, 각 관리자는 하나의 카테고리 게시글만 관리할 수 있습니다.
게시글을 관리 할 때 해당 게시글을 완전 삭제하거나 숨기기만 하는 작업을 할 수 있습니다.
식별관계 : FK 가 PK 의 일부가 된 경우
비식별관계 : FK 가 일반 속성에 적용된 경우. 까마귀 발이 점선으로 표현된다. (속성창의 identifying 해제)
예시2
재고관리를 위한 데이터베이스 테이블을 생성하려고 한다. 재고관리에는 상품에 대한 정보, 입고/출고 정보, 현 재고 정보를 사용하며 상품에 대한 정보에는 상품명, 상품코드, 구입가, 판매가 정보가 있다.
위의 테이블을 생성하고 난 후 에는 월별/분기별 입출고 현황도 파악할 수 있어야 한다.
이를 위한 ERD 를 생성하세요.
테이블 명세는 ER 다이어그램에서는 표현되지 않은 실제 구현할 정보를 담는다.
- 정규화
제 1 정규화
- 모든 속성은 반드시 하나의 값을 가져야한다.
- 각 속성의 모든 값은 동일한 형식이어야 한다.
- 각 속성들은 유일한 이름을 가져야 한다.
- 레코드들 간에 식별이 가능해야 한다.
제 2 정규화
- 식별자가 아닌 모든 속성들은 식별자 전체 속성에 완전 종속 되어야 한다.
ex. 테이블 A B C D E F 가 있을 때,
A,B 가 PK 인 경우 A 가 C,D 를 식별하고 B 가 E,F 를 식별하면 부분 종속인 경우 이다.
A C D 가 있는 테이블, B E F 가 있는 테이블로 따로 분리해야 완전 종속이 된다.
(컬럼들을 묶어서 식별자로 사용 가능하다 해도 테이블을 나눠 식별자를 1개로 만드는 것이 좋다)
제 3 정규화
- 제 2 정규화를 만족하고 식별자를 제외한 나머지 속성들 간의 종속이 존재하면 안된다.
# 파이널 프로젝트 산출문서 (3월 말 예정)
1. 유스케이스 다이어그램
2. 시퀀스 다이어그램
3. 클래스 다이어그램
4. ER 다이어그램
5. 테이블 명세
6. 목업(MockUp) - 카카오 오븐 활용 가능
'국비' 카테고리의 다른 글
01.10 국비학원 69일차 (Servlet/JSP, MVC model 활용(방명록)) (0) | 2023.01.11 |
---|---|
01.09 국비학원 68일차 (Github Pages 정적웹페이지, Servlet/JSP) (0) | 2023.01.10 |
01.05 국비학원 66일차 (클래스 다이어그램, 시퀀스 다이어그램, ER다이어그램) (0) | 2023.01.06 |
01.04 국비학원 65일차 (starUml 설치, 유스케이스 다이어그램) (0) | 2023.01.05 |
01.03 국비학원 64일차 (평가7) (0) | 2023.01.04 |