개발 Q&A

제목 스마트폰 비교 이력 히스토리 테이블 작성하고 있습니다.
카테고리 DB
글쓴이 AMKORDB 작성시각 2019/03/26 22:05:35
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 140   RSS

크게 테이블이

member(회원)

ownership_product(자기가 소유한 스마트폰)

product(팔려고 하는 중고 스마트폰)

selected_product (찜한 중고 스마트폰)

compare_history(스마트폰 비교 이력)

 

우선 솔류션이 자기 자신이 소유한 스마트폰과 중고 스마트폰을 비교 하는 사이트를 만들려고 합니다.

 

기존 가지고 있는 스마트폰을 팔려고 하면 product 테이블에 추가 되고

추가적으로 일반적으로 자기 소유한 스마트폰을 등록도 할수 있습니다.

그리고 중고 스마트폰 list에서 해당 스마트폰을 찜 할수도 있습니다.

 

크게 비교를 2가지 유형으로 할수 있는데요.

 

1. 중고 스마트폰 VS 자기가 소유한 스마트폰 비교

2. 중고 스마트폰 VS 내가 찜한 스마트폰 비교 

 

각각의 유형을 compare_history 테이블 저장 할려고 합니다.

 

member 테이블

id name
1 홍길동
2 아무개

 

ownership_product(자기가 소유한 스마트폰)  

id member_id name price
1 1 갤럭시S6 2211
2 2 아이폰X 3242

 

 

product(중고 스마트폰)

 
id member_id name price
1 1 갤럭시S2 1111
2 1 아이폰4S 1244
3 2 아이폰3S 999


selected_product (찜한 중고 스마트폰)

id member_id product_id  
1 2 1  
2 2 2  

 

 

compare_history(스마트폰 비교 이력)

id member_id(누가 비교했는지) product_id(어떤 제품을 비교했는지) selected_product_id(어떤 찜한 제품하고 비교했는지)  
1 2 1 2  
2 2 2 1  
3 1 3 null  
         

 

 

문제는 compare_history 테이블 입니다.

앞서 설명한대로 2가지 유형으로 비교 할수 있는데요

 

1. 중고 스마트폰(product 테이블) VS 자기가 소유한 스마트폰 비교 (ownership_product 테이블)

2. 중고 스마트폰 VS 내가 찜한 스마트폰 비교 (selected_product_id 테이블)

 

 

compare_history 테이블에서 selected_product_id값이 있다면!

 

2번 유형으로 비교한것이고

 

만약 자기가 소유한 스마트폰으로 비교했다면

 

1번 유형으로 비교한것입니다.

 

1번 유형경우 selected_product_id값이 NULL 입니다 ㅠ,ㅠ

먼가 찜찜하다는 생각? ㅠ,ㅠ 정말 드네요 ㅠ,ㅠ

 

정말 DB 처음에 잘 짜여야 하는데

 

물어볼사람이 없어서 이렇게 질문 드립니다 ㅠ,ㅠ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

선배님들 부탁드립니다. 좋은 DB 구조 잡아주시길 이렇게 부탁드립니다 ㅠ,ㅠ 

 

분명 저런 구조는 틀린건데 ㅠㅠ

 

 

 

 

 

 다음글 회원 권한 레벨 체크 하는방법 알수있나요? (3)
 이전글 CI_Email 라이브브러리에서 protocol = m... (3)

댓글

변종원(웅파) / 2019/03/27 10:26:15 / 추천 0

compare_history 에 회원번호, 상품번호1, 유형1, 상품번호2, 유형2 로 하시면 됩니다.

내 소유폰이 한개라고 할수는 없고 내 소유폰1 vs 중고폰, 내 소유폰2 vs 중고폰 이 가능해야 해서 

나(회원번호)를 기준으로 비교한 번호의 유형1, 2로 구분을 해주시면 됩니다.