goal
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ณธ์ง (Create(์์ฑ), Read(์ฝ๊ธฐ), Update(์์ ), Delete(์ญ์ ))
DATABASE (DB/๋ฐ์ดํฐ๋ฒ ์ด์ค) ๐ฏ๏ธ
DB์ ๋ณธ์ง
- ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ (์ฐ๋ฆฌ๊ฐ) ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ณณ์ด๋ค (์ฝ๊ฒ ํ์ผ์ st๋ฌธ์๋ฅผ ์ ์ฅํ๋ ๊ฒ์ ์๊ฐํด๋ณด์)
- file < spreadsheet < database (ํ์ผ๋ณด๋ค, ์์
๋ณด๋ค ํจ์ฌ๋ ์งํํ version)
- ์๋์ผ๋ก ๋ฐ์ดํฐ๋ฅผ crudํด์ "๊ตฌ์กฐํ" ํ๊ธฐ ์ํ ๋ชฉ์
CRUD
- Create / ์์ฑ (input)
- Read / ์ฝ๊ธฐ (output)
- Update / ์์ (input)
- Delete / ์ญ์ (input)
DB์ ํ์์ฑ
- ๋งค๋ฒ ์๋ฒ ์ปดํจํฐ์ in-memory ์ํ๋ก ์์ ์ ์๋ค. (๋๋ฉด ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ง๋ค..)
- in-memory : ์๋ฒ๊ฐ ์ผ์์ ๋์๋ง ๋ณ์์ ํ ๋น๋ ๊ฐ์ ํตํด ์ ์ฅํ๋ ๊ฒ์ ์๋ฏธ
- file I/O (input/output) : ํ์ผ๋ก ๊ฐ์ ธ์ค๋ฉด, ์ ์ฒด๋ฅผ ๊ฐ์ ธ์์ ํํฐ๋งํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ฉ๋์ด ๋งค์ฐ ์ปค์ง๋ค.
- etc
DB์ ์๋์์

- ์๋ ์์
- client : "๋จ์ ์ง์๋ค ๋ชฉ๋ก ๋ณด์ฌ์ค"
- server : clinet์ ์์ฒญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด์,
SELECT*FROM employee WHERE gender = 'M'
๊ณผ ๊ฐ์ 'query ๋ฌธ'์ database์ ๋ณด๋
- database : server๊ฐ ๋ณด๋ด์ค ์ฟผ๋ฆฌ๋ฌธ์ ํํฐ๋งํจ
- database : ๊ฒฐ๊ณผ๊ฐ์ server์ ๋ณด๋ (json, xml๋ฑ์ ํ์์ผ๋ก)
- server : ๋ฐ๋ก ๊ฐ๊ณตํ ํ์์์ด ๊ทธ๋๋ก client์ ๋ณด์ฌ์ค
์ค์ DB์ ์๊น์
DATABASE | SPREADSHEET |
---|
 |  |
- ํ
์ด๋ธ - Column & Row - ํํฐ๋ง : by Query
| - ์ํธ - Column & Row - ํํฐ๋ง |
query language example SELECT * FROM employee WHERE gender = M | |
DB์ ์ข
๋ฅ (2๊ฐ์ง)
Relational(๊ด๊ณํ)_SQL && Non-Relational(๋น๊ด๊ณํ)_NoSQL
(๊ฐ๊ฐ์ ์ข
๋ฅ๋ ์๋ ๋ญํน์ ์ฐธ๊ณ )
20210112 DB Ranking
-
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋์ ์์ ๋ฐ ์ฌ์ฉ๋ / ๋งค~์ฐ ์ญ์ฌ๊ฐ ๊ธธ๋ค
-
Oracle : ๊ด๊ณต์, ๊ธ์ต๊ถ, ๋๊ธฐ์
์์ ๋ง์ด ์ (๋น์)
-
MySQL : ๋ฌด๋ฃ / ์คํ์์ค / SNS๊ณผ ๊ฐ์ ์๋น์ค ๋ฑ
-
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ง์ง ์๋, noSQL ์ ํ๋ฆ์ด ๋๋ฅ

SQL (Structured Query Language) ๐ฏ๏ธ
-
๋ฐ์ดํฐ๋ฒ ์ด์ค(DB)์ ๋ํํ๊ธฐ ์ํด ๋์์ธ๋ query ์ธ์ด
-
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฉ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
-
SQL์ ์ฌ์ฉํด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ query๋ฅผ ๋ณด๋ด์ ์ํ๋ ๋ฐ์ดํฐ๋ง ์ถ์ถํด ๋ผ ์ ์๋ค. (query : ์ง์๋ฌธ)
-
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ SQL ์ธ์ด๋ก, ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ผ์์ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค๊ณ , ์๋ฃ๋ฅผ ์ถ๋ ฅํ๋ค.
-
๋ฐ์ดํฐ์ ๊ตฌ์กฐ๊ฐ ์๊ฒฉํ๋ค.
-
SQL์ ํ
์ด๋ธ์ด ์์ผ๋ฉฐ, ํ(row)๊ณผ ์ด(column)๋ก ์ด๋ฃจ์ด์ง๋ค.
- table : ์ผ๊ด์ ์ธ ํน์ง์ ๊ฐ์ง, ์ค๋ณต๋์ง ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ด๊ธฐ ์ํ ํ๋์ ๋ฐ์ดํฐ ์ง๋จ
- record : (=row) ์ฌ๋ฌ๊ฐ์ง ์์ฑ(attribute (= column))์ผ๋ก ์ด๋ฃจ์ด์ง
- table์์ ํน์ ํ record์ ๋ด์ฉ์ ์ฐพ๊ธฐ ์ํด์๋, "column"์ ๋ด์ฉ์ ๊ธฐ์ค์ผ๋ก ์ฐพ์ -> ์ด๋ record๋ฅผ ๊ตฌ๋ถํ๋ ๊ธฐ์ค์ด ๋๋ column์ "Primary key(๊ธฐ์คํค)"๋ผ๊ณ ํจ
- column์ ๊ธฐ์ค์ ํ์ ์ํค๋ ๊ฒ์ -> constraints(์ ์ฝ)์ด๋ผ๊ณ ํจ
- Primary key : ๋ค๋ฅธ record์ ์ค๋ณต๋ ์ ์์ / ๋น์ด์์ ์ ์์ (is not null) /
Schema ๐ฏ๏ธ
: ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฐ์ดํฐ๊ฐ ๊ตฌ์ฑ๋๋ ๋ฐฉ์๊ณผ ์๋ก ๋ค๋ฅธ entity(ํ
์ด๋ธ๋ก ํํ๋๋ ์ ์์ ๋จ์) ๊ฐ ์ ๊ด๊ณ์ ๋ํ ์ค๋ช
-
๋ฐ์ดํฐ๋ฅผ ์ ์ํ๋ ๋ฐฉ๋ฒ์ ํ์ํ ๋ด์ฉ (๋ฐ์ดํฐ๊ฐ ์ด๋ป๊ฒ ๋ณด์ฌ์ง ๊ฒ์ธ์ง)
-
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฒญ์ฌ์ง
-
fields ๋ค์ ํ๊ณผ ์ด๋ก ํํํ๋ฉด "์ด"์ ํด๋นํ๋ ๊ฒ๋ค

- entities : ํ
์ด๋ธ๋ก ํํ๋๋ ์ ์์ ๋จ์
- fields : Teachers์์ - Name, Department, Classes
Classes์์ - Name, Room NUmber, Teacher, Students ์ ๊ฐ์ด "์ด"์ ํด๋น๋๋ ๊ฒ๋ค
- record : Teachers์์ ๊ฐ fields์ ํด๋นํ๋ ์ ๋ณด(?)

-
1 : N (์ผ๋๋ค์ ๊ด๊ณ)

- ๊ฐ ํ
์ด๋ธ์๋ ๊ณ ์ ํ ID๋ผ๋ field๊ฐ ์๋๋ฐ, ์ด๋ ๊ฐ ํ
์ด๋ธ์ record ํ๋๋ฅผ ๊ฐ๋ฆฌํค๋ ์ซ์๋ก, ์๋์ ์ผ๋ก ๊ทธ ๊ฐ์ด ์ฆ๊ฐํจ / ID field๋ ํ
์ด๋ธ์ ๊ธฐ๋ณธํค(Primary key) ์ญํ ์ ํจ

- ๋ค๋ฅธ ํ
์ด๋ธ์์ ํ
์ด๋ธ์ ๊ธฐ๋ณธํค(primary key)๋ฅผ ์ฐธ์กฐํ ๋, ํด๋น ๊ฐ์ ์ธ๋ํค(Foreign key)๋ผ๊ณ ํจ / ์ ์์์์ ClassID๋ผ๋ field๋ Classes ํ
์ด๋ธ์์ ํน์ ๋ ์ฝ๋๋ฅผ ๊ณ ์ ํ๊ฒ ์๋ณํ๋ ์ธ๋ํค
- .
.
.
.
.
.
๋ค์... ์กด๋ ๋ชป์์๋ฃ๊ฒ ๋ค...