1. ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ดํด
๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ดํด
๋ชจ๋ธ๋ง
- ๋ค์ํ ํ์์ ํ๊ธฐ๋ฒ์ ๋ฐ๋ผ ํ๊ธฐํ๋ ๊ฒ, ์ผ์ข ์ ์ฝ์(๊ทธ๋ฆผ, ๊ธฐํธ, ์์)์ ๋ฐ๋ผ ์ฌ๋ฌ ํ์์ ์๊ธฐ ์ฝ๊ฒ ํํํ ์งํฉ์ฒด
๋ชจ๋ธ๋ง ์ข ๋ฅ
- ์ ๋ณด์์คํ : ์ ๋ณด ๋ชจ๋ธ๋ง, ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง, ํ๋ก์ธ์ค ๋ชจ๋ธ๋ง ๋ฑ / ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง = ๋ณต์กํ ๋ฐ์ดํฐ๋ฅผ ์ปดํจํฐ ์ ์ฅ ๊ตฌ์กฐ๋ก ๋ณํ(๋ฐ์ดํฐ ๊ตฌ์กฐํ, ์ฒด๊ณํ)
- ์๋ฆฌ: ๊ณตํ ๋ถ์ผ์ ๋ฏธ๋ถ ๋ฐฉ์ ์, ์ํ ๋ฐฉ์ ์, ์์คํ ๋ฐฉ์ ์, ์์คํ ํจ์ ๋ฑ
- ํต๊ณ(ํ๋ฅ ): ํ๋ฅ ํ์ ⇒ ์ฐจํธ, ํ, ์์์ผ๋ก ํํ, ๋ฐ์ดํฐ ๋ถ์์์ ํ์ฉ
- ํ๋ก: ํ์ ์์๋ฅผ ์ด์ฉํด ์ฐ์ฐ์ ์ํํ๋ ํ๋ก๋ฅผ ํํ
๋ชจ๋ธ๋ง ํน์ง
- ์ถ์ํ(์ถ์์ ์ผ๋ก ์ค์ํ ์์๋ง), ๋จ์ํ(์ฝ์์ ๋ฐ๋ผ ๊ธฐํธ, ๊ทธ๋ฆผ, ๋ฌธ์๋ก ๋จ์ํ๊ฒ), ๋ช ํํ(๋๊ตฌ๋ ์ดํดํ๊ธฐ ์ฝ๊ฒ)
์ ๋ณด์์คํ ๋ชจ๋ธ๋ง์ ์ธ๊ฐ์ง ๊ด์
- ๋ฐ์ดํฐ ๊ด์ (What): ์ด๋ค ๋ฐ์ดํฐ์ ๊ด๋ จ ์๋์ง, ๊ด๊ณ๋ ์ด๋ค์ง
- ํ๋ก์ธ์ค ๊ด์ (How): ์ค์ ๋ก ์ฒ๋ฆฌํ๋ ์ผ์ด ๋ฌด์์ธ์ง, ๋ฌด์์ ํด์ผํ๋์ง
- ๋ฐ์ดํฐ์ ํ๋ก์ธ์ค์ ์๊ด ๊ด์ (Interaction): ๋ฐ์ดํฐ๊ฐ ์๋ก ์ด๋ค ์ํฅ์ ์ฃผ๊ณ ๋ฐ๋์ง
๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
- ์ ๋ณด์์คํ ๊ตฌ์ถ์ ์ํด ๋ฐ์ดํฐ ๊ด์ ์์ ์ ๋ฌด๋ฅผ ๋ถ์ํ๊ณ , ํ์ค์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์๋ ํ๊ธฐ๋ฒ์ผ๋ก ํํํ๋ ๊ณผ์ (์ค๋ฌด์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌ์ถํ๊ธฐ ์ํ ๋ถ์/์ค๊ณ ๊ณผ์ )
๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ด ์ ๊ณตํ๋ ๊ธฐ๋ฅ
- ์์คํ ๊ฐ์ํ ์ง์, ์์คํ ๊ตฌ์กฐ์ ํ๋ ๋ช ์ธํ, ๊ตฌ์กฐํ๋ ํ ์ ๊ณต, ๋ฌธ์ํ, ๋ค์ํ ๊ด์ ์ ๊ณต, ์์ธ ์์ค์ ๊ตฌ์ฒดํ
๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ์ค์์ฑ
- ํ๊ธํจ๊ณผ, ๋ณต์กํ ์ ๋ณด ์๊ตฌ ์ฌํญ์ ๊ฐ๊ฒฐํ๊ฒ ํํ, ๋ฐ์ดํฐ ํ์ง ํฅ์
๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ์ ์์
- ์ค๋ณต ์ต์ํ, ๋น์ ์ฐ์ฑ ๋ฎ์ถค
๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ 3๋จ๊ณ
- ๊ฐ๋ ์ (์ถ์ํ ์์ค ๋๊ณ ํฌ๊ด์ ) → ๋ ผ๋ฆฌ์ (ํค, ์์ฑ, ๊ด๊ณ ํํ ๋ฐ ๋์ ์ฌ์ฌ์ฉ์ฑ) → ๋ฌผ๋ฆฌ์ (๋ฌผ๋ฆฌ์ ์ฑ๊ฒฉ ๊ณ ๋ คํ์ฌ ์ค์ DB ๊ตฌ์ฑ ์ค๊ณ)
ํ๋ก์ ํธ ์๋ช ์ฃผ๊ธฐ์์์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
๊ณํ ๋จ๊ณ | ๋ถ์ ๋จ๊ณ | ์ค๊ณ ๋จ๊ณ | |
์ด๋ก | ๊ฐ๋ | ๋ ผ๋ฆฌ | ๋ฌผ๋ฆฌ |
์ค๋ฌด | ๊ฐ๋ +๋ ผ๋ฆฌ | ๋ฌผ๋ฆฌ |
๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์์ ๋ฐ์ดํฐ ๋ ๋ฆฝ์ฑ์ ์ดํด
- ๋ฐ์ดํฐ ๋
๋ฆฝ์ฑ = ์ฌ์ฉ์์ ์ ๊ทผ ์ ํ์ ๋ฐ๋ผ ๋ฐ์ดํฐ ๊ตฌ์ฑ ๋ฐฉ๋ฒ์ด ์ํฅ์ ๋ฐ์ง ์์์ผ ํจ
- ๊ตฌ์ฑ ๋ฐฉ๋ฒ์ด ๋ฌ๋ผ์ง๋ฉด → ๋ณต์ก๋, ์ค๋ณต์ฑ, ๋น์ฉ, ๋์ ์๊ฐ ์ฆ๊ฐ
- ๋ฐ์ดํฐ ๋
๋ฆฝ์ฑ ์ํด Three-Schema Architecture์ 3๋จ๊ณ ํ์ค ๋ชจ๋ธ ์ ์(1978๋
๋ฏธ๊ตญ ํ์ค ํํ(ANSI))
- ์ธ๋ถ ์คํค๋ง(์ฌ์ฉ์ ๊ด์ ): (Sub ์คํค๋ง, View ์คํค๋ง) ์ฌ์ฉ์๊ฐ ๋ณด๋ ๊ฐ์ธ์ ์ธ DB ์คํค๋ง
- ๊ฐ๋ ์คํค๋ง(๋ ผ๋ฆฌ์ ๋จ๊ณ, ํตํฉ ๊ด์ ): ์ ํ๋ฆฌ์ผ์ด์ &์ฌ์ฉ์๊ฐ ํ์๋ก ํ๋ ๋ฐ์ดํฐ๋ฅผ ํตํฉ → ์กฐ์ง ์ ์ฒด์ DB ๊ธฐ์ / ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๊ด๊ณ ์ค๋ช
- ๋ด๋ถ ์คํค๋ง(๋ฌผ๋ฆฌ์ ๋จ๊ณ, ๋ฌผ๋ฆฌ ์ ์ฅ ๊ตฌ์กฐ): ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฌผ๋ฆฌ์ ์ ์ฅ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ถค, ๋ฐ์ดํฐ๊ฐ ์ค์ ์ ์ฅ๋๋ ๋ฐฉ์
- 3๋จ๊ณ ์คํค๋ง๊ฐ ๋ถ๋ฆฌ๋๋ฉด์ ๋
ผ๋ฆฌ์ ๋
๋ฆฝ์ฑ, ๋ฌผ๋ฆฌ์ ๋
๋ฆฝ์ฑ์ผ๋ก ๊ฐ ์์ญ์ ๋
๋ฆฝ์ฑ ์ง์นญ
- ๋ ผ๋ฆฌ์ ๋ ๋ฆฝ์ฑ: ๊ฐ๋ ๋ฐ๋์ด๋ ์ธ๋ถ์ ์ํฅ X
- ๋ฌผ๋ฆฌ์ ๋ ๋ฆฝ์ฑ: ๋ด๋ถ ๋ฐ๋์ด๋ ์ธ๋ถ/๊ฐ๋ ์ ์ํฅ X
- ๋งคํ, ์ฌ์ = ๋ฐ์ดํฐ์ ๋ ๋ฆฝ์ฑ์ ๋ณด์ฅ & ๊ฐ ์คํค๋ง ๊ฐ๋ ์ ๊ธด๋ฐํ ์ฐ๊ฒฐ
๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ์ค์ํ ์ธ๊ฐ์ง ์์
๋ณต์/์งํฉ ๊ฐ๋ & ํ์ /ํด๋์ค | ๊ฐ๋ณ/๋จ์ ๊ฐ๋ & ์ด์ปค๋ฐ์ค/์ธ์คํด์ค | |
์ด๋ค ๊ฒ | ์ํฐํฐ ํ์ | ์ํฐํฐ |
์ด๋ค ๊ฒ์ ์ฑ๊ฒฉ | ์์ฑ | ์์ฑ๊ฐ |
์ด๋ค ๊ฒ ๊ฐ์ ์ฐ๊ด | ๊ด๊ณ | ํ์ด๋ง |
ERD
- ์ฌ๋ฌ ์ํฐํฐ์ ์ํฐํฐ ๊ฐ์ ๊ด๊ณ๋ฅผ ์ดํดํ๊ธฐ ์ฝ๊ฒ ๋์ํํ ๋ค์ด์ด๊ทธ๋จ
- ERD ํ๊ธฐ๋ฒ ๋ชจ๋ธ๋ง ์์ : ์ํฐํฐ ๊ทธ๋ฆฌ๊ธฐ → ๋ฐฐ์น → ์ํฐํฐ ๊ฐ ๊ด๊ณ ์ค์ → ๊ด๊ณ๋ช ๊ธฐ์ → ๊ด๊ณ ์ฐธ์ฌ๋ ๊ธฐ์ → ๊ด๊ณ ํ์ ์ฌ๋ถ ๊ธฐ์
- IE(Information Engineering) ํ๊ธฐ๋ฒ
- ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์์ ๋ง์ด ์ฌ์ฉ
- ๊ตฌ์ฑ ์์: ์ฌ๊ฐํ ์ํฐํฐ, ๋ค์ด์๋ชฌ๋ํ ๊ด๊ณ์ , ์์ฑ์ ๊ดํ ์ธ๋ถ ์ฌํญ
- ๊ด๊ณ์ ๋์ ์O: ํ์ ๊ด๊ณ, ์X: ์ ํ์ ๊ด๊ณ
- ๋ฐ์ปค ํ๊ธฐ๋ฒ
- ์์คํ ๋ด ์ํฐํฐ ๊ฐ ๊ด๊ณ๋ฅผ ๋ณด์ฌ์ฃผ๋ ๋ฐฉ์. ์๋ณ์, ๋น์๋ณ์, ์์ฑ ๊ตฌ๋ถ
- ์ค์ : ํ์ ๊ด๊ณ, ์ ์ : ์ ํ์ ๊ด๊ณ
- #: ์ฃผ์๋ณ์, *: ์ผ๋ฐ ์์ฑ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์์ ์ฃผ๋ก ์ฌ์ฉ
์ข์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์์
- ์์ ์ฑ, ์ค๋ณต ๋ฐฐ์ , ์ ๋ฌด ๊ท์น, ๋ฐ์ดํฐ ์ฌ์ฌ์ฉ, ์์ฌ์ํต, ํตํฉ์ฑ
2. ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์
๋ฐ์ดํฐ๋ฒ ์ด์ค
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์
- ์ฒด๊ณ์ ์ผ๋ก ์ ๋ ฌ๋ ๋ฐ์ดํฐ ์งํฉ
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ์
- (1960) ํ๋ก์ฐ์ฐจํธ ์ฌ์ฉํ ํ์ผ ๊ตฌ์กฐ ๋ฐฉ์ → (1970) ๊ณ์ธตํ, ๋งํ → (1980) ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฉํ → (1990) ๊ฐ์ฒด ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๋ฐ์
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํน์ง
- ์ ๊ทํ๋ฅผ ํตํด ๋ฐ์ดํฐ ์ค๋ณต ์ต์ํ, ๋์์ฑ ๊ด๋ฆฌ์ ๋ณํ ์ ์ด ๊ธฐ๋ฅ ์ ๊ณต
- ๋ฉํ ๋ฐ์ดํฐ ๊ด๋ฆฌ, ๋ฐ์ดํฐ ํ์คํ, ๋ณด์ ๊ธฐ๋ฅ, ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ๋ณด์ฅ, ์ฅ์ ๋ณต๊ตฌ ๊ธฐ๋ฅ ์ ๊ณต
SQL ๊ฐ์
SQL ์ ์
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ๋ฅผ ์ ์, ์กฐ์, ์ ์ดํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์ธ์ด
- SQL ๋ชฉํ : ์ ํํ ๋ฐ์ดํฐ ์ถ๋ ฅ / SQL ํ๋ ๋ชฉํ : ์์คํ ์์์ ํจ์จ์ ์ฌ์ฉ
SQL ๋ช ๋ น๋ฌธ ์ข ๋ฅ
- ๋ฐ์ดํฐ ์กฐ์์ด DML(Data Manipulation Language) : ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐ/์์ /์ญ์ /์กฐํ
- INSERT(์ถ๊ฐ), UPDATE(์์ ), DELETE(์ญ์ ), SELECT(์กฐํ)
- ๋ฐ์ดํฐ ์ ์์ด DDL(Data Definition Language) : ๊ฐ์ฒด(ํ
์ด๋ธ, ์ธ๋ฑ์ค, ๋ทฐ)๋ฅผ ์์ฑ/์์ /์ญ์
- CREATE(์์ฑ), ALTER(์์ ), DROP(์ญ์ )
- ๋ฐ์ดํฐ ์ ์ด์ด DCL(Data Control Language) : ๊ถํ ์ค์ ๋ฐ ์ ์ด
- GRANT(๋ถ์ฌ), REVOKE(์ทจ์)
- ํธ๋์ญ์
์ ์ด์ด TCL(Transaction Control Language) : ํธ๋์ญ์
๊ด๋ฆฌ
- COMMIT(์๊ตฌ ์ ์ฉ), ROLLBACK(์์ ์ทจ์ ํ ๋ณต๊ตฌ), SAVEPOINT(๋ถ๋ถ์ ๋กค๋ฐฑ)
ํ ์ด๋ธ
- ํ ์ด๋ธ : ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ 2์ฐจ์ ๊ตฌ์กฐ์ ๊ฐ์ฒด, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ๋ณธ ๋จ์
- ์นผ๋ผ(์ด): ์ธ๋ก ๋ฐฉํฅ, ํน์ ๋ฐ์ดํฐ ์์ฑ์ ๋ํ๋
- ํ: ๊ฐ๋ก ๋ฐฉํฅ, ๊ฐ๋ณ ๋ฐ์ดํฐ ํญ๋ชฉ
- ํ๋: ์นผ๋ผ๊ณผ ํ์ด ๊ฒน์น๋ ํ๋์ ๊ณต๊ฐ, ๊ฐ๋ณ ๋ฐ์ดํฐ ๊ฐ
๋ฐ์ดํฐ ํ์
๋ฐ์ดํฐ ํ์ ์ ์
- ํด๋น ๋ฐ์ดํฐ์ ์ ์ฅ ๊ณต๊ฐ ์ ํ์ ์ ์ํ๋ ๊ธฐ์ค, ์๋ชป๋ ํ์ ์ ๋ ฅ or ํฌ๊ธฐ ๋๊ธฐ๋ฉด ์ค๋ฅ ๋ฐ์์ํด
๋ฐ์ดํฐ ํ์ ์ค์์ฑ
- ์๋ชป๋ ๋ฐ์ดํฐ ์ ๋ ฅ ๋ฐฉ์ง & ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ์ ์ง
๋ฐ์ดํฐ ํ์ ์ข ๋ฅ
- ์ซ์ ํ์ : NUMERIC(์ ํํ ์์), DECIMAL(์์ ์๋ฆฟ์ ์ง์ ๊ฐ๋ฅ), INTEGER(์ ์), BIGINT(ํฐ ์ ์), SMALLINT(์์ ์ ์), [FLOAT, REAL, DOUBLE PRECISION](๋ถ๋ ์์), [MONEY, SMALLMONEY](ํํ ๊ธ์ก)
- ๋ฌธ์ ํ์ : CHAR(๊ณ ์ ๊ธธ์ด ๋ฌธ์์ด), VARCHAR(๊ฐ๋ณ ๊ธธ์ด ๋ฌธ์์ด), TEXT(๊ธด ๋ฌธ์์ด)
- ๋ ์ง ๋ฐ ์๊ฐ ํ์ : DATE, TIME, DATETIME(์ธ๊ฐ ์นํ์ ํํ, ์๊ฐ๋ ๋ณํ์ด ํ์ ์๋ ๊ฒฝ์ฐ), TIMESTAMP(์์คํ ์ฐ์ฐ, UTC ๊ธฐ์ค, ์๊ฐ๋ ๋ณํ์ด ํ์ํ ๊ฒฝ์ฐ)
- ๊ธฐํ ํ์ : BINARY(๊ณ ์ ๊ธธ์ด ์ด์ง ๋ฐ์ดํฐ), VARBINARY(๊ฐ๋ณ ๊ธธ์ด ์ด์ง ๋ฐ์ดํฐ), BOOLEAN
- ๋ฒค๋๋ณ ๋ฐ์ดํฐ ํ์ ์ฐจ์ด ์์
3. ์ํฐํฐ
์ํฐํฐ ๊ฐ๋
์ํฐํฐ ์ ์
- ์ ๋ฌด์ ํ์ํ๊ณ ์ ์ฉํ ์ ๋ณด๋ฅผ ์ ์ฅ/๊ด๋ฆฌํ๊ธฐ ์ํ ์งํฉ์ ์ค์ฒด/๊ฐ์ฒด
์ํฐํฐ ํ๊ธฐ๋ฒ
- IE ํ๊ธฐ๋ฒ : ์ฃผ ์๋ณ์ ๋ณ๋ ํ์ X, ํ์ ์์ฑ ์ฌ๋ถ๋ ์์ฑ ์ด๋ฆ์ ์์น๋ก ๊ตฌ๋ถ
- ๋ฐ์ปค ํ๊ธฐ๋ฒ : # ๊ธฐํธ๋ก ์ฃผ ์๋ณ์, * ๊ธฐํธ๋ก ์ผ๋ฐ ์์ฑ ํ์
์ํฐํฐ์ ํน์ง๊ณผ ๋ถ๋ฅ
์ํฐํฐ ํน์ง
- ์ ๋ฌด์์ ํ์๋ก ํ๋ ์ ๋ณด, ์๋ณ์์ ์ํด ์๋ณ ๊ฐ๋ฅ, ์ธ์คํด์ค์ ์งํฉ, ์ ๋ฌด ํ๋ก์ธ์ค์ ์ด์ฉ, ์์ฑ ํฌํจ, ๊ด๊ณ์ ์กด์ฌ(๋ค๋ฅธ ์ํฐํฐ์ ์ต์ํ 1๊ฐ ์ด์์ ๊ด๊ณ)
์ํฐํฐ ๋ถ๋ฅ
- ์ ๋ฌดํ์ ๋ฐ๋ฅธ ๋ถ๋ฅ : ์ ํ(๋ฌผ๋ฆฌ์ ํํ ์์), ๊ฐ๋ (๋ฌผ๋ฆฌ์ ํํ ์์, ๊ด๋ฆฌํด์ผ ํ ๊ฐ๋ ์ ์ ๋ณด), ์ฌ๊ฑด(๋ ๋ฆฝ์ ์ผ๋ก ์์ฑ ๊ฐ๋ฅ, ๋ฐ์๋ ๋ง์)
- ๋ฐ์์์ ์ ๋ฐ๋ฅธ ๋ถ๋ฅ : ๊ธฐ๋ณธ(์๋ ์กด์ฌ, ๋ถ๋ชจ ์ญํ ), ์ค์ฌ(๊ธฐ๋ณธ ์ํฐํฐ๋ก๋ถํฐ ๋ฐ์, ์ ๋ง์), ํ์(๋ ๊ฐ ์ด์์ ๋ถ๋ชจ ์ํฐํฐ๋ก๋ถํฐ ๋ฐ์, ์์ฃผ ๋ณ๊ฒฝ๋จ)
4. ์์ฑ
์์ฑ์ ๊ฐ๋
์์ฑ ์ ์
- ์ฌ๋ฌผ์ ํน์ง์ด๋ ๋ณธ๋์ ์ฑ์ง, ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง → ์์ฑ์ด๋ ์ต์ํ์ ๋ฐ์ดํฐ ๋จ์(๋ถ๋ฆฌ๋์ง ์์), ์ํฐํฐ๋ฅผ ์ค๋ช ํ๊ณ ์ธ์คํด์ค์ ๊ตฌ์ฑ ์์๊ฐ ๋จ
์์ฑ์ ํน์ง๊ณผ ๋ถ๋ฅ
์์ฑ ํน์ง
- ๋ฐ๋์ ํด๋น ์ ๋ฌด์์ ํ์ํ๊ณ ๊ด๋ฆฌํด์ผ ํ ์ ๋ณด์ฌ์ผ ํจ, ์ ๊ทํ ์ด๋ก ์ ๋ฐ๋ผ ์ฃผ์๋ณ์์ ํจ์์ ์ข ์์ฑ์ ๊ฐ์ ธ์ผ ํจ, ํ๋์ ์์ฑ์ ํ ๊ฐ์ ๊ฐ๋ง์ ๊ฐ์ง
์์ฑ ๋ถ๋ฅ
- ํน์ฑ์ ๋ฐ๋ฅธ ๋ถ๋ฅ : ๊ธฐ๋ณธ, ์ค๊ณ(์๋ ์ ๋ฌด์ ์กด์ฌํ์ง ์์ง๋ง ์ค๊ณ ๊ณผ์ ์์ ๋์ถ), ํ์(๋ค๋ฅธ ์์ฑ์ผ๋ก๋ถํฐ ๊ณ์ฐ/๋ณํ)
- ์ํฐํฐ ๊ตฌ์ฑ ๋ฐฉ์์ ๋ฐ๋ฅธ ๋ถ๋ฅ : PK(Primary Key, ์ํฐํฐ ์๋ณ ๊ฐ๋ฅ), FK(Foreign Key, ๋ค๋ฅธ ์ํฐํฐ์ ๊ด๊ณ), ์ผ๋ฐ ์์ฑ(PK, FK ์ ์ธ)
์ฐธ๊ณ ) ๋๋ฉ์ธ : ๊ฐ ์์ฑ์ด ๊ฐ์ง ์ ์๋ ๊ฐ์ ๋ฒ์
5. ๊ด๊ณ
๊ด๊ณ์ ๊ฐ๋
๊ด๊ณ ์ ์
- ์ฌ์ ) ์ํธ ์ฐ๊ด์ฑ์ด ์๋ ์ํ
- ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง) ์ํฐํฐ์ ์ธ์คํด์ค ๊ฐ์ ๋ ผ๋ฆฌ์ ์ฐ๊ด์ฑ์ ๊ฐ์ง๋ ์กด์ฌ์ ํํ๋ ํ์, ์๋ก์๊ฒ ์ฐ๊ด์ฑ์ด ๋ถ์ฌ๋ ์ํ
๊ด๊ณ ํ์ด๋ง
- ๊ฐ๊ฐ์ ์ํฐํฐ ์ธ์คํด์ค๊ฐ ์์ ๊ณผ ์ฐ๊ด๋ ๋ค๋ฅธ ์ํฐํฐ ์ธ์คํด์ค์ ์ฐ๊ฒฐ๋์ด ๊ด๊ณ๋ฅผ ํ์ฑํ๋ ๊ฒ
๊ด๊ณ์ ๋ถ๋ฅ์ ์นด๋๋๋ฆฌํฐ
๊ด๊ณ ๋ถ๋ฅ
- ์กด์ฌ์ ์ํ ๊ด๊ณ : ์ํฐํฐ๊ฐ ํน์ ์กด์ฌ ์ํ์ ์ํด ์์์ผ๋ก์จ ํ์ฑ, ํ์/์ด๋ฒคํธ์ ๋ฌด๊ด
- ํ์์ ์ํ ๊ด๊ณ : ์ํฐํฐ ๊ฐ์ ํน์ ํ์๋ ์ด๋ฒคํธ์ ์ํด ํ์ฑ๋๋ ๊ด๊ณ
์นด๋๋๋ฆฌํฐ(๊ด๊ณ ์ฐจ์)
- ๋ ์ํฐํฐ ๊ฐ์ ๊ด๊ณ์์ ์ฐธ์ฌ์์ ์๋ฅผ ํํํ๋ ๊ฒ (1:1, 1:M, N:M ๋ฑ)
- ์์์ ๋์ ์ ๊ฐ๊ฐ ๊ด๊ณ ์ด๋ฆ ๊ฐ์ง ⇒ ๊ด๊ณ์ ์ฐธ์ฌํ๋ ๊ด์ ์ ๋ฐ๋ผ ๋ฅ๋์ , ์๋์ ์ผ๋ก ๋ช ๋ช
๊ด๊ณ์ ํ์ฌ์
- ๋ ์ํฐํฐ ๊ฐ์ ๊ด๊ณ์์ ํ์์ ์ด์ง ์๊ณ ์ ํ์ ์ผ๋ก ์ฐธ์ฌํ ์ ์๋ ๊ฒฝ์ฐ
6. ์๋ณ์
์๋ณ์์ ๊ฐ๋ ๊ณผ ํน์ง
์๋ณ์ ๊ฐ๋
- ์ฌ๋ฌ ์ธ์คํด์ค ์ค์์ ํน์ ์ธ์คํด์ค๋ฅผ ๊ตฌ๋ถํ ์ ์๋ ๊ตฌ๋ถ์ (๋ ผ๋ฆฌ ๋ชจ๋ธ๋ง - ์๋ณ์, ๋ฌผ๋ฆฌ ๋ชจ๋ธ๋ง - ํค)
์๋ณ์ ํน์ง
- ์ ์ผ์ฑ(์ฃผ์๋ณ์๋ ์ํฐํฐ ๋ด ๋ชจ๋ ์ธ์คํด์ค๋ฅผ ์ ์ผํ๊ฒ ๊ตฌ๋ถ)
- ์ต์์ฑ(์ฃผ์๋ณ์๋ฅผ ๊ตฌ์ฑํ๋ ์์ฑ ์๊ฐ ์ต์ํ์ ์)
- ๋ถ๋ณ์ฑ(์ฃผ์๋ณ์ ์ง์ ํ ๊ฐ์ ๋ณ๊ฒฝX)
- ์กด์ฌ์ฑ(์ฃผ์๋ณ์์ ๊ฐ์ด ๋ฐ๋์ ์กด์ฌํด์ผ ํจ)
์๋ณ์์ ๋ถ๋ฅ ๋ฐ ๋์ถ ๊ธฐ์ค
์๋ณ์ ๋ถ๋ฅ
- ๋ํ์ฑ ์ฌ๋ถ : ์ฃผ์๋ณ์(๋ํ ์๋ณ์), ๋ณด์กฐ์๋ณ์(ํ์ ๊ตฌ๋ถํ ์ ์์ง๋ง, ๋ํ์ฑ ์์)
- ์ค์ค๋ก ์์ฑ ์ฌ๋ถ : ๋ด๋ถ์๋ณ์(์ค์ค๋ก ์์ฑ), ์ธ๋ถ์๋ณ์(์ธ๋ถ ์ํฐํฐ๋ก๋ถํฐ ๋ฐ์์ด)
- ์์ฑ์ ์ : ๋จ์ผ์๋ณ์, ๋ณตํฉ์๋ณ์
- ๋์ฒด ์ฌ๋ถ : ๋ณธ์ง์๋ณ์(์์ฐ์ค๋ฝ๊ฒ ์์ฑ), ์ธ์กฐ์๋ณ์(์ธ์์ ์ผ๋ก ๋ง๋ฆ)
์๋ณ์ ๋์ถ ๊ธฐ์ค
- ์์ฃผ ์ฌ์ฉ๋๋ ์์ฑ, ์ด๋ฆ์ผ๋ก ๊ธฐ์ ๋์ง ์๋ ๊ฒ(์ด๋ฆ ์ฌ์ฉํ๋ค๋ฉด ์ฝ๋ํ), ๋ณตํฉ ์๋ณ์๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ์์ฑ ์๋ฅผ ์ต์ํ
์๋ณ์ ๊ด๊ณ์ ๋น์๋ณ์ ๊ด๊ณ
์ฃผ์๋ณ์ ๊ด๊ณ
- ๋ถ๋ชจ ์ํฐํฐ์ ์ฃผ์๋ณ์๊ฐ ์์ ์ํฐํฐ์ ์์๋์ด ์์ ์ํฐํฐ์ ์ฃผ์๋ณ์๋ก ์ฌ์ฉ
- ์์ ์ํฐํฐ์ ์ฃผ์๋ณ์์ NULL ๊ฐX, ๋ฐ๋์ ๋ถ๋ชจ ์์ฑ ํ ์์ ์์ฑ
- ์ฃผ์๋ณ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ์ PK ์ญํ
๋น์๋ณ์ ๊ด๊ณ
- ๋ถ๋ชจ ์ํฐํฐ์ ์ฃผ์๋ณ์๊ฐ ์์ ์ํฐํฐ์ ์์๋์ง๋ง, ์์ ์ํฐํฐ์ ์ฃผ์๋ณ์๋ก ์ฌ์ฉXX
- ๋ถ๋ชจ ์ํฐํฐ๋ก๋ถํฐ ์์ฑ๋ ์์ฑ ⇒ ์ธ๋ถ์๋ณ์, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ฑ ์ FK ์ญํ
์ฐธ๊ณ
์ด์งํจ์ค 2025 SQLD SQL ๊ฐ๋ฐ์
โ ๋น ๋ฅด๊ณ ํจ์จ์ ์ธ ๊ณต๋ถ๋ฅผ ์ํ SQLD ์ํ์ ๋ฐฉ๋ํ SQL ๊ด๋ จ ์ด๋ก ์ SQLD ์ถ์ ๊ฒฝํฅ์ ๋ง์ถฐ ์๊ธฐ ์ฝ๊ฒ ์ ๋ฆฌํ์ฌ ์๊ฐ์ ์ซ๊ธฐ๋ ์ํ์๋ค์ด ์ต๋ํ ๊ณต๋ถ ํจ์จ์ ๋์ผ ์ ์๋๋ก ๊ตฌ์ฑํ์ต๋๋ค. โ ์ด์ฌ์, ๋น์ ๊ณต์๋ฅผ ์ํด ์ดํดํ๊ธฐ ์ฝ๊ฒ ํ์ด ์ด SQLD ์ํ์ SQL์ ์ฒ์ ์ ํ๋ ์ด์ฌ์๋ ๋น์ ๊ณต์๊ฐ ์ดํดํ๊ธฐ ์ฝ๋๋ก ์์ธํ๊ฒ ์ค๋ช
ํ์ต๋๋ค. ์์ธ๋ฌ ์ถ์ ๊ฒฝํฅ๊ณผ ์ค์๋๋ฅผ ์๋ดํ๋ ‘TIP-BOX’, ํ๋ถํ ์ค๋ช
์ ๋ด์ ‘์ฐธ๊ณ -BOX’๋ฅผ ํ์ฉํ์ฌ
- ์ ์
- ์ ์ฉ๋ฌธ
- ์ถํ
- ์ํค๋ถ์ค
- ์ถํ์ผ
- 2025.02.04
728x90