서브쿼리란? 1. 정의 - 하나의 SQL문안에 포함되어 있는 또 다른 SQL문을 말한다. 2. 주의점 - 괄호로 감싸서 사용한다. - 단일 행(Single Row) 또는 복수 행(Multiple Row) 비교 연산자와 함께 사용 가능하다. - 단일 행 비교 연산자는 서브쿼리의 결과가 반드시 1건 이하이어야 하고, 복수 행 비교 연산자는 서브쿼리의 결과 건수와 상관 없다. - ORDER BY를 사용하지 못한다. ORDER BY절은 SELECT절에서 오직 한 개만 올 수 있기 때문에 ORDER BY절은 메인쿼리의 마지막 문장에 위치해야 한다. 3. 서브쿼리가 사용가능한 절 - SELECT 절, FROM 절, WHERE 절, HAVING 절, ORDER BY 절, INSERT문의 VALUES 절, UPDATE..
조인의 개요 1. 정의 - 두 개 이상의 테이블 들을 연결 또는 결합하여 데이터를 출력하는것 - JOIN은 관계형 데이터베이스의 가장 큰 장점이면서 대표적인 핵심 기능이라고 할 수 있다. - 일반적인 경우 행들은 PRIMARY KEY(PK)나 FOREIGN KEY(FK) 값의 연관에 의해 JOIN이 성립된다. - 하지만 어떤 경우에는 이러한 PK, FK의 관계가 없어도 논리적인 값들의 연관만으로 JOIN이 성립 가능하다. 2. 주의할점 - FROM 절에 여러 테이블이 나열되더라도 SQL에서 데이터를 처리할 때는 단 두 개의 집합 간에만 조인이 일어난다는 것이다. +예시) Equi Join 1. 정의 - 두 개의 테이블 간에 칼럼 값들이 서로 정확하게 일치하는 경우에 사용되는 방법이다. - 대부분 PK ↔..
소개 Oracle의 샘플 테이블 생성 및 샘플 데이터를 공유합니다. 교재 : 오라클 전문가 가이드 출처 : www.dbguide.net/da.db?cmd=snb9_2_view&boardGroupUid=6&boardConfigUid=59&boardUid=148066%EF%BB%BF http://www.dbguide.net/da.db?cmd=snb9_2_view&boardGroupUid=6&boardConfigUid=59&boardUid=148066 www.dbguide.net 위 출처에 업로드되어있는 파일입니다. 위 쿼리를 실행한 후의 sqldeveloper의 테이블 리스트 모습입니다. 모델링 해당 테이블의 ERD를 보시면, 쿼리를 실행하시는데에 더욱 이해하기 쉬울 것입니다.
제약 (무결성 제약 조건) 제약 설명 PRIMARY KEY 제약 칼럼에 중복값과 NULL을 허용하지 않는다. UNIQUE KEY 제약 칼럼에 중복값을 허용하지 않는다. NULL은 가능하다. NOT NULL 제약 칼럼에 NULL을 허용하지 않는다. FOREIGN KEY 제약 칼럼의 값이 각 관련 테이블의 유일키 또는 기본키의 값과 일치해야한다. CHECK 제약 제약조건을 만족하지 않는 값은 허용하지 않는다. 제약조건을 확인 데이터베이스에 존재하는 제약 확인 SELECT owner, -- 제약의 소유자 constraint_name, -- 제약명 constraint_type, -- 제약종류 table_name, -- 테이블명 r_owner, -- FOREIGN KEY 제약에서 참조하는 테이블의 소유자 r_co..
데이터베이스 문자 세트와 NATIONAL 문자 세트 문자 데이터 타입에는 데이터베이스 문자 세트를 기반으로 하는 문자 데이터를 저장한다. 즉, 저장하고자하는 문자열을 데이터베이스의 문자 세트에 따른 문자 코드의 바이트 열로 변환한 후에 데이터 파일에 저장한다. ex) 데이터베이스 문자 세트가 ‘KO16KSCO5601’ 일때 > 문자 ‘가’는 ‘가’의 KS C 5601의 바이트 표현인 ‘0xB0A1’로 저장된다. 저장 데이터가 유니코드(NATIONAL 문자 세트) 일때 사용하는 문자 데이터 타입에는 NATIONAL 문자 세트의 바이트 표현으로 데이터 파일에 저장된다. NATIONAL 문자 세트에는 유니코드와 대응되는 문자 세트(AL16UTF16 또는 UTF-8)만 지정할 수 있다. ex) NATIONAL ..
오브젝트의 종류 종류 개요 테이블 (Table) 로우(행)과 컬럼(열)으로 구성된 표 형식의 오브젝트 인덱스 (Index) 테이블 안의 데이터에 효율적으로 접근하기위한 보조역할을 하는 오브젝트 뷰 (View) 테이블 또는 다른 뷰를 기반으로 생성된 가상 테이블 머티리얼라이즈드 뷰 (materialized view) 실체를 가진 뷰 시노님 (Synonym) 오브젝트에 지정할 수 있는 별칭 시퀀스 (Sequence) 연속된 숫자를 생성하는 오브젝트 테이블에 대하여 알아보자 테이블이란, 로우(행)과 컬럼(열)으로 구성된 표 형식의 오브젝트로 데이터를 보관하는 역할을 한다. 데이터베이스 내에 생성할 수 있는 테이블의 수는 제한이 없으며, 물리적인 제약이 없는 한 얼마든지 생성할 수 있다. 컬럼럼명 : 테이블 안..
오라클의 기본 계정 오라클에서 만들어놓은 주요 계정들이 있다. 1. 특수한 역할을 가진 계정으로, 오라클의 내부 동작과 밀접한 관계를 가진 오브젝트를 소유하고 있다. 2. 데모용 계정으로 데모를 위한 오브젝트를 가지고있다. 계정명 패스워드 설명 SYS 데이터베이스 생성시 설정 SYSDBA 권한 SYSTEM 데이터베이스 생성시 설정 SYSDBA/SYSOPER 조작 이외에 거의 모든 조작을 수행 DBSNMP 데이터베이스 생성시 설정 데이터베이스 모니터링 및 관리 SYSMAN 데이터베이스 생성시 설정 EM에 접속해 관리작업을 수행하는 계정(오라클 10g, 11g) SCOTT TIGER 데모용 계정 HR HR 데모용 계정 SYS 계정 SYS 계정은 SYSDBA 권한이라는 데이터베이스의 생성/기동/정지/백업/복구..
롤이란 무엇인가? 롤이란, 여러 권한을 요약한 것이다. 롤을 계정에 할당하면 롤에 포함된 권한이 계정에 부여된다. 1. 모든 권한을 일괄적으로 부여할 수 있다. 2. 권한을 추가하거나 삭제할때도 롤이 부여된 모든 계정의 권한을 제어할 수 있다. 3. 롤의 정보는 데이터 딕셔너리에 저장되므로 롤 정보만 별도로 백업할 수 없다. 4. 롤에 다른 롤을 부여하는 형태로 권한을 계층적으로 관리할 수 있다. 롤 사용하기 롤을 확인해보자. SELECT role -- 롤 명 FROM DBA_ROLES; 계정 또는 롤에 직접 부여된 롤을 확인해보자. SELECT grantee, -- granted_role의 롤이 부여된 계정명과 롤 granted_role, -- 부여된 롤명 admin_option -- 롤이 WITH A..
계정과 스키마 오라클은 계정의 ‘인증 정보’와 ‘권한 정보’를 독자적으로 관리한다. 오라클은 이용할 수 있는 계정명과 패스워드 목록을 ‘데이터 딕셔너리’에 저장한다. 데이터 사전 오라클의 사용자 정보 오라클 권한과 롤 정보 계정은 ‘오브젝트 소유자의 역할’ 이다. 오브젝트 테이블, 뷰, 인덱스 등등 등 모든 논리적인 저장구조 모든 오브젝트에는 소유자가 있고, 오브젝트가 해당 계정의 스키마에 위치한다. 스키마란 무엇인가 ? 스키마란, 계정이 소유하는 테이블이나 인덱스 등의 오브젝트를 포함하는 논리적인 컨테이너이다. 다른 스키마 안에 있는 오브젝트는 이름이 같아도 다른 오브젝트로 취급한다. SCOTT 계정 SCOTT 계정 SCOTT 스키마 (EMP 테이블 / JOBS 테이블) HR 계정 HR 계정 HR 스키..