Relational Data Model
๊ด๊ณํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๊ฐ๋
๊ด๊ณ๋ชจ๋ธ ์ฉ์ด
  - ํ โ ํํ
 
  - ์ด โ ์ ํธ๋ฆฌ๋ทฐํธ
 
  - ํ
์ด๋ธ โ ๋ฆด๋ ์ด์
 
  - ํ
์ด๋ธ์ ์ํ ๊ฐ์ฒด โ๊ด๊ณโ์ ๊ตฌ์ฒด์ ์ธ ์ธ์คํด์ค
 
  - ๋๋ฉ์ธ(domain)
    
      - ์ ํธ๋ฆฌ๋ทฐํธ๊ฐ ๊ฐ์ง ์ ์๋ ๊ฐ(value)๋ค์ ์งํฉ
        
          - ๋จ์๋๋ฉ์ธ(simpledomain) โ ๋จ์ ์ ํธ๋ฆฌ๋ทฐํธ : ์์๊ฐ
 
          - ๋ณตํฉ ๋๋ฉ์ธ (composite domain) โ ๋ณตํฉ ์ ํธ๋ฆฌ๋ทฐํธ : ๋ณตํฉ๊ฐ
            
              - ์ฐ, ์, ์ผ โ ๋ ์ง:<์ฐ,์,์ผ>
 
            
           
        
       
    
   
๊ด๊ณ๋ชจ๋ธ์ ๊ตฌ์ฑ
  - ๊ด๊ณ๋ชจ๋ธ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฆด๋ ์ด์
(ํ
์ด๋ธ)๋ค์ ๋ชจ์์ผ๋ก ํํ๋จ
 
  - ๋ฆด๋ ์ด์
์ ํํ(ํ, ๋ ์ฝ๋)๋ค์ ์งํฉ์ผ๋ก ํํ๋จ
 
  - ํํ์ ์ ํธ๋ฆฌ๋ทฐํธ(์ปฌ๋ผ, ํ๋, ํน์ ์์ฑ)๋ค๋ก ๊ตฌ์ฑ๋จ
 
  - ์ผ๋ฐ์ ์ผ๋ก ER ๋ชจ๋ธ๋ง ์ดํ์ ๊ด๊ณ ๋ชจ๋ธ๋ก ๋ณํ
    
      - ํ
์ด๋ธ: ์ํฐํฐ ํ์
 (ํน์ ๋ค์น ์ ํธ๋ฆฌ๋ทฐํธ ๋๋ ๊ด๊ณ ํ์
)
 
      - ํ: ์ํฐํฐ ํน์ ๊ด๊ณ์ ํด๋นํ๋ ์ฌ์ค(์ธ์คํด์ค)์ ํํํจ
 
      - ์ด: ์ ํธ๋ฆฌ๋ทฐํธ๋ค์ ํ์ํจ
 
    
   
Relation์ ํน์ฑ๋ค
  - ํํ์ ๋ฌด์์์ฑ
    
      - ๋ฆด๋ ์ด์
์ ํํ๋ค์ ์งํฉ์ผ๋ก ์ ์๋จ
 
      - ์งํฉ์์ ์์์ ์์๊ฐ ๋ฌด์๋ฏธํ ๊ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ํํ์ ์์ ์ญ์ ์๋ฏธ๊ฐ ์์
 
    
   
  - ์ ํธ๋ฆฌ๋ทฐํธ์ ์์์ฑ(atomic)
    
      - ํํ ๋ด์ ๊ฐ ๊ฐ์ ๋ ์ด์ ๋๋ ์ ์๋ ์์๊ฐ(atomic value)๋ค์
 
      - ๊ฐ์ ์ ์ ์๊ฑฐ๋ ํด๋น๋๋ ๊ฐ์ด ์์ ๋์๋ NULL ์ด๋ผ๋ ํน์ ๊ฐ์ ์ฌ์ฉํจ. NULL๋ atomic์ผ๋ก ์ทจ๊ธ
        
          - ๋(NULL)
            
              - โ์ ์ฉํ  ์ ์์(inapplicable)โ์ด๋ผ๋ ์๋ฏธ
 
              - โ์๋ ค์ง์ง ์์(unknown)โ์ ์๋ฏธ
 
            
           
        
       
    
   
๊ด๊ณํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ ์ฝ์กฐ๊ฑด (constraint)
  - ์ ์ฝ์กฐ๊ฑด์ ๋ชจ๋  ๋ฆด๋ ์ด์
 ์ธ์คํด์ค๋ค์ด ๋ง์กฑํด์ผ ํ๋ ์กฐ๊ฑด์
 
  - ์คํค๋ง ๊ธฐ๋ฐ ์ ์ฝ์กฐ๊ฑด: ๋ฐ์ดํฐ ๋ชจ๋ธ ์คํค๋ง์์ DDL์ ํตํด ์ง์  ํํ ๊ฐ๋ฅํ ์กฐ๊ฑด
    
      - (1) ๋๋ฉ์ธ ์ ์ฝ ์กฐ๊ฑด(domain constraints)
 
      - (2) ํค ์ ์ฝ์กฐ๊ฑด(key constraints)
 
      - (3) ๋์ ๋ํ ์ ์ฝ์กฐ๊ฑด(constraints on NULLs)
 
      - (4) ์ํฐํฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด(entity integrity constraints)
 
      - (5) ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด(referential integrity constraints)
 
    
   
(1) ๋๋ฉ์ธ ์ ์ฝ ์กฐ๊ฑด(domain constraints)
  - ๊ฐ ์ ํธ๋ฆฌ๋ทฐํธ A์ ๊ฐ์ ๋ฐ๋์ A์ ๋๋ฉ์ธ dom(A)์ ์ํ๋ ์์๊ฐ์ด์ด์ผ ํจ
    
      VARCHAR ํ์ผ๋ก ์ ์ธ๋ Name ๋ณ์์๋ ์ ์ํ Integer ๊ฐ์ด ์ฌ ์ ์๋ ๊ฒฝ์ฐ๋ฅผ ์๋ฏธ 
    
   
(2) ํค ์ ์ฝ์กฐ๊ฑด(key constraints)
  - ํค : ํํ์ ์ ์ผํ๊ฒ ์๋ณํ  ์ ์๋ ์ ํธ๋ฆฌ๋ทฐํธ ์งํฉ
 
  - ๋ฆด๋ ์ด์
์ ํํ์ ์งํฉ์ผ๋ก ์ ์๋๋ฏ๋ก, ๋ชจ๋  ์์๋ ์ค๋ณต๋์ด์๋ ์ ๋จ
 
  - ์ด๋ค ๋ ํํ๋ ๋ฆด๋ ์ด์
์ ๋ชจ๋  ์ ํธ๋ฆฌ๋ทฐํธ์ ๋ํด ๊ฐ์ ๊ฐ๋ค์ ์กฐํฉ์ ๊ฐ์ง ์ ์์
 
  - ์ํผ ํค (super key)
    
      - ์ ์ผ์ฑ(uniqueness)์ ๋ง์กฑํ์ง๋ง ์ต์์ฑ(minimality)์ด ๋ง์กฑ๋๋ ์๋ ์ ํธ๋ฆฌ๋ทฐํธ์ ์งํฉ
 
      - ํค(key)๋ฅผ ํฌํจํ๋ ๋ชจ๋  ์์ฑ์ ์งํฉ
 
    
   
  - ๊ธฐ๋ณธ ํค (primary key)
    
      - ํ๋ณด ํค(candidate key) ์ค์์ ๋ฐ์ดํ๋ฒ ์ด์ค ์ค๊ณ์๊ฐ ์ง์ ํ ํ๋์ ํค
 
      - ๊ฐ ํํ์ ๋ํ ๊ธฐ๋ณธํค ๊ฐ์ ํญ์ ์ ํจ(no NULL value)
 
    
   
  - ๋์ฒด ํค (alternate key)
    
      - ํ๋ณดํค ์ค์ ๊ธฐ๋ณธํค๋ฅผ ์ ์ธํ ๋๋จธ์ง ํ๋ณดํค
 
    
   
  - ์ํผํค(superkey), ํ๋ณดํค(candidate key), ๊ธฐ๋ณธํค(PK, primary key)
    
      - ํํ์ ์๋ณํ  ์ ์์ผ๋ฉด ๋ชจ๋ ์ํผํค๊ฐ ๋  ์ ์์
 
    
   
(3) NULL์ ๋ํ ์ ์ฝ์กฐ๊ฑด(constraints on NULLs)
  - ์ ํธ๋ฆฌ๋ทฐํธ ๊ฐ์ผ๋ก ๋์ ํ์ฉํ์ง ์๋ ๊ฒฝ์ฐ, ์ ํธ๋ฆฌ๋ทฐํธ๋ ๋์ ๊ฐ์ง ์ ์์
 
(4) ์ํฐํฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด(entity integrity constraints)
  - ์ฝ์
: ๊ธฐ๋ณธํค ๊ฐ์ด ๊ฐ์ผ๋ฉด ์ฝ์
์ด ๊ธ์ง๋จ
 
  - ์์ : ๊ธฐ๋ณธํค ๊ฐ์ด ๊ฐ๊ฑฐ๋ NULL๋ก๋ ์์ ์ด ๊ธ์ง๋จ
 
  - ์ญ์ : ํน๋ณํ ํ์ธ์ด ํ์ํ์ง ์์ผ๋ฉฐ ์ฆ์ ์ํํจ
 
(5) ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด(referential integrity constraints)
  - ํ ๋ฆด๋ ์ด์
์ ์๋ ํํ์ด ๋ค๋ฅธ ๋ฆด๋ ์ด์
์ ์๋ ํํ์ ์ฐธ์กฐํ๋ ค๋ฉด ๋ฐ๋์ ์ฐธ์กฐ๋๋ ํํ์ด ๊ทธ ๋ฆด๋ ์ด์
 ๋ด์ ์กด์ฌํด์ผ ํจ
 
  - ํ๋์ ๋ฆด๋ ์ด์
 R์์ ์์ฑ F์ ๊ฐ์ผ๋ก ๋ค๋ฅธ ๋ฆด๋ ์ด์
 S์ ๊ธฐ๋ณธํค P๊ฐ์ ์ฐธ์กฐํ๋ ๊ฒฝ์ฐ์ R๊ณผ S๋ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ ์ ์ฝ ์กฐ๊ฑด์ ๊ฐ์ง๋ค๊ณ  ํจ (F๋ NULL์ ๊ฐ์ง ์ ์์)
 
  - t1[F] = t2[P]์ด๋ฉด R์ ํํ t1์ด S์ ํํ t2๋ฅผ ์ฐธ์กฐ(reference)ํ๋ค๊ณ  ํ๋ฉฐ, F๋ฅผ ์ธ๋ํค(foreign key)๋ผ๊ณ  ๋ถ๋ฆ
    
      - R์ ์ฐธ์กฐํ(referencing) ๋ฆด๋ ์ด์
, S๋ฅผ ์ฐธ์กฐ๋(referenced) ๋ฆด๋ ์ด์
์ด๋ผ๊ณ  ๋ถ๋ฆ
 
    
   
  - ๋ค๋ฅธ ์ ์ฝ์กฐ๊ฑด๊ณผ ๋ฌ๋ฆฌ ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ๋ ๋ฆด๋ ์ด์
์ ๋ํ ์ ์ฝ์กฐ๊ฑด์
 
  - ๋ถ๋ชจ๋ฆด๋ ์ด์
์ ์ฝ์
    
      - ์ ์์ ์ผ๋ก ์งํ๋จ
 
    
   
  - ์์๋ฆด๋ ์ด์
์ ์ฝ์
    
      - ์ฐธ์กฐ๋ฐ๋ ํ
์ด๋ธ์ ์ธ๋ํค ๊ฐ์ด ์์ผ๋ฏ๋ก ์ฝ์
 ๊ธ์ง
 
    
   
  - ๋ถ๋ชจ๋ฆด๋ ์ด์
์ ์ญ์ 
    
      - ์ฐธ์กฐํ๋ ํ
์ด๋ธ์ ๊ฐ์ด ์ญ์ ํ  ์ ์์ด์ ๊ธ์งํ๊ฑฐ๋ ์ถ๊ฐ์์
์ด ํ์
 
    
   
  - ์์๋ฆด๋ ์ด์
์ ์ญ์ 
    
  
 
  - ์์ 
    
      - ์ญ์ ์ ์ฝ์
์ ์ฐ์ ์ํ์ผ๋ก ๊ฐ ์ญ์ ์ ์ฝ์
์ ์ ์ฝ์ ๊ณ ๋ คํ์ฌ ์งํ๋จ
 
    
   
Source
  - Fundamentals of Database Systems 6th Edition by Ramez Elmasri, Shamkant B. Navathe.
 
  - ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ
 (Database System Concepts) 6th Edition by Abranham Silberschatz, Henry F.Korth, S.Sudarchan, ๊นํ์ฃผ ์ญ.