| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 익명클래스
- CKLU
- 삼성SW테스트
- 백준
- 알고리즘
- 프로그래머스
- 언더라이터
- IT
- 멀티스레드
- backjoon
- 다이나믹 프로그래밍
- 금융IT
- 네트워크
- BFS
- 현대오토에버 코딩테스트
- 백준 알고리즘
- dp
- 너비탐색
- Java
- 익명객체
- dfs
- 조합
- 모바일
- 개발
- 안드로이드
- 데이터베이스
- 삼성sw문제
- Android
- 자바
- 재귀함수
- Today
- Total
목록전공지식 (33)
Limky 삽질블로그
DB계층형 질의와 셀프조인(Hierarchical Query & Self Join) 이번시간은 DB계층형 질의와 셀프조인(Hierarchical Query & Self Join)에 대해 알아보겠습니다.먼저 각각의 개념을 알아보고, 실제 데이터베이스에서 어떻게 질의하고 사용하는지 알아보겠습니다.우선, DB계층형 질의를 알아보도록 하겠습니다.DB계층형 질의를 들어가기 앞서, 계층형 데이터가 무엇인지 알아야합니다. 1. 계층형 데이터란? 테이블에 계층형 데이터가 존재하는 경우 데이터를 조회하기 위해서 계층형 질의를 사용합니다.여기서 잠깐 계층형 데이터란 동일 테이블에 계층적으로 상위와 하위 데이터가 포함된 데이터를 말합니다.예를 들어 사원 테이블에서는 사원들 사이에 상위 사원(관리자)과 하위 사원관계가 존재하..
GROUPING SETS 함수 지난시간 : 2018/05/17 - [전공지식/DataBase] - [SQLD] 제2장 - 그룹함수(CUBE, ROLLUP, GROUPING SETS)_12018/05/18 - [전공지식/DataBase] - [SQLD] 제2장 - 그룹함수(CUBE, ROLLUP, GROUPING SETS)_2 이번시간은 3번째 시간으로 GROUPING SETS 함수에 대해 알아보겠습니다. GROUPING SETS 를 이용해 더욱 다양한 소계 집합을 만들수 있습니다. GROUP BY SQL를 여러 번 반복하지 않아도 원하는 결과를 쉽게 얻을 수 있습니다. GROUPING SETS 함수는 쉽게 GROUP BY 한 SQL 들을 UNION ALL 해서 보여주는 결과와 같습니다. 먼저 GROUP ..
CUBE 함수 지난 시간 : 2018/05/17 - [전공지식/DataBase] - [SQLD] 제2장 - 그룹함수(CUBE, ROLLUP, GROUPING SETS)_1 ROLLUP 에서는 단지 가능한 Subtotal 만을 생성하였지만, CUBE는 결합 가능한 모든 값에 대하여 다차원 집계를 생성합니다.CUBE를 사용할 경우에는 내부적으로는 Grouping Columns의 순서를 바꾸어서 또 한 번의 쿼리를 추가 수행해야 합니다. 뿐만 아니라 Grand Total 은 양쪽의 쿼리에서 모두 생성이 되므로 한 번의 쿼리에서는 제거되어야만 하므로 ROLLUP에 비해 시스템의 연산 대상이 많습니다. 이처럼 모든 경우에 대해서 Subtotal을 생성해야 하는 경우에는 CUBE를 사용하는 것이 바람직합니다. 또한..
그룹 함수(GROUP FUNCTION)의 필요성 결산 개념의 업무를 가지는 원가나 판매 시스템의 경우는 소계, 중계, 합계, 총 합계 등 여러 레벨의 결산 보고서를 만드는 것이 중요 업무 중의 하나입니다. 개발자들이 이런 보고서를 작성하기 위해서는 SQL이 포함된 3GL으로 배치 프로그램을 작성하거나, 레벨별 집계를 위한 여러 단계의 SQL을 UNION, UNION ALL로 묶은 후 하나의 테이블을 여러 번 읽어 다시 재정렬하는 복잡한 단계를 거쳐야만 합니다. 하지만, 그룹 함수(GROUP FUNCTION)을 사용한다면, 하나의 SQL로 테이블을 한 번만 읽어서 빠르게 원하는 리포트를 작성할 수 있습니다. 또한, GROUPING 함수와 CASE 함수를 이용하면 쉽게 원하는 포맷의 보고서 작성도 가능합니다..
1. 모델링의 이해 모델링의 정의-> 사람이 살아가면서 나타날 수 있는 모든 다양한 현상은 사람, 사물, 개념 등에 의해 발생된다고 할 수 있으며 모델링은 이것을 표기법에 의해 규칙을 가지고 표기하는 것 자체를 의미합니다. 즉! 복잡한 현실세계를 일정한 표기법에 의해 표현하는 일 자체가 모델링이라고 할 수 있습니다. 2. 모델링의 3가지 특징 모델링의 특징에는 3가지가 있습니다. 반드시 기억하세요. 추상화, 단순화, 명확화입니다. 1) 추상화 : 현실세계를 일정한 형식에 맞추어 표현한다는 의미, 다양한 현상을 일정한 양식인 표기법에 의해 표현하는 것 2) 단순화 : 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현하여 쉽게 이해할 수 있도록 하는 개념! 3) 명확화 : 누구나 이해하기 ..
퀵 정렬(Quick Sort) 정말 간략하게 핵심만 설명하겠습니다... ㅎㅎ 퀵 정렬은 기본적으로 분할정복입니다. 분할정복이기 때문에, 재귀적인 호출을 사용합니다. 우선 Pivot 즉 비교기준이 되는 값을 정하고, Left와 Right 각 2개의 비교대상을 정해서 비교하게 됩니다.Left는 Pivot 보다 작은 경우 더 이상 index가 증가하지 않고 진행을 멈춥니다. 만약 크다면, 계속 index를 증가시키면서 Pivot과 비교해나갑니다.Right는 Pivot보다 큰 경우 더이상 index가 감소하지 않고 진행을 멈춥니다. 만약 작다면, 계속 index를 감소시키면서 Pivot과 비교해나갑니다. 이 2case에 비교가 끝나고, 만약 Left의 index와 Right의 index가 교차하지 않고 Left..
이진탐색(Binary Search) 이진 탐색은 정렬된 상태에서 원하는 값이 어디에 있는지 찾는 탐색 방법 중 하나입니다. 우선 탐색 되지 않은 영역의 중간 값과 원하는 값이 일치하는지 체크하고, 2가지 경우에 따라 분기처리합니다. 우선... 1. 중간 값이 찾고자 하는 값보다 작은 경우 중간 값이 시작 기준이 되고 배열의 끝 값이 끝 기준이 되어 중간 값을 다시 도출합니다. 2. 중간 값이 찾고자 하는 값보다 큰 경우 중간 값이 끝 기준이 되고 배열의 시작 값이 시작 기준이 되어 중간 값을 다시 도출합니다. 위 2가지 경우에 분기 처리가 완료되면, 다시 찾고자 하는 값과 비교를 합니다. 찾고자 하는 값이 계속 도출되는 중간 값과 일치하는 경우 해당 탐색 루프를 벗어납니다. ㅎㅎ package Searc..
이진트리 (Binary Tree) 이번시간은 이진트리 (Binary Tree)에 대해서 알아보겠습니다. 정말 재미있는 녀석입니다. 이진트리가 되기 위해선 몇 가지 특징이 있습니다. 우선 이진트리는 가질 수 있는 자식노드의 최대갯수는 2개입니다. 또한 왼쪽 자식 노드는 부모 노드보다 값이 작고, 오른쪽 자식 노드는 부모 노드보다 값이 큽니다. 또한 이진트리에는 여러 종류가 존재하는데 완전이진트리 라는 것은 이상적으로 모든 노드에 2개씩 자식노드를 가지고 있는 형태입니다. 단 마지막 단계에서는 왼쪽에서부터 채워지는 형태를 취합니다. 포화이진트리는 마지막레벨은 단말노드이면서 나머지는 모두 자식이 2개씩 보유하고 있습니다. 뭐 이렇게 이진트리에 대해서 알아보았고, 이진트리를 순회하는 방법에는 지난시간 배웠던 전..