[CS] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์ถ•
๋ฐ˜์‘ํ˜•

 

 

 


  01  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ๊ตฌ์ถ•

 

Section  1.  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ๊ฐœ๋…

 

1.  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ๊ฐœ๋…

โ‘ด  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜  ์ •์˜(๊ณต์žฅํ†ต์šด) โญ

๏‚Ÿ ํ†ตํ•ฉ  ๋ฐ์ดํ„ฐ(Integrated  Data)  :  ์ค‘๋ณต์ด  ์ตœ์†Œํ™”๋œ  ๋ฐ์ดํ„ฐ์˜  ๋ชจ์ž„ 
๏‚Ÿ ์ €์žฅ  ๋ฐ์ดํ„ฐ(Stored  Data)  :  ์ €์žฅ  ๋งค์ฒด์—  ์ €์žฅ๋œ  ๋ฐ์ดํ„ฐ 
๏‚Ÿ ์šด์˜  ๋ฐ์ดํ„ฐ(Operational  Data)  :  ์กฐ์ง์˜  ๋ชฉ์ ์„  ์œ„ํ•ด  ํ•„์š”ํ•œ  ๋ฐ์ดํ„ฐ
๏‚Ÿ ๊ณต์œ   ๋ฐ์ดํ„ฐ(Shared  Data)  :  ์—ฌ๋Ÿฌ  ์‘์šฉ  ํ”„๋กœ๊ทธ๋žจ๋“ค์ด  ๊ณต๋™์œผ๋กœ  ์‚ฌ์šฉํ•˜๋Š”  ๋ฐ์ดํ„ฐ

โ‘ต  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜  ํŠน์ง•

๏‚Ÿ ์‹ค์‹œ๊ฐ„  ์ ‘๊ทผ์„ฑ(Real  Time  Accessibility)
๏‚Ÿ ๊ณ„์†์ ์ธ  ๋ณ€ํ™”(Continuous  Evolution)
๏‚Ÿ ๋™์‹œ  ๊ณต์œ (Concurrent  Sharing)
๏‚Ÿ ๋‚ด์šฉ์—  ์˜ํ•œ  ์ฐธ์กฐ(Content  Reference) 
๏‚Ÿ ๋ฐ์ดํ„ฐ์˜  ๋…๋ฆฝ์„ฑ(Independence)

โ‘ถ  ๋ฐ์ดํ„ฐ  ์–ธ์–ด

๏‚Ÿ DDL(Data  Definition  Language  :  ๋ฐ์ดํ„ฐ  ์ •์˜์–ด) 
๏‚Ÿ DML(Data  Manipulation  Language  :  ๋ฐ์ดํ„ฐ  ์กฐ์ž‘์–ด) 
๏‚Ÿ DCL(Data  Control  Language  : ๋ฐ์ดํ„ฐ  ์ œ์–ด์–ด) 

โ‘ท  ์Šคํ‚ค๋งˆ(Schema) 0๏ธโƒฃ(์Šคํ‚ค๋งˆ๋ž€? ์„œ์ˆ )

0๏ธโƒฃ๏‚Ÿ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜  ๊ตฌ์กฐ์™€  ์ œ์•ฝ์กฐ๊ฑด์—  ๊ด€ํ•ด  ์ „๋ฐ˜์ ์ธ  ๋ช…์„ธ๋ฅผ  ๊ธฐ์ˆ ํ•œ  ๊ฒƒ

๏‚Ÿ 3๊ณ„์ธต  ์Šคํ‚ค๋งˆ
1) ์™ธ๋ถ€  ์Šคํ‚ค๋งˆ (External  Schema)  :  ์‚ฌ์šฉ์ž  ๋ทฐ
2) ๊ฐœ๋…  ์Šคํ‚ค๋งˆ (Conceptual  Schema)  :  ์ „์ฒด์ ์ธ  ๊ตฌ์กฐ์™€  ์ œ์•ฝ  ์กฐ๊ฑด
3) ๋‚ด๋ถ€  ์Šคํ‚ค๋งˆ (Internal  Schema)  :   ์ €์žฅ  ์Šคํ‚ค๋งˆ

๏‚Ÿ ๋ฐ์ดํ„ฐ  ๋…๋ฆฝ์„ฑ
1)  ๋…ผ๋ฆฌ์   ๋…๋ฆฝ์„ฑ: ๊ฐœ๋…  ์Šคํ‚ค๋งˆ๊ฐ€  ๋ณ€๊ฒฝ๋˜์–ด๋„  ์™ธ๋ถ€  ์Šคํ‚ค๋งˆ์—๋Š”  ์˜ํ–ฅ์„  ๋ฏธ์น˜์ง€  ์•Š๋„๋ก  ์ง€์›
2)  ๋ฌผ๋ฆฌ์   ๋…๋ฆฝ์„ฑ: ๋‚ด๋ถ€  ์Šคํ‚ค๋งˆ๊ฐ€  ๋ณ€๊ฒฝ๋˜์–ด๋„  ์™ธ๋ถ€/๊ฐœ๋…  ์Šคํ‚ค๋งˆ๊ฐ€  ์˜ํ–ฅ์„  ๋ฐ›์ง€  ์•Š๋„๋ก  ์ง€์›

 

2.  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ๊ด€๋ฆฌ  ์‹œ์Šคํ…œ (Database  Management  System) 

โ‘ด  DBMS์˜  ์ •์˜

๏‚Ÿ DBMS๋ฅผ  ํ†ตํ•ด  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ  ๊ด€๋ฆฌํ•˜์—ฌ  ์‘์šฉ  ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ  ๊ณต์œ ํ•˜๊ณ , ์‚ฌ์šฉํ•   ์ˆ˜  ์žˆ๋Š”  ํ™˜๊ฒฝ์„  ์ œ๊ณต

โ‘ต  DBMS์˜  ๊ธฐ๋Šฅ

๏‚Ÿ ๋ฐ์ดํ„ฐ  ์ •์˜ 
๏‚Ÿ ๋ฐ์ดํ„ฐ  ์กฐ์ž‘ 
๏‚Ÿ ๋ฐ์ดํ„ฐ  ์ œ์–ด 
๏‚Ÿ ๋ฐ์ดํ„ฐ  ๊ณต์œ  
๏‚Ÿ ๋ฐ์ดํ„ฐ  ๋ณดํ˜ธ 
๏‚Ÿ ๋ฐ์ดํ„ฐ  ๊ตฌ์ถ• 
๏‚Ÿ ์œ ์ง€๋ณด์ˆ˜ 

โ‘ถ  DBMS์˜  ์ข…๋ฅ˜

๏‚Ÿ ๊ณ„์ธตํ˜• (Hierarchical  DataBase)  :  ํŠธ๋ฆฌ ํ˜•ํƒœ
๏‚Ÿ ๋„คํŠธ์›Œํฌํ˜• (Network  DataBase)  :  N:N(๋‹ค๋Œ€๋‹ค) ๊ตฌ์„ฑ ,  CODASYL  DBTG๋ชจ๋ธ
๏‚Ÿ ๊ด€๊ณ„ํ˜•(Relational  DataBase)ํ…Œ์ด๋ธ”  ๊ตฌ์กฐ๋กœ  ๋‹จ์ˆœํ™”์‹œํ‚จ  ๋ชจ๋ธ 
๏‚Ÿ ๊ฐ์ฒด  ์ง€ํ–ฅํ˜•(Object-Oriented  DataBase)  :  ๊ฐ์ฒด์ง€ํ–ฅ  ํ”„๋กœ๊ทธ๋ž˜๋ฐ  ๊ฐœ๋…์—  ๊ธฐ๋ฐ˜ํ•˜์—ฌ  ๋งŒ๋“   ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ๋ชจ๋ธ 
๏‚Ÿ ๊ฐ์ฒด  ๊ด€๊ณ„ํ˜•(Object-Relational  DataBase) : ๊ด€๊ณ„ํ˜•+๊ฐ์ฒด์ง€ํ–ฅํ˜•
๏‚Ÿ NoSQL  :  SQL๋ฟ๋งŒ  ์•„๋‹ˆ๋ผ  ๋‹ค์–‘ํ•œ  ํŠน์„ฑ์„  ์ง€์›
๏‚Ÿ NewSQL  :  RDBMS์˜ SQL๊ณผ NoSQL์˜  ์žฅ์ ์„  ๊ฒฐํ•ฉํ•œ  ๊ด€๊ณ„ํ˜•  ๋ชจ๋ธ

 

 

 

Section  2.  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ์„ค๊ณ„

 

1.  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ์„ค๊ณ„  ๋‹จ๊ณ„(์š”-๊ฐœ๋…ผ๋ฌผ-๊ตฌ)0๏ธโƒฃ1๏ธโƒฃ

โ‘ด  ์š”๊ตฌ์กฐ๊ฑด  ๋ถ„์„

โ‘ต  ๊ฐœ๋…์   ์„ค๊ณ„

๏‚Ÿ DBMS์—  ๋…๋ฆฝ์ ์œผ๋กœ  ์„ค๊ณ„
๏‚Ÿ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜  ๊ฐœ๋…์   ์Šคํ‚ค๋งˆ  ๊ตฌ์„ฑ (E-R ๋‹ค์ด์–ด๊ทธ๋žจ, ERD)

โ‘ถ  ๋…ผ๋ฆฌ์   ์„ค๊ณ„

๏‚Ÿ ๋ชฉํ‘œ  DBMS์˜  ๋…ผ๋ฆฌ์   ์ž๋ฃŒ  ๊ตฌ์กฐ๋กœ  ๋ณ€ํ™˜ 
๏‚Ÿ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜  ๋…ผ๋ฆฌ์   ์Šคํ‚ค๋งˆ  ์ƒ์„ฑ
๏‚Ÿ ๊ด€๊ณ„ํ˜•  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ธ  ๊ฒฝ์šฐ  ์ด  ๋‹จ๊ณ„์—์„œ  ํ…Œ์ด๋ธ”์„  ์„ค๊ณ„ํ•˜๋Š”  ์ •๊ทœํ™”  ๊ณผ์ •  ์ˆ˜ํ–‰
๏‚Ÿ ํŠธ๋žœ์žญ์…˜  ์ธํ„ฐํŽ˜์ด์Šค  ์„ค๊ณ„

โ‘ท  ๋ฌผ๋ฆฌ์   ์„ค๊ณ„

๏‚Ÿ ํŠน์ •  DBMS์˜  ๋ฌผ๋ฆฌ์   ๊ตฌ์กฐ์™€  ๋‚ด๋ถ€์ ์ธ  ์ €์žฅ๊ตฌ์กฐ ์„ค๊ณ„ 
๏‚Ÿ ๋ ˆ์ฝ”๋“œ  ์ง‘์ค‘์˜  ๋ถ„์„  ๋ฐ  ์„ค๊ณ„
๏‚Ÿ ํŠธ๋žœ์žญ์…˜  ์„ธ๋ถ€  ์„ค๊ณ„
+ ๋ฐ˜์ •๊ทœํ™”

โ‘ธ  ๊ตฌํ˜„

๏‚Ÿ ํŠน์ •  DBMS์˜ DDL๋กœ ๊ธฐ์ˆ ๋œ ๋ช…๋ น๋ฌธ์„ ์ปดํŒŒ์ผํ•˜๊ณ  ์‹คํ–‰์‹œ์ผœ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ์Šคํ‚ค๋งˆ  ์ƒ์„ฑ

 

 

 

Section  3.  ๋ฐ์ดํ„ฐ  ๋ชจ๋ธ๋ง

 

1.  ๋ฐ์ดํ„ฐ๋ชจ๋ธ  ๊ฐœ๋…

โ‘ด  ๋ฐ์ดํ„ฐ๋ชจ๋ธ  ๊ฐœ๋…

๏‚Ÿ ํ˜„์‹ค์„ธ๊ณ„์˜  ์š”์†Œ๋ฅผ  ์ธ๊ฐ„๊ณผ  ์ปดํ“จํ„ฐ๊ฐ€  ์ดํ•ดํ•   ์ˆ˜  ์žˆ๋Š”  ์ •๋ณด๋กœ  ํ‘œํ˜„ํ•œ  ๊ฒƒ

โ‘ต  ๋ฐ์ดํ„ฐ๋ชจ๋ธ  ํ‘œ์‹œํ•ด์•ผ  ํ•   ์š”์†Œโญ1๏ธโƒฃ

๏‚Ÿ ๊ตฌ์กฐ(Structure)  :  ๊ฐœ์ฒด  ํƒ€์ž…๊ณผ  ๊ฐœ์ฒด  ํƒ€์ž…๋“ค  ๊ฐ„์˜  ๊ด€๊ณ„
๏‚Ÿ ์—ฐ์‚ฐ(Operation)  :  ์ €์žฅ๋   ๋ฐ์ดํ„ฐ๋ฅผ  ์ฒ˜๋ฆฌํ•˜๋Š”  ๋ฐฉ๋ฒ•  
๏‚Ÿ ์ œ์•ฝ์กฐ๊ฑด(Constraint)  :  ๋ฐ์ดํ„ฐ์˜  ๋…ผ๋ฆฌ์ ์ธ  ์ œ์•ฝ์กฐ๊ฑด 

 

2.  ๊ฐœ์ฒด-๊ด€๊ณ„  ๋ชจ๋ธ, E-R๋ชจ๋ธ (Entity  Relation  Model)  2๏ธโƒฃ ๊ธฐํ˜ธ โญ•

โ‘ด  ๊ฐœ์ฒด-๊ด€๊ณ„  ๋ชจ๋ธ  ๊ฐœ๋… (๊ฐœ์†๊ด€)

๏‚Ÿ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—  ๋Œ€ํ•œ  ์š”๊ตฌ์‚ฌํ•ญ์„  ๊ทธ๋ž˜ํ”ฝ์ ์œผ๋กœ  ํ‘œํ˜„ํ•˜๋Š”  ๋ฐฉ๋ฒ•
๏‚Ÿ ํ˜„์‹ค ์„ธ๊ณ„์— ์กด์žฌํ•˜๋Š” ๋ฐ์ดํ„ฐ์™€ ๊ทธ๋“ค ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์‚ฌ๋žŒ์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ๋ช…ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋ธ

โ‘ต  ๊ฐœ์ฒด(Entity)

๏‚Ÿ ํ˜„์‹ค  ์„ธ๊ณ„์—์„œ  ๊ผญ  ํ•„์š”ํ•œ  ์‚ฌ๋žŒ์ด๋‚˜  ์‚ฌ๋ฌผ๊ณผ  ๊ฐ™์ด  ๊ตฌ๋ณ„๋˜๋Š”  ๋ชจ๋“   ๊ฒƒ

โ‘ถ  ์• ํŠธ๋ฆฌ๋ทฐํŠธ , ์†์„ฑ(Attribute)

๏‚Ÿ ๊ฐœ์ฒด๋‚˜  ๊ด€๊ณ„๊ฐ€  ๊ฐ€์ง€๊ณ   ์žˆ๋Š”  ๊ณ ์œ ์˜  ํŠน์„ฑ
๏‚Ÿ ์†์„ฑ์˜  ์œ ํ˜•
๋‹จ์ผ  ๊ฐ’  ์†์„ฑ : ๊ฐ’์„  ํ•˜๋‚˜๋งŒ  ๊ฐ€์งˆ  ์ˆ˜  ์žˆ๋Š”  ์†์„ฑ (์ด๋ฆ„)
๋‹ค์ค‘  ๊ฐ’  ์†์„ฑ : ๊ฐ’์„  ์—ฌ๋Ÿฌ  ๊ฐœ  ๊ฐ€์งˆ  ์ˆ˜  ์žˆ๋Š”  ์†์„ฑ (์ทจ๋ฏธ)
-  ๋‹จ์ˆœ  ์†์„ฑ : ์˜๋ฏธ๋ฅผ  ๋”๋Š”  ๋ถ„ํ•ดํ•   ์ˆ˜  ์—†๋Š”  ์†์„ฑ
-  ๋ณตํ•ฉ  ์†์„ฑ : ์˜๋ฏธ๋ฅผ  ๋ถ„ํ•ดํ•   ์ˆ˜  ์žˆ๋Š”  ์†์„ฑ
-  ์œ ๋„  ์†์„ฑ : ๋‹ค๋ฅธ  ์†์„ฑ์˜  ๊ฐ’์—์„œ  ์œ ๋„๋˜์–ด  ๊ฒฐ์ •๋˜๋Š”  ์†์„ฑ
-  ๋„  ์†์„ฑ : ์•„์ง  ๊ฒฐ์ •๋˜์ง€  ์•Š์€  ์กด์žฌํ•˜์ง€  ์•Š๋Š”  ๊ฐ’
-  ํ‚ค  ์†์„ฑ : ๊ฐœ์ฒด๋ฅผ  ์‹๋ณ„ํ•˜๋Š”  ๋ฐ  ์‚ฌ์šฉํ•˜๋Š”  ์†์„ฑ

โ‘ท  ๊ด€๊ณ„(Relationship)

๏‚Ÿ ์„œ๋กœ  ๋‹ค๋ฅธ  ๊ฐœ์ฒด๊ฐ€  ๋งบ๊ณ   ์žˆ๋Š”  ์˜๋ฏธ  ์žˆ๋Š”  ์—ฐ๊ด€์„ฑ

โ‘ธ  E-R  ๋‹ค์ด์–ด๊ทธ๋žจ  ๊ธฐํ˜ธ 

 

3.  ๋ฐ์ดํ„ฐ  ๋ชจ๋ธ์˜  ํ’ˆ์งˆ  ๊ธฐ์ค€(์ •์™„์ค€์ตœ์ผํ™œ)

๏‚Ÿ ์ •ํ™•์„ฑ : ์š”๊ตฌ์‚ฌํ•ญ์„  ์ •ํ™•ํ•˜๊ฒŒ  ๋ฐ˜์˜
๏‚Ÿ ์™„์ „์„ฑ : ์š”๊ตฌ์‚ฌํ•ญ  ๋ฐ  ์—…๋ฌด์˜์—ญ  ๋ฐ˜์˜  ์‹œ  ๋ˆ„๋ฝ์—†์ด  ์ž‘์„ฑ
๏‚Ÿ ์ค€๊ฑฐ์„ฑ : ์ค€์ˆ˜  ์š”๊ฑด๋“ค์„  ๋ˆ„๋ฝ์—†์ด  ์ค€์ˆ˜ (ํ‘œ์ค€, ๊ทœ์น™, ๋ฒ•์ ์š”๊ฑด)
๏‚Ÿ ์ตœ์‹ ์„ฑ : ํ˜„ํ–‰  ์‹œ์Šคํ…œ์˜  ์ตœ์‹   ์ƒํƒœ  ๋ฐ˜์˜
๏‚Ÿ ์ผ๊ด€์„ฑ : ๋ชจ๋ธ  ํ‘œํ˜„์˜  ์ผ๊ด€์„ฑ  ์œ ์ง€
๏‚Ÿ ํ™œ์šฉ์„ฑ : ์—…๋ฌด  ๋ณ€ํ™”  ์‹œ  ์„ค๊ณ„  ๋ณ€๊ฒฝ์—†์ด  ์œ ์—ฐํ•˜๊ฒŒ  ์„ค๊ณ„

 

 

 

Section  4.  ๋…ผ๋ฆฌ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ์„ค๊ณ„

 

1. ๋…ผ๋ฆฌ์   ๋ฐ์ดํ„ฐ  ๋ชจ๋ธ๋ง

โ‘ด ๋…ผ๋ฆฌ์  ๋ชจ๋ธ๋ง

- ๊ฐœ๋…์  ์„ค๊ณ„์—์„œ ์ถ”์ถœ๋œ ์‹ค์ฒด์™€ ์†์„ฑ๋“ค์˜ ๊ด€๊ณ„๋ฅผ ๊ตฌ์กฐ์ ์œผ๋กœ ์„ค๊ณ„ํ•˜๋Š” ๋‹จ๊ณ„
- ๋ฐ์ดํ„ฐ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์–ด๋–ป๊ฒŒ ํ‘œํ˜„ํ•˜๋Š๋ƒ์— ๋”ฐ๋ผ ๊ด€๊ณ„ ๋ชจ๋ธ, ๊ณ„์ธต ๋ชจ๋ธ, ๋„คํŠธ์›Œํฌ ๋ชจ๋ธ๋กœ ๊ตฌ๋ถ„

 

2. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ์ •๊ทœํ™”(Normalization) 1๏ธโƒฃ โญ

โ‘ด ์ •๊ทœํ™”์˜ ๊ฐœ๋… 

๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์„ค๊ณ„์—์„œ ์ค‘๋ณต์„ ์ตœ์†Œํ™”ํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์กฐํ™”

โ‘ต ์ด์ƒ ํ˜„์ƒ(Anomaly)

- ๋ฐ์ดํ„ฐ ์ค‘๋ณต์œผ๋กœ ์ธํ•ด ๋ฆด๋ ˆ์ด์…˜ ์กฐ์ž‘ ์‹œ ์˜ˆ์ƒํ•˜์ง€ ๋ชปํ•œ ๊ณค๋ž€ํ•œ ํ˜„์ƒ์ด ๋ฐœ์ƒ

- ์ด์ƒ์˜ ์ข…๋ฅ˜(์‚ฝ์‚ญ๊ฐฑ) โญ0๏ธโƒฃ
โ‘  ์‚ฝ์ž… ์ด์ƒ : ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•  ๋•Œ ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•จ๊ป˜ ์‚ฝ์ž…๋˜๋Š” ํ˜„์ƒ
โ‘ก ์‚ญ์ œ ์ด์ƒ : ํ•œ ํŠœํ”Œ์„ ์‚ญ์ œํ•  ๋•Œ ์—ฐ์‡„ ์‚ญ์ œ ํ˜„์ƒ์œผ๋กœ ์ธํ•ด ์ •๋ณด ์†์‹ค 2๏ธโƒฃ(์•ฝ์ˆ )
โ‘ข ๊ฐฑ์‹  ์ด์ƒ : ํŠœํ”Œ์˜ ์†์„ฑ๊ฐ’์„ ๊ฐฑ์‹ ํ•  ๋•Œ ์ผ๋ถ€ ํŠœํ”Œ์˜ ์ •๋ณด๋งŒ ๊ฐฑ์‹ ๋˜์–ด ์ •๋ณด์— ๋ชจ์ˆœ์ด ์ƒ๊ธฐ๋Š” ํ˜„์ƒ

โ‘ถ ํ•จ์ˆ˜์  ์ข…์†(Functional Dependency) (X→Y, Y๋Š” X์— ํ•จ์ˆ˜์  ์ข…์†) 2๏ธโƒฃ

1)  ์™„์ „  ํ•จ์ˆ˜์   ์ข…์† (Full  Functional  Dependency) 
๏‚Ÿ ๊ธฐ๋ณธํ‚ค๋ฅผ  ๊ตฌ์„ฑํ•˜๋Š”  ๋ชจ๋“   ์†์„ฑ์ด  ํฌํ•จ๋œ  ๊ธฐ๋ณธํ‚ค์˜  ๋ถ€๋ถ„์ง‘ํ•ฉ์—  ์ข…์†๋œ  ๊ฒฝ์šฐ

2) ๋ถ€๋ถ„  ํ•จ์ˆ˜์   ์ข…์† (Partial  Functional  Dependency) 
๏‚Ÿ ๊ธฐ๋ณธํ‚ค๊ฐ€  ์—ฌ๋Ÿฌ  ์†์„ฑ์œผ๋กœ  ๊ตฌ์„ฑ๋˜์–ด  ์žˆ์„  ๋•Œ, ๊ธฐ๋ณธํ‚ค๋ฅผ  ๊ตฌ์„ฑํ•˜๋Š”  ์†์„ฑ  ์ค‘  ์ผ๋ถ€๋งŒ  ์ข…์†๋˜๋Š”  ๊ฒฝ์šฐ

3) ์ดํ–‰์   ํ•จ์ˆ˜  ์ข…์† (Transitive  Functional  Dependecy) 
๏‚Ÿ X→ Y, Y→ Z ์ด๋Ÿฌํ•œ  ์ข…์†  ๊ด€๊ณ„๊ฐ€  ์žˆ์„  ๊ฒฝ์šฐ, X→ Z ๊ฐ€  ์„ฑ๋ฆฝ๋˜๋Š”  ๊ฒฝ์šฐ

 

โ‘ท ์ •๊ทœํ™” ๊ณผ์ • (๋„๋ถ€์ด๊ฒฐ๋‹ค์กฐ) โญ

 



1)  ์ œ  1์ •๊ทœํ˜• (1NF)  :   ๋„๋ฉ”์ธ์ด  ์›์ž๊ฐ’๋งŒ์œผ๋กœ  ๊ตฌ์„ฑ
2)  ์ œ  2์ •๊ทœํ˜• (2NF)  :  ๋ถ€๋ถ„  ํ•จ์ˆ˜์   ์ข…์†  ์ œ๊ฑฐ 1๏ธโƒฃ
3)  ์ œ  3์ •๊ทœํ˜• (3NF)  :  ์ดํ–‰์   ํ•จ์ˆ˜  ์ข…์†  ์ œ๊ฑฐ
4)  ๋ณด์ด์Šค/์ฝ”๋“œ ์ •๊ทœํ˜• (BCNF)  :  ๊ฒฐ์ •์ž  ์ค‘  ํ›„๋ณดํ‚ค๊ฐ€  ์•„๋‹Œ  ๊ฒƒ๋“ค์„  ์ œ๊ฑฐ
5)  ์ œ 4 ์ •๊ทœํ˜• (4NF)  :  ๋‹ค์น˜  ์ข…์†  ์ œ๊ฑฐ
6) ์ œ  5์ •๊ทœํ˜• (5NF)  :  ์กฐ์ธ  ์ข…์†  ์ด์šฉ

 

 

 

Section  5.  ๋ฌผ๋ฆฌ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ์„ค๊ณ„

 

1.  ๋ฐ˜์ •๊ทœํ™” 0๏ธโƒฃ1๏ธโƒฃ

๏‚Ÿ ์‹œ์Šคํ…œ์˜  ์„ฑ๋Šฅํ–ฅ์ƒ๊ณผ  ๊ฐœ๋ฐœ  ํŽธ์˜์„ฑ  ๋“ฑ์„  ์œ„ํ•ด  ์ •๊ทœํ™”์—  ์œ„๋ฐฐ๋˜๋Š”  ์ค‘๋ณต์„  ํ—ˆ์šฉํ•˜๋Š”  ๊ธฐ๋ฒ•
๏‚Ÿ ๋ฐ˜์ •๊ทœํ™”์˜  ์ ์šฉ์ˆœ์„œ
-  ๋ฐ˜์ •๊ทœํ™”  ๋Œ€์ƒ  ์กฐ์‚ฌ  →  ๋‹ค๋ฅธ  ๋ฐฉ๋ฒ•์œผ๋กœ  ์œ ๋„  →  ๋ฐ˜์ •๊ทœํ™”  ์ˆ˜ํ–‰ 
0๏ธโƒฃ์ •๊ทœํ™”๋œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ํ†ตํ•ฉ, ์ค‘๋ณต, ๋ถ„๋ฆฌํ•˜๋Š” ๊ณผ์ •์œผ๋กœ ์˜๋„์ ์œผ๋กœ ์ •๊ทœํ™” ์›์น™์„ ์œ„๋ฐฐํ•˜๋Š” ํ–‰์œ„

 

2.  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ์ด์ค‘ํ™”

โ‘ด  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ์ด์ค‘ํ™”

๏‚Ÿ ์žฅ์• ๋ฐœ์ƒ  ์‹œ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ  ๋ณดํ˜ธํ•˜๊ธฐ  ์œ„ํ•ด  ๋™์ผํ•œ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ  ์ค‘๋ณต์‹œ์ผœ  ๋™์‹œ์—  ๊ฐฑ์‹ ํ•˜์—ฌ  ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ• (๊ณ ๊ฐ€์šฉ์„ฑ)

โ‘ต  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ์ด์ค‘ํ™”์˜  ๋ถ„๋ฅ˜

๏‚Ÿ Eager ๊ธฐ๋ฒ• :  ๋ณ€๊ฒฝ  ๋ฐœ์ƒ  ์ฆ‰์‹œ  ๋ฐ˜์˜
๏‚Ÿ Lazy ๊ธฐ๋ฒ• :  ํŠธ๋žœ์žญ์…˜  ์™„๋ฃŒ  ํ›„  ๋ฐ˜์˜

โ‘ถ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ์ด์ค‘ํ™”์˜  ์ข…๋ฅ˜

๏‚Ÿ Active-Active,  Active-Standby(Hot,  Warm,  Cold)

 

3.  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ๋ฐฑ์—…

โ‘ด  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ๋ฐฑ์—…  ๊ฐœ๋…

๏‚Ÿ ์ค‘๋‹จ  ์‚ฌํƒœ์—  ๋Œ€๋น„ํ•˜์—ฌ  ๋ณต๊ตฌ๋ฅผ  ์ง„ํ–‰ํ•   ์ˆ˜  ์žˆ๋„๋ก  ๋ฐ์ดํ„ฐ๋ฅผ  ์ฃผ๊ธฐ์ ์œผ๋กœ  ๋ณต์‚ฌํ•˜๋Š”  ๊ฒƒ

โ‘ต  ๋ฐฑ์—…  ๋ฐฉ์‹

๏‚Ÿ ์ „์ฒด  ๋ฐฑ์—…(Full  Backup)  :  Data๋ฅผ  ๋ชจ๋‘  ๋ฐฑ์—… 
๏‚Ÿ ์ฆ๋ถ„  ๋ฐฑ์—…(Incremental  Backup)  :  ๋ณ€๊ฒฝ/์ถ”๊ฐ€๋œ Data๋งŒ  ๋ฐฑ์—… 
๏‚Ÿ ์ฐจ๋“ฑ  ๋ฐฑ์—…(Differential  Backup)  :  ๋ณ€๊ฒฝ/์ถ”๊ฐ€๋œ  Data๋ฅผ ๋ชจ๋‘ ํฌํ•จํ•˜์—ฌ ๋ฐฑ์—… 
๏‚Ÿ ์‹ค์‹œ๊ฐ„ ๋ฐฑ์—… (RealTime  Backup)  :  ์ฆ‰์‹œ  ๋ฐฑ์—…
๏‚Ÿ ํŠธ๋žœ์žญ์…˜  ๋กœ๊ทธ  ๋ฐฑ์—… (Transaction  Log  Backup)  :  ๋ชจ๋“  SQL๋ฌธ์„  ๊ธฐ๋กํ•œ  ๋กœ๊ทธ
๏‚Ÿ ํ•ฉ์„ฑ  ๋ฐฑ์—… : ์ „์ฒด  ๋ฐฑ์—…๋ณธ๊ณผ  ์—ฌ๋Ÿฌ  ๊ฐœ์˜  ์ฆ๋ถ„  ๋ฐฑ์—…

โ‘ถ  ๋ณต๊ตฌ  ์‹œ๊ฐ„  ๋ชฉํ‘œ / ๋ณต๊ตฌ  ์‹œ์   ๋ชฉํ‘œ  0๏ธโƒฃ

1)  ๋ณต๊ตฌ  ์‹œ๊ฐ„  ๋ชฉํ‘œ(RTO) 
๏‚Ÿ ์„œ๋น„์Šค  ์ค‘๋‹จ  ์‹œ์ ๊ณผ  ์„œ๋น„์Šค  ๋ณต์›  ์‹œ์   ๊ฐ„์—  ํ—ˆ์šฉ๋˜๋Š”  ์ตœ๋Œ€  ์ง€์—ฐ  ์‹œ๊ฐ„

A๋Š” ํ•œ๊ตญ IT ๋ณด์•ˆ๊ด€์ œ์‹ค์—์„œ ๊ทผ๋ฌดํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. A๋Š” ์„œ๋น„์Šค ์šด์šฉ ์ค‘ ์™ธ๋ถ€ ๊ณต๊ฒฉ์œผ๋กœ ์ธํ•œ ์„œ๋ฒ„๋‹ค์šด, ์ž์—ฐ์žฌํ•ด, ์‹œ์Šคํ…œ ์žฅ์•  ๋“ฑ์˜ ๋น„์ƒ ์ƒํ™ฉ์—๋„ ๊ณ ๊ฐ ์‘๋Œ€ ์„œ๋น„์Šค๋ฅผ ์ •์ƒ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๊ตฌ์ถ•ํ•œ ์‹œ์Šคํ…œ์„ ๊ด€๋ฆฌํ•˜๋Š” ์—…๋ฌด๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ด ์šฉ์–ด๋Š” ์œ„์™€ ๊ฐ™์€ ๋น„์ƒ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ ๋น„์ƒ์‚ฌํƒœ ๋˜๋Š” ์—…๋ฌด์ค‘๋‹จ ์‹œ์ ๋ถ€ํ„ฐ ์—…๋ฌด๊ฐ€ ๋ณต๊ตฌ๋˜์–ด ๋‹ค์‹œ ์ •์ƒ ๊ฐ€๋™ ๋  ๋•Œ๊นŒ์ง€์˜ ์‹œ๊ฐ„์„ ์˜๋ฏธํ•œ๋‹ค.

2)  ๋ณต๊ตฌ  ์‹œ์   ๋ชฉํ‘œ(RPO)  
๏‚Ÿ ๋งˆ์ง€๋ง‰  ๋ณต๊ตฌ  ์‹œ์ ๊ณผ  ์„œ๋น„์Šค  ์ค‘๋‹จ  ์‹œ์   ์‚ฌ์ด์—  ํ—ˆ์šฉ๋˜๋Š”  ๋ฐ์ดํ„ฐ  ์†์‹ค๋Ÿ‰

 

4.  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ์•”ํ˜ธํ™”

โ‘ด  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ์•”ํ˜ธํ™”  ๋ฐฉ์‹

๏‚Ÿ API ๋ฐฉ์‹ : ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ  ์•”/๋ณตํ˜ธํ™”  ์ˆ˜ํ–‰
๏‚Ÿ Plug-in ๋ฐฉ์‹ : ์ œํ’ˆ์„ ์„ค์น˜ํ•˜์—ฌ  ์•”/๋ณตํ˜ธํ™”  ์ˆ˜ํ–‰
๏‚Ÿ TDE(Transparent  Data  Encryption) ๋ฐฉ์‹ : DBMS ๋‚ด์žฅ ๋ชจ๋“ˆ์„  ์ด์šฉํ•˜์—ฌ  ์•”/๋ณตํ˜ธํ™”  ์ˆ˜ํ–‰
๏‚Ÿ ํŒŒ์ผ  ์•”ํ˜ธํ™”  ๋ฐฉ์‹ : ๋น„์ •ํ˜•  ๋ฐ์ดํ„ฐ๋„  ์•”ํ˜ธํ™”
๏‚Ÿ ํ•˜๋“œ์›จ์–ด  ๋ฐฉ์‹ : ๋ณ„๋„์˜  ํ•˜๋“œ์›จ์–ด  ๋ฐฉ์‹ 

 

 

 

Section  6.  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ๋ฌผ๋ฆฌ์†์„ฑ  ์„ค๊ณ„

 

1.  ํŒŒํ‹ฐ์…”๋‹

โ‘ด  ํŒŒํ‹ฐ์…”๋‹  ๊ฐœ๋…

๏‚Ÿ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ  ์—ฌ๋Ÿฌ  ๋ถ€๋ถ„์œผ๋กœ  ๋ถ„ํ• ํ•˜๋Š”  ๊ฒƒ (ํ•˜๋‚˜์˜ ์„œ๋ฒ„์— ์ €์žฅ)

โ‘ต  ์ƒค๋”ฉ(Sharding)

๏‚Ÿ ํ•˜๋‚˜์˜  ๊ฑฐ๋Œ€ํ•œ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‚˜  ๋„คํŠธ์›Œํฌ  ์‹œ์Šคํ…œ์„  ์—ฌ๋Ÿฌ  ๊ฐœ์˜  ์ž‘์€  ์กฐ๊ฐ์œผ๋กœ  ๋‚˜๋ˆ„์–ด  ๋ถ„์‚ฐ  ์ €์žฅํ•˜์—ฌ  ๊ด€๋ฆฌํ•˜๋Š”  ๊ฒƒ

โ‘ถ  ๋ถ„ํ•   ๊ธฐ์ค€

๏‚Ÿ ๋ฒ”์œ„  ๋ถ„ํ• (Range  Partitioning)
๏‚Ÿ ๋ชฉ๋ก  ๋ถ„ํ• (List  Partitioning)
๏‚Ÿ ํ•ด์‹œ  ๋ถ„ํ• (Hash  Partitioning)
๏‚Ÿ ๋ผ์šด๋“œ  ๋กœ๋นˆ  ๋ถ„ํ• (Round  Robin  Partitioning)
๏‚Ÿ ํ•ฉ์„ฑ  ๋ถ„ํ• (Composite  Partitioning)

 

2.  ํด๋Ÿฌ์Šคํ„ฐ  ์„ค๊ณ„

๏‚Ÿ ๋””์Šคํฌ๋กœ๋ถ€ํ„ฐ  ๋ฐ์ดํ„ฐ๋ฅผ  ์ฝ์–ด์˜ค๋Š”  ์‹œ๊ฐ„์„  ์ค„์ด๊ธฐ  ์œ„ํ•ด  ๋ฐ์ดํ„ฐ๋ฅผ  ๋””์Šคํฌ์˜  ๊ฐ™์€  ์œ„์น˜์—  ์ €์žฅ์‹œํ‚ค๋Š”  ๋ฐฉ๋ฒ•

 

3.  ์ธ๋ฑ์Šค(Index) 

โ‘ด  ์ธ๋ฑ์Šค์˜  ๊ฐœ๋…

๏‚Ÿ ์ถ”๊ฐ€์ ์ธ  ์ €์žฅ  ๊ณต๊ฐ„์„  ํ™œ์šฉํ•˜์—ฌ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ํ…Œ์ด๋ธ”์˜  ๊ฒ€์ƒ‰  ์†๋„๋ฅผ  ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ  ์œ„ํ•œ  ์ž๋ฃŒ๊ตฌ์กฐ

โ‘ต  ์ธ๋ฑ์Šค์˜  ์ข…๋ฅ˜

๏‚Ÿ ํด๋Ÿฌ์Šคํ„ฐ  ์ธ๋ฑ์Šค :  ํ•ด๋‹น  ์ปฌ๋Ÿผ์„  ๊ธฐ์ค€์œผ๋กœ  ํ…Œ์ด๋ธ”์ด  ๋ฌผ๋ฆฌ์ ์œผ๋กœ  ์ •๋ ฌ 
๏‚Ÿ ๋„Œํด๋Ÿฌ์Šคํ„ฐ  ์ธ๋ฑ์Šค : ๋ ˆ์ฝ”๋“œ์˜  ์›๋ณธ์€  ์ •๋ ฌ๋˜์ง€  ์•Š๊ณ , ์ธ๋ฑ์Šค  ํŽ˜์ด์ง€๋งŒ  ์ •๋ ฌ
๏‚Ÿ ๋ฐ€์ง‘  ์ธ๋ฑ์Šค : ๋ฐ์ดํ„ฐ  ๋ ˆ์ฝ”๋“œ  ๊ฐ๊ฐ์—  ๋Œ€ํ•ด  ํ•˜๋‚˜์˜  ์ธ๋ฑ์Šค  ์ƒ์„ฑ
๏‚Ÿ ํฌ์†Œ  ์ธ๋ฑ์Šค : ๋ ˆ์ฝ”๋“œ  ๊ทธ๋ฃน  ๋˜๋Š”  ๋ฐ์ดํ„ฐ  ๋ธ”๋ก์—  ๋Œ€ํ•ด  ํ•˜๋‚˜์˜  ์ธ๋ฑ์Šค

โ‘ถ  ์ธ๋ฑ์Šค์˜  ๊ตฌ์กฐ

๏‚Ÿ ํŠธ๋ฆฌ  ๊ธฐ๋ฐ˜  ์ธ๋ฑ์Šค : B+  ํŠธ๋ฆฌ  ์ธ๋ฑ์Šค๋ฅผ  ์ฃผ๋กœ  ์‚ฌ์šฉ 
๏‚Ÿ ๋น„ํŠธ๋งต  ์ธ๋ฑ์Šค : ๋น„ํŠธ๋ฅผ  ์ด์šฉํ•˜์—ฌ  ์ปฌ๋Ÿผ๊ฐ’์„  ์ €์žฅํ•˜๊ณ   ์ด์šฉ 
๏‚Ÿ ํ•จ์ˆ˜  ๊ธฐ๋ฐ˜  ์ธ๋ฑ์Šค : ํ•จ์ˆ˜๋‚˜  ์ˆ˜์‹  ๊ฒฐ๊ณผ  ์ด์šฉ 
๏‚Ÿ ๋น„ํŠธ๋งต  ์กฐ์ธ  ์ธ๋ฑ์Šค : ๋ฌผ๋ฆฌ์ ์ธ  ๊ตฌ์กฐ๋Š”  ๋น„ํŠธ๋งต  ์ธ๋ฑ์Šค์™€  ์™„์ „ํžˆ  ๋™์ผ
๏‚Ÿ ๋„๋ฉ”์ธ  ์ธ๋ฑ์Šค : ๊ฐœ๋ฐœ์ž๊ฐ€  ์ž์‹ ์ด  ์›ํ•˜๋Š”  ์ธ๋ฑ์Šค  ํƒ€์ž…์„  ์ƒ์„ฑ

 

4.  ๋ทฐ(View) 

โ‘ด  ๋ทฐ์˜  ๊ฐœ๋…

๏‚Ÿ ํ•˜๋‚˜  ์ด์ƒ์˜  ๊ธฐ๋ณธ  ํ…Œ์ด๋ธ”๋กœ๋ถ€ํ„ฐ ์œ ๋„๋œ, ์ด๋ฆ„์„ ๊ฐ€์ง€๋Š” ๊ฐ€์ƒ  ํ…Œ์ด๋ธ” (์™ธ๋ถ€ ์Šคํ‚ค๋งˆ์— ํ•ด๋‹น)

โ‘ต  ๋ทฐ์˜  ํŠน์ง•

๏‚Ÿ ๋…ผ๋ฆฌ์   ๋ฐ์ดํ„ฐ  ๋…๋ฆฝ์„ฑ์„  ์ œ๊ณต
๏‚Ÿ ALTER  VIEW ๋ฌธ์„  ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.
๏‚Ÿ ๋ทฐ๋กœ  ๊ตฌ์„ฑ๋œ  ๋‚ด์šฉ์—  ๋Œ€ํ•œ  ์‚ฝ์ž…, ์‚ญ์ œ, ๊ฐฑ์‹  ์—ฐ์‚ฐ์— ์ œ์•ฝ



5.  ์‹œ์Šคํ…œ  ์นดํƒˆ๋กœ๊ทธ = DD โญ

๏‚Ÿ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—  ์ €์žฅ๋˜์–ด  ์žˆ๋Š”  ๋ชจ๋“   ๊ฐœ์ฒด๋“ค์—  ๋Œ€ํ•œ  ์ •์˜์—  ๋Œ€ํ•œ  ์ •๋ณด๊ฐ€  ์ˆ˜๋ก๋˜์–ด  ์žˆ๋Š”  ์‹œ์Šคํ…œ  ํ…Œ์ด๋ธ”
๏‚Ÿ ์‹œ์Šคํ…œ  ์นดํƒˆ๋กœ๊ทธ๋ฅผ  ๋ฐ์ดํ„ฐ  ์‚ฌ์ „(Data  Dictionary) ์ด๋ผ๊ณ ๋„  ํ•œ๋‹ค.
๏‚Ÿ ์‚ฌ์šฉ์ž๊ฐ€  SQL๋ฌธ์„  ์ด์šฉํ•˜์—ฌ  ๋‚ด์šฉ์„  ๊ฒ€์ƒ‰ํ•ด  ๋ณผ  ์ˆ˜  ์žˆ์ง€๋งŒ, ์ˆ˜์ •์€  ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.
๏‚Ÿ ์‹œ์Šคํ…œ  ์นดํƒˆ๋กœ๊ทธ๋Š”  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ๊ด€๋ฆฌ  ์‹œ์Šคํ…œ์—  ์˜ํ•ด  ์ƒ์„ฑ๋˜๊ณ   ์œ ์ง€๋œ๋‹ค.

 

 

 

Section  7.  ๊ด€๊ณ„  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ๋ชจ๋ธ

 

1.  ๊ด€๊ณ„  ๋ฐ์ดํ„ฐ  ๋ชจ๋ธ

โ‘ด  ๊ด€๊ณ„  ๋ฐ์ดํ„ฐ  ๋ชจ๋ธ  ๊ฐœ๋…

๏‚Ÿ ๋ฐ์ดํ„ฐ์˜  ๋…ผ๋ฆฌ์   ๊ตฌ์กฐ๊ฐ€  ๋ฆด๋ ˆ์ด์…˜, ์ฆ‰  ํ…Œ์ด๋ธ”  ํ˜•ํƒœ์˜  ํ‰๋ฉด  ํŒŒ์ผ๋กœ  ํ‘œํ˜„๋˜๋Š”  ๋ฐ์ดํ„ฐ  ๋ชจ๋ธ

โ‘ต  ๊ด€๊ณ„  ๋ฐ์ดํ„ฐ  ๋ฆด๋ ˆ์ด์…˜์˜  ๊ตฌ์กฐ 1๏ธโƒฃ

๋„๋ฉ”์ธ: ํ•ด๋‹น ์†์„ฑ์ด ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฐ’ / ํŠœํ”Œ-์นด๋””๋‚ ๋ฆฌํ‹ฐ, ์†์„ฑ-์ฐจ์ˆ˜(๋””๊ทธ๋ฆฌ)

 

โ‘ถ  ๋ฆด๋ ˆ์ด์…˜

1)  ๋ฆด๋ ˆ์ด์…˜์˜  ๊ตฌ์„ฑ

๏‚Ÿ ๋ฆด๋ ˆ์ด์…˜  ์Šคํ‚ค๋งˆ : ๋ฆด๋ ˆ์ด์…˜  ์ด๋ฆ„๊ณผ  ๋ชจ๋“   ์†์„ฑ์˜  ์ด๋ฆ„์œผ๋กœ  ์ •์˜ํ•˜๋Š”  ๋ฆด๋ ˆ์ด์…˜์˜  ๋…ผ๋ฆฌ์ ์ธ  ๊ตฌ์กฐ
๏‚Ÿ ๋ฆด๋ ˆ์ด์…˜  ์ธ์Šคํ„ด์Šค : ๋ฆด๋ ˆ์ด์…˜  ์Šคํ‚ค๋งˆ์—  ์‹ค์ œ๋กœ  ์ €์žฅ๋œ  ๋ฐ์ดํ„ฐ์˜  ์ง‘ํ•ฉ

2)  ๋ฆด๋ ˆ์ด์…˜์˜  ํŠน์ง•

๏‚Ÿ ํŠœํ”Œ์˜  ์œ ์ผ์„ฑ : ๋ฆด๋ ˆ์ด์…˜  ์•ˆ์—๋Š”  ๋˜‘๊ฐ™์€  ํŠœํ”Œ์ด  ์กด์žฌํ•   ์ˆ˜  ์—†์Œ 
๏‚Ÿ ํŠœํ”Œ์˜  ๋ฌด์ˆœ์„œ์„ฑ : ํŠœํ”Œ  ์‚ฌ์ด์—๋Š”  ์ˆœ์„œ๊ฐ€  ์—†์Œ 
๏‚Ÿ ์†์„ฑ์˜  ๋ฌด์ˆœ์„œ์„ฑ : ์†์„ฑ  ์‚ฌ์ด์—๋Š”  ์ˆœ์„œ๊ฐ€  ์—†์Œ 
๏‚Ÿ ์†์„ฑ์˜  ์›์ž์„ฑ : ์†์„ฑ์€  ๋”  ์ด์ƒ  ๋ถ„ํ•ดํ•   ์ˆ˜  ์—†๋Š”  ์›์ž๊ฐ’๋งŒ  ๊ฐ€์ง„๋‹ค .
๏‚Ÿ ํŠœํ”Œ๋“ค์˜  ์‚ฝ์ž…, ์‚ญ์ œ, ๊ฐฑ์‹ ์ž‘์—…์ด  ์‹ค์‹œ๊ฐ„์œผ๋กœ  ์ผ์–ด๋‚˜๋ฏ€๋กœ  ๋ฆด๋ ˆ์ด์…˜์€  ์ˆ˜์‹œ๋กœ  ๋ณ€ํ•œ๋‹ค.

 

2.  ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ ์–ธ์–ด (๊ด€๊ณ„๋Œ€์ˆ˜, ๊ด€๊ณ„ํ•ด์„) โญ๐Ÿงฎ

โ‘ด  ๊ด€๊ณ„  ๋Œ€์ˆ˜์˜  ๊ฐœ๋… 0๏ธโƒฃ2๏ธโƒฃ2๏ธโƒฃ

๏‚Ÿ ์›ํ•˜๋Š”  ๋ฐ์ดํ„ฐ๋ฅผ  ์–ป๊ธฐ  ์œ„ํ•ด  ๋ฐ์ดํ„ฐ๋ฅผ  ์–ด๋–ป๊ฒŒ  ์ฐพ๋Š”์ง€์—  ๋Œ€ํ•œ  ์ฒ˜๋ฆฌ  ๊ณผ์ •์„  ๋ช…์‹œํ•˜๋Š”  ์ ˆ์ฐจ์ ์ธ  ์–ธ์–ด

โ‘ต  ์ˆœ์ˆ˜  ๊ด€๊ณ„  ์—ฐ์‚ฐ์ž 

1)  SELECT
๏‚Ÿ ๊ธฐํ˜ธ : σ(์‹œ๊ทธ๋งˆ)
๏‚Ÿ ํ‘œ๊ธฐ๋ฒ• : σ<์กฐ๊ฑด>(R)

2)  PROJECT
๏‚Ÿ ๊ธฐํ˜ธ : π(ํŒŒ์ด)
๏‚Ÿ ํ‘œ๊ธฐ๋ฒ• : π<๋ฆฌ์ŠคํŠธ>(R)

3)  JOIN
๏‚Ÿ ๊ธฐํ˜ธ : โ‹ˆ(๋ณดํƒ€์ด)
๏‚Ÿ ํ‘œ๊ธฐ๋ฒ• :  Rโ‹ˆ<์กฐ๊ฑด >S 

4)  DIVISION
๏‚Ÿ ๊ธฐํ˜ธ :  ÷(๋‚˜๋ˆ„๊ธฐ)
๏‚Ÿ ํ‘œ๊ธฐ๋ฒ•  :  R÷S
0๏ธโƒฃ ๋ฆด๋ ˆ์ด์…˜ A, B๊ฐ€ ์žˆ์„ ๋•Œ ๋ฆด๋ ˆ์ด์…˜ B์˜ ์กฐ๊ฑด์— ๋งž๋Š” ๊ฒƒ๋“ค๋งŒ ๋ฆด๋ ˆ์ด์…˜ A์—์„œ ๋ถ„๋ฆฌํ•˜์—ฌ ํ”„๋กœ์ ์…˜์„ ํ•˜๋Š” ์—ฐ์‚ฐ

โ‘ถ  ์ผ๋ฐ˜  ์ง‘ํ•ฉ  ์—ฐ์‚ฐ์ž

1) ํ•ฉ์ง‘ํ•ฉ (Union)      
๏‚Ÿ ํ‘œ๊ธฐ๋ฒ•  :  ∪

2) ๊ต์ง‘ํ•ฉ (Intersection) 
๏‚Ÿ ํ‘œ๊ธฐ๋ฒ•  :  ∩

3) ์ฐจ์ง‘ํ•ฉ (Difference) 
๏‚Ÿ ํ‘œ๊ธฐ๋ฒ•  :  -

4) ๊ต์ฐจ๊ณฑ, ์นด๋””์…˜ ํ”„๋กœ๋•ํŠธ (Cartesian  Product) (ํฌ๋กœ์Šค ์กฐ์ธ๊ณผ ๊ฐ™์Œ) 
๏‚Ÿ ํ‘œ๊ธฐ๋ฒ•  :  X

โ‘ท  ๊ด€๊ณ„ํ•ด์„ 2๏ธโƒฃ

๏‚Ÿ ๊ด€๊ณ„  ๋ฐ์ดํ„ฐ  ๋ชจ๋ธ์˜  ์ œ์•ˆ์ž์ธ  ์ฝ”๋“œ(E.  F.  Codd) ๊ฐ€  ์ˆ˜ํ•™์˜  Predicate  Calculus(์ˆ ์–ดํ•ด์„)์—  ๊ธฐ๋ฐ˜์„  ๋‘๊ณ   ๊ด€๊ณ„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ  ์œ„ํ•ด  ์ œ์•ˆ
๏‚Ÿ ๊ด€๊ณ„ํ•ด์„์€  ์›ํ•˜๋Š”  ์ •๋ณด๊ฐ€  ๋ฌด์—‡์ด๋ผ๋Š”  ๊ฒƒ๋งŒ  ์ •์˜ํ•˜๋Š”  ๋น„์ ˆ์ฐจ์   ํŠน์„ฑ
๏‚Ÿ ํŠœํ”Œ  ๊ด€๊ณ„ํ•ด์„๊ณผ  ๋„๋ฉ”์ธ  ๊ด€๊ณ„ํ•ด์„์ด  ์žˆ๋‹ค.
๏‚Ÿ ์—ฐ์‚ฐ์ž

 

 

 

Section  8.  ํ‚ค์™€  ๋ฌด๊ฒฐ์„ฑ  ์ œ์•ฝ์กฐ๊ฑด

 

1. ํ‚ค  ์ข…๋ฅ˜

โ‘ด ํ‚ค(Key)์˜ ๊ฐœ๋…

๋ฆด๋ ˆ์ด์…˜์—์„œ ๋‹ค๋ฅธ ํŠœํ”Œ๋“ค๊ณผ ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ๊ธฐ์ค€์ด ๋˜๋Š” ์ปฌ๋Ÿผ

โ‘ต ํ‚ค(Key)์˜ ์ข…๋ฅ˜


     




 1) ํ›„๋ณดํ‚ค(Candidate Key) 2๏ธโƒฃ
๏‚Ÿ ๋ฆด๋ ˆ์ด์…˜์„ ๊ตฌ์„ฑํ•˜๋Š” ์†์„ฑ๋“ค ์ค‘์—์„œ ํŠœํ”Œ์„ ์œ ์ผํ•˜๊ฒŒ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ๋“ค์˜ ๋ถ€๋ถ„์ง‘ํ•ฉ
๏‚Ÿ ํŠœํ”Œ์— ๋Œ€ํ•œ ์œ ์ผ์„ฑ๊ณผ ์ตœ์†Œ์„ฑ์„ ๋งŒ์กฑ์‹œ์ผœ์•ผ ํ•œ๋‹ค.

2) ๊ธฐ๋ณธํ‚ค(Primary Key)
๏‚Ÿ ํ›„๋ณดํ‚ค ์ค‘์—์„œ ์„ ํƒํ•œ ์ฃผํ‚ค(Main Key)
๏‚Ÿ ํ•œ ๋ฆด๋ ˆ์ด์…˜์—์„œ ํŠน์ • ํŠœํ”Œ์„ ์œ ์ผํ•˜๊ฒŒ ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ

3) ๋Œ€์ฒดํ‚ค(Alternate Key)
๏‚Ÿ ํ›„๋ณดํ‚ค๊ฐ€ ๋‘˜ ์ด์ƒ์ผ ๋•Œ ๊ธฐ๋ณธํ‚ค๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ํ›„๋ณดํ‚ค 

4) ์Šˆํผํ‚ค(Super Key) 2๏ธโƒฃ
๏‚Ÿ ํ•œ ๋ฆด๋ ˆ์ด์…˜ ๋‚ด์— ์žˆ๋Š” ์†์„ฑ๋“ค์˜ ์ง‘ํ•ฉ์œผ๋กœ ๊ตฌ์„ฑ๋œ ํ‚ค
๏‚Ÿ ํŠœํ”Œ์— ๋Œ€ํ•œ ์œ ์ผ์„ฑ์€ ๋งŒ์กฑํ•˜์ง€๋งŒ, ์ตœ์†Œ์„ฑ์€ ๋งŒ์กฑ์‹œํ‚ค์ง€ ๋ชปํ•œ๋‹ค.  

5) ์™ธ๋ž˜ํ‚ค(Foreign Key)
๏‚Ÿ ๊ด€๊ณ„(Relation)๋ฅผ ๋งบ๊ณ  ์žˆ๋Š” ๋ฆด๋ ˆ์ด์…˜ R1, R2์—์„œ ๋ฆด๋ ˆ์ด์…˜ R1์ด ์ฐธ์กฐํ•˜๊ณ  ์žˆ๋Š” ๋ฆด๋ ˆ์ด์…˜ R2์˜ ๊ธฐ๋ณธํ‚ค์™€ ๊ฐ™์€ R1 ๋ฆด๋ ˆ์ด์…˜์˜ ์†์„ฑ

 

2. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ๋ฌด๊ฒฐ์„ฑ

โ‘ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฌด๊ฒฐ์„ฑ ๊ฐœ๋…

๋ฐ์ดํ„ฐ์˜ ์ •ํ™•์„ฑ, ์ผ๊ด€์„ฑ, ์œ ํšจ์„ฑ์ด ์œ ์ง€๋˜๋Š” ๊ฒƒ

โ‘ต ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฌด๊ฒฐ์„ฑ ์ข…๋ฅ˜โญ

1) ๊ฐœ์ฒด ๋ฌด๊ฒฐ์„ฑ(Entity Integrity)

๏‚Ÿ ๋ชจ๋“  ๋ฆด๋ ˆ์ด์…˜์€ ๊ธฐ๋ณธ ํ‚ค(Primary Key)๋ฅผ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค.
๏‚Ÿ ๊ธฐ๋ณธํ‚ค๋Š” ์ค‘๋ณต๋˜์ง€ ์•Š์€ ๊ณ ์œ ํ•œ ๊ฐ’์„ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค.
๏‚Ÿ ๋ฆด๋ ˆ์ด์…˜์˜ ๊ธฐ๋ณธํ‚ค๋Š” NULL ๊ฐ’์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.

2) ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ(Referential Integrity)

๏‚Ÿ ์™ธ๋ž˜ํ‚ค ๊ฐ’์€ NULL์ด๊ฑฐ๋‚˜ ์ฐธ์กฐํ•˜๋Š” ๋ฆด๋ ˆ์ด์…˜์˜ ๊ธฐ๋ณธํ‚ค ๊ฐ’๊ณผ ๋™์ผํ•ด์•ผ ํ•œ๋‹ค.
๏‚Ÿ ๊ฐ ๋ฆด๋ ˆ์ด์…˜์€ ์ฐธ์กฐํ•  ์ˆ˜ ์—†๋Š” ์™ธ๋ž˜ํ‚ค ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค.
๏‚Ÿ ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด

  • ์ œํ•œ(Restrict) : ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ์—ฐ์‚ฐ์„ ๊ฑฐ์ ˆ
  • ์—ฐ์‡„(Cascade) : ๋ถ€๋ชจ  ํŠœํ”Œ  ์‚ญ์ œ  ์‹œ  ์ฐธ์กฐํ•˜๋Š”  ์ž์‹์˜  ํŠœํ”Œ๋„  ํ•จ๊ป˜  ์‚ญ์ œ
  • ๋„๊ฐ’(Nullify) :๋ถ€๋ชจ  ํŠœํ”Œ  ์‚ญ์ œ  ์‹œ  ์ฐธ์กฐํ•˜๋Š”  ์ž์‹์˜  ํŠœํ”Œ์€ NULL๋กœ  ๋“ฑ๋ก
  • ๊ธฐ๋ณธ๊ฐ’(Default) : ๋ถ€๋ชจ  ํŠœํ”Œ  ์‚ญ์ œ  ์‹œ  ์ฐธ์กฐํ•˜๋Š”  ์ž์‹์˜  ํŠœํ”Œ์€  DEFAULT๊ฐ’์œผ๋กœ  ๋“ฑ๋ก

 3) ๋„๋ฉ”์ธ ๋ฌด๊ฒฐ์„ฑ(Domain Integrity)

๏‚Ÿ ์†์„ฑ๋“ค์˜ ๊ฐ’์€ ์ •์˜๋œ ๋„๋ฉ”์ธ์— ์†ํ•œ ๊ฐ’์ด์–ด์•ผ ํ•œ๋‹ค.
๏‚Ÿ ์„ฑ๋ณ„์ด๋ผ๋Š” ์ปฌ๋Ÿผ์—๋Š” ‘๋‚จ’, ‘์—ฌ’๋ฅผ ์ œ์™ธํ•œ ๋ฐ์ดํ„ฐ๋Š” ์ œํ•œ๋˜์–ด์•ผ ํ•œ๋‹ค.

4) ๊ณ ์œ  ๋ฌด๊ฒฐ์„ฑ(Unique Integrity)

๏‚Ÿ ๋ฆด๋ ˆ์ด์…˜์˜ ํŠน์ • ์†์„ฑ์— ๋Œ€ํ•ด ๊ฐ ํŠœํ”Œ์ด ๊ฐ–๋Š” ์†์„ฑ ๊ฐ’๋“ค์ด ์„œ๋กœ ๋‹ฌ๋ผ์•ผ ํ•œ๋‹ค.

5) ํ‚ค ๋ฌด๊ฒฐ์„ฑ(Key Integrity)

๏‚Ÿ ํ•˜๋‚˜์˜ ๋ฆด๋ ˆ์ด์…˜์—๋Š” ์ ์–ด๋„ ํ•˜๋‚˜์˜ ํ‚ค๊ฐ€ ์กด์žฌํ•ด์•ผ ํ•œ๋‹ค.

6) ๋ฆด๋ ˆ์ด์…˜ ๋ฌด๊ฒฐ์„ฑ(Relation Integrity)

๏‚Ÿ ์‚ฝ์ž…, ์‚ญ์ œ, ๊ฐฑ์‹ ๊ณผ ๊ฐ™์€ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „๊ณผ ํ›„์— ๋Œ€ํ•œ ์ƒํƒœ์˜ ์ œ์•ฝ

 

 

 

Section  9.  ๋ฌผ๋ฆฌ๋ฐ์ดํ„ฐ  ๋ชจ๋ธ  ํ’ˆ์งˆ  ๊ฒ€ํ† 

 

1.  CRUD  ๋ถ„์„

โ‘ด CRUD์˜ ๊ฐœ๋…

๏‚Ÿ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ์ธ Create(์ƒ์„ฑ), Read(์ฝ๊ธฐ), Update(๊ฐฑ์‹ ), Delete(์‚ญ์ œ)๋ฅผ ๋ฌถ์–ด์„œ ํ‘œํ˜„ํ•œ ๋ง์ด๋‹ค.

 

2.  ์˜ตํ‹ฐ๋งˆ์ด์ €

โ‘ด SQL ์ฒ˜๋ฆฌ ํ๋ฆ„ โญ

1) ๊ตฌ๋ฌธ๋ถ„์„ ๋‹จ๊ณ„
๏‚Ÿ SQL ๋ฌธ์ด ๋ฌธ๋ฒ•์— ๋”ฐ๋ผ ์ •์ƒ์ ์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ๋Š”์ง€ ๋ถ„์„ parsing

2) ์‹คํ–‰ ๋‹จ๊ณ„
๏‚Ÿ ์ •์˜๋œ  ํ…Œ์ด๋ธ”์˜  ํ•ด๋‹น  ๋ฐ์ดํ„ฐ  ํŒŒ์ผ๋กœ๋ถ€ํ„ฐ  ํ…Œ์ด๋ธ”์„  ์ฝ์–ด์„œ  ๋ฐ์ดํ„ฐ๋ฒ„ํผ  ์บ์‹œ์˜์—ญ์—  ์ €์žฅ execution

3) ์ถ”์ถœ ๋‹จ๊ณ„
๏‚Ÿ ๋ฐ์ดํ„ฐ๋ฒ„ํผ  ์บ์‹œ์˜์—ญ์—์„œ  ๊ด€๋ จ  ํ…Œ์ด๋ธ”  ๋ฐ์ดํ„ฐ๋ฅผ  ์ฝ์–ด์„œ  ์‚ฌ์šฉ์ž๊ฐ€  ์š”์ฒญํ•œ  ํด๋ผ์ด์–ธํŠธ๋กœ  ์ „์†ก fetch

โ‘ต ์˜ตํ‹ฐ๋งˆ์ด์ € ๊ฐœ๋…

๏‚Ÿ ์‚ฌ์šฉ์ž๊ฐ€ ์งˆ์˜ํ•œ SQL๋ฌธ์— ๋Œ€ํ•ด ์ตœ์ ์˜ ์‹คํ–‰ ๋ฐฉ๋ฒ•์„ ๊ฒฐ์ •ํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰
๏‚Ÿ ์˜ตํ‹ฐ๋งˆ์ด์ €์˜ ๊ตฌ๋ถ„
1)  ๊ทœ์น™๊ธฐ๋ฐ˜  ์˜ตํ‹ฐ๋งˆ์ด์ €(Rule  Based  Optimizer)  :  ๊ทœ์น™ (์šฐ์„ ์ˆœ์œ„)๋ฅผ  ๊ฐ€์ง€๊ณ   ์‹คํ–‰  ๊ณ„ํš  ์ƒ์„ฑ
2)  ๋น„์šฉ๊ธฐ๋ฐ˜  ์˜ตํ‹ฐ๋งˆ์ด์ €(Cost  Based  Optimizer)  :   ํ†ต๊ณ„์ •๋ณด๋ฅผ  ํ™œ์šฉํ•˜์—ฌ  ์‹คํ–‰  ๊ณ„ํš  ์ƒ์„ฑ

 

3.  SQL  ์„ฑ๋Šฅ  ํŠœ๋‹

โ‘ด ํŠœ๋‹์˜ ๊ฐœ๋…

๏‚Ÿ SQL๋ฌธ์„ ์ตœ์ ํ™”ํ•˜์—ฌ ๋น ๋ฅธ ์‹œ๊ฐ„ ๋‚ด์— ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๊ฐ’์„ ์–ป๊ธฐ ์œ„ํ•œ ์ž‘์—…

โ‘ต ํŠœ๋‹ ์˜์—ญ

๏‚Ÿ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„ํŠœ๋‹ : ์ •๊ทœํ™” ๋ฐ ๋ฐ˜์ •๊ทœํ™”ํ•˜์—ฌ ์žฌ์„ค๊ณ„
๏‚Ÿ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ™˜๊ฒฝ : ๋ฉ”๋ชจ๋ฆฌ๋‚˜ ๋ธ”๋ก ํฌ๊ธฐ ์ง€์ •
๏‚Ÿ SQL ๋ฌธ์žฅ ํŠœ๋‹ : ์„ฑ๋Šฅ์„ ๊ณ ๋ คํ•˜์—ฌ SQL ๋ฌธ์žฅ์„ ์ž‘์„ฑ

โ‘ถ Row Migration / Row Chaining

1) Row Migration : ๋‹ค๋ฅธ ๋ธ”๋ก์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๊ณ , ๊ธฐ์กด ๋ธ”๋ก ์œ„์น˜์—๋Š” ๋งํฌ๋ฅผ ๋‚จ๊น€
2) Row Chaining : ๋‘ ๊ฐœ์˜ ๋ธ”๋ก์— ์ž‘์„ฑ

 

 

Section  10.  ๋ถ„์‚ฐ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

 

1.  ๋ถ„์‚ฐ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

โ‘ด ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(Distribute Database)์˜ ์ •์˜

๏‚Ÿ ์—ฌ๋Ÿฌ ๊ณณ์œผ๋กœ ๋ถ„์‚ฐ๋˜์–ด์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํ•˜๋‚˜์˜ ๊ฐ€์ƒ ์‹œ์Šคํ…œ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

โ‘ต ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์„ฑ์š”์†Œ

๋ถ„์‚ฐ ์ฒ˜๋ฆฌ๊ธฐ : ์ž์ฒด์ ์œผ๋กœ ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์„ ๊ฐ€์ง€๋ฉฐ, ์ง€๋ฆฌ์ ์œผ๋กœ ๋ถ„์‚ฐ๋˜์–ด ์žˆ๋Š” ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ
๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค : ์ง€๋ฆฌ์ ์œผ๋กœ ๋ถ„์‚ฐ๋˜์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ์„œ ํ•ด๋‹น ์ง€์—ญ์˜ ํŠน์„ฑ์— ๋งž๊ฒŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€
๊ตฌ์„ฑ
ํ†ต์‹  ๋„คํŠธ์›Œํฌ : ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ๊ธฐ๋“ค์„ ํ†ต์‹ ๋ง์œผ๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ ๋…ผ๋ฆฌ์ ์œผ๋กœ ํ•˜๋‚˜์˜ ์‹œ์Šคํ…œ์ฒ˜๋Ÿผ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก
ํ•˜๋Š” ํ†ต์‹  ๋„คํŠธ์›Œํฌ

โ‘ถ ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ ์šฉ ๊ธฐ๋ฒ•

1) ํ…Œ์ด๋ธ” ์œ„์น˜ ๋ถ„์‚ฐ

๏‚Ÿ ์„ค๊ณ„๋œ ํ…Œ์ด๋ธ”์˜ ์œ„์น˜๋ฅผ ๊ฐ๊ฐ ๋‹ค๋ฅด๊ฒŒ ์œ„์น˜์‹œํ‚ค๋Š” ๊ฒƒ
 
2) ํ…Œ์ด๋ธ” ๋ถ„ํ• (Fragmentation) ๋ถ„์‚ฐ

๏‚Ÿ ๊ฐ๊ฐ์˜ ํ…Œ์ด๋ธ”์„ ์ชผ๊ฐœ์–ด ๋ถ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•

3) ํ…Œ์ด๋ธ” ๋ณต์ œ(Replication) ๋ถ„์‚ฐ

๏‚Ÿ ๋™์ผํ•œ ํ…Œ์ด๋ธ”์„ ๋‹ค๋ฅธ ์ง€์—ญ์ด๋‚˜ ์„œ๋ฒ„์—์„œ ๋™์‹œ์— ์ƒ์„ฑํ•˜์—ฌ ๊ด€๋ฆฌํ•˜๋Š” ์œ ํ˜•
๏‚Ÿ ๋ถ€๋ถ„๋ณต์ œ(์ผ๋ถ€๋‚ด์šฉ), ๊ด‘์—ญ๋ณต์ œ(์ „์ฒด๋‚ด์šฉ)

4) ํ…Œ์ด๋ธ” ์š”์•ฝ(Summarization) ๋ถ„์‚ฐ

๏‚Ÿ ์ง€์—ญ ๊ฐ„ ๋˜๋Š” ์„œ๋ฒ„ ๊ฐ„์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋น„์Šทํ•˜์ง€๋งŒ ์„œ๋กœ ๋‹ค๋ฅธ ์œ ํ˜•์œผ๋กœ ์กด์žฌ
๏‚Ÿ ๋ถ„์„์š”์•ฝ, ํ†ตํ•ฉ์š”์•ฝ

โ‘ท ํˆฌ๋ช…์„ฑ ์กฐ๊ฑด โญ

๏‚Ÿ ์œ„์น˜  ํˆฌ๋ช…์„ฑ (Location)  :  ์‹ค์ œ  ์œ„์น˜๋ฅผ  ์•Œ  ํ•„์š”์—†์ด  ๋…ผ๋ฆฌ์ ์ธ  ๋ช…์นญ์œผ๋กœ  ์•ก์„ธ์Šค
๏‚Ÿ ๋ถ„ํ•   ํˆฌ๋ช…์„ฑ (Division)  : ๊ฐ  ๋‹จํŽธ์˜  ์‚ฌ๋ณธ์ด  ์—ฌ๋Ÿฌ  ์œ„์น˜์—  ์ €์žฅ 
๏‚Ÿ ์ง€์—ญ์‚ฌ์ƒ  ํˆฌ๋ช…์„ฑ(Local  Mapping)  :  ๊ฐ  ์ง€์—ญ์‹œ์Šคํ…œ  ์ด๋ฆ„๊ณผ  ๋ฌด๊ด€ํ•œ  ์ด๋ฆ„  ์‚ฌ์šฉ  ๊ฐ€๋Šฅ 
๏‚Ÿ ์ค‘๋ณต  ํˆฌ๋ช…์„ฑ(Replication)  :  ๋™์ผ  ๋ฐ์ดํ„ฐ๊ฐ€  ์—ฌ๋Ÿฌ  ๊ณณ์—  ์ค‘๋ณต๋˜์–ด  ์žˆ์–ด๋„  ํ•˜๋‚˜์ฒ˜๋Ÿผ  ์‚ฌ์šฉ  ๊ฐ€๋Šฅ
๏‚Ÿ ๋ณ‘ํ–‰  ํˆฌ๋ช…์„ฑ(Concurrency)  :  ๋‹ค์ˆ˜์˜  ํŠธ๋žœ์žญ์…˜๋“ค์ด  ๋™์‹œ์—  ์‹คํ˜„๋˜๋”๋ผ๋„  ๊ฒฐ๊ณผ๋Š”  ์˜ํ–ฅ์„  ๋ฐ›์ง€  ์•Š์Œ 
๏‚Ÿ ์žฅ์•   ํˆฌ๋ช…์„ฑ(Failure)  :  ์žฅ์• ์—๋„  ๋ถˆ๊ตฌํ•˜๊ณ   ํŠธ๋žœ์žญ์…˜์„  ์ •ํ™•ํ•˜๊ฒŒ  ์ฒ˜๋ฆฌํ•จ 

โ‘ธ  CAP  ์ด๋ก 

1)  ๊ฐœ๋…

๏‚Ÿ ์–ด๋–ค  ๋ถ„์‚ฐ  ํ™˜๊ฒฝ์—์„œ๋„  ์ผ๊ด€์„ฑ(C), ๊ฐ€์šฉ์„ฑ(A), ๋ถ„๋‹จ ํ—ˆ์šฉ์„ฑ(P) ์„ธ  ๊ฐ€์ง€  ์†์„ฑ  ์ค‘, ๋‘  ๊ฐ€์ง€๋งŒ  ๊ฐ€์งˆ  ์ˆ˜  ์žˆ๋‹ค๋Š”  ๊ฒƒ 

  
2)  ํŠน์ง•์˜  ์˜๋ฏธ

๏‚Ÿ ์ผ๊ด€์„ฑ(Consistency)
๏‚Ÿ ๊ฐ€์šฉ์„ฑ(Availability)
๏‚Ÿ ๋ถ„๋‹จ  ํ—ˆ์šฉ์„ฑ(Partition  Tolerance)

 

2.  ํŠธ๋žœ์žญ์…˜โญ

โ‘ด  ํŠธ๋žœ์žญ์…˜์˜  ๊ฐœ๋…

๏‚Ÿ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜  ์ƒํƒœ๋ฅผ  ๋ณ€ํ™˜์‹œํ‚ค๋Š”  ํ•˜๋‚˜์˜  ๋…ผ๋ฆฌ์ ์ธ  ๊ธฐ๋Šฅ์„  ์ˆ˜ํ–‰ํ•˜๋Š”  ์ž‘์—…  ๋‹จ์œ„

โ‘ต  ํŠธ๋žœ์žญ์…˜์˜  ์„ฑ์งˆ(ACID) โญ0๏ธโƒฃ

๏‚Ÿ 0๏ธโƒฃ1๏ธโƒฃ ์›์ž์„ฑ(Atomicity)  :  ๋ชจ๋‘  ๋ฐ˜์˜๋˜๋“ ์ง€  ์•„๋‹ˆ๋ฉด  ์ „ํ˜€  ๋ฐ˜์˜๋˜์ง€  ์•Š์•„์•ผ  ํ•œ๋‹ค (Commit๊ณผ Rollback)
๏‚Ÿ ์ผ๊ด€์„ฑ(Consistency)  : ์‹คํ–‰์„  ์™„๋ฃŒํ•˜๋ฉด  ์–ธ์ œ๋‚˜  ์ผ๊ด€์„ฑ  ์žˆ๋Š”  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ์ƒํƒœ๋กœ  ๋ณ€ํ™˜
๏‚Ÿ 0๏ธโƒฃ๋…๋ฆฝ์„ฑ, ๊ฒฉ๋ฆฌ์„ฑ (Isolation)  : ํ•˜๋‚˜์˜  ํŠธ๋žœ์žญ์…˜  ์‹คํ–‰  ์ค‘์—  ๋‹ค๋ฅธ  ํŠธ๋žœ์žญ์…˜์˜  ์—ฐ์‚ฐ์ด  ๋ผ์–ด๋“ค  ์ˆ˜  ์—†๋‹ค.
๏‚Ÿ ์˜์†์„ฑ(Durability)  : ํŠธ๋žœ์žญ์…˜์˜  ๊ฒฐ๊ณผ๋Š”  ์‹œ์Šคํ…œ์ด  ๊ณ ์žฅ์ด  ๋‚˜๋”๋ผ๋„  ์˜๊ตฌ์ ์œผ๋กœ  ๋ฐ˜์˜๋˜์–ด์•ผ  ํ•œ๋‹ค.

โ‘ถ  ํŠธ๋žœ์žญ์…˜์˜  ์ƒํƒœ

๏‚Ÿ ํ™œ๋™(Active)  :  ํŠธ๋žœ์žญ์…˜์ด  ์‹คํ–‰  ์ค‘์ธ  ์ƒํƒœ
๏‚Ÿ ์‹คํŒจ(Failed)  :  ์˜ค๋ฅ˜๊ฐ€  ๋ฐœ์ƒํ•˜์—ฌ  ์ค‘๋‹จ๋œ  ์ƒํƒœ
๏‚Ÿ ์ฒ ํšŒ(Aborted)  :  Rollback  ์—ฐ์‚ฐ์„  ์ˆ˜ํ–‰ํ•œ  ์ƒํƒœ
๏‚Ÿ ๋ถ€๋ถ„  ์™„๋ฃŒ(Partially  Committed)  :  Commit  ์—ฐ์‚ฐ์ด  ์‹คํ–‰๋˜๊ธฐ  ์ง์ „์˜  ์ƒํƒœ
๏‚Ÿ ์™„๋ฃŒ(Committed)  :  Commit  ์—ฐ์‚ฐ์„  ์‹คํ–‰ํ•œ  ํ›„์˜  ์ƒํƒœ

 

 

 


  02    SQL  ํ™œ์šฉ

 

Section  1.  SQL  ๊ธฐ๋ณธ  ์ž‘์„ฑ

1.  SQL(Structured  Query  Language) โญโญโญ

โ‘ด  SQL์˜  ๊ฐœ๋…

๏‚Ÿ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  ์‹œ์Šคํ…œ์—์„œ  ์ž๋ฃŒ๋ฅผ  ์ฒ˜๋ฆฌํ•˜๋Š”  ์šฉ๋„๋กœ  ์‚ฌ์šฉ๋˜๋Š”  ๊ตฌ์กฐ์   ๋ฐ์ดํ„ฐ  ์งˆ์˜  ์–ธ์–ด

โ‘ต  SQL  ๋ฌธ๋ฒ•์˜  ์ข…๋ฅ˜

1)  Data  Definition  Language  (DDL)  -  ๋ฐ์ดํ„ฐ  ์ •์˜์–ด
๏‚Ÿ CREATE,  ALTER,  DROP,  RENAME,  TRUNCATE
2)  Data  Manipulation  Language  (DML)  -  ๋ฐ์ดํ„ฐ  ์กฐ์ž‘์–ด
๏‚Ÿ SELECT,  INSERT,  UPDATE,  DELETE
3)  Data  Control  Language  (DCL)  -  ๋ฐ์ดํ„ฐ  ์ œ์–ด์–ด
๏‚Ÿ GRANT (WITH GRANT OPTION1๏ธโƒฃ),  REVOKE 
4)  Transaction  Control  Language  (TCL)  -  ํŠธ๋žœ์žญ์…˜  ์ œ์–ด์–ด (DCL์— ๋“ค์–ด๊ฐ)
๏‚Ÿ COMMIT,  0๏ธโƒฃROLLBACK,  SAVEPOINT

 

Section  2.  ์ ˆ์ฐจํ˜• SQL 

1.  ์ €์žฅ  ํ”„๋กœ์‹œ์ € (Stored  Procedure) 

โ‘ด  ์ €์žฅ  ํ”„๋กœ์‹œ์ €์˜  ๊ฐœ๋…

๏‚Ÿ ์ผ๋ จ์˜  ์ฟผ๋ฆฌ๋ฅผ  ๋งˆ์น˜  ํ•˜๋‚˜์˜  ํ•จ์ˆ˜์ฒ˜๋Ÿผ  ์‹คํ–‰ํ•˜๊ธฐ  ์œ„ํ•œ  ์ฟผ๋ฆฌ์˜  ์ง‘ํ•ฉ

โ‘ต  ์ €์žฅ  ํ”„๋กœ์‹œ์ €์˜  ๊ตฌ์กฐ

CREATE  OR  REPLACE  PROCEDURE  ํ”„๋กœ์‹œ์ €๋ช…
(  ๋ณ€์ˆ˜1  IN ๋ณ€์ˆ˜ํƒ€์ž…,  ๋ณ€์ˆ˜2  OUT ๋ณ€์ˆ˜ํƒ€์ž…,  ๋ณ€์ˆ˜3  IN  OUT ๋ณ€์ˆ˜ํƒ€์ž…....  )
IS
        ๋ณ€์ˆ˜  ์ฒ˜๋ฆฌ๋ถ€
BEGIN
        ์ฒ˜๋ฆฌ๋‚ด์šฉ
EXCEPTION 
        ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ถ€
END;

 

2.  ํŠธ๋ฆฌ๊ฑฐ

โ‘ด  ํŠธ๋ฆฌ๊ฑฐ์˜  ๊ฐœ๋…

๏‚Ÿ ํ…Œ์ด๋ธ”์—  ๋Œ€ํ•œ  ์ด๋ฒคํŠธ์—  ๋ฐ˜์‘ํ•ด  ์ž๋™์œผ๋กœ  ์‹คํ–‰๋˜๋Š”  ์ž‘์—…

โ‘ต  ํŠธ๋ฆฌ๊ฑฐ์˜  ์œ ํ˜•

๏‚Ÿ ํ–‰  ํŠธ๋ฆฌ๊ฑฐ :  FOR  EACH  ROW ์˜ต์…˜  ์‚ฌ์šฉ
๏‚Ÿ ๋ฌธ์žฅ  ํŠธ๋ฆฌ๊ฑฐ :  INSERT,  UPDATE,  DELETE๋ฌธ์—  ๋Œ€ํ•ด  ๋‹จ  ํ•œ  ๋ฒˆ๋งŒ  ์‹คํ–‰

โ‘ถ  ํŠธ๋ฆฌ๊ฑฐ์˜  ์‹คํ–‰  ์‹œ๊ธฐ

๏‚Ÿ BEFORE  :  ์ด๋ฒคํŠธ  ์ „
๏‚Ÿ AFTER  :  ์ด๋ฒคํŠธ  ํ›„

 

3.  ์‚ฌ์šฉ์ž  ์ •์˜  ํ•จ์ˆ˜

โ‘ด  ์‚ฌ์šฉ์ž  ์ •์˜  ํ•จ์ˆ˜์˜  ๊ฐœ๋…

๏‚Ÿ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š”  ์ž…๋ ฅ  ํŒŒ๋ผ๋ฏธํ„ฐ๋งŒ  ๊ฐ€๋Šฅํ•˜๊ณ , ๋ฆฌํ„ด๊ฐ’์ด  ํ•˜๋‚˜์ด๋‹ค.

โ‘ต  ์‚ฌ์šฉ์ž  ์ •์˜  ํ•จ์ˆ˜์˜  ๊ตฌ์กฐ

CREATE  OR  REPLACE  FUNCTION  ํ•จ์ˆ˜๋ช…
(  ๋งค๊ฐœ๋ณ€์ˆ˜1,  ๋งค๊ฐœ๋ณ€์ˆ˜2,  ๋งค๊ฐœ๋ณ€์ˆ˜3,.......  )
RETURN  ๋ฐ์ดํ„ฐ  ํƒ€์ž…
IS
        ๋ณ€์ˆ˜  ์ฒ˜๋ฆฌ๋ถ€
BEGIN
        ์ฒ˜๋ฆฌ๋‚ด์šฉ
        RETURN  ; ๋ฐ˜ํ™˜๊ฐ’
EXCEPTION 
        ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ถ€
END;

 

 

 


 03  ๋ณ‘ํ–‰์ œ์–ด์™€  ๋ฐ์ดํ„ฐ์ „ํ™˜

 

Section  1.  ๋ณ‘ํ–‰์ œ์–ด์™€  ํšŒ๋ณต

 

1.  ๋ณ‘ํ–‰์ œ์–ด

โ‘ด  ๋ณ‘ํ–‰์ œ์–ด๋ฅผ  ํ•˜์ง€  ์•Š์•˜์„  ๋•Œ์˜  ๋ฌธ์ œ์  โญ

1) ๊ฐฑ์‹   ๋ถ„์‹ค (Lost  Update) 
๏‚Ÿ ๋‘  ๊ฐœ  ์ด์ƒ์˜  ํŠธ๋žœ์žญ์…˜์ด  ๊ฐ™์€  ์ž๋ฃŒ๋ฅผ  ๊ณต์œ ํ•˜์—ฌ  ๊ฐฑ์‹ ํ•   ๋•Œ  ๊ฐฑ์‹   ๊ฒฐ๊ณผ์˜  ์ผ๋ถ€๊ฐ€  ์—†์–ด์ง€๋Š”  ํ˜„์ƒ

2)  ๋น„์™„๋ฃŒ  ์˜์กด์„ฑ (Uncommitted  Dependency) 
๏‚Ÿ ํ•˜๋‚˜์˜  ํŠธ๋žœ์žญ์…˜  ์ˆ˜ํ–‰์ด  ์‹คํŒจํ•œ  ํ›„  ํšŒ๋ณต๋˜๊ธฐ  ์ „์—  ๋‹ค๋ฅธ  ํŠธ๋žœ์žญ์…˜์ด  ์‹คํŒจํ•œ  ๊ฐฑ์‹   ๊ฒฐ๊ณผ๋ฅผ  ์ฐธ์กฐํ•˜๋Š”  ํ˜„์ƒ

3)  ๋ชจ์ˆœ์„ฑ (Inconsistency) 
๏‚Ÿ ๋‘  ๊ฐœ์˜  ํŠธ๋žœ์žญ์…˜์ด  ๋ณ‘ํ–‰์ˆ˜ํ–‰๋   ๋•Œ  ์›์น˜  ์•Š๋Š”  ์ž๋ฃŒ๋ฅผ  ์ด์šฉํ•จ์œผ๋กœ์จ  ๋ฐœ์ƒํ•˜๋Š”  ๋ฌธ์ œ
๏‚Ÿ ๊ฐฑ์‹   ๋ถ„์‹ค๊ณผ  ๋น„์Šทํ•ด  ๋ณด์ด์ง€๋งŒ  ์—ฌ๋Ÿฌ  ๋ฐ์ดํ„ฐ๋ฅผ  ๊ฐ€์ ธ์˜ฌ  ๋•Œ  ๋ฐœ์ƒํ•˜๋Š”  ๋ฌธ์ œ

4)  ์—ฐ์‡„  ๋ณต๊ท€ (Cascading  Rollback) 
๏‚Ÿ ๋ณ‘ํ–‰์ˆ˜ํ–‰๋œ ํŠธ๋žœ์žญ์…˜๋“ค ์ค‘  ์–ด๋Š  ํ•˜๋‚˜์—  ๋ฌธ์ œ๊ฐ€  ์ƒ๊ฒจ  Rollbackํ•˜๋Š”  ๊ฒฝ์šฐ  ๋‹ค๋ฅธ  ํŠธ๋žœ์žญ์…˜๋„ ํ•จ๊ป˜ Rollback๋˜๋Š” ํ˜„์ƒ 

 

โ‘ต  ๋ณ‘ํ–‰์ œ์–ด  ๊ธฐ๋ฒ•

1)  ๋กœํ‚น (Locking) 
๏‚Ÿ ํŠธ๋žœ์žญ์…˜์ด  ์–ด๋–ค  ๋ฐ์ดํ„ฐ์—  ์ ‘๊ทผํ•˜๊ณ ์ž  ํ•   ๋•Œ  ๋ชปํ•˜๋„๋ก ๋กœํ‚น  ์ˆ˜ํ–‰
๏‚Ÿ ๋กœํ‚น  ๋‹จ์œ„์—  ๋”ฐ๋ฅธ  ๊ตฌ๋ถ„

2)  2๋‹จ๊ณ„  ๋กœํ‚น  ๊ทœ์•ฝ (Two-Phase  Locking  Protocol)
๏‚Ÿ ํ™•์žฅ๋‹จ๊ณ„ : ์ƒˆ๋กœ์šด  Lock์€  ๊ฐ€๋Šฅํ•˜๊ณ   Unlock์€  ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.
๏‚Ÿ ์ถ•์†Œ๋‹จ๊ณ„ : Unlock์€  ๊ฐ€๋Šฅํ•˜๊ณ   ์ƒˆ๋กœ์šด Lock์€  ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

3)  ํƒ€์ž„์Šคํƒฌํ”„(Time  Stamp) 
๏‚Ÿ ๋ฐ์ดํ„ฐ์—  ์ ‘๊ทผํ•˜๋Š”  ์‹œ๊ฐ„์„  ๋ฏธ๋ฆฌ  ์ •ํ•ด์„œ  ์ •ํ•ด์ง„  ์‹œ๊ฐ„(Time Stamp)์˜  ์ˆœ์„œ๋Œ€๋กœ  ๋ฐ์ดํ„ฐ์—  ์ ‘๊ทผํ•˜์—ฌ  ์ˆ˜ํ–‰ 

4) ๋‚™๊ด€์   ๋ณ‘ํ–‰์ œ์–ด (Optimistic  Concurrency  Control) 
๏‚Ÿ ํŠธ๋žœ์žญ์…˜  ์ˆ˜ํ–‰  ์ค‘์—๋Š”  ์–ด๋– ํ•œ  ๊ฒ€์‚ฌ๋„  ํ•˜์ง€  ์•Š๊ณ , ํŠธ๋žœ์žญ์…˜  ์ข…๋ฃŒ  ์‹œ์—  ์ผ๊ด„์ ์œผ๋กœ  ๊ฒ€์‚ฌ

5)  ๋‹ค์ค‘  ๋ฒ„์ „  ๋ณ‘ํ–‰์ œ์–ด (Multi-version,  Concurrency  Control) 
๏‚Ÿ ์—ฌ๋Ÿฌ  ๋ฒ„์ „์˜  ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ  ๋น„๊ตํ•˜์—ฌ  ์Šค์ผ€์ค„์ƒ  ์ง๋ ฌ๊ฐ€๋Šฅ์„ฑ์ด  ๋ณด์žฅ๋˜๋Š”  ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ  ์„ ํƒ

 

 

2. ํšŒ๋ณต (Database  Recovery) 

โ‘ด  ๋กœ๊ทธ  ๊ธฐ๋ฐ˜  ํšŒ๋ณต  ๊ธฐ๋ฒ• 2๏ธโƒฃ(REDO, UNDO)

1) ์ง€์—ฐ๊ฐฑ์‹   ํšŒ๋ณต  ๊ธฐ๋ฒ• (Deferred  Update) 
๏‚Ÿ ์ปค๋ฐ‹์ด  ๋ฐœ์ƒํ•˜๊ธฐ  ์ „๊นŒ์ง„  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—  ๊ธฐ๋กํ•˜์ง€  ์•Š์Œ
๏‚Ÿ ์ค‘๊ฐ„์—  ์žฅ์• ๊ฐ€  ์ƒ๊ธฐ๋”๋ผ๋„  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—  ๊ธฐ๋ก๋˜์ง€  ์•Š์•˜์œผ๋ฏ€๋กœ  UNDO๊ฐ€ ํ•„์š”  ์—†์Œ (REDO๋งŒ ์‹คํ–‰ํ•˜๊ณ , ๋ฏธ์‹คํ–‰๋œ  ๋กœ๊ทธ๋Š” UNDOํ•  ํ•„์š” ์—†์ด ํ๊ธฐ)

2) ์ฆ‰์‹œ๊ฐฑ์‹   ํšŒ๋ณต  ๊ธฐ๋ฒ• (Immediate  Update) 
๏‚Ÿ ํŠธ๋žœ์žญ์…˜  ์ˆ˜ํ–‰  ๋„์ค‘์—๋„  ๋ณ€๊ฒฝ  ๋‚ด์šฉ์„  ์ฆ‰์‹œ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—  ๊ธฐ๋ก
๏‚Ÿ ์ปค๋ฐ‹  ๋ฐœ์ƒ  ์ด์ „์˜  ๊ฐฑ์‹ ์€  ์›์ž์„ฑ์ด  ๋ณด์žฅ๋˜์ง€  ์•Š๋Š”  ๋ฏธ์™„๋ฃŒ  ๊ฐฑ์‹ ์ด๋ฏ€๋กœ  ์žฅ์•   ๋ฐœ์ƒ  ์‹œ UNDO ํ•„์š”

โ‘ต  ๊ฒ€์‚ฌ์   ํšŒ๋ณต  ๊ธฐ๋ฒ•(Checkpoint  Recovery)

๏‚Ÿ ์žฅ์•   ๋ฐœ์ƒ  ์‹œ  ๊ฒ€์‚ฌ์ (checkpoint) ์ด์ „์—  ์ฒ˜๋ฆฌ๋œ  ํŠธ๋žœ์žญ์…˜์€  ํšŒ๋ณต์—์„œ  ์ œ์™ธํ•˜๊ณ   ๊ฒ€์‚ฌ์   ์ดํ›„์—  ์ฒ˜๋ฆฌ๋œ  ํŠธ๋žœ์žญ์…˜์€  ํšŒ๋ณต  ์ž‘์—…  ์ˆ˜ํ–‰

โ‘ถ  ๊ทธ๋ฆผ์ž  ํŽ˜์ด์ง•  ํšŒ๋ณต  ๊ธฐ๋ฒ•(Shadow  Paging  Recovery)

๏‚Ÿ ํŠธ๋žœ์žญ์…˜์ด ์‹คํ–‰๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์ƒ์˜  Current  Page  Table๊ณผ  ํ•˜๋“œ๋””์Šคํฌ์˜  Shadow  Page  Table ์ด์šฉ  

โ‘ท  ๋ฏธ๋””์–ด  ํšŒ๋ณต  ๊ธฐ๋ฒ•(Media  Recovery)

๏‚Ÿ ๋””์Šคํฌ์™€  ๊ฐ™์€  ๋น„ํœ˜๋ฐœ์„ฑ  ์ €์žฅ  ์žฅ์น˜๊ฐ€  ์†์ƒ๋˜๋Š”  ์žฅ์•   ๋ฐœ์ƒ์„  ๋Œ€๋น„ํ•œ  ํšŒ๋ณต  ๊ธฐ๋ฒ•

โ‘ธ  ARIES ํšŒ๋ณต  ๊ธฐ๋ฒ• (Algorithms  for  Recovery  and  Isolation  Exploiting  Semantics) 

๏‚Ÿ ๋ถ„์„๋‹จ๊ณ„ → REDO๋‹จ๊ณ„ → UNDO๋‹จ๊ณ„

 

 

Section  2.  ๋ฐ์ดํ„ฐ  ์ „ํ™˜

1.  ETL(Extraction,  Transformation,  Loading) (migration๊ณผ ์—ฐ๊ด€)

โ‘ด  ETL  ๊ฐœ๋…

๏‚Ÿ ๊ธฐ์กด์˜  ์›์ฒœ  ์‹œ์Šคํ…œ์—์„œ  ๋ฐ์ดํ„ฐ๋ฅผ  ์ถ”์ถœ(Extraction) ํ•˜์—ฌ  ๋ชฉ์   ์‹œ์Šคํ…œ์˜  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—  ์ ํ•ฉํ•œ  ํ˜•์‹๊ณผ  ๋‚ด์šฉ์œผ๋กœ ๋ณ€ํ™˜(Transformation) ํ•œ ํ›„, ๋ชฉ์  ์‹œ์Šคํ…œ์— ์ ์žฌ(Loading) ํ•˜๋Š”  ์ผ๋ จ์˜  ๊ณผ์ •

โ‘ต  ETL  ๊ธฐ๋Šฅ

๏‚Ÿ ์ถ”์ถœ(Extraction)  :  ํ•˜๋‚˜  ๋˜๋Š”  ๊ทธ  ์ด์ƒ์˜  ๋ฐ์ดํ„ฐ  ์†Œ์Šค๋กœ๋ถ€ํ„ฐ  ๋ฐ์ดํ„ฐ  ํš๋“
๏‚Ÿ ๋ณ€ํ™˜(Transformation)  :  ๋ฐ์ดํ„ฐ  ํด๋ Œ์ง•, ํ˜•์‹  ๋ณ€ํ™˜ ๋ฐ ํ‘œ์ค€ํ™”, ๋ฐ์ดํ„ฐ  ํ†ตํ•ฉ 
๏‚Ÿ ์ ์žฌ(Load)  :  ๋ณ€ํ˜•  ๋‹จ๊ณ„์˜  ์ฒ˜๋ฆฌ๊ฐ€  ์™„๋ฃŒ๋œ  ๋ฐ์ดํ„ฐ๋ฅผ  ๋ชฉํ‘œ  ์‹œ์Šคํ…œ์—  ์ ์žฌ

 

 

๋ฐ˜์‘ํ˜•
 ๐Ÿ’ฌ C O M M E N T