DBA

데이터베이스

DATABASE STEP 29 - Transaction

★ 트랜잭션(Transaction) 데이터를 조작하는 업무의 시간적 단위 일련의 사건의 집합. ex) 은행에서 돈을 인출하는 행동(1~8번 행동) 1개 이상의 명령어로 구성된 작업 단위 트랜잭션 명령어 DCL, TCL 1. commit : 현재 작업한 내용을 저장 2. rollback : 현재 작업을 취소하고 되돌림 3. savepoint : 현재 작업한 내용을 현재 지점까지 save 지정해놓음 ■ 사용 ex) ex 1) commit; -- 이 시각부터 새로운 트랜잭션이 시작된다!! > insert, update, delete만 트랜잭션에 포함된다. delete from tblTran where name = '박문수'; select * from tblTran; -- 메모리 -- 우리가 하는 모든 inse..

데이터베이스

DATABASE STEP 28 - Hierarchical

★ Hierarchical Query 오라클 전용 레코드 관계과 서로 상하 수직구조일때 사용 서로 다른 테이블간의 관계가 수직 구조일 때 사용 자기 참조를 하는 테이블에서 사용 ex) 카테고리, 답변형 게시판, 조직도 등.. 트리 구조에 사용 사용 양식 /* 구문 - start with절 + connect by 절 계층형 쿼리 의사 컬럼 a. prior > 자기와 연관된 부모 레코드 참조 b. level > 세대수(depth) */ ■ 사용 테이블 생성 ex1) 컴퓨터 구조 create table tblComputer ( seq number primary key, -- 식별자 name varchar2(50) not null, -- 부품명 qty number not null, -- 수량 pseq numbe..

데이터베이스

DATABASE STEP 25 - PSEUDO

★ PSEUDO 의사 컬럼, Pseudo Column 실제 컬럼이 아닌데 컬럼처럼 행동하는 요소 rownum 오라클 전용 row num > 행번호 > 레코드의 일련번호 from 절이 실행될 때 각 레코드에 일련번호를 할당한다. where 절의 영향을 받으면 일련번호를 다시 정비한다. (reindexing) rownum을 사용 > 서브 쿼리를 자주 사용한다. ■ 사용 ex) ex1) rownum의 사용법 select name, buseo, -- 컬럼(속성) > output > 객체의 특성에 따라 다른 값을 가진다. (개인 데이터) sysdate, -- 함수 > output > 모든 레코드가 동일한 값을 가진다. (정적 데이터) substr(name,2), -- 함수 > input + output > 객체마..

데이터베이스

DATABASE STEP 24 - ALTER

★ DDL > Object 객체 생성 : create 객체 삭제 : drop 객체 수정 : alter ★ 테이블 수정하기 테이블 정의 수정 > 컬럼 수정 > 컬럼명 or 자료형(길이) or 제약사항 테이블 수정해야 하는 상황 발생!! 1. 테이블 삭제(drop) > 테이블 DDL(Create) 수정 > 수정된 DDL로 새롭게 테이블 생성 a. 기존 테이블 데이터가 없었을 경우 > 아무 문제 없음 b. 기존 테이블 데이터가 있었을 경우 > 미리 데이터 백업 > 테이블 삭제 > 수정 후 생성 > 데이터 복구 - 공부할 때 자주 사용 - 개발 중에 사용 - 서비스 운영 중 > 불가능 !! 2. alter 명령어 사용 > 기존 테이블 구조(컬럼 정의) 변경 a. 기존 테이블 데이터가 없었을 경우 > 아무 문제 ..

데이터베이스

DATABASE STEP 23 - UNION

★ 관계 대수 연산 셀렉션 > select where 프로젝션 > select column 조인 > a join b 합집합, 차집합, 교집합 ★ 집합 union = 합집합 intersect = 교집합 minus = 차집합 ■ 사용 ex) ex1) select * from tblMen union select * from tblWomen; ex2) 게시판에 대한 ex) select * from 영업부게시판; -- 천만 건 select * from 총무부게시판; --2천만 건 select * from 개발부게시판; -- 천만 건 select * from 영업부게시판 union select * from 총무부게시판 union select * from 개발부게시판; ex3) SNS > 게시물 > 년도별로 > ex..

데이터베이스

DATABASE STEP 22 - VIEW

★ 데이터베이스 객체 테이블 계정(hr) 제약사항 시퀀스 뷰 ★ 뷰(View) 데이터베이스 객체 중 하나 가상 테이블, 뷰 테이블 등... 테이블처럼 사용한다. 뷰는 SQL을 저장한 객체이다. 뷰는 호출될때마다 저장된 SQL이 실행된다. (실시간 가상 테이블) 사용 양식 create view 뷰명 as select문; create [or replace] view 뷰명 as select문; ★ 뷰의 역할(목적) 쿼리를 단순화한다. > 가독성 향상 보안 관리 쿼리 > 다른 사용자(hr 등)과 공유 ■ 사용 ex 1) create or replace view vwInsa -- tblInsa 테이블의 복사본 as select * from tblInsa; select * from vwInsa; -- tblInsa..

데이터베이스

DATABASE STEP 21 - JOIN

★ 조인(Join) (서로 관계를 맺은) 2개(1개) 이상의 테이블을 사용해서, 1개의 결과셋을 만드는 연산 테이블 A + 테이블 B = 테이블 C 조인의 종류 1. 단순 조인, Cross Join 2. 내부 조인, Inner Join 3. 외부 조인, Outer Join 4. 셀프 조인, Self Join 5. 전체 외부 조인, Full Outer Join ★ 조인에 용이한 더미데이터 테이블 생성(고객 판매테이블) 고객 판매 테이블 1. 고객 테이블 (부모 테이블) create table tblCustomer ( seq number primary key, -- 고객번호(PK) name varchar2(30) not null, -- 고객명 tel varchar2(15) not null, -- 연락처 ad..

데이터베이스

DATABASE STEP 20 - RDBMS&Foreign key

★ 관계형 데이터베이스 시스템(RDBMS)이 지양하는 사항 테이블에 기본키가 없는 상태 > 데이터 조작 곤란 null이 많은 상태의 테이블 > 데이터 조작 곤란 + 공간 낭비 데이터가 중복되는 상태 > 데이터 조작 곤란 + 공간 낭비 하나의 속성값이 원자값이 아닌 상태 ■ 1. 테이블에 기본키가 없는 상태 > 데이터 조작 곤란(3번과 동일) create table tbltest ( name varchar2(30) not null, age number(3) not null, address varchar2(300) not null ); insert into tblTest (name, age, address) values ('홍길동', 20, '서울시'); insert into tblTest (name, ag..

IT의 큰손
'DBA' 태그의 글 목록 (2 Page)