집합 연산자(Set Operator) 여러 개의 질의의 결과를 연결(결합)하여 하나로 결과로 만드는 방식을 의미한다. (즉, 여러 개의 SELECT문을 연결하는 것) 1) 일반 집합 연산자① union : 여러 SQL문의 결과에 대한 합집합, union키워드로 구현.결과에서 중복된 행은 하나의 행으로 만듬. → 중복을 없애기 위한 정렬 작업으로 시스템 부하↑ ↔ union all키워드는 중복을 제외하지 않고 그대로 결합. 즉, 단순히 쿼리결과를 합침.② intersection : 여러 SQL문의 결과에 대한 교집합, intersect키워드로 구현.③ difference : 여러 SQL문의 결과에 대한 차집합. 대다수의 벤더는 EXCEPT를, Oracle은 MINUS키워드를 사용. (SQL표준은 EXCEP..
JOIN 개요(각종 DB서적에서는 join을 종종 '결합연산이라고 표현한다..왜 굳이?) - 두 개 이상의 테이블들을 연결 or 결합하여 데이터를 출력하는 것을 의미.- from절에 여러 테이블을 나열되더라도 SQL에서 데이터를 처리할 때는 단 두 개의 집합 간에만 조인이 일어난다.예) from절에 A, B, C라는 세 개의 테이블이 존재하더라도 세 개의 테이블이 동시에 조인 수행되는 것이 아님.↳ ( ( A join B ) join C ) join D 형식으로 순차적으로 조인처리됨. 이때 테이블의 조인 순서는 Optimizer에 의해 결정되고 이 부분은 추후에 DB튜닝의 주요 포인트. 해당 내용은 나중에 '조인 수행 원리' 파트로 자세히 포스팅하도록 하겠습니다. 1) Equi(동등, 등가) JOIN =..
SELECT 문장 실행 순서GROUP BY절과 ORDER BY가 같이 사용될 때, SELECT문은 6개의 절로 구성이 되고, 수행 단계는 아래와 같다.(추가적으로 "계층형 질의문 실행 순서"는 여기를 클릭하여 확인하시면 됩니다.)실행 순서 Query 문장 상세 내용 5 select [Alias명] ①데이터 값을 출력/계산함.(select) ②from절에 테이블에 대한 Alias를 정의했다면, select절이나 where절에 일반 테이블명을 사용하면 파싱에러 발생. 정의한 Alias를 사용해야 한다. 1 from 테이블명 발췌 대상 테이블을 참조 (from) 2 where 조건식 발췌 대상이 아닌 것들 제거(필터링) (where) 3 group by 칼럼이나 표현식 행들을 소그룹화 함. (group by)..
식별자(Identifiers)란?? 엔티티(Entity)는 인스턴스들의 집합이라는 개념으로, 여러 개의 집합체를 담고 있는 하나의 통에서 각각을 구분할 수 있는 논리적인 이름이 있어야 한다. 이 구분자를 식별자(Identifiers)라고 한다. 식별자란 하나의 엔티티에 구성되어 있는 여러 개의 속성 중에 엔티티를 대표할 수 있는 속성을 의미하며 하나의 엔터티는 반드시 하나의 유일한 식별자가 존재해야 한다. 보통 식별자와 키(Key)를 동일하게 생각하는 경우가 있는데 식별자라는 용어는 업무적으로 구분이 되는 정보로 생각할 수 있으므로 논리 데이터 모델링 단계에서 사용하고 키는 데이터베이스 테이블에 접근을 위한 매개체로서 물리 데이터 모델링 단계에서 사용한다. 식별자의 분류체계 분류 식별자 설명 대표성 여부..
트랜잭션(Transaction)의 특성 특징설명원자성(Atomicity)트랜잭션은 DB연산의 전부가 실행되거나 전혀 실행되지 않아야 한다.(ALL OR NOTHING) 즉, 트랜잭션의 처리가 완전히 끝나지 않았을 경우는 실행되지 않은 상태와 같아야 함.일관성(Consistency)트랜잭션 실행 결과로 DB상태가 모순되지 않아야 함.고립성, 격리성(Isolation)트랜잭션 실행 중에 생성되는 연산의 중간결과는 다른 트랜잭션이 접근할 수 없다.즉, 부분적인 실행 결과를 다른 트랜잭션이 볼 수 없음.영속성, 지속성(Durability)트랜잭션이 그 실행을 성공적으로 완료하면 그 결과는 영구적으로 보장이 되어야 한다.계좌이체는 한 계좌에서 현금이 인출된 후에 다른 계좌로 입금이 되는데, 현금이 인출되기 전에 ..
Oracle에서 용도에 따른 SQL문의 분류 및 각종 특징들(Delete와 Truncate 등)에 대해 정리해보겠습니다. 명령어의 분류DDL(데이터 정의어) : 테이블 생성과 조작. CREATE, ALTER, DROP, RENAMEDML(데이터 조작어) : 데이터의 조작. SELECT, INSERT, UPDATE, DELETEDCL(데이터 제어어) : 유저를 생성하고 권한을 제어하는 명령어. GRANT, REVOKETCL(트랜잭션 제어어) : 트랜잭션(Transaction)을 제어하는 명령어. Delete 와 Truncate 명령의 차이 Delete Table Truncate Table 특징 1) 삭제된 데이터를 Log에 저장. → 따라서 Rollback도 가능. 2) 원하는 특정 행(Row)를 지울 수..
데이터 모델링의 3요소 1) 어떤 것(thing) : 엔티티(Entity Type = Entity Set = Entity)※엔티티의 단수(개별적인) 개념 : 인스턴스(Instance) = 어커런스(Occurence)- 각 인스턴스는 식별자(Identifiers)에 의해 구분이 돼야 하며, 반드시 속성이 포함돼 있어야 한다. 추가로, 한 개의 엔티티는 2개 이상의 속성, 2개 이상의 인스턴스를 가져야 함.- 다른 엔티티와 최소 1개 이상의 관계가 있어야 함.- 단, 예외적으로 관계엔티티(Associative Entity)의 경우는 주식별자 속성만 가지고 있어도 엔티티로 인정됨. 2) 어떤 것 간의 연관 : 관계(Relationship)ERD와 다르게 UML(Unified Modeling Language)에..
Oracle에 관한 학습을 하면서 'SQLD자격증' 취득이라는 목표를 설정하였는데, 공부하면서 정리했던 내용들을 순차적으로 포스팅하려고 합니다. 데이터 모델링이란?? 1) 데이터 모델링은 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 기법이다.2) 현실세계의 데이터(what)에 대해 약속된 표기법에 의해 표현하는 과정3) 데이터베이스를 구축하기 위한 분석/설계의 과정4) 모델링은 3개의 특징(추상화, 단순화, 명확화)으로 요약할 수 있다. ① 추상화(모형화, 가설적)는 현실세계를 일정한 형식에 맞추어 표현을 한다는 의미로 정리할 수 있다. 즉, 다양한 현상을 일정한 양식인 표기법에 의해 표현한다는 것이다. ② 단순화는 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현하여 쉽게 이해..
- Total
- Today
- Yesterday
- Tomcat
- sub query
- 비식별자
- Docker
- was
- 톰캣
- pl/sql
- PLSQL
- 이클립스
- Index Scan
- 공부 방법
- null
- procedure
- Java
- 기본키
- container
- 서브쿼리
- tcl
- 식별자
- 도커
- Database
- 오라클
- Eclipse
- Block
- Oracle
- DCL
- Maven
- 정규화
- SQLD
- 컨테이너
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |