()=

SQL intro#

1. ์™œ sql์„ ๋ฐฐ์›Œ์•ผ ํ•˜๋Š”๊ฐ€?#

๋ฐ์ดํ„ฐ ์ž์ฒด๊ฐ€ ๊ฐ€์น˜๋‹ค. ๋ฐ์ดํ„ฐ๋Š” ๋„ˆ๋ฅผ ๊ทœ์ •ํ•จ๊ณผ ๋™์‹œ์— ๋„ˆ์˜ ๋‹ค์Œ ์Šคํ…์„ ์˜ˆ์ธกํ•˜๋ฉฐ ๊ฐ•์š”ํ•  ์ˆ˜๋„์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜๋Š” ๊ณณ์ด database์ด๊ณ , ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ํ†ต์‹ ํ•˜๋Š” ๊ฒƒ์ด SQL์ด๋‹ค.

2. orm vs sql#

ORM : object relational mapping

orm์€ ๊ฐ์ฒด์™€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ž๋™์œผ๋กœ ๋งคํ•‘ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค. orm์€ sql์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค. ํ•˜์ง€๋งŒ orm์„ ์‚ฌ์šฉํ•˜๋ฉด sql์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค๋Š” ๊ฒƒ์€ orm์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๋งŽ์€ sql์„ ์•Œ์•„์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

3. SQL, RDBMS#

  • 1970๋…„๋Œ€์— ๋งŒ๋“ค์–ด์กŒ๋‹ค.

  • Structured Query Language๋ผ๋Š” ๊ฒƒ์˜ ์ค„์ž„๋ง์ด๋‹ค.

  • RDBMS : relational database management system ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ํ†ต์‹ ํ•˜๊ฒŒ ํ•ด์ค€๋‹ค.

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณณ์ด๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ํ…Œ์ด๋ธ”๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ํ…Œ์ด๋ธ”์€ ํ–‰๊ณผ ์—ด๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ํ–‰์€ ๋ ˆ์ฝ”๋“œ, ์—ด์€ ํ•„๋“œ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๊ด€๊ณ„ํ˜•์€ ์ด๋ ‡๊ฒŒ ์—‘์…€์ฒ˜๋Ÿผ ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

  • Declarative ์„ ์–ธํ˜• ์–ธ์–ด์ด๋‹ค. ์ฆ‰, ๋ช…๋ นํ˜• ์–ธ์–ด์—์„œ์ฒ˜๋Ÿผ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ์œ„ํ•ด์„œ ๊ตฌ์ฒด์ ์ธ ์ ˆ์ฐจ์™€ ๋กœ์ง์„ ์ž‘์„ฑํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. ๊ทธ๋ƒฅ ์›ํ•˜๋Š” ๊ฒƒ๋งŒ ๋ก ์จ๋ฒ„๋ฆฌ๋ฉด ๋œ๋‹ค.

  • ์ด์‹์„ฑ์ด ์žˆ๋‹ค? Portable

    • sqlite code \(\to\) mysql code \(\to\) oracle code \(\to\) sql server code ??

    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณ„๋กœ ๊ทœ์น™์ด ์žˆ๋‹ค.

  • Standardized ํ‘œ์ค€์ด ์žˆ๋‹ค.

    • ๊ทธ๋Ÿฐ๋ฐ ๋‹ค ์ด์‹๋œ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.

4. Many Languagues of SQL#

  1. DDL : Data Definition Language

    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜๋Š” ์–ธ์–ด

    • CREATE, ALTER, DROP

  2. DML : Data Manipulation Language

    • ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ์–ธ์–ด

    • SELECT, INSERT, UPDATE, DELETE

  3. DCL : Data Control Language

    • ๋ฐ์ดํ„ฐ๋ฅผ ์ œ์–ดํ•˜๋Š” ์–ธ์–ด

    • GRANT, REVOKE

  4. TCL : Transaction Control Language