Programming

Programming/Oracle

[Oracle] 계층형 쿼리 (Hierarchical Query)

💡계층형 쿼리 계층형 쿼리(Hierarchical Query)는 자기 참조를 하는 테이블에서 사용하며, 레코드의 관계가 서로 간에 상하 수직 구조인 경우에 사용한다. 계층형 쿼리는 오라클 전용 쿼리이다. 자바에서는 계층형 쿼리를 트리 구조로 이해할 수 있다. 계층 구조 SELECT * FROM tblSelf; 홍사장 - 김부장 -박과장 -최대리 -정사원 - 이부장 -하과장 -황대리 -신과장 -허사원 이러한 테이블을 보고 레코드의 관계가 서로 상하 수직 구조라고 한다. 이런 경우에만 계층형 쿼리를 사용할 수 있다. 부품과 부모 부품의 정보를 동시에 가져오는 작업을 해보도록 하자. self join 혹은 상관 서브 쿼리 사용 SELECT c1.name AS 부품명, c2.name AS 부모부품명 FROM t..

Programming/Oracle

[Oracle] 트랜잭션 (Transaction)

💡트랜잭션 트랜잭션(Transaction)은 데이터를 조작하는 업무의 물리적(시간적) 단위(행동의 범위)를 말한다. 1개 이상의 명령어를 묶어 놓은 단위이다. 트랜잭션이 중요한 이유는 다른 명령어는 실수를 해도 그 영향이 크지 않은데, 여기에 속한 명령어들은 실수했을 때 손해가 크기 때문이다. 트랜잭션 관련 명령어, DCL(TCL) 1. COMMIT 2. ROLLBACK 3. SAVEPOINT 💡트랜잭션이란? 내가 역삼은행에 200억이 있는데, 부산에서 건물을 사려고 한다고 가정하자. 그러면 다음과 같은 일련의 과정이 실행될 것이다. 부산은행에 방문한다. 부산은행에 돈을 인출해 달라고 신청한다. 부산은행에서 역삼은행에 이 사람이 건물을 살 200억이 있는지 확인을 요청한다. 역삼은행에서 200억을 인출하..

Programming/Oracle

[Oracle] 의사 컬럼 (Pseudo Column)

💡의사 컬럼 의사 컬럼(Pseudo Column)은 실제 컬럼이 아닌데 컬럼처럼 행동하는 객체이다. 객체의 종류 SELECT name, buseo,--1. 컬럼(속성) 100,--2. 상수 substr(name, 2),--3. 함수 rownum--4. 의사컬럼 FROM tblInsa; 1. 컬럼(속성)은 읽기(Output) 전용으로, 객체(레코드)의 특성에 따라 다른 값을 가진다. 2. 상수는 Output 전용으로, 모든 레코드가 동일한 값을 가지므로 아주 특별한 경우가 아니고서는 사용하지 않는다. 모두 같은 값을 가지고 있는 컬럼을 만드는 경우가 거의 없기 때문이다. 3. 함수는 쓰기와 읽기(Input/Output)가 모두 되며, 객체의 특성에 따라 다른 값을 가진다. 대부분 함수의 인자값은 조작이 가..

Programming/Oracle

[Oracle] 테이블 수정 Alter Table문

💡테이블 수정하기 테이블 정의 수정 > 스키마 수정 > 컬럼 수정 > 컬럼명 OR 자료형 (길이) OR 제약사항 등 수정 테이블을 수정한다는 건 실제로는 컬럼명, 자료형, 제약사항 등의 것들을 수정하는 걸 의미한다. 테이블을 수정하는 상황은 되도록 피하도록 한다. 테이블을 수정하는 상황을 만들기 이전에 설계를 완벽하게 해야 한다.🏗️ [Oracle] SQL 키워드, 식별자, 자료형 💡SQL 키워드와 식별자 대소문자 구분 -- 대소문자 구분 X select * from tabs; SELECT * FROM tabs; -- 대소문자 구분 O select * from tabs where table_name = 'JOBS'; select * from tabs where table_name = 'jobs'; SQL..

Programming/Oracle

[Oracle] 유니온 (Union)

💡합집합 (Union) 유니온(Union)은 합집합으로서 테이블을 더한 결과를 출력한다. 스키마가 동일한 결과셋끼리만 가능하다. 유니온의 사용 SELECT * FROM tblMen UNION SELECT * FROM tblWomen; 유니온은 테이블을 더한다고 했다. 따라서 두 테이블을 더한 데이터 20개가 출력된다. 언제 유니온을 사용할까? SELECT * FROM 영업부게시판; SELECT * FROM 총무부게시판; SELECT * FROM 개발부게시판; 각 부서의 근황을 한 번에 알려고 할 때와 같이 다른 데에 있는 테이블들을 합쳐야 하는 일이 생긴다. 사장님이 모든 게시판의 글을 한 번에 보게 해달라고 요청하실 때 바로 유니온을 사용하면 된다. 유니온의 조건 같은 테이블의 구조 --ORA-0178..

Programming/Oracle

[Oracle] 뷰와 뷰 사용 문서 (View)

💡뷰 뷰(View)는 데이터베이스 객체(테이블, 제약 사항, 뷰, 시퀀스) 중 하나이다. 가상 테이블, 뷰 테이블 등으로 부른다. 테이블이라고 부르는 이유는 실제로 뷰를 테이블처럼 사용하기 때문이다. 🔹정의: 쿼리(SQL)를 저장하는 객체 🔹목적: 권한 통제 뷰의 사용 뷰 구문 create [or replace] view 뷰이름 as select문; 뷰 구문에서 [or replace]를 작성하지 않아도 된다. 하지만 작성하는 게 더 편하기 때문에 보편적으로 함께 작성하는 편이다. 뷰 오브젝트 생성 CREATE OR REPLACE VIEW vwInsa AS SELECT * FROM tblInsa; SELECT * FROM vwInsa; --tblInsa 테이블의 복사본 뷰 오브젝트 vwInsa를 하나 생성..

Programming/Oracle

[Oracle] eXERD 설정

💡eXERD 샘플데이터 eXERD를 설치를 완료하였다면 샘플데이터를 확인해 보도록 하자. pos 예제 수강 신청 예제 💡ERD 생성 eXERD File 생성 새로 작성 > eXERD File을 클릭하여 새로운 파일을 생성한다. 데이터베이스를 오라클로 선택, 새 프로젝트를 선택하여 새 파일을 만든다. 이때 사용하는 DBMS에 맞게 설정해준다. 지금은 Oracle을 선택하였다. ERD 그리기 -- 고객 테이블 create table tblCustomer ( seq number primary key, --고객번호(PK) name varchar2(30) not null, --고객명 tel varchar2(15) not null, --연락처 address varchar2(100) not null --주소 ); -..

Programming/Oracle

[Oracle] 조인: 전체 외부 조인 (FULL OUTER JOIN)

💡전체 외부 조인 전체 외부 조인(FULL OUTER JOIN)은 서로 참조하고 있는 관계에서 사용한다. 상대적으로 사용 빈도가 낮은 조인에 속한다. 전체 외부 조인의 사용 SELECT * FROM tblMen;--부모, 자식 SELECT * FROM tblWomen;--자식, 부모 전체 외부 조인은 서로 참조하고 있는 관계에서 사용한다. 사용 빈도가 낮은 조인에 속한다. SELECT m.name, w.name FROM tblMen m INNER JOIN tblWomen w ON m.name = w.couple; 커플인 남자와 여자만을 가져온다. SELECT m.name, w.name FROM tblMen m LEFT OUTER JOIN tblWomen w ON m.name = w.couple; 왼쪽 조..

Isaac-Christian
'Programming' 카테고리의 글 목록 (31 Page)