๐Ÿ“š ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ‚ค

yoondguยท2022๋…„ 5์›” 7์ผ
0

Oracle

๋ชฉ๋ก ๋ณด๊ธฐ
9/9

๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด


  • ํ…Œ์ด๋ธ”์— ์œ ํšจํ•˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ž…๋ ฅ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•œ๋‹ค.
  • ํ•ด๋‹น ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ๊ฐ€ ์ถ”๊ฐ€, ์‚ญ์ œ, ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด์„ ๊ฒ€์‚ฌํ•œ๋‹ค.

๐Ÿ“Œ ์ œ์•ฝ์กฐ๊ฑด์˜ ์ข…๋ฅ˜

(1) NOT NULL ์ œ์•ฝ์กฐ๊ฑด

  • ํ•ด๋‹น ์ปฌ๋Ÿผ์— NULL๊ฐ’์ด ์ž…๋ ฅ๋˜์ง€ ๋ชปํ•˜๋„๋ก ์ง€์ •ํ•œ๋‹ค.
  • ํ•˜๋‚˜์˜ ์ปฌ๋Ÿผ์— ๋‘ ๊ฐœ ์ด์ƒ์˜ ์ œ์•ฝ์กฐ๊ฑด์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ๊ณ ๊ฐํ…Œ์ด๋ธ”์˜ ์ด๋ฆ„์ปฌ๋Ÿผ, ๋„์„œํ…Œ์ด๋ธ”์˜ ์ œ๋ชฉ์ปฌ๋Ÿผ, ์ƒํ’ˆํ…Œ์ด๋ธ”์˜ ์ƒํ’ˆ๋ช…์ปฌ๋Ÿผ

(2) UNIQUE ์ œ์•ฝ์กฐ๊ฑด(๊ณ ์œ ํ‚ค ์ œ์•ฝ์กฐ๊ฑด)

  • ํ•ด๋‹น ์ปฌ๋Ÿผ์˜ ๊ฐ’์€ ํ…Œ์ด๋ธ”์ „์ฒด์—์„œ ๊ณ ์œ ํ•œ ๊ฐ’์„ ๊ฐ€์ ธ์•ผํ•œ๋‹ค. (์œ ์ผ์„ฑ)
  • NULL๊ฐ’์˜ ์ž…๋ ฅ์€ ๊ฐ€๋Šฅํ•˜๋‹ค.
    • ๊ณ ๊ฐํ…Œ์ด๋ธ”์˜ ํ•ธ๋“œํฐ๋ฒˆํ˜ธ, ์‚ฌ์›ํ…Œ์ด๋ธ”์˜ ์ฃผ๋ฏผ๋ฒˆํ˜ธ์ปฌ๋Ÿผ, ํ•™์ƒํ…Œ์ด๋ธ”์˜ ์ด๋ฉ”์ผ์ปฌ๋Ÿผ

(3) PRIMARY KEY ์ œ์•ฝ์กฐ๊ฑด(๊ธฐ๋ณธํ‚ค ์ œ์•ฝ์กฐ๊ฑด)

  • ํ…Œ์ด๋ธ”์˜ ๊ฐ ํ–‰์„ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ’์„ ๊ฐ€์ ธ์•ผํ•œ๋‹ค.
  • ํ…Œ์ด๋ธ”์ „์ฒด์—์„œ ๊ณ ์œ ํ•œ ๊ฐ’์„ ๊ฐ€์ ธ์•ผ ํ•˜๊ณ , NULL๊ฐ’์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. (์œ ์ผ์„ฑ + NOTNULL)
    • ์ฃผ๋กœ ์‹œํ€€์Šค๋กœ๋ถ€ํ„ฐ ๋ฐœํ–‰ํ•œ ์ผ๋ จ ๋ฒˆํ˜ธ๋ฅผ PK๋กœ ๋ถ€์—ฌํ•œ๋‹ค.
      (์ œ์•ฝ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉฐ ๋‹จ์ˆœํ•˜๊ณ , ๊ฐœ์ธ์ •๋ณด๊ฐ€ ๋‹ด๊ฒจ์žˆ์ง€ ์•Š๋‹ค.)
    • ํ•™์ƒํ…Œ์ด๋ธ”์˜ ํ•™๋ฒˆ, ์‚ฌ์›ํ…Œ์ด๋ธ”์˜ ์‚ฌ์›๋ฒˆํ˜ธ, ๊ณผ๋ชฉํ…Œ์ด๋ธ” ๊ณผ๋ชฉ์ฝ”๋“œ, ํƒ๋ฐฐํ…Œ์ด๋ธ”์˜ ์†ก์žฅ๋ฒˆํ˜ธ

(4) CHECK ์ œ์•ฝ์กฐ๊ฑด

  • ๊ด„ํ˜ธ ์•ˆ์— ์ œ์‹œ๋œ ์กฐ๊ฑด์‹์„ ๋งŒ์กฑํ•˜๋Š” ๊ฐ’์„ ๊ฐ€์ ธ์•ผํ•œ๋‹ค.
  • ํ•ด๋‹น ํ…Œ์ด๋ธ”์—๋Š” CHECK(์กฐ๊ฑด์‹)์„ ๋งŒ์กฑํ•˜๋Š” ๊ฐ’๋งŒ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์‚ฌ์›ํ…Œ์ด๋ธ”์˜ ๊ธ‰์—ฌ๋Š” 0๋ณด๋‹ค ํฐ ๊ฐ’์„ ๊ฐ€์ ธ์•ผํ•œ๋‹ค.
    • ํ•™์ƒํ…Œ์ด๋ธ”์˜ ํ•™๋…„์€ 1,2,3,4 ์ค‘์˜ ํ•˜๋‚˜์—ฌ์•ผ ํ•œ๋‹ค.
    • ๊ณ ๊ฐํ…Œ์ด๋ธ”์˜ ์„ฑ๋ณ„์€ M, F ์ค‘์˜ ํ•˜๋‚˜์—ฌ์•ผ ํ•œ๋‹ค.
    • ํ•™์ƒํ…Œ์ด๋ธ”์˜ ์„ฑ์ ์€ 0.0 ~ 4.5 ์‚ฌ์ด์˜ ๊ฐ’์ด์–ด์•ผ ํ•œ๋‹ค.

(5) FOREIGN KEY ์ œ์•ฝ์กฐ๊ฑด(์™ธ๋ž˜ํ‚ค ์ œ์•ฝ์กฐ๊ฑด, ์ฐธ์กฐํ‚ค ์ œ์•ฝ์กฐ๊ฑด)

  • ํ•ด๋‹น ์ปฌ๋Ÿผ์˜ ๊ฐ’์€ ๋‹ค๋ฅธ ํŠน์ • ์ปฌ๋Ÿผ์˜ ๊ฐ’๊ณผ ๊ด€๋ จ๋œ ๊ฐ’๋งŒ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค.
    • ์ฐธ์กฐ ํ…Œ์ด๋ธ”(๋ถ€๋ชจ ํ…Œ์ด๋ธ”)
      • ์ž์‹ํ…Œ์ด๋ธ”์ด ์ฐธ์กฐํ•˜๋Š” ๋ถ€๋ชจํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ์€ PRIMARY KEY ****ํ˜น์€ UNIQUE ์ œ์•ฝ์กฐ๊ฑด์ด ์ •์˜๋œ ์ปฌ๋Ÿผ์ด์–ด์•ผ ํ•œ๋‹ค. โ‡’ ๊ทธ๋ž˜์•ผ ์‹๋ณ„ํ•˜๊ณ  ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ๊นŒ
    • ์ข…์† ํ…Œ์ด๋ธ”(์ž์‹ ํ…Œ์ด๋ธ”)
      • FOREIGN KEY๋กœ ์„ค์ •๋œ ์ปฌ๋Ÿผ์€ ๋ถ€๋ชจํ…Œ์ด๋ธ”์˜ ๊ฐ’๊ณผ ์ผ์น˜ํ•˜๊ฑฐ๋‚˜ NULL์ด์–ด์•ผ ํ•œ๋‹ค.
    • ์‚ฌ์›ํ…Œ์ด๋ธ”(์ข…์†ํ…Œ์ด๋ธ”)์˜ ๋ถ€์„œ์•„์ด๋””๋Š” ๋ถ€์„œํ…Œ์ด๋ธ”(์ฐธ์กฐํ…Œ์ด๋ธ”)์˜ ๋ถ€์„œ ์•„์ด๋””๋ฅผ ์ฐธ์กฐํ•œ๋‹ค.
    • ๋ถ€์„œํ…Œ์ด๋ธ”(์ž์‹ํ…Œ์ด๋ธ”)์˜ ๊ด€๋ฆฌ์ž ์•„์ด๋””๋Š” ์‚ฌ์›ํ…Œ์ด๋ธ”(๋ถ€๋ชจํ…Œ์ด๋ธ”)์˜ ์‚ฌ์›๋ฒˆํ˜ธ๋ฅผ ์ฐธ์กฐํ•œ๋‹ค.
    • ์‚ฌ์›ํ…Œ์ด๋ธ”(์ž์‹ํ…Œ์ด๋ธ”)์˜ ์ง์ข…์•„์ด๋””๋Š” ์ง์ข…ํ…Œ์ด๋ธ”(๋ถ€๋ชจํ…Œ์ด๋ธ”)์˜ ์ง์ข…์•„์ด๋””๋ฅผ ์ฐธ์กฐํ•œ๋‹ค.
    • ์ž์‹ํ…Œ์ด๋ธ”์—์„œ ์ฐธ์กฐํ•˜๊ณ  ์žˆ๋Š” ๋ถ€๋ชจํ…Œ์ด๋ธ”์˜ ํ–‰์€ ์‚ญ์ œํ•  ์ˆ˜ ์—†๋‹ค.

์ œ์•ฝ์กฐ๊ฑด์˜ ์ •์˜


๐Ÿ’ก ์š”์ฆ˜์—๋Š” E-R ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋Š” ํˆด์—์„œ ์ž๋™์œผ๋กœ ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ์–ด์„œ
์ง์ ‘ DDL๋ฌธ์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๋งŽ์ง€ ์•Š๋‹ค.

๐Ÿ“Œ DDL์—์„œ ์ œ์•ฝ์กฐ๊ฑด ์ •์˜ ๋ฌธ๋ฒ•

-- ์ปฌ๋Ÿผ ๋ ˆ๋ฒจ ์ œ์•ฝ์กฐ๊ฑด ์ •์˜
			-- ๋ณ„์นญ ์—†์ด ์ž‘์„ฑ
			USER_EMAIL   VARCHAR2(255) UNIQUE
			-- ๋ณ„์นญ ์žˆ๊ฒŒ ์ž‘์„ฑ
			USER_EMAIL   VARCHAR2(255) CONSTRAINT USER_EMAIL_UK UNIQUE

-- ํ…Œ์ด๋ธ” ๋ ˆ๋ฒจ ์ œ์•ฝ์กฐ๊ฑด ์ •์˜
			UNIQUE(USER_EMAIL)  -- ๋ณ„์นญ ์—†์Œ
			CONSTRAINT USER_EMAIL_UK UNIQUE(USER_EMAIL)  -- ๋ณ„์นญ ์žˆ์Œ

CREATE TABLE TB_USERS (
    USER_NO NUMBER(7),
    USER_ID VARCHAR2(100) NOT NULL,                         -- NOT NULL ์ œ์•ฝ์กฐ๊ฑด ์„ค์ •
    USER_PASSWORD VARCHAR2(100) NOT NULL,                   -- NOT NULL ์ œ์•ฝ์กฐ๊ฑด ์„ค์ •
    USER_NAME VARCHAR2(100) NOT NULL,                       -- NOT NULL ์ œ์•ฝ์กฐ๊ฑด ์„ค์ •
    USER_EMAIL VARCHAR2(255),
    USER_POINT NUMBER(10),
    USER_GRADE VARCHAR2(100),
    USER_UPDATED_DATE DATE,
    USER_CREATED_DATE DATE DEFAULT SYSDATE,
    
    CONSTRAINT TB_USERNO_PK PRIMARY KEY(USER_NO),           -- ๊ธฐ๋ณธํ‚ค ์ œ์•ฝ์กฐ๊ฑด ์„ค์ •
    CONSTRAINT TB_USERID_UK UNIQUE (USER_ID),               -- ๊ณ ์œ ํ‚ค ์ œ์•ฝ์กฐ๊ฑด ์„ค์ •
    CONSTRAINT TB_EMAIL_UK UNIQUE (USER_EMAIL),             -- ๊ณ ์œ ํ‚ค ์ œ์•ฝ์กฐ๊ฑด ์„ค์ •
    CONSTRAINT TB_USER_GRADE_FK FOREIGN KEY (USER_GRADE) REFERENCES TB_USER_GRADE (GRADE)   -- ์™ธ๋ž˜ํ‚ค ์ œ์•ฝ์กฐ๊ฑด ์„ค์ •
);
  • ์ปฌ๋Ÿผ๋ ˆ๋ฒจ ์ œ์•ฝ์กฐ๊ฑด
    • ์ปฌ๋Ÿผ ๋ณ„ ์ œ์•ฝ์กฐ๊ฑด์„ ์ •์˜ํ•œ๋‹ค.
    • ํ•œ ์ปฌ๋Ÿผ์— 2๊ฐœ ์ด์ƒ ์ œ์•ฝ์กฐ๊ฑด์„ ์ •์˜ํ•˜๋ ค๋ฉด CONSTRAINT~ ์ด ์ ˆ์„ ์ŠคํŽ˜์ด์Šค ๋ฐ” ์น˜๊ณ  ์ถ”๊ฐ€๋กœ ์ ์œผ๋ฉด ๋œ๋‹ค.
  • ํ…Œ์ด๋ธ” ๋ ˆ๋ฒจ ์ œ์•ฝ์กฐ๊ฑด
    • ์ปฌ๋Ÿผ์„ ๋ชจ๋‘ ์ •์˜ ํ›„ ์ œ์•ฝ์กฐ๊ฑด์„ ์ •์˜ํ•œ๋‹ค.
    • ํ•˜๋‚˜ ์ด์ƒ์˜ ์ปฌ๋Ÿผ์— ๋Œ€ํ•˜์—ฌ ์ œ์•ฝ์กฐ๊ฑด์„ ์ •์˜ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.
      • ์˜ˆ๋ฅผ ๋“ค์–ด ํ•œ ํ•™์ƒ์ด ๊ฐ™์€ ์—ฐ๋„์— ๊ฐ™์€ ๊ณผ๋ชฉ์„ ์ˆ˜๊ฐ•ํ•  ์ˆ˜ ์—†๊ฒŒ ํ•˜๋ ค๋ฉด ํ•™๋ฒˆ, ๊ณผ๋ชฉ์ฝ”๋“œ, ์ˆ˜๊ฐ•์—ฐ๋„ ์„ธ ์ปฌ๋Ÿผ์˜ ๊ฐ’์ด ๋ชจ๋‘ ์ค‘๋ณต๋˜๋ฉด ์•ˆ๋œ๋‹ค. โ‡’ UNIQUE(ํ•™๋ฒˆ, ๊ณผ๋ชฉ์ฝ”๋“œ, ์ˆ˜๊ฐ•์—ฐ๋„)
    • NOT NULL ์ œ์•ฝ์กฐ๊ฑด์€ ํ…Œ์ด๋ธ” ๋ ˆ๋ฒจ์—์„œ ์ •์˜ํ•  ์ˆ˜ ์—†๋‹ค.
  • ์ œ์•ฝ์กฐ๊ฑด์˜ ๋ณ„์นญ :
    • ํ…Œ์ด๋ธ”๋ช…_์ปฌ๋Ÿผ๋ช…_์ œ์•ฝ์กฐ๊ฑด์—๋Œ€ํ•œ์•ฝ์นญ (30์ž ์ œํ•œ) ํ˜•์‹์œผ๋กœ ์ ๋Š”๋‹ค.
    • ๋ณ„์นญ์„ ๋ถ™์—ฌ์ฃผ์–ด์•ผ ์ œ์•ฝ์กฐ๊ฑด ์œ„๋ฐฐ๋กœ ์ธํ•œ ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์‹œ ์–ด๋–ค ์ œ์•ฝ์กฐ๊ฑด์„ ์œ„๋ฐฐํ–ˆ๋Š”์ง€ ๋น ๋ฅด๊ฒŒ ์•Œ ์ˆ˜ ์žˆ๋‹ค. (ํ•˜์ง€๋งŒ not null ์ œ์•ฝ์กฐ๊ฑด์€ ๋ณ„์นญ์„ ๋ถ™์ด์ง€ ์•Š์•„๋„ ๊ด€๋ จ ๋ฉ”์‹œ์ง€๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.)

๐Ÿ’ก ์ œ์•ฝ์กฐ๊ฑด ์ •์˜ ์ˆœ์„œ

  • ๋ณดํ†ต ์ปฌ๋Ÿผ ๋ ˆ๋ฒจ์—์„œ๋Š” NOT NULL๋งŒ ์ •์˜,
    ํ…Œ์ด๋ธ” ๋ ˆ๋ฒจ์—์„œ๋Š” UNIQUE, PRIMARY KEY, FOREIGN KEY๋ฅผ ์ •์˜ํ•œ๋‹ค.
  • ALTER๋ฌธ์—์„œ ๋ณ„๋„๋กœ ์ œ์•ฝ์กฐ๊ฑด์„ ์ถ”๊ฐ€ ์ •์˜ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
  • ์™ธ๋ž˜ํ‚ค ์ œ์•ฝ์กฐ๊ฑด๊ณผ ๊ฐ™์ด ์ฐธ์กฐ ๊ด€๊ณ„์— ์žˆ๋Š” ํ…Œ์ด๋ธ” ๊ฐ„์—๋Š” ๋ถ€๋ชจ - ์ž์‹์˜ ์ˆœ์„œ๋Œ€๋กœ ์ƒ์„ฑ๋˜์–ด์•ผ ํ•˜๋Š”๋ฐ, ์ƒํ˜ธ์ฐธ์กฐ์˜ ๊ฒฝ์šฐ์—๋Š” ๊ทธ๋Ÿด ์ˆ˜ ์—†๋‹ค.
    ๋”ฐ๋ผ์„œ ์ด ๊ฒฝ์šฐ์—๋Š” FOREIGN KEY๋ฅผ ALTER๋ฌธ์—์„œ ์ถ”๊ฐ€ ์ •์˜ํ•œ๋‹ค.

ํ‚ค(key)


๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ํŠœํ”Œ์„ ์ฐพ์„ ๋•Œ ๊ธฐ์ค€์ด ๋˜๋Š” ์†์„ฑ

  • ์œ ์ผ์„ฑ
    • ํ•˜๋‚˜์˜ ํ‚ค ๊ฐ’์œผ๋กœ ํŠœํ”Œ์„ ์œ ์ผํ•˜๊ฒŒ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ์„ฑ์งˆ
    • ๊ฐ๊ฐ์˜ ํŠœํ”Œ์„ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋Š” ์„ฑ์งˆ
  • ์ตœ์†Œ์„ฑ
    • ํ‚ค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์†์„ฑ๋“ค ์ค‘ ๊ผญ ํ•„์š”ํ•œ ์ตœ์†Œํ•œ์˜ ์†์„ฑ๋“ค๋กœ๋งŒ ํ‚ค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์„ฑ์งˆ
    • ์˜ˆ๋ฅผ ๋“ค์–ด (์ฃผ๋ฏผ๋ฒˆํ˜ธ, ์ด๋ฆ„, ๋‚˜์ด) ๋กœ ๊ตฌ์„ฑ๋œ ํ‚ค๊ฐ€ ์žˆ๋‹ค๋ฉด, ์ด ํ‚ค๋Š” ์ด๋ฆ„, ๋‚˜์ด๋ฅผ ๋นผ๊ณ  ์ฃผ๋ฏผ๋ฒˆํ˜ธ๋งŒ์œผ๋กœ๋„ ๊ฐ ํŠœํ”Œ์„ ์œ ์ผํ•˜๊ฒŒ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์œ„ ํ‚ค์—์„œ ์ฃผ๋ฏผ๋ฒˆํ˜ธ๋งŒ ๋‚จ๊ธด๋‹ค๋ฉด ์ตœ์†Œ์„ฑ์„ ๋งŒ์กฑํ•œ๋‹ค.

์ถœ์ฒ˜ : https://kosaf04pyh.tistory.com/201

๐Ÿ“Œ ํ›„๋ณดํ‚ค (Candidate Key)

  • ๋ฆด๋ ˆ์ด์…˜์„ ๊ตฌ์„ฑํ•˜๋Š” ์†์„ฑ๋“ค ์ค‘ ํŠœํ”Œ์„ ์œ ์ผํ•˜๊ฒŒ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ๋“ค์˜ ๋ถ€๋ถ„์ง‘ํ•ฉ
  • ๋ชจ๋“  ๋ฆด๋ ˆ์ด์…˜์€ ๋ฐ˜๋“œ์‹œ ํ•˜๋‚˜ ์ด์ƒ์˜ ํ›„๋ณดํ‚ค๋ฅผ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค.
  • ๋ฆด๋ ˆ์ด์…˜์— ์žˆ๋Š” ๋ชจ๋“  ํŠœํ”Œ์— ๋Œ€ํ•ด์„œ ์œ ์ผ์„ฑ๊ณผ ์ตœ์†Œ์„ฑ์„ ๋งŒ์กฑ

๐Ÿ“Œ ๊ธฐ๋ณธํ‚ค (Primary Key)

  • ํ›„๋ณดํ‚ค ์ค‘์—์„œ ์„ ํƒํ•œ ์ฃผ ํ‚ค(Main Key)
  • ํ•œ ๋ฆด๋ ˆ์ด์…˜์—์„œ ํŠน์ • ํŠœํ”Œ์„ ์œ ์ผํ•˜๊ฒŒ ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ
  • Null ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์—†๊ณ , ๋™์ผํ•œ ๊ฐ’์ด ์ค‘๋ณต๋˜์–ด ์ €์žฅ๋  ์ˆ˜ ์—†๋‹ค.

๐Ÿ“Œ ๋Œ€์ฒดํ‚ค (Alternate Key)

  • ํ›„๋ณดํ‚ค๊ฐ€ ๋‘˜ ์ด์ƒ์ผ ๋•Œ ๊ธฐ๋ณธํ‚ค๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ํ›„๋ณดํ‚ค๋“ค์„ ๋งํ•œ๋‹ค.
  • ๋ณด์กฐํ‚ค๋ผ๊ณ ๋„ ํ•œ๋‹ค.

๐Ÿ“Œ ์Šˆํผํ‚ค (Super Key)

  • ํ•œ ๋ฆด๋ ˆ์ด์…˜ ๋‚ด์— ์žˆ๋Š” ์†์„ฑ๋“ค์˜ ์ง‘ํ•ฉ์œผ๋กœ ๊ตฌ์„ฑ๋œ ํ‚ค
  • ์—ฌ๋Ÿฌ ์†์„ฑ์ด ํ•˜๋‚˜์˜ ์ง‘ํ•ฉ์œผ๋กœ ํ‚ค๋ฅผ ์ด๋ฃจ์–ด, ๋ญ‰์ณค์„ ๋•Œ๋Š” ์œ ์ผ์„ฑ์ด ์ƒ๊ธฐ์ง€๋งŒ ๊ฐœ๋ณ„๋กœ ํฉ์–ด์ง€๋ฉด
    ๋ช‡๋ช‡ ์†์„ฑ๋“ค์€ ํ˜ผ์ž์„œ๋งŒ์œผ๋กœ๋Š” ์œ ์ผ์„ฑ ์žˆ๋Š” ํ‚ค๊ฐ€ ๋˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ๋‹ค.
    โ‡’ ์œ ์ผ์„ฑ ๋งŒ์กฑ, ์ตœ์†Œ์„ฑ ๋ถˆ๋งŒ์กฑ
    - ์˜ˆ: (ํ•™๋ฒˆ, ์ฃผ๋ฏผ๋ฒˆํ˜ธ, ์„ฑ๋ช…)์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์Šˆํผํ‚ค

๐Ÿ“Œ ์™ธ๋ž˜ํ‚ค (Foreign Key)

  • ๊ด€๊ณ„๋ฅผ ๋งบ๊ณ  ์žˆ๋Š” ๋‘ ๋ฆด๋ ˆ์ด์…˜์—์„œ, ์ฐธ์กฐ๋˜๋Š”(๋ถ€๋ชจ) ๋ฆด๋ ˆ์ด์…˜์˜ ๊ธฐ๋ณธํ‚ค์™€ ๊ฐ™์€ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ์ฐธ์กฐํ•˜๋Š”(์ž์‹)๋ฆด๋ ˆ์ด์…˜์˜ ์†์„ฑ
  • ํ•œ ์†์„ฑ์— ์™ธ๋ž˜ํ‚ค ์ œ์•ฝ์กฐ๊ฑด์ด ์ง€์ •๋˜๋ฉด, ์ฐธ์กฐํ…Œ์ด๋ธ”์˜ ๊ธฐ๋ณธํ‚ค์— ์—†๋Š” ๊ฐ’์€ ์ž…๋ ฅํ•  ์ˆ˜ ์—†๋‹ค. ์ฐธ์กฐํ•˜๋Š” ํ…Œ์ด๋ธ”์˜ ๊ธฐ๋ณธํ‚ค์ด๊ฑฐ๋‚˜, ์•„๋‹ˆ๋ฉด NULL์ด๊ฑฐ๋‚˜ ๋‘˜ ์ค‘ ํ•˜๋‚˜์ด๋‹ค.

    ๐Ÿ’ก ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ NULL ๊ฐ’์€ ์•„์ง ์ •ํ•ด์ง€์ง€ ์•Š์Œ, ํ•ด๋‹น ์—†์Œ์„ ์˜๋ฏธํ•˜๋Š”
    ์•„๋ฌด๊ฒƒ๋„ ์—†๋Š” ํŠน์ˆ˜ํ•œ ๋ฐ์ดํ„ฐ์ด๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€