docker-compose.yml version: '3' services: backend: build: context: . dockerfile: ./backend/Dockerfile expose: - 5000 ports: - "5000:5000" links: - mongo_db:mongo_db depends_on: - mongo_db #restart: always volumes: - ./backend/flask_app:/usr/src/app command: gunicorn -w 1 -b 0.0.0.0:5000 wsgi:app frontend: build: context: . dockerfile: ./frontend/Dockerfile expose: - 3000 ports: - "3000:3000" vol..
๋์ค์ ์ํด ์ฐ๋ ์๋ฒ ๊ตฌ์ถ ์์ 1. aws ๊ฐ์ 2. ec2 ์ธ์คํด์ค ์์ฑ ๋ฐ ํ๋ ฅ์ ip์ ์ฐ๊ฒฐ (ubuntu free tier๋ก ์์ฑ) 3. ์ธ๋ฐ์ด๋ ๊ท์น 80(๊ธฐ๋ณธ) ํฌํธ๋ฒํธ ์ถ๊ฐ(0.0.0.0) 3. ๋ณด์๊ทธ๋ฃน ์ธ๋ฐ์ด๋ ๊ท์น์ ํฌํธ๋ฒํธ 9999 ์ถ๊ฐ (์ฌ์ฉ์ ์ง์ TCP) 4. ์์ ์ pem ํด๋ ๊ฒฝ๋ก์์ chmod 400 songyi.pem ssh -i rlathddl.pem ubuntu@์ง์ ๋ ip์ฃผ์ -> ec2 ์๋ฒ ์ฐ๊ฒฐ 5. docker run -d -p 9999:80 --name apacheweb httpd = host pc (์์ ์ pc) ์์ 9999ํฌํธ๋ก ์ ์์ ํ๋ฉด apacheweb2 ์ปจํ ์ด๋์ ํฌํธ 80์ผ๋ก forwarding ํด์ฃผ๊ฒ ๋ค๋ ์๋ฏธ 6. File Zilla ์ค์น +..
DCL - ์ ์ ๋ฅผ ์์ฑํ๊ณ ๊ถํ์ ์ ์ดํ ์ ์๋ DCL ๋ช ๋ น์ด๊ฐ ์๋ค. ์์คํ ๊ถํ - ORACLE์ DBA ๊ถํ์ ๊ฐ์ง๊ณ ์๋ SYSTEM ์ ์ ๋ก ์ ์ํ๋ฉด ์ ์ ์์ฑ๊ถํ์ ๋ค๋ฅธ ์ ์ ์๊ฒ ๋ถ์ฌํ ์ ์๋ค. CONN SYSTEM/MANAGER -> ์ฐ๊ฒฐ๋์๋ค. GRANT CREATE USER TO SCOTT; -> SCOTT์๊ฒ ์ ์ ์์ฑ ๊ถํ ๋ถ์ฌ CONN SCOTT/TIGER -> ์ฐ๊ฒฐ๋์๋ค. CREATE USER PJS IDENTIFIED BY KOREA7; -> KOREA7 ๋น๋ฐ๋ฒํธ๋ฅผ ๊ฐ์ง ์ ์ PJS ์์ฑ SESSION ์์ฑ ๊ถํ - ์ ์ ๊ฐ ๋ก๊ทธ์ธ์ ํ๊ธฐ ์ํด์๋ CREATE SESSION ๊ถํ์ ๋ถ์ฌ๋ฐ์์ผ ํ๋ค. CONN SYSTESM/MANAGER GRANT CREATE SESSION TO ..
WINDOW FUNCTION - ๋ถ๋ถ์ ์ด๋๋ง ํ๊ณผ ํ๊ฐ์ ๊ด๊ณ๋ฅผ ์ฝ๊ฒ ์ ์ํ๊ธฐ ์ํด ๋ง๋ ํจ์. - ์๋์ฐ ํจ์๋ฅผ ํ์ฉํ๋ฉด ๋ณต์กํ ํ๋ก๊ทธ๋จ์ ํ๋์ SQL๋ฌธ์ฅ์ผ๋ก ์ฝ๊ฒ ํด๊ฒฐํ ์ ์๋ค. - WINDOW ํจ์๋ ๋ค๋ฆ ํจ์์ ๋ฌ๋ฆฌ ์ค์ฒฉํด์ ์ฌ์ฉํ์ง๋ ๋ชปํ์ง๋ง, ์๋ธ์ฟผ๋ฆฌ์์๋ ์ฌ์ฉํ ์ ์๋ค. 1.๊ทธ๋ฃน ๋ด ์์(RANK) ๊ด๋ จ ํจ์ - RANK, DENSE_RANK, ROW_NUMBER ํจ์ 2.๊ทธ๋ฃน ๋ด ์ง๊ณ(AGGREGATE) ๊ด๋ จ ํจ์ - SUM, MAX, MIN, AVG, COUNT ํจ์ 3.๊ทธ๋ฃน ๋ด ํ ์์ ๊ด๋ จ ํจ์ - FIRST_VALUE, LAST_VALUE, LAG, LEAD ํจ์ 4.๊ทธ๋ฃน ๋ด ๋น์จ ๊ด๋ จ ํจ์ - CUME_DIST, PERCENT_RANK, NTILE, RATIO_TO_REPOR..
๋ฐ์ดํฐ ๋ถ์ ํจ์ (AGGREGATE FUNCTIONS) - GROUP FUNCTION์ ํ ๋ถ๋ถ์ด๋ฉฐ, GROUP AGGREGATE FUNCTION์ด๋ผ๊ณ ๋ ๋ถ๋ฅผ ์ ์๋ค. COUNT,SUM,AVG,MAX,MIN์ธ ๊ฐ์ข ์ง๊ณ ํจ์๋ค์ด ํฌํจ๋์ด ์๋ค. (GROUP FUNCTIONS) - ๊ทธ๋ฃนํจ์๋ก๋ ์ง๊ณ ํจ์ ์ ์ธํ๋ฉด, ROLLUPํจ์, CUBE ํจ์, GROUPING SETS ํจ์๊ฐ ์๋ค. - ROLLUP์ GROUP BY์ ํ์ฅ๋ ํํ๋ก ๋ณ๋ ฌ๋ก ์ํ์ด ๊ฐ๋ฅ. (๊ณ์ธต์ ๋ถ๋ฅ๋ฅผ ํฌํจํ๊ณ ์๋ ๋ฐ์ดํฐ ์ง๊ณ์ ์ ํฉ) - CUBE ๋ ๊ฒฐํฉ๊ฐ๋ฅํ ๋ชจ๋ ๊ฐ์ ๋ํ์ฌ ๋ค์ฐจ์์ ์ธ ์ง๊ณ๋ฅผ ์์ฑํ๊ฒ ๋๋ฏ๋ก ROLLUP์ ๋นํด ๋ค์ํ ๋ฐ์ดํฐ๋ฅผ ์ป๋ ์ฅ์ ์ด ์์ง๋ง, ์์คํ ์ ๋ถํ๋ฅผ ๋ง์ด ์ฃผ๋ ๋จ์ ์ด ์๋ค. - GROUPING ..
(์๋ธ์ฟผ๋ฆฌ์ ์์น) WHERE ์ : NESTED SUBQUERY FROM ์ : INLINE VIEW SELECT์ ์ธ : SCALAR SUBQUERY - ์๋ธ์ฟผ๋ฆฌ๋ฅผ ๋ฌธ๋ฒ์ ์ผ๋ก ๊ตฌ๋ถํ๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ SQL๋ฌธ์ด ๊ดํธ๋ก ๋ฌถ์ฌ์ ธ ์์ผ๋ฉด ์๋ธ์ฟผ๋ฆฌ์ด๋ค. - ์๋ธ์ฟผ๋ฆฌ๊ฐ ๋ฉ์ธ์ฟผ๋ฆฌ์ ํฌํจ๋๋ ์ข ์์ ์ธ ๊ด๊ณ์ด๋ค. - ์๋ธ์ฟผ๋ฆฌ๋ ๋ฉ์ธ์ฟผ๋ฆฌ์ ์ปฌ๋ผ์ ๋ชจ๋ ์ฌ์ฉํ ์ ์์ง๋ง ๋ฉ์ธ์ฟผ๋ฆฌ๋ ์๋ธ์ฟผ๋ฆฌ์ ์ปฌ๋ผ์ ์ฌ์ฉํ ์ ์๋ค. (JAVA์ ์์๊ณผ ๊ฐ์ ๊ฐ๋ ) - ์๋ธ์ฟผ๋ฆฌ์์๋ ORDER BY ์ฌ์ฉํ์ง ๋ชปํจ. ์๋ธ์ฟผ๋ฆฌ์ ์กฐ์ธ ์๋ธ์ฟผ๋ฆฌ์ ์กฐ์ธ์ ๋ ผ๋ฆฌ์ ์ผ๋ก ๊ตฌ๋ถํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ๋ ๊ฐ์ ํ ์ด๋ธ ์์น๋ฅผ ๋ฐ๊พธ์ด๋ณด๋ ๊ฒ์ด๋ค. ์กฐ์ธ์ ๋ ๊ฐ์ ํ ์ด๋ธ ์์น๋ฅผ ๋ฐ๊พธ์ด ๋ณด๋๋ผ๋ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋ฉฐ, ์๋ธ์ฟผ๋ฆฌ์ ๊ฒฝ์ฐ๋ ์ฃผ์ข ์ ๊ด๊ณ์ด๋ฏ๋ก ์ผ๋ฐ..
๊ณ์ธตํ ์ง์ - ๊ณ์ธตํ ๋ฐ์ดํฐ๋ ๋์ผ ํ ์ด๋ธ์ ๊ณ์ธต์ ์ผ๋ก ์์์ ํ์ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ ๋ฐ์ดํฐ๋ฅผ ๋งํ๋ค. - ์ํฐํฐ๋ฅผ ์ํ ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ก ์ค๊ณํ ๊ฒฝ์ฐ ๊ณ์ธตํ ๋ฐ์ดํฐ๊ฐ ๋ฐ์ํ๋ค. ์ํ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์๋ก๋ ์กฐ์ง๋, ์ฌ์, ๋ฉ๋ด๋ฑ์ด ์๋ค. ORACLE ๊ณ์ธตํ ์ง์ SELECT ์นผ๋ผ๋ช .. FROM ํ ์ด๋ธ๋ช WHERE ์กฐ๊ฑด START WITH ์กฐ๊ฑด -> ๊ณ์ธต ๊ตฌ์กฐ ์ ๊ฐ์ ์์ ์์น๋ฅผ ์ง์ ํ๋ ๊ตฌ๋ฌธ CONNECT BY PRIOR ์กฐ๊ฑด; -> ๋ค์์ ์ ๊ฐ๋ ์์ ๋ฐ์ดํฐ๋ฅผ ์ง์ ํ๋ ๊ตฌ๋ฌธ "PRIOR ์์ = ๋ถ๋ชจ" ํํ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ณ์ธต ๊ตฌ์กฐ์์ ๋ถ๋ชจ -> ์์ ๋ฐฉํฅ์ผ๋ก ๋ด๋ ค๊ฐ๋ ์๋ฐฉํฅ์ผ๋ก ์ ๊ฐ๋๋ค. "PRIOR ๋ถ๋ชจ = ์์" ํํ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ณ์ธต ๊ตฌ์กฐ์์ ์์ -> ๋ถ๋ชจ ๋ฐฉํฅ์ผ๋ก ์ฌ๋ผ๊ฐ๋ ์ญ๋ฐฉํฅ์ผ๋ก ์ ๊ฐ๋๋ค..
์งํฉ์ฐ์ฐ์ ์ฌ์ฉํ๊ธฐ ์ํ ์ ์ฝ์กฐ๊ฑด - SELECT ์ ์ ์นผ๋ผ ์๊ฐ ๋์ผํ๊ณ SELECT ์ ์ ๋์ผ ์์น์ ์กด์ฌํ๋ ์นผ๋ผ์ ๋ฐ์ดํฐ ํ์ ์ด ์ํธ ํธํ ๊ฐ๋ฅํด์ผ ํ๋ค. (๋ฐ๋์ ๋์ผํ ๋ฐ์ดํฐ ํ์ ์ผ ํ์๋ ์์) ์ข ๋ฅ - UNION : ์ฌ๋ฌ๊ฐ์ SQL๋ฌธ์ ๊ฒฐ๊ณผ์ ๋ํ ํฉ์งํฉ์ผ๋ก ๊ฒฐ๊ณผ์์ ๋ชจ๋ ์ค๋ณต๋ ํ์ ํ๋์ ํ์ผ๋ก ๋ง๋ ๋ค. - UNION ALL : ์ฌ๋ฌ๊ฐ์ SQL๋ฌธ์ ๊ฒฐ๊ณผ์ ๋ํ ํฉ์งํฉ์ผ๋ก ์ค๋ณต๋ ํ๋ ๊ทธ๋๋ก ๊ฒฐ๊ณผ๋ก ํ์๋๋ค. ์ฌ๋ฌ ์ง์ ๊ฒฐ๊ณผ ์ํธ๋ฐฐํ์ ์ผ ๋ ๋ง์ด ์ฌ์ฉํ๋ค. ๊ฐ๋ณ SQL๋ฌธ์ ๊ฒฐ๊ณผ๊ฐ ์๋ก ์ค๋ณต๋์ง ์๋ ๊ฒฝ์ฐ, UNION๊ณผ ๊ฒฐ๊ณผ ๋์ผ - INTERSECT : ์ฌ๋ฌ๊ฐ์ SQL๋ฌธ์ ๊ฒฐ๊ณผ์ ๋ํ ๊ต์งํฉ์ด๋ค. ์ค๋ณต๋ ํ์ ํ๋์ ํ์ผ๋ก ๋ง๋ ๋ค. - EXCEPT : ์์ SQL๋ฌธ์ ๊ฒฐ๊ณผ์์ ๋ค์ SQL..
FROM ์ ์ JOIN ํํ (์ถ๊ฐ๋ ์ ํ ๊ธฐ๋ฅ์ผ๋ก ํ ์ด๋ธ ๊ฐ์ JOIN ์กฐ๊ฑด์ FROM์ ์์ ๋ช ์์ ์ผ๋ก ์ ์ํ ์ ์๊ฒ ๋์๋ค.) -INNER JOIN -NATURAL JOIN -USIN ์กฐ๊ฑด์ -ON ์กฐ๊ฑด์ -CROSS JOIN -OUTER JOIN โปSQL server์ ๊ฒฝ์ฐ ON ์กฐ๊ฑด์ ๋ง ์ง์ํ๊ณ NATURAL JOIN๊ณผ USING ์ ์ง์ํ์ง ์๋๋ค. 1)INNER JOIN - ๋ด๋ถ JOIN์ด๋ผ๊ณ ํ๋ฉฐ JOIN ์กฐ๊ฑด์์ ๋์ผํ ๊ฐ์ด ์๋ ํ๋ง ๋ฐํํ๋ค. - INNER JOIN ํ์๋ ๊ทธ๋์ WHERE ์ ์์ ์ฌ์ฉํ๋ JOIN ์กฐ๊ฑด์ FROM์ ์์ ์ ์ํ๊ฒ ๋ค๋ ํ์์ด๋ฏ๋ก ๋ค์ ON, USING ๊ผญ ์จ์ฃผ์ด์ผ ํจ - ์์) SELECT EMP.DEPTNO, EMPNO, ENAME, DNAME FROM..
8์ . ORDER BY ์ - ORDER BY ์ ์์ ์นผ๋ผ๋ช , ALIAS๋ช , ์นผ๋ผ ์์๋ฅผ ๊ฐ์ด ํผ์ฉํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๋ค. - ๊ธฐ๋ณธ์ ์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ์ฉ - ORACLE ์ NULL ๊ฐ์ ๊ฐ์ฅ ํฐ ๊ฐ์ผ๋ก ์ทจ๊ธํ๋ค. ๋ฐ๋ฉด, SQL server ๋ ์ต์๊ฐ์ผ๋ก ๊ฐ์ฃผํ๋ค. - ORDER BY ์ ์๋ SELECT ๋ชฉ๋ก์ ๋ํ๋์ง ์์ ๋ฌธ์ํ ํญ๋ชฉ์ด ํฌํจ๋ ์ ์๋ค. (์๋ธ์ฟผ๋ฆฌ๋ก ์ธํด ์ปฌ๋ผ์ด ์ ํ๋์ง ์๋ ๊ฒฝ์ฐ) - ์์) GROUP BY๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ GROUP BY ํํ์(EX)์ง๊ณํจ์,์ฌ์ฉํ ์์ฑ..)์ด ์๋ ๊ฐ์ ๊ธฐ์ ๋ ์ ์๋ค. TOPN์ฟผ๋ฆฌ - SQL SERVER - ๋๊ฑด์ด์์ N ํ์ ๊ฐ์ ธ์ค๊ณ ์ถ์ ๋๋ ROWNUM =N ์ด ์๋๋ผ ROWNUM ,
7์ . GROUP BY, HAVING ์ ์ง๊ณ ํจ์(๋ค์ค ํ ํจ์) - ์ฌ๋ฌ ํ๋ค์ ๊ทธ๋ฃน์ด ๋ชจ์ฌ์ ๊ทธ๋ฃน๋น ๋จ ํ๋์ ๊ฒฐ๊ณผ๋ฅผ ๋๋ ค์ฃผ๋ ํจ์์ด๋ค. - SELECT, HAVING, ORDER BY ์ ์ ์ฌ์ฉ๊ฐ๋ฅ - ํ ์ด๋ธ ์ ์ฒด ์ง๊ณ๋ฅผ ์ํด GROUP BY ์ ์์ด๋ ์ง๊ณํจ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค. - ์ง๊ณํจ์์ค MAX,MIN,COUNT๋ ๋ฌธ์,๋ ์ง ์ ํ์๋ ์ ์ฉ์ด ๊ฐ๋ฅํ๋ค. COUNT(*) - NULL ๊ฐ์ ํฌํจํ ํ์ ์๋ฅผ ์ถ๋ ฅํ๋ค. COUNT(ํํ์) - ํํ์์ ๊ฐ์ด NULL ๊ฐ์ธ ๊ฒ์ ์ ์ธํ ํ์ ์๋ฅผ ์ถ๋ ฅํ๋ค. SUM(ํํ์) - NULL๊ฐ์ ์ ์ธํ ํฉ๊ณ๋ฅผ ์ถ๋ ฅํ๋ค. AVG(ํํ์) - NULL๊ฐ์ ์ ์ธํ ํ๊ท ์ ์ถ๋ ฅํ๋ค. MAX(ํํ์) - ์ต๋๊ฐ ์ถ๋ ฅ MIN(ํํ์) - ์ต์๊ฐ ์ถ๋ ฅ STDDEV(ํํ..
5์ . WHERE์ WHERE์ ์ฐ์ฐ์ (SQL ์ฐ์ฐ์) -BETWEEN A AND B ( NOT BETWEEN A AND B) -IN (list) ( NOT IN (list)) -LIKE '๋น๊ต๋ฌธ์์ด' -IS NULL ( IS NOT NULL) WHERE ์กฐ๊ฑด - CHAR ๋ณ์๋ VARCHAR2 ๊ฐ์ ๋ฌธ์ํ ํ์ ์ ๊ฐ์ง ์นผ๋ผ์ ์ธ์ฉ๋ถํธ(์์ ๋ฐ์ดํ, ํฐ ๋ฐ์ดํ)๋ก ๋ฌถ์ด์ ๋น๊ต - LIKE EX) SELECT PLAYER_NAME ์ ์์ด๋ฆ , POSITION ํฌ์ง์ , BACK_NO ๋ฐฑ๋๋ฒ , HEIGHT ํค FROM PLAYER WHERE PLAYER_NAME LIKE '์ฅ%'; % : 0๊ฐ์ด์์ ๋ฌธ์ _ : 1๊ฐ์ด์์ ๋จ์ผ ๋ฌธ์ - NULL : ์์ง ์ ์๋์ง ์์ ๋ฏธ์ง์ ๊ฐ, '', 0 ๊ณผ๋ ๋ค๋ฅธ ๊ฐ..