CS/DB

Datebase Modeling(๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ชจ๋ธ๋ง) ๋๋ณด๊ธฐ ์ ๋ฌด ํ๋ก์ธ์ค → ๊ฐ๋ ์ ๋ชจ๋ธ๋ง → ๊ฐ๋ ์ ๊ตฌ์กฐ → ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง → ๋ฐ์ดํฐ๋ชจ๋ธ → ๋ฌผ๋ฆฌ์ ๋ชจ๋ธ๋ง → ๋ฌผ๋ฆฌ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค → ์ผ์น์ฑ ๊ฒํ ๋ ผ๋ฆฌ์ ๋ชจ๋ธ๋ง : ๊ฐ๋ ์ ๋ชจ๋ธ๋ง ๋จ๊ณ์์์ Mapping Rule์ ์ ์ฉํ์ฌ, ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ก ์ ์ ๊ฐํ ๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ค๊ณํ๊ณ ์ ๊ทํ ํ๋ ๋จ๊ณ ๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ๊ตฌ์ฑ์์ ๊ฐ์ฒด(Entity) ์์ฑ(Attribute) ๊ด๊ณ(Relationship) : 1-1 ๊ด๊ณ, 1-N ๊ด๊ณ, N-M ๊ด๊ณ(1-N, 1-M๊ด๊ณ๋ก ๋ฐ๊ฟ์ค์ผ ํ๋ค.) ์ ๊ทํ : Attribute๊ฐ์ ์กด์ฌํ๋ ํจ์์ ์ข ์์ฑ์ ๋ถ์ํด์ ๊ด๊ณํ ์คํค๋ง๋ฅผ ๋ ์ข์ ๊ตฌ์กฐ๋ก ์ ์ ํด ๋๊ฐ๋ ๊ณผ์ ์ ๊ทํ๊ฐ ํ์ํ ์ด์ ? → ์ด์ํ..

1. NOW() : ํ์ฌ ๋ ์ง์ ์๊ฐ์ ๋ฐํ 2. CURDATE() : ํ์ฌ ๋ ์ง๋ฅผ ๋ฐํ 3. CURTIME() : ํ์ฌ ์๊ฐ์ ๋ฐํ 4. YEAR(date) : date์ ์ฐ๋ ๋ฐํ 5. MONTH(date) : date์ ์ ๋ฐํ 6. DAYOFMONTH(date) : date์ ์ผ ๋ฐํ 7. MONTHNAME(date) : date์ ์ ์ด๋ฆ ๋ฐํ 8. DAYNAME(date) : date์ ์์ผ๋ช ๋ฐํ 9. DAYOFWEEK(date) : date์ ์ฃผ๋ณ ์ผ์ ์ถ๋ ฅ(์ผ์์ผ์ด๋ฉด 1, ... , ํ ์์ผ์ด๋ฉด 7) 10. WEEKDAY(date) : date์ ์ฃผ๋ณ ์ผ์ ์ถ๋ ฅ(์์์ผ์ด๋ฉด 0, ... , ์ผ์์ผ์ด๋ฉด 6) 11. DATE_ADD(date, interval n {YEAR | MONTH | DA..

1. ROUND(a, d) : a๋ฅผ ๋ฐ์ฌ๋ฆผํด์ ์์์ ์๋ d์๋ฆฌ๋ก ๋ฐํ. (d ์๋ต ์ ์ ์๋ก ๋ฐํ. ์์์ด๋ฉด ์ ์๋ถ.) SELECT ROUND(1234.5678);-- ์ถ๋ ฅ : 1235 SELECT ROUND(1234.5678, 1);-- ์ถ๋ ฅ : 1234.6 SELECT ROUND(1234.5678, 3);-- ์ถ๋ ฅ : 1234.568 SELECT ROUND(1234.5678, -1);-- ์ถ๋ ฅ : 1230 SELECT ROUND(1234.5678, -2);-- ์ถ๋ ฅ : 1200 2. TRUNCATE(a, d) : a๋ฅผ ์์์ d์๋ฆฌ ์ดํ๋ ๋ฒ๋ฆผ SELECT TRUNCATE(1234.5678, 1);-- ์ถ๋ ฅ : 1234.5 SELECT TRUNCATE(1234.5678, 3);-- ์ถ๋ ฅ : 123..

1. LOWER(str), UPPER(str) : str์ ๋ชจ๋ ๋ฌธ์๋ฅผ ์๋ฌธ์๋ ๋๋ฌธ์๋ก ๋ณ๊ฒฝ SELECT LOWER("ABCDEFG");-- ์ถ๋ ฅ : abcdefg SELECT UPPER("abcdefg");-- ์ถ๋ ฅ : ABCDEFG โ LCASE(str), UCASE(str)๋ ๊ฐ๋ค. SELECT LCASE("ABCDEFG");-- ์ถ๋ ฅ : abcdefg SELECT UCASE("abcdefg");-- ์ถ๋ ฅ : ABCDEFG 2. LEFT(str, length), RIGHT(str, length), MID(str, from, length) : str์ ์ผ์ชฝ, ์ค๋ฅธ์ชฝ, ์ค๊ฐ์์ length๋งํผ์ ๋ฌธ์์ด SELECT LEFT("010-1234-5678", 3), MID("010-1234-5678", 5..

1. INSTR(str, substr) : str์์ substr์ด ์ฒ์์ผ๋ก ์์ํ๋ ์์น๋ฅผ ๋ฐํ. ์์น๋ 1๋ถํฐ ์์ํ๊ณ ์๋ค๋ฉด 0์ ๋ฐํ -- "abcdefg"์์ "def"์ ์์น๋ฅผ ๋ฐํ SELECT instr("abcdefg", "def");-- ์ถ๋ ฅ : 4 -- "abcdefg"์์ "xyz"์ ์์น๋ฅผ ๋ฐํ SELECT instr("abcdefg", "xyz");-- ์ถ๋ ฅ : 0 2. LOCATE(substr, str [, pos]) : str์์ substr์ด ์ฒ์์ผ๋ก ์์๋๋ ์์น๋ฅผ ๋ฐํ. pos๋ฅผ ์ด์ฉํด ํ์ ์์ ์์ ์ ์ ํ ์ ์๋ค. (์ฌ์ฉํ์ง ์์ผ๋ฉด ์ฒ์๋ถํฐ) INSTR๊ณผ ํ๋ผ๋ฏธํฐ ์์๊ฐ ๋ค๋ฅด๋ฏ๋ก ์ ์! SELECT LOCATE("app", "appleislove!apple");-- ..

1. ๋น๊ต(๊ด๊ณ) ์ฐ์ฐ์ = > >=

DML(Data Manipulation Language, ๋ฐ์ดํฐ ์กฐ์์ด) ์ง์์ด๋ฅผ ํตํด ๋ฐ์ดํฐ์ ์ ๊ทผํ๊ฑฐ๋ ์กฐ์ DB ์ฌ์ฉ์์ DBMS ๊ฐ์ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณต 1. INSERT : ๋ฐ์ดํฐ ์ถ๊ฐ -- ํ ์ด๋ธ์ ๋ชจ๋ ์์ฑ์ ์ถ๊ฐํ ๋ INSERT INTO ํ ์ด๋ธ์ด๋ฆ VALUES (๋ฐ์ดํฐ1, ๋ฐ์ดํฐ2, ...); -- ํ ์ด๋ธ์ ์ผ๋ถ ์์ฑ๋ง ์ถ๊ฐํ ๋ -- ๋์ํ๋ ์์ฑ๊ณผ ๋ฐ์ดํฐ๋ ๊ฐ์์ ์ ํ์ด ์ผ์นํด์ผ ํ๋ค. INSERT INTO ํ ์ด๋ธ์ด๋ฆ(์์ฑ๋ช 1, ์์ฑ๋ช 3) VALUES (๋ฐ์ดํฐ1, ๋ฐ์ดํฐ3); ์๋ต์ด ๊ฐ๋ฅํ ์์ฑ : NULL์ด ํ์ฉ๋ ์์ฑ, DEFAULT๊ฐ ์ค์ ๋ ์์ฑ, AUTO INCREMENT๊ฐ ์ค์ ๋ ์์ฑ 2. UPDATE : ๋ฐ์ดํฐ ์์ UPDATE ํ ์ด๋ธ์ด๋ฆ SET ์์ฑ๋ช = ๋ฐ์ดํฐ [, ์์ฑ๋ช ..

DDL(Data Definition Language, ๋ฐ์ดํฐ ์ ์์ด) ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ, ๋ฐ์ดํฐ ํ์, ์ ๊ทผ ๋ฐฉ์ ๋ฑ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ตฌ์ถํ๊ฑฐ๋ ์์ 1. CREATE : ์์ฑ CREATE SCHEMA ์คํค๋ง์ด๋ฆ AUTHORIZATION ์ฌ์ฉ์;// ์คํค๋ง ์์ฑ CREATE DOMAIN ๋๋ฉ์ธ์ด๋ฆ [AS] ๋ฐ์ดํฐํ์ // ๋๋ฉ์ธ ์์ฑ [DEFAULT ๊ธฐ๋ณธ๊ฐ] [CONSTRAINT ์ ์ฝ์กฐ๊ฑด๋ช CHECK(๋ฒ์๊ฐ)]; CREATE TABLE ํ ์ด๋ธ์ด๋ฆ ( ์์ฑ๋ช ๋ฐ์ดํฐ ํ์ , ... )// ํ ์ด๋ธ ์์ฑ CREATE VIEW ๋ทฐ์ด๋ฆ AS ์๋ธ์ฟผ๋ฆฌ// ๋ทฐ ์์ฑ CREATE INDEX ์ธ๋ฑ์ค๋ช ON ํ ์ด๋ธ๋ช (์์ฑ๋ช )// ์ธ๋ฑ์ค ์์ฑ 2. ALTER : ์์ ALTER TABLE ํ ์ด๋ธ๋ช ADD ์์ฑ๋ช ๋ฐ์ดํฐํ์ [์ ์ฝ..