| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 페이징
- SQL
- 데이터모델링
- INDEX SCAN
- @MappedSuperclass
- 스프링 데이터 JPA
- 페치조인
- Spring
- 친절한 SQL 튜닝
- 엔티티
- 데이터베이스
- 오라클
- 스프링 컨테이너
- JPA
- 정렬
- 성능최적화
- DTO
- 컬렉션 조회 최적화
- 서브쿼리
- 스프링
- Spring data JPA
- 그룹함수
- JPQL
- index
- querydsl
- SQL 튜닝
- 값 타입
- 자바의 정석
- TCP/IP
- fetch join
- Today
- Total
목록Data Base/SQL (13)
nu_s
1. Correlated Subquery - 상관 서브쿼리 일반적인 쿼리의 실행 순서 : 서브쿼리 ➡️ 메인쿼리 상관 서브쿼리의 실행 순서 : 메인쿼리 ➡️ 서브쿼리 예제 -- 자신의 급여가 자신이 속한 부서의 평균 급여보다 적은 직원에 대해 이름, 급여, 부서번호를 출력하시오 SELECT name, salary, dept_id FROM S_EMP outer WHERE salary < (SELECT AVG(salary) FROM S_EMP WHERE dept_id = outer.dept_id); 2. Multi Row Comparison Operator - 다중행 비교 연산자 다중행 비교 연산자 설명 IN LIST에 있는 값과 같은지를 비교 NOT IN LIST에 있는 값과 같지 않은지를 비교 ANY S..
1. NVL 함수 NULL값을 포함하는 컬럼을 지정된 값으로 변경하는데 사용 NVL 함수는 모든 데이터 타입에 적용할 수 있다. NVL 함수를 사용할 때 변경되는 값의 데이터 타입을 일치시켜야 한다. NVL(형식1, 형식2) -- 형식1 : NULL값을 포함하고 있는 컬럼이나 식 -- 형식2 : 변경하려는 값 NVL 함수의 문형 전환 예 NUMBER NVL(commission_pct, 0) DATE NVL(start_date, '17/01/01') CHAR 또는 VARCHAR2 NVL(mailid, 'ID없음') 2. DECODE 함수 DECODE = 값을 비교하여 해당하는 값을 돌려주는 함수 DECODE (형식, 비교값1, 결과치1, 비교값2, 결과치2, ... 기본치) -- 형식 : 컬럼이나 값 --..
Object의 종류 및 기능 관계형 데이터베이스에서 특정한 기능을 가진 Object에는 다음과 같은 것들이 있다. 오브젝트 설명 테이블(table) 행과 열의 조합으로 구성된 기본 저장 단위 시퀀스(sequence) 자동으로 고유한 숫자값을 생성해주며 주로 기본키 값을 생성하기 위해 사용 인덱스(index) 쿼리(query) 속도를 향상시키기 위해 사용 뷰(view) 하나 또는 그 이상의 테이블로부터 논리적으로 데이터를 추출한 부분집합으로 논리적이고 가상적인 테이블 시노님(synonym) OBJECT에 대한 또다른 이름으로 ALIAS 역할 프로그램 유닛(program unit) SQL, PL/SQL문으로 작성한 Procedure, Function, Trigger, Package 1. SEQUENCE 자동..
권한(Privilege)과 역할(Role) 1. Privilege Privilege란 특정한 SQL문장을 수행하거나 특정 object에 허가된 작업을 의미한다. Privilege에는 특정한 SQL 문장을 실행할 수 있는 권한인 시스템 권한(system privilege)과 특정한 오브젝트에 대한 접근을 제어하는 권한인 오브젝트 권한(object privilege)으로 나눌 수 있다. GRANT - 권한을 계정에게 주는 행위 REVOKE - 계정의 권한을 회수하는 행위 1-1 System Privileges 사용자와 Role에 대해 부여될 수 있는 시스템 권한의 종류는 80개 이상이다. 시스템 권한은 대개 데이터베이스 관리자(DBA)가 부여한다. GRANT 권한 TO 사용자 [WITH ADMIN OPTIO..
명령어의 종류 및 설명 명령어 설명 CREATE TABLE 새로운 테이블을 생성 DROP TABLE 기존 테이블의 구조 및 모든 행을 삭제 ALTER TABLE 기존 테이블을 변경 - 컬럼의 추가, 수정 - 제약조건 추가, 삭제, 활성화, 비활성화 TRUNCATE 기존 테이블의 구조는 남기고 모든 행을 삭제 RENAME Object의 이름을 바꿈 COMMENT 테이블이나 컬럼에 주석문 달기 주의 이 명령어들은 모두 데이터 정의 명령어(DDL)로 실행시 자동 Commit 후에 Rollback될 수 없으므로 주의해서 실행해야 한다. 1. 테이블 삭제 (DROP TABLE) DROP TABLE 테이블명 [CASCADE CONSTRAINTS] ; 모든 데이터가 테이블에서 삭제된다. 트랜잭션은 자동 Commit ..
Dictionary란? Oracle Serve에 의해 자동 생성되고 유지보수 됨 데이터베이스에 대한 정보를 가짐 일기 전용으로만 제공되는 뷰(View)와 테이블의 집합 데이터 사전(data dictionary) 테이블은 SYS(DB 관리자) 사용자가 소유한다. Dictionary의 예 Oracle Server 모든 사용자명 사용자에게 허가된 권한 데이터베이스 객체명(Table, Sequence, View, Index 등) 테이블 제약조건 감사(Auditing) 정보 Dictionary View의 종류 데이터 사전 뷰(Dictionary View)는 4가지 종류가 있는데, 각기 다른 접두어를 써서 구분한다. 접두어(prefix) 설명 USER_XXX 사용자가 소유한 객체에 관한 정보를 저장 ALL_XXX ..
트랜잭션(Transaction)의 개념 논리적인 업무의 작업단위를 의미한다. Transaction Control Language SAVE POINT COMMIT ROLLBACK Transaction은 다음의 사건들로 구성된다. 데이터에 영구적인 변경을 하는 DML 명령어 하나의 DDL 명령 하나의 DCL 명령 최초의 실행가능한 SQL명령으로 시작해서 다음 사건 중 하나로 종료됨 COMMIT 이나 ROLLBACK DDL이나 DCL 명령 실행 deadlock 등의 error, system, crash, exit 명시적인(Explicit) 트랜잭션 제어 명령어 명령어 설명 COMMIT 아직 저장되지 않은 모든 데이터 변경 사항을 데이터베이스에 저장하고 현재의 트랜잭션 종료 SAVEPOINT 이름 현재의 트랜잭..
제약조건(Constraint)의 개념 데이터 무결성 유지를 위해 사용자가 지정할 수 있는 성질 모든 Constraint는 데이터 사전에 저장된다. 의미있는 이름을 부여해야 Constraint를 참조하기 쉽게 된다. Constraint의 이름은 표준 객체 명명법을 따르는게 좋다. Constraint의 이름은 한 사용자 내에서 중복될 수 없다. Constraint의 이름을 생략했다면 ORACLE은 SYS_Cn 형식의 이름을 만든다. Constraint의 종류 제약조건 설명 NOT NULL 컬럼이 널(NULL)값을 가질 수 없음 UNIQUE 컬럼이나 컬럼의 조합이 테이블 모든 행에서 고유한 값을 가져야 함 PRIMARY KEY (PK) 컬럼이나 컬럼의 조합이 테이블의 각 행을 유일하게 구별시켜줌 FOREIGN..