본문 바로가기

Archived(CSE Programming)/Database(Oracle)

(15)
Chap 0. Oracle 기본 및 접속법 0) DBMS 용어 이해 Schema : Data의 논리적 구조(DB Schema) DB : Database Schema + Data + Log DataBase Management System : DB를 관리하기 위한 시스템이다(DB system : DBMS + DB) TableSpace는 Table의 저장 공간(segment 단위로 공간 구분, 하나의 Table은 하나의 Tablespace에서 공간 할당받음) Oracle은 Segment를 디스크에 할당하고 extent 단위로 반납 받는다(하나의 extent는 논리적으로 연속된 여러 개의 Oracle data block들로 구성) tablespace > segment > extent > data block Table들과 Index들의 정의가 저장되는 곳..
B+ Tree의 삽입 기본적으로 차수 3의 B+tree의 삽입에서는 다음의 원칙을 따른다. 삽입 시 Overflow가 발생할 것 같으면 먼저 Right Split 후에 삽입 leaf 노드에서는 삽입 시 가득 차 있으면 Right Split(기존의 값 중 오른쪽 값이 구분자로) 탐색 노드에서는 필요한 구분자 3개 중에서 중간 값을 루트 노드로 한다. 들어오는 쿼리 순 x,y,z, / 만들어지는 Page 순 A, B, C 로 해도 상관없음 참고사항 차수 4의 B+tree는 Split 시에 2/1개로 분리 후 삽입한다(따라서 왼쪽이 항상 무거워지게 구성되어 있다). 만약, 같은 ename '이순신'이 2000개 있다면? -> B+ tree에 같은 레벨로 두기 / 같은 rid 집합 속에 정렬되어있기(key value rid 집합 쌍..
Oracle Table Index Oracle에는 테이블 인덱스의 대표적인 두 가지 형태가 있다. Heap-Oraganized Table(HOT), Index-Organized Table(IOT) 이다. 1. Heap-Oraganized Table(HOT) 오라클에서 사용되는 표준 데이터베이스 테이블. 레코드들은 기본적으로 삽입 순으로 정렬된다(Heap 형태로 레코드들이 정렬되어 저장됨) Secondary Index(기본 키) : Unique Index(고유한 인덱스), Dense Index(해당되는 레코드들이 꼭 채워져야 함) 데이터 자체가 저장되는 것이 아닌 Index가 저장되어 Data Segment Table을 구성하여 해당 값을 저장. 데이터를 추가할 때 데이터에 맞는 세그먼트 중 첫 번째로 발견된 가용공간에 데이터를 저장. 데..
ER 다이어그램(ER Diagram) 1. 정의 ER diagram 이란 Entity-Relationship Model을 표현하는 것으로, 현실세계의 요구사항(Requirements)들로 부터 Database를 설계과정에서 활용된다. 즉, 개념을 모델링하는 것으로 개체(entity)와 속성(attribute), 관계성(relationship) 을 표현한다. 일반적으로, Peter Cheng's Notation으로 표현한다(기타 방법은 맨 아래 참고) 1) 개체(Entities) 표현할 정보를 가지고 있는 독립적인 객체 또는 실체 비슷한 속성의 개체 타입을 구성하며 개체 집합으로 묶임 약한 개체(Weak Entity) : 고유적으로 구분될 정보를 가지고 있지 않은 개체. 이러한 Weak Entity는 의존하고 있는 주인 개체(Owner Ent..
관계대수 & 관계해석 Relational Algebra(관계대수)란 관계형 DB에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술하는 절차적인 언어를 뜻한다. 관계대수에는 순수관계 연산자와 일반집합 연산자 두 가지를 들 수 있다. 먼저 순수관계 연산자는 SELECT(σ), PROJECT(π), JOIN(▷◁), DIVISION(÷) 가 있다. 1. 관계대수_순수관계 연산자 1) SELECT(σ) (단항 관계연산) - Relation R에서 선택조건을 만족하는 Tuple 들을 선택하는 연산 - 결과 Relation은 Relation R과 동일한 Attribute들을 가진다 - 선택조건 비교연산자(=, =, ≠), AND, OR, NOT - 선택률 : 선택된 tuple 수 / 전체 tuple 수 - 교환법칙이 성립한다 σSA..
System Catalog 대상 SQL문 1. 시스템 카탈로그 시스템 카탈로그(System Catalog)는 데이터베이스에 저장되어 있는 모든 개체들에 대한 정보를 담고 있는 시스템 테이블을 뜻한다(데이터 사전, 메타 데이터라고도 불린다). 시스템 카탈로그는 관리자 도구로, 시스템 내의 객체(기본 릴레이션, 뷰, 인덱스, 사용자, 접근 권한 등)에 관한 정보를 포함한다. 시스템 카탈로그에는 DDL의 결과로 구성되는 기본 릴레이션, 인덱스, 뷰, 사용자, 접근 권한 등의 데이터베이스 구조 및 통계 정보가 저장된다. 2. 관련 SQL문 참조 : https://docs.oracle.com/cd/B28928_01/server.103/b28925/sqlcat.htm System Catalog 8/16 5 System Catalog This documen..
Oracle 연동 및 접속하기 설치를 끝낸 후, Oracle과 연동하여 DB를 사용할 수 있는 2가지 방법이 있다. 1. Command 창 활용하기 $ sqlplus "id/pw" $ sqlplus "system/pw@id" 다음과 같은 명령어를 통해 sqlplus를 간편하게 열어 SQL 문을 사용할 수 있다. 2. MySQL Developer 사용하기 MySQL Developer가 훨씬 편하고 직관적인 인터페이스들이 있어 조금 더 선호한다. 사용방법은 다음의 + 버튼을 눌러 새로운 접속을 추가해주면 된다. 단, sys계정의 경우 사용자이름에 반드시 "sys"를 넣고 룰을 "SYSDBA"로 설정해줘야한다!