데이터베이스와 JDBC 데이터베이스 기본 개념을 이해한다 기본적인 SQL문을 익힌다 오라클 데이터베이스의 사용 방법을 익힌다

Slides:



Advertisements
Similar presentations
일정 관리 다이어리 제작 JSP Programming with a Workbook. 학습 목표  사용자의 일정을 관리할 수 있는 다이어리에 대하여 알아보자. JSP Programming with a Workbook2.
Advertisements

2008 년 11 월 20 일 실습.  실험제목 ◦ 데이터베이스 커넥션 풀  목표 ◦ 데이터베이스 커넥션 풀의 사용.
PARK SUNGJIN Oracle 설치 PARK SUNGJIN
DB 프로그래밍 학기.
DB 프로그래밍 학기.
You YOungseok 데이터베이스 테이블 및 인덱스 You YOungseok.
Power Java 제3장 이클립스 사용하기.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
제 10 장 JDBC 프로그래밍 학기 인터넷비즈니스과 강 환수 교수.
소프트웨어시스템설계(6주) 데이터베이스 연동
주)INVENTORNICS 노창배 소프트웨어 김 경 순
데이터 베이스 설계 및 실습 #1 - 오라클 설치 및 SQL 기본.
JDBC 개요 Section 04 JDBC 개념과 역할 JDBC 구조 애 플 리 케 이 션 오라클 DBMS MySql DBMS
JSP Programming with a Workbook
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
JDBC 프로그래밍 이수지 이동주 1.
12장 데이터 읽기 일관성과 락.
6장 Mysql 명령어 한빛미디어(주).
MySQL 및 Workbench 설치 데이터 베이스.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
데이터베이스 와 JDBC 1.데이터베이스와 데이터베이스 관리 시스템은? 2.데이터베이스 장점?
11장. 데이터베이스 서버 구축과 운영.
14장 질의응답 한빛미디어(주).
11 테이블 관리와 데이터 딕셔너리 데이터베이스 응용 프로젝트 개발 테이블 구조 변경 데이터 딕셔너리.
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
5장 Mysql 데이터베이스 한빛미디어(주).
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
XML과 데이터베이스 ㅎㅎ XML과 데이터베이스 XML과 데이터베이스 매핑 관계.
FTP 프로그램 채계화 박재은 박수민.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
모바일 자바 프로그래밍 JDBC / WAP Ps lab 오민경.
18강. 데이터 베이스 - II JDBC 살펴보기 Statement객체 살펴보기 Lecturer Kim Myoung-Ho
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
MYSQL 설치 SQL언어 SQL언어의 활용 웹과 SQL언어와의 연동
KHS JDBC Programming 4 KHS
5장 Mysql 데이터베이스 한빛미디어(주).
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
You YoungSEok Oracle 설치 You YoungSEok
1장. 데이터베이스 자료의 조직적 집합체_데이터베이스 시스템의 이해
웹 어플리케이션 보안 2016년 2학기 3. Mongo db.
자바 5.0 프로그래밍.
JDBC Lecture 004 By MINIO.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Lesson 2. 기본 데이터형.
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋
테이블 만들기 실습 목표 입력할 tableDB <실습1> SSMS에서 테이블 생성
8장 쿠키와 세션 한빛미디어(주).
오라클 넷(Oracle Net)의 개념 및 구성
기말 프로젝트 계획 MVC 패턴 기반 웹 애플리케이션 개발 프로젝트명 : 팀명 : 팀원 :
CHAP 21. 전화, SMS, 주소록.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
문성우 SQL 실습 Part Ⅰ 문성우.
데이터 동적 할당 Collection class.
오라클 11g 보안.
14 뷰(View) 뷰의 개념 뷰 관리.
제 23 장 오라클에서 보안 기능.
Chapter 10 데이터 검색1.
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
제 4 장 Record.
CHAP 15. 데이터 스토리지.
14 뷰(View) 뷰의 개념 뷰 관리.
 6장. SQL 쿼리.
6 객체.
교과서 78쪽 학습 목표 정보 관리의 필요성을 이해할 수 있다. 데이터베이스의 개념과 필요성을 이해할 수 있다.
Ⅰ. 데이터베이스 정의 Ⅱ. MS SQL 서버 Ⅲ. 데이터베이스 인터페이스
Presentation transcript:

데이터베이스와 JDBC 데이터베이스 기본 개념을 이해한다 기본적인 SQL문을 익힌다 오라클 데이터베이스의 사용 방법을 익힌다 한빛미디어(주)

데이터베이스 개요 Section 01 데이터베이스와 DBMS 생활 속의 데이터베이스 데이터베이스(Database) 휴대폰의 전화번호 목록. ㄱ,ㄴ,ㄷ 으로 정리된 수첩의 주소록. 거의 모든 프로그램은 어떻한 형태로든 데이터베이스와 연결됨. 데이터베이스(Database) 여러 사람이 공유해서 사용할 목적으로, 체계적으로 정리된 정보를 효율적으로 관리하고 검색할 수 있는 정보의 집합.

데이터베이스 개요 Section 01 데이터베이스와 DBMS 데이터베이스 관리 시스템(DBMS, Database Management System) 데이터베이스를 구성하고 운영하기 위해 구성된 소프트웨어 시스템 오라클, SQL 서버 등 일반적으로 알고 있는 데이터베이스 제품이 DBMS다. 교재 249페이지 [표8-1]데이터베이스의 종류 참고 오라클 데이터베이스와 MySQL 오라클은 전세계에서 가장 많이 사용되는 상용 DBMS. MySQL은 무료로 중소규모 웹사이트개발에 많이 사용됨.

데이터베이스 개요 Section 01 데이터베이스 장단점 파일시스템 총무처 학생처 학과 교무처 학생 등록금 고지서 파일 DM 데이터를 저장한 파일을 데이터파일(Data File) 이라고 함. 파일시스템은 데이터를 관리하는 기본임. 경우에 따라서는 파일시스템을 이용한 데이터관리도 필요함. 총무처 학생처 학과 교무처 학생 등록금 고지서 파일 DM 주소록 성적 처리 친구

데이터베이스 개요 Section 01 데이터베이스 장단점 파일시스템의 문제점 데이터중복. 데이터의 불일치. 데이터의 공유가 어려움. 데이터용량증가에 따른 검색효율 저하. 데이터에 대한 보안성 미비. 텍스트 위주의 데이터 관리.

데이터베이스 개요 Section 01 데이터베이스 장단점 데이터베이스 도입 장점 총무처 학생처 학과 교무처 학생 중복성 최소화 데이터 불일치성 해결 데이터 공유 편이성 정보 표준화 유리 데이터 보안성 제공 데이터 무결성 유지 대량 데이터의 빠른 검색 다양한 데이터 관리 가능 →이미지 파일 등 응용 프로그램 개발이 쉽다. 총무처 학생처 학과 교무처 학생 데이터베이스 관리 시스템(DBMS) 학사 관리 통합 데이터베이스 (학생 정보, 성적 정보, 등록금 정보, 기타)

데이터베이스 개요 Section 01 데이터베이스 구분 파일(파일시스템) 세그먼트(계층형 데이터베이스 관리시스템 : HDBMS) 테이블(관계형 데이터베이스 관리시스템 : RDBMS) 레코드타입(네트워크형 데이터베이스 관리시스템 : NDB) 클래스(객체지향형 데이터베이스 관리시스템 : OO/ORDB)

데이터베이스 개요 Section 01 데이터베이스 구분 관계형데이터베이스 객체지향형 데이터베이스 데이터에 관계 개념 부여 대부분의 데이터베이스가 관계형 데이터베이스 객체지향형 데이터베이스 객체지향개념을 데이터베이스에 부여 객체지향 도입 확대로 주목  관계형의 완전한 대체는 아님 관계형 데이터베이스 + 객체지향형 데이터베이스  ORDB

데이터베이스 개요 Section 01 데이터베이스 구성 요소 테이블 구성요소 테이블은 데이터베이스 관리의 기본단위 정리되지 않은 데이터를 표 형태로 정리할 수 있음. 정리되지 않은 개인 정보와 정리된 개인 정보 이름 성별 거주지 출생년도 전화번호 홍길동 남 서울 1980 02-345-0987 강동수 인천 1981 032-143-1239 여 대구 1982 011-987-2321 기동차 02-432-9564 컬럼 컬럼 명 로우 홍길동, 서울, 1980, 02-345-0987, 남 강동수, 남, 인천, 1981, 032-143-1239 대구, 홍길동, 여, 1982, 011-987-2321 기동차, 1980, 여, 서울, 02-432-9564

데이터베이스 개요 Section 01 데이터베이스 구성 요소 테이블 구성요소 테이블 컬럼 로우 데이터에서 공통 속성 분류 데이터베이스 관리의 기본 테이블명 : 학생정보 테이블(MEMBER) 컬럼 데이터를 구별하기 위한 속성 컬럼 혹은 필드라 불림 컬럼 이름 : 이름(member), 성멸(sex), 거주지(city), 출생년도(birth),전화번호(tel) 로우 한 줄 단위의 데이터 집합(하나의 데이터 그룹) 첫번째 로우 : 홍길동, 남, 서울, 1980, 02-345-0987

데이터베이스 개요 Section 01 데이터베이스 구성 요소 테이블 구성요소가 가지는 특징 로우는 하나의 데이터만 표시할 수 있다. 그룹이나 배열의 형태는 허용하지 않는다. 각각의 컬럼에는 특정한 형태의 값만을 가질수 있다. 모두 로우의 데이터는 해당 컬럼에서 요구하는 형태의 값만을 포함.

데이터베이스 개요 Section 01 데이터베이스 구성 요소 데이터베이스 키 주키(Primary Key) 서로다른 로우를 구분하기 위한 특징을 가진 필드. 관계형데이터베이스의 특징 주키(Primary Key) 테이블내 데이터를 구분해 주는 유일한 값을 대표하는 키. 학번, 주민등록번호, 접수번호 등 중복되지 않는 유일한 값. 외래키(Foreign Key) 테이블간의 관계를 표현. 데이터 일관성 유지. 대표적으로 코드 테이블을 참조하기 위해 사용.

데이터베이스 개요 Section 01 데이터베이스 구성 요소 데이터베이스 키 주키와 외래키의 관계 예시

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 테이블 생성 테이블 구조 변경 테이블 삭제 데이터 조회 데이터 삽입 데이터 삭제 데이터 수정

SQL 기초 Section 02 데이터베이스 자료형 데이터베이스에 저장되는 데이터의 유형 정의. 데이터베이스 종류마다 자료형 이름에 차이가 있음. 기본적으로 숫자형, 문자형, 바이너리형, 날짜형. 가변형 문자열은 길이를 고정하지 않기 때문에 관리에 유리. 이미지화일등의 저장에는 바이너리형이 필요함. 날짜 기간 검색 등을 위해서는 날짜형을 반드시 사용해야 함. 숫자를 문자형으로 저장한 경우에는 +,- 등 연산이 되지않음. 사용 목적에 따라 신중히 결정해야함.

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) 크기 설명 자료형

SQL 기초 Section 02 SQL 기본 문법 id username dept birth email create table : 테이블 생성 형식 사용 예 CREATE TABLE 테이블명 ( 컬럼명 데이터형(크기) 옵션, 컬럼명 데이터형(크기), … ) id username dept birth email CREATE TABLE member ( id NUMBER NOT NULL Primary Key, username VARCHAR2(20), dept VARCHAR2(7), birth DATE, email VARCHAR2(40) )

SQL 기초 Section 02 SQL 기본 문법 id username dept birth email tel alter table : 테이블 구성 정보 수정 형식 사용 예 ALTER TABLE 테이블명 [SQL 명령어] (컬럼명 데이터형) id username dept birth email tel ALTER TABLE member add (tel varchar2(30) NOT NULL) ALTER TABLE member modify (username varchar2(10)) ALTER TABLE member DROP CONSTRAINT member_pk

SQL 기초 Section 02 SQL 기본 문법 delete table : 테이블 삭제 형식 사용 예 DROP TABLE 테이블명 DROP TABLE member

SQL 기초 Section 02 SQL 기본 문법 select : 테이블 데이터 조회 200701 홍길동 정보기술 형식 사용 예 SELECT 컬럼명 FROM 테이블명 WHERE 조건 200701 홍길동 정보기술 85.08.10 test@test.net 200702 아무개 85.10.02 tt@tt.net … id username dept birth email SELECT * FROM member WHERE id = “200701” SELECT id, username, birth FROM member WHERE id = 200701 AND name=”홍길동”

SQL 기초 Section 02 SQL 기본 문법 insert : 테이블에 데이터 추가 200701 홍길동 정보기술 형식 사용 예 INSERT INTO 테이블명(삽입할 컬럼명…) VALUES(컬럼에 넣을 값…) 200701 홍길동 정보기술 85.08.10 test@test.net 200702 아무개 85.10.02 tt@tt.net id username dept birth email 200703 강기동 85.04.12 my@my.net INSERT INTO member values(200703,”강기동”,”정보기술”,”85.04.12”,”my@my.net”)  테이블에 정의된 컬럼 순서대로 모든 컬럼 데이터가 들어가야 함. INSERT INTO member(id,gwa,name) values(200701, ”정보기술”,”홍길동”)  지정된 필드의 순서에 따라 데이터가 들어감.

SQL 기초 Section 02 SQL 기본 문법 update : 테이블 데이터 수정 200701 홍길동 정보기술 형식 사용 예 UPDATE 테이블명 set 컬럼명 = 수정할 값1, field = 수정할 값2 … WHERE 조건 200701 홍길동 정보기술 85.08.10 test@test.net 200702 아무개 85.10.02 tt@tt.net id username dept birth email 200705 이쁜이 UPDATE member set id = 200705, name=”이쁜이” WHERE id = 200702

SQL 기초 Section 02 SQL 기본 문법 delete : 테이블 데이터 삭제 200701 홍길동 뉴미디어 형식 사용 예 DELETE FROM 테이블명 WHERE 조건 200701 홍길동 뉴미디어 85.08.10 test@test.net 200702 아무개 85.10.02 tt@tt.net id username dept birth email DELETE FROM member WHERE id = 200701 DELETE FROM member WHERE id = 200701 AND name=”홍길동

JDBC 개요 Section 03 JDBC 개념과 역할 자바애플리케이션에서 표준화된 데이터베이스 접근 제공. 각 데이터베이스 접속에 대한 상세한 정보를 알 필요 없음. 이론적으로는 개발된 애플리케이션에서 DB 변경시 JDBC 드라이버만 교체하면됨.

오라클 데이터베이스 설치 및 설정 교재 : 264 ~ 270 페이지 과제 개요 대표적 데이터페이스인 오라클 10g Express 버전 설치 오라클 관련 설정 항목 및 포트 변경 실습 오라클 사용자 생성 및 기본 도구 사용법 실습

JDBC 개요 Section 04 JDBC 개념과 역할 JDBC 구조 애 플 리 케 이 션 오라클 DBMS MySql DBMS JDBC(Java Database Connectivity) 자바에서 데이터베이스를 표준화 된 방법으로 접속할 수 있도록 만든 API 규격 데이터베이스 벤더와 상관없이 동일한 개발이 가능함 애 플 리 케 이 션 오라클 DBMS MySql DBMS 인포믹스 DBMS JDBC 드라이버 관리자 구현 사용 오라클 JDBC 드라이버 MySql JDBC 드라이버 인포믹스 JDBC 드라이버

JDBC 개요 Section 03 JDBC 드라이버 유형 JDBC 드라이버 구성도 자바 애플리케이션 JDBC 드라이버 관리자 DBMS Native-Protocol 드라이버 ODBC 드라이버 JDBC 미들웨어 JDBC-ODBC JDBC API JDBC 드라이버 API Net-Protocol Native-API

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 폴더에 에 설치

JDBC 프로그래밍 과정 Section 04 JDBC 프로그래밍 단계

JDBC 프로그래밍 과정 Section 04 JDBC 프로그래밍 단계 데이터베이스 드라이버 로드 데이터베이스 연결 Class.forName(“oracle.jdbc.driver.OracleDriver”); 엑세스 DB인 경우 : sun.jdbc.odbc.JdbcOdbcDriver 데이터베이스 연결 Connection conn = DriverManger.getConnection(JDBC_url,”아이디”,”비밀번호”); JDBC_URL 구성 = JDBC:oracle:thin:@IP주소:포트:SID 엑세스 DB인 경우 = jdbc:odbc:song

JDBC 프로그래밍 과정 Section 04 JDBC 프로그래밍 단계 연결정보 IP 주소 포트 SID 오라클에서 네트워크를 통한 접속을 처리하기 위해 실행되어 있는 리스너의 사용 포트 기본값은 1521 SID 오라클 인스턴스 이름으로 MySQL에서는 DB 이름으로도 불림

JDBC 프로그래밍 과정 Section 04 JDBC 프로그래밍 단계 Statement 생성 및 쿼리 실행 Statement 객체 생성후 SQL 문장을 변수 처리부와 함께 문자열로 구헝 쿼리가 복잡해질수록 성능저하 및 관리에 어려움이 있음 Statement stmt = conn.createStatement(); stmt.executeUpdate(“insert into test values('" +request.getParameter("username")+"','"+request.getParameter("email")+"')");

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("email"); pstmt.executeUpdate();

JDBC 프로그래밍 과정 Section 04 JDBC 프로그래밍 단계 결과 받기 ResultSet rs = pstmt.executeQuery( ); ResultSet은 커서 개념의 연결 포인터 기본적으로 next()메서드를 통해 로우 이동

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(“email”); } rs.close();

JDBC 프로그래밍 과정 Section 04 JDBC 프로그래밍 단계 연결해제 Connection 을 close()해주지 않으면 사용하지 않는 연결이 유지됨. DB 자원을 낭비하게 됨. conn.close();

①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

JDBC 프로그래밍 교재 : 284 ~ 298 페이지 과제 개요 간단한 등록 양식을 통해 데이터베이스 연동 프로그램 작성 이클립스 및 오라클 관리도구를 이용한 SQL 관리 실습