본문 바로가기

전체 글49

[SQLD] 이론 - 대용량 데이터 성능 저하/향상 방법 1. 대용량 데이터에 따른 성능 저하 : (1) 행-변경 (Row chaining) + (2)행 -이주 (Row migration) = 대량 데이터에 따른 성능 저하될 수 있다 2. 성능 향상 방법 - Partitioning : (1) 범위 분할 (Range Partition) : 테이블이 특정 범위로 분리 가능할 때, 각 범위별로 Transaction 분리 ㄴ (+) 관리쉬움, 보편적 ㄴex) 거래 목록 중 : 년도별 / 월별로 나눌 경우 or 우편번호를 분할 키값으로 수평 분할 (2) 목록 분할 (List Partition) : 특정값으로 PK가 구성된 경우, 해당 값으로 분리 ㄴex) 거래 국가 중 : 한국 / 미국/ 중국 (3) 해쉬 분할 (Hash Partition) : 지정된 해시 함수에 따라.. 2024. 2. 26.
[SQL 중급] 21.그룹집계_Roll up, Grouping set, Cube [그룹 함수 - 그룹별로 값의 집계 & 출력] -. Group by + 1.roll up (말아 올라가기 + 전체) + 2. cube (경우의 수 + 전체) + 3. grouping set 1.Group by + Roll up() -. 언제 : 소계/ 총계를 집계할 때 (Partially Sum + Total) Group by rollup (A, B, C) = Group by A, B, C (결과 1) +Group by A, B (결과 2) +Group by A (결과 3) + 총합 Group by rollup(A, (B, C)) = Group by A, (B, C) ◀(Group by A, B, C) (결과 1) +Group by A +총합 스타벅스 판매량 예시 Q1. 일별 판매량? = Group by.. 2024. 2. 24.
[SQL 중급] 20. 계층적 질의 계층형 데이터 : -. 데이터 구조에 상위, 하위 구조가 있어 순차적으로 시작하는 구조 ㄴ connect by 부모 / prior 자식 : 부모 → 자식 (순방향) ㄴ connect by 자식 / prior 부모 : 자식 → 부모 (역방향) 예시 문제: 답 해설 : 옵션 사항 : -. Connect by no cycle : 계층(레벨)이 정해진 후 사이클 불가 -. Connect_by_isleaf : 해당 데이터가 자식(Leaf) 데이터면 1 반환, 그 외는 0 반환 -. Connect_by_is_cycle : 전개 과정에서 데이터가 자식을 갖는데, 자식데이터가 부모 데이터면 1 반환, 그 외 0 반환 (Connect by no cycle옵션 사용 시에만 가능) -. Sys_connect_by_path .. 2024. 2. 24.
[SQLD] 이론 - 데이터 모델링 - 엔터티,속성,관계 1.데이터 모델링 특징 모델링 3특징 모델링 3 관점 (1) 추상화 현실세계 양식 표현 o (1) 데이터 관점 What data, what relation (2) 단순화 언어 표기 o (2) 프로세스 관점 How , process (3) 명확화 애매모호 x (3) 상관 관점 What - How 상관관계 2.데이터 모델링 중요성 및 개발 단계 모델링 3 중요성 모델링 3 단계 (1) 설계가 틀릴 시, 영향 大 (1) 개념적 모델링 업무 중심, 포괄적 수준, 사용자 요구 데이터 찾고 분석 (2) 복잡정보, 간결표현 (2) 논리적 모델링 ① KEY, 속성,관계 표현 ② 식별자 확정, 정규화, M:M 관계 해소, 참조무결성 (3) 데이터 품질 (3) 물리적 모델 ① 어떻게 컴퓨터 하드웨어에 표현되는지 결정 ② .. 2024. 2. 23.
[SQLD] 이론 - 기본 문법 DDL,DML,DCL,TCL (Q1-36) 1. SQL - Data Langauge 종류 DDL (Definition 정의) Creat, Alter, Rename, Drop, Truncate DML (Manipulation 조작) Select, Insert, Update, Delete DCL (Control 제어 - DB 접근권한) Grante, Revoke TCL (Transaction - 거래/수정 저장, 뒤로가기) Commit, Rollback, Savepoint Begin transaction 2. DML -. As Is : 비절차적 DML - 사용자가 무슨(What) 데이터를 원하는지만을 명시 -. To be : 절차적 DML - 사용자가 어떻게(How) 데이터를 접근해야 하는지 ㄴex) 오라클/SQL Server -. 테이블 명 : 반.. 2024. 2. 23.
[SQLD] 이론 ANSI SQL -JOIN (+on / +in) 문제 풀이 순수 관계 연산자 : Select, Project, Join, Division 기본서 Q.69 질문: 고객별 사용금액을 추출하는 SQL → 고객ID, 고객명, 사용금액 (사용량*단가) select A.고객ID, A.고객명, sum (B.사용량 * C.단가) AS "사용금액" #1차 조인 - A & B from 고객 A inner join 시간대별 사용량 B on (A.고객 ID = B.고객 ID) #2차 조인 - A &C inner join 시간대구간 C on ( B.사용시간대 between C.시작시간대 and C.종료시간대) group by A.고객ID, A.고객명 order by A.고객ID, A.고객명 ; 기본서 Q.72 질문 : Left outer join + in (조건)인 경우는 ? → le.. 2024. 2. 21.
[SQLD] 이론 - 집합 연산자 Minus (O) = Except (M) [SQL Server] select A,B from tab1 Except select A,B from tab2 ; [Oracle] select tab1.A , tab2.B from tab1 where not exist/ not in ( select 1 from tab2 where tab1.A = tab2.A and tab1.B = tab2.B ) 2024. 2. 21.
[SQLD] 이론 - Exist & Not exist in 서브쿼리 [ 중요 사항] -. 결국 테이블 A가 주최임 ㄴ Exist : 테이블 A에서, A=B가 테이블 A에 있는지 확인 ▶ True 조회 ㄴ Not Exist : 테이블 A에서, A=B가 없는 부분이 테이블A에 있는지 확인 ▶ True 조회 -. (괄호) 안에는 서브쿼리만 들어갈 수 있음 -. Null에 대해서는 True 취급함 (단일/다중) 서브쿼리 : [SQL 입문] 18.서브쿼리_단일 & 다중 1. 서브쿼리란? -. 서브쿼리 : (1단계 : inner /sub 쿼리) + (2단계 : outer / main 쿼리)를 묶어서 한 번에 조회하는 것 ㄴ 단일 행 서브쿼리 : 1단계에서 답은 1개 ◀ = > < 사용 ㄴ 복수 행 서브쿼리 : 1단계에 bartizan237.com [SQL입문] 19. 서브쿼리_ S.. 2024. 2. 20.
[SQLD]이론 - 상위 n개 데이터 출력 [TOP(M) / Rownum(O)] 상위 n개 추출하기 : Oracle - Rownum SQL Server- Top 위치 Where 절 Select 절 현 테이블에서, "기존 순서" 그대로 5개 추출 select age from table where rownum 2024. 2. 20.
[SQLD] 이론 - Order by (case when...) 다중정렬의 경우! 질문 : Order by (Case when... then.. else... end)의 경우 답: Order by (컬럼) ◀ 칼럼의 asc 순 Order by (Case when.... end) ◀ 치환한 값의 asc 순 질문 : Oder by 컬럼1 (asc) , 칼럼 2 desc - 다중정렬 답: 다중정렬인 경우, 각각의 컬럼당 desc / asc (암시)적으로 표시해줘야 한다! Selec ID , AMT from table order by (case when ID ='A' then 1 else 2 end), AMT desc ▲ (1) 치환 값 asc ▲ (2차) AMT desc 질문 : Order by에 집계 함수 사용 가능? 답 : 가능! 하지만 무쓸모 Select sum (salary) fro.. 2024. 2. 20.