๋ฐ์ดํฐ ๋ชจ๋ธ๋ง - ์ปค๋ฎค๋ํฐ ๊ฒ์ํ ๋ง๋ค๊ธฐ: ์๊ตฌ์ฌํญ๋ถํฐ ๊ตฌํ๊น์ง ์ฝ๊ฒ ๋ฐ๋ผํ๊ธฐ!
์ด ์์์ ์ปค๋ฎค๋ํฐ ๊ฒ์ํ ์์คํ
์ ๋ง๋ค๊ธฐ ์ํ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ๊ณผ์ ์ ๋จ๊ณ๋ณ๋ก ์์ธํ ์ค๋ช
ํด ์ค๋๋ค. ์๊ตฌ์ฌํญ ๋ถ์๋ถํฐ ๊ฐ๋
์ ์ค๊ณ, ๋
ผ๋ฆฌ์ ์ค๊ณ, ๋ฌผ๋ฆฌ์ ์ค๊ณ, ๊ทธ๋ฆฌ๊ณ ์ค์ ๊ตฌํ๊น์ง ์ฐจ๊ทผ์ฐจ๊ทผ ๋ฐฐ์ฐ์ค ์ ์์ด์.
๋ชฉ์ฐจ
1.
2.
3.
4.
5.
6.
๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ๊ฐ์์ ์๊ตฌ์ฌํญ ๋ถ์ [00:00:12]
โข
๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ์์คํ
์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ด๋ป๊ฒ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ ์ง ์ค๊ณํ๋ ๊ณผ์ ์ด์์.
โข
๋จผ์ ย ์๊ตฌ์ฌํญ ๋ถ์์ ํตํด ์์คํ
์ ํ์ํ ๊ธฐ๋ฅ๊ณผ ๋ฐ์ดํฐ๋ฅผ ์ ์ํฉ๋๋ค.
โข
์๋ฅผ ๋ค์ด, ์ปค๋ฎค๋ํฐ ๊ฒ์ํ์์๋ ํ์ ๊ด๋ฆฌ, ๊ฒ์๊ธ ์์ฑ, ๋๊ธ ์์ฑ, ํ์ผ ์ฒจ๋ถ ๋ฑ์ด ์ฃผ์ ๊ธฐ๋ฅ์
๋๋ค.
โข
๊ฐ ๊ธฐ๋ฅ๋ณ๋ก ํ์ํ ์ธ๋ถ ์๊ตฌ์ฌํญ์ ์ ๋ฆฌํ๋๋ฐ, ์๋ฅผ ๋ค์ด ํ์ ๊ฐ์
์ ์์ด๋, ์ด๋ฉ์ผ, ๋น๋ฐ๋ฒํธ, ๊ด์ฌ์ฌ ๋ฑ ์ด๋ค ์ ๋ณด๋ฅผ ๋ฐ์์ง ๊ตฌ์ฒดํํฉ๋๋ค.
โข
๋น๊ธฐ๋ฅ์ ์๊ตฌ์ฌํญ(์ฑ๋ฅ, ๋ณด์ ๋ฑ)๋ ๊ฐ๋จํ ๊ณ ๋ คํ์ง๋ง, ํ์ต ๋จ๊ณ์์๋ ํฌ๊ฒ ์ ๊ฒฝ ์ฐ์ง ์์๋ ๋ฉ๋๋ค.
๋น์ :ย ์๊ตฌ์ฌํญ ๋ถ์์ ์๋ฆฌ๋ฅผ ํ๊ธฐ ์ ์ ์ด๋ค ์ฌ๋ฃ๊ฐ ํ์ํ์ง ๋ชฉ๋ก์ ๋ง๋๋ ๊ฒ๊ณผ ๊ฐ์์.
๊ฐ๋
์ ์ค๊ณ: ๊ฐ์ฒด(Entity), ์์ฑ(Attribute), ๊ด๊ณ(Relationship) ์ถ์ถํ๊ธฐ [00:24:14]
โข
๊ฐ์ฒด(Entity): ํ์ค ์ธ๊ณ์์ ๋
๋ฆฝ์ ์ผ๋ก ์กด์ฌํ๋ ๋์, ์) ํ์, ๊ฒ์๊ธ, ๋๊ธ, ํ์ผ
โข
์์ฑ(Attribute): ๊ฐ์ฒด๊ฐ ๊ฐ์ง ํน์ฑ์ด๋ ๋ฐ์ดํฐ, ์) ํ์์ ์์ด๋, ์ด๋ฆ, ์ด๋ฉ์ผ
โข
๊ด๊ณ(Relationship): ๊ฐ์ฒด๋ค ๊ฐ์ ์ฐ๊ฒฐ, ์) ํ์์ด ๊ฒ์๊ธ์ ์์ฑํ๋ค, ๊ฒ์๊ธ์ ๋๊ธ์ด ๋ฌ๋ฆฐ๋ค
โข
๊ฐ์ฒด์ ์์ฑ์ ์๊ตฌ์ฌํญ ๋ฌธ์ฅ์์ ๋ช
์ฌ๋ก, ๊ด๊ณ๋ ๋์ฌ๋ก ์ฐพ์๋ด๋ฉด ๋ฉ๋๋ค.
โข
์ด ๋ด์ฉ์ ๋ฐํ์ผ๋ก **ERD(Entity Relationship Diagram)**๋ฅผ ๊ทธ๋ ค์ ์๊ฐ์ ์ผ๋ก ํํํฉ๋๋ค.
โข
ERD์์๋ ๊ฐ์ฒด๋ ์ฌ๊ฐํ, ์์ฑ์ ํ์, ๊ด๊ณ๋ ๋ง๋ฆ๋ชจ๋ก ํ์ํด์.
์์:ย "ํ์์ด ๊ฒ์๊ธ์ ์์ฑํ๋ค" โ ํ์(๊ฐ์ฒด), ๊ฒ์๊ธ(๊ฐ์ฒด), ์์ฑํ๋ค(๊ด๊ณ)
๋
ผ๋ฆฌ์ ์ค๊ณ: ERD๋ฅผ ๋ฆด๋ ์ด์
์คํค๋ง๋ก ๋ณํํ๊ธฐ [01:00:06]
โข
ERD๋ฅผ ๋ฐํ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ค์ ๋ก ์ ์ฅํ **๋ฆด๋ ์ด์
์คํค๋ง(ํ
์ด๋ธ ๊ตฌ์กฐ)**๋ฅผ ๋ง๋ญ๋๋ค.
โข
๋ณํ ๊ท์น:
1.
๋ชจ๋ ๊ฐ์ฒด๋ ํ
์ด๋ธ๋ก ๋ณํ
2.
1๋๋ค ๊ด๊ณ๋ ์ธ๋ํค(Foreign Key)๋ก ํํ
3.
๋ค๋๋ค ๊ด๊ณ๋ ๋ณ๋์ ํ
์ด๋ธ๋ก ๋ถ๋ฆฌ (์ด๋ฒ ์์ ์๋ ์์)
4.
๊ธฐ๋ณธ ํค(Primary Key)๋ ๊ฐ ํ
์ด๋ธ์ ๊ณ ์ ์๋ณ์
โข
์๋ฅผ ๋ค์ด, ๊ฒ์๊ธ ํ
์ด๋ธ์๋ ํ์ ํ
์ด๋ธ์ ํ์ ๋ฒํธ๋ฅผ ์ธ๋ํค๋ก ํฌํจ์์ผ ๋๊ฐ ์์ฑํ๋์ง ์ฐ๊ฒฐํฉ๋๋ค.
๋ฌผ๋ฆฌ์ ์ค๊ณ: ERDCloud ๋๊ตฌ๋ก ํ
์ด๋ธ ๋ง๋ค๊ธฐ์ ์ธ๋ํค ์ค์ ํ๊ธฐ [01:25:11]
โข
ERDCloud๋ผ๋ ๋ฌด๋ฃ ์น ๋๊ตฌ๋ฅผ ์ฌ์ฉํด ERD์ ๋ฆด๋ ์ด์
์คํค๋ง๋ฅผ ์๊ฐ์ ์ผ๋ก ๋ง๋ค๊ณ ๊ด๋ฆฌํ ์ ์์ด์.
โข
ํ
์ด๋ธ ์์ฑ, ์ปฌ๋ผ ์ถ๊ฐ, ๊ธฐ๋ณธํค ๋ฐ ์ธ๋ํค ์ค์ ์ ์ง๊ด์ ์ธ UI๋ก ์ฝ๊ฒ ํ ์ ์์ต๋๋ค.
โข
์ธ๋ํค ๊ด๊ณ๋ 1๋๋ค, 1๋1, ๋ ํ์ฉ ์ฌ๋ถ ๋ฑ์ ์ค์ ํ ์ ์์ด ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํฉ๋๋ค.
โข
๊ด๊ณ์ ์ ์ค์ (์๋ณ ๊ด๊ณ)๊ณผ ์ ์ (๋น์๋ณ ๊ด๊ณ)์ผ๋ก ๊ตฌ๋ถํด ํ์ํฉ๋๋ค.
๋น์ :ย ERDCloud๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์ฉ '๋์งํธ ๋ํ์ง'๋ผ๊ณ ์๊ฐํ๋ฉด ์ฝ์ต๋๋ค.
๊ตฌํ: SQL DDL ์์ฑ ๋ฐ MySQL์์ ์คํํ๊ธฐ [02:07:37]
โข
์ค๊ณํ ๋ชจ๋ธ์ ๋ฐํ์ผ๋ก SQL์ย DDL(Data Definition Language)ย ๋ฌธ์ฅ์ ์๋ ์์ฑํฉ๋๋ค.
โข
DDL์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ
์ด๋ธ์ ๋ง๋ค๊ณ ์ ์ฝ์กฐ๊ฑด(๊ธฐ๋ณธํค, ์ธ๋ํค ๋ฑ)์ ์ค์ ํ๋ ๋ช
๋ น์ด ๋ชจ์์
๋๋ค.
โข
์์ฑ๋ SQL ์ฝ๋๋ฅผ MySQL ์ํฌ๋ฒค์น๋ VSCode ๊ฐ์ ํด์์ ์คํํด ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง๋ญ๋๋ค.
โข
์คํ ์์์ ์ธ๋ํค ์ ์ฝ์กฐ๊ฑด์ ์ฃผ์ํ๋ฉฐ, ํ์์ ์คํ ์ธํฌ๋ฆฌ๋จผํธ(์๋ ์ฆ๊ฐ) ์ต์
์ ์ถ๊ฐํด ํค ๊ด๋ฆฌ๋ฅผ ํธ๋ฆฌํ๊ฒ ํฉ๋๋ค.
๋ง๋ฌด๋ฆฌ ๋ฐ ์ค๋ฌด ํ [02:16:42]
โข
๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ์๊ตฌ์ฌํญ์ ๋ฐ๋ผ ๊ณ์ ํ์ฅ ๊ฐ๋ฅํ๋๋ก ์ค๊ณํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
โข
์ค๋ฌด์์๋ ์ค๊ณ ๋ฌธ์๊ฐ ์ ์ ๋ฆฌ๋์ด ์์ด์ผ ํ์ ๊ฐ ์ํต๊ณผ ์ ์ง๋ณด์๊ฐ ์ํํฉ๋๋ค.
โข
๋ถ์๊ณผ ์ค๊ณ ๋จ๊ณ๋ถํฐ ์ฐธ์ฌํ๋ ๊ฒฝํ์ด ์์ด๋ฉด ํ๋ก์ ํธ ์งํ์ด ํจ์ฌ ์์ํด์ง๋๋ค.
โข
์จ๋ผ์ธ ์ปค๋ฎค๋ํฐ(OKKY, ์คํ์ค๋ฒํ๋ก์ฐ ๋ฑ)์ AI ๋๊ตฌ(GPT) ํ์ฉ๋ ์ ๊ทน ์ถ์ฒํฉ๋๋ค.
์์ฝ
์ด ์์์ ์ปค๋ฎค๋ํฐ ๊ฒ์ํ ์์คํ
์ ๋ง๋ค๊ธฐ ์ํ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ์ ๊ณผ์ ์ ์น์ ํ๊ฒ ์๋ดํฉ๋๋ค. ์๊ตฌ์ฌํญ ๋ถ์์ผ๋ก ์์ํด ๊ฐ๋
์ ์ค๊ณ(ERD ์์ฑ), ๋
ผ๋ฆฌ์ ์ค๊ณ(๋ฆด๋ ์ด์
์คํค๋ง ๋ณํ), ๋ฌผ๋ฆฌ์ ์ค๊ณ(ERDCloud ๋๊ตฌ ํ์ฉ), ๊ทธ๋ฆฌ๊ณ SQL ์ฝ๋ ์์ฑ๊ณผ ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌํ๊น์ง ๋จ๊ณ๋ณ๋ก ์ฝ๊ฒ ๋ฐ๋ผํ ์ ์๋๋ก ์ค๋ช
ํด์. ์ค๋ฌด์์ ๊ผญ ํ์ํ ํ๊ณผ ๋๊ตฌ ์ฌ์ฉ๋ฒ๋ ํจ๊ป ๋ฐฐ์ธ ์ ์์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ ์
๋ฌธ์์๊ฒ ๊ฐ๋ ฅ ์ถ์ฒํฉ๋๋ค!