Skip to content

Latest commit

ย 

History

History
225 lines (216 loc) ยท 6.12 KB

22_03_29_Tue.md

File metadata and controls

225 lines (216 loc) ยท 6.12 KB

[22.03.29.Tue] - Day 28

Database

  • DB ์˜ˆ์ œ
    • ๊ณ ๊ฐ ๋ฐ์ดํ„ฐ (ํ…Œ์ด๋ธ”, ์—‘์…€ ์‹œํŠธ)
      • ๊ณ ๊ฐ๋ฒˆํ˜ธ (cf. id๋กœ ํ•ด๋„ ๋จ)
        • ์ˆซ์ž (PK)
      • ๊ณ ๊ฐ๋ช…
        • ๋ฌธ์ž
      • ์ฃผ์†Œ
        • ๋ฌธ์ž
      • ์—ฐ๋ฝ์ฒ˜
        • ๋ฌธ์ž
      • ๋น„๋ฐ€๋ฒˆํ˜ธ
      • ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ์‹œ๊ฐ„
        • datetime
      • ๊ณ ๊ฐ ์ ‘์†์‹œ๊ฐ„
        • datetime
    • ์ œํ’ˆ ๋ฐ์ดํ„ฐ
      • ์ œํ’ˆ๋ฒˆํ˜ธ
        • ์ˆซ์ž (PK)
      • ์ œํ’ˆ๋ช…
        • ๋ฌธ์ž
      • ์ œํ’ˆ๋ถ„๋ฅ˜
        • ์ˆซ์ž(FK)
      • ๊ณต๊ธ‰์ฒ˜
        • ์ˆซ์ž(FK)
      • ๋‹จ๊ฐ€
        • ์ˆซ์ž
      • ์žฌ๊ณ ์ˆ˜
        • ์ˆซ์ž
      • ์ œํ’ˆ ๋Œ€ํ‘œ ์‚ฌ์ง„ (๊ฐœ์ˆ˜ ํ•œ์ •์‹œ ์ปฌ๋Ÿผ์œผ๋กœ ์ถ”๊ฐ€ ๊ฐ€๋Šฅ, ์ œํ’ˆ์‚ฌ์ง„๋งŒ ๋”ฐ๋กœ ๊ด€๋ฆฌ ๊ฐ€๋Šฅ)
        • ๋ฌธ์ž (url ์ฃผ์†Œ)
      • ์ œํ’ˆ ์ธ๋„ค์ผ ์‚ฌ์ง„
      • ์ œํ’ˆ์‚ฌ์ง„1
      • ์ œํ’ˆ์‚ฌ์ง„2
      • ์ œํ’ˆ์‚ฌ์ง„3
    • ์ œํ’ˆ์‚ฌ์ง„ ๋ฐ์ดํ„ฐ
      • ์ œํ’ˆ๋ฒˆํ˜ธ
        • ์ˆซ์ž (PK)
      • ์ œํ’ˆ์‚ฌ์ง„ URL
        • ๋ฌธ์ž (url)
      • ์‚ฌ์ง„ ๊ตฌ๋ถ„
        • ๋ฌธ์ž
    • ๋ฐฐ์†ก์—…์ฒด ๋ฐ์ดํ„ฐ
      • ๋ฐฐ์†ก์—…์ฒด์ฝ”๋“œ
        • ์ˆซ์ž (PK)
      • ๋ฐฐ์†ก์—…์ฒด๋ช…
        • ๋ฌธ์ž
      • ์ „ํ™”๋ฒˆํ˜ธ
        • ๋ฌธ์ž
      • ์ฃผ์†Œ (์†Œ์žฌ์ง€)
        • ๋ฌธ์ž
      • ๋ฐฐ์†ก๊ฐ€๋Šฅ์—ฌ๋ถ€
      • ์‚ฌ์—…์ž๋“ฑ๋ก๋ฒˆํ˜ธ
      • ๋Œ€ํ‘œ์ž๋ช…
    • ์˜์—…๋‹ด๋‹น์ž ๋ฐ์ดํ„ฐ
      • ์‚ฌ์›๋ฒˆํ˜ธ
        • ์ˆซ์ž (PK)
      • ์ด๋ฆ„
        • ๋ฌธ์ž
      • ์ „ํ™”๋ฒˆํ˜ธ
        • ๋ฌธ์ž
      • ์ง๊ธ‰
    • ์ œํ’ˆ๋ถ„๋ฅ˜ ๋ฐ์ดํ„ฐ
      • ์ œํ’ˆ๋ถ„๋ฅ˜์ฝ”๋“œ
        • ์ˆซ์ž (PK)
      • ์ œํ’ˆ๋ถ„๋ฅ˜๋ช…
        • ๋ฌธ์ž
      • ์„ค๋ช…
        • ๋ฌธ์ž
    • ๊ณต๊ธ‰์ฒ˜ ๋ฐ์ดํ„ฐ
      • ๊ณต๊ธ‰์ฒ˜์ฝ”๋“œ
        • ์ˆซ์ž (PK)
      • ๊ณต๊ธ‰์ฒ˜๋ช…
        • ๋ฌธ์ž
      • ์ „ํ™”๋ฒˆํ˜ธ
        • ๋ฌธ์ž
      • ์ฃผ์†Œ
        • ๋ฌธ์ž
      • ๋‹ด๋‹น์ž
        • ์ˆซ์ž(FK)
      • ๋‹ด๋‹น์ž ์ด๋ฉ”์ผ
      • ๋‹ด๋‹น์ž ์—ฐ๋ฝ์ฒ˜
      • ์‚ฌ์—…์ž๋“ฑ๋ก๋ฒˆํ˜ธ
      • ๋Œ€ํ‘œ์ž๋ช…
    • ์ฃผ๋ฌธ์ƒ์„ธ ๋ฐ์ดํ„ฐ
      • ๊ณ ๊ฐ๋ฒˆํ˜ธ
        • ์ˆซ์ž (PK)
        • ๋™๋ช…์ด์ธ ๊ตฌ๋ณ„ ์œ„ํ•จ
      • ๊ณ ๊ฐ๋ช…
        • ๋ฌธ์ž
      • ์ฃผ๋ฌธ๋ฒˆํ˜ธ
        • ์ˆซ์ž (FK)
      • ์ฃผ๋ฌธ๋‚ ์งœ
        • datetime
      • ๋ฐฐ์†ก์ง€ ์ฃผ์†Œ
        • ๋ฌธ์ž
      • ์—ฐ๋ฝ์ฒ˜
        • ๋ฌธ์ž
      • ๋ฐฐ์†ก์—…์ฒด
        • ์ˆซ์ž (FK)
      • ์˜์—…๋‹ด๋‹น์ž
        • ์ˆซ์ž (FK)
    • ์ฃผ๋ฌธ-์ œํ’ˆ๋ชฉ๋ก ๋ฐ์ดํ„ฐ
      • ์ฃผ๋ฌธ๋ฒˆํ˜ธ (๊ณ ๊ฐ, ์ œํ’ˆ ํ…Œ์ด๋ธ”)
        • ์ˆซ์ž (PK)
      • ์ œํ’ˆ๋ฒˆํ˜ธ
        • ์ˆซ์ž (FK)
      • ์ œํ’ˆ๋ช…
        • ๋ฌธ์ž
      • ์ œํ’ˆ๋ถ„๋ฅ˜
        • ์ˆซ์ž (FK)
      • ๊ณต๊ธ‰์ฒ˜
        • ์ˆซ์ž (FK)
      • ์ฃผ๋ฌธ์ˆ˜๋Ÿ‰
        • ์ˆซ์ž
      • ๊ฐ€๊ฒฉ
        • ์ˆซ์ž
      • ํ•ฉ๊ณ„
        • ์ˆซ์ž
  • ์œ„ DB ๊ตฌ์กฐ์— ๋Œ€ํ•œ ํ™”๋ฉด ๋ฆฌ์ŠคํŠธ
    • ๊ณ ๊ฐ ๋ชฉ๋ก
    • ๊ณ ๊ฐ ์ƒ์„ธ
    • ๊ณ ๊ฐ ๋“ฑ๋ก (ํšŒ์‚ฌ ์ฃผ๋„)
    • ๊ณ ๊ฐ ์ˆ˜์ •
    • ๋ฐฐ์†ก์—…์ฒด ๋ชฉ๋ก
    • ๋ฐฐ์†ก์—…์ฒด ์ƒ์„ธ
    • ๋ฐฐ์†ก์—…์ฒด ๋“ฑ๋ก(์ƒ์„ฑ)
    • ์˜์—…๋‹ด๋‹น์ž ๋ชฉ๋ก
    • ์˜์—…๋‹ด๋‹น์ž ๋“ฑ๋ก
    • ์˜์—…๋‹ด๋‹น์ž ์ƒ์„ธ
    • ์˜์—…๋‹ด๋‹น์ž ์ˆ˜์ •
    • ์ œํ’ˆ๋ถ„๋ฅ˜ ๊ด€๋ฆฌ (multiple edit ํŒจํ„ด, ์ปฌ๋Ÿผ/ํ•„๋“œ ๋ณ„๋กœ ์—†๋Š” ๋ฐ์ดํ„ฐ ์ผ€์ด์Šค)
      • ์ œํ’ˆ๋ถ„๋ฅ˜ ๋ชฉ๋ก/๋“ฑ๋ก/์ˆ˜์ •/์‚ญ์ œ
    • ์ œํ’ˆ ๋ชฉ๋ก
    • ์ œํ’ˆ ์ƒ์„ธ
    • ์ œํ’ˆ ๋“ฑ๋ก
    • ์ œํ’ˆ ์ˆ˜์ •
    • ์ฃผ๋ฌธ ๋ชฉ๋ก
    • ์ฃผ๋ฌธ ์ƒ์„ธ
    • ์ฃผ๋ฌธ ์ƒ์„ฑ
    • ์ฃผ๋ฌธ ์ˆ˜์ •
    • ๊ณต๊ธ‰์ฒ˜ ๋ชฉ๋ก
    • ๊ณต๊ธ‰์ฒ˜ ์ˆ˜์ •
    • ๊ณต๊ธ‰์ฒ˜ ์ƒ์„ธ
    • ๊ณต๊ธ‰์ฒ˜ ๋“ฑ๋ก

[Note]

  • ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ์„ค๊ณ„ ๋ฐ ๋ฐ”๋ผ๋ณด๋Š” ๊ด€์ 
  • ๊ฐ€์žฅ ๋จผ์ € ๋ด์•ผ ํ•˜๋Š” ํ™”๋ฉด์€ ์ฃผ๋ฌธ ์ƒ์„ธ ํ•ญ๋ชฉ ๋ฐ์ดํ„ฐ
    • ์ƒ์„ธ ํ™”๋ฉด์„ ๊ฐ€์ง€๊ณ  ์ฃผ๋ฌธ ์ƒ์„ฑ ํ™”๋ฉด ๋“ฑ ๋งŒ๋“ฆ
    • ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์„ค๊ณ„ ๊ธฐ๋ณธ ์‹œ์ž‘์€ ์ƒ์„ธ ํ™”๋ฉด ๋ฐ์ดํ„ฐ!
  • DB ๊ธฐ๋ณธ ์ƒ์„ฑ ๋ชฉ์ ์€ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๋“ค๊ณผ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•จ
    • ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ์ฒด๊ณ„์ , ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ๊ฐ€๊ณต ๊ฐ€๋Šฅ
  • ์—‘์…€๋„ DB์™€ ํ˜•์‹ ๋™์ผ
  • ์—‘์…€ ์‹œํŠธ (ํ…Œ์ด๋ธ”)
  • ๊ธฐํš์ž๋กœ๋ถ€ํ„ฐ ์™€์ด์–ดํ”„๋ ˆ์ž„์„ ๋ฐ›์œผ๋ฉด ํ•ญ์ƒ ์„ ํ–‰์ ์œผ๋กœ ์กด์žฌํ•ด์•ผ ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์Œ
    • ์ฃผ๋ฌธ ์ƒ์„ธ ๋ฐ์ดํ„ฐ ์˜ˆ์‹œ
  • ์ง€์—ญ๋ณ„ ๋ฐฐ์†ก์—…์ฒด ๋ฐ์ดํ„ฐ ์‹œํŠธ ์ƒ์„ฑํ•ด์„œ ๊ด€๋ฆฌ ๊ฐ€๋Šฅ
  • ์ œํ’ˆ ์ƒ์„ธ, ์ฃผ๋ฌธ ๋ชฉ๋ก, ์ฃผ๋ฌธ ์ƒ์„ธ, ...
  • ์ปฌ๋Ÿผ์ด ๋ณ„๋กœ ์—†๋Š” ๋ฐ์ดํ„ฐ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” multiple edit ํŒจํ„ด์œผ๋กœ ๋งŒ๋“ค์–ด์งˆ ๊ฐ€๋Šฅ์„ฑ ๋†’์Œ
  • ๊ฐ€์žฅ ํ•ต์‹ฌ์ด ๋˜๋Š” ๋ฉ”์ธ ํ”„๋กœ์„ธ์Šค๋Š” ์ฃผ๋ฌธ ์ƒ์„ธ ๋ฐ์ดํ„ฐ!
    • ํ•ต์‹ฌ์ด ๋˜๋Š” ํ™”๋ฉด์„ ๋จผ์ € ๊ธฐํšํ•˜๊ณ  ๊ทธ์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ” ์„ค๊ณ„
  • ์ œํ’ˆ ์‚ฌ์ง„์„ ์ œํ’ˆ ํ…Œ์ด๋ธ”์— ์ปฌ๋Ÿผ์„ ์ถ”๊ฐ€ํ•ด์„œ ๋„ฃ์–ด๋†“์œผ๋ฉด ์กฐ์ธ ํšŸ์ˆ˜๊ฐ€ ์ ์–ด์„œ ์ข‹์„ ์ˆ˜๋„ ์žˆ์Œ
    • ํ•˜์ง€๋งŒ ์ดํ›„ ์ œํ’ˆ ์‚ฌ์ง„ ๊ฐœ์ˆ˜๋ฅผ ์ œํ•œํ•˜์ง€ ์•Š๊ณ  ์—ฌ๋Ÿฌ ๊ฐœ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ํ•„์š”ํ•˜๋‹ค๋ฉด ๋”ฐ๋กœ ํ…Œ์ด๋ธ”๋กœ ๋นผ๋Š” ๊ฒƒ์ด ๋‚˜์„ ์ˆ˜๋„ ์žˆ์Œ
    • ์ •๋‹ต์€ ์—†์Œ
  • ์Šคํ‚ค๋งˆ
    • DB๋ฅผ ์‹œ์Šคํ…œ๋ณ„๋กœ ๊ตฌ๋ถ„
    • ๊ด€๋ จ์žˆ๋Š” ํ…Œ์ด๋ธ”๋ผ๋ฆฌ ๋ฌถ์–ด๋†“์€ ๊ณณ
    • ์Šคํ‚ค๋งˆ๋ณ„๋กœ ์œ ์ € ๊ถŒํ•œ ๋ถ€์—ฌ ๊ฐ€๋Šฅ
  • ํ…Œ์ด๋ธ”
    • ์ปฌ๋Ÿผ
    • ๋ฐ์ดํ„ฐ
  • DB ์‹คํ–‰ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด
    • SQL
    • Structured Query Language
  • PK (Primary Key)
    • record unqiueํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์ปฌ๋Ÿผ
  • NN (Not Null)
    • ๋ฐ˜๋“œ์‹œ ๊ฐ’์ด ์žˆ์–ด์•ผ ํ•จ
  • AI (Auto Increment)
    • ์ž๋™์œผ๋กœ ๋ฒˆํ˜ธ ๋งŒ๋“ค์–ด์คŒ
  • UN (Unsigned)
    • ๋ถ€ํ˜ธ๊ฐ€ ์—†๋Š”
    • ์–‘์ˆ˜๋งŒ
  • UQ (Unique)
    • PK๋Š” ์•„๋‹ˆ์ง€๋งŒ ์ค‘๋ณต๋œ ๊ฐ’์ด ์žˆ์œผ๋ฉด ์•ˆ๋จ!
  • Datatype
    • ์ปฌ๋Ÿผ ํƒ€์ž…
    • int (์ •์ˆ˜)
    • varchar
      • mysql์€ ๊ธ€์ž์ˆ˜ (DBMS๋ณ„๋กœ ๋‹ค๋ฆ„)
      • ์ ๋‹นํžˆ ์ œํ•œํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Œ
  • RDBMS (Relational DataBase Management System)
    • ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ ์ค‘์š”!!
  • ํ•œ์ž๋ฆฌ ๊ด€๋ จ ํƒ€์ž…
    • varchar(1)
    • int(1)
    • enum('A', 'B')
  • ์†Œ์ˆ˜์ ์€ Decimal
  • ๊ธฐ๋ณธ์ ์œผ๋กœ created_datetime, created_userid ์ปฌ๋Ÿผ ๋‹ค ์žˆ์Œ
  • order_header, order_detail ํ…Œ์ด๋ธ”๋กœ ์ฃผ๋ฌธ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ
  • ํด๋ฆญ์œจ, ์ฃผ๋ฌธ ํšŸ์ˆ˜ ๋“ฑ ๋ฐ์ดํ„ฐ ๋ณด๋ฉด์„œ ๊ณ ๊ฐ์ด ์ฃผ๋ฌธํ•˜๋Š”๋ฐ ๊ฐˆ๋“ฑํ•˜๋Š”์ง€ ๋“ฑ ํŒŒ์•…ํ•ด์„œ
    ๊ตฌ๋งค ์œ ๋„ ์ „๋žต ๋งŒ๋“ฆ (๋งˆ์ผ€ํŒ…)
  • ๋ˆˆ์— ๋ณด์ด์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ๋กœ ๊ฐ€์น˜ ์ฐฝ์ถœ ๊ฐ€๋Šฅ
  • ์ธ๋ฉ”๋ชจ๋ฆฌ DB
    • ๋‚ด๋ถ€์ ์œผ๋กœ RAM ๊ฐ™์€ ์ธ ๋ฉ”๋ชจ๋ฆฌ ์ด์šฉ
  • ๋ฉ”๋ชจ๋ฆฌ ์บ์‹œ
    • ๋ ˆ๋””์Šค
  • ํ…Œ์ด๋ธ”๋ณ„๋กœ ๋ถˆํ•„์š”ํ•œ ํ‚ค ์—†์ด ํ•„์š”ํ•œ ํ‚ค๋งŒ ๊ฐ€์ง€๋„๋ก ์„ธ๋ถ„ํ™”ํ•ด์„œ ์ž˜ ๋ถ„ํ• ํ•˜๋Š” ์„ค๊ณ„ ์ค‘์š”

[Q&A]

  • ์ œํ’ˆ ์‚ฌ์ง„ ํ•„๋“œ ํ•˜๋‚˜์— url์„ ๋ฆฌ์ŠคํŠธ ํ˜•์‹์œผ๋กœ๋„ ์—ฌ๋Ÿฌ ๊ฐœ ๋‹ด์•„๋†“์„ ์ˆ˜ ์žˆ๋‚˜์š”?
    • JSON ๋“ฑ ๋ฐ์ดํ„ฐํƒ€์ž… ์žˆ์ง€๋งŒ ๊ถŒ์žฅํ•˜์ง€ ์•Š์Œ
    • ๋ฌธ์ž์—ด๋กœ ์—ฐ๊ฒฐํ•ด์„œ ์ €์žฅ ๊ฐ€๋Šฅ...