๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
TIL๐Ÿ”ฅ/๋ฉ‹์Ÿ์ด์‚ฌ์ž์ฒ˜๋Ÿผ_AI School 5๊ธฐ

[๋ฉ‹์‚ฌ] AI SCHOOL 5๊ธฐ_ Day 25

by hk713 2022. 4. 7.

DBMS

์†Œํ”„ํŠธ์›จ์–ด๋‹ค! ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž์ฒด๋ฅผ ์ผ์ข…์˜ ํŒŒ์ผ๋กœ ์ƒ๊ฐํ•œ๋‹ค๋ฉด..

๊ทธ ํŒŒ์ผ์— ์–ด๋–ค ํ˜•์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์„๊ฑฐ๋ƒ์— ๋”ฐ๋ผ ๊ณ„์ธตํ˜•, ๋„คํŠธ์›Œํฌํ˜•, ๊ด€๊ณ„ํ˜•, ๊ฐ์ฒดํ˜• ๋“ฑ์œผ๋กœ ๋‚˜๋ˆ ์ง„๋‹ค.

๊ทผ๋ฐ ๊ฐ์ฒดํ˜•์„ ๋ฉ”์ธ์œผ๋กœ ์“ฐ๋Š” ๊ฒฝ์šฐ๋Š” ๊ฑฐ์˜ ์—†๋‹ค.

ํ˜„์žฌ๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋‹ค๋ฃจ๋Š” RDBMS๊ฐ€ ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค.

๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์•„๋‹Œ ๊ฒƒ๋“ค์€ NoSQL(Not only SQL)์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

 

๋ฐ์ดํ„ฐ๋ชจ๋ธ๋ง

๋ฐ์ดํ„ฐ๋ชจ๋ธ๋ง์€ ํ˜„์‹ค ์„ธ๊ณ„์— ์กด์žฌํ•˜๋Š” ์ •๋ณด๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์˜ฎ๊ฒจ๋‚ด๋Š” ์ ˆ์ฐจ๋ฅผ ๋งํ•˜๋ฉฐ, ํฌ๊ฒŒ 3๋‹จ๊ณ„๋กœ ๋‚˜๋‰œ๋‹ค.

 

(1) ๊ฐœ๋…์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง

ERD(E-R ๋‹ค์ด์–ด๊ทธ๋žจ)๋ฅผ ๋งŒ๋“ ๋‹ค.

Entity๋Š” ์ €์žฅํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š” ์ค‘์š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง„ ์‚ฌ๋žŒ์ด๋‚˜ ์‚ฌ๋ฌผ ๊ฐœ๋… ๋“ฑ์„ ๋งํ•œ๋‹ค. ๋‚˜์ค‘์— Entity๋Š” ํ…Œ์ด๋ธ” ํ•˜๋‚˜๊ฐ€ ๋œ๋‹ค.

Attribute๋Š” ์˜๋ฏธ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ๊ฐ€์žฅ ์ž‘์€ ๋…ผ๋ฆฌ์  ๋‹จ์œ„๋ฅผ ๋งํ•œ๋‹ค. ๋‚˜์ค‘์— ํ…Œ์ด๋ธ”์˜ ์—ด ํ•˜๋‚˜๊ฐ€ ๋œ๋‹ค.

Relationship์€ ๊ฐœ์ฒด์™€ ๊ฐœ์ฒด ์‚ฌ์ด์˜ ์—ฐ๊ด€์„ฑ ๋ฐ ๊ฐœ์ฒด ์ง‘ํ•ฉ ์‚ฌ์ด์˜ ๋Œ€์‘๊ด€๊ณ„๋ฅผ ์˜๋ฏธํ•œ๋‹ค. Relationship๋„ ๋‚˜์ค‘์— ํ…Œ์ด๋ธ” ํ•˜๋‚˜๊ฐ€ ๋œ๋‹ค.

 

(2) ๋…ผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง

ERD๋ฅผ ํ† ๋Œ€๋กœ ๋…ผ๋ฆฌ์  ๊ตฌ์กฐ๋ฅผ Relation ๋ชจ๋ธ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๊ณผ์ •์ด๋‹ค.

์•„๋ž˜์˜ ํ‘œ ํ•˜๋‚˜๋ฅผ ๋ฆด๋ ˆ์ด์…˜์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋ฆด๋ ˆ์ด์…˜์€ ์ถ”์ƒ์ ์ธ ๊ฐœ๋…์ด๋‹ค. ์•„์ง ํ…Œ์ด๋ธ”์ด ์•„๋‹ˆ๋‹ค!! (์‹ค์ œ๋กœ ์ €์žฅ์ด ๋˜์–ด์•ผ ํ…Œ์ด๋ธ”)

์ถœ์ฒ˜_ http://www.jidum.com/jidums/view.do?jidumId=107

* ์ฐจ์ˆ˜(Degree) : ๋ฆด๋ ˆ์ด์…˜ ๋‚ด ์†์„ฑ(column)์˜ ์ด ๊ฐœ์ˆ˜

* ์นด๋””๋„๋ฆฌํ‹ฐ(Cardinaloty) : ๋ฆด๋ ˆ์ด์…˜ ๋‚ด ํŠœํ”Œ(row)์˜ ์ด ๊ฐœ์ˆ˜

 

(3) ๋ฌผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง

Relation ๋ชจ๋ธ์„ DBMS์˜ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ์‹ค์ œ ๋ฌผ๋ฆฌ ์ €์žฅ ์žฅ์น˜์— ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌผ๋ฆฌ์  ๊ตฌ์กฐ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ณผ์ •์ด๋‹ค.

 

SQL

๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ(RDBMS)์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌ & ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ์–ธ์–ด๋‹ค.

DBMS๋“ค์—์„œ ๊ฐ๊ธฐ ๋‹ค๋ฅธ SQL์„ ์‚ฌ์šฉํ•ด์„œ ๋ฏธ๊ตญ ํ‘œ์ค€ ํ˜‘ํšŒ(American National Standards Institute)์—์„œ ์ด๋ฅผ ํ‘œ์ค€ํ™”ํ•˜์—ฌ ํ‘œ์ค€ SQL๋ฌธ์„ ์ •๋ฆฝ ์‹œ์ผฐ๊ณ , ์ด๋ฅผ ANSI SQL ์ด๋ผ ํ•œ๋‹ค.

  • DDL : ๊ฐ ๋ฆด๋ ˆ์ด์…˜(DBํ…Œ์ด๋ธ”)์„ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ์–ธ์–ด
    • create, alter, drop
  • DML : ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ(๋ฐ์ดํ„ฐ์˜ CRUD)๋ฅผ ์œ„ํ•œ ์–ธ์–ด
    • select, insert, update, delete
  • DCL : ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ & ์‚ฌ์šฉ์ž๋ณ„ ๊ถŒํ•œ(๋ฆด๋ ˆ์ด์…˜ ๋ฐ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๊ด€๋ฆฌ/์ ‘๊ทผ)์„ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ์–ธ์–ด
    • grant, revoke

๋Œ“๊ธ€