๐ ์ค๋์ ํ์ต
SQL ๋ฐ์ดํฐ ๋ถ์
โ ๋ถ์ ๋ชฉ์ ์ค์
โก ์งํ ์ค์ ๋ฐ ๋ถ์ ๊ณํ
โข ๋ฐ์ดํฐ ์ถ์ถ/์ ์ /๊ฐ๊ณต/๋ถ์ -> BI ๋๊ตฌ, Python, R, ์คํ๋ ๋์ํธ
โฃ ๋ฆฌํฌํธ ์์ฑ ๋ฐ ๋ฐํ
๋ฐ์ดํฐ ๋ถ์์ ๋ค์ํ ๋ถ์ผ์ ๋ชฉ์
๋ง์ผํ
, ์์
, ์ ํต, ์ ํ ๊ฐ๋ฐ, ์ฌ์ฉ์ ๊ฒฝํ ์ค๊ณ, ๊ณ ๊ฐ ์ง์, ์ธ์ ๊ด๋ฆฌ ๋ฑ
๊ณ ๊ฐ์ ํ๋ ๋ฐ ํน์ฑ ์ดํด, ๊ฒฌ์ , ์ฑ๊ณผ ์์ธก, ์์ฐ ์ ์ฝ, ๋ฆฌ์คํฌ ๊ด๋ฆฌ, ์ ํ ๊ฐ๋ฐ, ๋ง์ผํ
์ต์ ํ, ์ด์๊ฑฐ๋ ํ์ง ๋ฑ
๊ฑฐ์ ๋ชจ๋ ๋ถ์ผ์์ ๋ค์ํ ๋ชฉ์ ์ผ๋ก ๋ฐ์ดํฐ ๋ถ์ ํ์ฉ
์กฐ์ง๋ง๋ค ํน์ฑ, ๋ถ์๋ชฉ์ ์ด ๋ค๋ฅด๊ณ ๋ฐ์ดํฐ๋ ์ ๊ฐ๊ฐ → ์กฐ์ง์ด ์ํ ์ฐ์
๋ถ์ผ์ ๋๋ฉ์ธ ์ง์๊ณผ ๋ฐ์ดํฐ์ ํน์ฑ์ ์ดํดํ๋ ๊ฒ์ด ์ค์
์งํ ์ค์ ๋ฐ ๋ถ์ ๊ณํ
· ๋ถ์ ์
๋ฌด๋ ์ง๋ฌธ์์ ์์ํ๋ค.
→ ์ง๋๋ฌ์ ๋นํด ์ ๊ท ๊ณ ๊ฐ์ด ์ผ๋ง๋ ๋ง์ด ์ ์
๋์๋๊ฐ?
→ ์๋ณ ํ๋งค ์ถ์ด๊ฐ ์ด๋ ํ๊ฐ?
→ ์ดํ ๊ณ ๊ฐ๊ณผ ์ถฉ์ฑ ๊ณ ๊ฐ์ ํ๋ ํจํด์ ์ด๋ ํ ์ฐจ์ด๊ฐ ์๋๊ฐ?
โซ ์ง๋ฌธ์ ๋ตํ๊ธฐ ์ํ ๋ถ์ ์งํ ์ค์
· ์ง๋ฌธ์ ๋ตํ๊ธฐ ์ํ ๋ฐ์ดํฐ๋ ์ด๋์์ ๋์ค๊ณ ์ด๋์ ์ ์ฅ๋๋๊ฐ? (์ด๋ค ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ฌ ๊ฒ์ธ๊ฐ?)
→ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค : ์ฌ์ฉ์์ ์์ฌ ๊ฒฐ์ ์ ๋์์ ์ฃผ๊ธฐ ์ํ์ฌ ๊ธฐ๊ฐ์์คํ
์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ถ์ ๋ ๋ฐ์ดํฐ๋ฅผ ๊ณตํต์ ํ์์ผ๋ก ๋ณํํด์ ๊ด๋ฆฌํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค
๋ฐ์ดํฐ ์ข ๋ฅ์ ๋ฐ๋ฅธ ํน์ฑ
· ์ ๋ฌด ๋ฐ์ดํฐ : ๊ฐฑ์ ํ, ์ ํฉ์ฑ, ์ ํ๋, ์ ๊ทํ (๊ธฐ์ ์ ๋น์ฆ๋์ค ๊ฒฐ๊ณผ๋ก ์์ฑ๋ ๋ฐ์ดํฐ)
· ๋ง์คํฐ ๋ฐ์ดํฐ(์ ๋ณด๋ฐ์ดํฐ) : ๊ณ ๊ฐ์ ๋ณด, ์ํ์ ๋ณด, ์นดํ ๊ณ ๋ฆฌ ์ ๋ณด ๋ฑ
· ํธ๋์ญ์ ๋ฐ์ดํฐ(ํ๋๋ฐ์ดํฐ) : ๊ตฌ๋งค, ๋ฐฐ์ก, ๋ฆฌ๋ทฐ์์ฑ ๋ฑ
ํธ๋์ญ์ ๋ฐ์ดํฐ ๋ถ์์ ์ํด์๋ ๋ง์คํฐ ๋ฐ์ดํฐ์ ์กฐ์ธ์ด ์ด๋ค์ง๊ฒ ๋๋ค.
· ๋ก๊ทธ ๋ฐ์ดํฐ : ๋์ ํ
์ฌ์ฉ์์ ์ ์์๊ฐ, ํด๋ฆญ์ด๋ฒคํธ, ip, ๊ธฐ๊ธฐ, ์ธ์
๋ฑ์ ์ ๋ณด๋ฅผ ์ ์ฅํ ๋ฐ์ดํฐ
์ฌ์ฉ์ ํ๋ ๋ถ์์ ํตํด ์น/์ฑ์ ui/ux ๊ฐ์ ํ๊ณ ์ ํ ๋ ์ฃผ๋ก ์ฌ์ฉ
์ ํ๋๋ ์
๋ฌด๋ฐ์ดํฐ์ ๋นํด ๋ฎ์ (ํฌ๋กค๋ฌ์ ๋ก๊ทธ ํฌํจ ๊ณ ๋ ค ํ์)
๋ฐ์ดํฐ ๋ถ์ ๊ณผ์
· ํ์ : ๋ฐ์ดํฐ์ ๊ด๋ จ๋ ์ฃผ์ ๋ ๋ฌด์์ธ๊ฐ? ๋ฐ์ดํฐ๋ ์ด๋์ ์์ฑ๋์๋๊ฐ? ์ ์ฅ๋ ํ
์ด๋ธ์ ๋ฌด์์ธ๊ฐ?
· ํ๋กํ์ผ๋ง : ๋ฐ์ดํฐ ์ ํฉ์ฑ, ํ์ง, ๋ถํฌ ๋ฑ์ ํ์
(๊ณ ์ ๊ฐ, ๊ฐ์, ๊ฐ์ ๋ถํฌ/๋ฒ์, ์ด์์น, ์ค๋ณต๊ฐ, ๊ฒฐ์ธก๊ฐ ๋ฑ)
· ์ ์ : ์๋ชป๋ ๋ฐ์ดํฐ, ๋ถ์์ ํ ๋ฐ์ดํฐ, ๊ฒฐ์ธก๊ฐ ์ฒ๋ฆฌ, ํ๋ณํ
· ์
ฐ์ดํ : ๋ถ์ํ ๊ฒฐ๊ณผ ํ
์ด๋ธ์ ๋ง๋๋ ๊ณผ์ (ํ
์ด๋ธ ์กฐ์ธ, ์ปฌ๋ผ ์ ํ, ์ง๊ณ ๋ฑ)
· ๋ถ์ : ํต๊ณ, ์๊ฐํ ๋ฑ
ํ ์ด๋ธ ๊ด๊ณ
ERD ์์ ๋ํ๋ ๊ฐ ํ ์ด๋ธ ๊ฐ์ ๊ด๊ณ๋ฅผ ํ์ํ๋ ๋ฐฉ๋ฒ์ ์๋์ ๊ฐ๋ค.
1๋ฒ | 2๋ฒ |
· ํ๋์ ์ํ์ 0~1๊ฐ์ ์นดํ
๊ณ ๋ฆฌ ์กด์ฌ · ํ๋์ ์นดํ ๊ณ ๋ฆฌ์ 0~N๊ฐ์ ์ํ์ด ์กด์ฌ |
· ํ๋์ ์ฃผ๋ฌธ์ 0~N๊ฐ์ ์ฃผ๋ฌธ๋ด์ญ ์กด์ฌ · ํ๋์ ์ฃผ๋ฌธ ๋ด์ญ์ 1๊ฐ์ ์ฃผ๋ฌธ ์กด์ฌ |
์์ฑ
๊ธฐ๋ณธ ์์ฑ | · ์ ๋ฌด๋ก๋ถํฐ ์ถ์ถํ ์์ฑ |
์ค๊ณ ์์ฑ | · ๋ชจ๋ธ๋ง์ ์ํด ์์ฑ๋ ์์ฑ ์) ์ฝ๋, ์ผ๋ จ๋ฒํธ |
ํ์ ์์ฑ | · ๋ค๋ฅธ ์์ฑ์ผ๋ก๋ถํฐ ๊ณ์ฐ๋๊ฑฐ๋ ๋ณํ๋ ์์ฑ ์) ์ด ์ฃผ๋ฌธ๊ธ์ก, ํ ์ธ ์ ์ฉ๋ ๊ธ์ก |
์๋ณ์
๋ํ์ฑ ์ฌ๋ถ | ์ฃผ ์๋ณ์ | · Primary Key๋ก ์ง์ ์) ์ฌ์ฉ์id · ์ ์ผ์ฑ, ์ต์์ฑ, ๋ถ๋ณ์ฑ, ์กด์ฌ์ฑ(null x) |
๋ณด์กฐ ์๋ณ์ | · Unique๋ก ์ง์ ์) ์ฃผ๋ฏผ๋ฒํธ, ์ด๋ฉ์ผ ์ฃผ์ | |
์์ฑ์ ์ | ๋จ์ผ ์๋ณ์ | · ํ๋์ ์์ฑ์ผ๋ก๋ง ์ด๋ฃจ์ด์ง ์๋ณ์ |
๋ณตํฉ ์๋ณ์ | · ๋๊ฐ ์ด์ ์์ฑ์ผ๋ก ์ด๋ฃจ์ด์ง ์๋ณ์ | |
์ค์ค๋ก ์์ฑ ์ฌ๋ถ | ๋ด๋ถ ์๋ณ์ | · ์ํฐํฐ ๋ด๋ถ์์ ์ค์ค๋ก ๋ง๋ค์ด์ง๋ ์๋ณ์ |
์ธ๋ถ ์๋ณ์ | · ํ ์ํฐํฐ์์ ๊ด๊ณ๋ฅผ ํตํด ํ ์ํฐํฐ๋ก๋ถํฐ ๋ฐ์์ค๋ ์๋ณ์ | |
๋์ฒด ์ฌ๋ถ | ๋ณธ์ง ์๋ณ์ | · ์ ๋ฌด์ ์ํด ๋ง๋ค์ด์ง๋ ์๋ณ์ |
์ธ์กฐ ์๋ณ์ | · ์ธ์์ ์ผ๋ก ๋ง๋ ์๋ณ์ |
์ ๊ทํ
๊ธฐ๋ณธ ๋ฐ์ดํฐ ํ์
๐ป ์ค๋์ ๊ณผ์
๊ทธ๋ฃน ๊ณผ์ - ๋ฐ์ดํฐ์ ํ์ ํ๊ธฐ
โ northwind ๋ฐ์ดํฐ์ ๊ฐ์
์ ์ธ๊ณ์ ์ํ์ ์์ถํ๋ ๊ฐ์์ ์ํํ์ฌ์ ์ํ ๋ฐ์ดํฐ
โก ERD ํ์ธํ๊ธฐ
์์ ๊ฐ์ ๊ฒฝ๋ก๋ก ๋ฐ์ดํฐ์ ์ ERD๋ฅผ ํ์ธํ ์ ์๋ค.
ERD ์ฐ์ธก ํ๋ฉด์ ํ ์ด๋ธ ๋ช ์ ํด๋ฆญํ๋ฉด ํด๋น ํ ์ด๋ธ ์์ญ์ ํ์ํด์ค๋ค.
โข ํ ์ด๋ธ ์ ๋ณด ์ ๋ฆฌ
ํ ์ด๋ธ ๋ชฉ๋ก | |||
ํ ์ด๋ธ๋ช | ํ ์ด๋ธ ์ค๋ช | ๋ฐ์ดํฐ ๊ฐฏ์ | ํน์ด์ฌํญ |
categories | ์ํ ์นดํ ๊ณ ๋ฆฌ(์ด๋ฆ, ์ค๋ช , ์ฌ์ง) | 8 | |
customer_customer_demo | 0 | ์ ๋ณด ์์ | |
customer_demographics | 0 | ์ ๋ณด ์์ | |
customers | ๊ณ ๊ฐ ์ธ์ ์ฌํญ | 91 | |
employee_territories | ์ง์ ์์ญ๋ณ id | 49 | |
employees | ์ง์ ์ธ์ ์ฌํญ | 9 | |
order_details | ์ฃผ๋ฌธ์ ๋ํ ์ ํ ๊ฐ๊ฒฉ, ์, ํ ์ธ์จ | 2155 | |
orders | ์ฃผ๋ฌธ ๋ ์ง์ ๋ฐฐ์ก ์ ๋ณด | 830 | |
products | ์ ํ ์ ๋ณด | 77 | |
region | ์ง์ญ | 4 | |
shippers | ๋ฐฐ์ก ํ์ฌ | 6 | |
suppliers | ๊ณต๊ธ์์ ํ์ฌ์ ์ธ์ ์ฌํญ | 29 | |
territories | ๊ฐ ์ฃผ์ ์์ญ id์ ์ง์ญid | 53 | |
us_states | ๊ฐ ์ฃผ์ ์ฝ์์ ์ง์ญ | 51 |
ํ ์ด๋ธ ์์ธ ์ ๋ณด | |||||||||
ํ ์ด๋ธ๋ช | ์ปฌ๋ผ๋ช | ์ค๋ช | ์๋ฃํ | ์๋ฆฌ์ | ๋ํดํธ๊ฐ | null๊ฐ๋ฅ์ฌ๋ถ | null๊ฐฏ์ | pk | ํน์ด์ฌํญ |
categories | category_id | ์นดํ ๊ณ ๋ฆฌ ID | smallint | NO | 0 | o | |||
categories | category_name | ์นดํ ๊ณ ๋ฆฌ ์ด๋ฆ | character varying | 15 | NO | 0 | |||
categories | description | ์นดํ ๊ณ ๋ฆฌ ์ค๋ช | text | YES | 0 | ||||
categories | picture | ์ฌ์ง | bytea | YES | 0 | ๋ฐ์ดํฐ ๊ด์ธก ๋ถ๊ฐ, ๊ฒฐ์ธกX | |||
customer_customer_demo | customer_id | ๊ณ ๊ฐ ID | character varying | 5 | NO | 0 | o | ๋ฐ์ดํฐ ์์, customers ํ ์ด๋ธ์ pk ์ฐธ์กฐ | |
customers | phone | ๊ณ ๊ฐ ์ฐ๋ฝ์ฒ | character varying | 24 | YES | 0 | phone์ ํ์์ด ์๋ก ๋ค๋ฅด๋ฉฐ, fax์๋ ๋์ผ | ||
customers | fax | ๊ณ ๊ฐ ํฉ์ค๋ฒํธ | character varying | 24 | YES | 22 | phone์ ํ์์ด ์๋ก ๋ค๋ฅด๋ฉฐ, fax์๋ ๋์ผ | ||
employee_territories | employee_id | ์ง์ ID | smallint | NO | 0 | o | employees ํ ์ด๋ธ์ pk ์ฐธ์กฐ | ||
employee_territories | territory_id | ์์ญ ID | character varying | 20 | NO | 0 | o | territories ํ ์ด๋ธ์ pk ์ฐธ์กฐ |
โฃ suppliers ํ ์ด๋ธ ์กฐํํ๊ธฐ
'STARTERS 4๊ธฐ > [STARTERS] TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[STARTERS 4๊ธฐ TIL] #47์ผ์ฐจ(23.04.12) (0) | 2023.04.13 |
---|---|
[STARTERS 4๊ธฐ TIL] #46์ผ์ฐจ(23.04.11) (1) | 2023.04.11 |
[STARTERS 4๊ธฐ TIL] #44์ผ์ฐจ(23.04.07) (0) | 2023.04.10 |
[STARTERS 4๊ธฐ TIL] #43์ผ์ฐจ(23.04.06) (0) | 2023.04.10 |
[STARTERS 4๊ธฐ TIL] #42์ผ์ฐจ(23.04.05) (0) | 2023.04.05 |