๊ด€๋ฆฌ ๋ฉ”๋‰ด

IT’s Portfolio

[Lecture] DataBase - Day 5 ๋ณธ๋ฌธ

Development Study

[Lecture] DataBase - Day 5

f1r3_r41n 2023. 4. 3. 13:36
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ–ฅ DataBase - Day 5

[02] ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ์ œ์•ฝ

  • ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด(integrity constraint)
    • ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์—์„œ ์ •์˜ํ•˜๊ณ  ์žˆ๋Š” ๊ธฐ๋ณธ ์ œ์•ฝ ์‚ฌํ•ญ
    • ์ฃผ์š” ๋ชฉ์ ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ƒํƒœ๋ฅผ ์ผ๊ด€๋˜๊ฒŒ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ
    • ๋ฌด๊ฒฐ์„ฑ(integrity) : ๋ฐ์ดํ„ฐ์— ๊ฒฐํ•จ์ด ์—†๋Š” ์ƒํƒœ, ์ฆ‰ ๋ฐ์ดํ„ฐ๊ฐ€ ์ •ํ™•ํ•˜๊ณ  ์œ ํšจํ•˜๊ฒŒ ์œ ์ง€๋œ ์ƒํƒœ
  • 2.1 ๊ฐœ์ฒด ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด
    • ๊ฐœ์ฒด ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด(entity integrity constraint) : ๊ธฐ๋ณธํ‚ค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ชจ๋“  ์†์„ฑ์€ ๋„ ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์—†๋Š” ๊ทœ์น™
  • 2.2 ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด
    • ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด(referential integrity constraint) : ์™ธ๋ž˜ํ‚ค๋Š” ์ฐธ์กฐํ•  ์ˆ˜ ์—†๋Š” ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์—†๋Š” ๊ทœ์น™
      • ์™ธ๋ž˜ํ‚ค ์†์„ฑ์ด ๋„ ๊ฐ’์„ ๊ฐ€์ง„๋‹ค๊ณ  ํ•ด์„œ ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด์„ ์œ„๋ฐ˜ํ•œ ๊ฒƒ์€ ์•„๋‹˜

๐Ÿ‘‰๐Ÿป [Chapter 06] ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ์—ฐ์‚ฐ

[01] ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ์—ฐ์‚ฐ์˜ ๊ฐœ๋…

  • ๋ฐ์ดํ„ฐ ๋ชจ๋ธ = ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ(data structure) + ์—ฐ์‚ฐ(operation) + ์ œ์•ฝ์กฐ๊ฑด(constraint)
  • ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ์—ฐ์‚ฐ(relationship data operation)
    • ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ์—ฐ์‚ฐ
    • ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด ๋ฆด๋ ˆ์ด์…˜์— ํ•„์š”ํ•œ ์ฒ˜๋ฆฌ ์š”๊ตฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ
    • ๊ด€๊ณ„ ๋Œ€์ˆ˜(relational algebra)
      • ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ์˜ ์ฒ˜๋ฆฌ ๊ณผ์ •์„ ์ˆœ์„œ๋Œ€๋กœ ๊ธฐ์ˆ ํ•˜๋Š” ์ ˆ์ฐจ ์–ธ์–ด(procedural language)
    • ๊ด€๊ณ„ ํ•ด์„(relational calculus)
      • ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด ์ฒ˜๋ฆฌ๋ฅผ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฌด์—‡์ธ์ง€๋งŒ ๊ธฐ์ˆ ํ•˜๋Š” ๋น„์ ˆ์ฐจ ์–ธ์–ด(nonprocedural language)
    • ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ๊ณผ ์ฒ˜๋ฆฌ๋ฅผ ์š”๊ตฌํ•˜๋Š” ํ‘œํ˜„๋ ฅ์—์„œ ๊ด€๊ณ„ ๋Œ€์ˆ˜์™€ ๊ด€๊ณ„ ํ•ด์„์€ ๋Šฅ๋ ฅ์ด ๋™๋“ฑํ•จ
    • ๊ด€๊ณ„ ๋Œ€์ˆ˜์™€ ๊ด€๊ณ„ ํ•ด์„์˜ ์—ญํ• 
      • ๋ฐ์ดํ„ฐ ์–ธ์–ด์˜ ์œ ์šฉ์„ฑ์„ ๊ฒ€์ฆํ•˜๋Š” ๊ธฐ์ค€
      • ๊ด€๊ณ„ ๋Œ€์ˆ˜๋‚˜ ๊ด€๊ณ„ ํ•ด์„์œผ๋กœ ๊ธฐ์ˆ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์งˆ์˜๋ฅผ ๊ธฐ์ˆ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์–ธ์–ด -> ๊ด€๊ณ„์ ์œผ๋กœ ์™„์ „(relationally complete) ํ•˜๋‹ค๊ณ  ํŒ๋‹จ
        • ์งˆ์˜(query) : ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ ์š”๊ตฌ

[02] ๊ด€๊ณ„ ๋Œ€์ˆ˜

  • 2.1 ๊ด€๊ณ„ ๋Œ€์ˆ˜์˜ ๊ฐœ๋…๊ณผ ์—ฐ์‚ฐ์ž
    • ์ ˆ์ฐจ ์–ธ์–ด(procedural language)
    • ๋ฆด๋ ˆ์ด์…˜์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์—ฐ์‚ฐ์ž๋“ค์˜ ์ง‘ํ•ฉ
      • ๋Œ€ํ‘œ ์—ฐ์‚ฐ์ž 8๊ฐœ
      • ํŠน์„ฑ์— ๋”ฐ๋ผ ์ผ๋ฐ˜ ์ง‘ํ•ฉ ์—ฐ์‚ฐ์ž์™€ ์ˆœ์ˆ˜ ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž๋กœ ๋ถ„๋ฅ˜
    • ํ์‡„ ํŠน์„ฑ(closure property) : ํ”ผ์—ฐ์‚ฐ์ž์ธ ๋ฆด๋ ˆ์ด์…˜์— ์—ฐ์‚ฐ์ž๋ฅผ ์ ์šฉํ•ด ์–ป์€ ๊ฒฐ๊ณผ๋„ ๋ฆด๋ ˆ์ด์…˜
  • 2.2 ์ผ๋ฐ˜ ์ง‘ํ•ฉ ์—ฐ์‚ฐ์ž
    • ์ผ๋ฐ˜ ์ง‘ํ•ฉ ์—ฐ์‚ฐ์ž(set operation)
      • ๋ฆด๋ ˆ์ด์…˜์ด ํŠœํ”Œ์˜ ์ง‘ํ•ฉ์ด๋ผ๋Š” ๊ฐœ๋…์„ ์ด์šฉํ•˜๋Š” ์—ฐ์‚ฐ์ž
      • ์ˆ˜ํ•™์˜ ์ง‘ํ•ฉ ๊ด€๋ จ ์—ฐ์‚ฐ์ž๋ฅผ ์ฐจ์šฉํ•œ ๊ฒƒ
    • ํŠน์„ฑ
      • ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ 2๊ฐœ ํ•„์š”
        • 2๊ฐœ์˜ ๋ฆด๋ ˆ์ด์…˜์„ ์—ฐ์‚ฐ
      • ํ•ฉ์ง‘ํ•ฉ, ๊ต์ง‘ํ•ฉ, ์ฐจ์ง‘ํ•ฉ์€ ํ”ผ์—ฐ์‚ฐ์ž์ธ 2๊ฐœ์˜ ๋ฆด๋ ˆ์ด์…˜์ด ํ•ฉ๋ณ‘ ๊ฐ€๋Šฅ(union-compatible) ํ•ด์•ผ ํ•จ
        • ํ•ฉ๋ณ‘ ๊ฐ€๋Šฅ ์กฐ๊ฑด
          • ๋‘ ๋ฆด๋ ˆ์ด์…˜์˜ ์ฐจ์ˆ˜๊ฐ€ ๊ฐ™์Œ(= ๋‘ ๋ฆด๋ ˆ์ด์…˜์€ ์†์„ฑ ๊ฐœ์ˆ˜๊ฐ€ ๊ฐ™์Œ)
          • 2๊ฐœ์˜ ๋ฆด๋ ˆ์ด์…˜์—์„œ ์„œ๋กœ ๋Œ€์‘๋˜๋Š” ์†์„ฑ์˜ ๋„๋ฉ”์ธ์ด ๊ฐ™์Œ(๋„๋ฉ”์ธ์ด ๊ฐ™์„ ๊ฒฝ์šฐ ์†์„ฑ์˜ ์ด๋ฆ„์€ ๋‹ฌ๋ผ๋„ ๋จ)
    • ํ•ฉ์ง‘ํ•ฉ(union)
      • ํ•ฉ๋ณ‘์ด ๊ฐ€๋Šฅํ•œ ๋‘ ๋ฆด๋ ˆ์ด์…˜ R๊ณผ S์˜ ํ•ฉ์ง‘ํ•ฉ : $R \cup S$
        • ๋ฆด๋ ˆ์ด์…˜ R์— ์†ํ•˜๊ฑฐ๋‚˜ ๋ฆด๋ ˆ์ด์…˜ S์— ์†ํ•˜๋Š” ๋ชจ๋“  ํŠœํ”Œ๋กœ ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜ ๊ตฌ์„ฑ
      • ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜ ํŠน์„ฑ
        • ์ฐจ์ˆ˜๋Š” ๋ฆด๋ ˆ์ด์…˜ R๊ณผ S์˜ ์ฐจ์ˆ˜์™€ ๊ฐ™์Œ
        • ์นด๋””๋„๋ฆฌํ‹ฐ๋Š” ์ค‘๋ณต์ด ์—†๊ธฐ์— ๋ฆด๋ ˆ์ด์…˜ R๊ณผ S์˜ ํŠœํ”Œ ๊ฐœ์ˆ˜๋ฅผ ๋”ํ•œ ๊ฒƒ๊ณผ ๊ฐ™๊ฑฐ๋‚˜ ์ ์–ด์ง
      • ๊ตํ™˜์  ํŠน์ง•์ด ์žˆ์Œ
        • $R \cup S = S \cup R$
      • ๊ฒฐํ•ฉ์  ํŠน์ง•์ด ์žˆ์Œ
        • $(R \cup S) \cup T = R \cup (S \cup T)$
    • ๊ต์ง‘ํ•ฉ(intersection)
      • ํ•ฉ๋ณ‘์ด ๊ฐ€๋Šฅํ•œ ๋‘ ๋ฆด๋ ˆ์ด์…˜ R๊ณผ S์˜ ๊ต์ง‘ํ•ฉ : $R \cap S$
        • ๋ฆด๋ ˆ์ด์…˜ R๊ณผ S์— ๊ณตํ†ต์œผ๋กœ ์†ํ•˜๋Š” ํŠœํ”Œ๋กœ ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜ ๊ตฌ์„ฑ
      • ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜ ํŠน์ง•
        • ์ฐจ์ˆ˜๋Š” ๋ฆด๋ ˆ์ด์…˜ R๊ณผ S์˜ ์ฐจ์ˆ˜์™€ ๊ฐ™์Œ
        • ์นด๋””๋„๋ฆฌํ‹ฐ๋Š” ๋ฆด๋ ˆ์ด์…˜ R๊ณผ S์˜ ์–ด๋–ค ์นด๋””๋„๋ฆฌํ‹ฐ๋ณด๋‹ค ํฌ์ง€ ์•Š์Œ(๊ฐ™๊ฑฐ๋‚˜ ์ ์Œ)
      • ๊ตํ™˜์  ํŠน์ง•์ด ์žˆ์Œ
        • $R \cap S = S \cap R$
      • ๊ฒฐํ•ฉ์  ํŠน์ง•์ด ์žˆ์Œ
        • $(R \cap S) \cap T = R \cap (S \cap T)$
    • ์ฐจ์ง‘ํ•ฉ(difference)
      • ํ•ฉ๋ณ‘์ด ๊ฐ€๋Šฅํ•œ ๋‘ ๋ฆด๋ ˆ์ด์…˜ R๊ณผ S์˜ ์ฐจ์ง‘ํ•ฉ : $R - S$
        • ๋ฆด๋ ˆ์ด์…˜ R์—๋Š” ์กด์žฌํ•˜์ง€๋งŒ ๋ฆด๋ ˆ์ด์…˜ S์—๋Š” ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํŠœํ”Œ๋“ค๋กœ ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜ ๊ตฌ์„ฑ
      • ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜ ํŠน์ง•
        • ์ฐจ์ˆ˜๋Š” ๋ฆด๋ ˆ์ด์…˜ R๊ณผ S์˜ ์ฐจ์ˆ˜์™€ ๊ฐ™์Œ
        • $R - S$ ๋Š” ๋ฆด๋ ˆ์ด์…˜ R์˜ ์นด๋””๋„๋ฆฌํ‹ฐ์™€ ๊ฐ™๊ฑฐ๋‚˜ ์ ์Œ
        • $S - R$ ์€ ๋ฆด๋ ˆ์ด์…˜ S์˜ ์นด๋””๋„๋ฆฌํ‹ฐ์™€ ๊ฐ™๊ฑฐ๋‚˜ ์ ์Œ
      • ๊ตํ™˜์ , ๊ฒฐํ•ฉ์  ํŠน์ง•์ด ์—†์Œ
    • ์นดํ‹ฐ์…˜ ํ”„๋กœ๋•ํŠธ(cartesian product)
      • ๋‘ ๋ฆด๋ ˆ์ด์…˜ R๊ณผ S์˜ ์นดํ‹ฐ์…˜ ํ”„๋กœ๋•ํŠธ : $R \times S$
        • ๋ฆด๋ ˆ์ด์…˜ R์— ์†ํ•œ ๊ฐ ํŠœํ”Œ๊ณผ ๋ฆด๋ ˆ์ด์…˜ S์— ์†ํ•œ ๊ฐ ํŠœํ”Œ์„ ๋ชจ๋‘ ์—ฐ๊ฒฐํ•˜์—ฌ ๋งŒ๋“ค์–ด์ง„ ์ƒˆ๋กœ์šด ํŠœํ”Œ๋กœ ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜ ๊ตฌ์„ฑ
      • ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜ ํŠน์ง•
        • ์ฐจ์ˆ˜๋Š” ๋ฆด๋ ˆ์ด์…˜ R๊ณผ S์˜ ์ฐจ์ˆ˜๋ฅผ ๋”ํ•œ ๊ฒƒ๊ณผ ๊ฐ™์Œ
        • ์นด๋””๋„๋ฆฌํ‹ฐ๋Š” ๋ฆด๋ ˆ์ด์…˜ R๊ณผ S์˜ ์นด๋””๋„๋ฆฌํ‹ฐ๋ฅผ ๊ณฑํ•œ ๊ฒƒ๊ณผ ๊ฐ™์Œ
      • ๊ตํ™˜์  ํŠน์ง•์ด ์žˆ์Œ
        • $R \times S = S \times R$
      • ๊ฒฐํ•ฉ์  ํŠน์ง•์ด ์žˆ์Œ
        • $(R \times S) \times T = R \times (S \times T)$
  • 2.3 ์ˆœ์ˆ˜ ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž
    • ์ˆœ์ˆ˜ ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž(relational operation)
      • ๋ฆด๋ ˆ์ด์…˜์˜ ๊ตฌ์กฐ์™€ ํŠน์„ฑ์„ ์ด์šฉํ•˜๋Š” ์—ฐ์‚ฐ์ž
      • ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์—์„œ ์ƒˆ๋กœ ์ œ์‹œ๋œ ์—ฐ์‚ฐ์ž
    • ์…€๋ ‰ํŠธ(select)
      • ๋ฆด๋ ˆ์ด์…˜์—์„œ ์ฃผ์–ด์ง„ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ํŠœํ”Œ๋งŒ ์„ ํƒํ•˜์—ฌ ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜ ๊ตฌ์„ฑ
        • ์ˆ˜ํ‰์  ์—ฐ์‚ฐ์ž : ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์ด ์—ฐ์‚ฐ ๋Œ€์ƒ ๋ฆด๋ ˆ์ด์…˜์—์„œ์˜ ์ˆ˜ํ‰์  ๋ถ€๋ถ„์ง‘ํ•ฉ(horizontal subset)
      • ์ˆ˜ํ•™์  ํ‘œํ˜„ : $\sigma_{์กฐ๊ฑด์‹}(๋ฆด๋ ˆ์ด์…˜)$
      • ๋ฐ์ดํ„ฐ ์–ธ์–ด์  ํ‘œํ˜„ : ๋ฆด๋ ˆ์ด์…˜ where ์กฐ๊ฑด์‹
      • ์กฐ๊ฑด์‹
        • ๋น„๊ต์‹ ๋˜๋Š” ํ”„๋ ˆ๋””ํ‚ท(predicate) ์ด๋ผ๊ณ ๋„ ํ•จ
        • ์†์„ฑ๊ณผ ์ƒ์ˆ˜์˜ ๋น„๊ต๋‚˜ ๋‹ค๋ฅธ ์†์„ฑ๋“ค ๊ฐ„์˜ ๋น„๊ต๋กœ ํ‘œํ˜„
        • ๋น„๊ต ์—ฐ์‚ฐ์ž($>, \ge, <, \le, =, \ne$)์™€ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž($\wedge, \vee, \lnot$)๋ฅผ ์ด์šฉํ•ด ์ž‘์„ฑ
      • ๊ตํ™˜์  ํŠน์ง•์ด ์žˆ์Œ
        • $\sigma_{์กฐ๊ฑด์‹1}(\sigma_{์กฐ๊ฑด์‹2}(๋ฆด๋ ˆ์ด์…˜)) = \sigma_{์กฐ๊ฑด์‹2}(\sigma_{์กฐ๊ฑด์‹1}(๋ฆด๋ ˆ์ด์…˜)) = \sigma_{์กฐ๊ฑด์‹1 \wedge ์กฐ๊ฑด์‹2}(๋ฆด๋ ˆ์ด์…˜)$
        • (Ex) $\sigma_{์ ๋ฆฝ๊ธˆ \ge 2000}(\sigma_{๋“ฑ๊ธ‰='gold'}(๊ณ ๊ฐ)) = \sigma_{๋“ฑ๊ธ‰='gold'}(\sigma_{์ ๋ฆฝ๊ธˆ \ge 2000}(๊ณ ๊ฐ)) = \sigma_{๋“ฑ๊ธ‰='gold' \wedge ์ ๋ฆฝ๊ธˆ \ge 2000}(๊ณ ๊ฐ)$
    • ํ”„๋กœ์ ํŠธ(project)
      • ๋ฆด๋ ˆ์ด์…˜์—์„œ ์„ ํƒํ•œ ์†์„ฑ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์œผ๋กœ ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์„ ๊ตฌ์„ฑ
        • ์ˆ˜์ง์  ์—ฐ์‚ฐ์ž : ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์ด ์—ฐ์‚ฐ ๋Œ€์ƒ ๋ฆด๋ ˆ์ด์…˜์—์„œ์˜ ์ˆ˜์ง์  ๋ถ€๋ถ„์ง‘ํ•ฉ(vertical subset)
      • ์ˆ˜ํ•™์  ํ‘œํ˜„ : $\pi_{์†์„ฑ๋ฆฌ์ŠคํŠธ}(๋ฆด๋ ˆ์ด์…˜)$
      • ๋ฐ์ดํ„ฐ ์–ธ์–ด์  ํ‘œํ˜„ : ๋ฆด๋ ˆ์ด์…˜[์†์„ฑ๋ฆฌ์ŠคํŠธ]
      • ํ•˜๋‚˜์˜ ๋ฆด๋ ˆ์ด์…˜์„ ๋Œ€์ƒ์œผ๋กœ ์—ฐ์‚ฐ ์ˆ˜ํ–‰
      • ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์— ๋™์ผํ•œ ํŠœํ”Œ์ด ์ค‘๋ณต๋˜์ง€ ์•Š๊ณ  ํ•œ ๋ฒˆ๋งŒ ๋‚˜ํƒ€๋‚จ
    • ์กฐ์ธ(join)
      • ์กฐ์ธ ์†์„ฑ(join attribute) ์„ ์ด์šฉํ•ด ๋‘ ๋ฆด๋ ˆ์ด์…˜์„ ์กฐํ•ฉํ•˜์—ฌ ํ•˜๋‚˜์˜ ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์„ ๊ตฌ์„ฑ
        • ์กฐ์ธ ์†์„ฑ์˜ ๊ฐ’์ด ๊ฐ™์€ ํŠœํ”Œ๋งŒ ์—ฐ๊ฒฐํ•˜์—ฌ ๋งŒ๋“ค ์ƒˆ๋กœ์šด ํŠœํ”Œ์„ ํฌํ•จํ•จ
        • ์กฐ์ธ ์†์„ฑ : ๋‘ ๋ฆด๋ ˆ์ด์…˜์ด ๊ณตํ†ต์œผ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์†์„ฑ
      • ํ‘œํ˜„๋ฒ• : $๋ฆด๋ ˆ์ด์…˜1 \bowtie ๋ฆด๋ ˆ์ด์…˜2$
      • ์กฐ์ธ ์—ฐ์‚ฐ์˜ ๊ฒฐ๊ณผ๋Š” ๋‘ ๋ฆด๋ ˆ์ด์…˜์— ๋Œ€ํ•ด ์นดํ‹ฐ์…˜ ํ”„๋กœ๋•ํŠธ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ ํ›„ ์กฐ์ธ ์†์„ฑ์˜ ๊ฐ’์ด ๊ฐ™์€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ํŠœํ”Œ์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ์…€๋ ‰ํŠธ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ ๊ฒƒ๊ณผ ๊ฐ™์Œ
      • ๋™๋“ฑ ์กฐ์ธ(equi-join) ์ด๋ผ๊ณ  ํ•จ
      • ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์—์„œ ์กฐ์ธ ์†์„ฑ์˜ ์ด๋ฆ„์ด ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋Š ๋ฆด๋ ˆ์ด์…˜์˜ ์†Œ์†์ธ์ง€ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์œ„ํ•ด `๋ฆด๋ ˆ์ด์…˜์ด๋ฆ„.์†์„ฑ์ด๋ฆ„' ํ˜•์‹์œผ๋กœ ํ‘œ๊ธฐํ•ด์•ผ ํ•จ
      • ์„ธํƒ€ ์กฐ์ธ(theta-join)
        • ๋™๋“ฑ ์กฐ์ธ์— ๋น„ํ•ด ์ข€ ๋” ์ผ๋ฐ˜ํ™”๋œ ์กฐ์ธ
        • ์ฃผ์–ด์ง„ ์กฐ์ธ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋‘ ๋ฆด๋ ˆ์ด์…˜์˜ ๋ชจ๋“  ํŠœํ”Œ์„ ์—ฐ๊ฒฐํ•œ ์ƒˆ๋กœ์šด ํŠœํ”Œ๋กœ ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์„ ๊ตฌ์„ฑ
        • ํ‘œํ˜„๋ฒ• : $๋ฆด๋ ˆ์ด์…˜1 \bowtie_{A \theta B} ๋ฆด๋ ˆ์ด์…˜2$
        • $\theta$ ์—๋Š” ๋น„๊ต ์—ฐ์‚ฐ์ž๋ฅผ ๋‹ค์–‘ํ•˜๊ฒŒ ์‚ฝ์ž…ํ•˜์—ฌ ์กฐ๊ฑด์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Œ
          • $\theta$ ์—ฐ์‚ฐ์ž๊ฐ€ $=$ ์ธ ์„ธํƒ€ ์กฐ์ธ์ด ๋™๋“ฑ ์กฐ์ธ์ž„
          • $๋ฆด๋ ˆ์ด์…˜1 \bowtie_{A=B} ๋ฆด๋ ˆ์ด์…˜2$
      • ์ž์—ฐ ์กฐ์ธ(natural join)
        • ๋™๋“ฑ ์กฐ์ธ์˜ ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜์—์„œ ์ค‘๋ณต๋œ ์†์„ฑ์„ ์ œ๊ฑฐํ•˜์—ฌ ์กฐ์ธ ์†์„ฑ์ด ํ•œ ๋ฒˆ๋งŒ ๋‚˜ํƒ€๋‚˜๊ฒŒ ํ•˜๋Š” ์—ฐ์‚ฐ
        • ํ‘œํ˜„๋ฒ• : $๋ฆด๋ ˆ์ด์…˜1 \bowtie_N ๋ฆด๋ ˆ์ด์…˜2$
      • ์„ธํƒ€ ์กฐ์ธ ์—์„œ $=$ ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉํ•ด ์กฐ์ธ ์กฐ๊ฑด์„ ํ‘œํ˜„ํ•œ ๊ฒƒ์ด ๋™๋“ฑ ์กฐ์ธ ์ธ ๊ฒƒ์ด๊ณ  ๋™๋“ฑ ์กฐ์ธ ์—์„œ ์ค‘๋ณต๋œ ์กฐ์ธ ์†์„ฑ์„ ์ œ๊ฑฐํ•˜๋ฉด ์ž์—ฐ ์กฐ์ธ ์ธ ๊ฒƒ์ž„
    • ๋””๋น„์ „(division)
      • ๋ฆด๋ ˆ์ด์…˜ S์˜ ๋ชจ๋“  ํŠœํ”Œ๊ณผ ๊ด€๋ จ ์žˆ๋Š” ๋ฆด๋ ˆ์ด์…˜ R์˜ ํŠœํ”Œ๋กœ ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜ ๊ตฌ์„ฑ
      • ๋ฆด๋ ˆ์ด์…˜ R์ด ๋ฆด๋ ˆ์ด์…˜ S์˜ ๋ชจ๋“  ์†์„ฑ์„ ํฌํ•จํ•˜๊ณ  ์žˆ์–ด์•ผ ์—ฐ์‚ฐ ๊ฐ€๋Šฅ(= ๋„๋ฉ”์ธ์ด ๊ฐ™์•„์•ผ ํ•จ)
      • ํ‘œํ˜„๋ฒ• : $R \div S$
      • ์ •์ˆ˜์˜ ๋‚˜๋ˆ—์…ˆ๊ณผ ์œ ์‚ฌ
  • 2.4 ๊ด€๊ณ„ ๋Œ€์ˆ˜๋ฅผ ์ด์šฉํ•œ ์งˆ์˜ ํ‘œํ˜„
    • Q1. '๋“ฑ๊ธ‰์ด gold์ธ ๊ณ ๊ฐ์˜ ์ด๋ฆ„๊ณผ ๋‚˜์ด๋ฅผ ๊ฒ€์ƒ‰ํ•˜์‹œ์˜ค.'
      • $\pi_{๊ณ ๊ฐ์ด๋ฆ„, ๋‚˜์ด}(\sigma_{๋“ฑ๊ธ‰='gold'}(๊ณ ๊ฐ))$
      • ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜
        ๊ณ ๊ฐ์ด๋ฆ„ ๋‚˜์ด
        ๊น€ํ˜„์ค€ 20
        ์›์œ ์„  28
    • Q2. '๊ณ ๊ฐ์ด๋ฆ„์ด ์›์œ ์„ ์ธ ๊ณ ๊ฐ์˜ ๋“ฑ๊ธ‰๊ณผ, ์›์œ ์„  ๊ณ ๊ฐ์ด ์ฃผ๋ฌธํ•œ ์ฃผ๋ฌธ์ œํ’ˆ, ์ˆ˜๋Ÿ‰์„ ๊ฒ€์ƒ‰ํ•˜์‹œ์˜ค.'
      • $\pi_{๋“ฑ๊ธ‰, ์ฃผ๋ฌธ์ œํ’ˆ, ์ˆ˜๋Ÿ‰}(\sigma_{๊ณ ๊ฐ์ด๋ฆ„='์›์œ ์„ '}(๊ณ ๊ฐ \bowtie ์ฃผ๋ฌธ))$
      • ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜
        ๊ณ ๊ฐ๋“ฑ๊ธ‰ ์ฃผ๋ฌธ์ œํ’ˆ ์ˆ˜๋Ÿ‰
        gold ๋ง›์žˆ๋Š”ํŒŒ์ด 5
    • Q3. '์ฃผ๋ฌธ์ˆ˜๋Ÿ‰์ด 10๊ฐœ ๋ฏธ๋งŒ์ธ ์ฃผ๋ฌธ ๋‚ด์—ญ์„ ์ œ์™ธํ•˜๊ณ  ๊ฒ€์ƒ‰ํ•˜์‹œ์˜ค.'
      • $์ฃผ๋ฌธ - (\sigma_{์ˆ˜๋Ÿ‰<10}(์ฃผ๋ฌธ))$
      • ๊ฒฐ๊ณผ ๋ฆด๋ ˆ์ด์…˜
        ์ฃผ๋ฌธ๋ฒˆํ˜ธ ์ฃผ๋ฌธ๊ณ ๊ฐ ์ฃผ๋ฌธ์ œํ’ˆ ์ˆ˜๋Ÿ‰
        1001 apple ์ง„์งœ์šฐ๋™ 10
        1003 banana ๊ทธ๋Œ€๋กœ๋งŒ๋‘ 11
728x90
๋ฐ˜์‘ํ˜•

'Development Study' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Lecture] DataBase - Day 6  (0) 2023.04.10
[Lecture] Data Communication - Day 5~6  (0) 2023.04.06
[Lecture] Operating System with Ubuntu - Day 2~3  (0) 2023.03.29
[Lecture] Data Communication - Day 3~4  (0) 2023.03.27
[Lecture] DataBase - Day 4  (0) 2023.03.27
Comments