Ch05-1.md

관계 데이터 λͺ¨λΈ

relationimg
  • 일반적으둜 관계 데이터 λͺ¨λΈμ—μ„œλŠ” ν•˜λ‚˜μ˜ κ°œμ²΄μ— κ΄€ν•œ 데이터λ₯Ό λ¦΄λ ˆμ΄μ…˜(relation)에 λ‹΄λŠ”λ‹€.

  • κ΄€λ ¨ μš©μ–΄

    • 속성(Attribute)

      • == μ—΄(column), Field

    • νŠœν”Œ

      • == ν–‰(row), record

    • 도메인

      • 속성 ν•˜λ‚˜κ°€ κ°€μ§ˆ 수 μžˆλŠ” λͺ¨λ“  κ°’μ˜ μ§‘ν•©

      • κ°€λŠ₯ν•œ 값을 일일이 λ‚˜μ—΄ν•˜κΈ° μ–΄λ €μš΄ κ²½μš°κ°€ λŒ€λΆ€λΆ„μ΄λΌ 일반적으둜 μ†μ„±μ˜ νŠΉμ„±μ„ κ³ λ €ν•œ 데이터 νƒ€μž…μœΌλ‘œ μ •μ˜ν•œλ‹€.

      • 데이터 νƒ€μž… == 도메인 : λ³€μˆ˜ == 속성

    • 널 κ°’

      • νŠΉμ • νŠœν”Œμ˜ 속성 값을 λͺ¨λ₯΄κ±°λ‚˜, μ ν•©ν•œ 값이 μ—†λŠ” 경우 null을 μ‚¬μš©

      • Not a zero(0) and blank

        DBMSλ§ˆλ‹€ 널값을 ν‘œμ‹œν•˜λŠ” κΈ°ν˜Έκ°€ 닀름

    • 차수

      • μ†μ„±μ˜ 전체 개수

    • 카디널리티

      • νˆ¬ν”Œμ˜ 전체 개수

  • Relation

    • Relation schema

      • λ¦΄λ ˆμ΄μ…˜μ˜ 이름과 λ¦΄λ ˆμ΄μ…˜μ— ν¬ν•¨λœ λͺ¨λ“  μ†μ„±μ˜ μ΄λ¦„μœΌλ‘œ μ •μ˜ν•˜λŠ” 논리적 ꡬ쑰

      • ex) relation_name(attribute_name_1,attribute_name_2,...,attribute_name_N)

    • Relation Instance

      • μ–΄λŠ ν•œ μ‹œμ μ— λ¦΄λ ˆμ΄μ…˜μ— μ‘΄μž¬ν•˜λŠ” νŠœν”Œλ“€μ˜ μ§‘ν•©

      • DML을 μ‚¬μš©ν•΄ 검색, μˆ˜μ •, μ‚½μž… λ“±μ˜ μž‘μ—…μ„ μˆ˜ν–‰

    • νŠΉμ • λ°μ΄ν„°λ² μ΄μŠ€ μŠ€ν‚€λ§ˆλ₯Ό μ„€κ³„ν•œλ‹€λŠ” 것은 ν•„μš”ν•œ λͺ¨λ“  λ¦΄λ ˆμ΄μ…˜μ˜ μŠ€ν‚€λ§ˆλ₯Ό λͺ¨λ‘ μ •μ˜ν•˜λŠ” 것

    • νŠΉμ„±

      • νŠœν”Œμ˜ μœ μΌμ„±

        • ν•˜λ‚˜μ˜ λ¦΄λ ˆμ΄μ…˜μ—λŠ” λ™μΌν•œ νŠœν”Œμ΄ μ‘΄μž¬ν•  수 μ—†λ‹€.

        • λ˜ν•œ λ‹€λ₯Έ νŠœν”Œλ“€κ³Ό κ΅¬λ³„λ˜λŠ” μœ μΌν•œ νŠΉμ„±μ΄ μ‘΄μž¬ν•΄μ•Όν•œλ‹€.

          • μœ μΌν•œ νŠΉμ„±: Key

      • νŠœν”Œμ˜ λ¬΄μˆœμ„œ

        • ν•˜λ‚˜μ˜ λ¦΄λ ˆμ΄μ…˜μ—μ„œ νŠœν”Œμ‚¬μ΄μ˜ μˆœμ„œλŠ” λ¬΄μ˜λ―Έν•˜λ‹€.

        • DBλŠ” μœ„μΉ˜κ°€ μ•„λ‹Œ λ‚΄μš©μœΌλ‘œ κ²€μƒ‰λ˜κΈ° λ•Œλ¬Έ

      • μ†μ„±μ˜ λ¬΄μˆœμ„œ

        • ν•˜λ‚˜μ˜ λ¦΄λ ˆμ΄μ…˜μ—μ„œ 속성 μ‚¬μ΄μ˜ μˆœμ„œλŠ” λ¬΄μ˜λ―Έν•˜λ‹€.

        • 속성 값은 μœ„μΉ˜κ°€ μ•„λ‹Œ μ†μ„±μ˜ μ΄λ¦„μœΌλ‘œ μ ‘κ·Όν•˜κΈ° λ•Œλ¬Έμ—

          • 이름이 같은 속성이 μ‘΄μž¬ν•  수 μ—†κ³ 

          • μ˜λ―Έκ°€ λͺ…ν™•νžˆ λ“œλŸ¬λ‚˜λŠ” μ΄λ¦„μœΌλ‘œ μ‚¬μš©ν•˜λŠ” 것이 μ’‹μŒ

      • μ†μ„±μ˜ μ›μžμ„±

        • 속성 κ°’μœΌλ‘œ μ›μž κ°’λ§Œ μ‚¬μš©ν•  수 μžˆλ‹€.

        • μ›μž κ°’μ΄λž€?

          • λ”λŠ” λΆ„ν•΄ν•  수 μ—†λŠ” κ°’

          • 닀쀑 값을 κ°€μ§ˆ 수 μ—†μŒ

          • 관계데이터 λͺ¨λΈμ€ λ¦΄λ ˆμ΄μ…˜μ„ λ‹¨μˆœν•œ ꡬ쑰둜 μ •μ˜ν•˜κ³ μž ν•˜λŠ” νŠΉμ§•μ΄ 있기 λ•Œλ¬Έ

Key

  • νŠœν”Œμ„ κ΅¬λ³„ν•˜κΈ° μœ„ν•œ 속성

  • μ’…λ₯˜

    • μŠˆνΌν‚€

    • 후보킀

    • κΈ°λ³Έν‚€

    • λŒ€μ²΄ν‚€

    • μ™Έλž˜ν‚€

μŠˆνΌν‚€

  • κ°œλ…

    • μœ μΌμ„±μ˜ νŠΉμ„±μ„ λ§Œμ‘±ν•˜λŠ” 속성 λ˜λŠ” μ†μ„±λ“€μ˜ μ§‘ν•©

    • μœ μΌμ„±(uniqueness)

      • ν•˜λ‚˜μ˜ λ¦΄λ ˆμ΄μ…˜μ—μ„œ ν‚€λ‘œ μ§€μ •λœ 속성 값은 νŠœν”Œλ§ˆλ‹€ λ‹¬λΌμ•Όν•œλ‹€.

후보킀

  • κ°œλ…

    • μœ μΌμ„±κ³Ό μ΅œμ†Œμ„±μ„ λ§Œμ‘±ν•˜λŠ” 속성 λ˜λŠ” μ†μ„±λ“€μ˜ μ§‘ν•©

    • μ΅œμ†Œμ„±(minimality)

      • κΌ­ ν•„μš”ν•œ μ΅œμ†Œν•œμ˜ μ†μ„±λ“€λ‘œλ§Œ ν‚€λ₯Ό κ΅¬μ„±ν•˜λŠ” νŠΉμ„±

κΈ°λ³Έν‚€

  • κ°œλ…

    • μ—¬λŸ¬ 후보킀 μ€‘μ—μ„œ 기본적으둜 μ‚¬μš©ν•  ν‚€

    • κΈ°λ³Έν‚€ 선택 고렀사항

      • 널 값을 κ°€μ§ˆ 수 μžˆλŠ” 속성이 ν¬ν•¨λœ ν›„λ³΄ν‚€λŠ” 뢀적합

      • 값이 자주 변경될 수 μžˆλŠ” 속성이 ν¬ν•¨λœ ν›„λΉ„ν‚€λŠ” 뢀적합

      • λ‹¨μˆœν•œ 후보킀λ₯Ό μ„ ν˜Έ

λŒ€μ²΄ν‚€

  • κ°œλ…

    • κΈ°λ³Έν‚€λ‘œ μ„ νƒλ˜μ§€ λͺ»ν•œ 후보킀

μ™Έλž˜ν‚€

  • κ°œλ…

    • μ–΄λ–€ λ¦΄λ ˆμ΄μ…˜μ— μ†Œμ†λœ 속성 λ˜λŠ” 속성 집합이 λ‹€λ₯Έ λ¦΄λ ˆμ΄μ…˜μ˜ κΈ°λ³Έν‚€κ°€ λ˜λŠ” ν‚€ fkimg

    • μœ„μ˜ μ΄λ―Έμ§€μ—μ„œ 주문고객 속성이 고객 λ¦΄λ ˆμ΄μ…˜μ˜ 고객아이디λ₯Ό μ°Έμ‘°ν•˜κ³  μžˆμœΌλ―€λ‘œ 주문고객 속성은 μ™Έλž˜ν‚€μ΄λ‹€.

    • 'μ°Έμ‘°ν•˜λŠ” λ¦΄λ ˆμ΄μ…˜': μ™Έλž˜ν‚€λ₯Ό κ°€μ§„ λ¦΄λ ˆμ΄μ…˜

    • 'μ°Έμ‘°λ˜λŠ” λ¦΄λ ˆμ΄μ…˜': μ°Έμ‘°λ˜λŠ” κΈ°λ³Έν‚€λ₯Ό κ°€μ§„ λ¦΄λ ˆμ΄μ…˜

    • μ™Έλž˜ν‚€ 속성과 μ°Έμ‘°λ˜λŠ” κΈ°λ³Έν‚€ μ†μ„±μ˜ 도메인(데이터 νƒ€μž…)은 κ°™μ•„μ•Ό ν•œλ‹€.

      • 비ꡐ연산을 μˆ˜ν–‰ν•΄μ•Ό ν•˜κΈ° λ•Œλ¬Έ

Last updated