System.out.println("Hello, World");

'프로그래밍/JDBC'에 해당되는 글 2건

  1. 2012.05.10 Connection Pool
  2. 2012.04.06 JDBC 프로그래밍

Connection Pool

2012. 5. 10. 10:53 : 프로그래밍/JDBC

Connection Pool

Connection Pool의 필요성

- DBMS로의 연결이 오래걸린다.

- DB 작업을 할 때마다 Connection ~ Close 까지의 반복 작업이 비효율적

- Connection Pool에 Connection 객체를 생성해 놓고 DB 작업시 Pool에서 빌려 사용후 다시 반납


Connection Pool의 개념

- Connection을 관리하는 객체 Pool

- Connection들을 미리 생성하여 Pool에 저장한 뒤 필요시 빌려쓰는 개념

- 사용 후에는 다시 Connection Pool에 반납


Connection Pool의 사용

- 직접 제작하여 사용 / 제공되는 API를 이용

- 대표적인 API : org.apache.tomcat.dbcp.dbcp.BasicDataSource


DataSource

- Connection Pool을 구현하기 위한 스펙을 정해놓은 Interface

- Connection Factory (Connection 객체를 생성해 주는 역할)

- javax.sql.DataSource를 import 해서 사용


DataSource의 장점

- Connection Pool 지원

- 객체가 DB 연결에 필요한 정보를 알고 있어 DB연결시 URL, ID, Password를 입력해야 하는 번거로움 해소

Posted by 김마농

테이블의 형태

- 테이블 데이터베이스의 기본적인 테이더 저장 단위

- 테이블은 시스템내에서 독립적으로 사용되길 원하는 엔티티를 표현한다.

- 컬럼(속성)과 로우(튜플, 레코드)로 구성되어 있다.
  로우(튜플) : 표현하고자 하는 값
  컬럼 : 여러 레코드중 하나의 속성값

- Domain : System에서 표현하고자 하는 Data

 -테이블은 다른 테이블과의 관계를 표현할 수 있다.
 ->외래키 사용

관계형 데이터 베이스

- Domain을 다른 Domain들과 관계를 맺어(참조) Data표현을 확장한다.

- 데이터베이스 : 지속적으로 유지, 관리되어야 하는 데이터들의 집합.

- 데이터베이스 관리시스템 : Database Management System으로 데이터베이스를 관리해 주는 시스템을 말한다.
  ex) 오라클 DBMS, MS-SQL, DB2 ㄷ으

 - 관계형 데이터베이스 : 데이터들을 여러항목(컬럼)의 집합으로 표현하는 테이블 형태로 데이터를 관리하는 방식


테이블 생성
- 대소문자를 안가리기 때문에 섞어서 쓸수 있다.

Table은 컬럼으로 이루어져 있다.

CREATE TABLE table_name)
( columm명 datatype [제약조건]
  [, columm datatype . . .]
  [,제약조건]
)

ex)
CREATE TABLE customer
( id varchar2(10),
  name varchar2(50),
  age number(3),
)
---> customer라는 테이블을 생선한다.
        id는 varchar2 데이터타입이고 10바이트를 이용한다.
        name은 varchar2 데이터타입이고 50바이트를 이용한다.
        age는 number 데이터타입이고 3자리까지 사용할 수 있다.


 

VARCHAR2(n)
-가변 길이랑 VARCHAR2(5)라 설정하고 "abc"값을 넣었다고 가정하면

이렇게 데이터가 삽입되고 뒤에 2자리가 남게 된다. 이때 뒤에 있는 빈 공백을 사용하지 않으니

잘라버려서 3자리로 만든다.

CHAR(n)
- char(5)로 설정하고 "abc"를 넣을때에는

위 그림과 같이 abc가 각각의 자리에 위치하고 남는 빈자리는 공백으로 채워주어서 무조건 5글자를 유지한다.

 NUMBER(p,s)
  - number  : 정수(무한대)
  - number(n) : 정수 (n자리수)
     ex)number(5) -> 00000 ~ 99999까지 표현한다.
  - number(p,s) : 실수(총단위 p, 소숫점 이하 S)
     ex)number(5,2) -> 000.00 ~ 999.99까지 표현한다.


Posted by 김마농