๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
DBMS/Mariadb

[DBMS]MariaDB ์—ด ์†์„ฑ(Column Property) ์ดํ•ดํ•˜๊ธฐ: ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ๊ณผ ํšจ์œจ์ ์ธ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ•

by YJ Dev 2024. 5. 21.
728x90
๋ฐ˜์‘ํ˜•
SMALL

MariaDB๋Š” ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์•ˆ์ •์„ฑ์„ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ์—ด ์†์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋“ค์€ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ๊ณผ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋ฉฐ ์•ˆ์ •์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

MARIADB ์—ด ์†์„ฑ


์—ด ์†์„ฑ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ…Œ์ด๋ธ” ์„ค๊ณ„ ๋ฐ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ์— ์ค‘์š”ํ•œ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค.
๐Ÿ”ป mariadb ํ…Œ์ด๋ธ”์— ๊ด€ํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ํฌ์ŠคํŒ…์„ ํ†ตํ•ด ๋จผ์ € ํ™•์ธํ•ด ์ฃผ์„ธ์š”๐Ÿ”ป

 

[DBMS]MariaDB SQL์„ ์‚ฌ์šฉํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ” ๊ด€๋ฆฌ: ์ƒ์„ฑ, ์ •๋ณด ์กฐํšŒ, ์ˆ˜์ •, ์กฐํšŒ ๋ฐ ์‚ญ์ œ ๋ฐฉ๋ฒ•

โ‰ฃ ๋ชฉ์ฐจํ…Œ์ด๋ธ” ์ƒ์„ฑ(CREATE)๐ŸŒžํ…Œ์ด๋ธ” ์ •๋ณด ์กฐํšŒ(DESC)๐ŸŒˆํ…Œ์ด๋ธ” ์ˆ˜์ •(ALTER)๐ŸŒœํ…Œ์ด๋ธ” ์กฐํšŒ(SHOW)โ›…ํ…Œ์ด๋ธ” ์‚ญ์ œ(DROP)โšกํ•ต์‹ฌ ๋‚ด์šฉ๐Ÿ‘€MariaDB๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๊ณ  ์ˆ˜์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ SQL ๊ธฐ๋ณธ ๋ช…๋ น

creativevista.tistory.com

์—ด ์†์„ฑ์€ ๊ฐ ์—ด์ด ์–ด๋–ค ์œ ํ˜•์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์–ด๋–ค ์ œ์•ฝ ์กฐ๊ฑด์„ ๊ฐ€์ง€๋Š”์ง€๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ MariaDB์—์„œ ์ œ๊ณตํ•˜๋Š” ์ฃผ์š” ์—ด ์†์„ฑ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์ด๋ž€?๐ŸŒฒ

๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ(Data Integrity)์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ •ํ™•ํ•˜๊ณ  ์ผ๊ด€๋œ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ •ํ™•์„ฑ, ์ผ๊ด€์„ฑ, ์œ ํšจ์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ์ค‘์š”ํ•œ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ธก๋ฉด์—์„œ ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ๊ฐœ์ฒด ๋ฌด๊ฒฐ์„ฑ
    : ๊ฐ ํ–‰์ด ์œ ์ผํ•˜๊ฒŒ ์‹๋ณ„ ๊ฐ€๋Šฅํ•ด์•ผ ํ•˜๋ฉฐ, ๊ธฐ๋ณธ ํ‚ค๋Š” NULL์ด ์•„๋‹ˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๊ธฐ๋ณธ ํ‚ค ๊ฐ’์€ ์ค‘๋ณต๋˜์ง€ ์•Š๊ณ  ๋นˆ ๊ฐ’์ด ๋  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  2. ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ
    : ์™ธ๋ž˜ ํ‚ค ๊ด€๊ณ„์—์„œ ๋ถ€๋ชจ ํ…Œ์ด๋ธ”์˜ ๋ณ€๊ฒฝ์ด ์ž์‹ ํ…Œ์ด๋ธ”์— ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋ฐ˜์˜๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์™ธ๋ž˜ ํ‚ค ๊ฐ’์€ ๋ถ€๋ชจ ํ…Œ์ด๋ธ”์˜ ๊ธฐ๋ณธ ํ‚ค ๊ฐ’์— ์†ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  3. ๋„๋ฉ”์ธ ๋ฌด๊ฒฐ์„ฑ
    : ๊ฐ ์—ด์ด ์ •์˜๋œ ๋ฐ์ดํ„ฐ ํ˜•์‹์— ๋ถ€ํ•ฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ฐ์ดํ„ฐ๊ฐ€ ํ•ด๋‹น ์—ด์— ์ ์ ˆํ•œ ํ˜•์‹์œผ๋กœ ์ €์žฅ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  4. ๋ฒ”์œ„ ๋ฌด๊ฒฐ์„ฑ
    : ๊ฐ ์—ด์˜ ๊ฐ’์ด ํŠน์ • ๋ฒ”์œ„๋‚˜ ์กฐ๊ฑด์„ ์ถฉ์กฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‚˜์ด๊ฐ€ ์Œ์ˆ˜๊ฐ€ ๋  ์ˆ˜ ์—†๋Š” ๋“ฑ์˜ ์ œ์•ฝ ์กฐ๊ฑด์ด ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  5. ๋ฌด๊ฒฐ์„ฑ ๊ทœ์น™
    : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(DBMS)์— ์˜ํ•ด ์„ค์ •๋œ ๊ทœ์น™์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ฃผ๋กœ ๊ธฐ๋ณธ ํ‚ค, ์™ธ๋ž˜ ํ‚ค, UNIQUE ๋ฐ CHECK ์ œ์•ฝ ์กฐ๊ฑด์œผ๋กœ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค.

์—ด ์†์„ฑ๐ŸŒฑ

MariaDB๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„์™€ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ๋กœ์„œ, ๋‹ค์–‘ํ•œ ์—ด ์†์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์—ด ์†์„ฑ์€ ๋ฐ์ดํ„ฐ์˜ ์ •ํ™•์„ฑ๊ณผ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ์†์„ฑ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ดํ•ดํ•˜๊ณ  ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฐ๊ฐ์˜ ์†์„ฑ์ด ์–ด๋–ค ์—ญํ• ์„ ํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

UNIQUE

์ด ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๋‹น ์—ด์˜ ๊ฐ’์ด ์ค‘๋ณต๋˜์ง€ ์•Š๋„๋ก ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๊ฐ ๊ฐ’์€ ์œ ์ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

NOT NULL

ํ•ด๋‹น ์—ด์˜ ๊ฐ’์ด ๋น„์–ด ์žˆ์„ ์ˆ˜ ์—†๋„๋ก ๊ฐ•์ œํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ชจ๋“  ๋ ˆ์ฝ”๋“œ๋Š” ์ด ์—ด์— ๋Œ€ํ•œ ๊ฐ’์„ ๊ฐ€์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

DEFAULT X

์ด ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๋‹น ์—ด์˜ ๊ฐ’์ด ๋ช…์‹œ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์— ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ X๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํ•ด๋‹น ์—ด์ด NULL์ด ์•„๋‹Œ ๊ฒฝ์šฐ์—๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

AUTO_INCREMENT

ํ•ด๋‹น ์—ด ๊ฐ’์— ๋Œ€ํ•ด ๋ช…์‹œ๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ ์ž๋™ ์ฆ๊ฐ€๋œ ๊ฐ’์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ฃผ๋กœ ๊ธฐ๋ณธ ํ‚ค ์—ด์— ์ ์šฉ๋˜๋ฉฐ, ๊ฐ ๋ ˆ์ฝ”๋“œ๋ฅผ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

CHECK

ํ•ด๋‹น ์—ด์˜ ๊ฐ’์ด ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•จ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์„ฑ์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ๋Š” 20์„ธ ์ด์ƒ์˜ ๊ฐ’๋งŒ ํ—ˆ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

PRIMARY KEY

ํ•ด๋‹น ์—ด์ด ํ…Œ์ด๋ธ”์˜ ๊ธฐ๋ณธ ํ‚ค๋กœ ์ง€์ •๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ฐ ๋ ˆ์ฝ”๋“œ๋ฅผ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ, NULL ๊ฐ’์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

READ ONLY

์ด ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๋‹น ์—ด์€ ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ์„ค์ •๋˜์–ด ์ˆ˜์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ๋‚ด์šฉ๐Ÿ‘€

728x90
๋ฐ˜์‘ํ˜•
LIST