230508 DBMS
โถ๏ธDBMS
-๋ฐ์ดํฐ ๋ฒ ์ด์ค ๊ตฌ์ถ ์ ์ฐจ
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ง๋ค๊ธฐ→ ํ ์ด๋ธ ๋ง๋ค๊ธฐ→ ๋ฐ์ดํฐ ์ ๋ ฅ, ์์ , ์ญ์ ํ๊ธฐ→๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ณ ํ์ฉํ๊ธฐ
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ณต๊ฐ
๊ฐ์ฅ ๋จผ์ ๋ฐ์ดํฐ ๋ฒ ์ด์ค๋ฅผ ์ค๋นํ๊ณ , ๊ทธ ์์ ํ ์ด๋ธ์ ์์ฑํด์ผ ํ๋ค.
๋ฐ์ดํฐ๋ฅผ ์ด๋ค ๋ฐฉ๋ฒ์ผ๋ก ์ ์ฅํ๋ฉด ์ข์๊น?
์ฌ๋ฌ ๊ฐ์ง ์ด๋ก ์ด ์ ์ →๋ฐ์ดํฐ ๋ชจ๋ธ
์ข ๋ฅ : ๊ณ์ธตํ, ๋งํ, ๊ด๊ณํ, ๊ฐ์ฒด๊ด๊ณํ ๋ฑ (=> ๊ด๊ณํ ๋ฐ์ดํฐ ๋ฒ ์ด์ค๊ฐ ๊ฐ์ฅ ๋ง์ด ์ด์ฉ๋จ)
โถ๏ธRDBMS(๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ )
- ๋ฐ์ดํฐ๊ฐ ํ ์ด๋ธ์ ์ ์ฅ(์ต์ ๋จ์)
- ํ ์ด๋ธ์ ํ๋ ์ด์์ ์ด๊ณผ ํ์ผ๋ก ์ด๋ฃจ์ด์ง
โถ๏ธroot ๊ณ์
๋ชจ๋ ๊ถํ์ ๊ฐ์ง๊ณ ์๋ ๊ด๋ฆฌ์์ ์ด๋ฆ root
root ๊ณ์ ์ ๋น๋ฐ๋ฒํธ๊ฐ ์ ์ถ์ ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์ ์ถ๋จ
โถ๏ธ์ค์น ํ ํด๋
bin(์ค์): MySQL์ ์๋ฒ ํ๋ก๊ทธ๋จ,ํด๋ผ์ด์ธํธ ํ๋ก๊ทธ๋จ ๋ฐ ์ ํธ๋ฆฌํฐ ํ๋ก๊ทธ๋จ ํ์ผ
docs: ๋์๋ง ๋๋ ์ค์ ํ์ผ
etc: ์ค์ ํ์ผ ์ํ
include: ์์ฉํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ ๋ ํ์ํ ํค๋ ํ์ผ๋ค
lib: MySQL๊ณผ ๊ด๋ จ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ผ
share: ๊ธฐํ์ง์ํ์ผ ๊ฐ์ธ์ด ๋ณ ์ค๋ฅ ๋ฉ์์ง ํ์ผ ๋ฑ
โถ๏ธMySQL๊ณผ workbench์ ๊ด๊ณ
MySQL ์๋ฒ๋ฅผ ์ค์น
์๋ฒ๋ ์๋ ์ค์ธ๋ฐ ์ฐ๋ฆฌ ๋์ ์๋ณด์
์๋ฒ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ์๋ฒ์ ์ ์/์ฐ๊ฒฐ ํด์ผ๋จ→์ ์ํ๊ธฐ ์ํด ๋์์ฃผ๋ ๋๊ตฌ๊ฐ "workbench"
โถ๏ธ์คํ ๋ฆฌ์ง ์์ง
์คํ ๋ฆฌ์ง ์์ง: DBMS์ ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ , ์์ , ์ญ์ , ์กฐํํ๋๋ฐ ์ฌ์ฉํ๋
๊ธฐ๋ณธ ์ํํธ์จ์ด ์ฝคํฌ๋ํธ์ด๋ค.
ํ ์ข ๋ฅ์ DBMS์ ์ฌ๋ฌ ์คํ ๋ฆฌ์ง ์์ง์ด ์กด์ฌ ํ ์ ์๋ค.
์คํ ๋ฆฌ์ง ์์ง EX) MyISAM → MySQL์ 5.5๋ฒ์ ์ด์ ๊น์ง ๊ธฐ๋ณธ ์คํ ๋ฆฌ์ง ์์ง
Inno DB → 5.5๋ฒ์ ์ดํ๋ถํฐ ๊ธฐ๋ณธ ์คํ ๋ฆฌ์ง ์์งโโ
Maria
โถ๏ธSQL(Structure Query Language)
๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ๋ํํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ์ธ์ด
SQL์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํต์ ํ๋ ์ธ์ด
์ด๋ป๊ฒ ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ๋ํํ๋์ง ์์์ผ ํจ
โถ๏ธSQL ํ์ค
ํน์ ํ์ฌ์์ ๋ง๋๋ ๊ฒ์ด ์๋ "๊ตญ์ ํ์คํ๊ธฐ๊ตฌ"์์ sql์ ๋ํ ํ์ค์ ์ ํด ๋ฐํ
๋จ, DBMS๋ฅผ ๋ง๋๋ ํ์ฌ๊ฐ ๋ค์ํ๊ธฐ ๋๋ฌธ์ ์ ํ์ค์ ์ ๋ถ ์งํฌ ์ ์์
์ต๋ํ ํ์ค sql์ ์ค์ ํ๋ฉด์ ํ์ฌ๋ณ ํน์ฑ์ ๋ฐ์ํ sql์ ์ฌ์ฉํ๋ค.
-MySQL : SQL
-Oracle : PL/SQL
-MS-SQL Server : T-SQL
โถ๏ธSQL ์ฉ์ด
1. ๋๋ฉ์ธ: ํ๋์ ์ดํธ๋ฆฌ๋ทฐํธ๊ฐ ๊ฐ์ง ์ ์๋ ๊ฐ์ ํ์ ์ ์์๊ฐ๋ค์ ์งํฉ. ์ด์ ๊ตฌ์ฑํ๋ (=์ดํธ๋ฆฌ๋ทฐํธ Attribute)
ex) ์ฑ๋ณ์ด๋ผ๋ ์ดํธ๋ฆฌ๋ทฐํธ(์์ฑ)-> ๋จ/์ฌ ๋๊ฐ์ ์์ฑ๋ง ๊ฐ์ง ์ ์์
2. ํํ: row ํ๋๊ฐ ๋ฐ์ดํฐ ํ๋, ํ์ ํํ์ด๋ผ๊ณ ํจ
3. ์นด๋๋๋ฆฌํฐ(cardinality) : ํํ์ ์๋ฅผ ์นด๋๋๋ฆฌํฐ, ๋๋ ๊ธฐ์
4. ๋ฆด๋ ์ด์ ์คํค๋ง์ ์ธ์คํด์ค
- ๋ฆด๋ ์ด์ : ํ ์ด๋ธ์ ์๋ฏธ
- ์คํค๋ง : RDBMS์ ๋ฆด๋ ์ด์ ์ด ์ด๋ป๊ฒ ๊ตฌ์ฑ๋๋์ง, ์ด๋ค ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋์ง ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ ์ ์
ํ ์ด๋ธ์์ ์คํค๋ง๋ ํ ์ด๋ธ์ ์ฒซ ํ(Header)์ ๋ํ๋๋ฉฐ, ์์ฑ๊ณผ ์๋ฃํ์ ์ ๋ํ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
- ์ธ์คํด์ค : ์ ์๋ ์คํค๋ง์ ๋ฐ๋ผ ํ ์ด๋ธ์ ์ค์ ๋ก ์ ์ฅ๋๋ ๋ฐ์ดํฐ์ ์งํฉ
โถ๏ธSQL ๋ถ๋ฅ
1. DDL : ๊ด๋ฆฌ์ ์ค๊ณ์๊ฐ ์ฌ์ฉํ๋์ธ์ด.
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์ถํ๊ฑฐ๋ ์์ ํ๋ ๋ชฉ์ , ํ ์ด๋ธ์ด๋ ๊ด๊ณ์ ๊ตฌ์กฐ๋ฅผ ์์ฑํ๋๋ฐ ์ฌ์ฉ
CREATE ,ALTER, DROP
2. DML(์กฐ์์ด): ๋ฐ์ดํฐ๋ฅผ ์ค์ง์ ์ผ๋ก ์ฒ๋ฆฌํ๋๋ฐ ์ฌ์ฉํ๋ ์ธ์ด, ํ ์ด๋ธ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์, ์ฝ์ , ์์ , ์ญ์ ํ๋๋ฐ ์ฌ์ฉ
SELECT, UPDATE,DELETE,INSERTโ โ
3. DCL(์ ์ด์ด): ๋ฐ์ดํฐ์ ์ฌ์ฉ ๊ถํ์ ๊ด๋ฆฌํ๋๋ฐ ์ฌ์ฉ
โถ๏ธSQL ์์ฑ ์ ์ฃผ์ ํ ์
1. ๊ฐ๋ ์ฑ์ ์ํด ๋ค์ฌ์ฐ๊ธฐ ๋ฐ๋์ ์ค์
2. ์์ฑ ํ ์ธ๋ฏธ์ฝ๋ก ๋ฐ๋์ ์์ฑ