[09๋ฒ] ON DELETE CASCADE
์ต์
CASCADE -> ๋ถ๋ชจํ
์ด๋ธ์์ primary ๊ฐ์ด ์ญ์ ๋ ๊ฒฝ์ฐ
์ต์
CASCADE ๋ก ์ ์๋๋ฉด ํ์ํ
์ด๋ธ์ reference๊ฐ์ ์ญ์ ๋๋ฉด์ ์ฐธ์กฐ๋ฌด๊ฒฐ์ฑ์ ์ ์ง
ON DELETE SET NULL / ON UPDATE SET NULL
์ต์
SET NULL -> ๋ถ๋ชจํ
์ด๋ธ์์ primary ๊ฐ์ด ์์ ๋๋ ์ญ์ ๋ ๊ฒฝ์ฐ
ํ์ํ
์ด๋ธ์ reference๊ฐ์ ์กด์ฌํ ์ ์์ต๋๋ค. ์ต์
์ด ์์ ๊ฒฝ์ฐ๋ ์๋ฌ๊ฐ ๋ฐ์ํ๊ณ ์ต์
SET NULL ๋ก ์ ์๋๋ฉด ํ์ํ
์ด๋ธ์ reference๊ฐ์ด NULL ๊ฐ์ผ๋ก ๋ณ๊ฒฝ๋๋ฉด์ ์ฐธ์กฐ๋ฌด๊ฒฐ์ฑ์ ์ ์ง
[28๋ฒ] ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฒฉ๋ฆฌ์ฑ ๋ฌธ์
Dirty Read : ๋ฐ์ดํฐ ์บ์์๋ ๋ณ๊ฒฝ์ด ๋์์ง๋ง, ๋์คํฌ์๋ ๋ณ๊ฒฝ๋์ง ์์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ์์
Non-Repeatable Read : ํธ๋์ญ์ ๋ด ๋ค๋ฅธ ์์ ์ ์ฝ์ ํ๋์ ๋ฐ์ดํฐ๊ฐ ๊ฐ์ด ๋ค๋ฅธ ๊ฒ
Phantom Read : ํธ๋์ญ์ ์ํ ์ค ์๋ ํ์ด ์ถ๊ฐ๋์ด ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ๋๊ฑฐ๋ ์กด์ฌํ๋ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ผ์ง๋ ๊ฒ, ํธ๋์ญ์ ๋ด ๋์ผํ ์กฐ๊ฑด์ผ๋ก ์ฝ์ ๋ฐ์ดํฐ์ ๊ฐ์๊ฐ ๋ฌ๋ผ์ง๋ ๊ฒ
[37๋ฒ] NULL
Oracle์์ ''(๊ณต๋ฐฑ๋ฌธ์)๋ก ๋ฐ์ดํฐ ์ฝ์ ํ๋ฉด -> NULL๊ฐ์ผ๋ก ์ ๋ ฅ๋๋ค.
Oracle์์''(๊ณต๋ฐฑ๋ฌธ์)์ ๋ํด =๋ก ์กฐ๊ฑด ์กฐํํ๋ฉด ์์ ์กฐํ๋์ง ์๋๋ค.
SQL Server์์ ''(๊ณต๋ฐฑ๋ฌธ์)๋ก ๋ฐ์ดํฐ ์ฝ์ ํ๋ฉด -> ๊ทธ๋๋ก ''(๊ณต๋ฐฑ)์ผ๋ก ์กฐํ๋๋ค
[42๋ฒ]
1 = ํ๋ฃจ
1/24 = 1์๊ฐ
1/24/60 = 1๋ถ
ํ๋ฃจ/24 = 1์๊ฐ, 1์๊ฐ/(60/10) = 10๋ถ
[56๋ฒ] ์ ๋ ฌ ์กฐ๊ฑด
SELECT์ ์ ๊ธฐ์ ๋์ง ์์ ์นผ๋ผ์ ORDERBY์ ์์ ์ ๋ ฌํ๋ ๊ฒ์ ๋ ผ๋ฆฌ์ ์ผ๋ก ๋ง์ง ์๋ค. ๊ทธ๋ฌ๋ Oracle์์๋ SELECT์ ์ ๋ฏธ๊ธฐ์ฌ ์นผ๋ผ์ผ๋ก๋ ์ ๋ ฌํ ์ ์๋ค.
โข GROUPBY ์ง์ญ ์ด ์คํ๋๋ ์๊ฐ, ORACLE์ ์ค๋ก์ง "์ง์ญ" ์นผ๋ผ๋ง ๊ฐ์ง๊ฒ ๋๋ค.
โฃ GROUPBY ๋ฌธ์ฅ์ ์ธ ๋ ํด๋น ์นผ๋ผ ์ธ์ COUNT(*), SUM, MAX, MIN ๋ฑ๋ฑ ํจ์๋ฅผ ์ฌ์ฉํ ์ ์๊ณ , ORDERBY์ ๋ํ GROUPBY์์ ์ฌ์ฉ๋ ์นผ๋ผ๊ณผ GROUP BY๋ก ์ฌ์ฉํ ์ ์๋ ํจ์๋ค์ด ์ฌ ์ ์๋ค.
์ค๋ต๋ ธํธ
[01๋ฒ] ์ ๋ต โฃ / ๋ด ์ ๋ต โข
[ํด์ค] DCL์ GRAND, REVOKE
[์ ํ๋ ธ๋?] TCL๊ณผ DCL ํท๊ฐ๋ฆผ
| DML (Manipulation : ์กฐ์์ด) | SELECT, INSERT, DELETE, UPDATE |
| DDL (Definition : ์ ์์ด) | CREATE, ALTER, MODIFY, DROP, RENAME |
| DCL (Control : ์ ์ด์ด) | GRANT, REVOKE |
| TCL (ํธ๋์ญ์ ์ ์ด์ด) | ROLLBACK, COMMIT |
[07๋ฒ] ์ ๋ต โฃ / ๋ด ์ ๋ต โก
[ํด์ค] SQL Server์์๋ ์ฌ๋ฌ๊ฐ ์นผ๋ผ ๋์ ์์ ๊ธฐ๋ฅ ์ ๊ณตํ์ง ์์ผ๋ฏ๋ก ์ค๋ฅ ๋ฐ์
[์ ํ๋ ธ๋?] SQL Server์ Oracle์ ์ฐจ์ด ์์ง ๋ฏธํก
[16๋ฒ] ์ ๋ต ALTER, DROP COLRUMN / ๋ด ์ ๋ต ALTER DROP
[์ ํ๋ ธ๋?] COLRUMN ๋์นจ
ํ ์ด๋ธ ๊ตฌ์กฐ ๋ณ๊ฒฝ ๊ณต์
์ถ๊ฐ : ALTER TABLE player ADD(adress VARCHAR2(80));
์ญ์ : ALTER TABLE player DROP COLUMN adress;
์์ : ALTER TABLE temp_temp MODIFY (ORIG_YYYY VARCHAR2(8) DEFAULT '20020129' NOT NULL);
[19๋ฒ] ์ ๋ต โฃ / ๋ด ์ ๋ต โ
[ํด์ค] DEPENDENT : ๋ง์คํฐ ํ ์ด๋ธ์ PK๊ฐ ์กด์ฌํ ๋๋ง ์์ํ ์ด๋ธ์ ์ ๋ ฅ ํ์ฉ
[์ ํ๋ ธ๋?] ์์ ์ฒ์ ๋ณธ ๊ฐ๋ - ์ฐธ์กฐ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด
[26๋ฒ] ์ ๋ต โ , โฃ / ๋ด ์ ๋ต โ , โข
[ํด์ค] TRUNCATE๋ Auto COMMIT
[์ ํ๋ ธ๋?] ๊ฐ๋ ํท๊ฐ๋ฆผ
| TRUNCATE | DROP | DELETE |
| DDL | DDL | DML |
| ๋ฐ์ดํฐ, ์ธ๋ฑ์ค ์ญ์ (ํ ์ด๋ธ ์ต์ด ์์ฑ ์ด๊ธฐ์ํ๋ก ๋ง๋ฌ) |
ํ
์ด๋ธ, ์ธ๋ฑ์ค ์ญ์ (ํ ์ด๋ธ ๊ตฌ์กฐ ์์ฒด ์ญ์ ) |
๋ฐ์ดํฐ๋ง ์ญ์ |
| ๊ตฌ์กฐ ๋จ๋๋ค | ๊ตฌ์กฐ ์ญ์ | ๊ตฌ์กฐ, ๋ก๊ทธ ๋จ๋๋ค |
| ์ฌ์ฉ๊ณต๊ฐ ๋ฐ๋ฉ | ์ฌ์ฉ๊ณต๊ฐ ๋ฐ๋ฉ | ์ฌ์ฉ๊ณต๊ฐ ๋จ์์์ |
| Auto COMMIT | Auto COMMIT | COMMIT์ด์ ROLLBACK ๊ฐ๋ฅ |
[39๋ฒ] ์ ๋ต โฃ / ๋ด ์ ๋ต X
[ํด์ค] โฃ๋ฒ ๋ณด๊ธฐ๋ ์๋น์ค ์ข ๋ฃ์ผ์๊ฐ 2015๋ 1์ 1์ผ 00์ 00๋ถ 00์ด์ ์ข ๋ฃ๋๋ SQL๋ฌธ์ ์ฐพ๋ ์กฐ๊ฑด์ด๋ค.
[์ ํ๋ ธ๋?] DATE๊ฐ๋ ์์ง ๋ถ์กฑ
[40๋ฒ] ์ ๋ต โก / ๋ด ์ ๋ต โฃ
[ํด์ค] 1:M ์กฐ์ธ์ผ๋๋ M์์ ์ถ๋ ฅ๋ ํ์ด ํ๋์ฉ ๋จ์ผํ ํจ์ ์ ๋ ฅ๊ฐ์ผ๋ก ์ฌ์ฉ๋๋ค. ๋ค์คํ ํจ์ ๋ํ ๋จ์ผ ๊ฐ๋ง์ ๋ฐํํ๋ค.
[์ ํ๋ ธ๋?] ๋จ์ผํ/๋ค์คํ ํจ์ ๊ฐ๋ ๋ถ์กฑ
'๊ฐ์ธ๊ณต๋ถ > SQL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| 54. SQLD ๊ธฐ์ถ๋ฌธ์ 1๊ณผ๋ชฉ ์ค๋ต๊ฐ๋ ์ ๋ฆฌ (0) | 2021.11.17 |
|---|---|
| 53. SQLD ๊ธฐ์ถ๋ฌธ์ 2๊ณผ๋ชฉ 2์ฅ ์ค๋ต๋ ธํธ (0) | 2021.11.15 |
| 51. SQLD ๊ธฐ์ถ๋ฌธ์ 1๊ณผ๋ชฉ ์ค๋ต๋ ธํธ (0) | 2021.11.12 |
| 49. SQLD 2๊ณผ๋ชฉ (2)SQLํ์ฉ (0) | 2021.11.10 |
| 46. SQLD 2๊ณผ๋ชฉ (1)SQL๊ธฐ๋ณธ (0) | 2021.11.07 |