๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

    ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์šฉ์–ด ์ •๋ฆฌ - ๋ฆด๋ ˆ์ด์…˜(ํ…Œ์ด๋ธ”) ์†์„ฑ ํˆฌํ”Œ(๋ ˆ์ฝ”๋“œ) ๋„๋ฉ”์ธ ํ‚ค(๊ธฐ๋ณธํ‚ค ์™ธ๋ž˜ํ‚ค) ERD entity ๊ฐœ์ฒด ์†์„ฑ

    ๋ฆด๋ ˆ์ด์…˜(ํ…Œ์ด๋ธ”) : ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ •๋ณด๋ฅผ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ €์žฅํ•˜๋Š” ๊ธฐ๋ณธ ๋‹จ์œ„ ๋ฆด๋ ˆ์ด์…˜์€ ํ˜„์‹ค์„ธ๊ณ„์˜ ์–ด๋–ค ๊ฐœ์ฒด(entity)๋ฅผ ํ‘œํ˜„ํ•˜๊ณ  ์ €์žฅํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋จ (๊ฐœ์ฒด๋กœ๋Š” ์‚ฌ๋ฌผ, ์ถ”์ƒ์ ์ธ ๊ฐœ๋… ๊ฐ€๋Šฅ) ๋ฐ์ดํ„ฐ๋“ค์˜ ํ‘œ(Table)์˜ ํ˜•ํƒœ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ ๊ตฌ์กฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฆด๋ ˆ์ด์…˜ ์Šคํ‚ค๋งˆ์™€ ์‹ค์ œ ๊ฐ’๋“ค์ธ ๋ฆด๋ ˆ์ด์…˜ ์ธ์Šคํ„ด์Šค๋กœ ๊ตฌ์„ฑ๋จ ์†์„ฑ: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ€์žฅ ์ž‘์€ ๋…ผ๋ฆฌ์  ๋‹จ์œ„์ด๋ฉฐ ๊ฐœ์ฒด์˜ ํŠน์„ฑ์„ ๊ธฐ์ˆ  ๋‚ด๊ฐ€ ์ €์žฅํ•˜๊ณ  ์‹ถ์€ ๊ฐœ์ฒด์˜ ํ•ญ๋ชฉ๋“ค ํ•˜๋‚˜์˜ ์—ด์€ ํ•˜๋‚˜์˜ ์†์„ฑ ์ •๋ณด๋ฅผ ํ‘œ์‹œํ•จ ๋™์ผ ๋ฆด๋ ˆ์ด์…˜ ๋‚ด์—์„œ๋Š” ๊ฐ™์€ ์ด๋ฆ„์˜ ์†์„ฑ์ด ์กด์žฌํ•  ์ˆ˜ ์—†์œผ๋‚˜, ๋ฆด๋ ˆ์ด์…˜์ด ๋‹ค๋ฅด๋ฉด ๊ฐ™์€ ์†์„ฑ ์ด๋ฆ„์„ ๊ณตํ†ต์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ๋ ˆ์ฝ”๋“œ,ํˆฌํ”Œ: ๋ฆด๋ ˆ์ด์…˜์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ๊ฐ์˜ ํ–‰์„ ๋งํ•˜๋ฉฐ, ์†์„ฑ์˜ ๋ชจ์ž„์œผ๋กœ ๊ตฌ์„ฑ ๋ฆด๋ ˆ์ด์…˜์ด ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐœ์ฒดentity์˜ ํŠน์ • ์ธ์Šคํ„ด์Šค์—..

    0201 ๊ตญ๋น„ ์ˆ˜์—… ์˜ค๋ผํด index(unique non unique composite) ์ธ๋ฑ์Šค ์žฌ๊ตฌ์ถ• rebuild ์ธ๋ฑ์Šค ํžŒํŠธ index hint

    *index - ๋ ˆ์ฝ”๋“œ์˜ ์–‘์ด ๋งŽ์„ ๋•Œ ๋น ๋ฅธ ๊ฒ€์ƒ‰์„ ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๊ฐ์ฒด (CPU cost๊ฐ€ ์ค„์–ด๋“ ๋‹ค) - ์ž๋™ ์ธ๋ฑ์Šค, ์ˆ˜๋™ ์ธ๋ฑ์Šค ์ œ๊ณต ์ž๋™์ธ๋ฑ์Šค: ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ–ˆ์„ ๋•Œ ์ž๋™์œผ๋กœ PK,UX์— ์˜ํ•ด ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ์ธ๋ฑ์Šค unique ์ธ๋ฑ์Šค๊ฐ€ ์ž๋™ ์ƒ์„ฑ ์ˆ˜๋™์ธ๋ฑ์Šค: ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•„์š”์— ์˜ํ•ด์„œ ์ƒ์„ฑํ•˜๋Š” ์ธ๋ฑ์Šค(unique,non unique, bitmap,composite) -๋ชจ๋“  ๊ณ„์ •์€ index๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Œ - user_indexes DD์—์„œ ๋งŒ๋“ค์–ด์ง„ ์ธ๋ฑ์Šค ํ™•์ธ ๊ฐ€๋Šฅ -๋ชจ๋“  ๋ ˆ์ฝ”๋“œ๋Š” rowid(๋ ˆ์ฝ”๋“œ๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ, ๊ฒน์น˜์ง€ ์•Š์Œ)๋ฅผ ๊ฐ€์ง AAAShCAAHAAAAKEAAA ( AAAShC ๋ฐ์ดํ„ฐ๊ฐ์ฒด๋ฒˆํ˜ธ AAH ํŒŒ์ผ๋ฒˆํ˜ธ AAAAKE ๋ธ”๋ก๋ฒˆํ˜ธ AAA ๋ ˆ์ฝ”๋“œ๋ฒˆํ˜ธ) DB๋Š” ๋‚ด์šฉ์— ์˜ํ•œ ..

    ์˜ค๋ผํด CRUD

    *CRUD (create, insert, select, update, alter, delete, truncate) create - create, insert, grant read - select update - update, alter, commit(๋ฉ”๋ชจ๋ฆฌ ์ž‘์—… ๋‚ด์šฉ์„ ํ•˜๋“œ์— ์ ์šฉ), rollback(์ž‘์—… ์ทจ์†Œ) delete - delete, truncate, drop, revoke

    0201 ๊ตญ๋น„ ์ˆ˜์—… JDBC driver DBMS ์ž‘์—… ์ˆœ์„œ DB ์—ฐ๊ฒฐ ์ž‘์—… ์ž๋ฐ” ์ฟผ๋ฆฌ ์‹คํ–‰

    Java DBMS ์—ฐ์‚ฐ, ์ œ์–ด, ์ž…์ถœ๋ ฅ, ๋„คํŠธ์›Œํฌ, ํ™”๋ฉด ์ƒ์„ฑ (๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ๊ฐ€ ์–ด๋ ค์›€) ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ, ์—ฐ์‚ฐ (ํ™”๋ฉด ์ƒ์„ฑ ๋ชปํ•จ) JDBC ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ๊ฐ€ ๋˜๋ฉด์„œ ์˜ˆ์œ ํ™”๋ฉด์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค์–ด์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณต *JDBC(Java DataBase Connectivity) -Java์—์„œ DBMS์™€ ์—ฐ๋™ํ•˜๊ธฐ์œ„ํ•œ ์ €์ˆ˜์ค€ API -java.sql ํŒจํ‚ค์ง€์—์„œ ๊ด€๋ จ ์ธํ„ฐํŽ˜์ด์Šค, ํด๋ž˜์Šค๋ฅผ ์ œ๊ณต -Driver loading ๋ฐฉ์‹ ( Driver๋งŒ ์ œ๊ณต๋œ๋‹ค๋ฉด ๋ชจ๋“  DBMS์™€ ์—ฐ๋™ํ•  ์ˆ˜ ์žˆ์Œ) *Driver: -DB Server์— ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•œ DB Client๋ฅผ .classํŒŒ์ผ๋กœ ๋งŒ๋“  ๊ฒƒ -sun์‚ฌ์—์„œ interface๋กœ ์ž‘์—… ๋ชฉ๋ก์„ ์ œ๊ณตํ•˜๊ณ , DB Vendor์‚ฌ์—์„œ interface์— ํ•ด๋‹นํ•˜๋Š” ์ž‘์—…๋“ค์„ ์ž์ฒด ๊ฐœ๋ฐœํ•˜์—ฌ ์ œ๊ณต..

    0131 ๊ตญ๋น„ ์ˆ˜์—… ์˜ค๋ผํด outer join self join ๋ฐฑ์—… ๋ณต์› ๊ณ„์ • synonym ๋™์˜์–ด view

    *outer join -ํ•œ์ชฝ ํ…Œ์ด๋ธ”์—๋งŒ ๊ฐ’(๋ ˆ์ฝ”๋“œ)์ด ์กด์žฌํ•ด๋„ ๊ฒ€์ƒ‰๋˜๋Š” ์กฐ์ธ -ANSI ๋ฌธ๋ฒ• > left,right,full outer๋ฅผ ์ง€์› -Oracle ๋ฌธ๋ฒ• > left,right๋งŒ ์ง€์› ๋ฌธ๋ฒ•) Oracle select ์ปฌ๋Ÿผ๋ช…, ํ…Œ์ด๋ธ”๋ช….์ปฌ๋Ÿผ๋ช…, alias.์ปฌ๋Ÿผ๋ช… // alias์ฃผ๊ธฐ ์ „ from ํ…Œ์ด๋ธ”๋ช… alias , ์กฐ์ธํ•  ํ…Œ์ด๋ธ”๋ช… alias,,, where (์กฐ์ธ์กฐ๊ฑด) and (๊ฒ€์ƒ‰์กฐ๊ฑด) alias.์ปฌ๋Ÿผ๋ช…(+) = alias.์ปฌ๋Ÿผ๋ช… (driving ํ…Œ์ด๋ธ”) // ๋‘˜ ์ค‘์— ํ•œ ์ชฝ์—๋งŒ ๊ฐ’์ด ์žˆ์–ด๋„ ๊ฐ€์ ธ์˜ด (+) ๊ธฐํ˜ธ๋ฅผ ๋ ˆ์ฝ”๋“œ๊ฐ€ ์—†๋Š” ์ปฌ๋Ÿผ์— ๋ถ™์ธ๋‹ค //์–‘์ชฝ์— ๋ถ™์ด๋ฉด ์—๋Ÿฌ ANSI select ์ปฌ๋Ÿผ๋ช…,,,, , ํ…Œ์ด๋ธ”๋ช….์ปฌ๋Ÿผ๋ช…, alias.์ปฌ๋Ÿผ๋ช… from ํ…Œ์ด๋ธ”๋ช… alias [left|right|ful..

    0130 sequence ํ…Œ์ด๋ธ” ์กฐํ•ฉ ๊ฒ€์ƒ‰(union join) ์ •๊ทœํ™”(1NF 2NF 3NF) ๋„๋ฉ”์ธ์˜ ์›์ž์„ฑ ๋ถ€๋ถ„ํ•จ์ˆ˜ ์ดํ–‰ํ•จ์ˆ˜ ์ข…์†์ œ๊ฑฐ drivingํ…Œ์ด๋ธ” inner join

    *sequence -์ˆœ์ฐจ์ ์ธ ๋ฒˆํ˜ธ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฐ์ฒด -Oracle 11g๊นŒ์ง€๋Š” DBMS๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด ์„ค์ •ํ•ด๋†“์€ ๋ฒˆํ˜ธ๋งŒํผ ์‚ฌ๋ผ์ง (12c๋ถ€ํ„ฐ๋Š” ํ•ด๋‹น ๋ฌธ์ œ๊ฐ€ ์‚ฌ๋ผ์ง) - ์ฟผ๋ฆฌ๋ฌธ์ด ์‹คํŒจ๋˜๋ฉด ํ•ด๋‹น ๋ฒˆํ˜ธ๊ฐ€ ์‚ฌ๋ผ์ง (ex. 1,2,3,5,6,7,10...) // ์—ฐ๋ฒˆ์„ ์“ธ ๋•Œ max+1 -user_sequences DD์—์„œ sequence ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ ๋ฌธ๋ฒ•) -์ƒ์„ฑ create sequence ์‹œํ€€์Šค๋ช… start with ์‹œ์ž‘๋ฒˆํ˜ธ maxvalue ๋๋ฒˆํ˜ธ increment by ์ฆ๊ฐ€๊ฐ’ cache ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•ด๋†“์„ ์ˆ˜์˜ ๊ฐœ์ˆ˜ // ๋ฉ”๋ชจ๋ฆฌ์— ์ผ์ • ๊ฐœ์ˆ˜ ์˜ฌ๋ ค๋‘๊ณ  ๊บผ๋‚ด ์“ด๋‹ค(์†๋„๊ฐ€ ํ–ฅ์ƒ๋จ) ๋ฐ˜๋ณต์—ฌ๋ถ€ (nocycle/cycle) ; -์‚ญ์ œ drop sequence ์‹œํ€€์Šค๋ช… ; -์‚ฌ์šฉ ํ˜„์žฌ ๋ฒˆํ˜ธ๋ฅผ ์–ป๊ธฐ (์ ‘์†์ž ์„ธ์…˜์— ์‹œํ€€์Šค..

    0127 ๊ตญ๋น„ ์ˆ˜์—… ์˜ค๋ผํด ์™ธ๋ž˜ํ‚ค(foreign key) unique check์กฐ๊ฑด not null์กฐ๊ฑด default alter(ํ…Œ์ด๋ธ” ์ œ์•ฝ์‚ฌํ•ญ ๊ณ„์ • ๊ด€๋ฆฌ)

    *์™ธ๋ž˜ํ‚ค (foreign key) - ๋ถ€๋ชจ ํ…Œ์ด๋ธ”์— ์กด์žฌํ•˜๋Š” ์ปฌ๋Ÿผ ๊ฐ’์œผ๋กœ๋งŒ ์ปฌ๋Ÿผ์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•  ๋•Œ - ํ…Œ์ด๋ธ”์˜ ๊ด€๊ณ„๊ฐ€ ์„ค์ •๋จ ( ๋ถ€๋ชจ-์ž์‹๊ด€๊ณ„) - null์„ ํ—ˆ์šฉ ( ๊ฐ’์ด ์—†์„ ์ˆ˜๋„ ์žˆ์ง€๋งŒ ๊ฐ’์ด ์žˆ๋‹ค๋ฉด ๋ถ€๋ชจํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ ๊ฐ’์œผ๋กœ๋งŒ ์กด์žฌ) - ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ FK๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ - user_constraints DD์—์„œ constraint_type์ด ‘R’ ๋กœ ์„ค์ •๋จ - ์ œ์•ฝ์‚ฌํ–ฅ๋ช…: FK_ํ…Œ์ด๋ธ”๋ช…_์ปฌ๋Ÿผ๋ช… ๋ฌธ๋ฒ•) ์ปฌ๋Ÿผ ๋‹จ์œ„ ์ปฌ๋Ÿผ๋ช… ๋ฐ์ดํ„ฐํ˜•(ํฌ๊ธฐ) constraint ์ œ์•ฝ์‚ฌํ•ญ๋ช… references ๋ถ€๋ชจํ…Œ์ด๋ธ”๋ช…(์ปฌ๋Ÿผ๋ช…) on delete cascade (๋ถ€๋ชจํ…Œ์ด๋ธ”์˜ ๋ ˆ์ฝ”๋“œ๊ฐ€ ์‚ญ์ œ๋˜๋ฉด ์ž์‹ ํ…Œ์ด๋ธ”์˜ ๋ ˆ์ฝ”๋“œ๊ฐ€ ์ž๋™์œผ๋กœ ์‚ญ์ œ๋˜๋Š” ์˜ต์…˜ (์†Œ์œ ๊ถŒ์ด ๋‹ฌ๋ผ์„œ ์ž˜ ์•ˆ์”€)) ํ…Œ์ด๋ธ”๋‹จ์œ„ ์ปฌ๋Ÿผ๋ช… ๋ฐ์ดํ„ฐํ˜•(ํฌ๊ธฐ) , ,..

    0126 ๊ตญ๋น„ ์ˆ˜์—… ์˜ค๋ผํด select ์„œ๋ธŒ์ฟผ๋ฆฌ scalar ์„œ๋ธŒ์ฟผ๋ฆฌ ๋ณต์ˆ˜ํ–‰ ์„œ๋ธŒ์ฟผ๋ฆฌ rownum ์ œ์•ฝ์‚ฌํ•ญ constraint ๊ธฐ๋ณธํ‚ค primary key ERD

    *select ์„œ๋ธŒ์ฟผ๋ฆฌ -๋‹จ์ˆ˜ํ–‰, ๋ณต์ˆ˜ํ–‰, scalar ์„œ๋ธŒ์ฟผ๋ฆฌ๋ฅผ ์ œ๊ณต scalar ์„œ๋ธŒ์ฟผ๋ฆฌ: -๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์˜ ์ปฌ๋Ÿผ ๊ฐ’์œผ๋กœ ์กฐํšŒํ•  ๋•Œ ์‚ฌ์šฉ - ์„œ๋ธŒ์ฟผ๋ฆฌ๋งŒ ๋ณ„๋„์˜ ์‹คํ–‰์„ ํ•  ์ˆ˜ ์—†์Œ -๋‹จ์ˆ˜ํ–‰ ์„œ๋ธŒ์ฟผ๋ฆฌ๋งŒ ๊ฐ€๋Šฅ -ํ…Œ์ด๋ธ”์€ ๋‹ค๋ฅด๊ณ  ์ปฌ๋Ÿผ๋ช…์ด ๊ฐ™์„ ๋•Œ ์‹๋ณ„ํ•ด์•ผ ํ•จ(ํ…Œ์ด๋ธ”๋ช….์ปฌ๋Ÿผ๋ช…) ์ฟผ๋ฆฌ๊ฐ€ ์‹คํ–‰๋  ์‹œ์ ์˜ ์ปฌ๋Ÿผ๊ฐ’์œผ๋กœ ๋Œ€์ฒด๋จ ๋ฌธ๋ฒ•) select ์ปฌ๋Ÿผ๋ช…, (select,,,) from ํ…Œ์ด๋ธ”๋ช… *๋ณต์ˆ˜ํ–‰ ์„œ๋ธŒ์ฟผ๋ฆฌ -inline view๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒ€์ƒ‰ (์กฐํšŒ ๊ฒฐ๊ณผ๋ฅผ ์‚ฌ์šฉํ•œ ์žฌ์กฐํšŒ) -์™ธ๋ถ€ select์ฟผ๋ฆฌ๋ฌธ ์ปฌ๋Ÿผ๋ช…์€ inline view์— ์˜ํ•ด ๊ฒ€์ƒ‰๋œ ์ปฌ๋Ÿผ๋ช…์ด ๋จ (์•ˆ์ชฝ์ธ ์„œ๋ธŒ์ฟผ๋ฆฌ์—์„œ alias๊ฐ€ ์‚ฌ์šฉ๋˜๋ฉด ๋ฐ”๊นฅ ์ฟผ๋ฆฌ์—์„œ๋Š” alias๋ช…์œผ๋กœ๋งŒ ์‚ฌ์šฉ๋จ ) -๋งŽ์€ ์–‘์˜ ๋ ˆ์ฝ”๋“œ์—์„œ ์ผ๋ถ€๋ถ„์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋ณด์—ฌ์ค˜์•ผํ•  ๋•Œ ์‚ฌ์šฉํ•จ (ex. ๊ฒŒ์‹œ๊ธ€..