Ch06-2.md


๊ด€๊ณ„ ๋Œ€์ˆ˜์˜ ๊ฐœ๋…๊ณผ ์—ฐ์‚ฐ์ž

  • ๊ฐœ๋…

    • ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด ๋ฆด๋ ˆ์ด์…˜์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ณผ์ •์„ ์ˆœ์„œ๋Œ€๋กœ ๊ธฐ์ˆ ํ•˜๋Š” ์–ธ์–ด

  • ์—ฐ์‚ฐ

    • ์—ฐ์‚ฐ์ž๊ณผ ํ”ผ์—ฐ์‚ฐ์ž๋กœ ๊ตฌ์„ฑ

  • ํ์‡„ํŠน์„ฑ

    • ๊ด€๊ณ„๋Œ€์ˆ˜์˜ ์—ฐ์‚ฐ: ๋ฆด๋ ˆ์ด์…˜

    • ํ”ผ์—ฐ์‚ฐ์ž์ธ ๋ฆด๋ ˆ์ด์…˜์— ์—ฐ์‚ฐ์ž๋ฅผ ์ ์šฉํ•ด ์—ฐ์‚ฐํ•œ ๊ฒฐ๊ณผ: ๋ฆด๋ ˆ์ด์…˜

  • ๊ด€๊ณ„ ๋Œ€์ˆ˜ ์—ฐ์‚ฐ์ž

    • ์ผ๋ฐ˜ ์ง‘ํ•ฉ ์—ฐ์‚ฐ์ž(set operation)

      • ํ•ฉ์ง‘ํ•ฉ (Union)

      • ๊ต์ง‘ํ•ฉ (Intersection)

      • ์ฐจ์ง‘ํ•ฉ (Difference)

      • ์นด๋””์…˜ ํ”„๋กœ๋•ํŠธ (Cartesian Product)

    • ์ˆœ์ˆ˜ ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž(relational operation)

      • ์…€๋ ‰ํŠธ (Select)

      • ํ”„๋กœ์ ํŠธ (Project)

      • ์กฐ์ธ (Join)

      • ๋””๋น„์ „ (Division)

์ผ๋ฐ˜ ์ง‘ํ•ฉ ์—ฐ์‚ฐ์ž

generalsetoperation
  • ์ˆ˜ํ•™์˜ ์ง‘ํ•ฉ ์—ฐ์‚ฐ์ž์™€ ๋น„์Šท

์ผ๋ฐ˜ ์ง‘ํ•ฉ ์—ฐ์‚ฐ์ž์˜ ์ œ์•ฝ์กฐ๊ฑด

  1. ์—ฐ์‚ฐ์„ ์œ„ํ•ด ํ”ผ์—ฐ์‚ฐ์ž(๋ฆด๋ ˆ์ด์…˜)๊ฐ€ 2๊ฐœ ํ•„์š”ํ•˜๋‹ค.

  2. ํ•ฉ์ง‘ํ•ฉ, ๊ต์ง‘ํ•ฉ, ์ฐจ์ง‘ํ•ฉ์€ ํ”ผ์—ฐ์‚ฐ์ž์ธ 2๊ฐœ์˜ ๋ฆด๋ ˆ์ด์…˜์ด ํ•ฉ๋ณ‘ ๊ฐ€๋Šฅ(union-compatible)ํ•ด์•ผ ํ•œ๋‹ค.

  • ๋ฆด๋ ˆ์ด์…˜์˜ ํ•ฉ๋ณ‘ ๊ฐ€๋Šฅ ์กฐ๊ฑด

    • ๋‘ ๋ฆด๋ ˆ์ด์…˜์˜ ์ฐจ์ˆ˜(์†์„ฑ ๊ฐœ์ˆ˜)๊ฐ€ ๊ฐ™๋‹ค.

    • 2๊ฐœ์˜ ๋ฆด๋ ˆ์ด์…˜์—์„œ ์„œ๋กœ ๋Œ€์‘๋˜๋Š” ์†์„ฑ์˜ ๋„๋ฉ”์ธ(๋ฐ์ดํ„ฐ ํƒ€์ž…)์ด ๊ฐ™๋‹ค.

      • ๋‹จ, ๋„๋ฉ”์ธ์ด ๊ฐ™์œผ๋ฉด ์†์„ฑ์˜ ์ด๋ฆ„์€ ๋‹ฌ๋ผ๋„ ๋œ๋‹ค.

  • ์นด๋””์…˜ ํ”„๋กœ๋•ํŠธ์˜ ๊ฒฝ์šฐ ์ œ์•ฝ์กฐ๊ฑด 2๋ฒˆ์— ํ•ด๋‹นํ•˜๋Š” ํ•ฉ๋ณ‘๊ฐ€๋Šฅ ์—ฌ๋ถ€์— ์ƒ๊ด€์—†์ด ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

ํ•ฉ์ง‘ํ•ฉ(Union)

  • ํ‘œํ˜„

    • R U S

  • ๋ฆด๋ ˆ์ด์…˜ R์— ์†ํ•˜๊ฑฐ๋‚˜ ๋ฆด๋ ˆ์ด์…˜ S์— ์†ํ•˜๋Š” ๋ชจ๋‘ ํŠœํ”Œ๋กœ ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์„ ๊ตฌ์„ฑ union

  • ์—ฐ์‚ฐ ๊ฒฐ๊ณผ์˜ ์ฐจ์ˆ˜ = ํ”ผ์—ฐ์‚ฐ์ž์˜ ์ฐจ์ˆ˜

  • ์—ฐ์‚ฐ ๊ฒฐ๊ณผ์˜ ์นด๋””๋„๋ฆฌํ‹ฐ <= ๊ฐ ํŠœํ”Œ์˜ ์นด๋””๋„๋ฆฌํ‹ฐ ํ•ฉ

  • ํŠน์ง•

    • ๊ตํ™˜์  ํŠน์ง•

      • R U S == S U R

    • ๊ฒฐํ•ฉ์  ํŠน์ง•

      • (R U S) U T == R U (S U T)

๊ต์ง‘ํ•ฉ(Intersection)

  • ํ‘œํ˜„

    • R โˆฉ S

  • ๋‘ ํ”ผ์—ฐ์‚ฐ์ž์— ๊ณตํ†ต์œผ๋กœ ์†ํ•˜๋Š” ํŠœํ”Œ๋กœ ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์„ ๊ตฌ์„ฑ intersection

  • ์—ฐ์‚ฐ ๊ฒฐ๊ณผ์˜ ์ฐจ์ˆ˜ = ํ”ผ์—ฐ์‚ฐ์ž์˜ ์ฐจ์ˆ˜

  • ์—ฐ์‚ฐ ๊ฒฐ๊ณผ์˜ ์นด๋””๋„๋ฆฌํ‹ฐ <= ํ”ผ์—ฐ์‚ฐ์ž์˜ ์นด๋””๋„๋ฆฌํ‹ฐ

  • ํŠน์ง•

    • ๊ตํ™˜์  ํŠน์ง•

      • R โˆฉ S == S โˆฉ R

์ฐจ์ง‘ํ•ฉ(Difference)

  • ํ‘œํ˜„

    • R - S

  • ๋ฆด๋ ˆ์ด์…˜ R์—๋Š” ์กด์žฌํ•˜์ง€๋งŒ ๋ฆด๋ ˆ์ด์…˜ S์—๋Š” ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํŠœํ”Œ๋“ค๋กœ ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜ ๊ตฌ์„ฑ difference

  • ์—ฐ์‚ฐ ๊ฒฐ๊ณผ์˜ ์ฐจ์ˆ˜ = ํ”ผ์—ฐ์‚ฐ์ž์˜ ์ฐจ์ˆ˜

  • ์—ฐ์‚ฐ ๊ฒฐ๊ณผ์˜ ์นด๋””๋„๋ฆฌํ‹ฐ <= ํ”ผ์—ฐ์‚ฐ์ž์˜ ์นด๋””๋„๋ฆฌํ‹ฐ

  • ํŠน์ง•

    • ์—†์Œ

      • ํ”ผ์—ฐ์‚ฐ์ž์˜ ์ˆœ์„œ์— ๋”ฐ๋ผ ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์ด ๋‹ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์— ๊ตํ™˜์  ํŠน์„ฑ๊ณผ ๊ฒฐํ•ฉ์  ํŠน์„ฑ ๋ชจ๋‘ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค

์นด๋””์…˜ ํ”„๋กœ๋•ํŠธ(Cartesian Product)

  • ํ‘œํ˜„

    • R X S

  • ๋ฆด๋ ˆ์ด์…˜ R์— ์†ํ•œ ๊ฐ ํŠœํ”Œ๊ณผ ๋ฆด๋ ˆ์ด์…˜ S์— ์†ํ•œ ๊ฐ ํŠœํ”Œ์„ ๋ชจ๋‘ ์—ฐ๊ฒฐํ•˜์—ฌ ๋งŒ๋“ค์–ด์ง„ ์ƒˆ๋กœ์šด ํŠœํ”Œ๋กœ ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜ ๊ตฌ์„ฑ cartesian

  • ์œ„์˜ ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์˜ ์†์„ฑ์€ '๋ฆด๋ ˆ์ด์…˜.์†์„ฑ์ด๋ฆ„'ํ˜•์‹์œผ๋กœ ํ‘œ๊ธฐ๋˜์—ˆ๋Š”๋ฐ, ์ด๋Š” ๊ฐ ๋ฆด๋ ˆ์ด์…˜์—์„œ ๋™์ผํ•œ ์ด๋ฆ„์˜ ๋ฒˆํ˜ธ ์†์„ฑ์ด ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์›๋ž˜ ์–ด๋А ๋ฆด๋ ˆ์ด์…˜ ์†Œ์†์ธ์ง€ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•œ ํ‘œ๊ธฐ๋ฒ•์ด๋‹ค.

  • ์—ฐ์‚ฐ ๊ฒฐ๊ณผ์˜ ์ฐจ์ˆ˜ = ๊ฐ ํ”ผ์—ฐ์‚ฐ์ž์˜ ์ฐจ์ˆ˜์˜ ํ•ฉ

  • ์—ฐ์‚ฐ ๊ฒฐ๊ณผ์˜ ์นด๋””๋„๋ฆฌํ‹ฐ = ๊ฐ ํ”ผ์—ฐ์‚ฐ์ž ์นด๋””๋„๋ฆฌํ‹ฐ์˜ ๊ณฑ

  • ํŠน์ง•

    • ๋‘ ๋ฆด๋ ˆ์ด์…˜์˜ ํ•ฉ๋ณ‘์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ์—๋„ ์นดํ‹ฐ์…˜ ํ”„๋กœ๋•ํŠธ ์—ฐ์‚ฐ์€ ๊ฐ€๋Šฅ

    • ๊ตํ™˜์  ํŠน์ง•

      • R X S == S X R

    • ๊ฒฐํ•ฉ์  ํŠน์ง•

      • (R X S) X T == R X (S X T)

์ˆœ์ˆ˜ ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž

purerelatinoaloperator

์…€๋ ‰ํŠธ (Select)

  • ๋ฆด๋ ˆ์ด์…˜์—์„œ ์ฃผ์–ด์ง„ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ํŠœํ”Œ๋งŒ ์„ ํƒํ•˜์—ฌ ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์„ ๊ตฌ์„ฑ

  • ํ‘œํ˜„

    • ๋ฆด๋ ˆ์ด์…˜ where ์กฐ๊ฑด์‹ OR ฯƒ๋“ฑ๊ธ‰=โ€˜goldโ€™(๊ณ ๊ฐ)

    • ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์€ ์ˆ˜ํ‰์  ๋ถ€๋ถ„์ง‘ํ•ฉ(horizontal subset)๊ณผ ๊ฐ™์Œ

  • ์กฐ๊ฑด์‹

    • ๋ฆด๋ ˆ์ด์…˜์˜ ๋ชจ๋“  ํŠœํ”Œ ์ค‘ ์กฐ๊ฑด์‹์„ ์ฐธ์œผ๋กœ ๋งŒ๋“œ๋Š” ์ผ๋ถ€๋ถ„์˜ ํŠœํ”Œ๋“ค๋งŒ ์„ ํƒํ•˜์—ฌ ์ถœ๋ ฅ

    • ๋น„๊ต ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉํ•ด ๊ตฌ์„ฑ

    • ๋น„๊ต์‹ / ํ”„๋ ˆ๋””ํ‚ท(predicate)

    • ์ƒ์ˆ˜์™€ ๋น„๊ต: ์ƒ์ˆ˜์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ์†์„ฑ์˜ ๋„๋ฉ”์ธ๊ณผ ์ผ์น˜ํ•ด์•ผ ํ•จ

    • ๋‹ค๋ฅธ ์†์„ฑ๊ณผ ๋น„๊ต: ํ•ด๋‹น ์†์„ฑ์˜ ๋„๋ฉ”์ธ์ด ๊ฐ™์•„์•ผ ๋น„๊ตํ•  ์ˆ˜ ์žˆ์Œ

    • ๋น„๊ต์—ฐ์‚ฐ์ž์™€ ํ•จ๊ป˜ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž(AND, OR, NOT)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋” ๋ณต์žกํ•œ ์กฐ๊ฑด์‹์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Œ

  • ๊ตํ™˜์  ํŠน์ง• ์กด์žฌ

ํ”„๋กœ์ ํŠธ (Project)

  • ๋ฆด๋ ˆ์ด์…˜์—์„œ ์„ ํƒํ•œ ์†์„ฑ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์œผ๋กœ ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์„ ๊ตฌ์„ฑ

  • ํ‘œํ˜„

    • ๐ฟ์†์„ฑ๋ฆฌ์ŠคํŠธ(๋ฆด๋ ˆ์ด์…˜) or ๋ฆด๋ ˆ์ด์…˜[์†์„ฑ๋ฆฌ์ŠคํŠธ]

    • ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์€ ์ฃผ์–ด์ง„ ์ผ๋ถ€ ์—ด๋กœ๋งŒ ๊ตฌ์„ฑ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ˆ˜์ง์  ๋ถ€๋ถ„ ์ง‘ํ•ฉ(vertical subset)๊ณผ ๊ฐ™์Œ

์กฐ์ธ (Join)

  • ๋ถ„๋ฅ˜

    • ์ž์—ฐ ์กฐ์ธ(natural join)

    • ์„ธํƒ€ ์กฐ์ธ(theta join)

    • ์ด์ค‘์กฐ์ธ

      • ์„ธ๋ฏธ์กฐ์ธ

      • ์™ธ๋ถ€์กฐ์ธ

  • ์กฐ์ธ์˜ ๊ฐœ๋…

    • ๋ฆด๋ ˆ์ด์…˜ ํ•˜๋‚˜๋กœ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์–ป์„ ์ˆ˜ ์—†์–ด ๊ด€๊ณ„๊ฐ€ ์žˆ๋Š” ์—ฌ๋Ÿฌ ๋ฆด๋ ˆ์ด์…˜์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ

    • ์กฐ์ธ ์†์„ฑ(join attribute)์„ ์ด์šฉํ•ด ๋‘ ๋ฆด๋ ˆ์ด์…˜์„ ์กฐํ•ฉํ•˜์—ฌ ํ•˜๋‚˜์˜ ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์„ ๊ตฌ์„ฑ

      • ์กฐ์ธ ์†์„ฑ: ๋‘ ๋ฆด๋ ˆ์ด์…˜์ด ๊ณตํ†ต์œผ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์†์„ฑ

  • ์ž์—ฐ์กฐ์ธ

    • ํ‘œํ˜„

      • ๋ฆด๋ ˆ์ด์…˜1 โ‹ˆ ๋ฆด๋ ˆ์ด์…˜2

    • ๋‘ ๋ฆด๋ ˆ์ด์…˜์„ ์กฐ์ธ ํ•  ๋•Œ์—๋Š” ์กฐ์ธ ์†์„ฑ์˜ ๊ฐ’์ด ๊ฐ™์€ ํŠœํ”Œ๋งŒ ์—ฐ๊ฒฐํ•˜์—ฌ ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์„ ๊ตฌ์„ฑ

  • ์„ธํƒ€์กฐ์ธ

    • ํ‘œํ˜„

      • ๋ฆด๋ ˆ์ด์…˜1 โ‹ˆ(์†์„ฑ[๋น„๊ต์—ฐ์‚ฐ์ž]์†์„ฑ) ๋ฆด๋ ˆ์ด์…˜2

    • ๋น„๊ต์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ฐ™์€ ๋„๋ฉ”์ธ์˜ ์†์„ฑ์„ ๋น„๊ตํ•ด์•ผํ•จ

    • ๋™์ผ ์กฐ์ธ (equi join)

      • ์กฐ์ธ ์กฐ๊ฑด์˜ ๋น„๊ต ์—ฐ์‚ฐ์ž๊ฐ€ =์ธ ์„ธํƒ€ ์กฐ์ธ

  • ์„ธ๋ฏธ์กฐ์ธ(semi join)

    • ๊ฐœ๋…

      • ๋ฆด๋ ˆ์ด์…˜ S์˜ ์กฐ์ธ ์†์„ฑ์œผ๋กœ๋งŒ ๊ตฌ์„ฑํ•œ(ํ”„๋กœ์ ํŠธํ•œ) ๋ฆด๋ ˆ์ด์…˜์„ ๋ฆด๋ ˆ์ด์…˜ R์— ์ž์—ฐ์กฐ์ธํ•˜๋Š” ๊ฒƒ semijoin

  • ์™ธ๋ถ€ ์กฐ์ธ(outer join) outerjoin

    • ๊ฐœ๋…

      • ๋‘ ๋ฆด๋ ˆ์ด์…˜์— ์ž์—ฐ ์กฐ์ธ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ์กฐ์ธ ์†์„ฑ ๊ฐ’์ด ๊ฐ™์€ ํŠœํ”Œ์ด ์ƒ๋Œ€ ๋ฆด๋ ˆ์ด์…˜์— ์กด์žฌํ•˜์ง€ ์•Š์•„ ์กฐ์ธ ์—ฐ์‚ฐ์—์„œ ์ œ์™ธ๋œ ๋ชจ๋“  ํŠœํ”Œ์„ ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์— ํฌํ•จ

      • ๋‘ ๋ฆด๋ ˆ์ด์…˜์— ์กด์žฌํ•˜์ง€ ์•Š์•˜๋˜ ์†์„ฑ์€ ๋„ ๊ฐ’์œผ๋กœ ์ฒ˜๋ฆฌ

๋””๋น„์ „ (Division)

  • ๊ฐœ๋…

    • ๋ฆด๋ ˆ์ด์…˜ S์˜ ๋ชจ๋“  ํŠœํ”Œ๊ณผ ๊ด€๋ จ ์žˆ๋Š” ๋ฆด๋ ˆ์ด์…˜ R์˜ ํŠœํ”Œ๋กœ ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜ ๊ตฌ์„ฑ

    • ๋ฆด๋ ˆ์ด์…˜ S์˜ ๋ชจ๋“  ์†์„ฑ๊ณผ ๋„๋ฉ”์ธ์ด ๊ฐ™์€ ์†์„ฑ์„ ๋ฆด๋ ˆ์ด์…˜ R์ด ํฌํ•จํ•˜๊ณ  ์žˆ์–ด์•ผํ•จ

  • ํ‘œํ˜„

    • R รท S division

Last updated