목록oracle (28)
나의 개발일지

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/77487 서브쿼리 활용 SELECT id, name, host_id from places a where host_id in (select host_id from places b group by host_id having count(name) >= 2) order by id;

데이터베이스 보안 시스템 보안 시스템 레벨에서 데이터베이스 액세스 및 사용을 제어하는 것 사용자 이름 및 암호 사용자에게 할당된 디스크 공간 사용자가 수행할 수 있는 시스템 작업 등 데이터 보안 데이터베이스 객체에 대한 액세스 및 각 객체에 대해 사용자가 수행할 수 있는 작업을 제어하는 것 DCL (Data Control Language) 사용자에게 권한을 부여하고 회수하기 위하여 사용하는 SQL GRANT와 REVOKE 데이터베이스 보안을 위한 작업 데이터베이스 관리자의 업무 새 사용자를 생성 권한을 부여하거나 취소하는 작업이 포함 권한 데이터베이스에 특정 SQL 문을 실행할 수 있는 권리 데이터베이스 액세스를 제어하는 시스템 권한 데이터베이스 객체의 액세스 여부를 제어하는 객체권한 롤 관련 권한을 따..

시퀀스의 개념 고유한 정수 생성을 위해 사용하는 데이터베이스 객체 응용 프로그램에 코드를 작성하여 대체 가능 기본키 값 생성에 소요되는 시간이 줄어드는 장점 제공 시퀀스 생성에 필요한 응용 프로그램 코드의 양을 줄여 주기 때문 테이블에 독립적인 객체 여러 테이블에 동일한 시퀀스를 사용 가능 (권장하지 않음) 시퀀스의 생성 CREATE SEQUENCE 문을 사용하여 생성 구문 CREATE SEQUENCE sequence_name [INCREMENT BY b] [START WITH n] [{MAXVALUE n | NOMAXVALUE}] [{MINVALUE n | NOMINVALUE}] [{CYCLE | NOCYCLE}] [{CACHE n | NOCACHE}]; 시퀀스의 생성 구문 설명 INCREMENT BY..

뷰의 개념 논리적으로 하나 이상의 테이블에 있는 데이터의 부분 집합 뷰의 기반이 되는 기본 테이블 또는 다른 뷰를 기반으로 하는 논리 테이블 데이터 딕셔너리에 뷰에 정의한 SELECT 문으로 저장됨 뷰를 통해 테이블의 데이터를 액세스 하는 사용자는 뷰에서 제공되는 데이터만 제한적으로 사용 자체적으로 데이터를 포함하지 않음 뷰를 통해 테이블의 데이터를 보거나 일부 변경 가능 뷰의 사용 목적 데이터 액세스를 제한 테이블의 열을 선택적으로 표시 단순한 쿼리를 만들 수 있는 편의성 뷰를 사용하여 복잡한 쿼리 대신 뷰를 쿼리 예를 들어, 조인 문 대신 조인 뷰를 사용하여 여러 테이블에 있는 정보를 쿼리 보안성 증대 사용자 그룹이 특정 기준에 따라 데이터를 액세스 뷰의 종류 단순 뷰 뷰를 통해 볼 수 있는 데이터가..

테이블 검색 성능 데이터베이스 성능을 좌우하는 요소 논리적 , 물리적으로 최적화된 데이터베이스 설계 및 체계적인 데이터 모델링에 의해 좌우 Index Scan 물리적 데이터베이스 설계과정에서 SQL 명령문의 처리 속도 최적화를 위해 가장 우선적으로 고려되는 항목 Full Table Scan 열에 인덱스가 없는 경우 오라클 서버가 전체 테이블을 검색하는 방법 인덱스 스키마 객체 중의 하나 검색 시 조건으로 사용되는 열에 생성 테이블과 별도로 데이터베이스에 포인터와 함께 저장 포인터를 사용하여 테이블로부터 임의의 행을 검색하는 동안 행 검색 테이블 검색 속도 향상 데이터베이스 시스템의 디스크 I / O 최적화 인덱스화된 경로 사용으로 테이블의 행에 대해 직접적이고 빠른 접근방식 제공 데이터 위치를 빠르게 찾..

제약 조건의 개념 테이블의 무결성 유지를 위해 행이 삽입, 갱신 또는 삭제될 때 마다 테이블의 데이터에 규칙을 적용하는 것 제약 조건을 만족하는 작업만 DML이 수행되므로 테이블에 잘못된 데이터가 입력되는 것을 방지 하나의 열에 하나 이상의 제약 조건이 지정 가능 Oracle 데이터베이스 레벨에서 선언 가능한 제약 조건 유형 NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK NOT NULL 제약 조건 해당 열에 NULL 값 생성 방지 열의 NOT NULL 여부는 DESCRIBE 명령의 결과에서 확인 가능 UNIQUE 제약 조건 (고유 키) UNIQUE 제약 조건이 정의된 열 또는 조합 열의 값이 고유하게 유지 입력 또는 변경되는 값이 고유한지 여부를 체크하므로 지정된 열 ..

서브 쿼리와 메인 쿼리 메인 쿼리 (외부 쿼리) 결과를 반환할 때 사용할 최종 쿼리문 서브 쿼리 (내부 쿼리) SQL 문 내부에 포함되는 괄호 안의 쿼리문 중첩 SELECT 문 또는 하위 SELECT 문 외부 쿼리 (메인 쿼리)에 사용될 값만 처리 서브 쿼리 결과는 화면에 반환되지 않음 특별한 경우를 제외하고는 서브 쿼리는 메인 쿼리보다 먼저, 한 번만 실행 서브 쿼리가 필요한 경우 두 개의 순차적인 쿼리를 수행하여 첫 번째 쿼리 결과를 두 번째 쿼리의 검색 값으로 사용하는 경우와 동일한 작업을 하나의 SQL에서 실행 예시) 오상우 사원보다 급여가 많은 사원을 구하기 위해 먼저 오상우 사원의 급여를 구한다. (630) 그다음 오상우 사원의 급여인 630을 가지고 조건을 검색하는 쿼리를 또 작성한다. 이렇..

조인의 개념 하나의 SELECT 문 안에서 여러 테으블로부터의 데이터를 사용하는 것 정규화 관계형 데이터베이스는 중복을 최소화하고 갱신 작업의 이상현상을 제거하기 위하여 설계 시 수행하는 과정 정규화의 결과 테이블에는 필요한 최소한의 정보를 저장하게 되어 보고서를 생성하려면 여러 테이블의 데이터를 사용해야 하는 경우 발생 ➡ 조인 필요 조인의 종류 조인이 되는 두 테이블의 연관되는 데이터의 비교 방식 등가 조인 (Equi Join) 비등가 조인 (Non Equi Join) 조인의 결과에 따른 분류 Inner Join Outer Join (Inner Join 결과에 제외된 행들도 포함해서 표시) 조인에 사용되는 테이블 수에 의한 분류 Self Join 3 Way Join ANSI/ISO SQL 표준 조인 ..