IT’s Portfolio

[Lecture] DataBase - Day 11 λ³Έλ¬Έ

Development Study

[Lecture] DataBase - Day 11

f1r3_r41n 2023. 6. 12. 13:15
728x90
λ°˜μ‘ν˜•

πŸ–₯ DataBase - Day 11

πŸ‘‰πŸ» [Chapter 11] λ³΄μ•ˆκ³Ό κΆŒν•œ 관리

[01] λ³΄μ•ˆ

  • λ°μ΄ν„°λ² μ΄μŠ€ λ³΄μ•ˆμ˜ λͺ©ν‘œ
    • μ‘°μ§μ—μ„œ ν—ˆκ°€ν•œ μ‚¬μš©μžλ§Œ λ°μ΄ν„°λ² μ΄μŠ€μ— μ ‘κ·Όν•  수 μžˆλ„λ‘ ν†΅μ œν•˜μ—¬ λ³΄μ•ˆμ„ μœ μ§€ν•˜λŠ” 것
  • λ°μ΄ν„°λ² μ΄μŠ€ λ³΄μ•ˆ
    • 물리적 ν™˜κ²½μ— λŒ€ν•œ λ³΄μ•ˆ(μžμ—° μž¬ν•΄ λ“±μœΌλ‘œλΆ€ν„° 보호)
      • μžμ—° μž¬ν•΄μ²˜λŸΌ λ°μ΄ν„°λ² μ΄μŠ€μ— 물리적으둜 손싀을 λ°œμƒμ‹œν‚€λŠ” μœ„ν—˜μœΌλ‘œλΆ€ν„° λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό λ³΄ν˜Έν•΄μ•Ό 함
    • κΆŒν•œ 관리λ₯Ό ν†΅ν•œ λ³΄μ•ˆ(κΆŒν•œμ΄ μ—†λŠ” μ‚¬μš©μžλ‘œλΆ€ν„° 보호)
      • 접근이 ν—ˆλ½λœ μ‚¬μš©μžλ§Œ λΆ€μ—¬ν•œ κΆŒν•œ λ‚΄μ—μ„œ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ‚¬μš©ν•  수 μžˆλ„λ‘ 함
        • 계정이 λ°œκΈ‰λœ μ‚¬μš©μžλ§Œ λ°μ΄ν„°λ² μ΄μŠ€μ— μ ‘κ·Ό κ°€λŠ₯
        • μ‚¬μš©μžλ³„λ‘œ λ°μ΄ν„°λ² μ΄μŠ€μ˜ μ‚¬μš© λ²”μœ„μ™€ μˆ˜ν–‰ κ°€λŠ₯ν•œ μž‘μ—… λ‚΄μš© μ œν•œ
    • 운영 관리λ₯Ό ν†΅ν•œ λ³΄μ•ˆ(κΆŒν•œμ΄ μžˆλŠ” μ‚¬μš©μžλ‘œλΆ€ν„° 보호)
      • 접근이 ν—ˆλ½λœ μ‚¬μš©μžκ°€ λΆ€μ—¬λœ κΆŒν•œ λ‚΄μ—μ„œ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ‚¬μš©ν•˜λ”λΌλ„ μ‹€μˆ˜ λ“±μ˜ 이유둜 데이터 무결성을 μœ„λ°˜ν•  수 있음
        • 데이터 무결성을 μœ μ§€ν•˜κΈ° μœ„ν•œ μ˜¬λ°”λ₯Έ μ œμ•½μ‘°κ±΄ μ •μ˜
        • μ‚¬μš©μžλ“€μ˜ μ •μ˜λœ μ œμ•½μ‘°κ±΄μ„ μœ„λ°˜ν•˜μ§€ μ•Šλ„λ‘ ν†΅μ œ

[02] κΆŒν•œ 관리

  • 2.1 κΆŒν•œ κ΄€λ¦¬μ˜ κ°œλ…
    • μ ‘κ·Ό μ œμ–΄(access control)
      • 계정이 λ°œκΈ‰λœ μ‚¬μš©μžκ°€ λ‘œκ·ΈμΈμ— μ„±κ³΅ν–ˆμ„ κ²½μš°μ—λ§Œ λ°μ΄ν„°λ² μ΄μŠ€μ— 접근이 κ°€λŠ₯
      • μ‚¬μš©μž 계정 κ΄€λ¦¬λŠ” λ°μ΄ν„°λ² μ΄μŠ€ κ΄€λ¦¬μžκ°€ λ‹΄λ‹Ή
    • 각 μ‚¬μš©μžλŠ” μžμ‹ μ—κ²Œ ν—ˆμš©λœ κΆŒν•œ λ‚΄μ—μ„œλ§Œ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ‚¬μš©ν•  수 있음
      • λ‘œκ·ΈμΈμ— μ„±κ³΅ν•œ μ‚¬μš©μžλ„ λ°μ΄ν„°λ² μ΄μŠ€ μ‚¬μš© λ²”μœ„μ™€ μˆ˜ν–‰ κ°€λŠ₯ν•œ μž‘μ—…μ΄ μ œν•œλ¨
        • λ³΄μ•ˆμ„ μœ„ν•œ 데이터 λ‹¨μœ„λŠ” λ°μ΄ν„°λ² μ΄μŠ€ 전체뢀터 νŠΉμ • ν…Œμ΄λΈ”μ˜ νŠΉμ • ν–‰κ³Ό μ—΄ μœ„μΉ˜μ— μžˆλŠ” νŠΉμ • 데이터 값에 이λ₯΄κΈ°κΉŒμ§€ 닀양함
    • λ°μ΄ν„°λ² μ΄μŠ€μ— μ‘΄μž¬ν•˜λŠ” λͺ¨λ“  κ°μ²΄λŠ” 기본적으둜 ν•΄λ‹Ή 객체λ₯Ό μƒμ„±ν•œ μ‚¬μš©μžλ§Œ μ‚¬μš© κΆŒν•œμ„ κ°€μ§€κ²Œ 됨
      • λ°μ΄ν„°λ² μ΄μŠ€ 객체의 μ†Œμœ μžλŠ” ν•„μš”μ— 따라 SQL 문을 μ΄μš©ν•΄ λ‹€λ₯Έ μ‚¬μš©μžμ—κ²Œ μ‚¬μš© κΆŒν•œμ„ λΆ€μ—¬ν•˜κ±°λ‚˜ μ·¨μ†Œ
  • 2.2 κΆŒν•œμ˜ λΆ€μ—¬ : GRANT
    grant κΆŒν•œ on 객체 to μ‚¬μš©μž [with grant option];
    • 객체의 μ†Œμœ μžκ°€ λ‹€λ₯Έ μ‚¬μš©μžμ—κ²Œ 객체에 λŒ€ν•œ μ‚¬μš© κΆŒν•œμ„ λΆ€μ—¬
    • λΆ€μ—¬ν•  수 μžˆλŠ” μ£Όμš” κΆŒν•œ
      • INSERT, DELETE, UPDATE, SELECT, REFERENCES
      • μ—¬λŸ¬ κΆŒν•œμ„ ν•œ λ²ˆμ— λ™μ‹œμ— λΆ€μ—¬ κ°€λŠ₯
    • GRANT 문으둜 뢀여받은 κΆŒν•œμ€ 기본적으둜 λ‹€λ₯Έ μ‚¬μš©μžμ—κ²Œ λΆ€μ—¬ν•  수 μ—†μŒ
    • PUBLIC : λͺ¨λ“  μ‚¬μš©μžμ—κ²Œ κΆŒν•œμ„ λ˜‘κ°™μ΄ λΆ€μ—¬ν•˜κ³  μ‹Άλ‹€λ©΄ νŠΉμ • μ‚¬μš©μžλ₯Ό μ§€μ •ν•˜λŠ” λŒ€μ‹  PUBLIC keyword 이용
    • WITH GRANT OPTION : μ‚¬μš©μžκ°€ μžμ‹ μ΄ 뢀여받은 κΆŒν•œμ„ λ‹€λ₯Έ μ‚¬μš©μžμ—κ²Œλ„ λΆ€μ—¬ κ°€λŠ₯
    • μ‹œμŠ€ν…œ κΆŒν•œμ€ λ°μ΄ν„°λ² μ΄μŠ€ κ΄€λ¦¬μžκ°€ λΆ€μ—¬
      • μ‹œμŠ€ν…œ κΆŒν•œ : λ°μ΄ν„°λ² μ΄μŠ€ 관리와 κ΄€λ ¨λœ μž‘μ—…μ— λŒ€ν•œ κΆŒν•œ
        • 데이터 μ •μ˜μ–΄(DDL) 와 κ΄€λ ¨λœ μž‘μ—…μ— λŒ€ν•œ κΆŒν•œ
    • μ‹œμŠ€ν…œ κΆŒν•œμ„ λΆ€μ—¬ν•  λ•ŒλŠ” 객체λ₯Ό 지정할 ν•„μš”κ°€ μ—†μŒ
  • 2.3 κΆŒν•œμ˜ μ·¨μ†Œ : REVOKE
    revoke κΆŒν•œ on 객체 from μ‚¬μš©μž cascade|restrict;
    • 객체 μ†Œμœ μžκ°€ λ‹€λ₯Έ μ‚¬μš©μžμ—κ²Œ λΆ€μ—¬λœ 객체의 μ‚¬μš© κΆŒν•œμ„ μ·¨μ†Œ
    • μ‚¬μš©μž Aκ°€ μ‚¬μš©μž Bμ—κ²Œ, μ‚¬μš©μž BλŠ” μ‚¬μš©μž Cμ—κ²Œ 같은 κΆŒν•œμ„ λΆ€μ—¬ν•œ 경우
      • RECTRICT : κΆŒν•œμ„ μ·¨μ†Œν•  μ‚¬μš©μž Aκ°€ μ‚¬μš©μž Cμ—κ²Œ λΆ€μ—¬ν•œ κΆŒν•œμ€ μ·¨μ†Œν•˜μ§€ μ•ŠμŒ
      • CASCADE : μ—°κ΄€λœ λ‹€λ₯Έ μ‚¬μš©μžλ“€μ˜ κΆŒν•œλ„ ν•¨κ»˜ μ·¨μ†Œ
    • λ°μ΄ν„°λ² μ΄μŠ€ κ΄€λ¦¬μžκ°€ λ‹€λ₯Έ μ‚¬μš©μžμ—κ²Œ λΆ€μ—¬ν•œ μ‹œμŠ€ν…œ κΆŒν•œμ„ μ·¨μ†Œ
    • νŠΉμ • 객체에 λŒ€ν•œ κΆŒν•œμ„ μ·¨μ†Œν•˜λŠ” 것이 μ•„λ‹ˆλ―€λ‘œ 객체λ₯Ό 지정할 ν•„μš”κ°€ μ—†μŒ
    • κΆŒν•œ λͺ©λ‘ : κΆŒν•œ 뢀여에 κ΄€ν•œ λ‚΄μš©μ„ κΈ°λ‘ν•œ 것
      • μ‚¬μš©μžλ“€μ—κ²Œ 각 ν…Œμ΄λΈ”μ— λŒ€ν•΄ μ–΄λ–€ κΆŒν•œμ„ λΆ€μ—¬ν–ˆλŠ”μ§€, with grant option 을 ν¬ν•¨ν•˜μ—¬ κΆŒν•œμ„ λΆ€μ—¬ν–ˆλŠ”μ§€ λ“±
      • μ‚¬μš©μžλ³„λ‘œ ν…Œμ΄λΈ”μ— λΆ€μ—¬λœ κΆŒν•œ λͺ©λ‘μ„ μž‘μ„±ν•΄λ‘κ³  관리 ν•„μš”
      • λ°μ΄ν„°λ² μ΄μŠ€ κ΄€λ¦¬μžμ˜ λ‹΄λ‹Ή
  • 2.4 μ—­ν• μ˜ 뢀여와 μ·¨μ†Œ
    • μ—­ν• (role) : μ—¬λŸ¬ κΆŒν•œμ„ ꡬ룹으둜 묢어놓은 것
      • μ—¬λŸ¬ μ‚¬μš©μžμ—κ²Œ λ™μΌν•œ κΆŒν•œλ“€μ„ λΆ€μ—¬ν•˜κ³  μ·¨μ†Œν•˜λŠ” 번거둜운 μž‘μ—…μ„ νŽΈλ¦¬ν•˜κ²Œ μˆ˜ν–‰ν•  수 μžˆλ„λ‘ 도움을 μ£ΌλŠ” 것
      • μ—­ν• μ˜ ν•„μš”μ„±
        • μ‚¬μš©μžλ“€μ—κ²Œ λΆ€μ—¬ν•˜κ³  싢은 μ—¬λŸ¬ κΆŒν•œμ„ 역할에 미리 넣어두고 ν•„μš”ν•  λ•Œ 역할을 λΆ€μ—¬ν•˜λ©΄ μ—¬λŸ¬ κΆŒν•œμ„ ν•œ λ²ˆμ— μ‰½κ²Œ λΆ€μ—¬ κ°€λŠ₯
          • μ‚¬μš©μžμ—κ²Œ λΆ€μ—¬ν•œ 역할을 μ·¨μ†Œν•˜λ©΄ ν•œ λ²ˆμ— μ—¬λŸ¬ κΆŒν•œ μ·¨μ†Œ κ°€λŠ₯
        • κΆŒν•œ 관리가 μ‰¬μ›Œμ§
          • μƒˆλ‘œμš΄ κΆŒν•œμ˜ μΆ”κ°€, κΈ°μ‘΄ κΆŒν•œμ˜ μ·¨μ†Œ λ“± 역할에 λ³€ν™”κ°€ 생기면 ν•΄λ‹Ή 역할을 뢀여받은 λͺ¨λ“  μ‚¬μš©μžμ—κ²Œ λ³€ν™”κ°€ κ·ΈλŒ€λ‘œ 전달됨
    • μ—­ν•  생성 : CREATE ROLE
      create role 둀이름;
      • μƒˆλ‘œμš΄ 역할을 μƒμ„±ν•˜λŠ” κΈ°λŠ₯은 λ°μ΄ν„°λ² μ΄μŠ€ κ΄€λ¦¬μžκ°€ λ‹΄λ‹Ή
    • 역할에 κΆŒν•œ μΆ”κ°€ : GRANT
      grant κΆŒν•œ on 객체 to 둀이름;
      • 객체와 κ΄€λ ¨λœ κΆŒν•œμ„ λ„£λŠ” μž‘μ—…μ€ 객체의 μ†Œμœ μžκ°€ λ‹΄λ‹Ή
    • μ—­ν•  λΆ€μ—¬ : GRANT
      grant 둀이름 to μ‚¬μš©μž;
      • 역할을 μ‚¬μš©μžμ—κ²Œ λΆ€μ—¬ν•˜λŠ” 것은 λ°μ΄ν„°λ² μ΄μŠ€ κ΄€λ¦¬μžκ°€ λ‹΄λ‹Ή
    • μ—­ν•  μ·¨μ†Œ : REVOKE
      revoke 둀이름 from μ‚¬μš©μž;
      • μ‚¬μš©μžμ—κ²Œ λΆ€μ—¬ν•œ μ—­ν• μ˜ μ·¨μ†ŒλŠ” λ°μ΄ν„°λ² μ΄μŠ€ κ΄€λ¦¬μžκ°€ λ‹΄λ‹Ή
    • μ—­ν•  제거 : DROP ROLE
      drop role 둀이름;
      • 역할을 μ œκ±°ν•˜λ©΄ 제거된 역할을 뢀여받은 λͺ¨λ“  μ‚¬μš©μžμ— λŒ€ν•΄ 역할에 속해 있던 κΆŒν•œμ΄ λͺ¨λ‘ μ·¨μ†Œλ¨
      • μ—­ν•  μ œκ±°λŠ” λ°μ΄ν„°λ² μ΄μŠ€ κ΄€λ¦¬μžκ°€ λ‹΄λ‹Ή
728x90
λ°˜μ‘ν˜•

'Development Study' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[Lecture] Operating System - Finals Summary  (1) 2023.06.18
[Lecture] DataBase - Finals Summary  (3) 2023.06.17
[Lecture] Data Communication - Finals Summary  (0) 2023.06.11
[Lecture] DataBase - Day 10  (0) 2023.06.05
[Lecture] Data Communication - Day 12  (0) 2023.06.01
Comments