๐Ÿ’ก ํ•ต์‹ฌ ์ธ์‚ฌ์ดํŠธ
NULL ๋ฌด๊ฒฐ์„ฑ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์„ ์„ค๊ณ„ํ•  ๋•Œ, "ํŠน์ • ์ปฌ๋Ÿผ(์†์„ฑ)์—๋Š” ์ ˆ๋Œ€๋กœ ๊ฐ’์ด ๋น„์–ด์žˆ์–ด์„œ๋Š” ์•ˆ ๋œ๋‹ค(NOT NULL)"๋Š” ๋ฃฐ์„ ๊ฐ•์ œํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ํ•„์ˆ˜์ ์ธ ๋นˆ์นธ(๊ตฌ๋ฉ)์„ ๋ง‰๋Š” ์ œ์•ฝ ์กฐ๊ฑด์ž…๋‹ˆ๋‹ค.
๊ธฐ๋ณธ ํ‚ค(PK)๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๋น„์ฆˆ๋‹ˆ์Šค์ƒ ๊ผญ ํ•„์š”ํ•œ ์ผ๋ฐ˜ ์ปฌ๋Ÿผ๋“ค(์˜ˆ: ์•„์ด๋””, ๋น„๋ฐ€๋ฒˆํ˜ธ)์˜ ํ’ˆ์งˆ์„ ์ง€์ผœ๋‚ด๋Š” ํ•ต์‹ฌ ๋ฐฉํŒจ์ž…๋‹ˆ๋‹ค.


โ… . NULL ๋ฌด๊ฒฐ์„ฑ์˜ ๊ฐœ๋…๊ณผ ํ•„์š”์„ฑ

์•ž์„œ ๋ฐฐ์šด '๊ฐœ์ฒด ๋ฌด๊ฒฐ์„ฑ'์€ ์˜ค์ง ํ…Œ์ด๋ธ”์˜ ์งฑ์ธ **'๊ธฐ๋ณธ ํ‚ค(PK)'**์—๋งŒ ์ ์šฉ๋˜์–ด, PK๊ฐ€ NULL์ด ๋˜๋Š” ๊ฒƒ์„ ๋ง‰์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ˜„์‹ค ์„ธ๊ณ„์—์„œ๋Š” PK๊ฐ€ ์•„๋‹ˆ๋”๋ผ๋„ ์ ˆ๋Œ€๋กœ ๋น„์›Œ๋‘๋ฉด ์•ˆ ๋˜๋Š” ์ค‘์š”ํ•œ ์ •๋ณด๋“ค์ด ๋„๋ ค์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ ์ƒํ™ฉ: ์‡ผํ•‘๋ชฐ ํšŒ์›๊ฐ€์ž… ํ…Œ์ด๋ธ”์—์„œ ๊ธฐ๋ณธ ํ‚ค๋Š” ํšŒ์›๋ฒˆํ˜ธ(PK)์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์‚ฌ์šฉ์ž๊ฐ€ ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ๋ฐฐ์†ก์ง€ ์ฃผ์†Œ ์นธ์„ ์•ˆ ์ ๊ณ  ๋นˆ์นธ(NULL)์œผ๋กœ ๋‘” ์ฑ„๋กœ ํšŒ์›๊ฐ€์ž…(INSERT)์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ํ‚ค(ํšŒ์›๋ฒˆํ˜ธ)๋Š” ์ฑ„์›Œ์ ธ ์žˆ์œผ๋‹ˆ '๊ฐœ์ฒด ๋ฌด๊ฒฐ์„ฑ'์€ ๋ฌด์‚ฌํžˆ ํ†ต๊ณผํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์—†๋Š” ์œ ๋ น ํšŒ์›์ด ์ƒ๊ธฐ๊ณ , ํƒ๋ฐฐ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์—†๋Š” ๋นˆ ๊ป๋ฐ๊ธฐ ๋ฐ์ดํ„ฐ๊ฐ€ DB๋ฅผ ์˜ค์—ผ์‹œํ‚ต๋‹ˆ๋‹ค.

์ด๋ฅผ ๋ง‰๊ธฐ ์œ„ํ•ด ์ผ๋ฐ˜ ์ปฌ๋Ÿผ์— **"์ด ์นธ์€ ๋ฌด์กฐ๊ฑด ์ฑ„์›Œ์•ผ ํ•ด!"**๋ผ๊ณ  ๋ชป์„ ๋ฐ•๋Š” ๊ฒƒ์ด NULL ๋ฌด๊ฒฐ์„ฑ(NOT NULL ์ œ์•ฝ์กฐ๊ฑด)์ž…๋‹ˆ๋‹ค.


โ…ก. ๋„๋ฉ”์ธ ๋ฌด๊ฒฐ์„ฑ๊ณผ์˜ ๊ด€๊ณ„

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ต๊ณผ์„œ(์˜ˆ: Date ๊ต์ˆ˜, Codd ๋ฐ•์‚ฌ์˜ ๋ถ„๋ฅ˜)์— ๋”ฐ๋ผ, ์ด NULL ๋ฌด๊ฒฐ์„ฑ์„ ๋„“์€ ์˜๋ฏธ์˜ '๋„๋ฉ”์ธ ๋ฌด๊ฒฐ์„ฑ(Domain Integrity)'์˜ ์ผ๋ถ€๋กœ ํฌํ•จ์‹œ์ผœ ์„ค๋ช…ํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

  • ์ด์œ : ๋„๋ฉ”์ธ ๋ฌด๊ฒฐ์„ฑ์ด "ํ•ด๋‹น ์นธ์— ๋“ค์–ด์˜ฌ ์ˆ˜ ์žˆ๋Š” ํ•ฉ๋ฒ•์ ์ธ ๊ฐ’๋“ค์˜ ์ง‘ํ•ฉ"์„ ์˜๋ฏธํ•˜๋Š”๋ฐ, ํ…Œ์ด๋ธ” ์„ค๊ณ„์ž๊ฐ€ "์ด ์ปฌ๋Ÿผ์˜ ํ—ˆ์šฉ ๊ฐ€๋Šฅํ•œ ์ง‘ํ•ฉ์—๋Š” NULL์ด๋ผ๋Š” ๊ณตํ—ˆํ•œ ์ƒํƒœ๋ฅผ ํฌํ•จ์‹œํ‚ค์ง€ ์•Š๊ฒ ๋‹ค"๋ผ๊ณ  ์„ ์–ธ(NOT NULL)ํ•œ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

โ…ข. ์‹ค๋ฌด์—์„œ์˜ NOT NULL ์„ค์ • ์ „๋žต

DBA๋Š” ํ…Œ์ด๋ธ” ์Šคํ‚ค๋งˆ๋ฅผ ์งค ๋•Œ(CREATE TABLE), ์†์„ฑ๋งˆ๋‹ค NULL์„ ํ—ˆ์šฉํ• ์ง€ NOT NULL๋กœ ๋ง‰์„์ง€ ์น˜์—ดํ•˜๊ฒŒ ๊ณ ๋ฏผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  1. ๋ฌด์กฐ๊ฑด NOT NULL๋กœ ๋ฌถ์–ด์•ผ ํ•˜๋Š” ๊ฒƒ๋“ค (ํ•„์ˆ˜ ๋ฐ์ดํ„ฐ)
    • ๋น„๋ฐ€๋ฒˆํ˜ธ, ์ด๋ฆ„, ์ƒ์„ฑ ์ผ์ž(Created_at), ๊ฒฐ์ œ ๊ธˆ์•ก ๋“ฑ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ด ๋Œ์•„๊ฐ€๋Š” ๋ฐ ํ•„์ˆ˜์ ์ธ ํ•ต์‹ฌ ๋ผˆ๋Œ€ ๋ฐ์ดํ„ฐ.
    • ์ˆซ์ž ์ปฌ๋Ÿผ์˜ ๊ณ„์‚ฐ ์‹œ NULL์ด ๋ผ์–ด๋“ค๋ฉด ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๊ฐ€ ๋ชจ์กฐ๋ฆฌ NULL๋กœ ๋ฐ•์‚ด ๋‚˜๋Š” ์ „์—ผ์„ฑ(3์น˜ ๋…ผ๋ฆฌ)์„ ๋ง‰๊ธฐ ์œ„ํ•ด ๊ธˆ์•ก ์ปฌ๋Ÿผ ๋“ฑ์€ ๊ธฐ๋ณธ๊ฐ’์„ 0์œผ๋กœ ์ฃผ๊ณ  NOT NULL์„ ๊ฒ๋‹ˆ๋‹ค.
  2. NULL์„ ๊ด€๋Œ€ํ•˜๊ฒŒ ํ—ˆ์šฉํ•ด ์ฃผ๋Š” ๊ฒƒ๋“ค (์„ ํƒ ๋ฐ์ดํ„ฐ)
    • ํšŒ์›๊ฐ€์ž… ์‹œ '์„ ํƒ ์ž…๋ ฅ ์‚ฌํ•ญ'์ธ ์ทจ๋ฏธ, ์ง์žฅ๋ช…, ์ƒ์„ธ ์ฃผ์†Œ ๋“ฑ.
    • ์•„์ง ๊ฐ’์ด ์ •ํ•ด์ง€์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ (์˜ˆ: ์ฃผ๋ฌธ ํ…Œ์ด๋ธ”์˜ '๋ฐฐ์†ก์™„๋ฃŒ์‹œ๊ฐ„'์€ ๋ฌผ๊ฑด์ด ๋„์ฐฉํ•˜๊ธฐ ์ „๊นŒ์ง€๋Š” ๋ฐ˜๋“œ์‹œ NULL ์ƒํƒœ๋กœ ์กด์žฌํ•ด์•ผ ์ •์ƒ์ž…๋‹ˆ๋‹ค.)

๐Ÿ“ข ์„น์…˜ ์š”์•ฝ ๋น„์œ : NULL ๋ฌด๊ฒฐ์„ฑ์€ ์ธํ„ฐ๋„ท ์‚ฌ์ดํŠธ ๊ฐ€์ž… ํ™”๋ฉด์—์„œ ํ•ญ๋ชฉ ์˜†์— ๋ถ™์–ด์žˆ๋Š” **๋นจ๊ฐ„์ƒ‰ ๋ณ„ํ‘œ(โ˜…, ํ•„์ˆ˜ ์ž…๋ ฅ ํ•ญ๋ชฉ)**์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๋นจ๊ฐ„ ๋ณ„ํ‘œ๊ฐ€ ์žˆ๋Š” ์นธ(๋น„๋ฐ€๋ฒˆํ˜ธ)์„ ๋น„์›Œ๋‘๊ณ  'ํ™•์ธ'์„ ๋ˆ„๋ฅด๋ฉด(INSERT ์‹œ๋„), ํผ์ด ๋„˜์–ด๊ฐ€์ง€ ์•Š๊ณ  "ํ•„์ˆ˜ ํ•ญ๋ชฉ์„ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”"๋ผ๋ฉฐ ํŠ•๊ฒจ๋‚ด์–ด(๋ฌด๊ฒฐ์„ฑ ์—๋Ÿฌ) ๋นˆ ๊ป๋ฐ๊ธฐ ์„œ๋ฅ˜๊ฐ€ ์ฐฝ๊ณ (DB)์— ์Œ“์ด๋Š” ๊ฒƒ์„ ๋ง‰์•„์ค๋‹ˆ๋‹ค.