본문 바로가기
컴퓨터과학[3-2]/J.S.P

JSP - [제11강] JDBC를 이용한 데이터베이스 프로그래밍

by boolean 2016. 7. 22.
728x90

JSP - [제11강] JDBC를 이용한 데이터베이스 프로그래밍

데이터베이스 기초, MySQL 설치, MySQL 명령문 실행하기, DBMS 연동 프로그래밍

JSP 용어정리

  • 데이터 베이스 관리 시스템(DBMS)
    데이터베이스 관리 시스템은 여러 애플리케이션들이 데이터를 공용할 수 있게끔 데이터베이스를 관리해 주는 소프트웨어로 애플리케이션과 데이터 사이의 중재자라 할 수 있다. 데이터베이스를 이용하기 위해서는 DBMS를 통해서만 가능하며 DBMS는 데이터베이스의 생성, 접근, 처리 절차, 보안, 물리적 구성, 관리에 책임을 진다
  • 테이블
    관계형 데이터베이스에서 데이터는 테이블의 형태를 띠며 테이블을 릴레이션이라고 한다. 하나의 데이터베이스는 여러 테이블들로 구성된다. 테이블은 행(row)과 열(column)로 이루어져 있다. 행을 레코드(또는 투플)라 하고 열을 필드(또는 애트리뷰트)라 한다. 즉 테이블은 레코드들의 집합이며 각 레코드는 여러 필드들로 구성된다.
  • MySQL
    관계형 데이터베이스 관리 시스템의 하나이다. 다중 사용자를 지원하고 서버로 동작될 수 있으며 오픈 소스 소프트웨어이다. 상업적 목적이 없다면 개인사용자는 무료로 사용할 수 있다. 20개 이상의 다양한 플랫폼에 설치될 수 있고 다양한 언어를 지원하도록 API가 제공된다. 현재는 오라클에서 관리하고 있다.
  • SQL
    Structured Query Language의 약자로 ‘구조화된 질의어’라 번역할 수 있으나 데이터 정의, 데이터 조작, 데이터 제어 기능을 모두 제공한다. 다시 말해 SQL은 관계형 데이터베이스 관리 시스템에서 자료의 검색과 관리, 데이터베이스 스키마 생성과 수정, 데이터베이스 접근에 대한 제어를 위해 고안된 대화식 프로그래밍 언어이다.
  • JDBC
    Java DataBase Connectivity의 약자로 자바 프로그램과 데이터베이스를 연동하기 위해 필요한 자바 API를 말한다. DBMS의 제작사는 JDBC 드라이버를 제공하는데 JDBC 드라이버는 클라이언트 머신에 설치되어, 자바 프로그램으로부터의 요청을 DBMS가 이해할 수 있는 프로토콜로 변환해주는 어댑터이다. JDBC 클래스들은 기본 자바 API의 java.sql 패키지에 포함되어 있다.

요점정리

  1. 데이터베이스는 정보를 뜻하는 데이터(data)와 집합장소를 의미하는 베이스(base)의 합성어로 ‘데이터를 모아놓은 집합장소’를 의미한다.
  2. 관계형 DBMS에서는 데이터를 테이블(table)형태로 저장한다.
  3. ‘MySQL 5.6 Command Line Client’ 프로그램을 이용하면 MySQL 명령어 및 SQL 구문을 실행시킬 수 있다.
  4. MySQL은 널리 사용되는 무료 DBMS이다.
  5. 데이터베이스에 저장된 데이터를 검색하거나 수정할 때 SQL 구문을 사용하다.
  6. DBMS 서버와 연결을 설정할 때는 java.sql 패키지가 제공하는 DriverManager 클래스를 사용한다.
  7. SQL의 select 구문을 실행할 때는 Statement 인터페이스의 executeQuery() 메서드를 사용하고, insert/update/delete 구문을 실행할 때는 executeUpdate() 메서드를 사용한다.
  8. 같은 SQL 구문을 여러 차례 사용할 때는 PreparedStatement 객체를 사용하는 것이 효과적이다.
  9. ResultSet 객체를 사용하여 select 구문의 실행 결과를 다룰 수 있다.

연습문제

  • 연습문제1
    member 테이블에서 address가 “Seoul”인 회원을 검색하는 MySQL 명령은 무엇인가?
    답을 체크하세요
    정답 :
    해설 :
    보기 3은 모든 레코드의 address 필드를 “Seoul”로 변경하는 것이다. 보기 4는 address가 “Seoul”인 모든 레코드를 삭제하는 것이다. 보기 2는 잘못된 명령이다.
  • 연습문제2
    JSP 페이지에서 DBMS와 연동하여 SQL 질의를 실행하는 프로그램을 작성하려고 한다. 올바른 절차는?
    답을 체크하세요
    정답 :
    해설 :
    JDBC를 이용하여 SQL 문을 처리하는 절차는 다음과 같다. DriverManager를 이용하여 DBMS와 연결(Connection 객체 생성), Connection 객체를 이용하여 Statement 객체 생성, Statement 객체를 이용하여 SQL 질의 실행(ResultSet 객체 반환), ResultSet 객체를 가지고 작업, 연결 종료의 순이다.
  • 연습문제3
    SQL 구문 가운데 insert, delete와 update를 실행하려고 한다. Statement 인터페이스에서 어떤 메소드를 사용해야 하는가?
    답을 체크하세요
    정답 :
    해설 :
    ‘int executeUpdate(String sql)’을 사용하며 SQL 구문에 의해 영향을 받는 레코드의 개수가 리턴된다. 보기 3은 select 구문을 실행하기 위한 메소드이다.
  • 연습문제4
    다음과 같이 파라미터를 가지는 SQL 구문을 만들 때 사용되는 인터페이스는 무엇인가?
    String query = “insert into member values (?, ?, ?, ?, ?)”;
    답을 체크하세요
    정답 :
    해설 :
    Statement 객체를 여러 번 수행해야 한다면 PreparedStatement 객체를 사용하는 것이 실행 시간을 줄일 수 있다. PreparedStatement 객체가 Statement 객체와 다른 점은 그것이 생성될 때 SQL 구문이 주어진다는 것이다. 다음과 같으며 con은 Connection 객체이다. pstmt = con.prepareStatement(query);
  • 연습문제5
    Statement나 PreparedStatement 인터페이스의 executeQuery() 메소드로 SQL 구문을 실행시킬 때 리턴되는 것은 무엇인가?
    답을 체크하세요
    정답 :
    해설 :
    executeQuery() 메소드는 select 구문을 실행시킬 때 사용된다. 리턴되는 결과는 하나의 테이블로 간주될 수 있으며 ResultSet 객체로 다루어진다.


댓글