[DB] 프로젝트를 위한 RDBMS 설계방법2 - 개념적 설계

Seungju Hwang·2021년 2월 25일
3

CS

목록 보기
2/10
post-thumbnail

Intro

앞서 저는 RDBMS를 제대로 설계해야 하는 이유에 대해 이야기를 해봤습니다. 그럼 진짜 해봐야겠죠..?

RDBMS를 설계하기 위해선 개념적 설계논리적 설계물리적 설계 의 단계가 필요합니다. 그리고 개념적설계 에 앞서 요구사항 명세서를 정확하게 분석을 해야 하구요.

참! ERD에 대해 알고 있어야 개념적 설계를 할 수 있습니다.


0. ERD?

Entity Relationshop Diagram의 약자로서 테이블 간의 관계를 설명해주는 다이어그램입니다. 설계방법1에서 제가 보여드린 이미지가 바로 ERD입니다. ERD를 그릴 때 숙지해야 할 기호가 있습니다.

개체간의 관계를 위의 그림으로 표시합니다.


1. 요구사항 분석

데이터베이스에 대한 사용자의 요구사항을 수집하고 분석하여 아래와 같은 요구사항(기능) 명세서를 작성합니다.

  • 예) 보드 구독 커뮤니티 DB

보드를 구독하려면 아이디,구독여부가 있어야합니다.
유저는 여러 보드를 구독할 수 있습니다.
보드를 구독했다면 글작성, 댓글작성, 좋아요 뿐만 아니라 여러 부가기능을 사용할 수 있습니다.
유저는 또한 여러 글, 댓글을 작성할 수 있습니다.
보드에 대한 정보 보드설명, 보드추가기능여부를 저장하고 있습니다.
유저에 대한 정보 아이디,실명, 비밀번호, 구독여부를 가지고 있습니다.
글에 대한 정보 아이디,글내용,글쓴날짜,어떤 보드에 해당하는 지 가지고 있습니다.


2. 개념적 설계

작성한 요구명세서에서 데이터베이스를 구성하는 데 필요한 개체, 속성, 개체 간의 관계를 추출하여 ERD를 생성합니다.

  • 개체(Entity)속성(Attribute)를 추출합니다.

    대부분 명사

  • 개체간의 관계(Relationship)를 추출합니다.

    대부분 동사
    관계에 속한 속성도 있을 수 있다.
    1:1, 1:N, N:M
    필수적참여, 선택적 참여


2-1 개체와 속성 추출

보드를 구독하려면 아이디,구독여부가 있어야합니다.
유저는 여러 보드를 구독할 수 있습니다.
보드를 구독했다면 글작성, 댓글작성, 좋아요 뿐만 아니라 여러 부가기능을 사용할 수 있습니다.
유저는 또한 여러 글, 댓글을 작성할 수 있습니다.
보드에 대한 정보 보드설명, 보드추가기능여부를 저장하고 있습니다.
유저에 대한 정보 아이디,실명, 비밀번호, 구독여부를 가지고 있습니다.
에 대한 정보 아이디,글내용,글쓴날짜,어떤 보드에 해당하는 지 가지고 있습니다.

2-2 개체 간의 관계 추출

보드를 구독하려면 아이디,구독여부가 있어야합니다.
유저는 여러 보드를 구독할 수 있습니다.
보드를 구독했다면 글작성, 댓글작성, 좋아요 뿐만 아니라 여러 부가기능을 사용할 수 있습니다.
유저는 또한 여러 글, 댓글을 작성할 수 있습니다.
보드에 대한 정보 보드설명, 보드추가기능여부를 저장하고 있습니다.
유저에 대한 정보 아이디,실명, 비밀번호, 구독여부를 가지고 있습니다.
글에 대한 정보 아이디,글내용,글쓴날짜,어떤 보드에 해당하는 지 가지고 있습니다.
글은 하나의 아이디,하나의 보드에 해당합니다.

2-3 개념 설계 기반으로 ERD 생성

  • IE 표기법을 사용해서 관계를 표기한다.
profile
기록하는 습관은 쉽게 무너지지 않아요.

0개의 댓글