목록프로그래밍/SQL (52)
코딩하는 문과생
1. 옵티마이저와 실행계획 - 옵티마이저 : 데이터 딕셔너리에 있는 통계정보를 활용해 예상되는 비용을 산정, 최저비용의 계획을 선택해 SQL을 실행시킨다. * 힌트를 부여해 실행계획을 변경시킬 수 있다. * PLAN_TABLE을 조회해 실행계획을 볼 수 있다. - 종류: 규칙기반 or 비용기반(default)으로 실행계획 수립 - 옵티마이저 엔진 Query Transformer: sql문을 효율적으로 실행하기 위해 옵티마이저가 변환한다. Estimator: SQL실행비용을 계산 Plan Generator: 실행계획 수립 2. 인덱스 - 특징 인덱스는 정렬되어 있다. 여러 개의 칼럼으로 구성 인덱스 구조는 Root Block, Branch Block, Leaf Block으로 구성되어 있다. Leaf Blo..
1. 관계형 DB - DB종류: 계층형(1:N), 네트워크형(1:N or M:N), 관계형(집합연산과 관계연산) 집합연산: 합집합(UNION), 차집합(MINUS), 교집합(INTERSECTION), 곱집합(카티안 프로덕트) 관계연산: 선택연산, 투영연산, 결합연산, 나누기 연산 - 구조: 릴레이션은 DBMS에서 테이블로 최종적으로 생성된다, 행(튜플, 갯수: 카디널리티)과 열(칼럼, 필드, 속성, 갯수: 차수)으로 구성된다. 2. SQL - 종류 DDL: 데이저 정의어(CREATE, ALTER, DROP, RENAME) DML: 데이터 조작어(INSERT, UPDATE, DELETE, SELECT) DCL: 데이터 제어어(GRANT, REVOKE), 권한을 부여 TCL: 트랜잭션 제어(COMMIT, R..
1. 데이터 모델링 : 현실세계를 추상화, 고객의 비즈니스를 이해해 규칙을 정의하는 행동 - 특징: 추상화, 단순화, 명확성 - 단계 개념적 모델링: 업무 전체에 대한 데이터 모델링을 하는 단계 (업무관점, Entity와 Attribute도출, ERD작성) 논리적 모델링: 식별자 도출하고 릴레이션 정의하는 단계 (정규화 진행, 특정 데이터베이스 모델에 종속), 재사용성이 가장 뛰어나다. 물리적 모델링: 데이터베이스 실제 구축단계 * 좋은 모델링의 요건? : 중복배제, 업무규칙, 완전성 - 관점 데이터 프로세스 데이터와 프로세스: 데이터와 프로세스 간 관계, CRUD 분석 - ERD작성 : 엔티티 간 관계를 정의하는 방법 엔터티를 도출하고 그린다 엔터티를 배치한다. 엔터티간 관계를 설정한다. 관계명을 서술..
DB백업과정에 대해 알아보다가 아카이브 모드를 통해 DB를 백업할 수 있다는 사실을 알게 되었다. 하지만 아카이브 모드로 저장된 아카이브도 파일이기 때문에 디스크 용량이 FULL이 되는 경우 DB동작이 멈추게 된다.(매우 민감한 이슈다..!) 이번 글은 해당 이슈를 어떻게 해결할 수 있을까에 대해 고민하고 생각했던 것을 포스팅하고자 한다. 뭐... 답이 솔직히 뭔지 모르겠지만, 핵심은 Disk 증설을 통해 아카이브 파일이 여유있게 저장되도록 하는 게 아닐까... 라는게 내 생각이다.