목록sqld (6)
매일 매일 미라클 코딩
계층형 질의 - SQL Server에서의 계층형 질의문은 CTE를 재귀호출함으로써 계층구조를 전개한다. - SQL Server에서의 계층형 질의문은 앵커멤버를 실행하여 기본 결과 집합을 만들고 이후 재귀 멤버를 지속적으로 실행한다 - 오라클 계층형 질의문에서 WHERE 절은 모든 전개를 진행한 이후의 필터조건으로서, 조건을 만족하는 데이터만을 추출하는데 활용된다. - CONNECT BY 절에 작성된 조건은 where 조건과 다르다. START WITH 절에서 필터링된 시작 데이터는 결과에 포함되며, 이후 이어지는 자식 데이터는 CONNECT BY 절에 의해 필터링 된다. 1) 순방향 전개 : START WITH 최상위노드 CONNECT BY 부모노드 = PRIOR 자식노드 혹은 START WITH 최하위..
NULL관련 함수 NVL(입력, 결과): 입력이 null인 경우 결과값 지정 NULLLIF(값1, 값2) : 값1과 값 2가 동일할 경우 NULL 반환 COALESCE : 각 Row에서 첫번째 NULL이 아닌 값을 반환(NVL 과 비슷 ) SELECT 문장 실행 순서 1) FROM : 발췌 대상 테이블을 참조한다 2) WHERE : 발췌 대산 데이터가 아닌 것은 제거한다 3) GROUP BY : 행들을 소그룹화 한다 4) HAVING : 그룹핑된 값의 조건에 맞는 것만을 출력한다 5) SELECT : 데이터 값을 출력 / 계산한다 6) ORDER BY : 데이터를 정렬한다 JOIN - 일반적으로 join 은 PK와 PK 값의 연관성에 의해 성립된다. - DBMS 옵티마이저는 FROM 절에 나열된 테이블은..
SQL 문장들의 종류 명령어의 종류 명령어 설명 데이터 조작어 DML (Data Manipulation Language) SELECT INSERT UPDATE DELETE 데이터 조회 및 변형하는 명령어 데이터 정의어 DDL (Data Definition Language) CREATE ALTER DROP RENAME 테이블과 같은 데이터 구조를 정의하는데 사용되는 명령어. 테이터 구조를 생성, 변경, 혹은 삭제하거나 이름을 바꾼다 데이터 제어어 DCL (Data Control Language) GRANT REVOKE 데이터베이스에 접근하고 객체들을 사용하도록 권한을 주고 회수하는 명령어 트랜잭션 제어어 TCL (Transaction Control Language) COMMIT ROLLBACK DML에 의..
성능을 고려한 데이터 모델링 분석 설계 단계에서 성능을 고려한 데이터 모델링을 수행하여 성능저하에 따른 Rework 비용을 최소화한다. 프로젝트 초기에 운영환경에 대비한 테스트환경을 구현하고, 그곳에 트랜잭션을 발생시켜 실제 성능을 테스트해 보아야한다. 이때 데이터 모델의 구조도 변경하면서 검토하는 디자인 전략이 요구된다. 성능을 고려한 데이터 모델링의 순서 1) 데이터 모델링을 할 때 정규화를 정확하게 수행한다 2) 데이터베이스 용량산정을 수행한다 3) 데이터베이스에 발생되는 트랜잭션의 유형을 파악한다 4) 용량과 트랜잭션의 유형에 따라 반정규화를 수행한다 5) 이력모델의 조정, PK/FK 조정, 슈퍼타입/서브타입 등의 조정을 수행한다 6) 성능관점에서 데이터 모델을 검증한다 데이터모델 반정규화 판단요..