Home > Archive > SQL > ๐Ÿ’‰[SQL] ํ…Œ์ด๋ธ”๊ณผ ์ปฌ๋Ÿผ, SQL

๐Ÿ’‰[SQL] ํ…Œ์ด๋ธ”๊ณผ ์ปฌ๋Ÿผ, SQL
SQL

SQL?

  • SQL์€ โ€œ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋Œ€ํ™”๋ฅผ ํ•˜๊ธฐ ์œ„ํ•œ ์–ธ์–ดโ€ ์ž…๋‹ˆ๋‹ค.
    • ์˜†์˜ ์‚ฌ๋žŒ์—์„ธ ํ•„์š”ํ•œ ๊ฒƒ์„ ์š”์ฒญ์‹œ โ€œA๋ฅผ ์ฃผ์‹œ๊ฒ ์–ด์š”?โ€์™€ ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด โ€œDB์—๊ฒŒ๋„ A๋ฅผ ์ฃผ์‹œ๊ฒ ์–ด์š”?โ€ ๋ผ๊ณ  ์ด์•ผ๊ธฐํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Query
SQL ์ด๋ž€ ์–ธ์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์š”์ฒญ์„ ํ•˜๋Š” ์งˆ์˜๋ฅผ โ€˜Queryโ€™๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

ํ…Œ์ด๋ธ”๊ณผ ์ปฌ๋Ÿผ?

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค : ์‰ฝ๊ฒŒ ๋งํ•ด โ€œ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜์–ด์žˆ๋Š” ํฐ ํด๋”โ€ ์ž…๋‹ˆ๋‹ค.

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

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ.

  • ๋ฐ์ดํ„ฐ(Data) : ์ •๋ณด์˜ ์›์‹œ ํ˜•ํƒœ๋กœ, ๋ฌธ์ž, ์ˆซ์ž, ์ด๋ฏธ์ง€ ๋“ฑ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋Š” ์กฐ์งํ™”๋˜์–ด ์žˆ์–ด ํšจ์œจ์ ์ธ ์ ‘๊ทผ๊ณผ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ํ…Œ์ด๋ธ”(Table) : ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์กฐํ™”ํ•˜์—ฌ ์ €์žฅํ•˜๋Š” ๊ธฐ๋ณธ ๋‹จ์œ„์ž…๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ”์€ ํ–‰(Row)๊ณผ ์—ด(Column)๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๊ฐ ํ–‰์€ ๊ณ ์œ ํ•œ ๋ฐ์ดํ„ฐ ๋ ˆ์ฝ”๋“œ๋ฅผ, ์—ด์€ ํŠน์ • ๋ฐ์ดํ„ฐ ํ•„๋“œ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
  • ์Šคํ‚ค๋งˆ(Schema) : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ” ๊ตฌ์กฐ, ๋ฐ์ดํ„ฐ ํƒ€์ž…, ๊ด€๊ณ„ ๋“ฑ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ผˆ๋Œ€๋ฅผ ์ด๋ฃน๋‹ˆ๋‹ค.
  • ์ฟผ๋ฆฌ(Query) : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ์กฐ์งํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค. SQL(Structured Query Language)์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•ด ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์ฟผ๋ฆฌ ์–ธ์–ด์ž…๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ค‘์š”์„ฑ.

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

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ข…๋ฅ˜.

  • ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(RDBMS) : ํ…Œ์ด๋ธ” ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค. Oracle, MySQL, PostgreSQL ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋น„๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(NoSQL) : ์Šคํ‚ค๋งˆ๊ฐ€ ์—†๊ฑฐ๋‚˜ ์œ ์—ฐํ•œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€๊ทœ๋ชจ ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค. MongoDB, Cassandra, Redis ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.