코딩 공부/DB

    [DB] SET

    [DB] SET

    SET 연산자 사용 - SET 연산자는 둘 이상의 구성 요소 질의 결과를 하나로 결합합니다. - SET 연산자가 들어 있는 질의를 복합 질의라고 합니다. 연산자 반환 결과 UNION 두 질의 중 어느 것 하나에 의해서라도 선택된 모든 구분(distinct)행(row) UNION ALL 중복 행을 포함하여 두 질의 중 어느 것 하나에 의해서라도 선택된 모든 행 INTERSECT 두 질의 모두에 의해 선택된 모든 구분 행 MINUS 첫째 SELECT문에 의해 선택되고 둘째 SELECT문에서 선택되지 않은 모든 구분 행 UNION연산자 -모든 사원의 현재 및 이전 업무에 대한 세부 사항을 표시합니다. 각 사원에 대해 한 번씩만 표시하자. UNION 연산자는 두 질의의 결과를 중복을 제거한 후 반환 한다. - ..

    [DB] 사용자 엑세스 제어

    [DB] 사용자 엑세스 제어

    사용자 엑세스 제어 DCL (사용자를 관리를 하기 위한 언어) 다중 사용자 환경에서는 데이터베이스 엑세스 및 사용에 대한 보안을 유지 관리할 필요성이 있다. Oracle Server 데이터베이스 보안을 사용하면 다음을 수행한다 - 데이터베이스 엑세스 제어 - 데이터베이스의 특정 객체에 대한 엑세스 권한 부여 - 오라클 데이터 딕셔너리에서 주고 받은 권한확인 - 데이터베이스 객체의 동의어 생성 권한 데이터베이스 보안: 시스템 보안 -사용자 이름 및 암호, 사용자에게 할당된 디스크 공간, 사용자가 수행할 수 있는 시스템 작업 등 시스템 레벨의 데이터베이스 액세스 및 사용을 다룬다. 데이터 보안 -데이터베이스 객체에 대한 액세스와 사용 및 각 객체에 대해 사용자가 수행할 수 있는 작업을 다룬다. 시스템 권한 ..

    [DB] 데이터베이스 객체

    [DB] 데이터베이스 객체

    데이터베이스 객체 시퀀스 -고유 번호를 자동으로 생성합니다. -공유 가능한 객체입니다. -일반적으로 기본 키 값을 생성하는 데 사용됩니다. -응용프로그램 코드를 대체합니다. -시퀀스 값을 메모리에 캐시하면 액세스 효율이 높아 집니다. CREATE SEQUENCE문 구문 시퀀스가 하나의 테이블에 전적으로 연결되어 있는것이 아니다, 일반적으로 시퀀스는 용도에 따라 이름을 정하게 되지만 일므과 상관없이 어디서나 사용할 수 있다. NEXTVAL 및 CURRBAL 의사 열 -NEXTVAL은 사용 가능한 다음 시퀀스 값을 반환하며, 참조될 때마다 고유한 값을 반환한다. -CURRBAL은 현재 시퀀스 값을 반환한다. -CURRBAL이 값을 포함하려면 먼저 해당 시퀀스에 대해 NEXTVAL이 실행되어야 한다. 시퀀스 ..

    [DB] 뷰 생성

    [DB] 뷰 생성

    뷰 생성 뷰 - 논리적으로 하나 이상의 테이블에 있는 데이터의 부분 집합을 나타낸다. - 테이블 또는 다른 뷰를 기반으로 하는 논리 테이블로서 자체적으로 데이터를 포함하지 않지만 창과 마찬가지로 뷰를 통해 테이블의 데이터를 보거나 변경할 수 있다. - 테이블 뷰를 생성하면 데이터의 논리적인 부분 집합 또는 조합을 나타낼 수 있다. - 뷰의 기반이 되는 테이블을 기본 테이블이라고 하며 뷰는 데이터 딕셔너리에 SELECT문으로 저장된다. 뷰의 사용 목적 및 장점 - 뷰는 테이블의 열을 선택적으로 표시할 수 있으므로 데이터 엑세스를 제한한다. - 뷰를 사용하면 복잡한 질의의 결과를 검색하는 단순한 질의를 만들 수 있다. - 뷰는 임시 사용자와 응용 프로그램에 대해 데이터 독립성을 제공하며 하나의 뷰를 사용 하..

    [DB] 테이블 정의 실습

    [DB] 테이블 정의 실습

    더보기 drop table dept cascade constraints; drop table emp cascade constraints; create table dept (DEPTNO number(2), DNAME varchar2(14) not null, LOC varchar2(13) not null, constraint dept_DEPTNO_pk primary key(DEPTNO) ); create table emp (EMPNO number(4), ENAME varchar2(10) not null, GENDER char(10) not null, JOB varchar2(9) not null, MGR number(4), HIRDATE date not null, SAL number(7,2) not null,..

    [DB] 제약 조건 포함

    [DB] 제약 조건 포함

    제약 조건 포함 제약 조건이란? -제약 조건은 테이블 레벨로 규칙을 적용합니다. -제약 조건은 종속된 테이블의 삭제를 방지합니다. -유효한 제약 조건 유형 - NOT NULL : 열이 널 값을 포함하지 못하도록 지정한다. - UNIQUE : 테이블의 모든 행(row)에서 고유한 값을 갖는 열 또는 열 조합을 지정한다. - PRIMARY KEY : 테이블의 각 행을 고유하게 식별한다. - FOREIGN KEY : 한 열과 참조된 테이블의 열 간에 외래 키 관계를 설정하고 시행한다. - CHECK : 참(true)이어야 하는 조건을 지정한다. 제약 조건 지침 제약 조건에 이름을 지정하지 않으면 oracle server가 SYS_Cn형식의 이름을 생성한다. 열 레벨 또는 테이블 레벨로 제약 조건을 정의한다. ..

    [DB] 테이블 생성 및 관리

    [DB] 테이블 생성 및 관리

    테이블 생성 및 관리 데이터베이스 객체 객체 설명 테이블 기본 저장 단위며 행과 열로 구성된다. 뷰 논리적으로 하나 이상의 테이블에 있는 데이터의 부분 집합을 나타낸다. 시퀀스 숫자 값 생성기입니다. 인덱스 질의의 성능을 향상시킵니다. 동의어 객체에 다른 이름을 제공합니다. -테이블은 언제든지 생성할 수 있으며 사용자가 데이터베이스를 사용하는 중에도 생성할 수 있다. -테이블 크기는 데이터베이스에 전체적으로 할당된 공간만큼 정의되므로 지정할 필요가 없다. -테이블 구조는 온라인으로 수정할 수 있다. 이름 지정 규칙 1. 반드시 문자로 시작해야 한다. 2. 1자부터30자까지 사용 가능하다. 3. A-Z, a-z, 0~9,__,$,#만 포함해야 한다. 4. 동일한 사용자가 소유한 다른 객체의 이름과 중복되지..

    [DB] 데이터 조작

    [DB] 데이터 조작

    데이터 조작 정보처리(데이터 처리 시스템) -일괄처리 ex) 은행 업무(정산) => 한 번에 하나의 작업만 처리하므로 안정적이다. => 처리되기까지 시간이 소요된다. -실시간 온라인 처리 => 실시간으로 빠르게 처리한다. => 불안정하다. => 처리비용이 절감된다. -분산처리 => 업무를 분산해서 처리 => 시스템 확장이 용이하다. => 하이브리드 처리방식(실시간으로 처리하다가 업무 시간이 종료된 후에는 일괄로 처리하는 방식) DML(데이터 조작어) -테이블에 새 행 추가 -테이블의 기존 행 수정 -테이블에서 기존 행 삭제 -트랜잭션은 논리 작업 단위를 형성하는 DML문의 모음으로 구성된다. *트랜잭션 = 일괄처리를 하기 위한 작업의 단위(모음) *Commit(커밋) : 트랜잭션에 의해서 수행이 된 변경..

    [DB] 예제 문제 3

    [DB] 예제 문제 3

    01. 'Zlotkey' 와 동일한 부서에 근무하는 다른 모든 사원들의 사번 및 고용 날짜를 출력하시오. 02. 회사 전체 평균 급여보다 더 급여를 많이 받는 사원들의 사번 및 이름을 출력하시오. 03. 이름에 u 가 포함되는 사원들과 동일 부서에 근무하는 사원들의 사번 및 이름을 출력하시오. 04. 141번 사원과 동일한 업무를 수행하는 사원의 이름과 업무를 출력하시오. 05. 'Ernst'와 동일한 부서에 근무하는 사원중 급여가 5000 보다 큰 사원의 이름과 급여를 출력하시오. 06. 이름이 t를 포함하고 있는 사원과 같은 부서에 근무하는 사원의 이름과 사원번호와 부서번호를 출력하시오. 07. 부서별 최대 급여를 받는 사원의 번호, 이름과 급여를 출력하시오. 08. 이름이 DAVIES인 사람보다 후..

    [DB] 서브 쿼리

    [DB] 서브 쿼리

    서브 쿼리 - 서브 쿼리(내부 질의)는 기본 질의 실행 전에 한번 실행됩니다. - 서브 쿼리의 결과는 메인쿼리(외부 질의)에 사용됩니다. - WHERE절, HAVING절,FROM절에 자주 사용된다. 서브 쿼리 사용해보기 Abel이라는 사원보다 더 많은 급여를 받는 사원의 이름과 급여를 출력하시오. (서브쿼리 프로세스) 1. 어떤 값을 모르고 있는지 먼저 찾아보자('Abel'의 급여) 2. 모르는 값을 서브쿼리를 통해서 찾자 3. 모르는 값을 서브쿼리의 어떤 컬럼으로 찾을지 결정(salary) 4. 서브쿼리가 넘겨주는 값을 메인쿼리의 누가 받을지 결정 => 메인쿼리의 어떤 컬럼이 받을것인지 결정(salary) 5. 어떤 연산자를 사용할것인지 결정( 결과가 하나면 단일연산자, 복수면 in과 같은 복수연산자를..