본문 바로가기

전체

(219)
[JDBC] 중복코드 최소화 클래스/ execute 명령 / ResultSetMetaData 객체 / Statement객체와 PreparedStatement 객체 JDBC를 이용하여 insert,update,delete,select 프로그램을 각각 만들었지만, 겹치는 명령(같은 코드)이 많다. JDBC 프로그램을 만들 때 마다, 해당 명령들은 중복 사용될 예정이기 때문에 중복을 최소화시켜주는 것이 좋다. 중복된 코드를 다른 클래스에서 따로 만들어 호출해 사용하면,코드 수정을 할 때도 번거로움을 줄일 수 있기 때문이다. Connection 객체를 생성하여 반환하거나 JDBC 관련 객체를 매개변수로 전달받아 제거하는 기능을 메소드로 제공하는 클래스 생성 → JDBC 프로그램 작성에 필요한 공통적인 기능을 메소드로 제공한다. → 코드의 중복성을 최소화 시켜 프로그램의 생산성을 높이고 유지보수의 효율성을 증가시킨다. import java.sql.Connection; im..
[JDBC] JDBC란? / JDBC 설치 / JDBC 프로그램 작성법 JDBC(Java Database Connectivity) : Java를 사용하여 DBMS 서버에 접속해 SQL 명령을 전달하여 실행하기 위한 기능을 제공하는 API(클래스 또는 인터페이스) JDBC는 자바 애플리케이션과 데이터베이스 간의 연결을 제공하는 자바 API(응용 프로그래밍 인터페이스)이다. JDBC를 사용하여 자바 애플리케이션에서 다양한 데이터베이스에 접속하고 SQL 쿼리를 실행할 수 있다. java.sql : JDBC 기능의 프로그램을 작성하기 위한 클래스 및 인터페이스가 선언된 패키지 → java.sql 패키지에서는 JDBC 기능 구현을 위해 인터페이스를 제공한다. (DBMS 종류가 다양하므로 클래스로 제공이 불가능하다.) DBMS 프로그램을 관리하는 회사에서 JDBC 기능을 구현하기 위한..
맥북M1 오라클 DB 실행하기 https://shanepark.tistory.com/400
[JDBC] JDBC란 / JDBC 드라이버 다운로드 JDBC(Java Database Connectivity) JDBC는 자바 애플리케이션과 데이터베이스 간의 연결을 제공하는 자바 API(응용 프로그래밍 인터페이스)이다. JDBC를 사용하여 자바 애플리케이션에서 다양한 데이터베이스에 접속하고 SQL 쿼리를 실행할 수 있다. JDBC는 데이터베이스와 통신하기 위한 표준 인터페이스를 제공한다. 이를 통해 데이터베이스 벤더(Oracle, MySQL, PostgreSQL 등)에 상관없이 일관된 방식으로 데이터베이스에 접근할 수 있다. JDBC는 기본적으로 Class.forName(String className) 형태로 객체를 생성해 사용한다. 수동으로 객체를 생성하는 이유 : 불필요한 객체를 생성하거나, 메소드를 호출하는 것을 방지하기 위해서 정적영역 내에 객체..
[Oracle] CASE, 반복문,저장 프로시저,저장 함수,트리거 CASE 변수에 저장된 값을 비교하여 명령을 선택 실행하거나 조건식을 사용하여 명령을 선택 실행하는 구문 형식) CASE 변수명 WHEN 비교값1 THEN 명령;명령;... WHEN 비교값2 THEN 명령;명령;... END CASE EMP 테이블에서 사원번호가 7788인 사원정보를 검색하여 사원번호,사원이름,업무,급여,업무별 실급여를 검색하여 출력하는 PL/SQL 작성 업무별 실급여 - ANALYST:급여*1.1, CLERK:급여*1.2, MANAGER:급여*1.3, PRESIDENT:급여*1.4, SALESMAN:급여*1.5 DECLARE VEMP EMP%ROWTYPE; VPAY NUMBER(7,2); BEGIN SELECT * INTO VEMP FROM EMP WHERE EMPNO=7788; CAS..
0510 [Oracle] 인덱스,동의어(SYNONYM),DCL,PL/SQL,변수,선택문 인덱스(INDEX) 테이블에 저장된 행을 보다 빠르게 검색하기 위한 기능을 제공하는 객체 컬럼에 인덱스를 설정하면 인덱스 영역을 생성하여 검색관련 정보를 저장해 컬럼에 대한 행 검색 속도가 증가된다. 조건식에서 많이 사용하는 컬럼에 인덱스를 설정하며, 행이 많을 때 설정하는 것이 효율적이다. (행이 많지 않을 때 설정하면 오히려 속도가 느려진다.) 유니크 인덱스(UNIQUE INDEX) : PRIMARY KEY 제약조건이나 UNIQUE 제약조건에 의해 자동 생성되는 인덱스 비유니크 인덱스(NON-UNIQUE INDEX) : 사용자가 컬럼에 수동으로 인덱스를 생성하여 설정하는 인덱스 USER3 테이블 생성 - 회원번호(숫자형-PRIMARY KEY),회원이름(문자형),이메일(숫자형-UNIQUE) CREATE..
[Oracle] FOREIGN KEY,테이블 명령,뷰(VIEW),시퀀스(SEQUENCE) FOREIGN KEY (외래키,참조키) 부모 테이블에 저장된 행의 컬럼값을 참조하여 자식 테이블의 컬럼에 비정상적인 값이 저장되는 것을 방지하는 제약조건이다. 컬럼 수준의 제약조건 또는 테이블 수준의 제약조건 설정 모두 가능하다. 부모 테이블의 PRIMARY KEY 제약조건이 설정된 컬럼을 참조하여 자식 테이블의 컬럼에 FOREIGN KEY 제약조건을 설정한다. 테이블의 관계를 구현하기 위한 제약조건이다. SUBJECT1 테이블 생성 - 과목코드(숫자형-PRIMARY KEY), 과목명(문자형) : 부모 테이블 CREATE TABLE SUBJECT1(SNO NUMBER(2) CONSTRAINT SUBJECT1_SNO_PK PRIMARY KEY,SNAME VARCHAR(20)); SUBJECT1 테이블에 행..
0508 [Oracle] 트렌젝션, SAVEPOINT,DDL,딕셔너리,제약조건 트렌젝션 DBMS 서버에 전달된 SQL 명령이 잘못된 경우 롤백을 사용하여 데이터 복구를 위해 트렌젝션을 사용한다. - 데이터 무결성 데이터 무결성 : 테이블에 비정상적인 값을 저장하지 않고 정상적인 검색결과를 제공할 수 있도록 하는 것 SELECT * FROM EMP; DELETE FROM EMP; //실제 테이블에 DELETE 명령이 적용되는 것이 아니라 트렌젝션에 DELETE 명령 저장 SELECT * FROM EMP; ROLLBACK; //트렌젝션 초기화 (저장되어있던 DELETE 명령을 삭제) SELECT * FROM EMP; 현재 세션에서 작업중인 테이블의 행을 커밋 처리 전까지 다른 세션에서 검색되지 않고 기본행이 검색되도록 트렌젝션을 사용한다. - 데이터 일관성 데이터 일관성 : DBMS ..