๋ฐ์ดํฐ๋ฒ ์ด์ค๋?
๋ฐ์ดํฐ๋ฒ ์ด์ค(Database)์ ์ ์
DB๋ ์ฌ๋ฌ ์ฌ๋์๊ฒ ๊ณต์ ๋์ด ์ฌ์ฉ๋ ๋ชฉ์ ์ ๊ฐ์ง๊ณ , ๊ตฌ์กฐ์ ์ธ ๋ฐฉ์์ผ๋ก ๊ด๋ฆฌ๋๋ ๋ฐ์ดํฐ์ ์งํฉ์ ์ด์ผ๊ธฐํ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฒด๊ณ์ ์ธ ๊ด๋ฆฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (DBMS)์ ํตํด ์ด๋ฃจ์ด์ง๋ค.
DBMS๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฆฌํ๊ณ ๋ณด๊ดํ๊ธฐ ์ํ ์ฉ๋๋ก ์ฌ์ฉ๋๋ค
=> ์ด๋ฅผ ์ํด ๋ฐ์ดํฐ ์ถ๊ฐ, ๋ณ๊ฒฝ, ์ญ์ , ๊ฒ์ ๋ฑ์ ๊ธฐ๋ฅ์ ์ํํจ
(๋ํ์ ์ธ DBMS๋ Oracle, MySQL, MsSQL, Teradata, SyBase ๋ฑ์ด ์๋ค)
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (DBMS)์ ํน์ฑ
DBMS๋ ์ค์๊ฐ ์ ๊ทผ์ฑ, ๊ณ์์ ์ธ ๋ณํ, ๋์ ๊ณต์ฉ, ๋ด์ฉ์ ์ํ ์ฐธ์กฐ ๋ฑ์ ํน์ฑ์ ์ง๋๊ณ ์๋ค
1. ์ค์๊ฐ ์ ๊ทผ์ฑ(Real-time-processing) : ์ปดํจํฐ๊ฐ ์ ๊ทผํ ์ ์๋ ์ ์ฅ ์ฅ์น์์ ๊ด๋ฆฐ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ง์์ ์ด๊ณ ๋น์ ํ์ ์ธ ์ง์์ ๋ํ์ผ ์ค์๊ฐ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํด์ผ ํ๋ค
2. ๊ณ์์ ์ธ ๋ณํ(Continuous evolution) : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํ๋ ๋์ ์ด๋ค
=> ๊ธฐ์กด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์กด์ฌํ๋ค๋ฉด ๊ทธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์ฝ์ (Insert), ์ญ์ (Delete), ๊ฐฑ์ (Update) ๋ฑ์ ๋ณํ๋ฅผ ์ฃผ์ด ์ ํํ ๋ฐ์ดํฐ๋ฅผ ์ ์งํด์ผ ํ๋ค.
3. ๋์ ๊ณต์ฉ(Concurrent sharing) : ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ค์์ ์ฌ์ฉ์๊ฐ ๋์์ ๊ฐ์ ์ํ๋ ๋ฐ์ดํฐ์ ์ ๊ทผํ์ฌ ์ด์ฉํ ์ ์์ด์ผ ํ๋ค
4. ๋ด์ฉ์ ์ํ ์ฐธ์กฐ(Contents reference) : ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๊ฒฝ์์ ๋ฐ์ดํฐ์ ์ฐธ์กฐ๋ ๋ ์ฝ๋์ ์ฃผ์๋ ์์น์ ์ํด์๊ฐ ์๋๋ผ ์ฌ์ฉ์๊ฐ ์๊ตฌํ๋ ๋ฐ์ดํฐ์ ๋ด์ฉ, ์ฆ ๋ฐ์ดํฐ๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ฐ์ ๋ฐ๋ผ ์ฐธ์กฐ๋๋ค
SQL ์ฌ์ฉ์ ์ํด ํ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฉ์ด
1. ํ ์ด๋ธ : ํ ์ด๋ธ์ ๊ตฌ์กฐํ๋ ์์ ์คํ๋ ๋์ํธ์ ๊ฐ๋ค
(ํ ์ด๋ธ์ ํน์ ํ ์ข ๋ฅ์ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐ์ ๋ชฉ๋ก์ผ๋ก ๋ฌถ์ ๊ฒ์ด๋ค)

์์ ์ฌ์ง์ ํ ์ด๋ธ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค
=> ํ ์ด๋ธ ์ด๋ฆ์ ์ค์ ํด์ค ์ ์๊ณ ํ ์ด๋ธ ์ด๋ฆ์ ๊ณ ์ ํด์ผ ํ๋ค
(๋์ผํ ๋ ๊ฐ์ ํ ์ด๋ธ ์ด๋ฆ์ ํ๋ฝ๋์ง ์์)
2. ์คํค๋ง(Schema) : ํ ์ด๋ธ์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ๋ฐฉ์์ ์ ์ํ ์ ์๋ค
(์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ด๋ค ํ์์ผ๋ก ์ง์ ํ ์ง ์ ์)
=> ์คํค๋ง๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์กด์ฌํ๋ ์๋ฃ์ ๊ตฌ์กฐ ๋ฐ ๋ด์ฉ๊ณผ ์๋ฃ๋ค์ ๋ ผ๋ฆฌ์ , ๋ฌผ๋ฆฌ์ ํน์ฑ์ ๋ํ ์ ๋ณด๋ฅผ ํํํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ์ง์นญํ๋ค
3. ์ด(Column) : ํ ์ด๋ธ์ ๊ตฌ์ฑํ๋ ๊ฐ๊ฐ์ ์ ๋ณด๋ฅผ ๋งํ๋ค
์์ ํ ์ด๋ธ ์ฌ์ง์ ์๋ก ๋ค๋ฉด 'id' ์ 'created_at' , 'user_id', 'title' ๋ฑ์ด ์ด์ด๊ณ , ๊ฐ๊ฐ์ ๋ณ์๋ ํน์ ํ ์ ๋ณด๋ฅผ ํฌํจํ๊ณ ์๋ค
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ ์ด์๋ ๊ณ ์ ํ ๋ฐ์ดํฐ ํ์์ด ์ง์ ๋๋๋ฐ
=> ์ ์ ๋ฐ์ดํฐ, ๋ฌธ์ ๋ฐ์ดํฐ, ํตํ ๋ฐ์ดํฐ, ๋ ์ง ๋ฐ ์๊ฐ ๋ฐ์ดํฐ ๋ฑ์ผ๋ก ์ง์ ํ ์ ์๋ค
(๋ฐ์ดํฐ ํ์์ ์ง์ ํ๋ค๋ ๊ฒ์ ์ด์ ์ ์ฅํ ์ ์๋ ๋ฐ์ดํฐ์ ์ข ๋ฅ๋ฅผ ํน์ ํ ํ์์ผ๋ก ์ ํํ๋ค๋ ์๋ฏธ)
4. ํ(Row) : ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ ํ์ ์ ์ฅ๋๋ค
์์ ํ ์ด๋ธ ์ฌ์ง์ ์์๋ก 2๊ฐ์ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์์ผ๋ฏ๋ก ์ด ํ ์ด๋ธ์ ํ์ 2๊ฐ์ด๋ค
(ํ ์ด๋ธ์ 'ํ'์ ๊ฐ์ ์๋ฏธ๋ก '๋ ์ฝ๋'๋ผ๊ณ ํํํ๊ธฐ๋ ํ๋ค)
5. ๊ธฐ๋ณธ ํค(Primary key) : ํ ์ด๋ธ์๋ ๊ฐ ํ์ ๊ณ ์ ํ๊ฒ ํ๋ ์ด์ด ์กด์ฌํ๋ค (์ด๋ฅผ ๊ธฐ๋ณธ ํค๋ผ๊ณ ํจ)
์๋ฅผ ๋ค์ด ์์ ํ ์ด๋ธ ์ฌ์ง์์๋ ๊ฐ ํ์ ๊ณ ์ ํ๊ฒ ํ๋ ํค(key)๊ฐ์ 'id'์ด๋ค
=> ๊ธฐ๋ณธ ํค๋ ํ ์ด๋ธ ์์ฑ ์ ๋ฐ๋์ ํ์ํ๋ค
(๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ด ๋ฐ ๊ด๋ฆฌ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ต์ ํ ๋ฑ์ ์ํด ๊ฐ ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค๋ฅผ ์ค์ ํด์ผ ํ๋ ๊ฒ์)
SQL์ด๋?
SQL์ ๊ฐ์
SQL์ Structured Query Language์ ์ฝ์๋ก, ์ฌ์ฉ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ๊ฐ์ ์์ฌ์ํต์ ์ํด ํน๋ณํ ๊ณ ์๋ ์ธ์ด์ด๋ค
SQL์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชจ๋ธ์ ๊ท์น์ ๋ฐ๋ผ ์ ์๋์ด ์๊ธฐ ๋๋ฌธ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์ด๋ผ๊ณ ๋ ํ ์ ์๋ค!
SQL์ ์ฅ์ ์ ์์ด ๋ฌธ์ฅ๊ณผ ์ ์ฌํ๊ณ ๋ช ๊ฐ์ ๋จ์ด๋ก ๊ตฌ์ฑ๋์ด ์์ด ๋ฐฐ์ฐ๊ธฐ๊ฐ ์ฝ๊ณ
(SQL์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฑฐ๋ ์ฐ๊ณ , ์์ ํ๊ธฐ ์ํ ๋ถ๋ช ํ ์ฉ๋๋ก ๋ง๋ค์ด์ก๊ธฐ ๋๋ฌธ)
๋๋ถ๋ถ์ DBMS๊ฐ SLQ์ ์ง์ํ๋ฏ๋ก ํ ์ธ์ด๋ฅผ ๋ฐฐ์์ ๋ค์ํ DBMS์์ ํ์ฉํ ์ ์๋ค
SQL์ ์ข ๋ฅ
SQL์ ๊ตฌ์กฐํ๋ ์ง์ ์ธ์ด์ด๋ค.
=> ์ด๋ ๋ฐ์ดํฐ ์ ์์ด(DDL), ๋ฐ์ดํฐ ์กฐ์์ด(DML), ๋ฐ์ดํฐ ์ ์ด์ด(DCL) ๋ฑ์ผ๋ก ๊ตฌ๋ถ๋๋ค
1. ๋ฐ์ดํฐ ์ ์์ด (DDL : Data Definition Language) : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ณต๊ฐ๊ณผ ํ์์ ์ ์ํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ ๊ณจ์กฐ๊ฐ ๊ฐ์ถฐ์ง๋ค
๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ ๊ณต๊ฐ์ด 'ํ ์ด๋ธ'์ด๊ณ , ์ด ํ ์ด๋ธ ํ์์ด '์คํค๋ง'๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค
=> ์ฆ, DDL์ ๋ฐ์ดํฐ์ ๊ทธ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๋ ์ธ์ด์ด๋ค
- CREATE : ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ ์์ฑ
- DROP : ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ ์ญ์
- ALTER : ๊ธฐ์กด ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ ์ฌ์ ์
2. ๋ฐ์ดํฐ ์กฐ์์ด (DML : Data Manipulation Language) : DDL๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๊ณต๊ฐ(ํ ์ด๋ธ)๊ณผ ํ์(์คํค๋ง)์ ๋ง๋ค์์ผ๋ฉด ๊ทธ ๊ณต๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ, ์์ , ์ญ์ , ์กฐํํ๋ ๊ฒ์ ๋ฐ์ดํฐ ์กฐ์์ด(DML)๋ก ๊ฐ๋ฅํ๋ค
=> ์ฆ, DML์ ๋ฐ์ดํฐ ๊ฒ์๊ณผ ์์ ๋ฑ์ ์ฒ๋ฆฌ๋ฅผ ์ํ ์ธ์ด์ด๋ค
- INSERT : ํ ์ด๋ธ์ ๋ฐ์ดํฐ ์ฝ์ /์ ๋ ฅ
- DELETE : ํ ์ด๋ธ์ ๋ฐ์ดํฐ ์ญ์
- UPDATE : ๊ธฐ์กด ํ ์ด๋ธ ์์ ๋ฐ์ดํฐ ์์
- SELECT : ํ ์ด๋ธ ๋ด ๋ฐ์ดํฐ ๊ฒ์
3. ๋ฐ์ดํฐ ์ ์ด์ด (DCL : Data Control Language) : ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์์ ๊ถํ ์ ์ด๋ฅผ ์ํด ์ฌ์ฉ๋๋ ์ธ์ด์ด๋ค
- GRANT : ํ ์ด๋ธ์ ๊ถํ ๋ถ์ฌ
- REVOKE : ๋ถ์ฌํ ๊ถํ ์ทจ์/ํ์
'๐ซง Database > SQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ ์คํธ ๋ง์ด๋์ ํ์ฉํ ๋ฐ์ดํฐ ์กฐ๊ฑด ์ฃผ๊ธฐ (1) | 2024.02.26 |
---|---|
๋ ผ๋ฆฌ์ฐ์ฐ์๋ฅผ ํ์ฉํ ๋ฐ์ดํฐ ์กฐ๊ฑด ์ฃผ๊ธฐ (0) | 2024.02.25 |
WHERE ์กฐ๊ฑด์ ์ ํ์ฉํ ๋ฐ์ดํฐ ์กฐ๊ฑด ์ฃผ๊ธฐ (0) | 2024.02.22 |
SELECT๋ฌธ์ ์ถ๊ฐ์ ์ผ๋ก ํ์ํ ํค์๋ (0) | 2024.02.22 |
SQL์ ๊ธฐ์ด (0) | 2024.02.21 |
๋ฐ์ดํฐ๋ฒ ์ด์ค๋?
๋ฐ์ดํฐ๋ฒ ์ด์ค(Database)์ ์ ์
DB๋ ์ฌ๋ฌ ์ฌ๋์๊ฒ ๊ณต์ ๋์ด ์ฌ์ฉ๋ ๋ชฉ์ ์ ๊ฐ์ง๊ณ , ๊ตฌ์กฐ์ ์ธ ๋ฐฉ์์ผ๋ก ๊ด๋ฆฌ๋๋ ๋ฐ์ดํฐ์ ์งํฉ์ ์ด์ผ๊ธฐํ๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฒด๊ณ์ ์ธ ๊ด๋ฆฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (DBMS)์ ํตํด ์ด๋ฃจ์ด์ง๋ค.
DBMS๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฆฌํ๊ณ ๋ณด๊ดํ๊ธฐ ์ํ ์ฉ๋๋ก ์ฌ์ฉ๋๋ค
=> ์ด๋ฅผ ์ํด ๋ฐ์ดํฐ ์ถ๊ฐ, ๋ณ๊ฒฝ, ์ญ์ , ๊ฒ์ ๋ฑ์ ๊ธฐ๋ฅ์ ์ํํจ
(๋ํ์ ์ธ DBMS๋ Oracle, MySQL, MsSQL, Teradata, SyBase ๋ฑ์ด ์๋ค)
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (DBMS)์ ํน์ฑ
DBMS๋ ์ค์๊ฐ ์ ๊ทผ์ฑ, ๊ณ์์ ์ธ ๋ณํ, ๋์ ๊ณต์ฉ, ๋ด์ฉ์ ์ํ ์ฐธ์กฐ ๋ฑ์ ํน์ฑ์ ์ง๋๊ณ ์๋ค
1. ์ค์๊ฐ ์ ๊ทผ์ฑ(Real-time-processing) : ์ปดํจํฐ๊ฐ ์ ๊ทผํ ์ ์๋ ์ ์ฅ ์ฅ์น์์ ๊ด๋ฆฐ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ง์์ ์ด๊ณ ๋น์ ํ์ ์ธ ์ง์์ ๋ํ์ผ ์ค์๊ฐ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํด์ผ ํ๋ค
2. ๊ณ์์ ์ธ ๋ณํ(Continuous evolution) : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํ๋ ๋์ ์ด๋ค
=> ๊ธฐ์กด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์กด์ฌํ๋ค๋ฉด ๊ทธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์ฝ์ (Insert), ์ญ์ (Delete), ๊ฐฑ์ (Update) ๋ฑ์ ๋ณํ๋ฅผ ์ฃผ์ด ์ ํํ ๋ฐ์ดํฐ๋ฅผ ์ ์งํด์ผ ํ๋ค.
3. ๋์ ๊ณต์ฉ(Concurrent sharing) : ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ค์์ ์ฌ์ฉ์๊ฐ ๋์์ ๊ฐ์ ์ํ๋ ๋ฐ์ดํฐ์ ์ ๊ทผํ์ฌ ์ด์ฉํ ์ ์์ด์ผ ํ๋ค
4. ๋ด์ฉ์ ์ํ ์ฐธ์กฐ(Contents reference) : ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ๊ฒฝ์์ ๋ฐ์ดํฐ์ ์ฐธ์กฐ๋ ๋ ์ฝ๋์ ์ฃผ์๋ ์์น์ ์ํด์๊ฐ ์๋๋ผ ์ฌ์ฉ์๊ฐ ์๊ตฌํ๋ ๋ฐ์ดํฐ์ ๋ด์ฉ, ์ฆ ๋ฐ์ดํฐ๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ฐ์ ๋ฐ๋ผ ์ฐธ์กฐ๋๋ค
SQL ์ฌ์ฉ์ ์ํด ํ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฉ์ด
1. ํ ์ด๋ธ : ํ ์ด๋ธ์ ๊ตฌ์กฐํ๋ ์์ ์คํ๋ ๋์ํธ์ ๊ฐ๋ค
(ํ ์ด๋ธ์ ํน์ ํ ์ข ๋ฅ์ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐ์ ๋ชฉ๋ก์ผ๋ก ๋ฌถ์ ๊ฒ์ด๋ค)

์์ ์ฌ์ง์ ํ ์ด๋ธ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค
=> ํ ์ด๋ธ ์ด๋ฆ์ ์ค์ ํด์ค ์ ์๊ณ ํ ์ด๋ธ ์ด๋ฆ์ ๊ณ ์ ํด์ผ ํ๋ค
(๋์ผํ ๋ ๊ฐ์ ํ ์ด๋ธ ์ด๋ฆ์ ํ๋ฝ๋์ง ์์)
2. ์คํค๋ง(Schema) : ํ ์ด๋ธ์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ๋ฐฉ์์ ์ ์ํ ์ ์๋ค
(์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ด๋ค ํ์์ผ๋ก ์ง์ ํ ์ง ์ ์)
=> ์คํค๋ง๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์กด์ฌํ๋ ์๋ฃ์ ๊ตฌ์กฐ ๋ฐ ๋ด์ฉ๊ณผ ์๋ฃ๋ค์ ๋ ผ๋ฆฌ์ , ๋ฌผ๋ฆฌ์ ํน์ฑ์ ๋ํ ์ ๋ณด๋ฅผ ํํํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ์ง์นญํ๋ค
3. ์ด(Column) : ํ ์ด๋ธ์ ๊ตฌ์ฑํ๋ ๊ฐ๊ฐ์ ์ ๋ณด๋ฅผ ๋งํ๋ค
์์ ํ ์ด๋ธ ์ฌ์ง์ ์๋ก ๋ค๋ฉด 'id' ์ 'created_at' , 'user_id', 'title' ๋ฑ์ด ์ด์ด๊ณ , ๊ฐ๊ฐ์ ๋ณ์๋ ํน์ ํ ์ ๋ณด๋ฅผ ํฌํจํ๊ณ ์๋ค
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ ์ด์๋ ๊ณ ์ ํ ๋ฐ์ดํฐ ํ์์ด ์ง์ ๋๋๋ฐ
=> ์ ์ ๋ฐ์ดํฐ, ๋ฌธ์ ๋ฐ์ดํฐ, ํตํ ๋ฐ์ดํฐ, ๋ ์ง ๋ฐ ์๊ฐ ๋ฐ์ดํฐ ๋ฑ์ผ๋ก ์ง์ ํ ์ ์๋ค
(๋ฐ์ดํฐ ํ์์ ์ง์ ํ๋ค๋ ๊ฒ์ ์ด์ ์ ์ฅํ ์ ์๋ ๋ฐ์ดํฐ์ ์ข ๋ฅ๋ฅผ ํน์ ํ ํ์์ผ๋ก ์ ํํ๋ค๋ ์๋ฏธ)
4. ํ(Row) : ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ ํ์ ์ ์ฅ๋๋ค
์์ ํ ์ด๋ธ ์ฌ์ง์ ์์๋ก 2๊ฐ์ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์์ผ๋ฏ๋ก ์ด ํ ์ด๋ธ์ ํ์ 2๊ฐ์ด๋ค
(ํ ์ด๋ธ์ 'ํ'์ ๊ฐ์ ์๋ฏธ๋ก '๋ ์ฝ๋'๋ผ๊ณ ํํํ๊ธฐ๋ ํ๋ค)
5. ๊ธฐ๋ณธ ํค(Primary key) : ํ ์ด๋ธ์๋ ๊ฐ ํ์ ๊ณ ์ ํ๊ฒ ํ๋ ์ด์ด ์กด์ฌํ๋ค (์ด๋ฅผ ๊ธฐ๋ณธ ํค๋ผ๊ณ ํจ)
์๋ฅผ ๋ค์ด ์์ ํ ์ด๋ธ ์ฌ์ง์์๋ ๊ฐ ํ์ ๊ณ ์ ํ๊ฒ ํ๋ ํค(key)๊ฐ์ 'id'์ด๋ค
=> ๊ธฐ๋ณธ ํค๋ ํ ์ด๋ธ ์์ฑ ์ ๋ฐ๋์ ํ์ํ๋ค
(๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ด ๋ฐ ๊ด๋ฆฌ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ต์ ํ ๋ฑ์ ์ํด ๊ฐ ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค๋ฅผ ์ค์ ํด์ผ ํ๋ ๊ฒ์)
SQL์ด๋?
SQL์ ๊ฐ์
SQL์ Structured Query Language์ ์ฝ์๋ก, ์ฌ์ฉ์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ๊ฐ์ ์์ฌ์ํต์ ์ํด ํน๋ณํ ๊ณ ์๋ ์ธ์ด์ด๋ค
SQL์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชจ๋ธ์ ๊ท์น์ ๋ฐ๋ผ ์ ์๋์ด ์๊ธฐ ๋๋ฌธ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธ์ด๋ผ๊ณ ๋ ํ ์ ์๋ค!
SQL์ ์ฅ์ ์ ์์ด ๋ฌธ์ฅ๊ณผ ์ ์ฌํ๊ณ ๋ช ๊ฐ์ ๋จ์ด๋ก ๊ตฌ์ฑ๋์ด ์์ด ๋ฐฐ์ฐ๊ธฐ๊ฐ ์ฝ๊ณ
(SQL์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฑฐ๋ ์ฐ๊ณ , ์์ ํ๊ธฐ ์ํ ๋ถ๋ช ํ ์ฉ๋๋ก ๋ง๋ค์ด์ก๊ธฐ ๋๋ฌธ)
๋๋ถ๋ถ์ DBMS๊ฐ SLQ์ ์ง์ํ๋ฏ๋ก ํ ์ธ์ด๋ฅผ ๋ฐฐ์์ ๋ค์ํ DBMS์์ ํ์ฉํ ์ ์๋ค
SQL์ ์ข ๋ฅ
SQL์ ๊ตฌ์กฐํ๋ ์ง์ ์ธ์ด์ด๋ค.
=> ์ด๋ ๋ฐ์ดํฐ ์ ์์ด(DDL), ๋ฐ์ดํฐ ์กฐ์์ด(DML), ๋ฐ์ดํฐ ์ ์ด์ด(DCL) ๋ฑ์ผ๋ก ๊ตฌ๋ถ๋๋ค
1. ๋ฐ์ดํฐ ์ ์์ด (DDL : Data Definition Language) : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ณต๊ฐ๊ณผ ํ์์ ์ ์ํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ ๊ณจ์กฐ๊ฐ ๊ฐ์ถฐ์ง๋ค
๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋ ๊ณต๊ฐ์ด 'ํ ์ด๋ธ'์ด๊ณ , ์ด ํ ์ด๋ธ ํ์์ด '์คํค๋ง'๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค
=> ์ฆ, DDL์ ๋ฐ์ดํฐ์ ๊ทธ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๋ ์ธ์ด์ด๋ค
- CREATE : ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ ์์ฑ
- DROP : ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ ์ญ์
- ALTER : ๊ธฐ์กด ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ ์ฌ์ ์
2. ๋ฐ์ดํฐ ์กฐ์์ด (DML : Data Manipulation Language) : DDL๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๊ณต๊ฐ(ํ ์ด๋ธ)๊ณผ ํ์(์คํค๋ง)์ ๋ง๋ค์์ผ๋ฉด ๊ทธ ๊ณต๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ, ์์ , ์ญ์ , ์กฐํํ๋ ๊ฒ์ ๋ฐ์ดํฐ ์กฐ์์ด(DML)๋ก ๊ฐ๋ฅํ๋ค
=> ์ฆ, DML์ ๋ฐ์ดํฐ ๊ฒ์๊ณผ ์์ ๋ฑ์ ์ฒ๋ฆฌ๋ฅผ ์ํ ์ธ์ด์ด๋ค
- INSERT : ํ ์ด๋ธ์ ๋ฐ์ดํฐ ์ฝ์ /์ ๋ ฅ
- DELETE : ํ ์ด๋ธ์ ๋ฐ์ดํฐ ์ญ์
- UPDATE : ๊ธฐ์กด ํ ์ด๋ธ ์์ ๋ฐ์ดํฐ ์์
- SELECT : ํ ์ด๋ธ ๋ด ๋ฐ์ดํฐ ๊ฒ์
3. ๋ฐ์ดํฐ ์ ์ด์ด (DCL : Data Control Language) : ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์์ ๊ถํ ์ ์ด๋ฅผ ์ํด ์ฌ์ฉ๋๋ ์ธ์ด์ด๋ค
- GRANT : ํ ์ด๋ธ์ ๊ถํ ๋ถ์ฌ
- REVOKE : ๋ถ์ฌํ ๊ถํ ์ทจ์/ํ์
'๐ซง Database > SQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ ์คํธ ๋ง์ด๋์ ํ์ฉํ ๋ฐ์ดํฐ ์กฐ๊ฑด ์ฃผ๊ธฐ (1) | 2024.02.26 |
---|---|
๋ ผ๋ฆฌ์ฐ์ฐ์๋ฅผ ํ์ฉํ ๋ฐ์ดํฐ ์กฐ๊ฑด ์ฃผ๊ธฐ (0) | 2024.02.25 |
WHERE ์กฐ๊ฑด์ ์ ํ์ฉํ ๋ฐ์ดํฐ ์กฐ๊ฑด ์ฃผ๊ธฐ (0) | 2024.02.22 |
SELECT๋ฌธ์ ์ถ๊ฐ์ ์ผ๋ก ํ์ํ ํค์๋ (0) | 2024.02.22 |
SQL์ ๊ธฐ์ด (0) | 2024.02.21 |