- java se 설치


 

자바 환경 설정(setup, install)

1. JDK 7.0 설치

1. http://www.oracle.com에서 jdk-7u7-windows-i586.exe 다운로드
2. 자바 실행 환경 및 개발 환경에 대한 프로그램 설치과정
3. JDK 설치 확인
4. C:\Program Files\Java\jdk1.7.0_07
5. C:\Program Files\Java\jre7

 


2. Path 지정

1. 자바 컴파일에 필요한 프로그램을 쉽게 찾을 수 있도록 설정.
2. 내컴퓨터 - 속성 - 고급 - 환경변수 - 시스템변수의 path 편집 - 경로 (C:\Program Files\Java\jdk1.7.0_07\bin) 추가 (; 구분자 사용)
3. path 지정 확인
4. cmd 내에서 javac 입력

 

3. javac.exe 와 java.exe 파일 확인

1. 자바 컴파일 및 실행에 필요한 프로그램

 

4. 확장자에 따른 분류

1.  .java:    소스코드      -> 편집기를 통해서만 확인이 가능
                                       편집기는 메모장, 워드패드, 에디트플러스, 이클립스(이클립스를 가장추천)
2.  .class: 자바실행파일


 

첫 번째 예제 작성

1. 탐색기에서 Test01.java 파일을 생성

1. 파일이름은 첫글자를 대문자로 표기한 영숫자로 작성
2. 확장자는 .java로 표기

 

2. 메모장으로 Test01.java 파일을 열기

 

3. 아래 코드 작성

public class Test01 {                                              -- public: 접근지정자, class: 클래스 선언, 
        public static void main(String[] args) {               -- main: 프로그램 진입점(시작점) // main 하나의 예약어이지만 main은 항상
                                                                                                                                  public static void 와 함께 사용되므로 함께 암기
              System.out.println("Hello, Java World!");
        }
}


4. 저장

 

5. 명령 프롬프트에서 위 파일이 저장된 위치로 이동

 

6. 아래 명령을 이용해서 컴파일 및 실행

1. 컴파일 및 실행 명령
 
D:> javac Test01.java                                   -- 컴파일
D:> java Test01                                            -- 소스파일(.java)을 javac 파일로 컨버팅한 결과물인 .class 파일을 java파일로 실행
   > 결과는 Hello, Java World! 메세지 출력


 

프로그램 전용 글꼴 설치

-> 나눔고딕코딩 글꼴 


 

자바 프로그램 구성

1. 기본 형식

 -- [] 안에 있는 것은 생략 가능한것.

[import 패키지명]
[접근지정자] class 클래스명 {
        [멤버 변수 선언;]
        [접근 지정자][반환자료형] 메소드명([인자리스트]) {
                  // 프로그램 코드;
        }
        public static void main(String[] args) {
                 // 프로그램 코드;
        }
}

 

2. 자바 프로그램은 클래스(class)로 구성된다.
   물리적으로 저장하는 경우에도 클래스이름.java 형식으로 저장해야 한다.

잘못된 자바 프로그램 작성 예

public class Test02 {
        public static void main(String[] args){
        }
}

-> test02.java로 저장함. 클래스 이름과 파일 이름을 서로 다르게 저장

 

 

3. 주석
>>프로그램 내부에 설명을 추가하는 것. 실행하는 과정과는 아무런 상관이 없음.

// 한줄주석
/* 범위 주석 */

주석단 소스 코드 예

//클래스 선언
public class Test01 {
        // 메인 메소드 선언
        public static void main(String[] args) {
                // 콘솔창에 메세지 출력
                System.out.println("Hello, Java World!");
        }
}

 


4. 키워드
>> 이미 문법이 전해진 단어(예약어)


public, class, static, void, main 등등등....

if, for, while, new, this, super, protected, private, try, catch, finally, throw, thorws, boolean, byte, short, int, long, char, float, double, true, false, null, switch, default, case, do, break, continuem, return, extends, implement, package, import.. 등등 아주 많음~~

 

5. main() 메소드

public class Test03 {
        // main() 메소드가 없는 클래스는 실행이 되지 않는다.
        public static void test() {
                System.out.println("main이 없는 클래스");
        }
}

 

--> 실행결과:

D:> java Test03
오류: Test03 클래스에서 기본 메소드를 찾을 수 없습니다. 다음 형식으로 기본 메
드를 정의하십시오.
   public static void main(String[] args)

 

--> 메인 메소드를 추가해서 수정함

public class Test03 {
        // main() 메소드가 없는 클래스는 실행이 되지 않는다.
        public static void test() {
                System.out.println("main이 없는 클래스");
        }
        // main() 메소드는 클래스 내부 아무곳이나 추가가능.
        public static void main(String [] args) {
                System.out.println("main메소드 추가됨");
        }
}


WRITTEN BY
빨강꼬마

,

- 데이터 타입의 종류
 - 숫자타입: number (정수 및 실수 모두 포함)
          표현범위: number(5) -> -99999 ~ 99999
                    number(3) -> -999 ~ 999
                    number(5,2) -> -999.99 ~ 999.99
                    number(6,3) -> -999.999 ~ 999.999


 - 문자타입
   ①char: 고정형 문자타입
     name char(10) -> name 컬럼에 입력되는 데이터의 크기는 무조건 10Byte로 들어온다. 단, 10Byte가 넘는 데이터는 입력이 불가함.
                          -> 한글의 경우 한글자당 2Byte 영문은 1Byte. (키보드에서 한키로 입력되는 숫자, 영어등은 1Byte. 없는 것은 2Byte)

            ex: '이순신'             -> 10바이트로 고정되서 들어옴
                '김구'               -> 10바이트로 고정되서 들어옴
                '이에리사'           -> 10바이트로 고정되서 들어옴
                '박차고나온애가이뻐' -> 18바이트이므로 입력불가


   ②varchar2: 가변형 문자타입
     name char(10) -> name 컬럼에 입력되는 데이터의 크기는 해당 데이터의 크기만큼 들어온다. 단, 10Byte가 넘는 데이터는 입력이 불가함.

            ex: '이순신'             -> 6바이트로 맞추어 들어옴
                '김구'               -> 4바이트로 맞추어 들어옴
                '이에리사'           -> 8바이트로 맞추어 들어옴
                '박차고나온애가이뻐' -> 18바이트이므로 입력불가

   ③Nchar , Nvarchar2: 크기의 단위가 Byte가 아니라 글자수를 나타냄
            name Nchar(10) -> name 컬럼에 입력되는 데이터의 크기가 유니코드등을 포함하여 글자수 최대 10글자까지 입력됨. 넘으면 당연히 입력 불가

            ex: '이순신'             -> 10개의 글자수로 고정되어 들어옴. -> 20Byte
                '김구'               -> 10개의 글자수로 고정되어 들어옴. -> 20Byte
                '박차고나온애가이뻐' -> 10개의 글자수로 고정되어 들어옴. -> 20Byte
                'John michael'       -> 12개의 글자수(공백포함)이므로 입력불가.
                           
            name Nvarchar2(10) -> name 컬럼에 입력되는 데이터의 크기가 유니코드등을 포함하여 글자수 최대 10글자까지 입력됨. 
                                              넘으면 당연히 입력 불가

            ex: '이순신'             -> 3개의 글자수로 들어옴. -> 6Byte
                '김구'               -> 2개의 글자수로 들어옴. -> 4Byte
                '박차고나온애가이뻐' -> 9개의 글자수로 들어옴. -> 18Byte
                'John michael'       -> 12개의 글자수(공백포함)이므로 입력불가.


 - 날짜타입: date
          date예문:
    select sysdate, current_date from dual;
    select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss'),
    to_char(current_date, 'yyyy-mm-dd hh24:mi:ss')  from dual;

※ 컬럼명에 숫자가 들어온다 하더라도 가장 앞에 숫자 0이 들어올 수 있는 개연성이 있을 경우 number 형이 아닌 문자형으로 지정하여야 한다
※ 문자는 시작과 끝에 반드시 '을 사용해야 함. 사용하지 않을 경우 숫자로 인식함.


- table에 대한 comment 처리문
comment on table [table명] is '[주석내용]';

- table내 각 column에 대한 comment 처리문
comment on column [table명].[table내 주석처리할 column명] is '[주석내용]';


- 특정 테이블에 있는 각 컬럼에 대한 주석확인 처리문

select column_name, comments
from user_col_comments
where table_name = '[table명]';



- 특정 테이블의 컬럼명과 데이터 타입 조회 명령어

describe [table명];
혹은
desc [table명];



- 특정 테이블 데이터 조회
select * from [table명];



- 데이터 입력하기
insert into [table명] values([column1 데이터], [column2 데이터], ~~~~~~~, [마지막 column 데이터]);




※ insert 명령어로 입력한 데이터는 디스크에 기록되는 것이 아닌 메모리에 기록하는 것. commit으로 디스크에 기록함



- 데이터 변경하기
update [table명] set [변경할 컬럼명1] = [변경할 데이터], [변경할 컬럼명2] = [변경할 컬럼명2] + [변경할 데이터] where [변경대상인 컬럼행] = [변경대상의 컬럼 데이터];



※ where 구문이 없을 경우 모든 행의 해당 컬럼이 변경됨
※ 변경 데이터중, X = X + 200 으로 예를 들면 X컬럼에 있는 값과 200을 합산한 결과 데이터를 최종데이터로 치환한다는 의미임
※ update 명령어로 변경한 데이터는 디스크에 기록되는 것이 아닌 메모리에 기록하는 것. commit으로 디스크에 기록함



- 데이터 삭제하기
delete [table명] where [삭제할 컬럼행] = [삭제할 컬럼행에 있는 열 데이터];




※ delete 명령어로 삭제한 데이터는 디스크에서 삭제하는 것이 아닌 메모리에서 삭제하는 것. commit으로 디스크에서 삭제함.



- commit
메모리에 상주된 데이터를 디스크에 기록하는 명령어
ex: commit;

- rollback
메모리에 상주된 데이터를 삭제하는 명령어
ex: rollback;


WRITTEN BY
빨강꼬마

,

◆ Oracle SQL Developer tool ◆

- http://www.oracle.com 에서 Developer Tools 중 SQL Developer을 선택하여 다운로드 후 설치
  (사용중인 O/S에서 JDK 포함 여부를 확인하여 적절한 파일로 다운받아 설치)

- 접속 계정 설정

 
이미지에 보이는 + 아이콘을 클릭하여 아래의 이미지처럼 정보를 입력하여 접속계정을 설정해야함.
sys계정의 경우 롤 값을 SYSDBA로 설정해야만 접속이 가능함.

 

정보를 잘못 입력하였을 경우 아래의 이미지처럼 경고문구가 출력되며 설정이 불가능함.

 

- 현재 오라클 서버에 접속한 사용자명을 보여주는 명령어
select username from user_users;

- 현재 오라클 서버에 접속한 사용자 소유의 테이블과 뷰의 목록을 보여주는 명령어
select * from tab;

- 주석문 처리
 - -- 를 사용하면 -- 이후 오는 한줄내 모든 단어를 주석처리함
 - /* */을 사용하면 줄과 상관없이 /* 과 */ 사이의 모든 단어를 주석처리함

- table, row, column
아래의 이미지처럼 특정 테이블을 기준으로 파랑색의 세로는 컬럼(column) 노랑색의 가로는 행(row) 붉은색 전체를 테이블(table)로 구분함

 

 

- 오라클 사용자 계정 만들기
sys계정에서만 가능한 명령어
create user 생성할ID identified by 생성할ID가 사용할 비밀번호
default tablespace 디폴트로설정할 tablespace명
quota 8m on 디폴트tablespace명;
 - 계정을 생성할때에는 반드시 기본 테이블 스페이스와 사용될 공간을 지정해야함
 - 사용자 계정을 만든 이후에는 create session 권한을 sys계정에서 주어야 접속이 가능함.
 - quota 명령어를 사용하여 사용될 용량을 지정시킴. (unlimited옵션을 사용하여 해당 테이블 스페이스의 모든 공간을 사용가능하게 할수있음)
 - 일반 사용자 계정의 경우 테이블 생성에도 grant 명령어를 사용하여 권한을 주어야 테이블 생성이 가능해짐.

- segment
테이블과 인덱스를 합쳐 세그먼트라 칭함

- tablespace
실제 테이블데이터가 쓰여질 파일공간을 칭함

- tablespace 생성하기
create tablespace [만들 테이블스페이스 이름지정]
datafile 'c:\khoracledata\[만들 테이블 스페이스 이름.dbf]' size [X]
extent management local -- extent = 확장율. extent도 자동으로 확장하도록 설정
segment space management auto; -- segment = 인덱스와 테이블을 합친것. 그리고 자동으로 segment를 잡아주도록.

 - tablespace를 생성하기 위해서는 반드시 3가지가 설정되어야 한다.
  - 파일의 용량 및 용량 확장율, 세그먼트의 공간 지정
 - 실제 데이터파일의 확장자는 DBF로 지정
 - SIZE의 지정단위는 KByte와 M의 단위만 사용됨
          (EX: SIZE 40m, SIZE 800k)

- tablespace 분할 생성하기
 - 파일의 용량이 커지면 메모리에 올라갈 데이터도 커지기 때문에, 확인하여야할 데이터가 있는 최소한의 데이터만
   메모리에 등록할 수 있도록 하나의 tablespace를 여러 파일로 분할하여 생성할 필요성이 있음.

create tablespace [만들 테이블스페이스 이름지정]
datafile
'g:\oracle_prac\tablespace\[만들 테이블스페이스 이름지정01.dbf]' size 40m
autoextend on
next 8m maxsize 80m,
'g:\oracle_prac\tablespace\[만들 테이블스페이스 이름지정02.dbf]' size 40m
autoextend on
next 8m maxsize 80m,
'g:\oracle_prac\tablespace\[만들 테이블스페이스 이름지정03.dbf]' size 40m
autoextend on
next 8m maxsize 80m,
'g:\oracle_prac\tablespace\[만들 테이블스페이스 이름지정04.dbf]' size 40m
autoextend on
next 8m maxsize 80m
extent management local
segment space management auto;

 - autoextend on은 지정한 40메가를 오버할 경우 자동으로 크기가 늘어나도록 처리하는 명령어
 - next는 지정한 사이즈를 제일 처음 오버하였을때 next로 지정한 용량만큼 확장시켜주도록 하는 명령어

- 생성되어있는 모든 tablespace의 정보를 확인하는 명령어 (sys계정에서만 실행가능)
select * from dba_data_files;


WRITTEN BY
빨강꼬마

,