<SQL ์ฒซ๊ฑธ์> ์ ๋ณด๊ณ ์ง์ ํ์ตํ๊ณ ๊ธฐ๋กํ๋ ํฌ์คํธ! ๐ฅ
DATABASE ๋ง์คํฐ๋ฅผ ๊ฟ๊พธ๋ฉฐ...๐ฅ
๐ 1์ฅ
๐ 1๊ฐ DATABASE
๋ฐ์ดํฐ๋ฒ ์ด์ค = ๋ฐ์ดํฐ์ ์งํฉ
๊ณผ๊ฑฐ์๋ ๋ฐ์ดํฐ์ผํฐ์ ์๋ฒ์์ ์ด์ฉ
ํ์ฌ๋ ๊ฐ์ธ์ฉ ์ปดํฐ๋ ํด๋์ฉ ๊ธฐ๊ธฐ์ ๋ด์ฅ
-
๋ฐ์ดํฐ๋ฒ ์ด์ค = DATABASE (DB)
-
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ด๋ฆฌํ๋ ์ํํธ์จ์ด = ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์์คํ
(Database Management System = DBMS)
-
๊ทผ๋ฐ DBMS์ ๊ฐ์ ์ ์ฉ ์ํธ์จ์ด๊ฐ ์ ํ์ํ๋ฐ?
-> ์์ฐ์ฑ ํฅ์์ ๋๋ชจํ ์ ์์! (๋ฐ์ดํฐ ๊ฒ์, ์ถ๊ฐ, ์ญ์ , ๊ฐฑ์ ๊ฐ์ ์ฒ๋ฆฌ๋ฅผ DBMS๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณตํด์ฅผ)
-> ๊ธฐ๋ฅ์ฑ (DBMS๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ค๋ฃจ๋ ๊ธฐ๋ฅ์ ์ ๊ณต. ๋ณต์ ์ ์ ์ ์์ฒญ์ ๋์, ๋์ฉ๋ ๋ฐ์ดํฐ ์ ์ฅํ๊ฑฐ๋ ๊ณ ์์ผ๋ก ๊ฒ์ํ๋ ๊ธฐ๋ฅ๋ ์ ๊ณต. ํ์คํ ํธํ ๋ฏ!)
-> ์ ๋ขฐ์ฑ (๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ง์ ์์ฒญ์ ๋์ํ ์ ์๋๋ก ๋ง๋ค์ด์ ธ ์์. ์ด๋ฅผ ์ํด ํ๋์จ์ด๋ฅผ ์ฌ๋ฌ ๋๋ก ๊ตฌ์ฑํด์ ์ ๋ขฐ์ฑ์ ๋์ด๋ ๋์์ ์ฑ๋ฅ ํฅ์์ ๊พํจ!)
-
์ด๋ฌํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์กฐ์ํ๋ ์ธ์ด ๐ฑ SQL ๐ฑ!!
-> SQL์ ๊ทธ์ค "๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ
(RDBMS)์ ์กฐ์ํ ๋ ์ฌ์ฉํจ!
-
SQL์ ์ข
๋ฅ?
1) DML : ๋ฐ์ดํฐ ์กฐ์ํ ๋ ์
2) DDL : ๋ฐ์ดํฐ๋ฅผ ์ ์ํ ๋ ์
3) DCL : ๋ฐ์ดํฐ๋ฅผ ์ ์ดํ ๋ ์
-> ์๋ ๊ฒ ์ธ๊ฐ์ง๊ฐ ์๋ค๋ ๊ฒ๋ง ์์๋์!
๐ 2๊ฐ ๋ค์ํ DATABASE
๊ทธ๋ผ DBMS์ ์ข
๋ฅ์๋ ๋ญ๊ฐ ์๋๋ฐ? ๋ด๊ฐ ๊ณต๋ถํด์ผํ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ญ๊น?
- DBMS์ ์ข
๋ฅ
1) ๊ณ์ธตํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ๊ฐ์ฅ ์ค๋๋ DBMS
2) ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ํ๊ณผ ์ด์ ๊ฐ์ง๋ ํ ํ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ํํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฐ๋ฆฌํด
- ํ ํ์์ ๋ฐ์ดํฐ๋ 2์ฐจ์ ๋ฐ์ดํฐ๋ฅผ ๋งํจ (๊ฐ๋ก๋ '์ด', ์ธ๋ก๋ 'ํ')
- ์ด๋ฐ ํ๋ฅผ ์~~๋ฉ ์ ์ฅํด๋๊ณ ๊ฐ๊ฐ์ ํ์ ์ด๋ฆ์ ๋ถ์
- SQL ์ธ์ด๋ก ์กฐ์ ๊ฐ๋ฅ
3) ๊ฐ์ฒด์งํฅ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์๋ฐ๋ C++์ ๊ฐ์ฒด์งํฅ ์ธ์ด๋ผ๊ณ ํจ
- '๊ฐ์ฒด'๋ผ๋ ๊ฒ์ ์ค์ฌ์ผ๋ก ํ๋ก๊ทธ๋๋ฐํ๋ ๊ฒ
- ๊ฐ์ฒด ๊ทธ๋๋ก๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ก ์ ์ฅํ๋ ๊ฒ์ด ๊ฐ์ฒด์งํฅ ๋ฐ์ดํฐ ๋ฒ ์ด์ค๊ฒ ์ฐ..
4) XML ๋ฐ์ดํฐ๋ฒ ์ด์ค
- XML์ด๋ ์๋ฃ ํ์์ ๊ฐ๋ฆฌํค๋ ์ฉ์ด
- ๋ฐ์ดํฐ์ ๊ฐ์ ํ์์ผ๋ก ํํ
- ์๊ธฐ๋ SQL๋์ XQuery๋ผ๋ ์ ์ฉ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํจ
5) ํค-๋ฐธ๋ฅ ์คํ ์ด(KVS)
- 'ํค์ ๊ทธ์ ๋์ํ๋ ๋ฐธ๋ฅ'๋ผ๋ ๋จ์ํ ํํ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์ฐ์๋ฐฐ์ด์ด๋ ํด์ํ
์ด๋ธ์์ ์์ฃผ ๋ณผ ์ ์์!
- NoSQL์ด๋ผ๋ ์ฌ๋ก๊ฑด์ผ๋ก๋ถํฐ ์๊ฒจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก, ์ด ์งํฅ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ผ๊ณ ๋ถ๋ฆ!
์๋ ๊ฒ๋ DBMS๊ฐ ๋ง์ง๋ง ๋ด๊ฐ ๊ณต๋ถํ ๊ฒ์ SQL์ธ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ RDBMS!!!
RDBMS
- ์น ์์คํ
๊ณผ ์ฐ๋ํด์ RDBMS๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ ๋ง์์ง.
- ๋๊ท๋ชจ ์์ฝ์์คํ
์์๋ถํฐ ๋ง์ ๋ณ์์ ์์ ์์ฝ์์คํ
์ ์ด๋ฅด๊ธฐ๊น์ง ์์ฒญ ๋๋ฆฌ ์ฐ์! ํด๋์ ํ์๋ ์์!
- Oracle, DB2, SQL Server, PostgreSQL, MySQL, SQLite ๋ชจ๋ RDBMS!!!
๐ 3๊ฐ DATABASE ์๋ฒ
- RDMBS๋ ํด๋ผ์ด์ธํธ/์๋ฒ ๋ชจ๋ธ์ ์ฑํํด์ ๊ฐ๋ ๋จ!
- ํด๋ผ์ด์ธํธ๋ ์๋ฒ์ ์ ์ ์์ฒญ์ด๋ SQL ๋ช
๋ น ์คํ์์ฒญ์ ๋ณด๋ผ ์ ์์!
- ์๋ฒ๋ ์ด๋ฅผ ์ฒ๋ฆฌํ๊ณ ํด๋ผ์ด์ธํธ์ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํจ!
- ํด๋ผ์ด์ธํธ/์๋ฒ ๋ชจ๋ธ
- 'ํด๋ผ์ด์ธํธ'์ '์๋ฒ'๋ก ์ํํธ์จ์ด๋ฅผ ๋๋๊ณ , ๋ณต์์ ์ปดํจํฐ ์์์ ํ๋์ ๋ชจ๋ธ์ ๊ตฌํํ๋ ์์คํ
์ ๋งํจ.
- RDMBS์ ํด๋ผ์ด์ธํธ/์๋ฒ
์ฐ๋ฆฌ๊ฐ ๊ธฐ์กด์ ์๊ณ ์๋ ํด๋ผ์ด์ธํธ(request)/์๋ฒ(response)์ ๊ฐ๋
์ ๋์ด์ '๋ฌด์'์ด ํ์ํ๋ฐ! ๊ทธ '๋ฌด์'์? '์ฌ์ฉ์ ์ธ์ฆ'์ด๋ค!
- RDMBS๋ ์ฌ์ฉ์ ๋ณ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทผ์ ์ ํํ ์ ์์. ๊ทธ๋์ ID, ๋น๋ฒ ์
๋ ฅํด์ผํจ.
- RDMBS์ ์ ์ํ๋ฉด SQL ๋ช
๋ น์ ์๋ฒ์ ๋ณด๋ผ ์ ์์. ์๋ฒ๊ฐ ๊ฐ๋ ์ค์ด๊ณ ๋คํธ์ํฌ์๋ ์ฐ๊ฒฐ๋์ด ์๋ค๋ฉด, ํด๋ผ์ด์ธํธ์์ SQL ๋ช
๋ น์ ๋ณด๋ผ ๋ ์๋ฒ๋ ์๋ตํ ๊ฒ.
- ์น ์ดํ๋ฆฌ์ผ์ด์
์ ๊ตฌ์กฐ
- ์น ์ดํ๋ฆฌ์ผ์ด์
์ ์ผ๋ฐ์ ์ผ๋ก ์น ์๋ฒ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ์ ์กฐํฉ์ผ๋ก ๊ตฌ์ถ.
- ์ค์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ํ๋ ๊ฒ์ PHP๋ ๋ฃจ๋น ๋ฑ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ๋ง๋ค์ด์ง CGI ํ๋ก๊ทธ๋จ.
- ์ค์ CGI ํ๋ก๊ทธ๋จ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํด๋ผ์ด์ธํธ๊ฐ ๋๋ ๊ฒ์.
๊ผญ ๋์ฅ ๋ด๊ธธ ๋ฐ๋ผ๊ฒ ์ต๋๋ค..