일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- join
- SQL튜닝의시작
- 파이썬
- B*Tree인덱스
- 알고리즘
- 클린코드
- 데이터모델링
- index fast full scan
- database
- 오라클튜닝
- 로버트C마틴
- leetcode215
- 오라클
- B*Tree인덱스구조
- table full scan
- db
- 친절한SQL튜닝
- 결합인덱스구조
- SQLD
- clean code
- 조인
- Oracle
- 리트코드215
- intellij
- heapq
- SQLP
- B*Tree
- 클린 코드
- 리눅스
- RAC
- Today
- Total
목록Database/SQLP (12)
개발노트
ROWNUM 이란? ROWNUM 은 Oracle 에서 제공하는 가상 컬럼이다. Select 절에서 사용할 경우, 추출하는 데이터의 순번을 부여하는 용도로 사용된다. Where 절에서 사용할 경우, 추출할 데이터 중 일부만 가져올 용도로 사용된다. 특히, where 절에 사용되는 ROWNUM은 인덱스의 특성을 이용하여 부분범위 처리로 유도할 수 있어 잘 사용하면 효율적인 SQL이 된다. ROWNUM 사용시 주의 사항 ROWNUM 데이터를 먼저 추출한 이후 조회하자 ROWNUM 은 SQL 결과 셋에 순번을 1부터 부여하는 가상컬럼으로써, Fetch 단계에서 추출하는 첫 번째 로우에 1을 부여한다. 그리고 다음 로우 추출시 ROWNUM을 +1 한다. 따라서 1이 존재하지 않으면 다음 순번을 부여할 수가 없다...
WITH절 설명 & 사용법 정의 WITH절은 오라클9 버전부터 사용되었고, 이름이 부여된 임시 서브쿼리라고 생각하면 된다. 임시 테이블을 만든다는 관점에서 보면 VIEW 와 쓰임새가 비슷하다. 그러나 차이가 있다면 VIEW 는 DROP 되지 않는 한 재사용이 가능한 Object 이지만, WITH절의 경우 실행되는 쿼리문 안에서만 재사용된다. 사용법 예시 WITH cte1 AS (SELECT a, b FROM table1), cte2 AS (SELECT c, d FROM table2) SELECT b, d FROM cte1 JOIN cte2 WHERE cte1.a = cte2.c; - 서브쿼리를 AS 뒤에 괄호에 넣고, AS 앞에 서브쿼리에 대한 이름을 붙여준다. - WITH 절로 생성된 서브쿼리는 tab..
속성 업무에서 필요한 정보인 엔터티가 가지는 항목이다 속성은 더이상 분리되지 않는 단위로, 업무에 필요한 데이터를 저장할 수 있다 인스턴스의 구성요소이고, 의미적으로 더 이상 분해되지 않는다 속성의 특징 속성은 업무에서 관리되는 정보이다 속성은 하나의 값만 가진다 주식별자에게 함수적으로 종속된다. → 기본키가 변경되면 속성의 값도 변경된다 속성의 종류 분해 여부에 따른 속성의 종류 단일 속성 하나의 의미로 구성된 것 예) 회원id, 이름 복합 속성 여러 개의 의미가 있는 것 예) 주소(시, 군, 동 등으로 분해 가능) 다중값 속성 여러개의 값을 가지는 것 다중값 속성은 엔터티로 분해된다 예) 상품 리스트 특성에 따른 속성의 종류** 기본 속성 비즈니스 프로세스에서 도출되는 본래의 속성이다 예) 회원id,..
엔터티(Entity) 엔터티는 업무에서 관리해야 하는 데이터 집합을 의미하며, 저장되고 관리되어야 하는 데이터이다. 엔터티는 개념, 사건, 장소 등의 명사이다. 엔터티의 특징 1) 유일한 식별자가 있어야 한다 2) 2개 이상의 인스턴스가 있어야 한다 3) 1개 이상의 속성을 가지고 있어야 한다 4) 다른 엔터티와 최소 1개 이상의 관계가 있어야 한다 5) 업무에서 관리되어야 하는 집합이다 엔터티의 종류 유/무형에 따른 엔터티의 종류 유형 엔터티 물리적 형태가 있다 업무에서 도출되며, 지속적으로 사용되는 엔터티이다 예) 고객, 강사, 사원 등 개념 엔터티 개념 엔터티는 물리적 형태가 없다 예) 거래소 종목, 코스닥 종목, 생명보험 상품 사건 엔터티 비즈니스 프로세스를 실행하면서 생성되는 엔터티이다 예) 주..
스키마(Schema) 컴퓨터 과학에서 데이터베이스 스키마(database schema)는 데이터베이스에서 자료의 구조, 자료의 표현 방법, 자료 간의 관계를 형식 언어로 정의한 구조이다. 데이터베이스 관리 시스템(DBMS)이 주어진 설정에 따라 데이터베이스 스키마를 생성하며, 데이터베이스 사용자가 자료를 저장, 조회, 삭제, 변경할 때 DBMS는 자신이 생선한 데이터베이스 스키마를 참조하여 명령을 수행한다. 3층 스키마(3 level schema) 사용자, 설계자, 개발자가 데이터베이스를 보는 관점에 따라 데이터베이스를 기술하고 이들간의 관계를 정의한 ANSI 표준이다. 데이터의 독립성을 확보하기 위한 방법 중 하나이다. 데이터 독립성의 확보는 데이터 복잡도 증가, 데이터 중복 제거, 사용자 요구사항 변..
ERD(Entity Relationship Diagram) 엔터티와 엔터티 간의 관계를 정의하는 모델링 방법이다. 1976년 피터첸(Peter Chen)이 만든 표기법으로, 사실상 데이터 모델링의 표준으로 사용되고 있다. ERD 작성 절차 1) 엔터티를 도출하고 그린다 2) 엔터티를 배치한다 - 중요한 언터티는 왼쪽 상단에 배치 3) 엔터티 간의 관계를 설정한다 4) 관계명(행위 or 존재)을 서술한다 5) 관계 참여도(관계수)를 표현한다 6) 관계의 필수 여부를 표현한다
데이터 모델링의 주요 특징 특징 설명 추상화(Abstraction) 현실세계를 간략하게 표현 단순화(Simplification) 누구나 쉽게 이해할 수 있도록 표현 명확성(Clarity) 명확하게 의미가 해석되어야 하고 한 가지 의미를 가짐 데이터 모델링 단계 단계 설명 개념적 모델링 전사적 관점에서 기업의 데이터를 모델링한다 추상화 수준이 가장 높은 모델링이다 업무 측면에서 모델링하며, 기술적인 용어는 가급적 사용하지 않는다 엔티티와 속성을 도출하고 개념적 ERD를 작성한다 논리적 모델링 개념적 모델링을 논리적 모델링으로 변환하는 작업이다 식별자를 도축하고 필요한 모든 릴레이션을 정의한다 정규화를 통해서 재사용성을 높이고, 데이터 모델의 독립성을 확보한다 물리적 모델링 구축할 데이터베이스 관리 시스템에..
일반적인 조인 메서드 선택 기준 1) 소량 데이터 조인 → nl 조인 2) 대량 데이터 조인 → 해시 조인 3) 대량 데이터 조인인데 해시 조인으로 처리 불가할 때 → 소트 머지 조인 ** 조인 조건식이 등치(=)가 아니거나, 카테시안 곱일 때 수행빈도가 매우 높은 쿼리에 대한 조인 메서드 선택 기준 1) (최적화된) nl 조인과 해시 조인 성능이 같다면 → nl 조인 2) 해시 조인이 약간 더 빠르면 → nl 조인 => 수행빈도가 높은 소량 데이터 조인은 설령 해시 조인이 약간 더 빠르더라도 nl 조인을 선택하라 3) nl 조인보다 해시조인이 매우 빠르면 → 해시 조인 nl 조인을 가장 먼저 고려해야 하는 이유는? nl 조인에서 사용하는 인덱스는 공유 및 재사용하는 자료구조다. 반면, 해시테이블은 단 ..