๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป ๐ŸŒฎ ๐Ÿ’ฌ
๐Ÿ“œ ์ž๊ฒฉ์ฆ/SQLD

[๋…ธ๋ž‘์ด] ์˜ค๋‹ต | ๊ณผ๋ชฉ 2 | SQL ๊ธฐ๋ณธ ๋ฐ ํ™œ์šฉ 99-126

by ๋ฐ”์ฟ„๋ฆฌ 2024. 2. 24.

 

100. ํ…Œ์ด๋ธ” ์นผ๋Ÿผ์— ๋Œ€ํ•œ ์ •์˜ ๋ณ€๊ฒฝ

- Oracle

ALTER TABLE ํ…Œ์ด๋ธ” ๋ช… MODIFY (์นผ๋Ÿผ๋ช…1 ๋ฐ์ดํ„ฐ ์œ ํ˜• [DEFAULT ์‹] [NOT NULL], ์นผ๋Ÿผ๋ช…2 ๋ฐ์ดํ„ฐ ์œ ํ˜•...);

- SQL Server

ALTER TABLE ํ…Œ์ด๋ธ” ๋ช… ALTER (์นผ๋Ÿผ๋ช…1 ๋ฐ์ดํ„ฐ ์œ ํ˜• [DEFAULT ์‹] [NOT NULL], ์นผ๋Ÿผ๋ช…2 ๋ฐ์ดํ„ฐ ์œ ํ˜•...);

 

* SQL Server์—์„œ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์นผ๋Ÿผ์„ ALTER COLUMN์œผ๋กœ ๋™์‹œ์— ์ˆ˜์ •ํ•˜๋Š” ๊ตฌ๋ฌธ์€ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

101. ํŠธ๋žœ์žญ์…˜์˜ ํŠน์„ฑ ์ค‘ ๊ณ ๋ฆฝ์„ฑ(Isolation)์€ ์–ด๋–ค ํŠธ๋žœ์žญ์…˜์ด ์ˆ˜ํ–‰ ์ค‘์ผ ๋•Œ ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์˜ ์˜ํ–ฅ์„ ๋ฐ›์•„ ์ž˜๋ชป๋œ ๊ฒฐ๊ณผ๋ฅผ ๋„์ถœํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

105. ํ…Œ์ด๋ธ” ์ƒ์„ฑ์˜ ์ฃผ์˜์‚ฌํ•ญ

- ํ…Œ์ด๋ธ”๋ช…์€ ๊ฐ์ฒด๋ฅผ ์˜๋ฏธํ•  ์ˆ˜ ์žˆ๋Š” ์ ์ ˆํ•œ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•œ๋‹ค. ๊ฐ€๋Šฅํ•œ ๋‹จ์ˆ˜ํ˜•์„ ๊ถŒ๊ณ ํ•œ๋‹ค.

- ํ…Œ์ด๋ธ” ๋ช…์€ ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์˜ ์ด๋ฆ„๊ณผ ์ค‘๋ณต๋˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.

- ํ•œ ํ…Œ์ด๋ธ” ๋‚ด์—์„œ๋Š” ์นผ๋Ÿผ๋ช…์ด ์ค‘๋ณต๋˜๊ฒŒ ์ง€์ •๋  ์ˆ˜ ์—†๋‹ค.

- ํ…Œ์ด๋ธ” ์ด๋ฆ„์„ ์ง€์ •ํ•˜๊ณ  ๊ฐ ์นผ๋Ÿผ๋“ค์€ ๊ด„ํ˜ธ "()" ๋กœ ๋ฌถ์–ด ์ง€์ •ํ•œ๋‹ค.

- ๊ฐ ์นผ๋Ÿผ๋“ค์€ ์ฝค๋งˆ "," ๋กœ ๊ตฌ๋ถ„๋˜๊ณ , ํ…Œ์ด๋ธ” ์ƒ์„ฑ๋ฌธ์˜ ๋์€ ํ•ญ์ƒ ์„ธ๋ฏธ์ฝœ๋ก  ";"์œผ๋กœ ๋๋‚œ๋‹ค.

- ์นผ๋Ÿผ์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”๊นŒ์ง€ ๊ณ ๋ คํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์—์„œ๋Š” ์ผ๊ด€์„ฑ ์žˆ๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค. (๋ฐ์ดํ„ฐ ํ‘œ์ค€ํ™” ๊ด€์ )

- ์นผ๋Ÿผ ๋’ค์— ๋ฐ์ดํ„ฐ ์œ ํ˜•์€ ๊ผญ ์ง€์ •๋˜์–ด์•ผ ํ•œ๋‹ค.

- ํ…Œ์ด๋ธ”๋ช…๊ณผ ์นผ๋Ÿผ๋ช…์€ ๋ฐ˜๋“œ์‹œ ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•ด์•ผํ•˜๊ณ , ๋ฒค๋”๋ณ„๋กœ ๊ธธ์ด์— ๋Œ€ํ•œ ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค.

- ๋ฒค๋”์—์„œ ์‚ฌ์ „์— ์ •์˜ํ•œ ์˜ˆ์•ฝ์–ด(Reserved word)๋Š” ์“ธ ์ˆ˜ ์—†๋‹ค.

- A-Z, a-z, 0-9, _, $, # ๋ฌธ์ž๋งŒ ํ—ˆ์šฉํ•œ๋‹ค.

 

109. UNIQUE → ํ›„๋ณดํ‚ค(Candidate Key)

 

110. ํ…Œ์ด๋ธ”์˜ ๋ถˆํ•„์š”ํ•œ ์ปฌ๋Ÿผ ์‚ญ์ œ

ALTER TABLE ํ…Œ์ด๋ธ”๋ช… DROP COLUMN ์‚ญ์ œํ•  ์ปฌ๋Ÿผ๋ช…;

 

112. Text ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ Char, VarChar ํƒ€์ž…์„ ์‚ฌ์šฉํ•œ๋‹ค.

 

113. Delete(/Modify) Action : Cascade, Set Null, Set Default, Restrict (๋ถ€์„œ-์‚ฌ์›)

- Cascade : Master ์‚ญ์ œ ์‹œ Child ๊ฐ™์ด ์‚ญ์ œ

- Set Null : Master ์‚ญ์ œ ์‹œ Child ํ•ด๋‹น ํ•„๋“œ Null

- Set Default : Master ์‚ญ์ œ ์‹œ Child ํ•ด๋‹น ํ•„๋“œ Default ๊ฐ’์œผ๋กœ ์„ค์ •

- Restrict : Child ํ…Œ์ด๋ธ”์— PK ๊ฐ’์ด ์—†๋Š” ๊ฒฝ์šฐ๋งŒ Master ์‚ญ์ œ ํ—ˆ์šฉ

- No Action : ์ฐธ์กฐ๋ฌด๊ฒฐ์„ฑ์„ ์œ„๋ฐ˜ํ•˜๋Š” ์‚ญ์ œ/์ˆ˜์ • ์•ก์…˜์„ ์ทจํ•˜์ง€ ์•Š์Œ

 

Insert Action : Automatic, Set Null, Set Default, Dependent (๋ถ€์„œ-์‚ฌ์›)

- Automatic : Master ํ…Œ์ด๋ธ”์— PK๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ Master PK๋ฅผ ์ƒ์„ฑ ํ›„ Child ์ž…๋ ฅ

- Set Null : Master ํ…Œ์ด๋ธ”์— PK๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ Child ์™ธ๋ถ€ํ‚ค๋ฅผ Null ๊ฐ’์œผ๋กœ ์ฒ˜๋ฆฌ

- Set Default : Master ํ…Œ์ด๋ธ”์— PK๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ Child์˜ ์™ธ๋ถ€ํ‚ค๋ฅผ ์ง€์ •๋œ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ž…๋ ฅ

- Dependent : Master ํ…Œ์ด๋ธ”์— PK๊ฐ€ ์กด์žฌํ•  ๋•Œ๋งŒ Child ์ž…๋ ฅ ํ—ˆ์šฉ

- No Action : ์ฐธ์กฐ๋ฌด๊ฒฐ์„ฑ์„ ์œ„๋ฐ˜ํ•˜๋Š” ์ž…๋ ฅ ์•ก์…˜์„ ์ทจํ•˜์ง€ ์•Š์Œ

 

117. ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž์˜ ์šฐ์„ ์ˆœ์œ„ (์ˆ˜ํ•™๊ณผ ๋™์ผ)

() * / + -

 

119. DROP, TRUNCATE, DELETE

DROP TRUNCATE DELETE
DDL DDL
(์ผ๋ถ€ DML ์„ฑ๊ฒฉ์„ ๊ฐ€์ง)
DML
Rollback ๋ถˆ๊ฐ€๋Šฅ Rollback ๋ถˆ๊ฐ€๋Šฅ Commit ์ด์ „ Rollback ๋ถˆ๊ฐ€๋Šฅ
Auto Commit Auto Commit ์‚ฌ์šฉ์ž Commit
ํ…Œ์ด๋ธ”์ด ์‚ฌ์šฉํ–ˆ๋˜ Storage๋ฅผ ๋ชจ๋‘ Release ํ…Œ์ด๋ธ”์ด ์‚ฌ์šฉํ–ˆ๋˜ Storage ์ค‘ ์ตœ์ดˆ ํ…Œ์ด๋ธ” ์ƒ์„ฑ์‹œ ํ• ๋‹น๋œ Storage๋งŒ ๋‚จ๊ธฐ๊ณ  Release ํ…Œ์ด๋ธ”๋ฅผ ๋ชจ๋‘ Deleteํ•ด๋„ ์‚ฌ์šฉํ–ˆ๋˜ Storage๋Š” Release๋˜์ง€ ์•Š์Œ
ํ…Œ์ด๋ธ”์˜ ์ •์˜ ์ž์ฒด๋ฅผ ์™„์ „ํžˆ ์‚ญ์ œํ•จ ํ…Œ์ด๋ธ”์„ ์ตœ์ดˆ ์ƒ์„ฑ๋œ ์ดˆ๊ธฐ์ƒํƒœ๋กœ ๋งŒ๋“ฆ ๋ฐ์ดํ„ฐ๋งŒ ์‚ญ์ œ

 

120. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŠธ๋žœ์žญ์…˜์˜ 4๊ฐ€์ง€ ํŠน์„ฑ

- ์›์ž์„ฑ Atomicity

ํŠธ๋žœ์žญ์…˜์—์„œ ์ •์˜๋œ ์—ฐ์‚ฐ๋“ค์€ ๋ชจ๋‘ ์„ฑ๊ณต์ ์œผ๋กœ ์‹คํ–‰๋˜๋“ ์ง€ ์•„๋‹ˆ๋ฉด ์ „ํ˜€ ์‹คํ–‰๋˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ๋‚จ์•„ ์žˆ์–ด์•ผ ํ•œ๋‹ค. All or Nothing

- ์ผ๊ด€์„ฑ Consistency

ํŠธ๋žœ์žญ์…˜์ด ์‹คํ–‰ ๋˜๊ธฐ ์ „์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด์šฉ์ด ์ž˜๋ชป๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋ฉด ํŠธ๋žœ์žญ์…˜์ด ์‹คํ–‰๋œ ์ดํ›„์—๋„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋‚ด์šฉ์— ์ž˜๋ชป์ด ์žˆ์œผ๋ฉด ์•ˆ ๋œ๋‹ค.

- ๊ณ ๋ฆฝ์„ฑ Isolation

ํŠธ๋žœ์žญ์…˜์ด ์‹คํ–‰๋˜๋Š” ๋„์ค‘์— ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์˜ ์˜ํ–ฅ์„ ๋ฐ›์•„ ์ž˜๋ชป๋œ ๊ฒฐ๊ณผ๋ฅผ ๋งŒ๋“ค์–ด์„œ๋Š” ์•ˆ ๋œ๋‹ค.

- ์ง€์†์„ฑ Durability

ํŠธ๋žœ์žญ์…˜์ด ์„ฑ๊ณต์ ์œผ๋กœ ์ˆ˜ํ–‰๋˜๋ฉด ๊ทธ ํŠธ๋žœ์žญ์…˜์ด ๊ฐฑ์‹ ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋‚ด์šฉ์€ ์˜๊ตฌ์ ์œผ๋กœ ์ €์žฅ๋œ๋‹ค.

 

122. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋…ผ๋ฆฌ์  ์—ฐ์‚ฐ ๋‹จ์œ„ = ํŠธ๋žœ์žญ์…ฉ

 

125. SQL Server์˜ TOP N ์งˆ์˜๋ฌธ์—์„œ N์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์ด ๋™์ผํ•œ ๊ฒฝ์šฐ ํ•จ๊ป˜ ์ถœ๋ ฅ๋˜๋„๋ก ํ•˜๋Š” WITH TIES ์˜ต์…˜์„ ORDER BY ์ ˆ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ์•ผ ํ•œ๋‹ค.