์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์ถ•

| 2020 ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ (ํ•„๊ธฐ) | 3. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์ถ• - SQL ํ™œ์šฉ

ํ•œ์ฝ”๋”ฉ 2020. 8. 14. 10:22
728x90
728x90
108. ํ”„๋กœ์‹œ์ €(Procedure) / ์šฉ์–ด์ •๋ฆฌ, ์ •์˜

 

ํ”„๋กœ์‹œ์ € (Procedure)

์ ˆ์ฐจํ˜• SQL์„ ํ™œ์šฉํ•˜์—ฌ ํŠน์ • ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ผ์ข…์˜ ํŠธ๋žœ์žญ์…˜ ์–ธ์–ด

์ ˆ์ฐจํ˜• SQL : C, JAVA๋“ฑ์˜ ์–ธ์–ด์™€ ๊ฐ™์ด ์—ฐ์†์ ์ธ ์‹คํ–‰์ด๋‚˜ ๋ถ„๊ธฐ, ๋ฐ˜๋ณต ๋“ฑ์˜ ์ œ์–ด๊ฐ€ ๊ฐ€๋Šฅํ•œ SQL  

- ์ผ์ผ ๋งˆ๊ฐ ์ž‘์—…, ์ผ๊ด„ ์ž‘์—… ๋“ฑ์— ์ฃผ๋กœ ์‚ฌ์šฉ

- ์—ฌ๋Ÿฌ ํ”„๋กœ๊ทธ๋žจ์—์„œ ํ˜ธ์ถœํ•˜์—ฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

- DB์— ์ €์žฅ๋˜์–ด ์ˆ˜ํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— ์Šคํ† ์–ด๋“œ ํ”„๋กœ์‹œ์ €๋ผ๊ณ ๋„ ๋ถˆ๋ฆผ

 

109. ํŠธ๋ฆฌ๊ฑฐ(Trigger) / ์šฉ์–ด์ •๋ฆฌ, ์ •์˜

 

ํŠธ๋ฆฌ๊ฑฐ (Trigger)

DB ์‹œ์Šคํ…œ์—์„œ ๋ฐ์ดํ„ฐ์˜ ์‚ฝ์ž…, ๊ฐฑ์‹ , ์‚ญ์ œ ๋“ฑ์˜ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ๋งˆ๋‹ค ๊ด€๋ จ ์ž‘์—…์ด ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰๋˜๋Š” ์ ˆ์ฐจํ˜• SQL

- ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ, ๋ฌด๊ฒฐ์„ฑ ์œ ์ง€, ๋กœ๊ทธ ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ ๋“ฑ์˜ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ

- ํŠธ๋ฆฌ๊ฑฐ ๊ตฌ๋ฌธ์—๋Š” DCL์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ

 

 

110. ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜ / ์šฉ์–ด์ •๋ฆฌ, ์ •์˜

 

์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜

SQL์„ ์‚ฌ์šฉํ•˜๋ฉฐ ์ผ๋ จ์˜ ์ž‘์—…์„ ์—ฐ์†์ ์œผ๋กœ ์ฒ˜๋ฆฌ, ์ข…๋ฃŒ ์‹œ ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋‹จ์ผ๊ฐ’์œผ๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ ˆ์ฐจํ˜• SQL

- RETURN์„ ํ†ตํ•ด ๊ฐ’์„ ๋ฐ˜ํ™˜, ์ถœ๋ ฅ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์—†์Œ

- ํ”„๋กœ์‹œ์ € ํ˜ธ์ถœ ๋ถˆ๊ฐ€

- INSERT, DELETE, UPDATE๋ฅผ ํ†ตํ•œ ํ…Œ์ด๋ธ” ์กฐ์ž‘ ๋ถˆ๊ฐ€, SELECT๋ฅผ ํ†ตํ•œ ์กฐํšŒ๋งŒ ๊ฐ€๋Šฅ

- SUM( ), AVG( ) ๋“ฑ์˜ ํ•จ์ˆ˜์ฒ˜๋Ÿผ DML๋ฌธ์—์„œ ๋ฐ˜ํ™˜๊ฐ’์„ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„๋กœ ์‚ฌ์šฉ

 

ํ”„๋กœ์‹œ์ € vs ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜

๊ตฌ๋ถ„

ํ”„๋กœ์‹œ์ €

์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜ 

๋ฐ˜ํ™˜๊ฐ’

์—†๊ฑฐ๋‚˜ 1๊ฐœ ์ด์ƒ ๊ฐ€๋Šฅ

1๊ฐœ

ํŒŒ๋ผ๋ฏธํ„ฐ

์ž…, ์ถœ๋ ฅ ๊ฐ€๋Šฅ

์ž…๋ ฅ๋งŒ ๊ฐ€๋Šฅ 

์‚ฌ์šฉ ๊ฐ€๋Šฅ ๋ช…๋ น๋ฌธ

DML, DCL

SELECT 

 ํ˜ธ์ถœ

ํ”„๋กœ์‹œ์ €, ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜ 

์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜ 

 ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

์‹คํ–‰๋ฌธ 

DML์— ํฌํ•จ 

 

111. DBMS ์ ‘์† ๊ธฐ์ˆ 

 

DBMS ์ ‘์†

์‚ฌ์šฉ์ž๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์‘์šฉ ์‹œ์Šคํ…œ์„ ์ด์šฉํ•˜์—ฌ DBMS ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ

 

์›น ์‘์šฉ ์‹œ์Šคํ…œ์˜ ๊ตฌ์กฐ

 

DBMS ์ ‘์† ๊ธฐ์ˆ 

1. JDBC(Java DataBase Connectivity)

Java์™€ DB๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” API

- ์ฌ ๋งˆ์ดํฌ๋กœ์‹œ์Šคํ…œ์—์„œ ์ถœ์‹œ

- Java SE์— ํฌํ•จ๋˜์–ด ์žˆ์Œ, ํด๋ž˜์Šค๋Š” java.sql, javax.sql์— ํฌํ•จ

- DBMS์— ๋Œ€ํ•œ ๋“œ๋ผ์ด๋ฒ„ ํ•„์š”

 

2. ODBC(Open DataBase Connectivity) 

DB์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ํ‘œ์ค€ ๊ฐœ๋ฐฉํ˜• API, ๊ฐœ๋ฐœ ์–ธ์–ด์— ๊ด€๊ณ„์—†์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅ

- ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์—์„œ ์ถœ์‹œ

 

3. MyBatis 

JDBC ์ฝ”๋“œ๋ฅผ ๋‹จ์ˆœํ™”ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” SQL Mapping ๊ธฐ๋ฐ˜ ์˜คํ”ˆ ์†Œ์Šค ์ ‘์† ํ”„๋ ˆ์ž„์›Œํฌ

 

๋””๋ฒ„๊น… : ์˜ค๋ฅ˜๋ฅผ ์žก๊ธฐ ์œ„ํ•ด ํ•œ์ค„ ํ•œ์ค„ ๊ฒ€์‚ฌํ•˜๋Š” ์ž‘์—…

TCL : ํŠธ๋žœ์žญ์…˜์„ ์ œ์–ดํ•˜๋Š” COMMIT, ROLLBACK, SAVEPOINT ๋ช…๋ น์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ์šฉ์–ด

 

 

113. ORM(Object-Relational Mapping)

 

ORM (Object-Relational Mapping)

๊ฐ์ฒด์™€ ๊ด€๊ณ„ํ˜• DB์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๊ธฐ์ˆ 

- ์žฌ์‚ฌ์šฉ ๋ฐ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์šฉ์ด

 

ORM ํ”„๋ ˆ์ž„์›Œํฌ

- JAVA : JPA, Hibernate, EclipseLink ๋“ฑ

- C ++ : ODB, QxORM ๋“ฑ

- Python : Django, SQLAlchemy, Storm ๋“ฑ

- IOS : DatabaseObjects, Core Data ๋“ฑ

- PHP : Doctrine, Propel ๋“ฑ

728x90
๋ฐ˜์‘ํ˜•