๋ฐ˜์‘ํ˜•

sql 37

[TIL] 2021.03.19

Spring ๐Ÿƒ [์Šคํ”„๋ง ์ž…๋ฌธ - ์ฝ”๋“œ๋กœ ๋ฐฐ์šฐ๋Š” ์Šคํ”„๋ง ๋ถ€ํŠธ, ์›น MVC, DB ์ ‘๊ทผ ๊ธฐ์ˆ ] 06. ์Šคํ”„๋ง DB ์ ‘๊ทผ ๊ธฐ์ˆ 01. H2 ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค์น˜02. ์ˆœ์ˆ˜ JDBC03. ์Šคํ”„๋ง ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ04. ์Šคํ”„๋ง JdbcTemplate05. JPA06. ์Šคํ”„๋ง ๋ฐ์ดํ„ฐ JPA SQL ๐Ÿ“‘[SQL๋กœ ํ•˜๋Š” ๋ฐ์ดํ„ฐ ๋ถ„์„] 03. ๋ฐ์ดํ„ฐ ์กฐํšŒ๋กœ ๊ธฐ๋ณธ ๋‹ค์ง€๊ธฐ01. ์ฝ”๋“œ์ž‡์˜ SQL ์‹คํ–‰๊ธฐ ์‚ฌ์šฉ๋ฒ•!02. ๋ฐ์ดํ„ฐ ์กฐํšŒ์˜ ํ•ต์‹ฌ SELECT์™€ WHERE03. SQL ์ž‘์„ฑ ํ˜•์‹์— ๊ด€ํ•œ ์ด์•ผ๊ธฐ04. ์กฐ๊ฑด์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•05. ๋ฌธ์ž์—ด ํŒจํ„ด ๋งค์นญ ์กฐ๊ฑด06. ๊ทธ๋ฐ–์— ์•Œ์•„์•ผ ํ•  ์กฐ๊ฑด ํ‘œํ˜„์‹07. DATE ๋ฐ์ดํ„ฐ ํƒ€์ž… ๊ด€๋ จ ํ•จ์ˆ˜08. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์กฐ๊ฑด ๊ฑธ๊ธฐ09. ์—ฌ๋Ÿฌ ์กฐ๊ฑด์„ ๊ฑธ ๋•Œ ์ฃผ์˜ํ•  ์ 10. ๋ฐ์ดํ„ฐ ์กฐํšŒ ํ€ด์ฆˆ11. ๋ฐ์ดํ„ฐ ์กฐํšŒ ๊ณผ..

CodeSiri/TIL 2021.03.19

[Mini Project ๐Ÿšด๐Ÿป‍โ™€๏ธ] 08. ๊ฒŒ์‹œํŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์ถ•ํ•˜๊ธฐ

1. mysql์—์„œ 'DDA' table์„ ์ƒ์„ฑํ•œ๋‹ค. Field์˜ ์„ธ๋ถ€์‚ฌํ•ญ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค. CREATE TABLE DDA( ddaID INT, //๊ฒŒ์‹œ๊ธ€ ๋ฒˆํ˜ธ ๋ถ€์—ฌ ddaTItle VARCHAR(50), //๊ฒŒ์‹œ๊ธ€ ์ œ๋ชฉ userID VARCHAR(20), //์ž‘์„ฑ์ž ddaDate DATETIME, //์ž‘์„ฑ ๋‚ ์งœ ddaContent VARCHAR(2048), //๊ฒŒ์‹œ๊ธ€ ddaAvailable INT, //๊ธ€์ด ์‚ญ์ œ ๋˜์—ˆ๋Š”๊ฐ€? 1:์‚ญ์ œ ๋˜์ง€ ์•Š์€ ๊ธ€ 0:์‚ญ์ œ๋œ ๊ธ€ PRIMARY KEY (bbsID), //๊ฒŒ์‹œ๊ธ€ ๋ฒˆํ˜ธ๋กœ ๊ตฌ๋ถ„ ); 2. Dda ์ž๋ฐ”๋นˆ์ฆˆ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค. package dda; public class Dda { private int ddaID; private String ddaTitle; privat..

CodeSiri/Project 2021.02.22

SQL ์ตœ์ ํ™” ๊ธฐ๋ณธ ์›๋ฆฌ

CBO(Cost Based Optimizer) - ํ…Œ์ด๋ธ” ๋ฐ ์ธ๋ฑ์Šค ๋“ฑ์˜ ํ†ต๊ณ„ ์ •๋ณด๋ฅผ ํ™œ์šฉํ•˜์—ฌ SQL๋ฌธ์„ ์‹คํ–‰ํ•˜๋Š”๋ฐ ์†Œ์š”๋  ์ฒ˜๋ฆฌ ์‹œ๊ฐ„ ๋ฐ CPU, I/O ์ž์›๋Ÿ‰ ๋“ฑ์„ ๊ณ„์‚ฐํ•˜์—ฌ ๊ฐ€์žฅ ํšจ์œจ์ ์ผ ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š” ์‹คํ–‰๊ณ„ํš์„ ์„ ํƒํ•˜๋Š” ์˜ตํ‹ฐ๋งˆ์ด์ €๋ฅผ ๋น„์šฉ๊ธฐ๋ฐ˜ ์˜ตํ‹ฐ๋งˆ์ด์ €๋ผ๊ณ  ํ•œ๋‹ค. - ๋น„์šฉ๊ธฐ๋ฐ˜ ์˜ตํ‹ฐ๋งˆ์ด์ €๋Š” ํ…Œ์ด๋ธ”, ์ธ๋ฑ์Šค, ์นผ๋Ÿผ ๋“ฑ ๊ฐ์ฒด์˜ ํ†ต๊ณ„์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰๊ณ„ํš์„ ์ˆ˜๋ฆฝํ•˜๋ฏ€๋กœ ํ†ต๊ณ„์ •๋ณด๊ฐ€ ๋ณ€๊ฒฝ๋˜๋ฉด SQL์˜ ์‹คํ–‰๊ณ„ํš์ด ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค. ์‹คํ–‰๊ณ„ํš - SQL ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์‹คํ–‰ ์ ˆ์ฐจ์™€ ๋ฐฉ๋ฒ•์„ ํ‘œํ˜„ํ•œ ๊ฒƒ์ด๋‹ค. - ์กฐ์ธ ๋ฐฉ๋ฒ•, ์กฐ์ธ ์ˆœ์„œ, ์•ก์„ธ์Šค ๊ธฐ๋ฒ• ๋“ฑ์ด ํ‘œํ˜„๋œ๋‹ค. - ์‹คํ–‰๋ฐฉ๋ฒ•์ด ๋‹ฌ๋ผ์ง„๋‹ค๊ณ  ํ•ด์„œ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์ง€์ง€๋Š” ์•Š๋Š”๋‹ค. - CBO์˜ ์‹คํ–‰๊ณ„ํš์—๋Š” ๋‹จ๊ณ„๋ณ„ ์˜ˆ์ƒ ๋น„์šฉ ๋ฐ ๊ฑด์ˆ˜ ๋“ฑ์ด ํ‘œ์‹œ๋œ๋‹ค. - ์ธ๋ฑ์Šค ๋ฒ”์œ„ ์Šค์บ”์€ ๊ฒฐ๊ณผ ๊ฑด์ˆ˜๋งŒํผ..

Certificate/SQLD 2021.01.04

SQL ํ™œ์šฉ

์ˆœ์ˆ˜ ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž์™€ SQL ๋ฌธ์žฅ ๋น„๊ต - SELECT ์—ฐ์‚ฐ์€ WHERE ์ ˆ๋กœ ๊ตฌํ˜„ - PROJECT ์—ฐ์‚ฐ์€ SELECT ์ ˆ๋กœ ๊ตฌํ˜„ - (NATURAL) JOIN ์—ฐ์‚ฐ์€ ๋‹ค์–‘ํ•œ JOIN ๊ธฐ๋Šฅ์œผ๋กœ ๊ตฌํ˜„ - DIVIDE ์—ฐ์‚ฐ์€ ํ˜„์žฌ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Œ ANSI/ISO SQL์—์„œ ํ‘œ์‹œํ•˜๋Š” FROM ์ ˆ์˜ JOIN ํ˜•ํƒœ - INNER JOIN - NATURAL JOIN - USING ์กฐ๊ฑด์ ˆ - ON ์กฐ๊ฑด์ ˆ - CROSS JOIN - OUTER JOIN(LEFT, RIGHT, FULL) INNER ์กฐ์ธ : OUTER JOIN๊ณผ ๋Œ€๋น„ํ•˜์—ฌ ๋‚ด๋ถ€ JOIN์ด๋ผ๊ณ  ํ•˜๋ฉฐ JOIN ์กฐ๊ฑด์—์„œ ๋™์ผํ•œ ๊ฐ’์ด ์žˆ๋Š” ํ–‰๋งŒ ๋ฐ˜ํ™˜๋œ๋‹ค. CROSS ์กฐ์ธ - ํ…Œ์ด๋ธ” ๊ฐ„ JOIN ์กฐ๊ฑด์ด ์—†๋Š” ๊ฒฝ์šฐ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ์˜ ์กฐํ•ฉ์„ ๋งํ•œ๋‹ค. - ๊ฒฐ๊ณผ๋Š”..

Certificate/SQLD 2021.01.04

SQL ๊ธฐ๋ณธ

SQL ๋ฌธ์žฅ๋“ค์˜ ์ข…๋ฅ˜ ๋ช…๋ น์–ด์˜ ์ข…๋ฅ˜ ๋ช…๋ น์–ด ์„ค๋ช… ๋ฐ์ดํ„ฐ ์กฐ์ž‘์–ด (DML) SELECT ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋“ค์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๊ฑฐ๋‚˜ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•œ ๋ช…๋ น์–ด๋ฅผ ๋งํ•˜๋Š” ๊ฒƒ์œผ๋กœ RETRIEVE๋ผ๊ณ ๋„ ํ•œ๋‹ค. INSERT UPDATE DELETE ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ…Œ์ด๋ธ”์— ๋“ค์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ์— ๋ณ€ํ˜•์„ ๊ฐ€ํ•˜๋Š” ์ข…๋ฅ˜์˜ ๋ช…๋ น์–ด๋“ค์„ ๋งํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฐ์ดํ„ฐ๋ฅผ ํ…Œ์ด๋ธ”์— ์ƒˆ๋กœ์šด ํ–‰์„ ์ง‘์–ด๋„ฃ๊ฑฐ๋‚˜, ์›ํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ๋“ค์˜ ๋ช…๋ น์–ด๋“ค์„ DML์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๋ฐ์ดํ„ฐ ์ •์˜์–ด(DDL) CREATE ALTER DROP RENAME ํ…Œ์ด๋ธŒ๋กน ๊ฐ™์€ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ •์˜ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋ช…๋ น์–ด๋“ค๋กœ ๊ทธ๋Ÿฌํ•œ ๊ตฌ์กฐ๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ๋ณ€ํ˜•ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ์ด๋ฆ„์„ ๋ฐ”๊พธ๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์™€ ๊ด€๋ จ๋œ ๋ช…๋ น์–ด๋“ค์„ DDL์ด๋ผ๊ณ  ํ•œ๋‹ค. ๋ฐ์ดํ„ฐ ์ œ์‹œ์–ด(DCL..

Certificate/SQLD 2021.01.04

๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์˜ ์ดํ•ด

๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์ด๋ž€? - ์ •๋ณด์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ๊ด€์ ์˜ ์—…๋ฌด ๋ถ„์„ ๊ธฐ๋ฒ• - ํ˜„์‹ค์„ธ๊ณ„์˜ ๋ฐ์ดํ„ฐ(What)์— ๋Œ€ํ•ด ์•ฝ์†๋œ ํ‘œ๊ธฐ๋ฒ•์— ์˜ํ•ด ํ‘œํ˜„ํ•˜๋Š” ๊ณผ์ • - ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ๋ถ„์„/์„ค๊ณ„์˜ ๊ณผ์ • ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ์œ ์˜์  - ์ค‘๋ณต(Duplication) : ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ, ์‹œ๊ฐ„, ๊ทธ๋ฆฌ๊ณ  ์žฅ์†Œ๋ฅผ ํŒŒ์•…ํ•˜๋Š”๋ฐ ๋„์›€์„ ์คŒ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์—ฌ๋Ÿฌ ์žฅ์†Œ์— ๊ฐ™์€ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ์ž˜๋ชป์„ ํ•˜์ง€ ์•Š๋„๋ก ํ•œ๋‹ค. - ๋น„์œ ์—ฐ์„ฑ(Inflexibility) : ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ์–ด๋–ป๊ฒŒ ์„ค๊ณ„ํ–ˆ๋А๋ƒ์— ๋”ฐ๋ผ ์‚ฌ์†Œํ•œ ์—…๋ฌด ๋ณ€ํ™”์—๋„ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์ด ์ˆ˜์‹œ๋กœ ๋ณ€๊ฒฝ๋จ์œผ๋กœ์จ ์œ ์ง€๋ณด์ˆ˜์˜ ์–ด๋ ค์›€์„ ๊ฐ€์ค‘์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ๋ฐ์ดํ„ฐ์˜ ์ •์˜๋ฅผ ๋ฐ์ดํ„ฐ์˜ ์‚ฌ์šฉ ํ”„๋กœ์„ธ์Šค์™€ ๋ถ„๋ฆฌํ•จ์œผ๋กœ์จ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์€ ๋ฐ์ดํ„ฐ ํ˜น์€ ํ”„๋กœ์„ธ์Šค์˜ ์ž‘์€ ๋ณ€ํ™”๊ฐ€..

Certificate/SQLD 2021.01.04

SQLD ๊ณต๋ถ€ ๋ฐฉ๋ฒ• ๋ฐ ํ•ฉ๊ฒฉ ํ›„๊ธฐ | ์š”์ ์ •๋ฆฌ PDF ๊ณต์œ 

์ œ38ํšŒ SQL ๊ฐœ๋ฐœ์ž(SQLD) ์‹œํ—˜์— ํ•ฉ๊ฒฉํ–ˆ๋‹ค. ์‹œํ—˜ ๋ณด๊ธฐ ์ „ ๋‚˜์˜ SQL ์ง€์‹์€ ๊ฐ„๋‹จํ•œ ์ฟผ๋ฆฌ๋ฌธ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋„์˜€๋‹ค. ์ „ ์ง์žฅ์—์„œ Mysql์„ ์‚ฌ์šฉํ•œ ๊ฒฝํ—˜์ด ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ง์žฅ์„ ๋‹ค๋‹ˆ๋ฉด์„œ ์ค€๋น„ํ–ˆ๋˜ ํ„ฐ๋ผ 2~3์ฃผ ์ •๋„ ๊ณต๋ถ€๋ฅผ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. (ํ•˜๋ฃจ์— 3์‹œ๊ฐ„ ์ •๋„) 1. ์ฑ… ์ถ”์ฒœ ์ฑ…์€ SQL ์ „๋ฌธ๊ฐ€ ๊ฐ€์ด๋“œ๋ฅผ ์ถ”์ฒœํ•œ๋‹ค. ์ด๋ก ์ด ์ •๋ง ์ž์„ธํžˆ ๋‹ค๋ฃจ์—ˆ๊ณ  ๋ฌธ์ œ๋„ ์‹ค๋ ค์žˆ๋‹ค. ๋‹ค๋งŒ, ๋‹จ์ ์ด๋ผ๋ฉด ์ฑ…์˜ ๋‘๊ป˜์™€ ๊ฐ€๊ฒฉ์ด๋‹ค. ๋ฐ์ดํ„ฐ ์ „๋ฌธ๊ฐ€ ์ง€์‹ํฌํ„ธ ์‚ฌ์ดํŠธ์—์„œ ๋™์ผํ•œ ๋‚ด์šฉ์„ ์ œ๊ณตํ•ด์ค˜์„œ ๊ตฌ๋งคํ•˜์ง€ ์•Š๊ณ  ๊ณต๋ถ€ํ•  ์ˆ˜ ์žˆ๋‹ค. (๊ตฌ๊ธ€๋ง ํ•˜๋ฉด PDF ํ†ตํ•ฉ ํŒŒ์ผ๋„ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.) ์ด ๋‚ด์šฉ์„ ๋‚˜๋Š” ๋‚˜์ค‘์— ์•Œ์•„์„œ ์ด๊ธฐ์  SQL ๊ฐœ๋ฐœ์ž๋ฅผ ๊ตฌ๋งคํ•ด์„œ ํ’€์—ˆ๋Š”๋ฐ ๋ฌธ์ œ๋ฅผ ๋งŽ์ด ์ ‘ํ•ด๋ณด๋Š” ์šฉ๋„๋กœ๋Š” ํ™œ์šฉ๋„๊ฐ€ ์ข‹์œผ๋‚˜ ์ด๋ก ์€ ๋„ˆ๋ฌด ์ง‘์•ฝ์ ์œผ๋กœ ์„ค๋ช…..

Certificate/SQLD 2021.01.04
๋ฐ˜์‘ํ˜•
LIST