๋ชฉ๋ก๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (454)

Bibi's DevLog ๐Ÿค“๐ŸŽ

[DB] ํ‚ค, ๊ธฐ๋ณธ ํ‚ค(Primary Key, PK)์™€ ์™ธ๋ž˜ ํ‚ค(Foreign Key, FK)

Key ์Šˆํผํ‚ค super key : ํ•ด๋‹น ๊ฐœ์ฒด๋ฅผ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” attribute์˜ ''์ง‘ํ•ฉ''. [์ฃผ๋ฏผ๋ฒˆํ˜ธ ์•ž์ž๋ฆฌ, ์ฃผ๋ฏผ๋ฒˆํ˜ธ ๋’ท์ž๋ฆฌ, ์ด๋ฆ„] ํ›„๋ณดํ‚ค candidate key : ์Šˆํผํ‚ค์˜ ๋ถ€๋ถ„์ง‘ํ•ฉ. ์Šˆํผํ‚ค์—์„œ ๊ตฐ๋”๋”๊ธฐ๋ฅผ ์ œ๊ฑฐํ•œ ๊ฒƒ. (์ˆ˜ํ•™์  ์ •์˜) ''๋ชจ๋“  ๋‹ค๋ฅธ attribute๋“ค์„ ํ•จ์ˆ˜์ ์œผ๋กœ ๊ฒฐ์ •ํ•˜๋Š” attribute'' ์Šˆํผํ‚ค์˜ ๊ตฌ์„ฑ attribute ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์ œ๊ฑฐํ•˜๋ฉด ์Šˆํผํ‚ค๊ฐ€ ์•„๋‹Œ ๊ฒƒ. ํ›„๋ณดํ‚ค ์ค‘์— ํ•˜๋‚˜๊ฐ€ PK๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค. [์ฃผ๋ฏผ๋ฒˆํ˜ธ ์•ž์ž๋ฆฌ, ์ฃผ๋ฏผ๋ฒˆํ˜ธ ๋’ท์ž๋ฆฌ, ์ด๋ฆ„]์—์„œ [์ฃผ๋ฏผ๋ฒˆํ˜ธ ์•ž์ž๋ฆฌ, ์ฃผ๋ฏผ๋ฒˆํ˜ธ ๋’ท์ž๋ฆฌ]๊ฐ€ ํ›„๋ณดํ‚ค์— ํ•ด๋‹นํ•œ๋‹ค. ๊ธฐ๋ณธํ‚ค primary key : ์—ฌ๋Ÿฌ ํ›„๋ณดํ‚ค ์ค‘ ๋Œ€ํ‘œ์ ์ธ ํ‚ค ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด ํ…Œ์ด๋ธ”์˜ ๊ธฐ๋ณธ ํ‚ค๋กœ ๋งŒ๋“ ..

[DB] 1:1, 1:N, N:M ๊ด€๊ณ„

[DB] 1:1, 1:N, N:M ๊ด€๊ณ„ ์ด ๊ธ€์„ ๋ณด๊ณ  ์š”์•ฝ ์ •๋ฆฌํ•จ. ์›๋ณธ์ด ํ›จ์”ฌ ๋‚ซ์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ 1:N๊ด€๊ณ„๋ฅผ ์ž˜ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™์•„์„œ ์ข€ ์ฐพ์•„๋ณด์•˜๋‹คใ…  ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ '๊ด€๊ณ„' ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์—”ํ‹ฐํ‹ฐ๋ผ๋ฆฌ ๊ด€๊ณ„๋ฅผ ๋งบ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ด€๊ณ„ํ˜•์ด๋ผ๋Š” ๋ง์ด ๋ถ™์€ ๊ฒƒ์ด๋‹ค. ์—”ํ‹ฐํ‹ฐ Entity : DB์— ํ‘œํ˜„ํ•˜๋ ค๊ณ  ํ•˜๋Š” ์œ ํ˜•/๋ฌดํ˜•์˜ ๊ฐ์ฒด๋กœ์„œ ์„œ๋กœ ๊ตฌ๋ณ„๋˜๋Š” ๊ฒƒ. ๊ด€๊ณ„ Relationship : ๋‘ ์—”ํ‹ฐํ‹ฐ๊ฐ€ ์„œ๋กœ ๊ด€๋ จ์ด ์žˆ์„ ๋•Œ. 1:1, 1:N, N:M ๊ด€๊ณ„๋ฅผ ๋งบ์„ ์ˆ˜ ์žˆ๋‹ค. 1:1 ๊ด€๊ณ„ ์—”ํ‹ฐํ‹ฐ A๊ฐ€ ์ƒ๋Œ€ ์—”ํ‹ฐํ‹ฐ B์™€ ๋‹จ ํ•˜๋‚˜์˜ ๊ด€๊ณ„๋งŒ ๊ฐ–๋Š” ๊ฒƒ. (์—”ํ‹ฐํ‹ฐB๋„ ์—”ํ‹ฐํ‹ฐA์™€ ๋‹จ ํ•˜๋‚˜์˜ ๊ด€๊ณ„๋งŒ ๊ฐ–๋Š”๋‹ค) ex) ์šฐ๋ฆฌ๋‚˜๋ผ์—์„œ์˜ ๊ฒฐํ˜ผ ์ œ๋„(์ผ๋ถ€์ผ์ฒ˜์ œ) 1:N ๊ด€๊ณ„ ์—”ํ‹ฐํ‹ฐ A๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ƒ๋Œ€ ์—”..