-
์ฌ์ฉ ์คํ : Python, MySQL
-
๊ฐ๋ฐ ๊ธฐ๊ฐ : 2021๋ 6์ 4์ผ ~ 6์ 9์ผ
-
์์ฐ ์์ : https://youtu.be/e4CGzLti2Os
-
ํ๋ก์ ํธ ๋ด์ฉ ์์ฝ
- ์ํ ๊ด๋ จ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ IMDB ์ฌ์ดํธ์ tsv ํ์ผ ๋ฐ์ดํฐ๋ค ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ถ์
- ๋๋ง์ ๊ด๊ณํ DB ๋ชจ๋ธ ์ค๊ณ ํ ํ ์ด๋ธ ์์ฑ
- 1์ต ์ฌ๊ฐ์ ๋ ์ฝ๋ ์ฝ์ ๋ฐ ์ธ๋ฑ์ฑ ์ ์ฉ
- Python์ผ๋ก DB์ ์ ๊ทผํ์ฌ ๊ฐ๋จํ ์ฟผ๋ฆฌ ํ๋ก๊ทธ๋จ ์์ฑ
-
์ ์ ๋ฌธ์
-
์ด๋ ค์ ๋ ์ / ๊นจ๋ฌ์ ์
- ์ค๊ณ๋ฅผ ๋ฐ๋ฅ๋ถํฐ ์ค์ค๋ก ํด์ผ ํ๋ค๋ ๊ฒ ์ด๋ ค์ ๋๋ฐ, ์ฃผ์ด์ง ๋ฐ์ดํฐ๋ค์ ์์ฑ ๋ฐ ๊ด๊ณ๋ฅผ ๋ถ์ํ๊ณ , Entity์ Entity ์ฌ์ด์ ๊ด๊ณ์ ์ข ๋ฅ ๋ฐ Table๊ณผ Table ์ฌ์ด์ ๊ด๊ณ์ ์ข ๋ฅ๋ฅผ ๋์ดํ์ฌ, ์ํฉ์ ๋ง๊ฒ ์ ์ ํ ๊ด๊ณ๋ฅผ ์ ํํจ์ผ๋ก์จ ์ค๊ณ๋ฅผ ์์ฑํ ์ ์์์ต๋๋ค.
- ํ ์ด๋ธ ๊ฐ์ ๊ด๊ณ๋ฅผ ํ ๋์ ์์๋ณผ ์ ์๊ฒ Lucid Chart ํด์ ํตํด Diagram์ผ๋ก ์๊ฐํํ๋, ์ข ๋ ํจ์จ์ ์ผ๋ก ์ค๊ณ๊ฐ ์งํ๋ ์ ์์์ต๋๋ค.
- Python์ผ๋ก ์ฌ๋ฌ ๊ฐ์ ๋ ์ฝ๋๋ฅผ ์ฝ์ ํ ๋๋, execute()๋ณด๋ค๋ executeMany()๊ฐ ํจ์ฌ ์ฝ์ ์ฑ๋ฅ์ด ๋น ๋ฅด๋ค๋ ๊ฒ์ ์์์ต๋๋ค.
- Null, ์๋ฃํ, ๊ตฌ๋ถ์, ์ค์ผ๋ Data ๋ฑ ๋ถ์์ ํ Data๋ค์ Insertํ๋ ๋ฐ์ ์ฌ๋ฌ ๊ฐ์ง ์ค๋ฅ ๋ฐ ์ฅ์ ๊ฐ ๋ฐ์ํ๊ณ , Exception ๋ฐ์ ์ Commit ์ฒ๋ฆฌ๋ฅผ ํจ์ผ๋ก์จ ๋๋ฒ๊น ํ ์ ์์์ต๋๋ค.
- ๋ชจ๋ ๋ ์ฝ๋๋ฅผ ๋ค ์ฝ์ ํ ๋ค์ FK๋ฅผ ADDํ ๋ FK Integrity Exception์ด ๋ฐ์ํ๋ ์ด์ ๊ฐ, 'FK๊ฐ ์ ์ฉ๋ ์ปฌ๋ผ์ ๊ฐ'๋ค ์ค์ 'FK๊ฐ ์ฐธ์กฐํ๋ ์ปฌ๋ผ์ ์๋ ๊ฐ'์ด ํฌํจ๋์ด ์๊ธฐ ๋๋ฌธ์์ ์์์ต๋๋ค. ์ด๋ ์ ๊ทํ๋์ง ์์ Raw ๋ฐ์ดํฐ๋ฅผ DB ๋ด์ ์ ๊ทํ์ํค๋ค ๋ณด๋ ๋ฐ์ํ๋ ๋ฌธ์ ์ ๋๋ค.
- Python์์ DB์ Insertํ๋ ์ค์๋ DB์ Connection ์์ ์ ์ฒด๋ฅผ ์ ์ ํ๊ณ ์๊ธฐ ๋๋ฌธ์, ๋์ค์ Mysql Workbench์์ ๋ ๋ฆฐ ์ฟผ๋ฆฌ๋ Python์ Insert ์์ ์ด ๋๋ ๋๊น์ง ๋์์ด ์ง์ฐ๋๋ค๋ ๊ฒ์ ์์์ต๋๋ค.
- Python์์ DB์ ๋ํ ์์ ์ ์ํ ์ค์ด์ง ์๋๋ผ๋ Connection์ Closeํ์ง ์์ผ๋ฉด ๋ค๋ฅธ ํด๋ผ์ด์ธํธ์๊ฒ Connection์ ํ ๋นํด์ค ์ ์๋ค๋ ๊ฒ์ ์์์ต๋๋ค. ํนํ, ๋น๋ก ์์ค ์ฝ๋์ ๋ง์ง๋ง ๋ถ๋ถ์ Close ๋ช ๋ น์ด๋ฅผ ๋ฐฐ์นํด๋๋๋ผ๋, ์์ค ์ฝ๋์ ์ค๋ฐ๋ถ์์ Exception์ด ๋ฐ์ํ๋ฉด Close ๋ช ๋ น์ด๊ฐ ์คํ๋์ง ์๊ธฐ ๋๋ฌธ์, ํ๋ก๊ทธ๋จ์ ์ข ๋ฃ๋์ด๋ Connection์ Close๋์ง ์์ ์ํ๊ฐ ์ ์ง๋์ด, DB์ ๋ํ ์ ์์ ์๊ตฌ์ ์ผ๋ก ๋ง๋น์ํค๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํจ์ ์๊ฒ ๋์์ต๋๋ค. ์ด๋ฅผ ์ํ ํด๊ฒฐ์ฑ ์ผ๋ก Exception์ Catch๋ฌธ์ Close ๋ช ๋ น์ด๋ฅผ ์ฝ์ ํด์ผ ํ๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค.
-
๋๋ ์
- ์์ ์๋ ์ด๋ก ์ ๋ฐฐ๊ฒฝ ์์ด MySql ์ค๊ณ ๋ฐ ๊ตฌํ์ ๋นํจ์จ์ ์ผ๋ก ๋ฌด์ํ๊ฒ ํ๋๋ฐ ์ด๋ฒ ๊ธฐํ๋ฅผ ํตํด ๊ธฐ์ด์ ์ธ ์ค๊ณ ๋ฐฉ๋ฒ์ ๋ฐฐ์ ๋ณต์กํ ํ ์ด๋ธ ๊ด๊ณ๋ ๊ตฌํํ ์ ์๊ฒ ๋์๊ณ Index๋ฅผ ํตํ ์ฑ๋ฅ ๊ฐ์ ๋ฐฉ๋ฒ๊น์ง ์ตํ ์ ์์ด์, RDB์ ๋ํ ์์ ๊ฐ์ด ์ข ๋ ์๊ฒผ์ต๋๋ค.
- 1์ต ๊ฐ ์ด์์ ๋ฐ์ดํฐ๊ฐ ์๋ DB์์ ๋ณต์กํ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ์ ๋, ์ธ๋ฑ์ค๋ฅผ ์ ์ฉํด๋ ์ฑ๋ฅ์ด ๋๋ฆฐ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ๋๋ฐ, ์ด ๊ฒฝ์ฐ ๋ ๋์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๊ฑฐ๋ ๋ ํจ์จ์ ์ธ ํ ์ด๋ธ ์ค๊ณ๋ฅผ ํด์ผํ ๊ฒ ๊ฐ์ต๋๋ค.
-
Notifications
You must be signed in to change notification settings - Fork 0
JasonYoo1995/imdb_DB_Design_Implementation
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
ย | ย | |||
ย | ย | |||
ย | ย | |||
ย | ย | |||
ย | ย | |||
ย | ย | |||
ย | ย | |||
ย | ย | |||
Repository files navigation
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published