본문 바로가기

728x90
반응형

DBMS

[JSP 웹 프로그래밍] JDBC 데이터베이스와 JSP 연동 1 (JDBC 드라이버 로딩, DBMS 접속) 1. JDBC(Java DataBase Connectivity) ▷ 자바/JSP 프로그램 내에서 데이터베이스와 관련된 작업을 처리할 수 있도록 도와주는 자바 표준 인터페이스 ▷ 관계형 데이터베이스 시스템에 접근하여 SQL 문을 실행하기 위한 자바 API 또는 자바 라이브러리 ▷ JDBC API를 사용하면 DBMS의 종류에 상관없이 데이터베이스 작업을 처리할 수 있음 ◎ JDBC를 사용한 JSP와 데이터베이스의 연동 ① java.sql.* 패키지 임포트 ② JDBC 드라이버 로딩 ③ 데이터베이스 접속을 위한 Connection 객체 생성 ④ 쿼리문을 실행하기 위한 Statement/PreparedStatement/CallableStatement 객체 생성 ⑤ 쿼리 실행 ⑥ 쿼리 실행의 결과 값(int, R.. 더보기
[java] 이것이 자바다 부록 MySQL과 연동 1. MySQL에서 java와 연동시키기 위해 새로운 관리자 모드 설정 ▷ id 및 pw 설정 2. MySQL에서 새로운 생성자 추가 1. Hostname : 연결할 주소를 입력 2. Port : MySQL 기본은 3306, 다른 값으로 변경 가능합니다. 3. MySQL과 연결 예제 import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectionExample { public static void main(String[] args) { Connection conn = null; try { Class.forName("com.mysql.cj.jdbc.Driver"); // .. 더보기
[DB_MySQL] 이것이 MySQL이다 ch11 전체 텍스트 검색과 파티션 2 (파티션) 1. 파티션 개요와 실습 ◎ 파티션 ▷ 대량의 테이블을 물리적으로 여러 개의 테이블로 쪼개기 ▷ 데이터의 분포 특성, 자주 사용되는 쿼리문이 무엇인지에 따라서 효율에 차이 있음 ◎ 파티션 구성 ▷ 파티션 테이블에는 Primary Key 지정 하면 안됨 ▷ 데이터 입력 : 입력됨과 동시에 파티션 키에 의해서 데이터가 각 파티션으로 나뉘어짐 1. parttbl 테이블 생성 및 값 입력 -- 파티션으로 테이블 구현 : 대용량의 테이블을 물리적으로 분할하여 사용 -- sqldb.sql을 이용하여 sqldb 초기화 create database if not exists partdb; use partdb; drop table if exists parttbl; create table parttbl ( userID ch.. 더보기
[DB_MySQL] 이것이 MySQL이다 ch11 전체 텍스트 검색과 파티션 1 (전체 텍스트 검색) 1. 전체 텍스트 검색 개요 ◎ 전체 텍스트 검색 ▷ 긴 문자로 구성된 구조화 되지 않은 텍스트 데이터(예로, 신문 기사) 등을 빠르게 검색하기 위한 부가적인 MySQL의 기능 ▷ 저장된 텍스트의 키워드 기반의 쿼리를 위해서 빠른 인덱싱 가능 ▷ 신문 기사 검색 ▷ 교통’을 키워드로 가진 기사 검색 ▷ 키워드가 중간에 들어간 경우 인덱스 사용 불가, 서버에 엄청난 부하 발생 2. 전체 텍스트 인덱스 ◎ 전체 텍스트 인덱스(FULLTEXT Index) 생성 ▷ 텍스트로 이루어진 문자열 데이터의 내용으로 생성한 인덱스 ▷ 텍스트 인덱스 생성 형식 ◎ 전체 텍스트 인덱스(FULLTEXT Index) 생성 ▷ 전체 텍스트 인덱스의 특징 ▶ InnoDB와 MyISAM 테이블만 지원 ▶ char, varchar, .. 더보기
[DB_MySQL] 이것이 MySQL이다 ch10 스토어드 프로그램 4(트리거, trigger) 1. 트리거(Trigger)의 개요 ◎ 트리거란? ▷ 사전적 의미로 ‘방아쇠’ ▷ 방아쇠 당기면 ‘자동’으로 총알이 나가듯이 테이블에 무슨 일이 일어나면 ‘자동’으로 실행 ▷ 제약 조건과 더불어 데이터 무결성을 위해 MySQL에서 사용할 수 있는 기능 ▷ 테이블에 DML문(Insert, Update, Delete 등) 이벤트가 발생될 때 작동 ▷ 테이블에 부착되는 프로그램 코드 ▷ 직접 실행 불가 ▶ 테이블에 이벤트 일어나야 자동 실행 ▷ IN, OUT 매개 변수를 사용할 수 없음 ▷ MySQL은 View에 트리거 부착 불가 1. 테이블 생성 -- 트리거 : 테이블에 DML(i, u, d)문이 실행 될때 자동으로 SQL문을 실행 create database if not exists testDB; use .. 더보기
[DB_MySQL] 이것이 MySQL이다 ch10 스토어드 프로그램 3(커서) 1. 커서의 개요 ◎ 커서(Cursor) ▷ 스토어드 프로시저 내부에 사용 ▷ 일반 프로그래밍 언어의 파일 처리와 방법이 비슷함 ▶ 행의 집합을 다루기 편리한 기능 제공 ▷ 테이블에서 여러 개의 행을 쿼리한 후, 쿼리의 결과인 행 집합을 한 행씩 처리하기 위한 방식 2. 커서의 처리 순서 ◎ 커서를 이용한 예제 -- CURSOR 커서 사용 -- 고객의 평균 키를 구하는 스토어드 프로시저 use sqldb; drop procedure if exists cursorProc; delimiter $$ create procedure cursorProc() begin declare userHeight int; -- 고객의 키 declare cnt int default 0; -- 고객의 수 declare totalH.. 더보기
[DB_MySQL] 이것이 MySQL이다 ch10 스토어드 프로그램 2(스토어드 함수) 1. 스토어드 함수 (Stored Function) ▷ 사용자가 직접 만들어서 사용하는 함수 ▷ 스토어드 프로시저와 유사 ▶ 형태와 사용 용도에 있어 차이 있음 ▷ 스토어드 함수의 개요 2. 스토어드 함수와 스토어드 프로시저의 차이점 ◎ 스토어드 함수 ▷ 파라미터에 IN, OUT 등을 사용할 수 없음 ▶ 모두 입력 파라미터로 사용 ▷ RETURNS문으로 반환할 값의 데이터 형식 지정 ▶ 본문 안에서는 RETURN문으로 하나의 값 반환 ▷ SELECT 문장 안에서 호출 ▷ 함수 안에서 집합 결과 반환하는 SELECT 사용 불가 ▶ SELECT… INTO… 는 집합 결과 반환하는 것이 아니므로 예외적으로 스토어드 함수에서 사용 가능 ▷ 어떤 계산 통해서 하나의 값 반환하는데 주로 사용 ◎ 스토어드 프로시저 .. 더보기
[DB_MySQL] 이것이 MySQL이다 ch10 스토어드 프로그램 1(스토어드 프로시저, Stored Procedure) 1. 스토어드 프로시저의 개요 ◎ 스토어드 프로시저(Stored Procedure, 저장 프로시저) ▷ MySQL에서 제공되는 프로그래밍 기능 ▷ 쿼리문의 집합으로 어떠한 동작을 일괄 처리하기 위한 용도로 사용 ▷ 쿼리 모듈화 ▶ 필요할 때마다 호출만 하면 훨씬 편리하게 MySQL 운영 ▶ CALL 프로시저_이름( ) 으로 호출 1. 기본 형식 2. 스토어드 프로시저 생성 예 ◎ 스토어드 프로시저 사용 예제 1 use sqldb; drop procedure if exists userProc1; delimiter $$ create procedure userProc1(in userName varchar(10)) begin select * from usertbl where name = userName; end.. 더보기

728x90
반응형