본문 바로가기

학원수업/1월24

01/13 국비학원 35회차 오라클(도서관리시스템) 생성자 클래스 쪼개기 -MVC -Pojo -Flow -Spring 메인메소드안에서는 내안에 있는것이라도 인스턴스화 해야한다. 질문 JFrame하나에서 JPanel만 3개를 돌려가며 바꾸고싶다. package dev_java2.week7; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class KiwiApp extends JFrame implements ActionListener { String imgPath="D:\\vscode_java\\dev_java\\images\\"; Image img[]=null; ImageIcon imgs[.. 2023. 1. 13.
01/12 국비학원 자바 오라클 연동 디비 연동할때에는 자바만 볼것이 아니라 디비쪽도 확인을 해야한다. package dev_java2.oracle; import dev_java2.util.DBConnectionMgr; import oracle.jdbc.OracleCallableStatement; import oracle.jdbc.OracleTypes; //모든 RDBMS에서 제공되는 타입이 아니라 오라클에서만 제공하는 타입-sys_refactor import java.sql.CallableStatement; import java.sql.Connection; import java.sql.ResultSet; import java.util.ArrayList; import java.util.HashMap; import java.util.List;.. 2023. 1. 12.
01/12 국비학원 34회차 오라클 수업(PL/SQL) PL/SQL은 상용 관계형 데이터베이스 시스템인 오라클 DBMS에서 SQL 언어를 확장하기 위해 사용하는 컴퓨터 프로그래밍 언어 중 하나이다. 주로 자료 내부에서 SQL 명령문만으로 처리하기에는 복잡한 자료의 저장이나 프로시저와 트리거 등을 작성하는 데 쓰인다. SQL을 확장한 절차적 언어(Procedural Language)이다. PL/SQL 프로그램의 종류는 크게 Procedure, Function, Trigger 로 나뉘어 진다. 모듈식 프로그램 개발 가능 : 논리적인 작업 을 진행하는 여러 명령어들을 하나의 블록을 만들 수 있다. 오라클에서 지원하는 프로그래밍 언어의 특성을 수용하여 SQL에서는 사용할수없는 절차적 프로그래밍 기능을 가지고 있어 SQL의 단점을 보완하였다. 커서를 사용하여 여러 행.. 2023. 1. 12.
01/11 국비학원 33회차 오라클수업 1. UNION을 이용해서 temp와 tcom의 자료 중 emp_id, salary, comm을 보여주는 SQL을 만들어 보자. 이 때 Salary 와 Comm이 모두 존재하는 사번은 두 줄로 나와야 한다. 2. UNION ALL을 이용해서 temp와 tcom의 자료 중 emp_id, salary, comm을 보여주는 SQL을 만들어 보자. 3. Temp와 tcom에 존재하는 사번의 교집합을 구한 후, temp에서 tcom에 존재하는 사번을 제외 시킨 차집합을 구하고, 두 개 결과의 합집합을 구해보자. t_worktime테이블의 작업시간 누적 합계를 구하시오. 환율을 오늘 환율이 아니라 그 전날의 환율로 계산하는 문제 테이블을 두개를 붙여서 a에서 하루전날인 b를 빼서 전날의 환율을 가져오자 rownum.. 2023. 1. 11.
01/10 국비학원 32회차 오라클수업(Join의 종류) 데이터 테이블의 관계 1:1 1 : n n : n- 조인 걸면 안됨 조인의 종류 5가지 1. 카타시안의 곱 -n:n 형태 -데이터를 복제하는 용도로 사용함 -데이터베이스 제품에서 제공되는 함수가 없는 경우에는 카타시안의 곱을 활용해서 데이터를 2배수 3배수 복제하고 컬럼레벨에 있는 값을 로우레벨에 출력하는것이 가능함 2. 등가조인 - equals join - natural join - inner join 교집합 where 절이 없다 PK와 FK연결이 필요없다->자동 직관적이다. 양쪽 테이블에 모두 존재하는것만 조회된다. 둘중 한쪽에만 있는것을 조회하고싶다면 emp=14사원 dept =4가지 결과의 row수는 14 결과는 56->카타시안의 곱 ->나올 수 있는 부서의 모든 종류가 다 출력 3. non-eq.. 2023. 1. 10.
01/09 국비학원 31회차 오라클수업(Join) 사원집합의 부서명은 존재하지 않는 컬럼명 제 3정규화를 지키기위한 테이블 설계 부서이름은 부서 번호에 종속적이지 사원번호에 종속적이지 않다.- 반정규화, 역 정규화 join이란? 둘 이상의 테이블을 연결하여 데이터를 검색하는 방법이다. 보통 둘 이상의 테이블을 연결하여 데이터를 검색하는 방법이다. 두 개의 테이블을 select문에서 결합 주로 where절에 조인 조건이라고 해서 사용한다. 조인은 세가지가 있다. 1. 내부조인 : 교집합 결국 inner join도 양쪽에 존재하는 값들만 검색되는 것이다. 2. 외부조인 : 합집합 두개(emp, dept) 이상의 테이블 조인시 한 쪽(dept) 테이블의 행(40)에 대해 다른쪽 테이블(emp)에 일치하는 행(10,20,30만 있었다.)이 없더라도 다른쪽 테이.. 2023. 1. 9.
01/06 국비학원 30회차 오라클수업 --의미 없는 조건줘도 옵티마이저가 인덱스에 의한 검색을 할까? --인덱스 안씀... --PK는 오라클에서 기본적으로 인덱스를 제공한다. --거기다가 유니크인덱스다. --어떠한 가공을 하더라도 실행계획에서 인덱스를 사용한 조회가 이루어진다. --사용자 정의 인덱스는 중복값이 허용되는 인덱스이다. --해당 컬럼을 가공하면 실행계획에서 인덱스 사용이 불가하다. --인덱스가 있으면 order by 를 사용하지 않고 정렬이 된다. --디폴트는 오름차순이다. select ename from emp--정렬 된다 where ename is not null select ename from emp where nvl(ename,'') !=' ' select ename from emp where nvl(ename,' ') .. 2023. 1. 6.
오라클 시험 오답노트(ERWin) 문제 2 2. 2001020405_19v4.2 데이터베이스 생성하기 점수 (40.0점) 아래 테이블이 있다는 가정하에 다음 조건에 맞는 사원을 조회하려고 SQL구문을 작성했는데 제대로된 결과가 출력되지 않았다. SQL구문을 보고 문제를 찾고 원인(20점)에 작성하고 제대로된 SQL문을 조치사항(30점)에 작성하시오. (총 50점) 검색조건 DEPT_CODE가 D9이거나 D6이고 SALARY이 300만원 이상이고 BONUS가 있고 남자이고 이메일주소가 _ 앞에 3글자 있는 사원의 EMP_NAME, EMP_NO, DEPT_CODE, SALARY를 조회 작성된 쿼리구문 SELECT EMP_NAME, EMP_NO, DEPT_CODE, SALARY FROM EMPLOYEE WHERE DEPT_CODE='D9' O.. 2023. 1. 6.
01/05 국비학원 29회차 오라클수업 시험 일반계정으로 다른 계정을 만들고 싶었던 문제... 사용자 계정으로 만들어줘야한다. 권한이 없기 때문이다. 계정 생성 [id] [pw]는 자신이 생각하는 id와 pw로 입력하시면 됩니다. 저는 sampleid와 samplepw로 설정해봤습니다. create user [id] identified by [pw]; GRANT 권한 부여 계정을 생성 한 후에 권한을 줘야합니다. connect(접속 권한), resource(객체 및 데이터 조작 권한), dba를 설정했습니다. grant [권한] to [id]; grant connect, resource, dba to [id]; https://ajdahrdl.tistory.com/2 [Oracle] 계정 생성 및 권한 부여 방법 Oracle 11g 기준으로 작.. 2023. 1. 5.
01/04 국비학원 28회차 오라클수업 컬럼명은 오라클에서 변수이다. DECODE문 Decode는 일반적인 프로그래밍 언어의 IF문을 SQL문장 또는 PL/SQL 안으로 끌어들여 사용하기 위하여 만들어진 오라클 함수이다. 따라서 일반적인 프로그래밍 언어의 IF문이 수행할 수 있는 기능을 포함하고 있다. SELECT시의 DECODE사용은 FROM 절만 빼고는 어디서나 사용할 수 있다. FROM 집합1, 집합2,..... FROM에서 사용할 수 없다는 것은 SELECT시 테이블을 DECODE를 이용하여 동적으로 변경할 수 없다는 뜻이기도 하다. 오라클 문법아님...밑에는 IF A = B THEN RETURN 'T'; END IF; A컬럼과 B컬럼이 같다면 'T'를 RETURN 받고 싶다는 문장이다. DECODE를 이용하면 다음과 같이 된다. DE.. 2023. 1. 4.