Entity Relationship Diagram의 약자로 개체관계도 라고 부릅니다.ERD는 말로서 되어있는 요구분석사항을 그림으로 그려내어 그 관계를 도출하는 것을 말하는데, E-R-D로 모델링하여 실제 데이타베이스의 테이블을 구성해 보도록 하겠습니다.이에 앞서, 이번 프로젝트를 진행하는 데 있어 모델링은 중요하다고 판단되지만, 라라벨 프레임워크에 초점을 맞춰 최대한 간단히 정리하다록 하겠습니다.

객체와 객체와의 관계

  • 하나의 A는 하나의 B로 구성되어 있다 – 1:1 관계

  • 하나의 A는 하나 이상의 B로 구성되어 있다 – 1:N 관계

  • 하나의 A는 하나 이하의 B로 구성되어 있다 – 1: 0 or 1

  • 하나의 A는 0 또는 하나 이상의 B로 구성 되어 있다 – 1: 0 or N

 

실전 프로젝트 모델링

  1. A회원은 여러 개의 게시물을 사용할 수 있다.라는 요구 사항에서는 회원객체와 게시글 객체를 확인할 수 있습니다. 이를 정의 해 보도록 하겠습니다.

  • 회원(Users)

  • 게시판(Boards)

위와 같은 테이블로 정의 되었을 때, 한명의 유저 A가 여러개의 게시물을 소유하기 위해서는 일대 다의 관계를 가지고 있어야 합니다. 물론 A는 게시물을 한개도 없을 수도 있습니다. 이를 E-R-D로 표현 한다면 다음과 같습니다.

model-img-001.png

  1. A게시물에는 여러개의 답글을 여러 사람이 작성할 수 있다. 그리고 답글에는 좋아요 또는 싫어요를 표시 할 수 있다.라는 요구사항에서는 게시글 객체와 답글이라는 객체를 확인 할 수 있습니다. 이를 정의 해 보도록 하겠습니다.

  • 게시판(Boards)

  • 답글(Replys)

위와 같은 테이블로 정의 되었을 때, 한명의 유저 A가 작성한 여러개의 게시물 중 하나가 여러개의 답글을 소유하기 위해서는 일대 다의 관계를 가지고 있어야 합니다.물론 A게시물에 대한 답글은 한 개도 없을 수도 있습니다.이를 E-R-D로 표현 한다면 다음과 같습니다.

model-img-002.png

위와 같이 부족하지만, 머릿 속에 존재하는 생각을 좀더 구체적으로 실습에 필요한 모델이 대충(?!) 나왔습니다. 위와 같은 명세로 실제 프로젝트를 진행하면서 좀더 다듬어 보겠습니다.

 

 

 

PHP 라라벨 5 On Mac 포스팅

[PHP 라라벨 5 On Mac] 1 : 다루게 될 내용들

[PHP 라라벨 5 On Mac] 2 : Composer, Valet, Framework

[PHP 라라벨 5 On Mac] 3 : Framework

[PHP 라라벨 5 On Mac] 4 : Routing

[PHP 라라벨 5 On Mac] 5 : 블레이드 템플릿 1 (View)

[PHP 라라벨 5 On Mac] 6 : 블레이드 템플릿 2 (View)

[PHP 라라벨 5 On Mac] 7 : 블레이드 템플릿 3 (View)

[PHP 라라벨 5 On Mac] 8 : 마이그레이션 (Create Table)

[PHP 라라벨 5 On Mac] 9 : 마이그레이션 (컬럼 추가 및 데이타 스토리 엔진 설정)

[PHP 라라벨 5 On Mac] 10 : 마이그레이션 (적용)

[PHP 라라벨 5 On Mac] 11 : 마이그레이션 (컬럼 수정)

[PHP 라라벨 5 On Mac] 12 : Laravel Tinker Shell

[PHP 라라벨 5 On Mac] 13 : Laravel Tinker Shell (쿼리 빌더)

[PHP 라라벨 5 On Mac] 14 : 엘로퀀트 ORM 1

[PHP 라라벨 5 On Mac] 15 : 엘로퀀트 ORM 2

[PHP 라라벨 5 On Mac] 16 : 엘로퀀트 ORM 3

[PHP 라라벨 5 On Mac] 17 : Controller I

[PHP 라라벨 5 On Mac] 18 : Controller II

[PHP 라라벨 5 On Mac] 19 : Route

[PHP 라라벨 5 On Mac] 20 : 프로젝트

[PHP 라라벨 5 On Mac] 21 : 실전 1: GitHub 계정 생성, Maria DB 세팅

[PHP 라라벨 5 On Mac] 22 : 실전 2: E-R-D 작성(모델)

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *