Download presentation
Presentation is loading. Please wait.
Published byΛυσάνδρα Αβραμίδης Modified 6년 전
1
데이터베이스와 JDBC 데이터베이스 기본 개념을 이해한다 기본적인 SQL문을 익힌다 오라클 데이터베이스의 사용 방법을 익힌다
한빛미디어(주)
2
데이터베이스 개요 Section 01 데이터베이스와 DBMS 생활 속의 데이터베이스 데이터베이스(Database)
휴대폰의 전화번호 목록. ㄱ,ㄴ,ㄷ 으로 정리된 수첩의 주소록. 거의 모든 프로그램은 어떻한 형태로든 데이터베이스와 연결됨. 데이터베이스(Database) 여러 사람이 공유해서 사용할 목적으로, 체계적으로 정리된 정보를 효율적으로 관리하고 검색할 수 있는 정보의 집합.
3
데이터베이스 개요 Section 01 데이터베이스와 DBMS
데이터베이스 관리 시스템(DBMS, Database Management System) 데이터베이스를 구성하고 운영하기 위해 구성된 소프트웨어 시스템 오라클, SQL 서버 등 일반적으로 알고 있는 데이터베이스 제품이 DBMS다. 교재 249페이지 [표8-1]데이터베이스의 종류 참고 오라클 데이터베이스와 MySQL 오라클은 전세계에서 가장 많이 사용되는 상용 DBMS. MySQL은 무료로 중소규모 웹사이트개발에 많이 사용됨.
4
데이터베이스 개요 Section 01 데이터베이스 장단점 파일시스템 총무처 학생처 학과 교무처 학생 등록금 고지서 파일 DM
데이터를 저장한 파일을 데이터파일(Data File) 이라고 함. 파일시스템은 데이터를 관리하는 기본임. 경우에 따라서는 파일시스템을 이용한 데이터관리도 필요함. 총무처 학생처 학과 교무처 학생 등록금 고지서 파일 DM 주소록 성적 처리 친구
5
데이터베이스 개요 Section 01 데이터베이스 장단점 파일시스템의 문제점 데이터중복. 데이터의 불일치.
데이터의 공유가 어려움. 데이터용량증가에 따른 검색효율 저하. 데이터에 대한 보안성 미비. 텍스트 위주의 데이터 관리.
6
데이터베이스 개요 Section 01 데이터베이스 장단점 데이터베이스 도입 장점 총무처 학생처 학과 교무처 학생
중복성 최소화 데이터 불일치성 해결 데이터 공유 편이성 정보 표준화 유리 데이터 보안성 제공 데이터 무결성 유지 대량 데이터의 빠른 검색 다양한 데이터 관리 가능 →이미지 파일 등 응용 프로그램 개발이 쉽다. 총무처 학생처 학과 교무처 학생 데이터베이스 관리 시스템(DBMS) 학사 관리 통합 데이터베이스 (학생 정보, 성적 정보, 등록금 정보, 기타)
7
데이터베이스 개요 Section 01 데이터베이스 구분 파일(파일시스템)
세그먼트(계층형 데이터베이스 관리시스템 : HDBMS) 테이블(관계형 데이터베이스 관리시스템 : RDBMS) 레코드타입(네트워크형 데이터베이스 관리시스템 : NDB) 클래스(객체지향형 데이터베이스 관리시스템 : OO/ORDB)
8
데이터베이스 개요 Section 01 데이터베이스 구분 관계형데이터베이스 객체지향형 데이터베이스 데이터에 관계 개념 부여
대부분의 데이터베이스가 관계형 데이터베이스 객체지향형 데이터베이스 객체지향개념을 데이터베이스에 부여 객체지향 도입 확대로 주목 관계형의 완전한 대체는 아님 관계형 데이터베이스 + 객체지향형 데이터베이스 ORDB
9
데이터베이스 개요 Section 01 데이터베이스 구성 요소 테이블 구성요소 테이블은 데이터베이스 관리의 기본단위
정리되지 않은 데이터를 표 형태로 정리할 수 있음. 정리되지 않은 개인 정보와 정리된 개인 정보 이름 성별 거주지 출생년도 전화번호 홍길동 남 서울 1980 강동수 인천 1981 여 대구 1982 기동차 컬럼 컬럼 명 로우 홍길동, 서울, 1980, , 남 강동수, 남, 인천, 1981, 대구, 홍길동, 여, 1982, 기동차, 1980, 여, 서울,
10
데이터베이스 개요 Section 01 데이터베이스 구성 요소 테이블 구성요소 테이블 컬럼 로우 데이터에서 공통 속성 분류
데이터베이스 관리의 기본 테이블명 : 학생정보 테이블(MEMBER) 컬럼 데이터를 구별하기 위한 속성 컬럼 혹은 필드라 불림 컬럼 이름 : 이름(member), 성멸(sex), 거주지(city), 출생년도(birth),전화번호(tel) 로우 한 줄 단위의 데이터 집합(하나의 데이터 그룹) 첫번째 로우 : 홍길동, 남, 서울, 1980,
11
데이터베이스 개요 Section 01 데이터베이스 구성 요소 테이블 구성요소가 가지는 특징
로우는 하나의 데이터만 표시할 수 있다. 그룹이나 배열의 형태는 허용하지 않는다. 각각의 컬럼에는 특정한 형태의 값만을 가질수 있다. 모두 로우의 데이터는 해당 컬럼에서 요구하는 형태의 값만을 포함.
12
데이터베이스 개요 Section 01 데이터베이스 구성 요소 데이터베이스 키 주키(Primary Key)
서로다른 로우를 구분하기 위한 특징을 가진 필드. 관계형데이터베이스의 특징 주키(Primary Key) 테이블내 데이터를 구분해 주는 유일한 값을 대표하는 키. 학번, 주민등록번호, 접수번호 등 중복되지 않는 유일한 값. 외래키(Foreign Key) 테이블간의 관계를 표현. 데이터 일관성 유지. 대표적으로 코드 테이블을 참조하기 위해 사용.
13
데이터베이스 개요 Section 01 데이터베이스 구성 요소 데이터베이스 키 주키와 외래키의 관계 예시
14
SQL 기초 Section 02 SQL 개요 Structured Query Language의 약자로 표준화된 데이터베이스 질의어 DML(Data Manipulation Language)과 DDL(Data Definition Language)로 구분 SQL 문 DDL DML Create Table Alter Table Drop Table Select Insert Delete Update 테이블 생성 테이블 구조 변경 테이블 삭제 데이터 조회 데이터 삽입 데이터 삭제 데이터 수정
15
SQL 기초 Section 02 데이터베이스 자료형 데이터베이스에 저장되는 데이터의 유형 정의.
데이터베이스 종류마다 자료형 이름에 차이가 있음. 기본적으로 숫자형, 문자형, 바이너리형, 날짜형. 가변형 문자열은 길이를 고정하지 않기 때문에 관리에 유리. 이미지화일등의 저장에는 바이너리형이 필요함. 날짜 기간 검색 등을 위해서는 날짜형을 반드시 사용해야 함. 숫자를 문자형으로 저장한 경우에는 +,- 등 연산이 되지않음. 사용 목적에 따라 신중히 결정해야함.
16
SQL 기초 Section 02 데이터베이스 자료형 최대 4G byte BLOB 2바이트를 포함한 다국어 문자를 처리하는
오라클 데이터베이스 자료형 최대 4G byte 바이너리 데이터를 처리하는 대용량 자료형 BLOB 2바이트를 포함한 다국어 문자를 처리하는 대용량 자료형 NCLOB 1바이트 문자를 처리하는 대용량 자료형 CLOB 최대 2000 문자 가변 길이 문자열 데이터 VARCHAR2(size) 최대 38자리 정수, 실수 최대 n byte 정수 p=소수점을 제외한 자리수, s=소수점 이하 자리수 숫자 데이터(정수, 실수 등) NUMBER NUMBER(n) NUMBER(p,s) 최대 2G Byte 바이너리 데이터 LONG RAW 가변 길이 문자열 LONG 날짜형(형식은 지정 가능) DATE 최대 255문자 고정 길이 문자열 CHAR(size) 크기 설명 자료형
17
SQL 기초 Section 02 SQL 기본 문법 id username dept birth email
create table : 테이블 생성 형식 사용 예 CREATE TABLE 테이블명 ( 컬럼명 데이터형(크기) 옵션, 컬럼명 데이터형(크기), … ) id username dept birth CREATE TABLE member ( id NUMBER NOT NULL Primary Key, username VARCHAR2(20), dept VARCHAR2(7), birth DATE, VARCHAR2(40) )
18
SQL 기초 Section 02 SQL 기본 문법 id username dept birth email tel
alter table : 테이블 구성 정보 수정 형식 사용 예 ALTER TABLE 테이블명 [SQL 명령어] (컬럼명 데이터형) id username dept birth tel ALTER TABLE member add (tel varchar2(30) NOT NULL) ALTER TABLE member modify (username varchar2(10)) ALTER TABLE member DROP CONSTRAINT member_pk
19
SQL 기초 Section 02 SQL 기본 문법 delete table : 테이블 삭제 형식 사용 예
DROP TABLE 테이블명 DROP TABLE member
20
SQL 기초 Section 02 SQL 기본 문법 select : 테이블 데이터 조회 200701 홍길동 정보기술
형식 사용 예 SELECT 컬럼명 FROM 테이블명 WHERE 조건 200701 홍길동 정보기술 200702 아무개 … id username dept birth SELECT * FROM member WHERE id = “200701” SELECT id, username, birth FROM member WHERE id = AND name=”홍길동”
21
SQL 기초 Section 02 SQL 기본 문법 insert : 테이블에 데이터 추가 200701 홍길동 정보기술
형식 사용 예 INSERT INTO 테이블명(삽입할 컬럼명…) VALUES(컬럼에 넣을 값…) 200701 홍길동 정보기술 200702 아무개 id username dept birth 200703 강기동 INSERT INTO member 테이블에 정의된 컬럼 순서대로 모든 컬럼 데이터가 들어가야 함. INSERT INTO member(id,gwa,name) values(200701, ”정보기술”,”홍길동”) 지정된 필드의 순서에 따라 데이터가 들어감.
22
SQL 기초 Section 02 SQL 기본 문법 update : 테이블 데이터 수정 200701 홍길동 정보기술
형식 사용 예 UPDATE 테이블명 set 컬럼명 = 수정할 값1, field = 수정할 값2 … WHERE 조건 200701 홍길동 정보기술 200702 아무개 id username dept birth 200705 이쁜이 UPDATE member set id = , name=”이쁜이” WHERE id =
23
SQL 기초 Section 02 SQL 기본 문법 delete : 테이블 데이터 삭제 200701 홍길동 뉴미디어
형식 사용 예 DELETE FROM 테이블명 WHERE 조건 200701 홍길동 뉴미디어 200702 아무개 id username dept birth DELETE FROM member WHERE id = DELETE FROM member WHERE id = AND name=”홍길동
24
JDBC 개요 Section 03 JDBC 개념과 역할 자바애플리케이션에서 표준화된 데이터베이스 접근 제공.
각 데이터베이스 접속에 대한 상세한 정보를 알 필요 없음. 이론적으로는 개발된 애플리케이션에서 DB 변경시 JDBC 드라이버만 교체하면됨.
25
오라클 데이터베이스 설치 및 설정 교재 : 264 ~ 270 페이지 과제 개요
대표적 데이터페이스인 오라클 10g Express 버전 설치 오라클 관련 설정 항목 및 포트 변경 실습 오라클 사용자 생성 및 기본 도구 사용법 실습
26
JDBC 개요 Section 04 JDBC 개념과 역할 JDBC 구조 애 플 리 케 이 션 오라클 DBMS MySql DBMS
JDBC(Java Database Connectivity) 자바에서 데이터베이스를 표준화 된 방법으로 접속할 수 있도록 만든 API 규격 데이터베이스 벤더와 상관없이 동일한 개발이 가능함 애 플 리 케 이 션 오라클 DBMS MySql DBMS 인포믹스 DBMS JDBC 드라이버 관리자 구현 사용 오라클 JDBC 드라이버 MySql JDBC 드라이버 인포믹스 JDBC 드라이버
27
JDBC 개요 Section 03 JDBC 드라이버 유형 JDBC 드라이버 구성도 자바 애플리케이션 JDBC 드라이버 관리자
DBMS Native-Protocol 드라이버 ODBC 드라이버 JDBC 미들웨어 JDBC-ODBC JDBC API JDBC 드라이버 API Net-Protocol Native-API
28
WebContent\WEB-INF\lib 폴더에 에 설치
JDBC 개요 Section 03 JDBC 드라이버 설치 JDBC 드라이버 선택 JDBC 드라이버는 사용하고자 하는 데이터베이스 벤더 별로 제공 됨 오라클 JDBC드라이버 c:\dev\oraclexe\app\oracle\product\10.2.0\server\jdbc\lib\ojdbc14.jar 설치 디렉터리(다음 중 한 가지를 이용함) JDK설치디렉터리\jre\lib\ext\ 에 복사하는 방법. 톰캣설치디렉터리\common\lib 폴더에 복사하는 방법 이클립스 프로젝트의 WebContent\WEB-INF\lib 폴더에 복사하는 방법 WebContent\WEB-INF\lib 폴더에 에 설치
29
JDBC 프로그래밍 과정 Section 04 JDBC 프로그래밍 단계
30
JDBC 프로그래밍 과정 Section 04 JDBC 프로그래밍 단계 데이터베이스 드라이버 로드 데이터베이스 연결
Class.forName(“oracle.jdbc.driver.OracleDriver”); 엑세스 DB인 경우 : sun.jdbc.odbc.JdbcOdbcDriver 데이터베이스 연결 Connection conn = DriverManger.getConnection(JDBC_url,”아이디”,”비밀번호”); JDBC_URL 구성 = 엑세스 DB인 경우 = jdbc:odbc:song
31
JDBC 프로그래밍 과정 Section 04 JDBC 프로그래밍 단계 연결정보 IP 주소 포트 SID
오라클에서 네트워크를 통한 접속을 처리하기 위해 실행되어 있는 리스너의 사용 포트 기본값은 1521 SID 오라클 인스턴스 이름으로 MySQL에서는 DB 이름으로도 불림
32
JDBC 프로그래밍 과정 Section 04 JDBC 프로그래밍 단계 Statement 생성 및 쿼리 실행
Statement 객체 생성후 SQL 문장을 변수 처리부와 함께 문자열로 구헝 쿼리가 복잡해질수록 성능저하 및 관리에 어려움이 있음 Statement stmt = conn.createStatement(); stmt.executeUpdate(“insert into test values('" +request.getParameter("username")+"','"+request.getParameter(" ")+"')");
33
JDBC 프로그래밍 과정 Section 04 JDBC 프로그래밍 단계 PreparedStatement 생성 및 쿼리 실행
PreparedStatement 객체 생성시 SQL 문장을 미리 생성하고 변수 부는 별도의 메서드로 대입하는 방식으로 성능과 관리 면에서 모두 권장 되는 방식임 PreparedStatement pstmt = conn.prepareStatement(“insert into test values(?,?)”); pstmt.setString(1,request.getParameter("username"); pstmt..setString(2, request.getParameter(" "); pstmt.executeUpdate();
34
JDBC 프로그래밍 과정 Section 04 JDBC 프로그래밍 단계 결과 받기
ResultSet rs = pstmt.executeQuery( ); ResultSet은 커서 개념의 연결 포인터 기본적으로 next()메서드를 통해 로우 이동
35
JDBC 프로그래밍 과정 Section 04 JDBC 프로그래밍 단계 결과 받기
ResultSet rs = pstmt.executeQuery(); while(rs.next()) { name = rs.getString(1); // or rs.getString(“name”); age = rs.getInt(2); // or rs.getInt(“ ”); } rs.close();
36
JDBC 프로그래밍 과정 Section 04 JDBC 프로그래밍 단계 연결해제
Connection 을 close()해주지 않으면 사용하지 않는 연결이 유지됨. DB 자원을 낭비하게 됨. conn.close();
37
①DB 연결: server IP, DB userID, userPass, SID(DB)
JDBC 프로그래밍 과정 Section 04 JDBC 프로그래밍 단계 JDBC 프로그래밍 동작 과정 - 정리 ①DB 연결: server IP, DB userID, userPass, SID(DB) ②쿼리 전달 ④결과 전달 웹 서버(톰캣) 클라이언트 DB 서버 ③ 리스너 DB 1 DB 2 DB 3
38
JDBC 프로그래밍 교재 : 284 ~ 298 페이지 과제 개요 간단한 등록 양식을 통해 데이터베이스 연동 프로그램 작성
이클립스 및 오라클 관리도구를 이용한 SQL 관리 실습
Similar presentations