ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ERD 설계
    Spring 2022. 4. 19. 14:19

    목차

    1. DB 테이블 정의

    2. ERD

    3. 식별 vs 비식별

    4. 언더바케이스 vs 카멜케이스


    1. DB 테이블 정의

     

    Place : 

    • id
    • name
    • average rate
    • latitude  나중에 쓸지는 모르겠지만..
    • longtitude 나중에 쓸지는 모르겠지만2..
    • like count
    • info
    • image
    • phone
    • operating hours 운영시간
    • 엔티티의 생성시간
    • 엔티티의 수정시간
    • region1 : 큰 범주 지역 (서울,부산,충남..)
    • region2 : 작은 범주 지역 (송파구,강북구..)
    • category : 테마 (만화방,전망대..)
    • address : 장소의 주소
    • view count

    Review

    • id
    • image : 이미지를 첨부할지는 논의중
    • content
    • review rating
    • member id - FK
    • place id - FK
    • 엔티티 생성시간
    • 엔티티 수정시간

    Member

    • id
    • name
    • email
    • nickname
    • picture
    • 엔티티 생성시간
    • 엔티티 수정시간

     

    2. ERD

    mySQL workbench 로 생성한 ERD

     

     

    3. 식별 vs 비식별

    ERD 를 작성하면서 고민되었던게 연관관계로 점선을 할 지 실선을 할 지에 대한 것이였다.

    점선은 비식별을 뜻하고, 실선은 식별을 뜻한다.

    식별은 데이터의 정합성을 보장해주는 한편, 비식별은 유연한 설계가 가능하다고 한다.

    결국 db의 확장성을 위해 비식별로 설계하였다.

     

    4. 언더바케이스 vs 카멜케이스

    DB의 컬럼명들을 언더바케이스로 지을지, 카멜케이스로 지을지 고민이 되었다.

    DBA 분들이 주로 언더바케이스를 쓰신다고 알고 있다. 하지만 지금은 DBA분들과 협업하지는 않으므로 논의 끝에 카멜케이스를 선택하였다. 나중에 스프링으로 @Column 값을 지정해서 언더바로 변경해도 좋을 것 같다.

     

     

    'Spring' 카테고리의 다른 글

    에러핸들링 : GlobalExceptionHandler  (0) 2022.04.28
    스프링부트 2.6 과 Swagger-ui 가 호환 안되는 문제  (0) 2022.04.26
    페이징 처리  (0) 2022.04.26
    API 명세서  (0) 2022.04.19
    협업 프로젝트 시작  (0) 2022.03.22
Designed by Tistory.