db

·DataBase
1️⃣ DB Link란?DB Link는 "내가 지금 접속해 있는 DB에서 다른 DB에 접근할 수 있게 해주는 논리적인 네트워크 연결"입니다.즉,다른 DB에 직접 접속하지 않아도마치 내 DB에 있는 테이블처럼SELECT / INSERT / UPDATE / DELETE 쿼리를 실행할 수 있습니다.SELECT * FROM EMP@AAA;→ 현재 DB에서 AAA라는 DB Link를 통해 원격 DB의 EMP 테이블을 조회 2️⃣ 언제 쓰는가?사용 상황예시이기종 DB 연동A 시스템은 Tibero, B 시스템은 Oracle인 경우분산 시스템 통합 조회여러 DB의 정보를 한 번에 통합 조회서버 간 데이터 이동 자동화원격 DB에 배치로 INSERT 3️⃣ DB Link 구성 요소구성 요소설명예시DB 링크 이름@AAA와 ..
·DataBase
정규표현식은 모든 프로그래밍언어에서 특정 다수의 데이터를 처리할 때 유용하게 쓰이지만, 워낙 대치되는 것이 많아 쉽게 사용하기가 어렵다. 하지만 한 번 이해해두면, 찾아보면서 사용할 수 있기 때문에 시간을 많이 아낄 수 있다. 나는 오라클에서 공백이 있을 수도 있고 없을 수도 있는 데이터를 치환하기 위하여 사용하였는데, 꽤나 유용하고 흥미로웠기 때문에 정리해둔다. 1️⃣ REGEXP_REPLACE 기본 구조REGEXP_REPLACE(source_string, pattern, replacement [, position [, occurrence [, match_parameter]]])파라미터설명source_string정규식을 적용할 원본 문자열pattern정규식 패턴replacement대체할 문자열posit..
·DataBase
1️⃣ CONNECT BY란?Oracle의 CONNECT BY는 계층적 쿼리(Hierarchical Query) 를 실행할 때 사용되는 구문입니다.계층 구조를 가진 데이터를 부모-자식 관계를 기준으로 트리 형태로 조회할 수 있도록 합니다.📌 주로 사용되는 곳:조직도 (상사-부하 관계)카테고리 트리 (부모-자식 관계)제품 분류 구조메뉴 및 UI 네비게이션 구조 2️⃣ CONNECT BY의 기본 구문SELECT 컬럼명FROM 테이블명START WITH 루트 조건CONNECT BY PRIOR 부모_컬럼 = 자식_컬럼;START WITH → 최상위 부모 노드(루트 노드)를 설정CONNECT BY PRIOR 부모_컬럼 = 자식_컬럼 → 부모-자식 관계 정의 3️⃣ 예제: 직원 조직도 계층 구조 조회📌 (1) ..
·DataBase
💡 Direct Path I/O는 버퍼 캐시(Buffer Cache)를 거치지 않고 직접 디스크에서 데이터를 읽거나 쓰는 방식입니다.일반적인 데이터베이스 I/O는 버퍼 캐시를 거쳐 메모리에서 처리되지만, Direct Path I/O는 메모리를 우회하여 SGA를 거치지 않고 PGA(Process Global Area)로 직접 데이터를 로드합니다.  🔸 1. Direct Path I/O의 동작 방식✅ (1) 일반적인 I/O (Buffer Cache I/O)와 차이점구분일반적인 I/O (SGA 기반)Direct Path I/O캐시 사용 여부버퍼 캐시(Buffer Cache)를 거침버퍼 캐시를 거치지 않음메모리 위치SGA(System Global Area) 사용PGA(Process Global Area) 사..
·DataBase
B-Tree Index(균형 트리 인덱스)는 계층적 구조를 가지며, 데이터 검색 시 빠른 탐색이 가능하도록 설계된 인덱스입니다.  🔸 1. B-Tree Index 구조B-Tree 인덱스는 다음과 같은 계층적 구조로 이루어져 있습니다.1️⃣ Root Node (루트 노드)인덱스의 최상위 노드검색을 시작하는 지점2️⃣ Branch Node (중간 노드, 분기 노드)루트 노드와 리프 노드 사이에 존재키 값을 기준으로 검색 방향을 결정3️⃣ Leaf Node (리프 노드)인덱스의 가장 하위 노드실제 테이블의 ROWID를 저장하여 데이터 행과 연결됨인접한 리프 노드끼리 연결(링크)되어 있음  [Root Node] / \ [Branch 1] [Branch 2] / ..
·DataBase
🔹 1. 인덱스란?인덱스는 테이블의 검색 성능을 향상시키는 데이터 구조입니다.테이블의 특정 컬럼에 대한 정렬된 정보를 별도로 저장하여, 빠르게 데이터를 찾을 수 있도록 돕습니다.도서관에서 책을 찾기 위해 사용하는 목차(Index)와 유사한 개념입니다. 🔹 2. 인덱스 기본 생성 및 사용법2-1. 기본 인덱스 생성 (B-Tree Index)구문:CREATE INDEX 인덱스명 ON 테이블명(컬럼명);✅ 예제:CREATE INDEX emp_name_idx ON emp(emp_name);employees 테이블의 employee_name 컬럼에 대해 인덱스를 생성합니다.해당 컬럼을 활용하는 검색 속도가 빨라집니다. 2-2. 유니크 인덱스 (Unique Index)유니크 인덱스는 중복 값을 허용하지 않는 인..
·DataBase
SGA(System Global Area)란?Oracle Database에서 사용하는 공유 메모리 영역으로, 데이터베이스 인스턴스가 실행될 때 생성되며, 모든 서버 및 백그라운드 프로세스가 공동으로 사용하는 메모리 영역이다.SGA는 데이터 캐싱, SQL 실행 정보 저장, 프로세스 간 통신 등을 담당하며, 성능 최적화를 위해 중요한 역할을 한다.서버 프로세스와 백그라운드 프로세스가 공통으로 액세스하는 데이터와 제어 구조를 캐싱한다.  SGA의 주요 구성 요소1. 공유 풀(Shared Pool)SQL 및 PL/SQL 실행을 위한 파싱 정보, 실행 계획, 데이터 딕셔너리 정보 등을 저장주요 구성 요소1) 라이브러리 캐시(Library Cache) : SQL, PL/SQL 코드, 실행 계획 등을 저장2) 데이터..
·DataBase
SQL 옵티마이저란?사용자가 원하는 작업을 가장 효율적으로 수행할 수 있는 최적의 데이터 액세스 경로를선택해주는 DBMS 핵심엔진 사용자로부터 전달받은 쿼리를 수행하는 데 후보군이될 만한 실행계획을 찾아낸다.데이터 딕셔너리에 미리 수집해 둔 오브젝트 통계 및 시스템 통계정보를 이용해 각 실행계획의 예상비용을 산정한다.최저 비용을 나타내는 실행계획을 선택한다.SQL 옵티마이저가 생성한 처리절차를 사용자가 확인할 수 있게 트리 구조로표현한 것이 실행 계획(Execution Plan)이다.이 미리보기 기능을 통해 자신이 작성한 SQL이 테이블을 스캔하는지 인덱스를 스캔하는지, 인덱스를 스캔한다면 어떤 인덱스인지를 확인할 수 있고, 예상과 다른 방식으로 처리된다면 실행경로를 변경할 수 있다. 옵티마이저가 인덱스..
·DataBase
데이터베이스를 관리하다보면 다량의 db 데이터를 udpate 해야 하는 경우가 종종 발생한다. 엑셀을 이용하면 다량의 쿼리문을 작성하기 편할 때가 있는데, 새 우편번호 업데이트를 예로 들어 보겠다. 우선 인터넷 우체국에서 제공하는 새 우편번호 검색기를 다운로드 한다. https://www.epost.go.kr/search/zipcode/cmzcd002k01.jsp 우편번호 DB와 검색기 소개 - 우편번호 안내 우편번호 DB란? 자체 전산시스템을 보유하고 있는 기업체 등에서 활용이 가능한 데이터 파일입니다. 도로명주소, 지번주소, 5자리 우편번호(구역번호) 등으로 구성되어 있으며, 텍스트(txt) 파일 www.epost.go.kr db에서 변경할 우편번호를 엑셀 파일로 내보내어, 이를 우편번호 검색기를 이..
·DataBase
1. insert문에 들어가야 할 컬럼을 select문으로 조회한다. select (select max(fileno)+1 from tb_file_data) + row_number() over(order by t.fileno) as fileno , t.cntno, 'public', t.orifilename, t.filename, t.filetype, t.filesize from TB_FILE_DATA t where code like '%open%' and delchk = 'N' 2. pk의 무결성제약조건을 만족시키기 위하여 select문으로 조회한 순번만큼 pk값을 더해준다. (select max(fileno)+1 from tb_file_data) + row_number() over(order by t.f..
부지런한피로
'db' 태그의 글 목록