Home
>
CS
>
2024
>
πΎ [CS] λ°μ΄ν° μ ν©μ±(Data Integrity)μ΄λ 무μμΌκΉμ?
CS
πΎ [CS] λ°μ΄ν° μ ν©μ±(Data Integrity)μ΄λ 무μμΌκΉμ?
-
λ°μ΄ν°μ μ νμ±, μΌκ΄μ±, μ λ’°μ±μ μ μ§νλ κ²μ μλ―Έν©λλ€.
- λ°μ΄ν° μ ν©μ±(Data Integrity)μ΄ λ³΄μ₯λλ©΄ μ ν리μΌμ΄μ
μ λ‘μ§κ³Ό λ°μ΄ν°λ² μ΄μ€ κ°μ λ°μ΄ν°κ° μλ‘ μΌκ΄μ± μκ² μ μ§λλ©°, λ°μ΄ν°κ° μλνμ§ μμ λ³κ²½ μμ΄ μ λ’°μ± μκ² κ΄λ¦¬λ©λλ€.
- μ΄λ λ°μ΄ν°λ² μ΄μ€μ κ΄λ ¨λ λͺ¨λ μμ€ν
μμ λ§€μ° μ€μν κ°λ
μ
λλ€.
1οΈβ£ λ°μ΄ν° μ ν©μ±(Data Integrity)μ΄ μ€μν μ΄μ .
- λ°μ΄ν° μ ν©μ±(Data Integrity)μ μ ν리μΌμ΄μ
μ λ°μ΄ν°κ° μ ννκ³ , μ€λ₯ μμ΄ μ μ§λ μ μλλ‘ νμ¬, μ¬λ°λ₯Έ λ°μ΄ν° κΈ°λ°μΌλ‘ μμ€ν
μ΄ μ΄μλκ² ν©λλ€.
- λ§μ½ λ°μ΄ν° μ ν©μ±(Data Integrity)μ΄ κΉ¨μ§λ€λ©΄, μλͺ»λ λ°μ΄ν°λ‘ μΈν΄ μ ν리μΌμ΄μ
μ΄ μλͺ»λ λμμ μνν μ μμΌλ©°, μ΄λ μ¬μ©μμκ² νΌλμ μ£Όκ³ , μμ€ν
μ μ λ’°μ±μ λ¨μ΄λ¨λ¦΄ μ μμ΅λλ€.
2οΈβ£ λ°μ΄ν° μ ν©μ±(Data Integrity)μ μ’
λ₯.
- λ°μ΄ν° μ ν©μ±(Data Integrity)λ ν¬κ² μ ν©μ±, μ°Έμ‘° μ ν©μ±, λΉμ¦λμ€ μ ν©μ±μΌλ‘ λλ μ μμ΅λλ€.
1οΈβ£ μν°ν° μ ν©μ±(Entity Integrity)
- κ° μν°ν°(ν
μ΄λΈ)μ κΈ°λ³Έ ν€(Primary Key)λ μ μΌνκ³ μ€λ³΅λμ§ μμΌλ©° NULLμ΄ λ μ μμμ 보μ₯ν©λλ€.
- μλ₯Ό λ€μ΄, User ν
μ΄λΈμ id νλκ° μ€λ³΅λμ§ μκ³ NULL κ°μ΄ μλ κ²½μ°, μ΄λ μν°ν° μ ν©μ±μ΄ μ μ§λ κ²μ
λλ€.
2οΈβ£ μ°Έμ‘° μ ν©μ±(Referential Integrity)
- λ°μ΄ν°λ² μ΄μ€μμ μΈλ ν€(Foreign Key)λ₯Ό ν΅ν΄ μ°κ΄λ ν
μ΄λΈ κ°μ κ΄κ³κ° μΌκ΄λκ² μ μ§λ¨μ μλ―Έν©λλ€.
- μλ₯Ό λ€μ΄, Order ν
μ΄λΈμ΄ User ν
μ΄λΈμ μΈλ ν€λ‘ user_idλ₯Ό κ°μ§λ κ²½μ°, λͺ¨λ Orderκ° μ‘΄μ¬νλ user_idλ₯Ό κ°μ ΈμΌ μ°Έμ‘° μ ν©μ±μ΄ μ μ§λ©λλ€.
- λ§μ½ User ν
μ΄λΈμμ μμ λ μ¬μ©μμ user_idκ° Order ν
μ΄λΈμ λ¨μ μμΌλ©΄ μ°Έμ‘° μ ν©μ±μ΄ κΉ¨μ§ κ²μ
λλ€.
3οΈβ£ λΉμ¦λμ€ μ ν©μ±(Business Integrity)
- λΉμ¦λμ€ λ‘μ§μ λ°λΌ νΉμ 쑰건λ€μ΄ μΌκ΄λκ² μ μ§λ¨μ 보μ₯ν©λλ€.
- μ¦, λΉμ¦λμ€ μꡬ μ¬νμ λ§κ² λ°μ΄ν°κ° μ νν λ°μλλ κ²μ μλ―Έν©λλ€.
- μλ₯Ό λ€μ΄, Account ν
μ΄λΈμμ κ³μ’ μκ³ κ° μμλ‘ λ΄λ €κ°μ§ μλλ‘ νλ κ·μΉμ΄ μλ€λ©΄, μ΄ κ·μΉμ μ§μΌμΌ λΉμ¦λμ€ μ ν©μ±μ΄ μ μ§λ©λλ€.
3οΈβ£ λ°μ΄ν° μ ν©μ± 보μ₯ λ°©λ².
- λ°μ΄ν° μ ν©μ±μ μ μ§νκΈ° μν΄ λ€μκ³Ό κ°μ κΈ°λ²μ΄ μ¬μ©λ©λλ€.
-
1. λ°μ΄ν°λ² μ΄μ€ μ μ½ μ‘°κ±΄ : λ°μ΄ν°λ² μ΄μ€ μμ€μμ PRIMARY KEY, FOREIGN KEY, UNIQUE, NOT NULL λ±μ μ μ½ μ‘°κ±΄μ μ€μ νμ¬ μ ν©μ±μ 보μ₯ν©λλ€.
-
2. νΈλμμ
: νΈλμμ
μ ACID(Atomicity, Consistency, Isolation, Durability) μμ±μ ν΅ν΄ λ°μ΄ν°μ μΌκ΄μ±μ μ μ§ν©λλ€. νΈλμμ
λ΄μ λͺ¨λ μμ
μ΄ μ±κ³΅μ μΌλ‘ μλ£λκ±°λ λͺ¨λ μ€ν¨ν΄μΌ λ°μ΄ν° μ ν©μ±μ΄ 보μ₯λ©λλ€.
-
3. μ ν리μΌμ΄μ
λ‘μ§ : λΉμ¦λμ€ μ ν©μ±μ λ°μ΄ν°λ² μ΄μ€λΏλ§ μλλΌ μ ν리μΌμ΄μ
μ½λμμλ νμΈλμ΄μΌ ν©λλ€. μλ₯Ό λ€μ΄, νΉμ κ·μΉμ λ°λΌ λ°μ΄ν°λ₯Ό μ½μ
νκ±°λ μ
λ°μ΄νΈνκΈ° μ μ λ‘μ§μ ν΅ν΄ κ²μ¦νλ λ°©μμ
λλ€.
4οΈβ£ JPAμμμ λ°μ΄ν° μ ν©μ± μ μ§.
- JPAλ₯Ό μ¬μ©ν λλ λ€μκ³Ό κ°μ λ°©μμΌλ‘ λ°μ΄ν° μ ν©μ±μ μ μ§ν μ μμ΅λλ€.
-
μ°κ΄κ΄κ³ μ£ΌμΈ μ€μ : μ°κ΄κ΄κ³ μ£ΌμΈμ μ¬λ°λ₯΄κ² μ€μ νμ¬, μλ°©ν₯ κ΄κ³μμ λ°μ΄ν°λ² μ΄μ€μ λ°μ΄ν°κ° μΌκ΄λκ² λ°μλλλ‘ ν©λλ€.
-
Cascadeμ Orphan κ°μ²΄ μ²λ¦¬ : CascadeType.ALLκ³Ό orphanRemoval = true μ€μ μ ν΅ν΄ λΆλͺ¨-μμ κ΄κ³μμ λ°μ΄ν° μ ν©μ±μ μ μ§ν μ μμ΅λλ€.
-
νΈλμμ
κ΄λ¦¬ : λ°μ΄ν°μ μ½μ
, μμ , μμ μμ
μ νΈλμμ
μΌλ‘ λ¬Άμ΄, μμ
λμ€ μλ¬κ° λ°μν΄λ μ ν©μ±μ΄ κΉ¨μ§μ§ μλλ‘ ν©λλ€.
5οΈβ£ μμ½.
- λ°μ΄ν° μ ν©μ±μ λ°μ΄ν°μ μ νμ±κ³Ό μ λ’°μ±μ μ μ§νκΈ° μν΄ νμμ μΈ κ°λ
μ
λλ€.
- μ΄λ₯Ό 보μ₯νλ €λ©΄ λ°μ΄ν°λ² μ΄μ€ μ μ½ μ‘°κ±΄, νΈλμμ
κ΄λ¦¬, μ ν리μΌμ΄μ
λ‘μ§μ ν΅ν κ²μ¦μ΄ νμνλ©°, JPAλ₯Ό μ¬μ©νλ κ²½μ° μ°κ΄κ΄κ³μ νΈλμμ
μ μ¬λ°λ₯΄κ² κ΄λ¦¬ν΄μΌ ν©λλ€.