๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“Certificate/Engineer Information Processing

[์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] - [3๊ณผ๋ชฉ] ์˜ค๋‹ต์ •๋ฆฌ (1)

by Sun A 2024. 7. 4.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ •๊ทœํ™” ๋‹จ๊ณ„

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

 

ํŠธ๋žœ์žญ์…˜ ์„ฑ์งˆ

Atomicity (์›์ž์„ฑ)

  • ํŠธ๋žœ์žญ์…˜์˜ ๋ชจ๋“  ์—ฐ์‚ฐ๋“ค์ด ์ •์ƒ์ ์œผ๋กœ ์ˆ˜ํ–‰ ์™„๋ฃŒ๋˜๊ฑฐ๋‚˜ ์•„๋‹ˆ๋ฉด ์ „ํ˜€ ์–ด๋– ํ•œ ์—ฐ์‚ฐ๋„ ์ˆ˜ํ–‰๋˜์ง€ ์•Š์€ ์›๋ž˜ ์ƒํƒœ๊ฐ€ ๋˜๋„๋ก ํ•˜๋Š” ๊ฒƒ

Consistency (์ผ๊ด€์„ฑ)

  • ํŠธ๋žœ์žญ์…˜์˜ ์ž‘์—…์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๋Š” ํ•ญ์ƒ ์ผ๊ด€์„ฑ์ด ์žˆ์–ด์•ผ ํ•จ

Isolation (๋…๋ฆฝ์„ฑ)

  • ํŠธ๋žœ์žญ์…˜ ์ˆ˜ํ–‰์‹œ ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜ ์—ฐ์‚ฐ์ด ๋ผ์–ด๋“ค์ง€ ๋ชปํ•˜๋„๋ก ๋ณด์žฅ

Durability (์˜์†์„ฑ)

  • ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋œ ํŠธ๋žœ์žญ์…˜์˜ ๊ฒฐ๊ณผ๋Š” ์‹œ์Šคํ…œ์ด ๊ณ ์žฅ๋‚˜๋”๋ผ๋„ ์˜๊ตฌ์ ์œผ๋กœ ๋ฐ˜์˜๋˜์–ด์•ผ ํ•จ

 

SQL ์‚ฌ์šฉ ์–ธ์–ด ์ข…๋ฅ˜

DDL (Data Definition Language)

  • create, alter, drop

DML (Data Manipulation Language)

  • select, insert, delete, update

DCL (Data Control Language)

  • commit, rollback, grant, revoke

 

๋ฐ์ดํ„ฐ ์‚ฌ์ „

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

 

๋ทฐ (View)

  • ๋ทฐ๋Š” ๋‹ค๋ฅธ ๋ทฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ๋กœ์šด ๋ทฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.
  • ๋ทฐ๋Š” ์ผ์ข…์˜ ๊ฐ€์ƒ ํ…Œ์ด๋ธ”์ด๋ฉฐ, update์—๋Š” ์ œ์•ฝ์ด ๋”ฐ๋ฅธ๋‹ค.
  • ๋ทฐ๋Š” ๊ธฐ๋ณธ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ create view๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค
  • ๋ทฐ๋Š” ๊ฐ€์ƒ ํ…Œ์ด๋ธ”์ด๋ฏ€๋กœ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

ํ‚ค์˜ ์ข…๋ฅ˜

Candidate key (ํ›„๋ณดํ‚ค)

  • ์œ ์ผ์„ฑ + ์ตœ์†Œ์„ฑ

Super key (์Šˆํผํ‚ค)

  • ์œ ์ผ์„ฑ (์ตœ์†Œ์„ฑ X)

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„ ๋‹จ๊ณ„

์š”๊ตฌ์กฐ๊ฑด ๋ถ„์„ ๋‹จ๊ณ„ ๋ฐ์ดํ„ฐ ๋ฐ ์ฒ˜๋ฆฌ ์š”๊ตฌ์กฐ๊ฑด
๊ฐœ๋…์  ์„ค๊ณ„ ๋‹จ๊ณ„ DBMS ๋…๋ฆฝ์  ๊ฐœ๋… ์Šคํ‚ค๋งˆ ์„ค๊ณ„, ํŠธ๋žœ์žญ์…˜ ๋ชจ๋ธ๋ง
๋…ผ๋ฆฌ์  ์„ค๊ณ„ ๋‹จ๊ณ„ ๋ชฉํ‘œ DBMS์— ๋งž๋Š” ์Šคํ‚ค๋งˆ ์„ค๊ณ„, ํŠธ๋žœ์žญ์…˜ ์ธํ„ฐํŽ˜์ด์Šค ์„ค๊ณ„
๋ฌผ๋ฆฌ์  ์„ค๊ณ„ ๋‹จ๊ณ„ ๋ชฉํ‘œ DBMS์— ๋งž๋Š” ๋ฌผ๋ฆฌ์  ๊ตฌ์กฐ ์„ค๊ณ„, ํŠธ๋žœ์žญ์…˜ ์„ธ๋ถ€ ์„ค๊ณ„
๊ตฌํ˜„ ๋‹จ๊ณ„ ๋ชฉํ‘œ DBMS DDL๋กœ ์Šคํ‚ค๋งˆ ์ž‘์„ฑ, ํŠธ๋žœ์žญ์…˜(์‘์šฉ ํ”„๋กœ๊ทธ๋žจ) ์ž‘์„ฑ

 

SQL๋ฌธ ์ž‘์„ฑ ์˜ˆ์‹œ

[์กฐ๊ฑด] ์ด๋ฆ„์ด ‘์ •๋„์ผ’์ธ ํŒ€์›์ด ์†Œ์†๋œ ํŒ€์ฝ”๋“œ๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•ด๋‹น ํŒ€์— ์†Œ์†๋œ ํŒ€์›๋“ค์˜ ์ด๋ฆ„์„ ์ถœ๋ ฅํ•˜๋Š” SQL๋ฌธ ์ž‘์„ฑ

[SQL ๋ฌธ]
SELECT ์ด๋ฆ„
FROM ์ง์›
WHERE ํŒ€์ฝ”๋“œ๏ผ(                 )๏ผ›

๋‹ต : SELECT ํŒ€์ฝ”๋“œ FROM ์ง์› WHERE ์ด๋ฆ„ = '์ •๋„์ผ'

 

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

์—ด = Degree (์ฐจ์ˆ˜) = Attribute (์†์„ฑ)์˜ ์ˆ˜ 

  • ์†์„ฑ์˜ ์ˆ˜

ํ–‰ = Cardinality = Tuple (ํŠœํ”Œ)

  • ๋ฆด๋ ˆ์ด์…˜์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ ํ–‰์˜ ์ˆ˜