Notice
Recent Posts
Recent Comments
ยซ   2024/12   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
In Total
๊ด€๋ฆฌ ๋ฉ”๋‰ด

A Joyful AI Research Journey๐ŸŒณ๐Ÿ˜Š

[55] 230317 SQL Ch. 8 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„: 34๊ฐ• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„, 35๊ฐ• ์ •๊ทœํ™”, 36๊ฐ• ํŠธ๋žœ์žญ์…˜ [K-๋””์ง€ํ„ธ ํŠธ๋ ˆ์ด๋‹ 55์ผ] ๋ณธ๋ฌธ

๐ŸŒณBootcamp Revision 2023โœจ/Python, Flask, SQL

[55] 230317 SQL Ch. 8 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„: 34๊ฐ• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„, 35๊ฐ• ์ •๊ทœํ™”, 36๊ฐ• ํŠธ๋žœ์žญ์…˜ [K-๋””์ง€ํ„ธ ํŠธ๋ ˆ์ด๋‹ 55์ผ]

yjyuwisely 2023. 3. 17. 15:38

230317 Thu 55th class

Ch. 8 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„
์ง„๋„: p.  312 ~ (๊ต์žฌ: SQL ์ฒซ๊ฑธ์Œ, ์ €์ž: ์•„์‚ฌ์ด ์•„์ธ ์‹œ)
MySQL Workbench Manual: https://dev.mysql.com/doc/workbench/en/
MySQL ํŠœํ† ๋ฆฌ์–ผ: https://www.tutorialspoint.com/mysql/

SQLD ์š”์•ฝ pdf: https://yurimac.tistory.com/40
์ฑ… ์š”์•ฝ (9p) pdf: https://brunch.co.kr/@ydy702/10

 

SQL ์ฒซ๊ฑธ์Œ | ์•„์‚ฌ์ด ์•„์ธ ์‹œ - ๊ต๋ณด๋ฌธ๊ณ 

SQL ์ฒซ๊ฑธ์Œ | ์™•์ดˆ๋ณด๋ฅผ ์œ„ํ•œ ์ •๋ง ์‰ฌ์šด SQL ์ž…๋ฌธ์„œ๋ฅผ ๋งŒ๋‚˜๋ณด์ž!๋ณธ๊ฒฉ์ ์ธ ๋น…๋ฐ์ดํ„ฐ ์‹œ๋Œ€์— ์ ‘์–ด๋“ค๋ฉด์„œ ๊ธฐ์กด ๋Œ€๋น„ ๋” ํšจ์œจ์ ์ด๊ณ  ํญ๋„“์€ ๋ฐ์ดํ„ฐ ๋ถ„์„์„ ์œ„ํ•œ ์ˆ˜์š”๊ฐ€ ์ปค์งˆ ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€๋˜๋Š” ๊ฐ€์šด๋ฐ, SQ

product.kyobobook.co.kr

์˜ค๋Š˜ ๋ฐฐ์šด ๊ฒƒ ์ค‘ ๊ธฐ์–ตํ•  ๊ฒƒ์„ ์ •๋ฆฌํ–ˆ๋‹ค.


๋‹ค์‹œ ๊ธฐ์–ตํ•  ๊ฒƒ

๋ฐ์ดํ„ฐ ์œ ํ˜•

CHAR(s): ๊ณ ์ • ๊ธธ์ด ๋ฌธ์ž์—ด ์ •๋ณด, ์ตœ๋Œ€ ๊ธธ์ด๋งŒํผ ๊ณต๊ฐ„ ์ฑ„์›€ ‘AA’ = ‘AA ’
VARCHAR(s) : ๊ฐ€๋ณ€ ๊ธธ์ด ๋ฌธ์ž์—ด ์ •๋ณด, ํ• ๋‹น๋œ ๋ณ€์ˆ˜ ๊ฐ’์˜ ๋ฐ”์ดํŠธ๋งŒ ์ ์šฉ ‘AA’ != ‘AA’
NUMBER: ์ •์ˆ˜, ์‹ค์ˆ˜ ๋“ฑ ์ˆซ์ž ์ •๋ณด
DATE๋‚ ์งœ์™€ ์‹œ๊ฐ ์ •๋ณด

no a b newcol
1 10ABC 2014-01-01 NULL
2 20ABC 2014-01-02 NULL

2023.03.10 - [๐ŸŒณK-Digital Revision 2023โœจ/SQL, MariaDB] - [50] 230310 [K-๋””์ง€ํ„ธ ํŠธ๋ ˆ์ด๋‹ 50์ผ] SQL Ch. 6 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ SQL: 25๊ฐ• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ์ฒด, 26๊ฐ• ํ…Œ์ด๋ธ” ์ž‘์„ฑ, ์‚ญ์ œ, ๋ณ€๊ฒฝ, 27๊ฐ• ์ œ์•ฝ, 28๊ฐ• ์ธ๋ฑ์Šค ๊ตฌ์กฐ, 29๊ฐ• ์ธ๋ฑ์Šค ์ž‘์„ฑ๊ณผ ์‚ญ์ œ, 30๊ฐ• ๋ทฐ ์ž‘์„ฑ๊ณผ ์‚ญ์ œ


Ch. 8 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„

์ฑ…์˜ ๋ชฉ์ฐจ
__34๊ฐ•__๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„
1. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„
2. ER๋‹ค์ด์–ด๊ทธ๋žจ

__35๊ฐ•__์ •๊ทœํ™”
1. ์ •๊ทœํ™”
2. ์ œ1์ •๊ทœํ˜•
3. ์ œ2์ •๊ทœํ˜•
4. ์ œ3์ •๊ทœํ˜•
5. ์ •๊ทœํ™”์˜ ๋ชฉ์ 

__36๊ฐ•__ํŠธ๋žœ์žญ์…˜
1. ํŠธ๋žœ์žญ์…˜
2. ๋กค๋ฐฑ๊ณผ ์ปค๋ฐ‹
3. ํŠธ๋žœ์žญ์…˜ ์‚ฌ์šฉ๋ฒ•

34๊ฐ• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„

ํ…Œ์ด๋ธ” ID   ํ…Œ์ด๋ธ”๋ช…  
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ช…  
ํ•œ๊ธ€ ์นผ๋Ÿผ๋ช…
(๋…ผ๋ฆฌ๋ช…)
์˜๋ฌธ ์นผ๋Ÿผ๋ช…
(๋ฌผ๋ฆฌ๋ช…)
ํƒ€์ž… ๊ธธ์ด PK ๊ตฌ๋ถ„ Not Null ๊ตฌ๋ถ„ ์—ฐ๊ด€ํ…Œ์ด๋ธ”
(์™ธ๋ž˜ํ‚ค)
             
             
             
             

 An Entity Relationship Diagram(ERD)
: 1:1๊ด€๊ณ„, 1:๋‹ค ๊ด€๊ณ„์ธ์ง€ ์ด๋ฏธ์ง€ํ™”ํ•ด์„œ ๋ณด์—ฌ์ค€๋‹ค.

ERDํˆด
์ฐธ๊ณ : https://gitmind.com/kr/er-diagram-tool.html

ERD ๋ถ„์„์„ ํ•˜๋ฉด ์—…๋ฌด๊ฐ€ ๋ณด์ธ๋‹ค. 

์˜ˆ์‹œ)

- 1๋ช…์˜ ํšŒ์›(member)์ด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฒŒ์‹œ๊ธ€(board)์„ ์“ธ ์ˆ˜ ์žˆ๋‹ค.

- ํ•˜๋‚˜์˜ ๊ฒŒ์‹œ๊ธ€(board)์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋Œ“๊ธ€(reply)์„ ์“ธ ์ˆ˜ ์žˆ๋‹ค. 

์ฐธ๊ณ :

2023.03.17 - [๐ŸŒณK-Digital Revision 2023โœจ/SQL, MariaDB] - [54~55] 230316, 230317 [K-๋””์ง€ํ„ธ ํŠธ๋ ˆ์ด๋‹ 54~55์ผ] SQL ๋ฌธ์ œ ํ’€์ด (member, board ํ…Œ์ด๋ธ”)


34.1 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ค๊ณ„ํ•œ๋‹ค: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์Šคํ‚ค๋งˆ ๋‚ด์— ํ…Œ์ด๋ธ”, ์ธ๋ฑ์Šค, ๋ทฐ ๋“ฑ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ์ฒด๋ฅผ ์ •์˜ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„์˜ ์ฃผ๋œ ๋‚ด์šฉ: ํ…Œ์ด๋ธ”์˜ ์ด๋ฆ„์ด๋‚˜ ์—ด, ์ž๋ฃŒํ˜•์„ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

1) ๋…ผ๋ฆฌ๋ช…๊ณผ ๋ฌผ๋ฆฌ๋ช… 

Point: ๋ฌผ๋ฆฌ๋ช…์€ CREATE TABLE์— ์ง€์ •ํ•˜๋Š” ํ…Œ์ด๋ธ” ์ด๋ฆ„์ด๋‚˜ ์—ด ์ด๋ฆ„์ด๋‹ค. ex) 'item_master'
๋…ผ๋ฆฌ๋ช…์€ ์„ค๊ณ„์ƒ์˜ ์ด๋ฆ„์ด๋‹ค. ex) '์ƒํ’ˆ ๋งˆ์Šคํ„ฐ'

๋ฌผ๋ฆฌ๋ช…์€ ์ž˜๋ชป ์ •ํ•˜๋ฉด ๋ณ€๊ฒฝํ•˜๊ธฐ ํž˜๋“ค์ง€๋งŒ ๋…ผ๋ฆฌ๋ช…์€ ์–ธ์ œ๋‚˜ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค.

์—ด๋ช… ๋…ผ๋ฆฌ๋ช… ์ž๋ฃŒํ˜• NULL ๊ธฐ๋ณธ๊ฐ’ ๋น„๊ต
item_code ์ƒํ’ˆ์ฝ”๋“œ  CHAR(4)
(๊ณ ์ •๊ธธ์ด)
No    
item_name ์ƒํ’ˆ๋ช… VARCHAR(30)
(๊ฐ€๋ณ€๊ธธ์ด)
Yes    
price ๊ฐ€๊ฒฉ INTEGER Yes    

2) ์ž๋ฃŒํ˜•


3) ๊ณ ์ •๊ธธ์ด์™€ ๊ฐ€๋ณ€๊ธธ์ด

Point: ํฐ ๋ฐ์ดํ„ฐ๋Š” LOB(Large Object) ํ˜•์œผ๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.


4) ๊ธฐ๋ณธํ‚ค


34.2 ER๋‹ค์ด์–ด๊ทธ๋žจ

erd(๊ฐœ์ฒด ๊ด€๊ณ„๋„) ๊ด€๊ณ„์„  ์ข…๋ฅ˜

์‹ค์„ : ๋ถ€๋ชจํ…Œ์ด๋ธ”pk๊ฐ€ ์ž์‹ ํ…Œ์ด๋ธ” fk๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ
์ ์„ : ๋ถ€๋ชจํ…Œ์ด๋ธ”pk๊ฐ€ ์ž์‹ํ…Œ์ด๋ธ”์˜ ์ผ๋ฐ˜์†์„ฑ์ด ๋˜๋Š” ๊ฒฝ์šฐ

erd ๊ธฐํ˜ธ์˜ ์ข…๋ฅ˜
|: 1๊ฐœ
<: ์—ฌ๋Ÿฌ๊ฐœ
o: 0๊ฐœ

๊ธฐํ˜ธ ์„ค๋ช…

์ฐธ๊ณ : https://sum0725.tistory.com/12

์•„๋ž˜ ์ด๋ฏธ์ง€์—์„  ์„ ์ด ์„ค๋ช…๊ณผ ๋ฐ˜๋Œ€๋กœ ๋จ.

์•„๋ž˜ ์ด๋ฏธ์ง€์—์„  ์„ ์ด ์„ค๋ช…๊ณผ ๋ฐ˜๋Œ€๋กœ ๋จ.

 

MySQL์—์„œ EER Diagram์„ ๋งŒ๋“ ๋‹ค.
์ฐธ๊ณ : https://www.webucator.com/article/how-to-create-an-er-diagram-for-a-mysql-database-w/ 

์ฐธ๊ณ 


35๊ฐ• ์ •๊ทœํ™”

35.1 ์ •๊ทœํ™”
DB ์„ค๊ณ„๋‹จ๊ณ„์—์„œ ํ…Œ์ด๋ธ”์„ ๋ถ„ํ•  → ๋ฐ์ดํ„ฐ๊ฐ€ ํ•œ ๊ณณ์—๋งŒ ์ €์žฅ๋˜๋„๋ก


35.2 ์ œ1์ •๊ทœํ˜•

Point: ๋ฐ˜๋ณต๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๋กœ(์—ด ๋ฐฉํ–ฅ)๊ฐ€ ์•„๋‹Œ ์„ธ๋กœ(ํ–‰ ๋ฐฉํ–ฅ)๋กœ ๋Š˜๋ฆฌ๋Š” ๊ฒƒ์ด ์ œ1์ •๊ทœํ™”์˜ ์ œ1๋‹จ๊ณ„์ด๋‹ค. 
Point: ์ œ1์ •๊ทœํ™”์—์„œ๋Š” ํ…Œ์ด๋ธ” ๋ถ„ํ• ๊ณผ ๊ธฐ๋ณธํ‚ค ์ง€์ •์ด ์ด๋ฃจ์–ด์ง„๋‹ค.


35.3 ์ œ2์ •๊ทœํ˜•
์ œ 2 ์ •๊ทœํ™” : ๋ถ€๋ถ„ ํ•จ์ˆ˜ ์ข…์†์„ฑ์„ ์ฐพ์•„ ํ…Œ์ด๋ธ”๋ถ„ํ•  (PK์—์„œ ์ค‘๋ณต์ œ๊ฑฐ )


35.4 ์ œ3์ •๊ทœํ˜•
์ œ 3 ์ •๊ทœํ™” : PK๊ฐ€ ์•„๋‹Œ ์ผ๋ฐ˜ ์นผ๋Ÿผ์—์„œ ์ค‘๋ณต ์ œ๊ฑฐ


35.5 ์ •๊ทœํ™”์˜ ๋ชฉ์ 

Point: ์ •๊ทœํ™”๋กœ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ๊ฒƒ์€ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•œ ๊ณณ์— ์ €์žฅ๋˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.


36๊ฐ• ํŠธ๋žœ์žญ์…˜

ํŠธ๋žœ์žญ์…˜์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์—์„œ ๋ณ‘ํ–‰ ์ œ์–ด ๋ฐ ํšŒ๋ณต ์ž‘์—… ์‹œ ์ฒ˜๋ฆฌ๋˜๋Š” ์ž‘์—…์˜ ๋…ผ๋ฆฌ์ ์ธ ๋‹จ์œ„๋กœ ์‚ฌ์šฉ์ž๊ฐ€ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์„œ๋น„์Šค ์š”๊ตฌ ์‹œ ์‹œ์Šคํ…œ์ด ์‘๋‹ตํ•˜๊ธฐ ์œ„ํ•œ ์ƒํƒœ ๋ณ€ํ™˜ ๊ณผ์ •์˜ ์ž‘์—… ๋‹จ์œ„์ด๋‹ค. ํ•˜๋‚˜์˜ ํŠธ๋žœ์žญ์…˜์€ ์ปค๋ฐ‹(commit) ๋˜๊ฑฐ๋‚˜ ๋กค๋ฐฑ์ด ๋œ๋‹ค.

In short, a database transaction is a sequence of multiple operations performed on a database, and all served as a single logical unit of work — taking place wholly or not at all. In other words, there’s never a case that only half of the operations are performed and the results saved. 

ํŠธ๋žœ์žญ์…˜์˜ ์ œ์–ด

START TRANSACTION
COMMIT
ROLLBACK

ex) ๊ฒŒ์‹œ๊ธ€ ํด๋ฆญํ–ˆ์„ ๋•Œ ํด๋ฆญ๊ณผ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋™์‹œ์— ์ง„ํ–‰๋œ๋‹ค.
์•„๋ž˜๋กœ ๋ฌถ๋Š”๋‹ค.
๋‘˜ ๋‹ค ์‹คํ–‰ ๋˜๋Š” ๋‘˜ ๋‹ค ์‹คํ–‰X 

COMMIT: ์—…๋ฐ์ดํŠธํ•˜๋ผ
ROLLBACK: ์›๋ž˜๋Œ€๋กœ ๋Œ์•„๊ฐ€๋ผ 

ํŠธ๋žœ์žญ์…˜
๋‘ ๊ฐœ ์ด์ƒ์˜ sql์„ ๋™์‹œ๋‹ค๋ฐœ๋กœ ์‹คํ–‰ํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉ

๊ฒŒ์‹œํŒ ์ œ๋ชฉ์„ ํด๋ฆญ
select * from board where no = 1125;
update board set count=count+1 where no = 1125

start transaction
select * from board where no = 1125;
update board set count = count+1 where no = 1125

select์™€ update๊ฐ€ ๋‘˜ ๋‹ค ์„ฑ๊ณตํ–ˆ์œผ๋ฉด commit
select์™€ update๊ฐ€ ๋‘˜ ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์‹คํŒจํ–ˆ์œผ๋ฉด rollback ์‹คํ–‰ (์›๋ž˜ ๋ฐ์ดํ„ฐ๋กœ ๋Œ์•„๊ฐ„๋‹ค.)

36.1 ํŠธ๋žœ์žญ์…˜
- ๋ฐœ์ฃผ ์ฒ˜๋ฆฌ
์˜ˆ์ œ 8-1) ๋ฐœ์ฃผ์ฒ˜๋ฆฌ

INSERT INTO ์ฃผ๋ฌธ VALUES(4, '2014-03-01', 1);
INSERT INTO ์ฃผ๋ฌธ์ƒํ’ˆ VALUES(4, '0003', 1);
INSERT INTO ์ฃผ๋ฌธ์ƒํ’ˆ VALUES(4, '0004', 2);

36.2 ๋กค๋ฐฑ๊ณผ ์ปค๋ฐ‹

Point: ํŠธ๋žœ์žญ์…˜์„ ๋กค๋ฐฑ(rollback)ํ•˜๋ฉด ๋ณ€๊ฒฝํ•œ ๋‚ด์šฉ์ด ์ ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค. 

- ์ž๋™์ปค๋ฐ‹ 

ํŠธ๋žœ์žญ์…˜ ์‹œ์ž‘

START TRANSACTION

ํŠธ๋žœ์žญ์…˜ ๋‚ด์—์„œ ์‹คํ–‰ํ•œ ๋ช…๋ น์„ ์ ์šฉํ•œ ํ›„ ์ข…๋ฃŒ

COMMIT

ํŠธ๋žœ์žญ์…˜ ๋‚ด์—์„œ ์‹คํ–‰ํ•œ ๋ช…๋ น์„ ํŒŒ๊ธฐํ•œ ํ›„ ์ข…๋ฃŒ 

ROLLBACK

์˜ˆ์ œ 8-1) ํŠธ๋žœ์žญ์…˜ ๋‚ด์—์„œ์˜ ๋ฐœ์ฃผ์ฒ˜๋ฆฌ

START TRANSACTION;
INSERT INTO ์ฃผ๋ฌธ VALUES(4, '2014-03-01', 1);
INSERT INTO ์ฃผ๋ฌธ์ƒํ’ˆ VALUES(4, '0003', 1);
INSERT INTO ์ฃผ๋ฌธ์ƒํ’ˆ VALUES(4, '0004', 2);
COMMIT;

 

Point: ํŠธ๋žœ์žญ์…˜์„ ์‚ฌ์šฉํ•ด์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ„๋‹จํžˆ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

use example;
alter table board modify count int default 0;
desc board;
select * from board where no = 5; -- title ํด๋ฆญํ•˜๋ฉด,
-- update board set count=0;
update board set count=count+1 where no=5;

start transaction;
select * from board where no = 5; -- title ํด๋ฆญํ•˜๋ฉด,
update board set count = count+1 where no=5;
-- ์ •์ƒ์ ์œผ๋กœ select๋ž‘ update๊ฐ€ ๋จ: ์ •์ƒ์ฒ˜๋ฆฌ ํ•ด์ค˜์•ผ ํ•จ.(commit) 
commit;
-- update,๋Š” ์ •์ƒ์ ์œผ๋กœ ์ˆ˜ํ–‰๋˜์—ˆ์œผ๋‚˜, select๊ฐ€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Œ.: count๊ฐ’์„ ์›๋ž˜๋Œ€๋กœ ๋˜๋Œ๋ ค ์ค˜์•ผ ํ•จ.
rollback;

์ฒ˜์Œ์— no = 3์œผ๋กœ ํ–ˆ์—ˆ๋Š”๋ฐ ROLLBACK ์ฝ”๋“œ ์‹คํ–‰ํ•˜๋ฉด์„œ ์ง€์›Œ์กŒ๋‹ค. 


36.3 ํŠธ๋žœ์žญ์…˜ ์‚ฌ์šฉ๋ฒ• p. 333

๋ฐ˜๋“œ์‹œ ์„ธํŠธ๋กœ ์‹คํ–‰ํ•˜๊ณ  ์‹ถ์€ SQL ๋ช…๋ น์„ ํŠธ๋žœ์žญ์…˜์—์„œ ํ•˜๋‚˜๋กœ ๋ฌถ์–ด ์‹คํ–‰ํ•œ๋‹ค.
์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•„๋„ ROLLBACK์„ ํ•˜๋ฉด ๋ณ€๊ฒฝํ•œ ๋‚ด์šฉ์€ ํŒŒ๊ธฐ๋œ๋‹ค.
์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋”๋ผ๋„ COMMIT์„ ํ•˜๋ฉด ๋ฌธ์ œ์—†์ด ์‹คํ–‰๋œ SQL ๋ช…๋ น์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๊ทธ๋Œ€๋กœ ๋ฐ˜์˜๋œ๋‹ค.

Point: ์„ธํŠธ๋กœ ์‹คํ–‰ํ•˜๊ณ  ์‹ถ์€ SQL ๋ช…๋ น์€ ํŠธ๋žœ์žญ์…˜ ๋‚ด์—์„œ ์‹คํ–‰ํ•œ๋‹ค.


 

728x90
๋ฐ˜์‘ํ˜•
Comments