데이터베이스 8

[Oracle] 오라클 parallel 힌트 (병렬처리)

오늘은 오라클 DML을 병렬처리 하는 기술인 Parallel 힌트에 대해 알아보려고 합니다. parallel 힌트란? 하나의 DML을 여러개의 쓰레드에 분산하여 병렬처리하는 기술이다. 하나의 코어로 처리하던 SQL을 여러개의 코어로 처리하기 때문에 시간은 훨씬 단축된다는 장점이 있어 대용량의 데이터 처리시 사용된다. 하지만, 그만큼 시스템 자원을 많이 쓰기 때문에 주의해서 사용해야 한다. 사용방법 1. 사용 전 해당 Session에 대해 Parallel DML을 Enable 시키는 명령어 수행 alter session enable parallel dml; 2. 다음과 같이 DML 수행 select /*+ parallel(A,4) */ from tmp A; 위의 쿼리처럼, /*+ parallel(테이블, ..

Oracle 2023.01.11

[Oracle] 오라클 테이블 사이즈 조회

오늘은 오라클 DB의 테이블 사이즈를 조회 하는 방법과 인덱스 사이즈 그리고 1Row 별 사이즈 까지 조회하는 방법에 대해 알아보겠습니다. 1. 테이블 사이즈 조회 아래 쿼리는 소유자 별로 소유한 테이블들의 사이즈를 조회하는 쿼리이다. SELECT owner, segment_name, segment_type, sum(bytes)/1024/1024 as MB FROM dba_segments WHERE segment_type='TABLE' AND owner = '소유자명' GROUP BY owner, segment_name, segment_type ORDER BY MB desc; ex) 쿼리 조회 결과 OWNER SEGMENT_NAME SEGMENT_TYPE MB HONGCODING MY_TABLE1 TAB..

Oracle 2023.01.09

[Oracle] 오라클 테이블 수정 (컬럼 추가/변경/삭제)

오늘은 오라클 DB의 테이블을 변경하는 방법에 대해 알아보겠습니다. 테이블을 변경할 때는 ALTER TABLE 라는 명령어를 사용하게 됩니다. ALTER TABLE [테이블명] 이 기본 구조이고 그 뒤에, 컬럼을 수정하거나 삭제하느냐에 따라 MODIFY 명령어를 붙이느냐, ADD 나 DROP 등을 붙이느냐가 달라집니다. 그럼 하나씩 차례대로 알아봅시다! 테이블 컬럼 추가 먼저 테이블에 컬럼을 추가하는 방법입니다. 추가는 ADD 명령어를 이용하여 다음과 같이 작성하면 됩니다. ALTER TABLE [테이블명] ADD 컬럼명 데이터타입(길이); ALTER TABLE User ADD USER_ID VARCHAR2(15); 위 예시는 User라는 테이블에 USER_ID라는 컬럼을 VARCHAR2(15) 타입으로..

Oracle 2022.02.21

[Oracle] 오라클 테이블 만들기 (Create, PK, COMMENT)

오늘은 SQL에서 테이블 생성과 생성후에 기본키를 지정하고, 코멘트를 붙이는 방법에 대해 알아보겠습니다. 먼저, 테이블을 생성하는 기본적인 구성과 방법에 대해 알아보겠습니다. 테이블 생성 먼저, 명령어와 구성은 다음과 같습니다. Create TABLE 테이블명 ( 컬럼명1데이터타입기본값(생략O) NULL여부(생략O) 컬럼명2데이터타입기본값(생략O)NULL여부(생략O) ... ); 컬럼명에는 컬럼 이름을 입력하면 되고, 데이터타입에는 NUMBER(4), VARCHAR2(10), int, DATE 등의 데이터 타입을 입력합니다. 기본값에는 DEFAULT 100과 같이 기본값으로 지정해줄 값을 입력하면 되며(생략가능) NULL여부에는 NOT NULL과 같이 NULL 허용 여부를 지정합니다(기본은 NULL허용이..

Oracle 2022.02.15

데이터베이스 조인(Join) 정리

JOIN(조인) JOIN이란 '연결하다' 라는 뜻을 지닌 단어이다. 이 단어의 뜻처럼, 데이터베이스에서는 둘 이상의 테이블을 연결해서 테이블을 검색하는 방법을 이야기 한다. JOIN의 종류 INNER JOIN OUTER JOIN CROSS JOIN SELF JOIN 그렇다면, 이제 다음과 같은 테이블 두 개를 가지고 각각의 조인에 대해 알아보자. [Star 테이블] ID Name DepNo 1 강호동 10 2 이수근 10 3 유재석 20 4 박명수 20 5 안재현 30 6 송민호 30 7 이병헌 NULL [Dep 테이블] DepNo DepName 10 1박2일 20 무한도전 30 신서유기 40 이경규가간다 1. INNER JOIN (이너조인) 이너조인은 위의 그림처럼 두 개의 테이블에서 공통된 요소들을 ..

데이터베이스 관계대수

관계 데이터 모델 관계 데이터 모델에서 지원하는 언어는 총 2가지가 있다. 관계 해석 - 원하는 데이터만 명시하고 질의를 "어떻게 수행할 것인가"는 명시하지 않는 선언적 언어 관계 대수 - "어떻게 질의를 수행할 것인가"를 명시하는 절차적 언어 관계 대수 (Relation Algebra) 릴레이션들을 다루는 연산들 기존의 릴레이션들로부터 새로운 릴레이션을 생성함. 연산자들을 사용하여 보다 복잡한 관계 대수식을 점차적으로 만들 수 있음. 기본적인 연산자들의 집합으로 이루어짐. 결과 릴레이션은 또 다른 관계 연산자의 입력으로 사용될 수 있음. 단일 혹은 두 개의 테이블들을 입력 받아 결과 테이블을 생성. 집합 연산을 토대로 만든 것이 관계 대수이며, 기본적으로는 집합 연산자에 속함. 특징 셀렉션 (Selec..

데이터베이스 키(key)의 개념 및 종류

데이터베이스 키(Key) 데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때, 다른 튜플들과 구별 할 수 있는 유일한 기준이 되는 속성 키(key)의 특징 Key의 특징으로는 다음과 같은 종류가 있다. 이 특징들은 Key의 종류에 따라 만족하는 경우도 있고, 그렇지 않은 경우도 있다. 유일성 : 유일한 값을 가져야 함. 최소성 : 최소한의 값으로 식별할 수 있어야 함. 불변성 : 변하는 값이어선 안 됨. 키(Key)의 종류 키의 종류에는 슈퍼키, 후보키, 기본키, 대체키, 외래키가 있다. 다음의 릴레이션을 예시로 종류 별로 알아보도록 하자. 슈퍼키 유일성 O , 최소성 X 한 릴레이션 내에 있는 속성들의 집합으로 구성된 키. 유일성을 만족하므로 릴레이션을 구성하는 모든 튜플 중 슈퍼키로 구..

데이터베이스(DB) 용어 및 기초개념 정리

데이터베이스 데이터베이스는 일반적으로 컴퓨터 시스템에 전자적으로 저장되는 구조화된 정보 또는 데이터의 조직화된 모음이다. 데이터베이스는 데이터베이스 관리 시스템(DBMS)에 의해 제어된다. 데이터베이스는 다음의 4가지 특징을 갖는다. 실시간 접근 (real-time accessibility) 계속 변화 (continuous evolution) 동시 공유 (concurrent sharing) 내용으로 참조 (content reference) 주로 사용되는 데이터베이스의 종류로 크게 2가지가 있다. 관계형 데이터베이스 행과 열로 구성된 테이블간의 관계를 나타내며, SQL을 통해 관리한다. MySQL, Maria DB, MS-SQL 등이 있다. NoSQL 관계형 데이터 베이스의 한계를 극복하기 위한 데이터 저..