목록Database (42)
고래씌

1. JDBC 이용해 오라클 DBMS 접근 ⓞ 오라클에서 JDBC 계정 생성 - JDBC 계정을 생성하기에 앞서, 시스템 관리자 계정에서 권한을 먼저 주어야 계정 생성을 성공할 수 있다. ① 오라클 SQL 에서 MEMBER 테이블 생성 ② Eclipse에서 다음과 같이 파일 만들어 둠 ③ Member 클래스 ▶ VO(Value Object): DB테이블의 한 행에 대한 데이터를 기록하기위한 저장용 객체 ▶ 유사용어 - DTO(Data Transfer Object) - DO(Domin Object) - Entity(jpa에서 사용) - bean(스프링에서 사용) ▶ VO 조건 1) 반드시 캡슐화 적용 2) 기본생성자 및 매개변수 생성자를 작성해야한다. 3) 모든필드에 대해 getter 메소드를 작성해야한다..

1. JDBC: 자바에서 데이터베이스에 접근할 수 있게 해주는 Programming API 2. JDBC 실습 준비① 오라클을 다운받은적이 있다면, C드라이브에 "C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib\ojdbc6.jar" 파일이 있을 것이다. 오라클을 설치안했다면 아래 링크 참고 https://whalewell.tistory.com/128 [Oracle] 0. 오라클(Oracle) 설치1. Oracle 설치 [OralceXE112_Win64] - [DISK1] - [setup.exe] ☞ 관리자 계정으로 갈때 oralce , oralce 입력. 관리자 계정으로 갈 때 꼭 필요하다! ▶ 설치가 완료된 후, cmd 창을 열어서 설치가 정상적으로 됐는..

1. 트리거(Trigger) : 내가 트리거로 지정한 테이블에 INSERT, UPDATE, DELETE 등의 DML문에 의해 변경사항이 발생할 경우 "자동으로" 매번 실행할 내용을 정의해둘 수 있는 객체 EX) - 회원탈퇴시 기존의 회원테이블에 데이터를 DELETE한 후 곧바로 탈퇴된 회원들만 따로 보관하는 테이블에 자동으로 INSERT 시킬때 - 신고횟수가 일정수를 넘었을 때 회원을 블랙리스트 처리하고자 할때 - 입출고에 대한 데이터가 기록될때마다 해당 상품에 대한 재고수량을 매번 수정해줘야할 때 등등... ▶ 트리거의 종류 - SQL문의 시행시기에 따른 분류 ☞ BEFORE TRIGGER : 내가 지정한 테이블에 DML(INSERT, UPDATE, DELETE)가 발생되기 전에 트리거 먼저 실행 ☞ ..

1. FUNCTION : 프로시져와 마찬가지로 내부에 PL/SQL을 작성할 수 있고, 실행결과를 반환받을 수 있음 ▶ FUNCTION 생성방법 [표현식] CREATE FUNCTION 펑션명[(매개변수)] RETURN 자료형 IS BEGIN 실행부분 END; ▶ 예제 ▶ 사원의 사번을 전달받아서 연봉을 계산해서 반환해주는 함수 만들기

1. PROCEDURE - PL/SQL문을 저장해서 이용하는 객체. - 필요할때마다 내가 작성한 PL/SQL문을 편하게 호출 가능하다. ▶ 프로시저 생성방법 [표현식] CREATE [OR REPLACE] PROCEDURE 프로시저명[(매개변수)] IS BEGIN 실행부분 END; 프로시져 실행방법 EXEC 프로시져명; ▶ 예제 ☞ 지역변수 안에 DELETE FROM PRO_TEST; 문이 실행된 것을 알 수 있다. 1) 프로시저에 매개변수 추가 - IN : 프로시저를 실행시 필요한 값을 "입력받는"변수 (자바의 매개변수와 동일하게 사용) - OUT : 프로시저를 호출한 곳을 값을 "되돌려주는" 변수(결과값) ▶ 예제 - ① 프로시저 생성 - ② 실행 후 결과값을 저장할 변수 선언 - ③ 매개변수가 있는 ..

1. PL/SQL(Procedure Language Extension To SQL) - 오라클 자체에 내장되어있는 절차적 언어 - SQL문장 내에서 변수의 정의, 조건처리, 반복처리, 예외처리등을 지원하여 SQL의 단점을 보완. - 한번에 다수의 SQL문을 실행할 수 있다. 1) PL/SQL의 문법 - [선언부 (DECLARE SECTION)] : DECLARE로 시작, 변수나 상수를 선언 및 초기화한다. - 실행부 (EXECUTABLE SECTION) : BEGIN으로 시작, SQL문 또는 제어문등의 로직을 기술하는 부분 - [예외처리부(EXECTPION SECTION)] : EXCEPTION으로 시작, 예외발생시 해결하기 위한 구문을 미리 기술해둘 수 있는 부분 ▶ ① 서버 아웃풋 옵션을 ON (콘솔..

1. INDEX : 데이터를 빠르게 검색하기 위한 구조로 데이터의 정렬과 탐색과 같은 DBMS성능향상을 목적으로 사용 - 책에서 '목차'같은 역할을 하는 DBMS 객체 - 테이블에서 데이터를 조회(SELECT)할 때 인덱스가 없다면 테이블의 모든 데이터를 하나하나 뒤져서(FULL_SCAN) 내가 원하는 데이터를 검색한다 - 인덱스 설정을 해두면 테이블의 모든 행을 뒤지지 않고 내가 원하는 조건만 빠르게 검색이 가능하다. - 인덱스로 설정한 칼럼의 데이터들을 별도로 "오름차순으로 정렬"하여 특정메모리 공간에 물리적 주소값과, 실제 칼럼의 값을 함께 저장시킨다. ▶ 현재 계정에 생성된 인덱스들 SELECT * FROM USER_INDEXES; SELECT * FROM USER_IND_COLUMNS; ▶ ① ..

1. 시퀀스(SEQUENCE) - 자동으로 번호를 발생시켜주는 역할을 하는 객체(자동번호 부여기) - 정수값을 자동으로 순차적으로 발생시켜줌(연속된 숫자) - 순차적으로 "겹치지않는"숫자를 채번할 때 사용 => 사번, 회원번호, 게시글번호, 이미지번호 등등... [표현법] CREATE SEQUENCE 시퀀스명 [ START WITH 시작숫자 => 처음 발생시킬 시작값 설정(DEFAULT 1) INCREMENT BY 증가값 => 한번 시퀀스를 증가시킬때마다 증가시킬 다음값(DEFAULT 1) MAXVALUE 최대값 => 최대값 지정 MINVALUE 최소값 => 최소값 지정 CYCLE/NOCYCLE => 값의 순환(최대값까지 증가후 초기화) CACHE 바이트 크기/NOCACHE ] => 캐시메모리 사용여부 ..

1.Object : 데이터베이스를 이루는 논리적인 구조물들 - TABLE, USER, VIEW, SEQUENCE, INDEX, PACKAGE, TRIGGER, FUNCTION, RPOCEDURE... ▶ VIEW 뷰 - SELECT문을 수행한 수행결과(RESULTSET)를 저장해둘 수 있는 객체 (자주 쓰일 SELECT문을 VIEW에 저장해두면 매번 긴 SELECT문을 다시 기술할 필요가 없다.) => 조회를 위한 임시테이블 같은 존재이며 실제 데이터가 담겨있는 것은 아니다. => 조회를 위한 서브쿼리문만을 저장하며 VIEW 호출시 서브쿼리를 실행시킨다. 2. VIEW 생성방법 [표현법] CREATE VIEW 뷰명 AS 서브쿼리; => 뷰 생성 CREATE OR REPLACE VIEW 뷰명 AS 서브쿼리..