1. Database(DB)
๐ก Data?
- ์ปดํจํฐ ์์ ๊ธฐ๋ก๋์ด ์๋ ์ซ์(0,1,0,1..)
- "์ ๋ฆฌ๋" ๋ฐ์ดํฐ๋ค์ ์งํฉ์
๋ฐ์ดํฐ๋ฒ ์ด์ค
๋ผ๊ณ ํจ
๐ก Web System ๋ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค
๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ , ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ์ ๋ ๊ทธ ๋ฐ์ดํฐ๋ง ์๋ตํด์ ๋ณด๋ด ์ค ์ ์๋ ์์คํ
์ ์๋ฏธํ๋ค. (์ ์ฅ์ ๋๋)
2. DBMS
Database Management System, DBMS
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ์ํํธ์จ์ด
์ ์ฅ์ฅ์น ๋ด ์ ์ฅ๋ ๋ฐ์ดํฐ ์งํฉ์ธ DB์๋ ๋ค๋ฅธ ๊ฐ๋
ํ๋์ ์ ์ฅ๋์ด์๋ DB๋ฅผ ๊บผ๋ด์์ฃผ๋ ์ญํ ์ ํ๋ ์ํํธ์จ์ด~
๐ก Database์ DBMS๋ฅผ ์ฌ์ฉํ๋ ์ด์
1. ๋ฐ์ดํฐ ๋ณด์กด
ํ๋ก๊ทธ๋จ ์คํ์ ๋ฉ๋ชจ๋ฆฌ๋ก ์ฌ๋ผ๊ฐ๋๋ฐ, ๋ฉ๋ชจ๋ฆฌ๋ ์ผ์์ ์ธ ์ ์ฅ์์ด๋ค.
์ ์ ON/OFFํ๋ฉด ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ ธ ๋ฒ๋ฆฐ๋ค.(ํ๋ฐ์ฑ)
๋ฐ๋ผ์ DB์ ์ ์ฅํด์ ๋นํ๋ฐ์ฑ ๋ฉ๋ชจ๋ฆฌ๋ก ์ฌ์ฉํ๊ธฐ ์ํจ!
2. ์ฒด๊ณ์ ๊ด๋ฆฌ
๋ฐฉ๋ํ ์์ Data๋ฅผ ๊บผ๋ด์์ ๊ฐ๊ณตํ๊ธฐ ์ํด์ ์ ๋ฆฌํด๋๋ ๋ชฉ์ ์ด๋ค.
๋ฐ๋ผ์, ์ฌ์ฉ์์นํ์ ์ด๊ฒ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์ค๋ ์ฅ์ ์ด ์๋ค.
3. ์์ฐ์ฑ
๋ฐ์ดํฐ๋ฅผ ์ฝ๊ณ , ์ฐ๊ณ , ์ถ๊ฐ, ์ญ์ ํ๋ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํด์ค๋ค.
๋ฐ๋ผ์ ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ๊ธฐ๋ง ํ๋ฉด DB๋ฅผ ๊ด๋ฆฌํ๊ธฐ ํธํ๋ค.
๐
์์คํ
๊ฐ๋ฐ๊ณผ์ ์์์ ์์ฐ์ฑ ํฅ์
(Read, Create, Delete, Update)
- ๋ณต์์ ์ ์ ์์ฒญ ๋์
- ๋์ฉ๋ ๋ฐ์ดํฐ ์ ์ฅ
- ๊ณ ์ ๊ฒ์
- ๊ธฐ๋ฅ ํ์ฅ์ ์ ์ฐํจ
5. ์ ๋ขฐ์ฑ
ํ๋์จ์ด ์ฌ๋ฌ ๋๋ก ๊ตฌ์ฑํ์ฌ ์ ๋ขฐ์ฑ์ ๋์ด๋ ๋์์ ์ฑ๋ฅ ํฅ์ ๋๋ชจ
- ํ์ฅ์ฑ
- ๋ถํ ๋ถ์ฐ
- ๋ฐ์ดํฐ ์ถ์ถ
- ๋ฐ์ดํฐ ๋ฆฌ์คํ ์ด
=> ์์ฐ์ฑ ํฅ์๊ณผ ๊ธฐ๋ฅ์ฑ, ์ ๋ขฐ์ฑ ํ๋ณด์ ์๋ค.3. RDBMS
๊ด๊ณํ ๋ฐ์ดํฐ ๋ฒ ์ด์ค - ํ๊ณผ ์ด์ ๊ฐ์ง๊ณ ํ ํ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ํ๋ ํํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ํ ํ์ : 2์ฐจ์ ๋ฐ์ดํฐ(์์ ์ํธ)
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ ํ๋ฅผ ์ ์ฅํด์ ๊ฐ๊ฐ์ ํ ์ด๋ธ์ naming์ ํด์ ๊ด๋ฆฌํ๋ค.
- MySQL,Oracle
3-1.
1. ๋ชจ๋ ๋ฐ์ดํฐ๋ค์ 2์ฐจ์ ํ ์ด๋ธ๋ก ํํํ ์ ์๋ค.
๋ฐ์ดํฐ์ ์ข ๋ฅ์ ํ์ ์ ์ง์ ํ๊ณ ํ ์ด๋ธ์ ๋์ ํ๋ค. - Column(์ด) : ์ปฌ๋ผ์ ํ ์ด๋ธ์ ๊ฐ ํญ๋ชฉ์ ์๋ฏธ (ex. id, ์ฑ ์ ๋ชฉ, ์๊ฐ, ์ถํ์ฌ, ๊ฐ๊ฒฉ)
- Row(ํ): ๊ฐ ํญ๋ชฉ๋ค์ ์ค์ ๊ฐ
(ex. ๊ฐ๋งค๊ธฐ์ ๊ฟ, ๋ฆฌ์ฒ๋ ๋ฐํฌ, ๋๋ฌด์์์, 11,520)2. ํ ์ด๋ธ์ ๊ฐ ํ(row)๋ ๊ณ ์ ํค(Primary kEY)๊ฐ ์๋ค.
- ๊ฐ row๋ ์ค๋ณต๋์ง ์๋ ์ ์ผํ ๋ฐ์ดํฐ๋ก ๊ณ ์ ํ ๋ฒํธ๋ฅผ ๊ฐ์ง๊ณ ์์ด ๋ฐ์ดํฐ ์๋ณ์ ์ ์ฉํ๋ค.
3. ๊ฐ๊ฐ์ ํ ์ด๋ธ์ ์๋ก ์ํธ ๊ด๋ จ์ฑ์ ๊ฐ์ง๊ณ ์๋ก ์ฐ๊ฒฐ๋ ์ ์๋ค.
- "๊ด๊ณํ" ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ผ๋ ์๋ฏธ๋ DB๋ฅผ ๊ตฌ์ฑํ๊ณ ์๋ ํ ์ด๋ธ์ด ์๋ก ์ํธ๊ด๋ จ์ฑ์ ๊ฐ์ง๊ณ ์ฐ๊ฒฐ๋๋ค.
- ๊ฐ๊ฐ์ ํ
์ด๋ธ๋ค์ ์์ ํ ๋
๋ฆฝ์ ์ด์ง ์๊ณ ,
ํ ์ด๋ธ A์ ํ ์ด๋ธ B๊ฐ ์๋ก ์ฐ๊ด๋ ์ฌ์ด๋ผ๋ ๋ป
(๋ ๋ฆฝ์ ์ผ ์๋ ์์ : ํ์๊ฐ์ ์ ์ฑ๋ณ์ ๋ณด?)
3-2. ๊ด๊ณ์ ์ ํ
One to One
: ํ๋์ A(User) ํ
์ด๋ธ ๋ฐ์ดํฐ๋ ์ค๋ก์ง ํ๋์ B ํ
์ด๋ธ ๋ฐ์ดํฐ(Identification num)์ ์ฐ๊ฒฐ
primary key : user-id
foreign key(์ฐธ์กฐํค) : user-id
=> Identification numbers ํ
์ด๋ธ์ user-id ์ปฌ๋ผ์ Users ํ
์ด๋ธ์ id(pk)๋ฅผ ์ฐธ์กฐํ๋ค.
One to Many
: ํ๋์ A ํ
์ด๋ธ ๋ฐ์ดํฐ๋ B ํ
์ด๋ธ์ ์ฌ๋ฌ๋ฐ์ดํฐ์ ์ฐ๊ฒฐ
Petsํ
์ด๋ธ์ user-id ์ปฌ๋ผ์ Users ํ
์ด๋ธ์ id(pk)๋ฅผ ์ฐธ์กฐํ๋ค.
Many to Many
: ํ๋์ A ํ
์ด๋ธ ๋ฐ์ดํฐ๋ B ํ
์ด๋ธ์ ์ฌ๋ฌ ๋ฐ์ดํฐ์ ์ฐ๊ฒฐ
๐ ํ ์ปฌ๋ผ์๋ ํ๋์ ๊ฐ๋ง ๋ค์ด๊ฐ์ผ ํ๋ค.
๋ฐ๋ผ์, ์๋์ ๊ฐ์ด ํ
์ด๋ธ์ ๋ณ๊ฒฝํด๋ณด์
โ ๋ฌธ์ ์ ์ด ๋ฐ์ํ๋ค!!
๋ฐ์ดํฐ์ ์ค๋ณต : ์ ๋ขฐ์ฑ ์ ํ
์ด๋ฅผ ํด๊ฒฐํ๊ณ ์ ์ค๊ฐํ
์ด๋ธ์ด ๋์จ๋ค.
๐
- ํ์ปฌ๋ผ์ ํ ๋ฐ์ดํฐ ์กด์ฌ
- ์ค๋ณต๋์ง ์์
- ์ค๊ฐํ ์ด๋ธ๋ง์ผ๋ก๋ ๋ฐ์ดํฐ ์๋ณ์ด ๊ฐ๋ฅํ๋ค
- ํ ์ด๋ธ authors์ ํ ์ด๋ธ books๋ ์๋ก ๋ค๋๋ค ๊ด๊ณ์ด๋ค.
3-3. ACID
Atomicity(์์์ฑ)
Consistency(์ผ๊ด์ฑ)
Isolation(๊ณ ๋ฆฝ์ฑ)
Durability(์ง์์ฑ)
๐ํธ๋์ญ์ (Transaction)
- ACID๋ฅผ ๋ณด์ฅํ๋ฉด์ ์ผ๋ จ์ ์์ ์ด ํ๋์ ์์ ์ฒ๋ผ ์ทจ๊ธ๋์ด ๋ชจ๋ ์ฑ๊ณต OR ๋ชจ๋ ์คํจํ๋ ๊ฒ
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋(DOM) - 2ํ (0) | 2022.07.18 |
---|---|
๋(DOM) 1ํ (0) | 2022.07.18 |
๋ฆฌ๋ ์ค(Linux) & ํฐ๋ฏธ๋(Terminal) (0) | 2022.07.18 |
ํจ์ scope์ ๋ณ์์ ์ข ๋ฅ(var, let, const) (0) | 2022.07.18 |
๊ฐ๋ฐ์ ๋๊ตฌ (0) | 2022.07.18 |