Dev study and notes

[java] 개발환경 설정 JAVA(JDK, eclipse) SQL(oracle,client,SQL developer) 개발/연습 환경 구축 본문

studyLog

[java] 개발환경 설정 JAVA(JDK, eclipse) SQL(oracle,client,SQL developer) 개발/연습 환경 구축

devlunch4 2020. 9. 19. 15:00
반응형

1JAVA(JDK, eclipse)

*설치할 컴퓨터의 운영체제와 비트에 맞추어 JDK 다운로드 (실습은 8 또는 11 버전 추천)
https://www.oracle.com/kr/index.html

*jdk-15_windows-x64_bin.exe 다운 및 설치 (글쓴이는 이버전을 설치)
(위 파일은 글작성일 현재 최신 버전임 /실습은 8 또는 11 버전 이 필요)

*JDK 설치후 환경변수 설정
제어판내 시스템창 >왼쪽프레임바 ‘고급 시스템 설정’ 클릭 >시스템속성창 아래 ‘환경 변수’버튼 클릭

*시스템변수창에 변수를 생성
변수 이름: JAVA_HOME
변수 값: D:\B_Util\2.Java\JDK1.7 (설치한 위치 JDK 버전 7)
*시스템변수창 내 항목 생성
Path항목>편집>새로만들기>
>입력(입력시 대괄호 내부의 특수문자와 문자만 입력) [%JAVA_HOME%\bin]>확인>확인

*설치확인 cmd창을 열어서 확인
java -version 타이핑 엔터
javac -version 타이핑 엔터
각버전이 출력되면 잘 설치가 된것.


*이클립스 설치
https://www.eclipse.org/downloads

글쓴이는 eclipse-jee-2020-09-R-win32-x86_64 버전을 설치
*[Eclipse IDE for Java EE Developers] 다운로드 및 압축풀기 = 실행 = 작성할 코드 저장 위치 설정
*한글표시 깨짐 해결법
> 작업표시줄>window>preferences>검색 ‘encoding’(언어 표현하는 방식)
> ‘content Types’> ‘java archive’> ‘default encoding’란에 ‘UTF-8’타이핑 후 update버튼
> 그외 하단의 목록 java class file/Text/Word Document/ 모두 업데이트
> ’Text’ 항목을 열어 UTF-8가 아닌 항목을 수정 업데이트
> 옵션창 왼쪽프레임의 ‘Workspace’에서 text file encoding 박스에서 other의 콤보박스 ‘UTF-8’
>왼쪽프레임의 web css/html/jsp 모두 UTF-8

*텍스트 크기 설정
작업표시줄>window>preferences>Genaral>Appearance>Colors and Fonts>basic>text font//
자신에게 맞는 크기를 설정 확인

*코딩창 우리는 자바 코딩이므로 오른쪽 상단의 ‘Java EE’ 옆의 ‘+창’을 클릭하여 ‘Java’를 추가




2.SQL(oracle,client,SQL developer)


*오라클 설치
오라클 버전 OracleXE112_Win64 설치(압축해제후 설치) <<<연습시 유용
-설치시 password 글쓴이의 경우 oracle 로 설정함 (실제 관리자계정의 비밀번호)

*오라클 클라이언트 설치
클라이언트 버전 win64_11gR2_client 설치(압축해제후 설치)

*SQL developer 설치
sqldeveloper-20.2.0.175.1842-x64 (JDK8 or 11 포함 버전) 설치(압축해제후 설치)


*SQL developer 실행
-관리자계정 접속하기> 왼쪽 프레임 + 클릭 >
?접속이름/사용자이름 "system", 비밀번호 oracle
>비밀번호저장 체크
호스트 127.0.0.0=localhost (기본)
포트 1521(기본)
SID xe(기본)
>테스트 버튼 클릭>"상태:성공"확인
>저장>목록에서 생성된 "system" 클릭후 접속

*sql 연습할 테이블공간 및 사용자 생성

더보기

--TABLE SPACE 확인 (DATAFILE 항목은 사용자 확인 필수)

SELECT *

FROM DBA_DATA_FILES;

--TABLE SPACE생성 (DATAFILE 항목은 사용자 확인 필수)

CREATE TABLESPACE TS_DBSQL

DATAFILE '오라클이 설치된 경로 내부의~ORACLE\ORADATA\XE\TS_DBSQL.DBF'

SIZE 100M

AUTOEXTEND ON;



--사용자 추가

create user [사용자명] identified by [비밀번호]

default tablespace TS_DBSQL

temporary tablespace temp

quota unlimited on TS_DBSQL

quota 0m on system;



--접속, 생성권한

GRANT CONNECT, RESOURCE TO [사용자명];


*SQL Developer 에서 왼쪽 프레임 + 눌러서 접속자 새로 생성.
-이전의 더보기 글에서 설정한 [사용자명], [비밀번호] 입력 및 설정>
>비밀번호저장 체크
호스트 127.0.0.0=localhost (기본)
포트 1521(기본)
SID xe(기본)
>테스트 버튼 클릭>"상태:성공"확인
>저장>목록에서 생성된 "system" 클릭후 접속


*테이블 생성1 demosql

더보기

--

-- Copyright (c) Oracle Corporation 1988, 1999. All Rights Reserved.

--

-- NAME

-- demobld.sql

--

-- DESCRIPTION

-- This script creates the SQL*Plus demonstration tables in the

-- current schema. It should be STARTed by each user wishing to

-- access the tables. To remove the tables use the demodrop.sql

-- script.

--

-- USAGE

-- SQL> START demobld.sql

--

--

SET TERMOUT ON

PROMPT Building demonstration tables. Please wait.

SET TERMOUT OFF

CREATE TABLE BONUS

(ENAME VARCHAR2(10),

JOB VARCHAR2(9),

SAL NUMBER,

COMM NUMBER);

CREATE TABLE EMP

(EMPNO NUMBER(4) NOT NULL,

ENAME VARCHAR2(10),

JOB VARCHAR2(9),

MGR NUMBER(4),

HIREDATE DATE,

SAL NUMBER(7, 2),

COMM NUMBER(7, 2),

DEPTNO NUMBER(2));



INSERT INTO EMP VALUES

(7369, 'SMITH', 'CLERK', 7902,

TO_DATE('17-DEC-1980', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 800, NULL, 20);

INSERT INTO EMP VALUES

(7499, 'ALLEN', 'SALESMAN', 7698,

TO_DATE('20-FEB-1981', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 1600, 300, 30);

INSERT INTO EMP VALUES

(7521, 'WARD', 'SALESMAN', 7698,

TO_DATE('22-FEB-1981', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 1250, 500, 30);

INSERT INTO EMP VALUES

(7566, 'JONES', 'MANAGER', 7839,

TO_DATE('2-APR-1981', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 2975, NULL, 20);

INSERT INTO EMP VALUES

(7654, 'MARTIN', 'SALESMAN', 7698,

TO_DATE('28-SEP-1981', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 1250, 1400, 30);

INSERT INTO EMP VALUES

(7698, 'BLAKE', 'MANAGER', 7839,

TO_DATE('1-MAY-1981', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 2850, NULL, 30);

INSERT INTO EMP VALUES

(7782, 'CLARK', 'MANAGER', 7839,

TO_DATE('9-JUN-1981', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 2450, NULL, 10);

INSERT INTO EMP VALUES

(7788, 'SCOTT', 'ANALYST', 7566,

TO_DATE('09-DEC-1982', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 3000, NULL, 20);

INSERT INTO EMP VALUES

(7839, 'KING', 'PRESIDENT', NULL,

TO_DATE('17-NOV-1981', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 5000, NULL, 10);

INSERT INTO EMP VALUES

(7844, 'TURNER', 'SALESMAN', 7698,

TO_DATE('8-SEP-1981', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 1500, 0, 30);

INSERT INTO EMP VALUES

(7876, 'ADAMS', 'CLERK', 7788,

TO_DATE('12-JAN-1983', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 1100, NULL, 20);

INSERT INTO EMP VALUES

(7900, 'JAMES', 'CLERK', 7698,

TO_DATE('3-DEC-1981', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 950, NULL, 30);

INSERT INTO EMP VALUES

(7902, 'FORD', 'ANALYST', 7566,

TO_DATE('3-DEC-1981', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 3000, NULL, 20);

INSERT INTO EMP VALUES

(7934, 'MILLER', 'CLERK', 7782,

TO_DATE('23-JAN-1982', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 1300, NULL, 10);

CREATE TABLE DEPT

(DEPTNO NUMBER(2),

DNAME VARCHAR2(14),

LOC VARCHAR2(13) );

INSERT INTO DEPT VALUES (10, 'ACCOUNTING', 'NEW YORK');

INSERT INTO DEPT VALUES (20, 'RESEARCH', 'DALLAS');

INSERT INTO DEPT VALUES (30, 'SALES', 'CHICAGO');

INSERT INTO DEPT VALUES (40, 'OPERATIONS', 'BOSTON');

CREATE TABLE SALGRADE

(GRADE NUMBER,

LOSAL NUMBER,

HISAL NUMBER);

INSERT INTO SALGRADE VALUES (1, 700, 1200);

INSERT INTO SALGRADE VALUES (2, 1201, 1400);

INSERT INTO SALGRADE VALUES (3, 1401, 2000);

INSERT INTO SALGRADE VALUES (4, 2001, 3000);

INSERT INTO SALGRADE VALUES (5, 3001, 9999);

COMMIT;

SET TERMOUT ON

PROMPT Demonstration table build is complete.


*테이블 생성2 (사용자

더보기

--

-- Copyright (c) Oracle Corporation 1988, 1999. All Rights Reserved.

--

-- NAME

-- demobld.sql

--

-- DESCRIPTION

-- This script creates the SQL*Plus demonstration tables in the

-- current schema. It should be STARTed by each user wishing to

-- access the tables. To remove the tables use the demodrop.sql

-- script.

--

-- USAGE

-- SQL> START demobld.sql

--

--

SET TERMOUT ON

PROMPT Building demonstration tables. Please wait.

SET TERMOUT OFF

CREATE TABLE BONUS

(ENAME VARCHAR2(10),

JOB VARCHAR2(9),

SAL NUMBER,

COMM NUMBER);

CREATE TABLE EMP

(EMPNO NUMBER(4) NOT NULL,

ENAME VARCHAR2(10),

JOB VARCHAR2(9),

MGR NUMBER(4),

HIREDATE DATE,

SAL NUMBER(7, 2),

COMM NUMBER(7, 2),

DEPTNO NUMBER(2));



INSERT INTO EMP VALUES

(7369, 'SMITH', 'CLERK', 7902,

TO_DATE('17-DEC-1980', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 800, NULL, 20);

INSERT INTO EMP VALUES

(7499, 'ALLEN', 'SALESMAN', 7698,

TO_DATE('20-FEB-1981', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 1600, 300, 30);

INSERT INTO EMP VALUES

(7521, 'WARD', 'SALESMAN', 7698,

TO_DATE('22-FEB-1981', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 1250, 500, 30);

INSERT INTO EMP VALUES

(7566, 'JONES', 'MANAGER', 7839,

TO_DATE('2-APR-1981', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 2975, NULL, 20);

INSERT INTO EMP VALUES

(7654, 'MARTIN', 'SALESMAN', 7698,

TO_DATE('28-SEP-1981', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 1250, 1400, 30);

INSERT INTO EMP VALUES

(7698, 'BLAKE', 'MANAGER', 7839,

TO_DATE('1-MAY-1981', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 2850, NULL, 30);

INSERT INTO EMP VALUES

(7782, 'CLARK', 'MANAGER', 7839,

TO_DATE('9-JUN-1981', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 2450, NULL, 10);

INSERT INTO EMP VALUES

(7788, 'SCOTT', 'ANALYST', 7566,

TO_DATE('09-DEC-1982', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 3000, NULL, 20);

INSERT INTO EMP VALUES

(7839, 'KING', 'PRESIDENT', NULL,

TO_DATE('17-NOV-1981', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 5000, NULL, 10);

INSERT INTO EMP VALUES

(7844, 'TURNER', 'SALESMAN', 7698,

TO_DATE('8-SEP-1981', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 1500, 0, 30);

INSERT INTO EMP VALUES

(7876, 'ADAMS', 'CLERK', 7788,

TO_DATE('12-JAN-1983', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 1100, NULL, 20);

INSERT INTO EMP VALUES

(7900, 'JAMES', 'CLERK', 7698,

TO_DATE('3-DEC-1981', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 950, NULL, 30);

INSERT INTO EMP VALUES

(7902, 'FORD', 'ANALYST', 7566,

TO_DATE('3-DEC-1981', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 3000, NULL, 20);

INSERT INTO EMP VALUES

(7934, 'MILLER', 'CLERK', 7782,

TO_DATE('23-JAN-1982', 'DD-MON-YYYY', 'NLS_DATE_LANGUAGE = AMERICAN'), 1300, NULL, 10);

CREATE TABLE DEPT

(DEPTNO NUMBER(2),

DNAME VARCHAR2(14),

LOC VARCHAR2(13) );

INSERT INTO DEPT VALUES (10, 'ACCOUNTING', 'NEW YORK');

INSERT INTO DEPT VALUES (20, 'RESEARCH', 'DALLAS');

INSERT INTO DEPT VALUES (30, 'SALES', 'CHICAGO');

INSERT INTO DEPT VALUES (40, 'OPERATIONS', 'BOSTON');

CREATE TABLE SALGRADE

(GRADE NUMBER,

LOSAL NUMBER,

HISAL NUMBER);

INSERT INTO SALGRADE VALUES (1, 700, 1200);

INSERT INTO SALGRADE VALUES (2, 1201, 1400);

INSERT INTO SALGRADE VALUES (3, 1401, 2000);

INSERT INTO SALGRADE VALUES (4, 2001, 3000);

INSERT INTO SALGRADE VALUES (5, 3001, 9999);

COMMIT;

SET TERMOUT ON

PROMPT Demonstration table build is complete.


*사용자 scott 에 대하여 인터넷 검색 해보기
사용자 scott 설정하거나 안하거나 마음대로~

*batch.sql 생성

더보기

--batch.sql 생성

drop table batch;

drop table daily;

drop table cycle;

drop table product;

drop table customer;

/* 고객 */

CREATE TABLE CUSTOMER (

CID NUMBER NOT NULL, /* 고객번호 */

CNM VARCHAR2(50) NOT NULL /* 고객명 */

);

COMMENT ON TABLE CUSTOMER IS '고객';

COMMENT ON COLUMN CUSTOMER.CID IS '고객번호';

COMMENT ON COLUMN CUSTOMER.CNM IS '고객명';

CREATE UNIQUE INDEX PK_CUSTOMER

ON CUSTOMER (

CID ASC

);

ALTER TABLE CUSTOMER

ADD

CONSTRAINT PK_CUSTOMER

PRIMARY KEY (

CID

);

/* 제품 */

CREATE TABLE PRODUCT (

PID NUMBER NOT NULL, /* 제품번호 */

PNM VARCHAR2(50) NOT NULL /* 제품명 */

);

COMMENT ON TABLE PRODUCT IS '제품';

COMMENT ON COLUMN PRODUCT.PID IS '제품번호';

COMMENT ON COLUMN PRODUCT.PNM IS '제품명';

CREATE UNIQUE INDEX PK_PRODUCT

ON PRODUCT (

PID ASC

);

ALTER TABLE PRODUCT

ADD

CONSTRAINT PK_PRODUCT

PRIMARY KEY (

PID

);

/* 고객애음주기 */

CREATE TABLE CYCLE (

CID NUMBER NOT NULL, /* 고객번호 */

PID NUMBER NOT NULL, /* 제품번호 */

DAY NUMBER NOT NULL, /* 요일 */

CNT NUMBER NOT NULL /* 수량 */

);

COMMENT ON TABLE CYCLE IS '고객애음주기';

COMMENT ON COLUMN CYCLE.CID IS '고객번호';

COMMENT ON COLUMN CYCLE.PID IS '제품번호';

COMMENT ON COLUMN CYCLE.DAY IS '요일';

COMMENT ON COLUMN CYCLE.CNT IS '수량';

CREATE UNIQUE INDEX PK_CYCLE

ON CYCLE (

CID ASC,

PID ASC,

DAY ASC

);

ALTER TABLE CYCLE

ADD

CONSTRAINT PK_CYCLE

PRIMARY KEY (

CID,

PID,

DAY

);

/* 일실적 */

CREATE TABLE DAILY (

CID NUMBER NOT NULL, /* 고객번호 */

PID NUMBER NOT NULL, /* 제품번호 */

DT VARCHAR2(8) NOT NULL, /* 일자 */

CNT NUMBER NOT NULL /* 수량 */

);

COMMENT ON TABLE DAILY IS '일실적';

COMMENT ON COLUMN DAILY.CID IS '고객번호';

COMMENT ON COLUMN DAILY.PID IS '제품번호';

COMMENT ON COLUMN DAILY.DT IS '일자';

COMMENT ON COLUMN DAILY.CNT IS '수량';

CREATE UNIQUE INDEX PK_DAILY

ON DAILY (

CID ASC,

PID ASC,

DT ASC

);

ALTER TABLE DAILY

ADD

CONSTRAINT PK_DAILY

PRIMARY KEY (

CID,

PID,

DT

);

ALTER TABLE CYCLE

ADD

CONSTRAINT FK_CUSTOMER_TO_CYCLE

FOREIGN KEY (

CID

)

REFERENCES CUSTOMER (

CID

);

ALTER TABLE CYCLE

ADD

CONSTRAINT FK_PRODUCT_TO_CYCLE

FOREIGN KEY (

PID

)

REFERENCES PRODUCT (

PID

);

ALTER TABLE DAILY

ADD

CONSTRAINT FK_CUSTOMER_TO_DAILY

FOREIGN KEY (

CID

)

REFERENCES CUSTOMER (

CID

);

ALTER TABLE DAILY

ADD

CONSTRAINT FK_PRODUCT_TO_DAILY

FOREIGN KEY (

PID

)

REFERENCES PRODUCT (

PID

);



/* 배치 */

CREATE TABLE BATCH (

BID NUMBER NOT NULL, /* 배치번호 */

BCD VARCHAR2(20) NOT NULL, /* 배치작업 */

ST VARCHAR2(20) NOT NULL, /* 배치상태 */

ST_DT DATE, /* 배치시작일자 */

ED_DT DATE /* 배치종료일자 */

);

COMMENT ON TABLE BATCH IS '배치';

COMMENT ON COLUMN BATCH.BID IS '배치번호';

COMMENT ON COLUMN BATCH.BCD IS '배치작업';

COMMENT ON COLUMN BATCH.ST IS '배치상태';

COMMENT ON COLUMN BATCH.ST_DT IS '배치시작일자';

COMMENT ON COLUMN BATCH.ED_DT IS '배치종료일자';

CREATE UNIQUE INDEX PK_BATCH

ON BATCH (

BID ASC

);

ALTER TABLE BATCH

ADD

CONSTRAINT PK_BATCH

PRIMARY KEY (

BID

);

--자료

insert into customer values (1, 'brown');

insert into customer values (2, 'sally');

insert into customer values (3, 'cony');



insert into product values (100, '야쿠르트');

insert into product values (200, '윌');

insert into product values (300, '쿠퍼스');

insert into product values (400, '야쿠르트400');

insert into cycle values (1, 100, 2, 1);

insert into cycle values (1, 400, 3, 1);

insert into cycle values (1, 100, 4, 1);

insert into cycle values (1, 400, 5, 1);

insert into cycle values (1, 100, 6, 1);

insert into cycle values (2, 200, 2, 2);

insert into cycle values (2, 100, 3, 1);

insert into cycle values (2, 200, 4, 2);

insert into cycle values (2, 100, 5, 1);

insert into cycle values (2, 200, 6, 2);

insert into cycle values (3, 300, 2, 1);

insert into cycle values (3, 100, 3, 2);

insert into cycle values (3, 300, 4, 1);

insert into cycle values (3, 100, 5, 2);

insert into cycle values (3, 300, 6, 1);



COMMIT;


개발 환경 및 연습 환경 완료!

반응형
Comments