본문 바로가기

반응형

DataBase/Oracle

(8)
9.[Oracle] 오라클 객체 1)VIEW 객체 가상의 테이블 필요한 정보가 여러 테이블에 분산되어 저장되어 있어 자주 조인이 발생되는 경우, 테이블 중 일부 컬럼이나 행만 요구되는 경우, 특정 테이블의 접근을 제한하고 결과만 제공하는 경우 CREATE [OR REPLACE] VEIW 뷰이름[(컬럼리스트)] AS SELECT 문 [WITH CHECK OPTION] [WITH READ ONLY] 2)SEQUENCE 객체 자동적으로 증가 또는 감소되는 번호를 생성 테이블과 독립적 사용 테이블에 기본키로 사용된 적당한 컬럼이 없는 경우 기본키로 사용될 수 있음 CREATE SEQUENCE 시퀀스명 [START WITH n] -- 시작값(생략되면 MINVALUE) [INCREMENT BY n] -- 증감 값 [MAXVALUE n|NOMAXV..
8.[Oracle] 집합연산자 다수의 테이블의 내용을 단일 테이블 처럼 조회 UNION ALL, UNION, INTERSECT, MINUS 첫번째 SELECT문의 SELECT절이 기본으로 적용된다. 모든 SELECT 절의 컬럼수, 순서, 데이터 타입이 일치해야 한다. ORDER BY 절은 맨 마지막 SELECT문에서만 사용 가능하다. 1) UNION 중복자료는 배제하면서, 합집합의 결과를 반환한다. 2) UNIOM ALL 중복자료를 포함하면서, 합집합의 결과를 반환한다. 3) INTERSECT 교집합의 결과를 반환한다. 4) MINUS 차집합의 결과를 반환한다.
7.[Oracle] 서브쿼리 SQL구문 안에 또 다른 SQL 구문이 포함된 형태를 말한다. 많은 JOIN을 대신할 수 있고, 메인 쿼리의 결과를 얻기위해 필요한 중간 결과를 산출하기 위해 사용된다. 메인쿼리와 연관성에 따라 연관성 없는 서브쿼리 : 메인쿼리와 조인으로 연결되지 않은 서브쿼리; 연관성 있는 서브쿼리 : 메인쿼리와 조인으로 연결된 서브쿼리 사용위치에 따라 일반 서브쿼리 : SELECT 절에 사용 인라인(in-line)서브쿼리 : FROM절에 사용(독립실행이 가능해야 함) 중첩서브쿼리 : WHERE절에 사용 반환값에 따라 단일행/단일열, 단일행,다중열, 다중행/단일열, 다중행/다중열 DML 명령에도 많이 사용된다. 알려지지 않은 조건에 근거하는 값들을 조회하기위해 사용한다. 1) 연관성 없는 서브쿼리 메인쿼리에 사용된 테..
6. [Oracle] 테이블 조인 관계형 데이터베이스의 핵심 기능이다. 여러 테이블에 분산되어 있는 자료를 조회하는 방식을 택하고, 조인에 참여하는 테이블들은 반드시 관계(Relationship)가 존재해야 한다. 테이블의 갯수가 n개일때 관계조건은 적어도 n-1개 이상 이어야한다. 일반 조인/ANSI 조인, 내부조인/외부조인 으로 구분된다. 조인조건 구성에 사용되는 연산자에 따라 동등조인/비동등조인으로 구분되기도 한다. 1. 일반조인 각 DBMS 회사에서 자사 DBMS에 최적화 되도록 구성한 문법 1) CARTESIAN PRODUCT 조인조건이 없거나 조인조건이 잘못되었을 때 발생한다. ANSI JOIN 중 CROSS JOIN에 해당한다. SELECT COUNT(*) FROM CART, BUYPROD, PROD; 위를 실행하면 아무런 ..
5. [Oracle] 함수(function) 1. 문자열 함수 1) CONCAT(c1,c2) 두 문자열 c1과 c2를 결합하여 새로운 문자열을 반환한다. ||와 같은기능을 한다. 2) LOWER(c1), UPPER(c1) , INITCAP(c1) LOWER : c1에 저장된 자료를 모두 소문자로 변환한다. UPPER : c1에 저장된 자료를 모두 대문자로 변환한다. INITCAP : c1에 저장된 자료 중 단어의 첫 글자만 대문자로 변환한다. 3) LPAD(c1,n[,c2]) , RPAD(c1,n[,c2]) 지정된 길이 n만큼의 기억공간에 왼쪽(LPAD) 또는 오른쪽(RPAD) 부터 c1을 채우고 남는 공간은 c2를 채운다. LPAD는 수호 보호문자를 지정하는데 자주 사용된다. 4) LTRIM(c1[,c2]) RTRIM(c1[,c2]), TRIM(..
3. [Oracle] DML_INSERT 구문 사용하기 오늘은 SQL의 DML(Data Manipulation Language)중 INSERT 문을 사용할 것이다. DML은 데이터 조작어를 의미하며 테이블 내의 데이터를 추가, 변경, 삭제 해주는 언어이다. 그중에서도 INSERT문은 테이블에 자료가 없을 때 테이블에 데이터를 저장해주는 명령어이다. 사용형식은 아래와 같다. INSERT INTO 테이블명(컬럼명1, 컬럼명2 ....) VALUES(값1,값2.....) 주의해야할 점은 컬럼명은 생략이 가능하고, 생략하면 테이블 생성시 기술한 순서대로 모든값을 VALUES절에 기술하면 된다. 컬럼명을 기술하는 경우 필요한 자료만 입력이 가능해진다. 단, NOT NULL은 생략불가능여서 NN으로 지정된 컬럼에는 반드시 데이터를 삽입해주어야 한다. https://sh..
2. [Oracle] 변수타입, DDL_CREATE 구문 사용하기 오늘은 SQL의 DDL(Data Definition Language) 중 CREATE 문을 사용할 것이다. 그전에 앞서서 오라클에서 사용하는 변수의 Type에 대해 알아보도록 하겠다. * char형 -> char형은 문자열을 나타내 주는데 고정된 길이를 가지고 있다. 2000BYTE까지 저장 가능 (한글 한 글자는 3BYTE), 기억공간이 남으면 왼쪽에 공백이 삽입된다. 주로 기본키 정의에 사용한다. * varchar2형 -> varchar2형은 마찬가지로 문자열을 나타내 주는데 가변 길이를 가지고 있다. 최대 4000BYTE까지 저장 가능하다. 이 차이가 무엇이냐면 예를 들어 char(4)로 선언을 하게 되면 그 변수는 무조건 4byte의 크기를 가지게 된다. 하지만 varchar2 같은 경우에는 va..
1. [Oracle] 설치 및 사용자 생성 오늘은 RDB (Relational DataBase)중 하나인 Oracle 설치 및 사용자 생성 까지 해볼 것이다. 관계형 데이터베이스(RDB)란 데이터를 테이블 형태로 저장하는 것이다. 쉽게 액셀처럼 데이터들을 다룬다 생각하면 편하다. 오라클은 공식 사이트에 들어가서 아이디를 만들면 쉽게 설치할 수 있다. 오라클에서 제품 클릭후 Oracle DataBase 클릭, 그리고 OracleXE112_Win64를 찾아 다운로드 해주면 된다. 하지만 오라클은 DataBase만 설치해서 끝나는게 아니라 Client 까지 설치를 해줘야한다. 마찬가지로 Oracle Client를 찾아 win32_11gR2_client를 설치해 주었다. 그리고 자바가 다운로드 되어있는 폴더를 베이스로 등록해주어서 기본 개발환경을 구성하..

반응형