데이터베이스 11

[SQL] DB 스터디 - 17

FLASHBACK 메모리 - 사람 살리는 메모리 1. FLASHBACK 메모리- 사용자 실수에 의한 데이터 수정 시, 백업 없이 복구할 수 있음- FLASHBACK메모리는 Undo데이터를 기반으로 수정되는 정보를 저장하고 있음 2. FLASHBACK QUERY : 테이블이 특정 시점에 있는 정보들을 가져오는 작업- 삭제된 내용을 보고 실수한 데이터를 수정할 수 있음예)->-- 삭재된 시점의 번호 - 1 : 삭제 직전의 정보SELECT *FROM empl AS OF SCN 719742;-- empl 이라는 테이블을 719742의 시점의 정보로 되돌리는 작업 3. FLASHBACK VERSION QUERY : 테이블이 수정되는 시점들을 확인할 수 있는 작업- VERSIONS_STARTTIME : 테이블의 시..

[SQL] DB 스터디 - 15

다른 시간대에서 데이터 관리 1. TIME_ZONE 세션 파라미터- 다음과 같이 TIME_ZONE을 설정할 수 있음-> 절대 오프셋-> 데이터베이스 시간대-> OS 로컬 시간대-> 명명된 지역- OS차원에서 관리되는 시간 정보를 가져올 수 있음- 해당 DB에 접속하는 수 많은 사용자의 시간대는 다를 수 있음- 시간대는 사용자가 임의적으로 수정할 수 있음예)->-- 절대 오프셋ALTER SESSION SET TIME_ZONE = '-05:00'; -- 데이터베이스 시간대ALTER SESSION SET TIME_ZONE = dbtimezone; -- OS 로컬 시간대ALTER SESSION SET TIME_ZONE = local; -- 지정된 지역의 시간대ALTER SESSION SET TIME_ZONE =..

[SQL] DB 스터디 - 14

대형 데이터 집합 조작 ※ 대부분 DML명령어 1. Subquery를 사용하여 데이터 조작- DML문의 Subquery를 사용하여 다음의 작업을 수행할 수 있음-> 인라인 뷰에서 데이터 검색-> 테이블 간에 데이터 복사-> 다른 테이블의 값을 기반으로 테이블의 데이터 갱신-> 다른 테이블의 행을 기반으로 테이블에서 행 삭제예)->-- departments 테이블과 JOIN-- FROM절에 Subquery 사용SELECT department_name, cityFROM departmentsNATURAL JOIN (SELECT l.location_id, l.city, l.country_idFROM loc l JOIN countries cON ( l.country_id = c.country_id )JOIN re..

[SQL] DB 스터디 - 11

유저 액세스 제어 ※전제 예시DBA(DB관리자) : admin - adminDEV(개발자) : jiha - pwdUSER(사용자) : kjh - pwd- DBA-> DEPT와 EMP를 CREATE TABLE-> DBA는 DEPT와 EMP를 GRANT- DEV-> DEV는 조회를 해야 함 DBA.EMP-> CREATE SYNONYM EMP FOR DBA.EMP- USER-> SELECT * ... 1. 사용자 생성과 권한 부여- 권한-> 시스템 권한 : 데이터베이스 내에서 특정 작업 수행--> 사용자 생성 및 제거--> 테이블을 만들 수 있음(소유권은 테이블을 만든 사용자에게 있음)--> 테이블 제거 및 백업-> 스키마 : 테이블, 뷰 및 시퀀스와 같은 객체들의 모음- CREATE USER admin ID..

[SQL] DB 스터디 - 10

객체(VIEW, SEQUENCE, SYNONYM, INDEX) 1. VIEW(뷰)- CREATE VIEW view_name AS SELECT 명령문- SQL의 SELECT명령문은 다른 SQL명령문의 Subquery로 사용 되기도 함-> 일반 파일의 바로가기 기능과 같음- 테이블은 데이터를 실제로 가지고 있는 객체 임- VIEW는 SELECT명령문에 VIEW를 붙혀서 보는 것- 특정 부분만 한정해서 결과를 볼 수 있도록 만드는 것을 VIEW라고 함-> 테이블 복사와 비슷 함-> 테이블 복사와 다른 점은 VIEW를 만들 때 사용한 SELECT명령문을 가지고 있음-> 따라서 원본 데이터를 수정 시킬 수 있게 됨-> VIEW를 업데이트 시키는 것을 다르게 보면 기존 테이블 업데이트에 Subquery를 넣어서 실..

[SQL] DB 스터디 - 09

제약 조건 1. 제약 조건 포함- 제약 조건은 테이블 레벨에서 규칙을 강제 적용 시킴- 제약 조건은 테이블에 종속 관계가 있는 경우 삭제를 방지- 잘못된 입력을 방지- 유효한 제약 조건의 유형-> NOT NULL : NULL을 허용하지 않음-> UNIQUE : 들어오는 값이 중복만 이루어지지 않으면 됨, NULL은 들어올 수 있음-> PRIMARY KEY : 기본키, 동일한 값이 있을 수 없음(NOT NULL + UNIQUE)-> FOREIGN KEY : 다른 테이블 혹은 자신의 테이블의 값을 참조할 수 있음-> CHECK : 조건 식, 조건에 위배되지 않는 값만 들어올 수 있음- 테이블을 만들 때 정의할 수 있음- 테이블을 만들고 난 뒤 추가할 수 있음 2. 제약 조건 지침- 사용자가 제약 조건의 이름..

[SQL] DB 스터디 - 08

DDL문을 사용하여 테이블 생성 및 관리 1. 데이터베이스 객체- 테이블 : 기본 저장 단위, 행으로 구성 됨- 뷰 : 하나 이상의 테이블에 있는 데이터의 부분 집합을 논리적으로 출력- 시쿼스 : 숫자 값을 생성- 인덱스 : 일부 Query 성능을 향상 시킴- 동의어 : 객체에 다른 이름을 부여 2. 이름 규칙- 예약어 사용 불가능- 대/소문자를 구분해서 입력 해도 저장될 때는 모두 대문자로 변환 됨- 이름이 겹치는 것은 허용할 수 없음-> 컬럼의 이름은 상관 없음- 문자로 시작 되어야 함 3. CREATE TABLE문- CREATE TABLE 권한이 필요 함- 저장 공간 필요- CREATE TABLE name ( column datatype [ ....... ] );- 테이블 이름 지정- 컬럼 이름, ..

[SQL] DB 스터디 - 07

집합 연산자, 데이터 조작 명령문(DML) 1. 집합 연산자- UNION/UNION ALL-> UNION : 두 테이블을 합칠 때 중복되는 부분은 생략하여 합쳐서 출력-> UNION ALL : 위 SELECT문을 출력 후 아래 SELECT문을 출력- INTERSECT-> 두 테이블 간의 교집합을 출력- MINUS-> A MINUS B 라고 되어 있으면 A - B라는 차집합의 결과를 출력- 앞 SELECT문의 결과에 합/차 집합을 만들 수 있음- UNION ALL을 제외한 나머지 연산자는 검색이 될 때 중복이 되는 행을 제거하여 출력- 중복되는 값을 제거하기 위해서 내부적으로 정렬을 시킴-> 기본적으로 SORT가 이루어 지면 성능의 문제를 일으킬 수 있음-> 잘 사용하지 않음- 보통 JOIN과 Subque..

[SQL] DB 스터디 - 04

JOIN, Sub Query를 사용한 여러 테이블 표시 1. JOIN 이란- 서로 다른 두 개 이상의 테이블을 합칠 때 사용하는 구문- 조건절에 두 테이블의 적절한 조회 조건식이 없다면 두 테이블 간의 모든 경우의 수의 행의 개수가 출력 됨- 동일한 값으로 하는 조인을 Equijoin, 다른 값으로 하는 조인을 Nonequijoin이라 함- 거의 대부분의 조인은 같은 값을 가지고 조인을 진행 하게 됨예)-> emp테이블에서 empno가 7788인 사원의 deptno의 부서 번호와 부서 명을 표시하는 SQL문 -- 아래 두 SQL문을 합치는 작업 필요SELECT *FROM empWHERE empno = 7788; SELECT *FROM deptWHERE deptno = 20; -- 실행은 되지만 원하는 결..

01. DB기초

DB를 사용하는 이유1. 데이터 독립성 지원A. 데이터의 근본을 수정하기 위해서는 DBMS를 통해야만 한다.B. DBMS는 데이터베이스 내에 있는 데이터의 물리적, 논리적 변화가 응용 시스템에 영향을 미치지 않도록 한다.2. 데이터 무결성 유지A. 데이터의 타입(type), 길이, 값의 범위 등에 대한 정보를 가진다.B. 이를 위반하는 데이터가 입력될 경우 처리를 거절함으로써 데이터의 무결성을 지원한다.3. 데이터 중복성 및 불일치 최소화A. 데이터가 여러 부서에서 사용하는 경우 이를 하나로 관리함으로써 중복성을 방지하며 그 결과로 중복된 데이터 간의 불일치 문제를 해결한다.4. 데이터 표준화의 용이성A. 데이터베이스 관리자(DBA)가 존재B. DBA는 데이터베이스의 설계과정을 주도하여 관리될 데이터를 ..

2학년/DataBase 2017.09.16