본문 바로가기

JAVA/특강

특강 4일차


33. 객체 직렬화
 : 정의
   ==> 메모리에 올라간 객체(인스턴스) 자체를 파일에 저장 또는 네트워크로 전송하기 위해서 바이트형태로
         아카이빙(압축)하는 방법
         예> String


 : 구현방법
   ==> 아카이빙하기 위한 클래스는 반드시 Serializable 인터페이스를 구현한다.
   ==> 사용되는 I/O 클래스는 ObjectInputStream, ObjectOutputStream을 사용.


34. 데이터베이스

 : 용도
   ==> DBMS (DataBase Management System)
   ==> 데이터를 관리하는 역할( 저장, 조회, 수정, 삭제 )

 : 종류
   ==> 트리형, 망형
   ==> 관계형 데이터베이스 ( Realational DBMS : RDBMS )
       : 데이터를 테이블 구조로 관리
       : 여러 테이블로 관리하고, 서로 관계를 맺으면서 데이터를 관리.

 : vendor(회사)
   ==> Oracle ( 오라클 )
   ==> MS-SQL ( MS )
   ==> MySQL ( 오라클 )
   ==> DB2 ( IBM )

      * DBA(관리자)
           sys/oracle

      * 일반사용자
            scott/tiger


 : 오라클설치
   ==> c:\oracle
   ==> c:\program files\Oracle
   ==> 레지스트에 등록됨
   ==> 서비스에 등록
    : XXXTNSListener (필수) - 먼저 실행(1)
    : XXXServiceORCL (필수) - 그 다음으로 실행(2)


 : 오라클 언인스톨
    1) 모든 시스템 중지
    2) 레지스트리 수정
         실행 : regedit
           - MACHINE > Software > Oracle 폴더 삭제
           - MACHINE > SYSTEM > ControlSet001 > 5개의 오라클 폴더 삭제
                                                나머지 ControlSet에서도 남아있을 수 있으니까 확인 후 있으면 삭제

    3) 물리적인 폴더 삭제
        : 재부팅 후에 삭제한다.
        ===> C:\oracle 삭제
        ===> C:\program files\Oracle 삭제

 : 추천사이트
          www.oracleclub.com
          otn.oracle.com

 : 접속하는 툴

    클라이언트 --------------------------------------------------> 오라클 서버

    - SQL*PLUS ( 자동으로 설치됨 )
    - SQL Developer ( 오라클, GUI )
 
   * 주의할 점
    : 오라클 내에 JDK 포함됨 ( jdk1.3 ) <- 너무 낮아 ㅇㅇㅇ
    : path를 수정해야 된다.!!!!!!! <- 수정 안하면 얘로 함


35. SQL*PLUS 툴
 : text 기반툴.
 : cmd 창에서

       c:\> sqlplus

36. 데이터베이스에서 작업 ( 객체 생성 )

    - 테이블 (*)
        : 실제 데이터가 저장된다.
    - 인덱스
    - 뷰
    - 시퀀스
    - 시노님

37. 데이터베이스 언어 ( SQL : Structured Query Language )

   - DDL ( Data Definition Language )
      : 객체를 생성, 삭제, 수정
      : Create ( 생성 )
      : Drop ( 삭제 )
      : alter ( 수정 )

   - DML ( Data Manipulation Language )
      : 객체에 데이터를 입력, 수정, 삭제
      : insert 문
      : update 문
      : delete 문

    ======> 바로 반영이 안됨. ( 파일에 write안하고, 메모리에서만 작업이 이루어짐 )
    ======> Transaction(트랜잭션)

       * Tx
         : 단위업무
         : 반드시 모두 성공하거나, 하나라도 실패하면 모두 취소 =====> 데이터 무결성보장
         : 모두 성공시 반영( 파일에 적용시키는 작업 : commit )
           하나라도 실패시 모두 취소 ( 메모리에 적용 : rollback )

         ㅇㅖ> 계좌이체 (500이체)
                    : 2가지 작업으로 구현( A:수정,update,  B:삽입, insert )
         1000
         A ------> B

                결과성공 :
                     A --------> B
                    500              500

                결과실패 :
                      A --------> B
                     1000

    - Query
      : 데이터를 조회
      : select 문


38. 테이블 생성
 : 문법

    create table  테이블명 (

컬럼명   데이터타입,
컬럼명2 데이터타입2,

    );

 : 데이터타입 종류
   - 수치
       : number
       => 정수   number(자릿수)     number(4)
       => 실수   number(전체자릿수, 소수점자릿수)    number(4,2)

   - 문자
        : char, varchar2 ( 바차2 )
        => char ( 바이트 수 )
              : 최대 2000byte
              : 크기가 고정  ( char(10) )
        => varchar ( 바이트 수 )
              : 최대 4000byte
              : 크기가 가변

   - 날짜
        : date, timestamp
         ==> date

         ==> timestamp
              : 정밀도가 높다 !

예 > 학생

    create table Student (
          name varchar2(8),
          age number(3),
          address varchar2(100)
    );

sql>select * from tab; //선택된 테이블 정보 보기


41. JDBC(Java DataBase Connectivity)

   : 자바언어와 DBMS 간의 통신기술

 자바프로그램 ------------------------------> DBMS
  : 드라이버
  ===> 압출파일 (ojdbc_14g.jar)
  ===> 클래스패스에 추가

  : 자바코드작성

42. 데이터 삭제
  : delete 문
  : 문법

   delete from 테이블명;
 ===> 전체 레코드 삭제

   delete from 테이블명;
   where 조건식;
 ===> 조건에 일치하는 레코드만 삭제

 예> delete from student
       where age = 20;

    delete from student
    where age between 10 and 20; //and

    delete from student
    where age in (10,20,40); //or


43. 데이터 수정

  : update 문
  : 문법

    update 테이블명 set 컬럼명=새로운값, 컬럼명=새로운값;

    update 테이블명 set 컬럼명=새로운값, 컬럼명=새로운값
    where 조건식;

예>
     update STUDENT set age = 50, address='제주'
      where name='강감찬';









* 자바코드

  String query = "select * from student";

   int n = stmt.executeUpdate(query); //n은 실행된 레코드 갯수

   ResultSet rs = stmt.executeQuery(query); //rs은 테이블을 객체로 표현

   while( rs.next()){ //1. 행(레코드 선택)
 
       //2. 열(메소드)

             String n = rs.getString("name");
             int a = rs.getInt("age");
             String addr = rs.getString("address");

    }//end while


//자원반납
rs.close();
stmt.close();
con.close();



   * 자바교재
- 자바의 정석


   * C언어, C++, 자바
==> 기본
==> 웹프로그래밍
      ( jsp/servelt, ASP, PHP )
      + HTML5 (웹표준)  ==> 하이브리드 앱 ( 웹 + 앱 연동 )
      + javascript
      + css

==> 데이터베이스 개요, SQL 문 ( 표준 sql, vendor sql )
==> DBMS ( Oracle, mysql ) 설치, 데이터 넣고 빼기 정도는 필수로 해봐

   * SI, SM, 솔루션

   * 근무환경

   * 보안?

   * 교육과정
      : 교육센터의 참조.

'JAVA > 특강' 카테고리의 다른 글

특강 2일차  (0) 2011.11.20
특강 1일차  (0) 2011.11.19