๋ชฉ๋กKITRI (108)
๐ป
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bwJa11/btqDA5WzIKW/lHmQ2QL13465Uklg7WKAnk/img.png)
--PL/SQL => PL(Procedural Language Extension)/ SQL(Structured Query Language) --DML์ ๋จ์ ๋ฐ์ดํฐ ํ์ฉ ํ๊ณ๋ก SQL ์ธ์ด์ ์ ์ฐจ์ ์ธ์ด์ ์์๋ฅผ ๋ํ์ฌ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ --ํฅ์์ํจ ๊ธฐ๋ฅ์ด๋ค. ์ผ๋ฐ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ ์ ๊ณตํ๋ ๋ง์ ๊ธฐ๋ฅ๋ค์ด ํ์ฌ๋์ด ์๋ค. --DB์ ์ง์ ํ์ฌ๋์ด ์ปดํ์ผ๋๊ณ ์คํ๋์ด ์ฑ๋ฅ ๋ฉด์์๋ ์ฐ์ํ๋ค. --1. ๊ธฐ๋ณธ๊ตฌ์ฑ : DECLARE ~ BEGIN ~ EXCEPTION ~ END --1) ํจ์ ๊ตฌ์ฑ --์ถ๋ ฅ์ฐฝ์์ ๋ณด๋ ค๊ณ ํ๋ฉด์ ๊ธฐ๋ณธ์ค์ ์ธ OFF๋ฅผ ON์ผ๋ก ๋ฐ๊ฟ์ฃผ์ด์ผํ๋ค. --2) ์ ํ์ฒ๋ฆฌ : IF ~ THEN ~ END IF, IF ~ THEN ~ ELSE ~ END IF, IF ~ THEN ~ ELSIF ~ EN..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cM6v8H/btqDzDGdEt9/AYadplnFhyCuIM4zuTkZfk/img.png)
--12. VIEW : ์์ฃผ ์ฌ์ฉํ๋ DML๋ฅผ ํ ์คํธ ํํ๋ก ์ ์ฅํด ๋๋๋ค. --12-1) ๋ทฐ์์ฑ / CREATE VIEW ๋ทฐ๋ช AS subquery --12-2) ๋ทฐ์ ํ --12-3) ๋ทฐ์์ -> ๊ธฐ์กด ๋ทฐ๋ ๊ทธ๋๋ก ์ ์งํ๋ฉด์ ๋ด์ฉ๋ง ๋ณ๊ฒฝ -- CREATE OR REPLACE ๋ฌธ์ ๋ ๋ง์ด ์ฌ์ฉํ๋ค. --12-4) ๋ทฐ์ญ์ --12-5) ์์ฉ ์์๋ค
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/byP5iA/btqDxvicTyA/eG2WLoBfn9X3BcpmNqcUw0/img.png)
--DDL : ํ ์ด๋ธ, ์ํ์ค, ๋ทฐ๊ฐ ํด๋น๋๋ค. --8. SEQUENCE : ์ฐ์์ ์ธ ์ซ์ ๊ฐ์ ์๋์ผ๋ก ์ฆ๊ฐ(์: ์ํ๋ฒํธ) --CREATE SEQUENCE msg_num_seq; --1๋ถํฐ ์์ํด์ 1์ฉ ์ฆ๊ฐ(์ ํ ์์). ๋ณดํต ์ด๋ ๊ฒ ์์ฃผ์ด๋ค. --9. TRANSACTION : SQL ์ง์์ด ํ๋์ ์์ ์ ํธ๋์ญ์ ์ด๋ผ๊ณ ํ๋ค. --9-1) COMMIT : ํ๋์ ํธ๋์ญ์ ๊ณผ์ ์ ์ข ๋ฃํ๋ค. --9-2) ROLLBACK : ์ด์ ์ํ๋ก ๋์๊ฐ๋ค. (์ทจ์) --9-3) SAVEPOINT : ์ค๊ฐ๋จ๊ณ๋ก ๋๋๋ฆฌ๊ธฐ --์ฐ๋ฆฌ๊ฐ ํ๋ก๊ทธ๋จ์ ์ง๋ฉด ํ๋๋์คํฌ(์ ์ฅ์ฅ์)์ ์ฌ๋ผ๊ฐ๋ค. --์ปดํ์ผํด์ ์คํํ๋ฉด ์คํ๊ณผ ๋์์ RAM(์ฃผ๊ธฐ์ต์ฅ์น)์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ์ฌ๋ผ๊ฐ๋ค. --์ค๋ผํด์์ ํน์ ํ ์ด๋ธ์ ์กฐํํ ๋๋ ๋ง์ฐฌ๊ฐ์ง๋ก ํด..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cmYc4k/btqDwDsNiEW/kpDQFwbaRVTRVuEtmiXn3k/img.png)
-- 6. ์ ์ฝ์กฐ๊ฑด(Constraint) -- 6-1) ๋๋ฉ์ธ ์ ์ฝ์กฐ๊ฑด -- 6-2) ํค ์ ์ฝ์กฐ๊ฑด -- 6-3) ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด -- 6-4) ์ ์ฝ์กฐ๊ฑด ์ ํ --1) NOT NULL : ํด๋น ์ปฌ๋ผ ๊ฐ์ผ๋ก NULL์ ํ์ฉํ์ง ์์ --2) UNIQUE : ํ ์ด๋ธ ๋ด์์ ํด๋น ์ปฌ๋ผ ๊ฐ์ ํญ์ ์ ์ผ๋ฌด์ผ(์ค๋ณต๊ฐ ํ์ฉ์ํจ)ํ ๊ฐ, NULL ํ์ฉ --3) PRIMARY KEY : ํด๋น ์ปฌ๋ผ ๊ฐ์ ๋ฐ๋์ ์กด์ฌํด์ผ ํ๊ณ , ์ ์ผํ๊ฒ ํด์ผํ๋ค. (NOT NULL + UNIQUE) --4) CHECK : ์ด ์กฐ๊ฑด์ผ๋ก ์ค์ ๋ ๊ฐ๋ง ์ ๋ ฅ์ ํ์ฉ --5) FOREIGN KEY : ํด๋น ์ปฌ๋ผ์ ๊ฐ์ด ๋ค๋ฅธ ํ ์ด๋ธ์ ์ปฌ๋ผ ๊ฐ์ ์ฐธ์กฐ. -- ์ปฌ๋ผ์ ์๋ ๊ฐ์ ์ ๋ ฅํ์ง ๋ชปํจ --ํ์ ํ ์ด๋ธ์ ๋ ์ฝ๋ ๋ฃ๊ธฐ --6) ๋นํ์ฑ/ํ์ฑ, ์ญ์ /์ถ๊ฐ
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/861a8/btqDwe7CFoG/HNeaw3Ld92LvUHxibBVRMK/img.png)
1. ์ค๋ผํด ๊ธฐ๋ณธ ์ฉ์ด 1) Relation(๋ฆด๋ ์ด์ ) : ํ ์ด๋ธ 2) Tuple(ํํ) : ๋ ์ฝ๋(ํ) 3) Attribute(์์ฑ) : ์ปฌ๋ผ(์ด) 4) Domain(๋๋ฉ์ธ) : ์์ฑ๋ค์ ์งํฉ 4-1) ๋จ์๋๋ฉ์ธ(Simple Domain) : ๋จ์ ์์ฑ 4-2) ๋ณตํฉ๋๋ฉ์ธ(Composite Domain) : ๋ณตํฉ์์ฑ, ๋จ์๋๋ฉ์ธ๊ฒฐํฉ(์: ๋ ์ง-๋ ์์ผ) 4-3) ๋ค์น๋๋ฉ์ธ(Multivalued Domain) : ๋ค์น์์ฑ, ํ๋์ ์์ฑ์ ์ฌ๋ฌ ๊ฐ์ ๊ฐ์ ๊ฐ๋๋ค. (์: ์ทจ๋ฏธ์์ฑ) 2. ์ค๋ผํด ๋ฐ์ดํฐ ์์ฑ 1) ๋ฌธ์/์ซ์ 1-1)๊ณ ์ ๊ธธ์ด : int, float, double, char(n) (char(10)) --์์ธกํ ์ ์๋ ์๋ฃํ์ char๋ก (์: ์ฑ๋ณ(F/M)) 1-2) ๊ฐ๋ณ๊ธธ์ด : varchar(..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cpSbIT/btqDsb5Ksh4/IELozuL7Ym8guxxhvjl7L1/img.png)
1. ์ค๋ผํด ์ค์น ํ CMD์ฐฝ C:>sqlplus Enter user-name: system -- ์ ์ ํ ๊ด๋ฆฌ์ ๊ณ์ ์ ๋ก๊ทธ์ธ Enter password:1234 2. HR ๊ถํ์ฃผ๊ธฐ SQL> alter user hr account unlock; SQL> alter user hr identified by 1234; SQL> conn hr/1234 SQL> select * from tab; SQL> exit C:>sqlplus Enter user-name: hr Enter password:1234 SQL> select * from tab; 3. ์ฌ์ฉ์๊ณ์ ์์ฑ, ์ญ์ , ๊ถํ์ฃผ๊ธฐ 3-1) ๊ณ์ ์์ฑ SQL> create user java identified by 1234; 3-2) ์ ์ ๊ถํ ๋ถ์ฌ SQL> g..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/R92FU/btqDnwWfaT0/O93wgoQetFk52eH0oJB9tk/img.png)
--SubQuery : SELECT ๋ฌธ ๋ด์ ๋ ๋ค๋ฅธ SELECT๋ฌธ์ ํฌํจํ ์ ์๋ค. ํฌํจ SELECT ์๋ธ์ฟผ๋ฆฌ๋ผ๊ณ ํ๋ค. -- 1) ๋จ์ผ์ด/ ๋จ์ผํ (1ํ 1์ด) -- 2) ๋จ์ผ์ด/ ๋ค์คํ (2ํ์ด์ 1์ด) -- 3) ๋ค์ค์ด/ ๋จ์ผํ -- 4) ๋ค์ค์ด/ ๋ค์คํ -- ์ฐธ๊ณ ) SubQuery ์์ฑ์ WHERE์ ๋๋ FROM์ ์ ํ๋ค. -- Join & SubQuery --์ญ์ฌ์๊ณผ ๊ฐ์ ๋ถ์์ ๊ทผ๋ฌดํ๋ ์ฌ์์ ๊ฒ์/ ๋ถ์(๋ถ์๋ช , ๋ถ์์ฝ๋) --1. ๋ถ์์ฝ๋๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ --2. ๋ถ์๋ช ์ ์ด์ฉํ๋ ๋ฐฉ๋ฒ => Join์ ํด์ผํ๋ค. --1. ๋จ์ผํ * ๋จ์ผํ(1ํ 1์ด) WHERE --์ฌ์๋ค ์ค์์ ์ฐ๋ด์ด Jack ์ฌ์ ์ฐ๋ด๋ณด๋ค ๋ง๊ณ , Lex์ฌ์์ ์ฐ๋ด๋ณด๋ค ์ ๊ฒ ๋ฐ๋ ์ฌ์ ๊ฒ์ -- Self Join ์ผ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bKBAGo/btqDlOCKbm0/uzGjbuzwSar2I48EoOB4x0/img.png)
-- JOIN -- RDBMS(Relational DataBase Management System) : ๊ด๊ณํ ๋ฐ์ดํฐ ๋ฒ ์ด์ค ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ผ๋ จ์ ์ ํํ๋ ํ ์ด๋ธ ๊ตฌ์ฑ๋ ๋ฐ์ดํฐ ํญ๋ชฉ๋ค์ ์งํฉ์ฒด๋ก์จ, ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ์ ๊ทผํ๊ณ ์กฐํฉ๋ ์ ์๋ค. ์ด๋ฐ ๊ด๊ณ๋ฅผ ๋งบ๋ ๋ฐฉ๋ฒ์ด ์กฐ์ธ(์ฐ๊ฒฐ๊ณ ๋ฆฌ) ์ด๋ค. --1. Cross Join : ํ ์ด๋ธ์ ์๋ก ์กฐ๊ฑด์์ด ์ฐ๊ฒฐํ์ฌ ๋์ดํ ๊ฒ --107 * 27 = 2889 : ์๋ฌด ์๋ฏธ์๋ ๊ฒฐํฉ --2. Equi Join : ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ์กฐ์ธ ๋ฐฉ๋ฒ์ผ๋ก ๋์์ด ๋๋ ํ ์ด๋ธ์ -- ๊ณตํต์ ์ผ๋ก ์กด์ฌํ๋ ์ปฌ๋ผ์ ๊ฐ์ด ์ผ์น๋๋ ํ์ ์ฐ๊ฒฐํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ์์ฑ -- WHERE์ ์ ํ ์ด๋ธ์ ๊ณตํต๋ ์ปฌ๋ผ์ ์กฐ์ธ ์กฐ๊ฑด์ผ๋ก ์ ์ํ๋ค. -- ๋ชจํธ์ฑ์ ํด๊ฒฐํ๊ธฐ ์ํด์ ๋์ผํ ์ปฌ๋ผ์ ํ ์ด๋ธ๋ช ๋ช ์..