๊ด€๋ฆฌ ๋ฉ”๋‰ด

Tech Log ๐Ÿ› ๏ธ

์ฟ ํŒก DB ์„ค๊ณ„, ERD ์„ค๊ณ„ ๋ณธ๋ฌธ

Mysql , DB

์ฟ ํŒก DB ์„ค๊ณ„, ERD ์„ค๊ณ„

sehaan 2023. 1. 3. 12:01

์ „์ฒด DB 

 

DB ์„ค๊ณ„์— ์•ž์„œ


     - ์ƒํ™œ์ฝ”๋”ฉ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ๊ฐ•์˜์™€ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ์กฐํ•˜์˜€๋‹ค.

https://velog.io/@sontulip/how-to-db-design

 

DB ์„ค๊ณ„๋Š” ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ• ๊นŒ?

๋„๋Œ€์ฒด ์–ด๋–ป๊ฒŒ ์„ค๊ณ„ํ•ด์•ผ ํ• ๊นŒ? ๐Ÿ˜‚

velog.io

https://www.youtube.com/watch?v=1d38YZKCM88&list=PLuHgQVnccGMDF6rHsY9qMuJMd295Yk4sa 

 

 

ํ…Œ์ด๋ธ” ์„ค๊ณ„

 


- ์ฒ˜์Œ ํ…Œ์ด๋ธ”์„ ์„ค๊ณ„ํ•  ๋•Œ ํ•ต์‹ฌ์ด ๋˜๋Š” ํ…Œ์ด๋ธ”์„ ๋จผ์ € ๋งŒ๋“ค์–ด์ฃผ์—ˆ๋‹ค.

  ๋‚˜๋Š” ํฌ๊ฒŒ ์‚ฌ์šฉ์ž, ์ƒํ’ˆ , ํŒ๋งค์ž , ์ฃผ๋ฌธ  , ๋ฆฌ๋ทฐ ํ…Œ์ด๋ธ”์„ ํ•ต์‹ฌ์œผ๋กœ ๋ณด์•˜๋‹ค.

 

์‚ฌ์šฉ์ž ํ…Œ์ด๋ธ” 

์ฟ ํŒก์˜ ๋งˆ์ดํŽ˜์ด์ง€๋ฅผ ๋ณด๋ฉด ์ฟ ํฐ , ์บ์‹œ , ์ฃผ๋ฌธ๋‚ด์—ญ , ์ฃผ์†Œ ๋“ฑ ์—ฌ๋Ÿฌ ์ •๋ณด๋“ค์ด ์žˆ๋‹ค.

์ด ์ •๋ณด๋“ค์ด ์œ ์ € ํ…Œ์ด๋ธ”์„ ์ค‘์‹ฌ์œผ๋กœ ์„œ๋กœ ์ฐธ์กฐ๋  ์ˆ˜ ์žˆ๋„๋ก ERD๋ฅผ ์„ค๊ณ„ ํ•˜์˜€๋‹ค.

 

๏ฟผ์‚ฌ์šฉ์ž ํ…Œ์ด๋ธ” ๊ตฌ์„ฑ

์ผ๋‹จ ์œ ์ €ํ…Œ์ด๋ธ”์—๋Š” ๋น„๋ฐ€๋ฒˆํ˜ธ , ์ด๋ฆ„๊ณผ ๊ฐ™์€ ๊ธฐ๋ณธ๋žจ ์ •๋ณด๋งŒ ๋“ค์–ด๊ฐ€๊ฒŒ๋” ํ•˜์˜€๋‹ค.

 

1. coupon : ์‚ฌ์šฉ์ž์˜ ์ฟ ํฐ ๋ชฉ๋ก์„ ๋ฐ›๋Š” ํ…Œ์ด๋ธ”์ด๋‹ค. ์ฟ ํฐ ๋ชฉ๋ก๊ณผ ์‚ฌ์šฉ์ž๋Š” N:N ๊ด€๊ณ„์ด๋ฏ€๋กœ ์ค‘๊ฐ„์— ๋งตํ•‘ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค์–ด์ฃผ์—ˆ๋‹ค.

2. search_history : ์‚ฌ์šฉ์ž์˜ ๊ฒ€์ƒ‰ ๋‚ด์—ญ์„ ์ €์žฅํ•œ๋‹ค. ์‚ฌ์šฉ์ž๋“ค๊ฐ„์˜ ๊ฒ€์ƒ‰ ๋ชฉ๋ก์ด ์ค‘๋ณต๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ N:N ๊ด€๊ณ„๋กœ ์„ค์ •ํ•˜์˜€๋‹ค.

3. address : ์‚ฌ์šฉ์ž์˜ ์ฃผ์†Œ ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค.

4. cart : ์‚ฌ์šฉ์ž์˜ ์žฅ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ ์ €์žฅํ•œ๋‹ค. ์ด ํ…Œ์ด๋ธ”์€ ์ƒํ’ˆ ํ…Œ์ด๋ธ” ๋˜ํ•œ ์ฐธ์กฐํ•˜์˜€๋‹ค. ๋•Œ๋ฌธ์— N:N ๊ด€๊ณ„์ด๋‹ค. (์‚ฌ์‹ค์ƒ ๋งตํ•‘ํ…Œ์ด๋ธ”์ž„)

5. wishlists : ์‚ฌ์šฉ์ž์˜ ์ฐœ ๋ชฉ๋ก์„ ์ €์žฅํ•œ๋‹ค. ์ด ๋˜ํ•œ ๋งตํ•‘ ํ…Œ์ด๋ธ”๋กœ ์ƒํ’ˆ ํ…Œ์ด๋ธ”๊ณผ ์œ ์ € ํ…Œ์ด๋ธ”์„ FK๋กœ ์ฐธ์กฐํ•œ๋‹ค.

6. payments_mapping : ์ด ํ…Œ์ด๋ธ”์€ ๊ฒฐ์ œ๋ชฉ๋ก ์ˆ˜๋‹จ๋“ค์„ ์ €์žฅํ•˜๋Š” ๋ฐ payments_list๋ผ๋Š” ํ…Œ์ด๋ธ”์˜ id์™€ ์œ ์ € id๋ฅผ ์™ธ๋ž˜ํ‚ค๋กœ                                                 ๋ฐ›๋Š”๋‹ค.

 

์ƒํ’ˆ ํ…Œ์ด๋ธ”

์ฟ ํŒก ์ƒํ’ˆ ํŽ˜์ด์ง€

์ฟ ํŒก์˜ ์ƒํ’ˆ ํŽ˜์ด์ง€๋ฅผ ๋ณด๋ฉด ์ƒํ’ˆ์˜ ์ œ๋ชฉ, ์˜ต์…˜ , ๋กœ์ผ“๋ฐฐ์†ก ์œ ๋ฌด , ๋ฆฌ๋ทฐ , ์Šค์ฝ”์–ด ๋“ฑ ์—ฌ๋Ÿฌ ์ •๋ณด๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋ฆฌ๋ทฐ ํ…Œ์ด๋ธ”๊ณผ ์˜ต์…˜ ํ…Œ์ด๋ธ”์„ ๋”ฐ๋กœ ๋งŒ๋“ค์–ด์„œ ์ด๋ฆ„ ์ฐธ์กฐ ๋ฐ›๊ฒŒ๋” ํ•˜์˜€๋‹ค.

 

์ƒํ’ˆ ํ…Œ์ด๋ธ”์—๋Š” FK๊ฐ€ ๋“ค์–ด๊ฐ€๋Š”๋ฐ ์ด๊ฒƒ์€ ๋ธŒ๋žœ๋“œ ํ…Œ์ด๋ธ”์„ ๋ฅผ ์ฐธ์กฐํ•œ๋‹ค. 

๋˜ํ•œ ๊ฐ€๊ฒฉ , ์ƒํ’ˆ ์ด๋ฆ„๊ณผ ๊ฐ™์€ ๊ธฐ๋ณธ ์ •๋ณด๋“ค์ด ํฌํ•จ๋˜์–ด์žˆ๋‹ค.

 

1. category : ์ƒํ’ˆ์˜ ์นดํ…Œ๊ณ ๋ฆฌ ์ •๋ณด๋ฅผ ์™ธ๋ถ€ ํ…Œ์ด๋ธ”๋กœ ๋นผ์ฃผ์—ˆ๋‹ค. ์ด ํ…Œ์ด๋ธ”์€ FK ๊ฐ€ ๋‘๊ฐœ์ธ๋ฐ ํŒ๋งค์ž ํ…Œ์ด๋ธ”๊ณผ ์ƒํ’ˆ ํ…Œ์ด๋ธ” ๋‘ ๊ณณ์„ ์ฐธ์กฐํ•œ๋‹ค.

2. description : ์ƒํ’ˆ์˜ ์ƒ์„ธ ์„ค๋ช…์„ ์ €์žฅํ•œ๋‹ค. ๊ตณ์ด ๋”ฐ๋กœ ๋นผ์ค˜์•ผ ์‹ถ๊ธฐ๋„ ํ•˜๋‹ค..  

3. option : ์ƒํ’ˆ์˜ ์˜ต์…˜ ๊ฐ’์„ ์ €์žฅํ•œ๋‹ค. ์˜ต์…˜ ํ…Œ์ด๋ธ”์€ ์ž์‹ ํ…Œ์ด๋ธ” ํ•˜๋‚˜๋ฅผ ๋” ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ ์ด๊ฒƒ์€ ์˜ต์…˜์˜ ์ƒ์„ธ ์ •๋ณด(Ex. ๊ฐ€๊ฒฉ , ์ˆ˜๋Ÿ‰)๋ฅผ ๊ฐ€์ง€๊ณ ์žˆ๋‹ค.

4. brand : ์ƒํ’ˆ์˜ ๋ธŒ๋žœ๋“œ๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š”๋ฐ ์ƒํ’ˆ๊ณผ ๋ธŒ๋žœ๋“œ๋Š” N:1 ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ƒํ’ˆ ํ…Œ์ด๋ธ”์ด FK๋ฅผ ๊ฐ€์ง„๋‹ค.

5. shipments :  ๋กœ์ผ“ ๋ฐฐ์†ก ,๋กœ์ผ“ ํ”„๋ ˆ์‹œ ๋“ฑ ๋ฐฐ์†ก ์ข…๋ฅ˜ ์ •๋ณด๋ฅผ ๋‹ด๊ณ ์žˆ๋‹ค.

 

์ฃผ๋ฌธ ํ…Œ์ด๋ธ”

์ฃผ๋ฌธ ํ…Œ์ด๋ธ”์€ ํŒ๋งค์ž ์ •๋ณด , ํšŒ์› ์ •๋ณด , ์ƒํ’ˆ ์ •๋ณด ๋“ฑ ๋งŽ์€ ์™ธ๋ž˜ํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. 

์ด๋•Œ ํŒ๋งค์ž ํ…Œ์ด๋ธ”์€ seller ๋ผ๋Š” ํ…Œ์ด๋ธ”๋กœ ๋งŒ๋“ค์–ด์ฃผ์—ˆ๋‹ค.

ํŒ๋งค์ž ํ…Œ์ด๋ธ”์€ ์žฅ๋ฐ”๊ตฌ๋‹ˆ , ์ƒํ’ˆ , ์ฃผ๋ฌธ ๋“ฑ ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์˜ FK ๊ฐ€ ๋œ๋‹ค.

 

๋ฆฌ๋ทฐ ํ…Œ์ด๋ธ”

๋ฆฌ๋ทฐ ํ…Œ์ด๋ธ”์€ ํ…Œ์ด๋ธ” ๋‚ด ์—ฌ๋Ÿฌ ์ •๋ณด๋ฅผ ์ฐธ์กฐํ•˜๊ณ  ๋ณ„์ ์ด๋‚˜ ๋ฆฌ๋ทฐ ์‚ฌ์ง„์€ ๋ณ„๋„์˜ ํ…Œ์ด๋ธ”๋กœ ๋ถ„๋ฆฌํ•ด์ฃผ์—ˆ๋‹ค.

 

1. score : ๋ฆฌ๋ทฐ๋ฅผ ์“ด ์‚ฌ์šฉ์ž id ์™€ ๋ณ„์  ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค.

2. review_photo : ๋ฆฌ๋ทฐ์— ๋“ค์–ด๊ฐ€๋Š” ์‚ฌ์ง„ ์ •๋ณด๋ฅผ ์ €์žฅํ•œ๋‹ค.