목록중앙 HTA (2106기) story/JDBC story (12)
날아라쩡글이의 블로그입니다.
Select * from TB_*** Right outer join from dual;
논리적인 작업 단위를 구성하는 데이터 조작 명령문의 모음 중요한 개념으로 APP개발시 중요하다. 트랜잭션의 처리 대상 데이터 조작어 (DML) 데이터베이스 테이블에 데이터를 추가, 갱신 또는 삭제할 때 사용하는 명령어 INSERT, UPDATE, DELETE 명령문에서 사용된다. 작업들을 논리적인 작업 단위로 묶는것을 의미한다. 예제 -- 이체하기 내 계좌의 잔액 감소 --UPDATE 상대방의 잔액이 증가 --UPDATE 내 계좌에 이체 발송 내역 추가 --INSERT 상대방 계좌에 이체 수신 내용 추가 --INSERT 이체하기는 4번의 DML작업으로 구성된다. 이 부분이 논리적인 작업단위이다. 예제 -- 구매하기 구매 정보 저장 --INSERT 배송 정보 저장 --INSERT 결제 정보 저장--INSE..
상호연관 서브쿼리 쿼리내에 있는 쿼리 메인쿼리의 컬럼을 참조하는 서브쿼리 메인 쿼리의 조회된 각 행마다 한번씩 실행된다. 메인쿼리의 행의 결과가 10인 경우 서브쿼리도 10번 실행된다. 각 행마다 조건식이 실행된다. WHERE조건식의 연산결과가 TRUE로 판정되는 행만 최종적으로 조회된다. SELECT EMPLOYEE_ID, FIRST_NAME, JOB_ID, SALARY FROM EMPLOYEES X--사원을 조회, 행이 107개가 존재 WHERE SALARY > (SELECT AVG(SALARY) FROM EMPLOYEES Y WHERE Y.JOB_ID = X.JOB_ID--여기에 직종아이디가 들어가야함 , 외부 행의 107를 사용하고 싶음 --JOB_ID 의 평균에 대해서 계산을 각기 진행하는 것,..
뷰 (VIEW) 테이블 혹은 다른 뷰를 기반으로 하는 가상의 테이블 (논리적인 테이블) 이다. 특징 물리적인 저장공간을 가지지 않는다. 애초에 존재하지 않는다. INSERT, UPDATE, DELETE 작업의 수행이 불편하다. 직원에 대한 상세정보가 적힌 가상의 테이블로써 제약조건이 존재하지 않고, 모델도 따로 존재하지 않는다. 실제하지 않는 테이블이라는 뜻이다. 목적 복잡한 SQL문을 간단하게 작성하기 위해서 사용한다. 데이터의 엑세스를 제한하기 위해서 사용한다.(데이터에 대한 보안성 강화) 사용자의 권한과 연관이 있다. 동일한 데이터로부터 다양한 결과를 얻기위해서 사용한다. 뷰 정의 하기 (가상의 테이블) CREATE OR REPLACE VIEW EMP_SALARY_DETAIL_VIEW AS SELE..
DDL (데이터 정의 언어 ) 오라클의 구조를 정의한다. CREATE, DROP, ALTER, TRUNCATE 데이터 베이스의 주요 객체를 생성한다. 테이블 데이터의 실제 저장소이다. 데이터의 기본 저장단위로 행과 열로 구성되어있다. 뷰 하나 이상의 테이블을 사용해서 만든 가상의 테이블이다. 실질적인 데이터를 저장하지 않는다. 시퀀스 오라클에만 존재한다. 일련번호 생성기 인덱스 검색성능을 향상시키기 위해 데이터에 대한 색인을 가지고 있다. 색인: 어떤 꾸러미에 들어있는 DB의 지름길 키이다. 값이 정렬되어있다. 동의어 객체에 대한 다른 이름을 제공하는 것이다. 객체 A를 B로 가르킬 수 있다. 트리거 테이블에 값을 변경하거나 입력시 다른 테이블의 값을 변경해주는 것이다. 스케쥴러 일정한 주기로 실행되는 ..
조인 두 개 이상의 테이블의 연관 있는 행들끼리 연결해서 새로운 가상의 테이블을 생성하고, 그 가상의 테이블에서 데이터를 조회하는 것이다. 조인을 하게 되면 카티션 곱으로 전체의 행이 합해지는 가상의 테이블이 생성되기 때문에 어떤 column이 연결이 되는지 알고 있어야한다. 같은 테이블이던, 다른 테이블이던 참조하고 있는 외래키가 존재하고 있기 때문에 함께 join을 진행해주면 된다. RDBMS는 모든 정보를 하나의 테이블에 저장하는 것이 아니라, 데이터가 정규화되어 여러 테이블에 분산되어있다. 데이터가 여러 테이블에 흩어져 있기 때문에 사용자가 원하는 데이터를 찾기 위해서는 여러 테이블을 다 조회해야한다. SELECT 5 FROM 1 WHERE 2(조건절에서 먼저 거르고) GROUP BY 3(그룹핑을..
내장 함수는 SQL 작성을 위해서 사용할 수 있는 유용한 기능이 제공되는 함수를 의미한다. DBMS 제품마다 조금씩 차이가 있다. Oracle의 함수의 경우 객체에 종속이 되어있지 않기 때문에 그냥 사용이 가능하다. 빌트인 된 함수라고 생각하면 된다. 그럼 함수와 메소드는 어떤 차이가 있을 까? 함수 차이점 객체에 종속되어 있지 않아 그냥 사용할 수 있다. 메소드 차이점 객체에 종속되어 있어, 객체를 생성하고, 참조변수로 이용가능하다. 공통점 이름이 있는 코드 블록이다. 함수내에 메소드가 들어가 있고, 메소드는 무조건 객체의 구성요소라는 점이 다르다. 함수의 종류에는 2가지가 있다. 함수의 종류 단일행 함수 조회된 행마다 하나의 결과를 반환한다. 단일행 함수는 중첩해서 사용할 수 있다. 종류 문자함수 문..
오라클 Sequence --> 일련번호를 발행하는 객체 create sequnce 시퀀스명 : 일련번호를 받을 수 있다, 시퀀스명.nextval(next value) -->일련번호를 생성하여 저장되게 한다. https://www.notion.so/HTA-b67ecb2b8fcc47f1bfe87b62c9840082 중앙 HTA 공부 정리 강의에 대한 내용은 T-story에 작성하였습니다. www.notion.so 중요한 부분은 이쪽에 작성했습니다.
Insert 실행할 SQL을 정의한다. String sql = "insert into tb_table (student_name, student_Score) values(?, ? ) " Oracle 핵심 JDBC드라이버 클래스를 JVM메모리에 로딩시키기 Oracle 핵심 JDBC 드라이버 클래스가 JVM메모리에 로딩된다. Oracle 핵심 JDBC 드라이버가 JVM의 드라이버 레지스터리에 등록된다. 드라이버 레지스터리는 JDBM드라이버 정보가 저장되는 곳이다. DriverManager 클래스를 사용해서 드라이버 레지스터리에 등록된 JDBC드라이버를 사용할 수 있다. Class.forName("oracle.jdbc.OracleDriver"); Oracle 데이터베이스 접속 URL과 접속계정을 정의한다. 그러..
JDBC Java DataBase Connectivity 자바가 DB에 접속해서 SQL을 실행할 수 있도록 하는 표준이다. DBMS는 종류에 따라서 작동방식이 다르다. java.SQL에는 2가지 모듈이 존재한다. java.SQL connection DB와 연결을 담당할 객체가 반드시 구현할 기능을 포함한 인터페이스이다. Preparedstatement DB에 SQL명령어를 DB에 전송한다. 결과를 받아올 객체가 반드시 구현할 기능을 포함한 인터페이스이다. resultSet SELECT SQL실행결과로 획득한 데이터를 담는 객체가 반드시 구현할 기능을 포함한 인터페이스이다. 조회결과를 저장해야하는 객체가 구현해야하는 인터페이스이다. 1. 행의 값을 추출하고, 2. 다음행으로 이동, 3. 끝에 도달을 알려주..
물리모델다이어그램 특정 RDBS을 오라클에 맞게 테이블을 생성한 해당 데이터베이스에 딱 맞게 정의된것 개발자들이 확인하는 모델 다이어그램 SQL로 정의 된 것을 물리 모델 다이어그램으로 표시한 것이다. 오라클용, DB2형 mySQL형 등 여러개로 표현되어있다. 특정 table에 맞게 정의된다. 논리모델다이어그램 DB와 무관하게 어떤 정보들이 포함되어야하고, 어떤 참조인지 보여주는 다이어그램이다. 프로그래머가 아닌 사람과 이야기할 때 관계, 이름, 속성을 설명할 때 사용하는 것이다. 1개만 작성한다. 행을 제한하는 기타 연산자 컬럼의 null인 행을 조회하기 SELECT 컬럼명, 컬럼명,.. FROM 테이블명 WHERE 조건컬럼명 IS NULL; 컬럼의 null아닌 행을 조회하기 SELECT 컬럼명, 컬럼..
데이터 베이스 데이터베이스는 여러사람이 공유하고 사용할 목적으로 통합관리되는 정보의 집합이다. 서로 관련 있는 정보들이 모인것이다. 은행, 예약, 검색, 쇼핑 등 일상속에서 이용하고 있는 많은 온라인 서비스들에서 데이터베이스를 사용한다. 데이터 베이스는 반드시 데이터베이스관리시스템(DBMS)과 함께한다. 데이터베이스관리시스템 ORACLE : 이 oracls SQL로 실습을 진행할 예정이다. 실제 현장 DB의 경우 oracle을 많이 사용한다. 형태는 달라도, 방법과 문법적은 동일하다. MySQL MySQLserver 다수의 사용자들이 데이터베이스 내의 데이터를 접근할 수 있도록 해주는 소프트웨어 도구의 집합이다. DBMS는 사용자 또는 다른 프로그램의 요구를 처리하고 적절히 응답하여 데이터를 사용할 수 ..