๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (213)

JiYoung Dev ๐Ÿ–ฅ

[Oracle Database] TCL, DCL (2023.03.27)

๐Ÿ”Ž TCL (Transaction Control Language) ํŠธ๋žœ์žญ์…˜์„ ์ œ์–ดํ•œ๋‹ค ํŠธ๋žœ์žญ์…˜ : ์–ด๋–ค ์—…๋ฌด๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ผ๋ จ์˜ ๋‹จ๊ณ„ ํŠธ๋žœ์žญ์…˜ ํŠน์ง• 1. ์›์ž์„ฑ(atomicity) : ํŠธ๋žœ์žญ์…˜์ด ๋ชจ๋‘ ์™„๋ฃŒ๋˜๊ฑฐ๋‚˜ ํ•˜๋‚˜๋ผ๋„ ์‹คํŒจ์‹œ ๋ชจ๋‘ ์›์ƒ๋ณต๊ตฌ ๋˜์–ด์•ผ ํ•จ (all or nothing) 2. ์ผ๊ด€์„ฑ(consistency) : ํ•ญ์ƒ ์ผ๊ด€์ ์ธ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ ธ์•ผ ํ•จ. ํŠธ๋žœ์žญ์…˜ ์‹คํ–‰ ์ „์ด ์ •์ƒ์ด๋ผ๋ฉด ์‹คํ–‰ ํ›„์—๋„ ์ •์ƒ์ด์–ด์•ผ ํ•จ 3. ๊ณ ๋ฆฝ์„ฑ(isolation) : ํŠธ๋žœ์žญ์…˜์€ ์„œ๋กœ ๊ฐ„์„ญํ•˜๋ฉด ์•ˆ๋จ 4. ์˜์†์„ฑ/์ง€์†์„ฑ (durability) : ์˜๊ตฌ ์ €์žฅ์„ ํ–ˆ์œผ๋ฉด ๋ฐ˜๋“œ์‹œ ๋ฐ˜์˜๋˜์–ด์•ผ ํ•จ. commit์„ ํ–ˆ์œผ๋ฉด ๋ฐ์ดํ„ฐ๋Š” ๋ฐ˜๋“œ์‹œ ์˜๊ตฌ ์ €์žฅ ๋˜์–ด ์žˆ์–ด์•ผ ํ•จ ๐Ÿ“– ์ข…๋ฅ˜ COMMIT ROLLBACK SAVEPOINT ๐Ÿ“– COMMIT ํŠธ๋žœ..

full stack/database 2023. 3. 27. 14:01
[Oracle Database] DDL - DROP, ์‹œํ€€์Šค์™€ ๋ทฐ (2023.03.27)

์ฝ”๋ฉ˜ํŠธ ์ž…๋ ฅํ•˜๋Š” ๋ฐฉ๋ฒ• COMMENT ON TABLE ํ…Œ์ด๋ธ”๋ช… IS 'ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์„ค๋ช…' ; COMMENT ON COLUMN ํ…Œ์ด๋ธ”๋ช….์ปฌ๋Ÿผ๋ช… IS '์ปฌ๋Ÿผ์— ๋Œ€ํ•œ ์„ค๋ช…' ; ๐Ÿ”Ž ํ…Œ์ด๋ธ”/์ œ์•ฝ์กฐ๊ฑด ์‚ญ์ œํ•˜๊ธฐ (DROP) ๐Ÿ“– DROP DROP TABLE ํ…Œ์ด๋ธ”์„ ์˜๊ตฌ์‚ญ์ œ ํšŒ์›์ •๋ณด ํ…Œ์ด๋ธ”์—์„œ ์ฐธ์กฐํ•˜๊ณ  ์žˆ๋Š” ํ‚ค๊ฐ€ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ ์‚ญ์ œ ๋ถˆ๊ฐ€๋Šฅ CASCADE CONSTRAINT๋ฅผ ์ด์šฉํ•˜์—ฌ ์ œ์•ฝ์กฐ๊ฑด(FK)์„ ํ•จ๊ป˜ ์‚ญ์ œํ•˜๋ฉด ์‚ญ์ œ ๊ฐ€๋Šฅ (CASCADE : ์—ฐ์†์ ์œผ๋กœ) DROP TABLE ํ…Œ์ด๋ธ”๋ช… CASCADE CONSTRAINT ; ์ œ์•ฝ์กฐ๊ฑด๋งŒ ์‚ญ์ œ ALTER TABLE ํ…Œ์ด๋ธ”๋ช… DROP CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช… ; ๐Ÿ“– TRUNCATE ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œ TRUNCATE TABLE ํ…Œ์ด๋ธ”๋ช… ; ๐Ÿ“– DELETE/DROP/..

full stack/database 2023. 3. 27. 11:40
[JAVA] ๋ฐ˜๋ณต๋ฌธ while, do~while (2023.03.24)

2023.03.24 ํ•™์Šต๋‚ด์šฉ ๐Ÿ”Ž ๋ฐ˜๋ณต๋ฌธ ์–ด๋–ค ์กฐ๊ฑด์ด ๋งŒ์กฑํ•  ๋•Œ๊นŒ์ง€ ๋˜๋Š” ํŠน์ • ํšŸ์ˆ˜๋งŒํผ ๊ฐ™์€ ์ฒ˜๋ฆฌ๋ฅผ ๋ฐ˜๋ณตํ•˜์—ฌ ์‹คํ–‰ํ•˜๋Š” ๊ตฌ์กฐ ๐Ÿ“– ๋ฐ˜๋ณต๋ฌธ์˜ ์ข…๋ฅ˜ while๋ฌธ, do~while๋ฌธ, for๋ฌธ for๋ฌธ์€ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋ฐ˜๋ณต ํšŸ์ˆ˜๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์—, while๋ฌธ๊ณผ do-while๋ฌธ์€ ๋ฐ˜๋ณตํšŸ์ˆ˜๋ฅผ ์•Œ ์ˆ˜ ์—†๊ณ  ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ฐ˜๋ณต์ด ๊ณ„์†๋˜๊ฑฐ๋‚˜ ์ค‘๋‹จ๋˜๋Š” ๊ฒฝ์šฐ์— ์ด์šฉ. while๋ฌธ์€ ๋ฐ˜๋ณต ์กฐ๊ฑด์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋”ฐ์ง€๋Š” ๊ฒฝ์šฐ์—, do-while๋ฌธ์€ ๋ฐ˜๋ณต ์กฐ๊ฑด์„ ๋‚˜์ค‘์— ๋”ฐ์ง€๋Š” ๊ฒฝ์šฐ์— ์ ํ•ฉ โš™ while๋ฌธ ์ •ํ™•ํ•˜๊ฒŒ ๋ช‡ ๋ฒˆ ๋ฐ˜๋ณตํ•ด์•ผํ•  ์ง€ ์ •ํ•ด์ง€์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋ช‡ ๋ฒˆ ๋ฐ˜๋ณตํ•ด์•ผํ•˜๋Š”์ง€ ์ •ํ•ด์ ธ ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ˜๋ณต๋ฌธ์„ ์ˆ˜ํ–‰ํ•  ์กฐ๊ฑด์„ ์ง€์ •ํ•ด ์ค˜์•ผ ํ•จ ์กฐ๊ฑด์€ ํ•ญ์ƒ ๋…ผ๋ฆฌํ˜• (boolean : true / false) while(์กฐ๊ฑด์‹){ ์‹คํ–‰๋ฌธ์žฅ } ๋‹ค์Œ..

full stack/JAVA 2023. 3. 24. 18:19
[Oracle Database] ๋ถ€์ • ์—ฐ์‚ฐ, NULL, IN, BETWEEN, LIKE (2023.03.21)

๐Ÿ”Ž ๋ถ€์ • ์—ฐ์‚ฐ ์กฐ๊ฑด์— NOT ๊ฐœ๋…์ด ๋ถ™์€ ๊ฒƒ ( ๊ธฐํ˜ธ : != ) ๐Ÿ”Ž NULL ์กฐ๊ฑด NULL ์—ฐ์‚ฐ์€ ๊ฐ’์ด NULL์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๊ฒŒ ํ•ด ์คŒ NULL์€ ์‚ฐ์ˆ , ๋น„๊ต ์—ฐ์‚ฐ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๐Ÿ“– NULL ํ•จ์ˆ˜ NULL๊ฐ’์„ ๋Œ€์ฒดํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜ โš™ โ˜…โ˜…โ˜…NVL ํ•ด๋‹น ์ปฌ๋Ÿผ์— NULL ๊ฐ’์ด ์žˆ์œผ๋ฉด 0์œผ๋กœ ๋ณ€ํ™˜ โš™ NVL2 ์‹ค๋ฌด์—์„œ ์ž์ฃผ ์‚ฌ์šฉํ•˜์ง€๋Š” ์•Š์Œ. NVL์˜ ํ™•์žฅํŒ์œผ๋กœ ํ•ด๋‹น ์ปฌ๋Ÿผ์— NULL๊ฐ’์ด ์•„๋‹Œ๊ฒฝ์šฐ์—๋Š” ์ง€์ •๊ฐ’ 1์„ ์ง€์ •ํ•˜๊ณ , NULL๊ฐ’์ธ ๊ฒฝ์šฐ ์ง€์ •๊ฐ’ 2๋ฅผ ์ง€์ • NVL2(์ปฌ๋Ÿผ, ์ง€์ •๊ฐ’1, ์ง€์ •๊ฐ’2) โš™ โ˜…โ˜…โ˜…DECODE DECODE(์ปฌ๋Ÿผ๋ช…, ์กฐ๊ฑด, ์ง€์ •์ž1, ์ง€์ •์ž2) ํ•ด๋‹น ์ปฌ๋Ÿผ์ด ์กฐ๊ฑด๊ณผ ์ผ์น˜ํ•˜๋ฉด ์ง€์ •์ž1 ์ถœ๋ ฅ, ๋ถˆ์ผ์น˜ํ•˜๋ฉด ์ง€์ •์ž2 ์ถœ๋ ฅ โš™ COALESCE ์ธ์ž๋กœ ์ฃผ์–ด์ง„ ์ปฌ๋Ÿผ๋“ค ์ค‘์—์„œ NULL์ด ์•„๋‹Œ ์ฒซ ๋ฒˆ์งธ ..

full stack/database 2023. 3. 24. 18:16
[Oracle Database] DDL - CREATE, ALTER (2023.03.24)

๐Ÿ”Ž DDL(Data Definition Language) ํ…Œ์ด๋ธ”๊ณผ ๊ฐ™์€ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑ/์ˆ˜์ •/์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Œ ๐Ÿ”Ž DDL๋ฌธ๋ฒ• ๐Ÿ“– CREATE ์ƒˆ๋กœ์šด ๊ฐ์ฒด(OBJECT)๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด ํ…Œ์ด๋ธ” ์ƒ์„ฑ ์ „์— ํ•„์š”ํ•œ ์ž๋ฃŒํ˜• VARCHAR2(n) ๋ฌธ์žํ˜• ๋ฐ์ดํ„ฐ๋ฅผ n๋ฐ”์ดํŠธ๊นŒ์ง€ ์ž…๋ ฅ๋ฐ›๊ฒ ๋‹ค๋Š” ์˜๋ฏธ (๊ฐ€๋ณ€ํ˜• ๋ฌธ์ž์—ด) CF. CHAR(n) ๋ฌธ์žํ˜• ๊ฐ’์„ n๋ฐ”์ดํŠธ๊นŒ์ง€ ์ž…๋ ฅ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ณ ์ •ํ˜• ๋ฌธ์ž์—ด → ๊ผญ n byte๋ฅผ ์ฑ„์›Œ์•ผ ํ•จ NUMBER(n, m) ์ˆซ์žํ˜• ์ž…๋ ฅ(์ •์ˆ˜, ์‹ค์ˆ˜ ๋ชจ๋‘ ์‚ฌ์šฉ ๊ฐ€๋Šฅ) n์€ ์ž๋ฆฟ์ˆ˜๋ฅผ ์˜๋ฏธํ•จ (์†Œ์ˆ˜์  ์ž๋ฆฟ์ˆ˜ ํฌํ•จ) m์€ ์†Œ์ˆซ์  ๊ฐœ์ˆ˜๋ฅผ ์˜๋ฏธํ•จ NUMBER ๋’ค์— n, m์€ ์ƒ๋žต ๊ฐ€๋Šฅ DATE ๋‚ ์งœํ˜• ๊ฐ’ ์ž…๋ ฅ ํ…Œ์ด๋ธ” ์ƒ์„ฑ ๋ฌธ๋ฒ•(CREATE) CREATE TABLE ํ…Œ์ด๋ธ”๋ช… ( ์ปฌ๋Ÿผ๋ช… ์ž๋ฃŒํ˜• [DE..

full stack/database 2023. 3. 24. 18:06
[Oracle Database] JOIN, GROUP BY, ์ง‘๊ณ„ ํ•จ์ˆ˜, HAVING (2023.03.22~23)

2023.03.22~23 ํ•™์Šต๋‚ด์šฉ ์ฟผ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—๊ฒŒ ํŠน์ •ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์—ฌ๋‹ฌ๋ผ๋Š” ํด๋ผ์ด์–ธํŠธ(์‚ฌ์šฉ์ž)์˜ ์š”์ฒญ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์›ํ•˜๋Š” ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์ฝ”๋“œ ๐Ÿ”Ž ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ” ํ•œ ๋ฒˆ์— ์‚ฌ์šฉํ•˜๊ธฐ ์Šคํ‚ค๋งˆ : ํ…Œ์ด๋ธ”(๊ฐ์ฒด)์„ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„ ์Šคํ‚ค๋งˆ๋Š” ๊ฐ ๊ณ„์ •๋งˆ๋‹ค ์กด์žฌํ•˜๋ฉฐ ์ด๋ฆ„์ด ๊ณ„์ •๊ณผ ๊ฐ™๋‹ค. . ์ ‘๊ทผ ์—ฐ์‚ฐ์ž ํ˜„์žฌ ์ ‘์†ํ•œ ๊ณ„์ •์„ ๊ธฐ์ค€์œผ๋กœ ์Šคํ‚ค๋งˆ๋ฅผ ์ƒ๋žตํ•ด์คŒ FROM ๋’ค์—๋Š” ์ฝค๋งˆ(,)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ์ด๋ธ”์„ 2๊ฐœ ์ด์ƒ ์“ธ ์ˆ˜ ์žˆ๋‹ค. SELECT * FROM ์ง์›, ์ง์›์—ฐ๋ฝ์ฒ˜ ; ์‹คํ–‰ํ•˜๋ฉด ์ง์› ํ…Œ์ด๋ธ”์˜ ํŠœํ”Œ(11๊ฐœ) * ์ง์›์—ฐ๋ฝ์ฒ˜์˜ ํŠœํ”Œ(13๊ฐœ) = ์ด 143๊ฐœ์˜ ํŠœํ”Œ์ด ์ถœ๋ ฅ๋จ ์ง์› ํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ(9๊ฐœ) + ์ง์›์—ฐ๋ฝ์ฒ˜ ํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ(3๊ฐœ) = ์ด 12๊ฐœ์˜ ์ปฌ๋Ÿผ์ด ์ถœ๋ ฅ๋จ ์ด ๋•Œ๋ถ€ํ„ฐ๋Š” ์ปฌ๋Ÿผ๋ช… ์•ž์— ํ…Œ์ด๋ธ”๋ช…์„ ์จ์•ผ ํ•จ. ๋‘ ๊ฐœ์˜ ํ…Œ..

full stack/database 2023. 3. 24. 15:26
[Oracle Database] DML(Data Manipulation Language) (2023.03.23~24)

๐Ÿ”Ž DML (Data Manipulation Language) ๋ฐ์ดํ„ฐ ์กฐ์ž‘ ์–ธ์–ด ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ(INSERT) / ์‚ญ์ œ(DELETE) /์ˆ˜์ •(UPDATE)ํ•œ๋‹ค. ๐Ÿ“– INSERT ํ…Œ์ด๋ธ”์— ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ํŠœํ”Œ(ํ–‰) ๋‹จ์œ„๋กœ ์ž…๋ ฅ INSERT INTO ํ…Œ์ด๋ธ”๋ช… ( COLUMN_LIST) VALUES (COLUNM_LIST์— ์ž…๋ ฅํ•  ๊ฐ’ ๋ฆฌ์ŠคํŠธ) ; ์ž‘์„ฑ์‹œ ์ฃผ์˜์‚ฌํ•ญ 1. ๊ด„ํ˜ธ ์—ด๊ณ  ๋‹ซ๊ธฐ ์ž˜ ์ง€ํ‚ค๊ธฐ 2. ์ฒซ ์ปฌ๋Ÿผ ์•ž์—๋Š” ์ฝค๋งˆ๊ฐ€ ์—†์Œ 3. ์ฒซ ์ž…๋ ฅ ๊ฐ’์—๋Š” ์ฝค๋งˆ๊ฐ€ ์—†์Œ โš™ ์—๋Ÿฌ์ผ€์ด์Šค 1 : ์‹๋ณ„์ž์— NULL์„ ์ž…๋ ฅํ•œ ๊ฒฝ์šฐ โ˜… ์‹๋ณ„์ž์—๋Š” NULL๊ฐ’์ด ๋“ค์–ด๊ฐ€๋ฉด ์•ˆ๋˜๊ณ , ์ค‘๋ณต๋˜๋Š” ๊ฐ’์ด ์žˆ์œผ๋ฉด ์•ˆ๋จ โš™ ์—๋Ÿฌ์ผ€์ด์Šค 2 : ์ž๋ฃŒํ˜•์— ๋งž์ง€ ์•Š์€ ์ž…๋ ฅ๊ฐ’์„ ๋„ฃ์€ ๊ฒฝ์šฐ ๋‚˜์ด ์ปฌ๋Ÿผ์€ ์ˆซ์žํ˜•์ธ๋ฐ ๋ฌธ์ž์—ด์„ ๋„ฃ์—ˆ์Œ โš™ ์—๋Ÿฌ์ผ€์ด์Šค 3 :..

full stack/database 2023. 3. 24. 15:26
[JAVA] ์กฐ๊ฑด๋ฌธ (2023.03.23 ์ˆ˜์—…)

2023.03.23 ํ•™์Šต ๋‚ด์šฉ ๐Ÿ”Ž ์กฐ๊ฑด๋ฌธ ์ฃผ์–ด์ง„ ์กฐ๊ฑด์„ ๋น„๊ต/ํŒ๋‹จํ•˜์—ฌ ๊ทธ ์กฐ๊ฑด์— ๋งŒ์กฑํ•  ๊ฒฝ์šฐ ์ง€์ •๋œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ณ  ๋งŒ์กฑํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ๋‹ค์Œ ๋‹จ๊ณ„์˜ ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํ•˜๋Š” ๊ตฌ๋ฌธ (์กฐ๊ฑด์ด ์ค‘์š”!!) ๐Ÿ“– ์ˆœ์„œ๋„(flowchart) → ์ง์ ‘ ๊ทธ๋ฆด ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ ๊ด€๋ จ์ž๋ฃŒ ์ฝ”๋”ฉ๊ต์œก ํ‹ฐ์”จํ”ผ์Šค์ฟจ 4์ฐจ์‚ฐ์—…ํ˜๋ช…, ์ฝ”๋”ฉ๊ต์œก, ์†Œํ”„ํŠธ์›จ์–ด๊ต์œก, ์ฝ”๋”ฉ๊ธฐ์ดˆ, SW์ฝ”๋”ฉ, ๊ธฐ์ดˆ์ฝ”๋”ฉ๋ถ€ํ„ฐ ์ž๋ฐ” ํŒŒ์ด์ฌ ๋“ฑ tcpschool.com ๐Ÿ“– ์กฐ๊ฑด๋ฌธ์˜ ์ข…๋ฅ˜ ๋‹จ์ˆœif๋ฌธ if ~ else๋ฌธ ๋‹ค์ค‘ if ~ else๋ฌธ switch๋ฌธ โš™ ๋‹จ์ˆœif๋ฌธ if๋ฌธ์˜ ์กฐ๊ฑด์ด ์ฐธ(true)์ด๋ฉด if๋ฌธ ๋‚ด๋ถ€์˜ '์‹คํ–‰๋ฌธ์žฅ'์ด ์‹คํ–‰๋˜๋ฉฐ ๊ฑฐ์ง“(false)์ด๋ฉด if๋ฌธ์„ ๋ฒ—์–ด๋‚จ ๋‹จ์ˆœif๋ฌธ์—์„œ ๋ฌผ์–ด๋ณด๋Š” ์กฐ๊ฑด์€ ๋‹จ 1๊ฐœ. ์กฐ๊ฑด์€ ํ•ญ์ƒ ๋…ผ๋ฆฌํ˜•(๋น„๊ต์—ฐ์‚ฐ์ž ํ˜น์€ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž) ๋น„๊ต์—ฐ์‚ฐ์ž ..

full stack/JAVA 2023. 3. 23. 19:06
[Oracle Database] ์˜ค๋ผํด ํ•จ์ˆ˜

06-01 ์˜ค๋ผํด ํ•จ์ˆ˜ SELECT์—์„œ ์‚ฌ์น™์—ฐ์‚ฐํ•˜๊ธฐ ๋”ํ•˜๊ธฐ +, ๋นผ๊ธฐ -, ๊ณฑํ•˜๊ธฐ *, ๋‚˜๋ˆ„๊ธฐ / ๊ฐ€๋Šฅํ•˜๋‚˜ ๋‚˜๋จธ์ง€๋Š” %๊ฐ€ ์•„๋‹Œ mod ์‚ฌ์šฉ ํ•จ์ˆ˜๋ž€? ํŠน์ • ๊ฒฐ๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๊ฐ’์ด๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๋Š”๋ฐ ๊ทธ ๊ฐ’์— ๋”ฐ๋ผ ๊ฐ€๊ณต ๋˜๋Š” ์—ฐ์‚ฐ์˜ ๊ณผ์ •์„ ๊ฑฐ์ณ ๊ฒฐ๊ณผ๊ฐ’์ด ๋‚˜์˜ด. ์ฆ‰, ์˜ค๋ผํด ํ•จ์ˆ˜๋Š” ํŠน์ •ํ•œ ๊ฒฐ๊ณผ ๊ฐ’์„ ์–ป๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋Š” ํŠน์ˆ˜ ๋ช…๋ น์–ด ์˜ค๋ผํด ํ•จ์ˆ˜์˜ ์ข…๋ฅ˜ ์˜ค๋ผํด์—์„œ ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋Š” ๋‚ด์žฅ ํ•จ์ˆ˜(built-in function)์™€ ์‚ฌ์šฉ์ž๊ฐ€ ํ•„์š”์— ์˜ํ•ด ์ง์ ‘ ์ •์˜ํ•œ ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜(user-defined function)์œผ๋กœ ๋‚˜๋‰จ ๋‚ด์žฅ ํ•จ์ˆ˜์˜ ์ข…๋ฅ˜ ๋‚ด์žฅ ํ•จ์ˆ˜๋Š” ์ž…๋ ฅ ๋ฐฉ์‹์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์— ์‚ฌ์šฉํ•˜๋Š” ํ–‰์ด ๋‚˜๋‰จ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•œ ํ–‰์”ฉ ์ž…๋ ฅ๋˜๊ณ  ์ž…๋ ฅ๋œ ํ•œ ํ–‰๋‹น ๊ฒฐ๊ณผ๊ฐ€ ํ•˜๋‚˜์”ฉ ๋‚˜์˜ค๋Š” ํ•จ์ˆ˜๋ฅผ..

full stack/database 2023. 3. 22. 19:19