본문 바로가기

Programming/[DB]

(19)
[DB] Couch DB 1. Couch DB의 특징 스케일러블 아키텍처를 쉽게 이용하고 보유하는 데 초점을 둔 오픈 소스 데이터베이스 document 지향 NoSQL 데이터베이스 구조 Erlang으로 구현 JSON을 사용하여 데이터 저장 JavaScript를 쿼리 언어로 사용 비 정형 DB 각 데이터베이스는 독립된 document들의 집합체 각 document는 자신만의 데이터와 스스로 포함하는 스키마를 정비
[DB] Oracle Listener Error(오라클 리스너 에러) Listener refused the connection with the following error : ORA-12505, TNS: listener does not currently know of SID given in connect descriptor 뭐 딱봐도 리스너 접근이 거부되어 에러가 뜨는건 알겠습니다. SID가 서로 안 맞는것도 알거 같고... 잘 몰라 헤맸습니다. 그래도 역시 검색을 하면 정답은 나오네요. 일단 아래 방법대로 해도 안된다면 설치에오류가 생겼다고 생각하시고 재설치 하시는게 좋을 것 같아요. ■ Windows Services에서 Listener 실행 시작 → 검색 → 서비스 를 실행시킨 후 OracleOraDB12Home1TNSListener를 실행 시켜 줍니다. CMD에서 l..
[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는 보안적인면..