Python Faker로 더미 데이터 생성 (2/2)

컴클로딩·2022년 8월 13일
0

더미 데이터 생성

목록 보기
2/2
post-thumbnail
post-custom-banner

📍 Intro

  • 더미 데이터를 어떻게 만드냐도 문제인데 연관관계까지 생각해서 저장을 해야하는데...

  • 생성해야하는 테이블의 순서 user -> brand , category -> product -> order, restock_notification

1. user 테이블

  • user_id : 랜덤값 ❌, 1부터 증가
  • emial : 이메일 관련 랜덤값 => fake.ascii_free_email(), fake.free_email() 차이는?!
  • password : 랜덤값 ❌, 1234를 암호화
  • role : USER, ADMIN 랜덤인데 USER이 비중이 더 많이

2. brand 테이블

  • brand_id : 랜덤값 ❌, 1부터 증가
  • name : 브랜드명 관련 랜덤값
  • user_id : 랜덤값 ❌, user 테이블에 있는 id 값 + role이 Admin인 경우!

3. category 테이블

  • category_id : 랜덤값 ❌, 1부터 증가
  • category : 랜덤값 ❌
  • parent_cateogry : 랜덤값 ❌, category 테이블에서 상위 category에 해당하는 ID값 + 최상위 category일 때는 null값

👉🏻 결론적으로, category테이블은 미리 카테고리를 정해서 테이블을 생성하고 생성된 category의 id값을 랜덤하게 product 테이블에 배정해야겠다.
ex)

{
	"id" : 1
	"category" : "상의",
    "parent_cateogry" : null
}

{
	"id" : 2
	"category" : "반팔 티셔츠",
    "parent_cateogry" : 1
}

...

4. product 테이블

  • product_id : 랜덤값 ❌, 1부터 증가
  • brand_id : 랜덤값 ❌, 브랜드 테이블에 있는 id 값
  • name : 옷 관련 랜덤값
  • thumbnail : 저작권 없는 이미지 주소 더미 데이터
  • category_id : 랜덤값 ❌, 카테고리 테이블에 있는 id 값
  • price : 1000원부터 10,000,000원까지 랜덤 값(단, 100원 단위 ex, 92,010원 ❌ 92,100원 ⭕)
  • amount : 0개 ~ 999개 랜덤값
  • review_num : 0개 ~ 50,000개 랜덤값
  • review_avg : 0점 ~ 5점(0.1단위) 랜덤값

5. order 테이블

  • order_id : 랜덤값 ❌, 1부터 증가
  • user_id : 랜덤값 ❌, user 테이블에 있는 id 값
  • product_id : 랜덤값 ❌, product 테이블에 있는 id 값
  • amount : 0개 ~ 10개 랜덤값
  • totalPrice : 랜덤값 ❌, product_id의 price의 값 * amount 값!
  • createdAt : LocalDateTime 랜덤값 => fake.iso8601()

6. restock_notification 테이블

  • restock_id : 랜덤값 ❌, 1부터 증가
  • user_id : 랜덤값 ❌, user 테이블에 있는 id 값
  • product_id : 랜덤값 ❌, product 테이블에 있는 id 값
  • alarm_flag : 랜덤값 ⭕, product_id의 amount값이 0일 경우에서 False, True 랜덤값
profile
어떠한 가치를 창출할 수 있을까를 고민하는 개발자. 주로 Spring으로 개발해요. https://comclothing.tistory.com/ 👈🏻티스토리 블로그로 이전 완료
post-custom-banner

0개의 댓글