본문 바로가기

728x90

Study/OracleDB

(41)
34강 오라클 가상 테이블인 view -- 1. 뷰의 개념 -- 2. 뷰의 내부구조와 USER_VIEWS 데이터 딕셔너리 -- 3. 뷰를 사용하는 이유 -- 4. 뷰의 종류 -- 5. 뷰 삭제와 다양한 옵션 -- 6. 뷰 활용하기 -- 01. 뷰의 개념 -- 뷰(view)는 한마디로 물리적인 테이블을 근거한 논리적인 가상 테이블이다. -- 가상이란 단어는 실질적으로 데이터를 저장하고 있지 않기 때문에 붙인 것이고, -- 테이블이란 단어는 실직적으로 데이터를 저장하고 있지 않더라도 사용자는 마치 테이블을 -- 사용하는 것과 동일하게 뷰를 사용할 수 있기 떄문에 붙인 것입니다. -- 뷰는 기본 케이블에서 파생된 객체로서 기본 테이블에 대한 하나의 쿼리문이다. -- 뷰(View)란 '보다'란 의미를 갖고 있는 점을 감안해 보면 알 수 있듯이 실제..
33강 오라클 데이터 무결성을 위한 제약 조건 -- 1. 무결성 제약 조건(Data Integrity Constraint Rule)의 개념과 종류 -- 부적절한 자료가 입력되는 것을 방지하기 위해서 테이블을 생성할 때 각 컬럼에 대해서 정의하는 여러가지 규칙 -- NOT NULL -- NULL을 허용하지 않는다. -- UNIQUE -- 중복된 값을 허용하지 않는다. 항상 유일한 값을 갖도록 한다. -- PRIMARY KEY -- NULL을 허용하지 않고 중복된 값을 허용하지 않는다. -- NOT NULL 조건과 UNIQUE 조건을 결합한 형태이다. -- FOREIGN KEY -- 참조되는 테이블의 칼럼의 값이 존재하면 허용한다. -- CHECK -- 저장 가능한 데이터 값의 범위나 조건을 지정하여 설정한 값만을 허용한다. -- 2. 제약 조건 확인하..
32강 테이블 구조 생성, 변경 및 삭제하는 DDL(2) -- 1. alter table로 테이블 구조 변경하기 -- 2. drop table로 테이블 구조 삭제하기 -- 3. 테이블의 모든 로우를 제거하는 TRUNCATE -- 4. 테이블 명을 변경하는 RENAME -- 5. 데이터 딕셔너리와 데이터 딕셔너리 뷰 -- 02. 테이블 구조를 변경하는 ALTER TABLE -- ALTER TABLE 명령문은 기존 테이블의 구조를 변경하기 위한 DDL 명령문 입니다. -- 테이블에 대한 구조 변경은 컬럼의 추가, 삭제, 컬럼의 타입이나 길이를 변경할 때 사용합니다. -- 테이블의 구조를 변경하게 되면 기존에 저장되어 있던 데이터에 영향을 주게 됩니다. -- alter table로 칼럼 추가, 수정, 삭제하기 위해서는 다음과 같은 -- 명령어를 사용합니다. -- A..
31강 테이블 구조 생성, 변경 및 삭제하는 DDL(1) -- 1. DB 객체 분류 -- 2. CREATE table로 구조 정의하기. -- 01. 테이블 구조 정의하는 CREATE TABLE -- 다음은 CREATE TABLE 문의 기본 형식입니다. -- CREATE TABLE table_name -- ( -- column_name, data_type expr,... -- ); -- ROWID -- ROWID 데이터 형은 테이블에서 행의 위치를 지정하는 논리적인 주소값입니다. -- ROWID는 데이터베이스 전체에서 중복되지 않는 유일한 값으로 -- 테이블에 새로운 행이 삽입되면 테이블 내부에서 의사 컬럼 형태로 -- 자동적으로 생성됩니다. -- ROWID는 테이블의 특정 레코드를 랜덤하게 접근하기 위해서 주로 사용됩니다. -- 다음은 select 문을 통해서..
30강 오라클 트랜잭션 관리 COMMIT & ROLLBACK DML -- 1. 트랜잭션 -- 2. COMMIT과 ROLLBACK -- 3. 자동 커밋 -- 4. 트랜잭션을 작게 분할하는 SAVEPOINT -- 01. 트랜잭션 -- 데이터베이스에서 트랜잭션(Transaction)은 데이터 처리의 한 단위입니다. -- 오라클에서 발생하는 여러 개의 SQL 명령문들을 하나의 논리적인 작업 -- 단위로 처리하는데 이를 트랜잭션이라고 합니다. -- 여러 개의 명령어의 집합이 정상적으로 처리되면 정상 종료하도록 하고 -- 여러 개의 명령어 중에서 하나의 명령어라도 잘못되었다면 전체를 취소해버립니다. -- 여러 개의 명령어의 집합이 정상적으로 처리되면 정상 종료하도록 하고 -- 여러 개의 명령어 중에서 하나의 명령어라도 잘못되었다면 전체를 취소해버립니다. -- 데이터베이스에서 작업의..
29강 오라클 SQL insert, update, delete DML(2) -- 1. 테이블의 내용을 수정하기 위한 UPDATE 문 -- 2. 테이블에 불필요한 행을 삭제하기 위한 DELETE문 -- 03. 테이블의 내용을 수정하기 위한 UPDATE문 -- UPDATA 문은 기존의 행을 수정한다. 어떤 행을 수정하는지 WHERE 절을 이용하여 조건을 지정한다. -- 주의! WHERE 절을 지정하지 않으면 모든 행이 수정된다. 조심하자 -- 테이블의 모든 행 변경 -- 0. emp01 테이블 만들기. create table emp01 as ( select * from emp); -- emp 테이블과 동일한 테이블을 생성한다. -- 1. 모든 사원의 부서번호를 30번으로 수정합시다. update emp01 set empno ='30'; -- 2. 이번엔 모든 사원의 급여를 10% ..
28강 오라클 SQL insert, update, delete DML(1) -- 1. 테이블에 새로운 행을 추가하는 INSERT문 -- 2. 다중 테이블에 다중 행 입력하기. -- 3. PIVOTING에 의해 다중 테이블에 다중 행 입력하기 -- 01. 테이블에 새로운 행을 추가하는 INSERT 문 -- insert 문은 테이블에 새로운 데이터를 입력하기 위해 사용하는 데이터 조작어입니다. -- 다음은 insert 문의 기본 형식 입니다. -- insert into table_name (column_name, ...) values(column_value, ...); -- INSERT 문을 위한 실습에 사용할 테이블 생성하기 -- 1. 이미 사용하던 테이블과 동일한 이름의 테이블을 새로 만들려면 DROP TABLE 명령어로 -- 테이블을 삭제한 후에 기존에 있던 부서 테이블(DE..
27강 오라클 SQL set연산자(3) -- set 연산자의 사용(INTERSECT, MINUS) -- INTERSECT -- 교집합과 INTERSECT -- 두 개의 쿼리를 받고 결과를 모은 다음, 두 결과셋에 모두 존재하는 레코드만을 리턴한다. select * from test1 intersect select * from test2; -- MINUS 연산자 -- 차집합과 MINUS -- 첫번째 쿼리에서만 리턴되며, 두번째 쿼리에서는 리턴되지 않는 레코드만을 리턴한다. select * from test1 minus select * from test2; -- -- SET 연산자 제한사항 -- SET 연산자로 묶여지는 SELECT 절에서 BLOB, CLOB, BFILE, VARRAY, -- 중첩 테이블 타입인 컬럼 사용 불가 -- UNION, ..

728x90