Transcript 1장 일차연립방정식
JSP Programming with a Workbook
데이터베이스
학습 목표
데이터베이스에 대하여 알아보자.
SQL문법에 대하여 알아보자.
JDBC에 대하여 알아보자.
JDBC 프로그래밍에 대하여 알아보자.
2
JSP Programming with a Workbook
데이터베이스
데이터베이스
데이터를 조직적으로 통합해 구조화시켜 놓은 데이터의 집합체
데이터베이스 관리 시스템 (DBMS)
데이터베이스를 생성하고 검색하며, 추가, 삭제를 원활히 하려는
프로그램의 집합
특징
데이터 구조 정의
데이터 검색과 갱신
데이터 추가와 삭제
복수의 사용자로부터의 데이터 처리 동시 실행 제어
정보보호
3
JSP Programming with a Workbook
SQL Server 설치하기
Step 1 ~ Step 15: SQL Server 200 설치하기
(그림 7-1 ~ 그림 7-15 참고)
4
JSP Programming with a Workbook
데이터베이스 생성하기 [1/4]
Step 1 ~ Step 3 : 데이터베이스 생성
(그림 7-16 ~ 그림 7-28 참고)
5
JSP Programming with a Workbook
데이터베이스 생성하기 [2/4]
Step 4 ~ Step 8 : 로그인 생성하기
(그림 7-19 ~ 그림 7-23 참고)
6
JSP Programming with a Workbook
데이터베이스 생성하기 [3/4]
Step 9 ~Step14 : 테이블 생성하기
(그림 7-24 ~ 그림 7-28 참고)
7
JSP Programming with a Workbook
데이터베이스 생성하기 [4/4]
Step 15 ~ Step 16 : 데이터 입력
(그림 7-30 ~ 그림 7-31 참고)
8
JSP Programming with a Workbook
SQL 질의어 [1/5]
SQL (Structured Query Language)
데이터베이스를 정의하고 조작하려는 질의어
초기에는 관계형 DBMS에서만 사용되었으나 지금은 특정한
시스템에 한정되지 않고 널리 사용됨
쿼리분석기 실행하기 (그림 7-32 ~ 그림 7-34참고)
9
JSP Programming with a Workbook
SQL 질의어 [2/5]
SELECT 문 (그림 7-35 참고)
레코드 검색
형식
예
SELECT 필드이름 FROM 테이블이름 [WHERE 조건문]
SELECT * FROM tblMember
SELECT name FROM tblMember WHERE num = '4'
10
JSP Programming with a Workbook
SQL 질의어 [3/5]
INSERT 문 (그림 7-36 참고)
레코드 추가
형식
예
INSERT INTO 테이블이름( 필드이름 ) VALUES( '값‘ )
INSERT INTO tblMember (id, pwd, name) VALUE ('melon', '4444'. ‘김콩쥐’)
INSERT INTO tblMember (age, phone) VALUE ('19', '019-999-9999')
11
JSP Programming with a Workbook
SQL 질의어 [4/5]
UPDATE 문 (그림 7-37 참고)
레코드 수정
형식
예
UPDATE 테이블이름 SET 필드이름 = ‘값’ [ WHERE 조건문 ]
UPDATE tblMember SET age = '19'
UPDATE tblMember SET id = 'grapes', name = '팥쥐‘ WHERE num = '4'
12
JSP Programming with a Workbook
SQL 질의어 [5/5]
DELETE 문 (그림 7-38 참고)
레코드 삭제
형식
예
DELETE FROM 테이블이름 [WHERE 조건문]
DELETE FROM tblMember
DELETE FROM tblMember WHERE pwd = '4444'
13
JSP Programming with a Workbook
JDBC [1/3]
JDBC (Java Database Connectivity)
자바에서 제공하는 데이터베이스 조작 인터페이스
다양한 관계형 데이터베이스들을 위한 일관된 인터페이스를
제공하는 API 집합
어떤 데이터베이스를 쓰더라도 JDBC 드라이버만 제공 된다면 코드
수정 없이 바로 적용할 수 있음
JDBC 타입
JDBC-ODBC 브리지 타입
Native-API/Partly Java 타입
명령어 변환 타입
직접 전송 타입
14
JSP Programming with a Workbook
JDBC [2/3]
JDBC-ODBC 브리지 타입
JDBC에 들어온 모든 명령을
ODBC형으로 변환해 ODBC
드라이버로 전달하는 방식
Native-API/Partly Java
타입
JDBC에 들어온 데이터베이스
명령을 DBMS 시스템 호출에
맞춰서 변환한 후 그 명령을
전달하는 방식
15
JSP Programming with a Workbook
JDBC [3/3]
명령어 변환 타입
JDBC 드라이버를 통해
데이터베이스 명령을 호출하면
JDBC 드라이버는 그 명령을
변경하지 않고 그대로
데이터베이스 접근 미들웨어로
전송하고 이를 데이터베이스에
적합한 명령어로 변환하는 방식
직접 전송 타입
자바로 구현된 JDBC로
네트워크를 통해 DBMS로 직접
전송하는 방식
16
JSP Programming with a Workbook
ODBC 설정
Step 1 ~ Step 10 : ODBC 설정하기
(그림 7-43 ~ 그림 7-52 참고)
17
JSP Programming with a Workbook
JDBC 프로그래밍 [1/6]
JDBC 드라이버 로드
데이터베이스에 접속하기 위해서는 해당 JDBC 드라이버를 로드
해야함
형식
Class.forName("JDBC드라이버 클래스 이름“);
예
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
드라이버에 따른 클래스의 이름
ODBC : sun.jdbc.odbc.JdbcOdbcDriver
Microsoft SQL - com.microsoft.jdbc.sqlserver.SQLServerDriver
MySQL - com.mysql.jdbc.Driber
Oracle - oracle.jdbc.driver.OracleDriver
18
JSP Programming with a Workbook
JDBC 프로그래밍 [2/6]
데이터베이스 연결 (Connection)
DriverManager 클래스의 getConnection() 메소드를 사용하여
데이터베이스에 연결
형식
예
DriverManager.getConnection(String url, String user, String password);
Connection conn =
DriverManager.getConnection("jdbc:odbc:dbMember","Member","apple");
첫 번째 인자 형식 (url)
형식
예
Connection conn =
jdbc:<서브 프로토콜>:<데이터 원본 식별자>
jdbc:odbc:dbMember
Connection 클래스의 주요 메소드
(Page. 215~ Page. 216 표 참고)
19
JSP Programming with a Workbook
JDBC 프로그래밍 [3/6]
Statement 생성 (Statement, PreparedStatement)
SQL 문 수행
Connection 클래스의 createStatement() 메소드 사용
형식
Statement stmt = conn.createStatement()
PreparedStatement
SQL문을 미리 만들어 변수를 입력하는 방식
유지보수 측면에서 유리함
Statement 클래스에 해당하는 메소드를 모두 사용할 수 있음
20
JSP Programming with a Workbook
JDBC 프로그래밍 [4/6]
SQL문 전송 (Statement)
SQL문 처리
executeQuery() 메소드 : SELECT 문 처리
형식
예
stmt.stexecuteQuery(String sql);
stmt.stexecuteQuery("SELECT * FROM tblMember");
executeUpdate() 메소드 : INSERT, UPDATE, DELETE 문 처리
형식
예
stmt.stexecuteUpdate(String sql);
stmt.stexecuteUpdate("INSERT INTO tblMember (id, pwd, name,
phone)VALUES ('melon', '4444', '이수용', '019-999-9999')");
21
JSP Programming with a Workbook
JDBC 프로그래밍 [5/6]
처리 결과 리턴 (ResultSet)
결과 확인
ResultSet 클래스에서 제공하는 메소드
(Page. 218 ~ Page. 219 참고)
연결 해제
모든 처리를 끝낸 후 close() 메소드를 사용하여 연결 해제
22
JSP Programming with a Workbook
JDBC 프로그래밍 [6/6]
JDBC 프로그래밍 예제 (코드 7-1 ~ 코드 7-2 참고)
23
JSP Programming with a Workbook
학습 정리 [1/2]
데이터베이스(Database)란 데이터를 조직적으로 통합하여 구조화
시켜놓은 데이터의 집합체이다. 이를 통하여 데이터의 중복을 없애고
쉽게 관리하고 검색하고, 갱신할 수 있도록 한 것이다.
데이터베이스를 생성하고, 검색하며, 추가, 삭제를 원활히 하기 위한
프로그램의 집합을 데이터베이스 관리 시스템(DBMS : Database
Management System)이라고 한다. DBMS의 형태 중 가장
일반적인 것은 관계형 DBMS로서 오라클사의 Oracle, 인포믹스사의
Informix, IBM사의 DB2등이 있으며 또한 개인용 컴퓨터에서 주로
사용하는 Microsoft사의 Access, SQL Server등이 있다.
SQL(Structured Query Language)은 데이터베이스를 정의하고
조작하기 위한 질의어(Query Language)이다. SELECT 문,
INSERT 문, UPDATE 문, DELETE 문 등을 통해 데이터를 검색,
추가, 수정, 삭제 등의 작업을 할 수 있다.
24
JSP Programming with a Workbook
학습정리 [2/2]
JDBC 프로그래밍은 다음과 같이 6단계로 진행된다.
JDBC 드라이버 로드
데이터베이스 연결
Connection conn = DriverManager.getConnection(String url, String
user, String password);
Statement 생성
Class.forName("JDBC드라이버 클래스 이름“);
Statement stmt = conn.createStatement()
SQL문 전송
처리 결과 리턴
연결 해제
25
JSP Programming with a Workbook
연습 문제 및 Workbook
연습문제 1 ~ 4
실전 연습문제
1단계 실습 : MS Access 데이터베이스를 ODBC 설정하고 이에
접근하여 테이블 형식으로 모든 레코드를 출력하는 웹페이지를
작성해 보자.
2단계 실습 : 회원 가입 페이지에 입력한 내용을 데이터베이스에
저장해 보자.
실무 프로젝트
과제 1 : 한 페이지당 일정한 레코드를 출력하고 페이지 이동이
가능한 페이지를 작성해 보자.
과제 2 : 우편번호 검색 페이지를 작성해 보자.
26
JSP Programming with a Workbook