ERD 작성하기 (가계부)

송민준·2022년 2월 25일
0

가계부

목록 보기
1/1

간단하게 가계부를 만들 생각입니다.
단순하게 이메일과 비밀번호로 로그인해서 사용자마다 가계부를 보여주고 수정할 수 있는 기능을 구현할 예정입니다.

데이터베이스를 구현해본 적이 없었기 때문에 블로그를 서핑하며 다들 어떻게 구현을 시작하는지 보니까 ERD(Entity-Relation Diagram)을 작성하는 모습이 많이 보였습니다.
ERD 작성 툴은 무료로 사용할 수 있는 diagram.net을 사용했습니다.

막상 작성하려니 엔티티간에 관계에 대한 이해가 부족해선지 막막했습니다.
그 중 외래키가 가장 헷갈렸는데 헷갈린 이유가 외래키가 무엇인지 혼동해서였습니다.
'기본키: 학번 테이블 상 학번, 외래키: 수강신청 테이블에서 학번' 라고 이해하니까 한층 명확해졌습니다.
학번 테이블에서 학번을 가진 행은 오직 한개 밖에 없지만 수강신청 테이블에서는 한 학생 당 여러개의 과목을 수강할 수 있으므로 학번을 가진 행은 여러개일 수 있습니다. 그리고 그 과목을 수강한 학생을 찾고 싶을 때 외래키인 학번으로 명확하게 찾을 수 있습니다.


총 3번 다이어그램을 작성해보았습니다.
첫번째는 외래키를 이해하지 못했을 때 작성한 다이어그램이라 재쳐두고
두번째는 유저, 가계부, 트랜잭션으로 구성되어 있으나 가계부의 필요성을 못느껴서
가계부 테이블을 삭제한 다이어그램이 마지막 세번째 다이어그램입니다.

유저 테이블은 유저의 이메일(기본키), 닉네임, 패스워드, 생성 날짜가 속성이고
가계부 테이블은 이메일(외래키), 지출 or 수입, 설명, 장소, 날짜가 속성으로 있습니다.

갈 수록 단출해지는 것을 보니 거창할 필요가 없다는 것을 느꼈습니다.

profile
개발자

0개의 댓글