-- ๋จ์ผ ๋ผ์ธ ์ฃผ์
Java
Oracle Database
Database
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ
๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค
์ค๋ผํด ์คํ/์ข ๋ฃ/์ํํ์ธ
OracleServicesXE > ๋ฐ์ดํฐ๋ฒ ์ด์ค
OracleXETNSListener > ๋ฆฌ์ค๋(ํด๋ผ์ด์ธํธ ๋๊ตฌ์ ์ฐ๊ฒฐ)
SQL Developer
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์
์ด๋ฆ ๊ท์น
๋๋ฉ์ธor์์ดํผ์ฃผ์.๊ณ์ ์ด๋ฆ
ํธ์คํธ ์ด๋ฆ
์ค์ ์ปดํจํฐ ์ฃผ์
์ ์ฅ
ํ
์คํธ
์ ์
ํธ์ง ์ฐฝ > ์ํฌ์ํธ > ์คํฌ๋ฆฝํธ (ํ์ผ) > *.sql
ํ์ผ ์์ฑ ํ ์ ์ฅ
ex01.sql
๋๊ตฌ - ํ๊ฒฝ์ค์ - ์ธ์ฝ๋ฉ - UTF-8
์ฝ๋ํธ์ง๊ธฐ ๊ธ๊ผด
localhost + system
localhost > ํ์ฌ ์ปดํจํฐ
localhost == 127.0.0.1 (IP Address, ๋ฃจํ๋ฐฑ)
system ์์ ์ํจ > ๊ถํ์ด ๋๋ฌด ์ปค์ > ์ค์, ๋ณด์
์ผ๋ฐ ๊ณ์ ์์ > ํน์ ์ ๋ฌด์ ๋ํ ๊ถํ๋ง ์๋ ๊ณ์ > ์์
ํ์ต์ฉ ๊ณ์ ์ ๊ณต(=์ผ๋ฐ ๊ณ์ ) > + ์ํ ๋ฐ์ดํฐ > hr
(์๋ก์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ - localhost.hr)
ํน์ ๊ณ์ ์ ๋น๋ฐ๋ฒํธ ๋ฐ๊พธ๊ธฐ
ํน์ ๊ณ์ ์ ํ์ฑํ/๋นํ์ฑํ
JDK 1.8
JDK 1.20
8
9i - internet
Oracle Database 11g Enterprise Edition(๊ธฐ์
์ฉ)
Oracle Database 11g Express Edition(๋ฌด๋ฃ, ๊ต์ก์ฉ)
12c - cloud
14c
18c Expression Edition
21c Expression Edition?
SQL, Structured Query Language
์ค๋ผํด + SQL
1. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์, DBA
- ๋ชจ๋ ๊ฒ
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ๋ฐ์, DB ๊ฐ๋ฐ์
์์ฉ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์(์๋ฐ ๊ฐ๋ฐ์)
๊ด๊ณํ DBMS
1. Oracle
2. MS-SQL(Microsoft) ๊ธฐ์
์ฉ
3. MySQL > ๋ฌด๋ฃ(๊ฐ์ธ, ๊ธฐ์
)
4. MariaDB > ๋ฌด๋ฃ(๊ฐ์ธ, ๊ธฐ์
)
5. PostreSQL > ๋ฌด๋ฃ(๊ฐ์ธ, ๊ธฐ์
)
6. DB2 > IBM
7. SQLite > Mobile
SQL
1. DBMS ์ ์์ฌ์ ๋
๋ฆฝ์ ์ด๋ค.
- ๋ชจ๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ณตํต์ ์ผ๋ก ์ฌ์ฉํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ์ธ์ด
- DBMS ์ ์์ฌ์์ SQL๋ผ๋ ์ธ์ด๋ฅผ ์์ ์ ์ ํ์ ์ ์ฉ
์ค๋ผํด ์์ = ANSI-SQL(50~60%) + PL/SQL(20~30%) + ์ค๊ณ, ๊ธฐํ(10%)
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
ANSI-SQL
1. DDL
- Data Definition Language
- ๋ฐ์ดํฐ ์ ์์ด
- ํ
์ด๋ธ, ๋ทฐ, ์ฌ์ฉ์, ์ธ๋ฑ์ค ๋ฑ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๋ธ์ ํธ๋ฅผ ์์ฑ/์์ /์ญ์ ํ๋ ๋ช
๋ น์ด
- ๊ตฌ์กฐ๋ฅผ ์์ฑ/๊ด๋ฆฌํ๋ ๋ช
๋ น์ด
a. CREATE: ์์ฑ
b. DROP: ์ญ์
c. ALTER: ์์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด๋น์
- ํ๋ก๊ทธ๋๋จธ(์ผ๋ถ)
DML
DCL
DQL
TCL
์ค๋ผํด ์ธ์ฝ๋ฉ
SQL > ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์๋๋ค.
ํ๋์ > ํค์๋
๊ฒ์์ > ์๋ณ์
'JOBS' > ๋ฌธ์ ์์ > ๋ฐ์ดํฐ๋ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ๋ค.(์ค์)
๋ธ๋ญ์ฒ๋ฆฌ > Alt + ' -> ํด๋น ๋ธ๋ญ์ ์์ ๋ณ๊ฒฝ
DB Object ์๋ณ์ ์ฃผ์์ > ์ต๋ 30๋ฐ์ดํธ๊น์ง(30์)
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
ANSI-SQL ์๋ฃํ
์ซ์ํ
- number: ์ ์ & ์ค์
- number(precision): ์ ์ฒด ์๋ฆฟ์. ์ ์
- number(precision, scale): ์ ์ฒด ์๋ฆฟ์, ์์ ์ดํ ์๋ฆฟ์. ์ค์
๋ฌธ์ํ
a. char
b. nchar
- n: national > ์ค๋ผํด ์ธ์ฝ๋ฉ๊ณผ ์๊ด์์ด ํด๋น ์ปฌ๋ผ์ UTF-16์ผ๋ก ๋์ํ๊ฒ ํ๋ค.
- char(n): ์ต๋ n์๋ฆฌ ๋ฌธ์์ด, n(๋ฌธ์์)
- ์ต์ ํฌ๊ธฐ: 1๊ธ์
- ์ต๋ ํฌ๊ธฐ: 2000๊ธ์
c. varchar2 > variable char > ๋ฐ์บ๋ฆญํฐ, ๋ฐ์ฐจ
- ๊ฐ๋ณ ์๋ฆฟ์ ๋ฌธ์์ด > ๊ณต๊ฐ(์ปฌ๋ผ)์ ํฌ๊ธฐ๊ฐ ๊ฐ๋ณ
- varchar2(n): ์ต๋ n์๋ฆฌ ๋ฌธ์์ด, n(๋ฐ์ดํธ)
- varchar2(n char)
- ์ต์ ์๋ฆฟ์: 1๋ฐ์ดํธ
- ์ต๋ ์๋ฆฟ์: 4000๋ฐ์ดํธ
d. nvarchar2
- n: national > ์ค๋ผํด ์ธ์ฝ๋ฉ๊ณผ ์๊ด์์ด ํด๋น ์ปฌ๋ผ์ UTF-16์ผ๋ก ๋์ํ๊ฒ ํ๋ค.
- ๊ฐ๋ณ ์๋ฆฟ์ ๋ฌธ์์ด > ๊ณต๊ฐ(์ปฌ๋ผ)์ ํฌ๊ธฐ๊ฐ ๊ฐ๋ณ
- varchar2(n): ์ต๋ n์๋ฆฌ ๋ฌธ์์ด, n(๋ฌธ์์)
- ์ต์ ์๋ฆฟ์: 1๊ธ์
- ์ต๋ ์๋ฆฟ์: 2000๊ธ์
e. clob, nclob
- ๋์ฉ๋ ํ
์คํธ
- charactore large object
- ์ต๋ 128TB
a. ๊ณ ์ ์๋ฆฟ์ ๋ฌธ์์ด > ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ, ์ ํ๋ฒํธ > char
b. ๊ฐ๋ณ ์๋ฆฟ์ ๋ฌธ์์ด > ์ฃผ์, ์๊ธฐ์๊ฐ > varchar2
a. ๊ณ ์ /๊ฐ๋ณ > varchar2 -> ๊ฐ์ด ์ฌ์ฉ
๋ ์ง/์๊ฐํ
a. date
- ๋
์์ผ์๋ถ์ด
- 7byte
- ๊ธฐ์์ 4712๋
1์ 1์ผ ~ 9999๋
12์ 31์ผ
b. timestamp
- ๋
์์ผ์๋ถ์ด + ๋ฐ๋ฆฌ์ด + ๋๋
ธ์ด
c. interval
- ์๊ฐ
- ํฑ๊ฐ ์ ์ฅ์ฉ
์ด์ง ๋ฐ์ดํฐํ
๊ฒฐ๋ก
1. ์ซ์ > number
2. ๋ฌธ์ > varchar2
3. ๋ ์ง > date
์๋ฐ
1. ์ซ์ > int + long, double, boolean
2. ๋ฌธ์์ด > String
3. ๋ ์ง > Calendar
ํ ์ด๋ธ ์ ์ธ(์์ฑ)
create table ํ
์ด๋ธ๋ช
(
์ปฌ๋ผ ์ ์ธ,
์ปฌ๋ผ ์ ์ธ,
์ปฌ๋ผ ์ ์ธ,
์ปฌ๋ผ๋ช
์๋ฃํ
);
์๋ณ์ > ํ์ ์ ๋์ด > ํ๊ฐ๋ฆฌ์ ํ๊ธฐ๋ฒ
๋ฐ์ดํฐ ์ถ๊ฐ
insert into ํ
์ด๋ธ (์ปฌ๋ผ) values (๊ฐ);
(์ค์) SQL ์ ์์์ ์ธ ํ๋ณํ์ด ์์ฃผ ์ผ์ด๋๋ค.
์ค๋ผํด ์ธ์ฝ๋ฉ > UTF-8 > ์์ด(1), ํ๊ธ(3) > 10๋ฐ์ดํธ
Java: Strong Type Language
SQL: Weak Type Language
๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ > ๊ฒฐ๊ณผ ํ ์ด๋ธ(Result Table), ๊ฒฐ๊ณผ์ (Result Set)
select * from tblType;
SQL, Query(์ง์)
SELECT ๋ฌธ
[WITH ]
SELECT column_list
FROM table_name
[WHERE search_condition][GROUP BY group_by_expression]
[HAVING search_condition]ORDER BY order_expresstion [ASC|DESC]]
SELECT column_list -- ์ํ๋ ์ปฌ๋ผ๋ง ์ง์ ํด์ ๊ฐ์ ธ์๋ผ.
FROM table_name; -- ๋ฐ์ดํฐ ์์ค. ์ด๋ค ํ
์ด๋ธ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์๋ผ.
ํ ์ด๋ธ ๊ตฌ์กฐ > ์คํค๋ง(Scheme)
select ์ปฌ๋ผ ๋ฆฌ์คํธ
select * from tblComedian;
-- ์ปจ๋ฒค์
select last, first from tblComedian;
select last, first
from tblComedian;
select last, first
from tblComedian;
select
last, first
from
tblComedian;