Database(10)
-
[Database] JOIN ๊ฐ๋ ๊ณผ ์ข ๋ฅ (๋ด๋ถ์กฐ์ธ INNER JOIN, ์ธ๋ถ์กฐ์ธ OUTER JOIN)
1 JOIN JOIN ์ด๋ ๋๊ฐ ์ด์์ ํ ์ด๋ธ์ ๊ฒฐํฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ๋ฐฉ๋ฒ์ด๋ค. ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ ์ค๋ณต๋๋ ๋ฐ์ดํฐ๋ฅผ ํผํ๊ธฐ ์ํด ํ ์ด๋ธ์ ๋ถํดํ์ฌ ์ฌ๋ฌ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ๋๋ ์ ์ฅํ๋๋ฐ ๊ทธ๋ฌ๋ค ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ป๊ธฐ ์ํด์๋ ์ฌ๋ฌ ํ ์ด๋ธ์ ๋ค์ ์กฐํฉํด์ผํ ํ์๊ฐ ์๊ธด๋ค. ๊ทธ๋ด๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค JOIN ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ค. JOIN์์๋ ๋ด๋ถ์กฐ์ธ INNER JOIN ๊ณผ ์ธ๋ถ์กฐ์ธ OUTER JOIN์ผ๋ก ๋๋ ์ ์๋ค. 2. ๋ด๋ถ ์กฐ์ธ INNER JOIN ๋ด๋ถ์กฐ์ธ์ ์์๋ CROSS JOIN, INNER JOIN, EQUI JOIN, NON-EQUI JOIN, NATURAL JOIN ์ด ์๋ค. 1๏ธโฃ CROSS JOIN CROSS JOIN์ ๋ ํ ์ด๋ธ์ ๊ทธ๋ฅ ๊ณฑํ๊ฑฐ๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค. 2๏ธโฃ I..
2021.10.22 -
[oracle] ๋ฌธ์์ด ๊ด๋ จ ํจ์ ( UPPER(), LOWER(), SUBSTR(), LENGTH(), RPAD(), LPAD(), RTRIM(), LTRIM(), TRIM(), INITCAP(), CONCAT(), INSTR(), REPLACE())
1. UPPER() UPPER() ํจ์๋ ์๋ฌธ์ ๋๋ฌธ์๋ก ๋ฐ๊พธ๋ ํจ์์ด๋ค. 2. LOWER() LOWER() ํจ์๋ ์๋ฌธ์ ์๋ฌธ์๋ก ๋ฐ๊พธ๋ ํจ์์ด๋ค. 3. SUBSTR() , SUBSTRB() SUBSTR(), SUBSTRB() ํจ์๋ ๋ฌธ์์ด์ ์ผ๋ถ๋ฅผ ๊ตฌํ๋ ํจ์์ด๋ค. ์ด๋ SUBSTR()์ ํ๊ธ์ 1์๋ฆฌ๋ก , SUBSTRB()๋ ํ๊ธ์ 2์๋ฆฌ๋ก ์ธ์ํ๋ค. 4. LENGTH(), LENGTHB() LENGTH(), LENGTHB() ํจ์๋ ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ๊ตฌํ๋ ํจ์์ด๋ค. 5. RPAD() RPAD() ํจ์๋ ์ผ์ ํฌ๊ธฐ์ ์ผ์ชฝ ์ ๋ ฌํ ๋ฌธ์์ด์ ๋ง๋๋ ํจ์์ด๋ค. 6. LPAD() LPAD() ๋ ์ผ์ ํฌ๊ธฐ์ ์ค๋ฅธ์ชฝ ์ ๋ ฌํ ๋ฌธ์์ด์ ๋ง๋๋ ํจ์์ด๋ค. 7. RTRIM() RTRIM() ํจ์๋ ๋ฌธ์์ด์ ์ค๋ฅธ์ชฝ ..
2021.10.20 -
[oracle] sql ๋ ์ง ๊ด๋ จ ํจ์ sysdate, next_day(), last_day(), add_months(), months_between()
1. SYSDATE SYSDATE๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ค์น๋ ์๋ฒ๋ ๊ฐ์ธ ์ปดํจํฐ์ ์ผ์๋ฅผ ํน์ ํ์์ผ๋ก ๊ฒ์ํ๋ค. current_date๋ผ๊ณ ์ ๋ ฅํด๋ sysdate์ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋์จ๋ค. 2. SYSDATE- TO_CHAR() TO_CHAR() ํจ์๋ '๋ ์ง'๋ฅผ '๋ ์งํ์'์ ํ์ํ๋ ๋ฌธ์๋ก ๋ฐ๊พธ๋ ๊ธฐ๋ฅ์ด๋ค. TO_CHAR(๋ ์ง, [๋ ์งํ์]); 3. SYSDATE- TO_DATE() TO_DATE() ํจ์๋ ๋งค๊ฐ๋ณ์๋ก ์ ๋ ฅํ '๋ ์ง ํ์ ๋ฌธ์์ด'์ ๋ ์ง๋ก ๋ฐ๊พธ๋ ๊ธฐ๋ฅ์ผ๋ก ๋ฐ๊พผ ๋ ์ง๋ +, - ์ฐ์ฐ์ด ๊ฐ๋ฅํ๋ค. TO_DATE(๋ ์งํ์ ๋ฌธ์์ด); ํ์ฌ ๋ ์ง - BIRTH_DAY /365 ํ๊ณ 1์ด ๋ํ๋ฉด ๋๋ค. 4. NEXT_DAY() NEXT_DAY() ํจ์๋ ์ง์ ์ผ ์ดํ์ ๋ ์ง๋ฅผ ๊ตฌํ๋ ๊ธฐ๋ฅ์ผ๋ก, ๋งค๊ฐ๋ณ์..
2021.10.15 -
[oracle] sql ์งํฉ ๋ช ๋ น์ด (union, union all, minus, intersect)
1. union select ํ๋๋ช 1, ํ๋๋ช 2 ... from ํ ์ด๋ธ๋ช 1 union select ํ๋๋ช 1, ํ๋๋ช 2 ... from ํ ์ด๋ธ๋ช 2; 2. union all select ํ๋๋ช 1, ํ๋๋ช 2 ... from ํ ์ด๋ธ๋ช 1 union all select ํ๋๋ช 1, ํ๋๋ช 2 ... from ํ ์ด๋ธ๋ช 2; union all์ ์ค๋ณต์ ํ์ฉํ๋ ํฉ์งํฉ์ด๋ค. 3. intersect ๊ต์งํฉ select ํ๋๋ช 1, ํ๋๋ช 2 ... from ํ ์ด๋ธ๋ช 1 intersect select ํ๋๋ช 1, ํ๋๋ช 2 ... from ํ ์ด๋ธ๋ช 2; 4. minus ์ฐจ์งํฉ select ํ๋๋ช 1, ํ๋๋ช 2 ... from ํ ์ด๋ธ๋ช 1 minus select ํ๋๋ช 1, ํ๋๋ช 2 ... from ํ ์ด๋ธ๋ช 2;
2021.10.15 -
[oracle] ๊ธฐ๋ณธ ๋ช ๋ น์ด (update, insert, delete, merge, commit, rollback, ์๋ธ์ฟผ๋ฆฌ, exists)
1. update update ํ ์ด๋ธ๋ช set ํ๋๋ช 1 = ๊ฐ, ํ๋๋ช 2 = ๊ฐ, ... where ์กฐ๊ฑด์; 2. insert insert into ํ ์ด๋ธ๋ช values (๊ฐ1, ๊ฐ2, ๊ฐ3, ...); or insert into ํ ์ด๋ธ๋ช (ํ๋๋ช 1, ํ๋๋ช 2...) valeus ( ๊ฐ1, ๊ฐ2,...); 3. merge merge ๋ช ๋ น์ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ง์ ํ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํ๊ฑฐ๋ ์์ ํ๋ค. ์ผ๋ฐ์ ์ผ๋ก ์กฐ๊ฑด์์ ๋ฐ๋ผ ๋ฐ์ดํฐ๊ฐ ์๋ค๋ฉด update ๊ตฌ๋ฌธ์ ์ฒ๋ฆฌํ๊ณ , ๋ฐ์ดํฐ๊ฐ ์๋ค๋ฉด insert ๊ตฌ๋ฌธ์ ์ฒ๋ฆฌํ๋ค. merge into ์ ๋ ฅ/ ์์ ํ ํ ์ด๋ธ๋ช using (ํ ์ด๋ธ๋ช | ๋ทฐ| ์๋ธ์ฟผ๋ฆฌ) on ์กฐ๊ฑด์ when matched then update set ํ๋๋ช 1 = ๊ฐ1, ... when not m..
2021.10.15 -
[oracle] ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ๋ณธ ๋ช ๋ น์ด (select, where, and, or, between, ๋น๊ต์ฐ์ฐ์, like, in, order by)
์ ๋ง ๊ธฐ์ด์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ช ๋ น์ด๋ฅผ ์ ๋ฆฌํด๋ดค๋ค. 1. select select ํ๋๋ช form ํ ์ด๋ธ๋ช ; ์ด ํ์์ด ๊ธฐ๋ณธ์ด๋ค. ex) select * from tb_customer; ํ๋ฉด tb_customer ํ ์ด๋ธ์ ์ ์ฒด๋ฅผ ๋ณด์ฌ์ค๋ค. select ํ๋๋ช as '๋ณ๋ช ' form ํ ์ด๋ธ๋ช ; ํ๋ฉด ํ๋๋ช ์ '๋ณ๋ช '์ผ๋ก ๋ฐ๊ฟ์ ๋ํ๋ผ ์ ์๋ค. ์ด๋ ๋ณ๋ช ์ ๊ณต๋ฐฑ์ ํฌํจํ๋ค๋ฉด ๋ฐ์ดํ๋ฅผ ์ฌ์ฉํด์ค์ผํ๋ค. 2. where select ํ๋๋ช from ํ ์ด๋ธ๋ช where ์กฐ๊ฑด; 3. and select ํ๋๋ช from ํ ์ด๋ธ๋ช where ์กฐ๊ฑด1 and ์กฐ๊ฑด2 ...; 4. or select ํ๋๋ช from ํ ์ด๋ธ๋ช where ์กฐ๊ฑด1 or ์กฐ๊ฑด2 ...; * and , or ํผํฉ 5. between A and B.. s..
2021.10.14 -
[Oracle] OracleXE์์ ํฐ์บฃ๊ณผ 8080 ํฌํธ ์ถฉ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ ,127.0.0.1:%HTTPPORT%/apex/f?p=4950์(๋ฅผ) ์ฐพ์ ์ ์์ต๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ
์ค๋ผํด์ ์ค์นํ๊ณ ๋์ ๋ฐํํ๋ฉด์ ์ด๋ฐ ์์ด์ฝ์ด ์๊ธฐ๋๋ฐ ์ด๊ฑธ ํด๋ฆญํด์ ๊ธฐ๋ณธ์ ์ธ db ์ค์ ์ ํด์ค์ผํ๋๋ฐ ์ค๋ฅ๊ฐ ์๊ฒผ๋ค..! 127.0.0.1:%HTTPPORT%/apex/f?p=4950์(๋ฅผ) ์ฐพ์ ์ ์์ต๋๋ค. ๋ผ๋ ์ค๋ฅ๊ฐ ๋ด๋๋ฐ ์ด์ ๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด๋ค. ์ฐ์ ๋๋ ํฐ์บฃ์์ 8080 ํฌํธ๋ฒํธ๋ฅผ ์ฐ๊ณ ์๊ธฐ ๋๋ฌธ์๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค๊ณ ์๊ฐํ๋ค. ๋ฐ๋ผ์ ํฐ์บฃ์ 8080 ์ฐ๊ณ , ์ค๋ผํด์ 9090์ผ๋ก ์ง์ ํด์ค ์์ ์ด๋ค. ์ฐ์ cmd์์ sqlplus ๋ช ๋ น์ ์ ๋ ฅํ๋ค. ๊ทธ ํ์ ์ด๋ฐ ๋ฉ์์ง๋ฅผ ํ์ธํ ์ ์๋ค. ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํด์ฃผ๊ณ , ์ ์์ด ๋๋ฉด ๋จผ์ 1๏ธโฃSELECT DBMS_XDB.GETHTTPPORT() FROM DUAL; ๋ช ๋ น์ ํตํด ๊ธฐ๋ณธ ํฌํธ๋ฅผ ํ์ธํ๋ค. 8080์ผ๋ก ์ค์ ๋์ด์๋ค. 2๏ธโฃEXEC DBM..
2021.10.14 -
[Oracle] OracleXE 11gR2 ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค์นํ๊ธฐ
ํญ์ mariadb๋ฅผ ์ฌ์ฉํด์ค๋ค๊ฐ ๊ฐ์๊ธฐ ์ํ์ด ์ค๋ผํด๋ก ๋์จ๋คํด์ ์ค๋ผํด์ ์ค์น๋ถํฐ ํด์ ๋ค์ ์ค๋ผํด๋ก ๊ณต๋ถ๋ฅผ ํด๋ณด๋ ค๊ณ ํ๋ค! ํฌ๊ฒ ๋ค๋ฅด์ง๋ ์์ง๋ง ๊ฐ๋ ์ฟผ๋ฆฌ๋ฌธ์ด ๋ค๋ฅผ ๋๊ฐ ์์ด์ ์ํ์ ์ํด ์ค๋ผํด์ ์ต์ํด์ง๋๊ฒ ์ข์ ๋ฏ! ํ๋ค. 1. ์ค๋ผํด ์ค์น url https://www.oracle.com/database/technologies/xe-prior-release-downloads.html ๋๋ ์ค๋ผํด XE ๋ฒ์ ์ ๋ค์ด๋ฐ์ ๊ฒ์ด๋ค! XE ๋ ๊ฐ์ธ ์ปดํจํฐ์ ์ค์นํ๋ ๊ต์ก์ฉ ๋ฒ์ ์ ์ค๋ผํด๋ก, ๊ฐ๋จํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ํ๋ก๊ทธ๋จ์ ์ ๊ณตํ๋ค. ์๋ง ๊ต์ก์ฉ ๋ง๊ณ ๋ ์ ๋ฃ์๋๊ฑฐ ๊ฐ์๋ฐ .ใ . ๋๋ ์ด๊ฑธ ๋ค์ด๋ฐ์๋ค. ๋๋ถ๋ถ 11g ๋ฒ์ ์ ๋ค์ด ๋ฐ๋ ๊ฒ ๊ฐ๋ค. ์ต์ ๋ฒ์ ์ 19๋ฒ์ ? ๊น์ง ๋์์๋๊ฒ ๊ฐ๊ธดํ๋ค. ์ค์นํ ..
2021.10.14 -
[Database] Transaction๊ณผ Trigger
1. Transaction ํธ๋์ญ์ ์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํ๋ฅผ ๋ณํ์ํค๋ ํ๋์ ๋ ผ๋ฆฌ์ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํ ์์ ์ ๋จ์ ๋๋ ํ๊บผ๋ฒ์ ์ํ๋์ด์ผ ํ ์ผ๋ จ์ ์ฐ์ฐ๋ค์ ์๋ฏธํ๋ค. ํธ๋์ญ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์์ ๋ณํ ์ ์ด ๋ฐ ํ๋ณต ์์ ์ ์ฒ๋ฆฌ๋๋ ์์ ์ ๋ ผ๋ฆฌ์ ๋จ์์ด๋ค. 2. Transaction ํน์ง 1๏ธโฃ ์์์ฑ Automicity ํธ๋์ญ์ ์ ์ฐ์ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ชจ๋ ๋ฐ์๋๊ฑฐ๋ ํน์ ์ ํ ๋ฐ์๋์ง ์์์ผ ํ๋ค. 2๏ธโฃ ์ผ๊ด์ฑ Consistency ํธ๋์ญ์ ์ด ์คํ์ ์ฑ๊ณต์ ์ผ๋ก ์๋ฃํ๋ฉด ์ธ์ ๋ ์ผ๊ด์ฑ ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํ๋ก ๋ณํํ๋ค. ํธ๋์ญ์ ์ ์์ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๊ฐ ํญ์ ์ผ๊ด์ฑ ์์ด์ผ ํ๋ค. 3๏ธโฃ ๋ ๋ฆฝ์ฑ, ๊ฒฉ๋ฆฌ์ฑ (Isolation) ๋ ์ด์์ ํธ๋์ญ์ ์ด ๋์์ ๋ณํ ์คํ๋๋ ๊ฒฝ์ฐ ์ด๋ ํ๋์ ํธ๋์ญ์ ..
2021.10.13 -
[Database] ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํค ์ข ๋ฅ (๊ธฐ๋ณธํค, ํ๋ณดํค, ์ธ๋ํค, ์ํผํค, ๋์ฒดํค)
1. ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํค (key) ๋? ํค (key) ๋ ํค๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ํํ์ ์ฐพ๊ฑฐ๋ ์์๋๋ก ์ ๋ ฌํ ๋ ๊ธฐ์ค์ด ๋๋ ์์ฑ์ ๋งํ๋ค. ํค๋ ์ฃผ์ด์ง ๋ฆด๋ ์ด์ ์์ ๋ชจ๋ ์ธ์คํด์ค ๊ฐ์ด๋ฐ ์ ์ผํจ์ ๋ณด์ฅํด์ฃผ๋ ํ๋ ์ด์์ ์์ฑ ์งํฉ์ผ๋ก, ์๋ณ์๋ผ๊ณ ๋ ํ๋ค. 2. ํค์ ์์ฑ ํค๋ ์ฐ์ ์ ์ผ์ฑ๊ณผ ์ต์์ฑ์ด๋ผ๋ ์์ฑ์ด ์๋ค. - ์ ์ผ์ฑ (Uniqueness) : ํ๋์ ํค ๊ฐ์ผ๋ก ํํ์ ์ ์ผํ๊ฒ ์๋ณํ ์ ์๋ ์ฑ์ง์ ์๋ฏธํ๋ค. - ์ต์์ฑ (Minimality) : ํค๋ฅผ ๊ตฌ์ฑํ๋ ์์ฑ๋ค ์ค ๊ผญ ํ์ํ ์ต์ํ์ ์์ฑ๋ค๋ก๋ง ํค๋ฅผ ๊ตฌ์ฑํ๋ ์ฑ์ง์ ์๋ฏธํ๋ค. 3. ํ๋ณดํค (Candidate key) ํ๋ณดํค๋ ๋ฆด๋ ์ด์ ์ ๊ตฌ์ฑํ๋ ์์ฑ๋ค ์ค์์ ํํ์ ์ ์ผํ๊ฒ ์๋ณํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ์์ฑ๋ค์ ๋ถ๋ถ์ง..
2021.10.13