๐Ÿ“š Databases/์˜ค๋ผํด๋กœ ๋ฐฐ์šฐ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ๋ก ๊ณผ ์‹ค์Šต(2ํŒ)

[๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] 1. ๊ธฐ๋ณธ ์šฉ์–ด ์„ค๋ช…

2021. 3. 20. 10:53
๋ชฉ์ฐจ
  1. ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ชจ๋ธ์˜ ๊ธฐ๋ณธ ์šฉ์–ด
  2. ๋ฆด๋ ˆ์ด์…˜(=ํ…Œ์ด๋ธ”)
  3. ํ›„๋ณดํ‚ค
  4. ๊ธฐ๋ณธํ‚ค(PK, Primary Key)
  5. ๋Œ€๋ฆฌํ‚ค
  6. ๋Œ€์ฒดํ‚ค
  7. ์™ธ๋ž˜ํ‚ค(FK, Foreign Key)
๋ฐ˜์‘ํ˜•
 

IT CookBook, ์˜ค๋ผํด๋กœ ๋ฐฐ์šฐ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ๋ก ๊ณผ ์‹ค์Šต(2ํŒ)

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ•ต์‹ฌ ์ด๋ก ์„ ์˜ค๋ผํด๋กœ ์‹ค์Šตํ•˜๋ฉฐ ๊ณต๋ถ€ํ•  ์ˆ˜ ์žˆ๋Š” ์ฑ…์ด๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ด๋ก ์„ 4๊ฐœ์˜ ๋ถ€๋กœ ๋‚˜๋ˆ„์–ด ์‹ค์Šต๊ณผ ํ•จ๊ป˜ ์ตํžŒ ๋‹ค์Œ, ๋งˆ์ง€๋ง‰์—๋Š” ์›Œํฌ๋ถ์œผ๋กœ ๋ฐฐ

www.hanbit.co.kr

์˜ค๋ผํด๋กœ ๋ฐฐ์šฐ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ๋ก ๊ณผ ์‹ค์Šต(2ํŒ) ์„ ๊ณต๋ถ€ํ•˜๋ฉฐ, ์ •๋ฆฌํ•œ ๋‚ด์šฉ์„ ํฌ์ŠคํŒ…ํ•˜๋Š” ๊ธ€์ž…๋‹ˆ๋‹ค.


๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ชจ๋ธ์˜ ๊ธฐ๋ณธ ์šฉ์–ด

 

 

๋ฆด๋ ˆ์ด์…˜(=ํ…Œ์ด๋ธ”)

(๋ฆด๋ ˆ์ด์…˜๊ณผ ํ…Œ์ด๋ธ”์€ ๊ฐ™์€ ์˜๋ฏธ์ง€๋งŒ, ๋ฆด๋ ˆ์ด์…˜์€ ์ˆ˜ํ•™์˜ ์ง‘ํ•ฉ์ด๋ก ์— ๊ธฐ์ดˆํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์†์„ฑ์ด๋‚˜ ์ธ์Šคํ„ด์Šค์˜ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.)

  • ์Šคํ‚ค๋งˆ: ๋ฆด๋ ˆ์ด์…˜์ด ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜๋Š”์ง€, ์–ด๋–ค ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ •์˜
  • ์ธ์Šคํ„ด์Šค: ์ •์˜๋œ ์Šคํ‚ค๋งˆ์— ๋”ฐ๋ผ ํ…Œ์ด๋ธ”์— ์‹ค์ œ๋กœ ์ €์žฅ๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ

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

  • ์†์„ฑ๊ณผ ํŠœํ”Œ์€ ์ค‘๋ณต๋œ ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค.
  • ์†์„ฑ์€ ์ค‘๋ณต๋œ ์ด๋ฆ„์„ ๊ฐ€์งˆ ์ˆ˜ ์—†๋‹ค.
  • ์†์„ฑ์˜ ์†ํ•œ ์—ด๋“ค์€ ๋„๋ฉ”์ธ ๊ฐ’๋งŒ ๊ฐ€์ง„๋‹ค.
  • ์†์„ฑ๊ณผ ํŠœํ”Œ์˜ ์ˆœ์„œ๋Š” ์ƒ๊ด€์—†๋‹ค.

 

์†์„ฑ(์• ํŠธ๋ฆฌ๋ทฐํŠธ(attribute), ์—ด)

  • ๋ฆด๋ ˆ์ด์…˜ ์Šคํ‚ค๋งˆ์˜ ์—ด
  • ์†์„ฑ์˜ ๊ฐœ์ˆ˜ : ์ฐจ์ˆ˜(degree)

 

๋„๋ฉ”์ธ

  • ์†์„ฑ์ด ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฐ’์˜ ์ง‘ํ•ฉ
  • ์˜ˆ) ๊ณ ๊ฐ๋ฒˆํ˜ธ(์†์„ฑ)์˜ ๋„๋ฉ”์ธ(์†์„ฑ์ด ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฐ’)์€ {1๋ณด๋‹ค ํฐ ์ •์ˆ˜์˜ ์ง‘ํ•ฉ : integer}์ด๊ณ , ๊ณ ๊ฐ์ด๋ฆ„(์†์„ฑ)์˜ ๋„๋ฉ”์ธ(์†์„ฑ์ด ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๊ฐ’)์€ {๋ฌธ์ž๋กœ ๊ตฌ์„ฑ๋œ ๋ฌธ์ž์—ด : char} ์ด ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

 

ํŠœํ”Œ(tuple)

  • ๋ฆด๋ ˆ์ด์…˜์˜ ํ–‰
  • ํŠœํ”Œ์˜ ์ˆ˜ : ์นด๋‹ˆ๋„๋ฆฌํ‹ฐ(cadinality)

ํ›„๋ณดํ‚ค

  • ํŠœํ”Œ์„ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ์†์„ฑ์˜ ์ตœ์†Œ ์ง‘ํ•ฉ
  • ์˜ˆ๋ฅผ ๋“ค์–ด, ํ•œ ๊ฐœ์˜ ์†์„ฑ์œผ๋กœ ์‹๋ณ„์ด ์•ˆ๋  ๊ฒฝ์šฐ ๋‘ ๊ฐœ ์ด์ƒ์˜ ์†์„ฑ์œผ๋กœ ํ›„๋ณดํ‚ค๋ฅผ ์ด๋ฃฐ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด๋ฅผ ๋ณตํ•ฉํ‚ค๋ผ๊ณ  ํ•œ๋‹ค.

 

๊ธฐ๋ณธํ‚ค(PK, Primary Key)

  • ์—ฌ๋Ÿฌ ํ›„๋ณดํ‚ค ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ์ •ํ•˜์—ฌ ๋Œ€ํ‘œ๋กœ ์‚ผ๋Š” ํ‚ค
    • ํ›„๋ณดํ‚ค๊ฐ€ ํ•˜๋‚˜ ๋ฟ์ด๋ผ๋ฉด ๊ทธ ํ›„๋ณดํ‚ค๋ฅผ ๊ธฐ๋ณธํ‚ค๋กœ ์‚ฌ์šฉ
    • ํ›„๋ณดํ‚ค๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ๋ผ๋ฉด ๋ฆด๋ ˆ์ด์…˜์˜ ํŠน์„ฑ์„ ๋ฐ˜์˜ํ•˜์—ฌ ํ•˜๋‚˜
  • ๊ณ ๋ ค ์‚ฌํ•ญ
    • ๋ฆด๋ ˆ์ด์…˜ ๋‚ด ํŠœํ”Œ์„ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ์œ ํ•œ ๊ฐ’์„ ๊ฐ€์ ธ์•ผ ํ•จ
    • NULL๊ฐ’ ํ—ˆ์šฉ X
    • ํ‚ค ๊ฐ’ ๋ณ€๋™ X
    • ์ตœ๋Œ€ํ•œ ์ ์€ ์ˆ˜์˜ ์†์„ฑ์„ ๊ฐ€์ง„ ๊ฒƒ์ด์—ฌ์•ผ ํ•จ
  • ํ‘œํ˜„
    • ๋ฆด๋ ˆ์ด์…˜_์ด๋ฆ„(์†์„ฑ1, ์†์„ฑ2, ...., ์†์„ฑN) -> ๊ธฐ๋ณธํ‚ค๋Š” ๋ฐ‘์ค„๋กœ ํ‘œ์‹œ!

 

๋Œ€๋ฆฌํ‚ค

  • ์•„๋ž˜์˜ ์ƒํ™ฉ์—์„œ๋Š” ๋Œ€๋ฆฌํ‚ค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
    • ๊ธฐ๋ณธํ‚ค๊ฐ€ ๋ณด์•ˆ์„ ์š”ํ•˜๊ฑฐ๋‚˜(์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ๋Š” ์œ ์ผํ•˜์ง€๋งŒ, ๋ณด์•ˆ์„ ์š”ํ•œ๋‹ค)
    • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์†์„ฑ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ๋ณต์žกํ•˜๊ฑฐ๋‚˜
    • ๋งˆ๋•…ํ•œ ๊ธฐ๋ณธํ‚ค๊ฐ€ ์—†์„ ๊ฒฝ์šฐ
  • ์ผ๋ จ๋ฒˆํ˜ธ ๊ฐ™์€ ๊ฐ€์ƒ์˜ ์†์„ฑ์„ ๋งŒ๋“ค์–ด ๊ธฐ๋ณธํ‚ค๋กœ ์‚ผ๋Š”๋‹ค.
    • ์ด๊ฒƒ์„ ๋Œ€๋ฆฌํ‚ค ๋˜๋Š” ์ธ์กฐํ‚ค ๋ผ๊ณ  ํ•จ.

 

๋Œ€์ฒดํ‚ค

  • ๊ธฐ๋ณธํ‚ค๋กœ ์„ ์ •๋˜์ง€ ์•Š์€ ํ›„๋ณดํ‚ค๋ฅผ ๋งํ•œ๋‹ค
  • ์˜ˆ๋ฅผ ๋“ค์–ด, ํ›„๋ณดํ‚ค(๊ณ ๊ฐ๋ฒˆํ˜ธ, ์ฃผ๋ฏผ๋ฒˆํ˜ธ) ์ค‘ ์ฃผ๋ฏผ๋ฒˆํ˜ธ๋Š” ๋ณด์•ˆ์„ ์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ๋ณธํ‚ค๊ฐ€ ๋  ์ˆ˜ ์—†๋‹ค.
    • ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ๋ฏผ๋ฒˆํ˜ธ๋Š” ๋Œ€์ฒดํ‚ค๊ฐ€ ๋œ๋‹ค.

 

์™ธ๋ž˜ํ‚ค(FK, Foreign Key)

  • ๋ฆด๋ ˆ์ด์…˜์˜ ๊ด€๊ณ„ ๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค
  • ๋‹ค๋ฅธ ๋ฆด๋ ˆ์ด์…˜์˜ ๊ธฐ๋ณธํ‚ค๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์†์„ฑ
  • ์ฐธ์กฐ(์™ธ๋ž˜ํ‚ค)ํ•˜๊ณ  ์ฐธ์กฐ(๊ธฐ๋ณธํ‚ค)๋˜๋Š” ์–‘์ชฝ ๋ฆด๋ ˆ์ด์…˜์˜ ๋„๋ฉ”์ธ์€ ์„œ๋กœ ๊ฐ™์•„์•ผํ•จ
    • (์˜ˆ) Aํ…Œ์ด๋ธ”์—์„œ๋Š” ์ฃผ๋ฏผ๋ฒˆํ˜ธ์ธ๋ฐ, Bํ…Œ์ด๋ธ”์—์„œ๋Š” ์‹๋ณ„๋ฒˆํ˜ธ ์ธ ๊ฒฝ์šฐ X
  • ์ฐธ์กฐ๋˜๋Š” ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜๋ฉด ์ฐธ์กฐํ•˜๋Š” ๊ฐ’๋„ ํ•จ๊ป˜ ๋ณ€๊ฒฝ
  • NULL ๊ฐ’ ๊ณผ ์ค‘๋ณต ๊ฐ’ ์ด ํ—ˆ์šฉ๋จ
  • ์ž๊ธฐ ์ž์‹ ์˜ ๊ธฐ๋ณธํ‚ค๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋‹ค. (๋„๋ฉ”์ธ์ด ๋‹ค๋ฅผ ์ˆ˜๋„ ์žˆ์Œ)

 

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)
  1. ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ชจ๋ธ์˜ ๊ธฐ๋ณธ ์šฉ์–ด
  2. ๋ฆด๋ ˆ์ด์…˜(=ํ…Œ์ด๋ธ”)
  3. ํ›„๋ณดํ‚ค
  4. ๊ธฐ๋ณธํ‚ค(PK, Primary Key)
  5. ๋Œ€๋ฆฌํ‚ค
  6. ๋Œ€์ฒดํ‚ค
  7. ์™ธ๋ž˜ํ‚ค(FK, Foreign Key)
'๐Ÿ“š Databases/์˜ค๋ผํด๋กœ ๋ฐฐ์šฐ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ๋ก ๊ณผ ์‹ค์Šต(2ํŒ)' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] 3. ๊ด€๊ณ„๋Œ€์ˆ˜
  • [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] 2. ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด
iseunghan
iseunghan
๊พธ์ค€ํ•˜๊ฒŒ ์—ด์‹ฌํžˆ..
iseunghan
iseunghan

๊ณต์ง€์‚ฌํ•ญ

  • ์–ด์ œ๋ณด๋‹ค ๋‚˜์€ ์˜ค๋Š˜์ด ๋˜๊ธฐ ์œ„ํ•ด ๐Ÿ”ฅ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (260)
    • ๐Ÿ’ Spring (14)
      • ๊ฐœ๋… ๋ฐ ์ดํ•ด (2)
      • Spring ํ•ต์‹ฌ ๊ธฐ์ˆ  (24)
      • Spring REST API (8)
      • Spring MVC, DB ์ ‘๊ทผ ๊ธฐ์ˆ  (7)
      • Spring Security (23)
      • Spring in Action (1)
    • ๐ŸŒป JAVA (84)
      • ์ž๋ฐ” ORM ํ‘œ์ค€ JPA ํ”„๋กœ๊ทธ๋ž˜๋ฐ (20)
      • ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์ž๋ฃŒ๊ตฌ์กฐ (13)
      • ๋””์ž์ธ ํŒจํ„ด (7)
      • ์ •๋ฆฌ์ •๋ฆฌ์ •๋ฆฌ (43)
      • JUnit (1)
    • ๐Ÿ”– Snippets (3)
      • Javascript (3)
    • โš™๏ธ Devops (22)
      • โ› Git (11)
      • ๐Ÿณ Docker (6)
      • ๐Ÿง Linux (3)
      • ๐ŸŒˆ Jenkins (1)
      • ๐Ÿ“ฌ Kafka (1)
    • ๐Ÿ’ฌ ETC.. (4)
      • ๐Ÿ’ป macOS (2)
    • ๐ŸŒง๏ธ ORM (2)
      • JPA (2)
    • ๐Ÿ Python (1)
    • ๐Ÿ“š Databases (15)
      • ์˜ค๋ผํด๋กœ ๋ฐฐ์šฐ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐœ๋ก ๊ณผ ์‹ค์Šต(2ํŒ) (3)
      • RealMySQL 8.0 (8)
    • ๐Ÿ”ฅ Computer Science (5)
      • ๐Ÿ“ก ๋„คํŠธ์›Œํฌ (5)
    • ๐Ÿท๏ธ ํ˜‘์—… (1)
    • ๐Ÿ“œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ (38)
      • BAEKJOON\์ˆ˜ํ•™ 1, ์ˆ˜ํ•™ 2 (8)
      • BAEKJOON\์žฌ๊ท€ (5)
      • BAEKJOON\๋ธŒ๋ฃจํŠธ ํฌ์Šค (3)
      • BAEKJOON\์ •๋ ฌ (1)
      • BAEKJOON\๋ฐฑํŠธ๋ž˜ํ‚น (5)
      • BAEKJOON\BFS, DFS (6)
      • BAEKJOON\์ด๋ถ„ํƒ์ƒ‰ (1)
      • BAEKJOON\๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ (9)
      • BAEKJOON\๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜ (0)
    • โœจ ISEUNGHAN (1)

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๊ธ€

์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
๋ฐ˜์‘ํ˜•
hELLO ยท Designed By ์ •์ƒ์šฐ.
iseunghan
[๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] 1. ๊ธฐ๋ณธ ์šฉ์–ด ์„ค๋ช…
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๊ฐœ์ธ์ •๋ณด

  • ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ
  • ํฌ๋Ÿผ
  • ๋กœ๊ทธ์ธ

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.