본문 바로가기

분류 전체보기

(129)
[DB] SQL DEVELOPER 설치 ORACLE 홈페이지 SQL DEVELOPER 다운로드 경로 [http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html] ORACLE 12C 기준입니다 동의를 해주고 자신의 컴퓨터에 맞는 항목을 다운로드 한다 다운로드 한 뒤 압축을 해제해 준다 실행 시킨다 왼쪽위에 +를 누르고 입력한다
[DB] 보안 DCL 데이터의 보안, 무결성, 회복, 병행제어 등을 정의 DBA 데이터 관리를 목적으로 사용 DCL의 유형으로 GRANT, REVOKE가 있다 GRANT(권한 부여) 유저에게 여러 권한을 주는 명령어 - CREATE SESSION : 데이터 베이스를 연결할 수 있는 권한 - CREATE ROLE : 오라클 데이터베이스 역할을 생성할 수 있는 권한 - CREATE VIEW : 뷰의 생성 권한 - ALTER USER : 생성한 사용자의 정의를 변경할 수 있는 권한 - DROP USER : 생성한 사용자를 삭제시키는 권한 ※ 권한을 동시에 여러 개 줄 때는 콤마를 사용해 구분합니다. GRANT(객체)테이블이나 뷰, 시퀀스, 프로시저, 함수 또는 패키지 중 지정된 한 객체에 특별한 작업을 수행 할 수 있게 한..
[DB] 서브프로그램(프로시저, 패키지, 트리거) 프로시저 프로시저와 함수는 문법이나 특징이 거의 비슷하다 차이점은 함수는 return을 하지만 프로시저는 그렇지 않다 프로시저란 지정된 특정 처리를 실행하는 서브 프로그램의 한 유형으로 단독으로 실행되거나 다른 프로시저나 다른 틀 또는 다른 환경등에서 호출되어 실행 됩니다. 처음 생성 후 컴파일 할 때 오브젝트로서 데이터베이스 내에에 저장되며 이후로 반복적으로 호출되어 실행 될 때 별도의 컴파일 없이 생성된 코드로 바로 실행할 수 있습니다 경우에 따라서는 우리가 만든 pl/sql을 저장해 놓고 필요한 경우 호출하여 사용할 수 있다 CREATE OR REPLACE PROCEDURE [생성할 프로시저명] (매개변수(PARAMETER)1 [MODE] 데이터 타입 ) IS 로컬변수 선언 / 생략가능 BEGIN ..
[DB] INDEX & 동의어 & 시퀀스 INDEX 장점 검색속도 무척빠름 시스템 전체 성능향상 단점 데이터베이스 크기의 10% 추가공간 필요 첫 인덱스 생성에 시간 많이 소요 변경작업 자주 일어나면 오히려 성능 저하 종류 BITMAP인덱스 함수 기반 인덱스 어플리케이션 도메인 인덱스 E-TREE 인덱스(OLTP) (꼭 필요한 인덱스만 최소로 생성) - 인덱스는 테이블의 열 단위 생성 - 테이블 생성 시, 제약조건 사용하면 자동으로 인덱스 생성 SELECT INDEX_NAME, LEAF_BLOCKS, DISTINCT_KEYS, NUM_ROWS FROM USER_INDEXES WHERE TABLE_NAME='USERTBL'; 특징 인덱스 생성 시에는 데이터 블록은그냥 둔 상태에서 별도의 블록에 인덱스를 구성한다 인덱스의 리프 블록은 데이터가 아니..
[DB] 스키마 & 파티션 스키마 개념 스키마는 데이터 베이스에서 자료의 구조, 자료의 표현 방법, 자료간의 관계를 형식 언어로 정의한 구조 DBMS이 주어진 설정에 따라 데이터 베이스 스키마를 생성하며, 데이터 베이스 사용자가 자료를 저장, 조회, 삭제, 변경할 때 DBMS는 자신이 생성한 데이터베이스 스키마를 참조하여 명령을 수행한다. 스키마는 3층 구조로 되어있다 구조 외부 스키마 : 프로그래머나 사용자의 입장에서 데이터베이스의 모습으로 조직의 일부분을 정의한 것 개념 스키마 : 모든 응용 시스템과 사용자들이 필요로하는 데이터를 통합한 조직 전체의 데이터베이스 구조를 논리적으로 정의한것 내부 스키마 : 전체 데이터베이스의 물리적 저장 형태를 기술하는 것 파티션 테이블 개념 테이블 내의 특정 걸럼 값을 기준으로 데이터를 분할해..
[DB] VIEW VIEW '보다'라는 의미를 가지고 있는데 하나 이상의 테이블이나 다른 뷰의 데이터를 볼 수 있게 하는 데이터 ㅂ이스 객체 뷰를 가상 테이블이라고도 부르는데, 뷰는 테이블과 거의 흡사하게 사용하기 떄문이다 뷰는 실제 데이터가 저장되는 것은 아니지만 뷰를 통해 데이터를 관리할 수 있다 뷰를 왜 가상 테이블이라고 할까 뷰는 데이터를 물리적으로 가지고 있지 않다 뷰의 사용 용도는 테이블과 동일하지만 데이터 저장 공간이 없다 특징 뷰눈 테이블에 대한 제한을 가지고 있기에 테이블의 일정 부분만 확인할 수 있는 가상의 테이블임 뷰가 정의된 기본 테이블이 변경되면, 뷰도 자동적으로 변경 외부 스키마는 뷰의 기본테이블 정의로 구성 뷰의 검색은 테이블의 검색과 동일하지만 DML문 사용에는 제약이 따름 DBA는 보안적인면..
[DB] SUBQUERY 서브 쿼리는 한 문장의 절안에 포함 된 또 하나의 문장 서브쿼리를 포하하고 있는 쿼리문을 메인쿼리라 하고 포함된 또 하나의 쿼리를 서브 쿼리라 한다 주의사항 반드시 WHERE 절에 비교연산자의 오른쪽에 위치해야함 서브쿼리라는 것을 알리기 위해 괄호로 묶어야함 서브쿼리 절 안에 ORDER BY절이 들어가면 안됨 서브쿼리가 가지는 장점은 한번 디스크에서 읽어온 데이터를 메모리 안에서 가공해서 사용할 수 있도록 도와준다 즉, 동일한 데이터를 다시 한번 이용하여 복잡한 가공에도 물리적인 i/o를 줄여준다 단일 행 서브쿼리(스칼라 서브쿼리) 가장 기본적이 서브쿼리로서 '=' 연산자를 사용한 서브쿼리 다중행 서브쿼리 (멀티로우 서브쿼리) 서브쿼리에서 반환되는 결과 행이 하나 이상일 때 사용하는 서브쿼리 다중행비교연..
[DB] JOIN 조인 필요성 데이터 관리를 편리하게 하기 위해 테이블을 나뉘기에 사용 CROSS JOIN 얻어지는 컬럼의 수는 각 테이블의 컬럼의 수를 더한 것 로우 수는 벨류에 대해서 로우 * 로우가 된다 상세 정보가 결합될때 조인 결과가 의미를 갖으려면 조건을 지정해야 한다 종류 EQUI 컬럼명의 모호성 해경 두 테이블에 동일한 이름의 컬럼을 사용하면 어느 테이블 소속인지 불분명하기에 애매모호한 상태라는 오류 메시지가 출력 서브쿼리와의 차이점은 조인은 가상의 테이블을 만들어서 출력하지만 서브쿼리는 내용만 찾아준다 NON-EQUI JOIN 조인 조건에 특정 범위 내에 있는지를 조사하기 위해서 WHERE 절에 조인 조건을 = 연산자 이외의 비교 연산자를 사용합니다 SELF-JOIN 조인은 두 개 이상의 서로 다른 테이블..