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,
컬럼명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, 솔루션
* 근무환경
* 보안?
* 교육과정
: 교육센터의 참조.
: 데이터타입 종류
- 수치
: 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, 솔루션
* 근무환경
* 보안?
* 교육과정
: 교육센터의 참조.