| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- parser
- sql
- BFS
- 베이직
- pandas
- database
- db
- folium
- 가상메모리
- PYTHON
- DFS
- 함수형프로그래밍
- flexbox
- 프로그래밍패러다임
- 코딩테스트
- 파일시스템
- 챌린지
- reactnavigation
- 단위테스트
- ReactNative
- 이벤트처리
- 보안솔루션
- defaultdict
- javascript
- OOP
- 부스트캠프
- CSS
- Graph
- SQLD
- display
- Today
- Total
목록database (9)
DevLog
옵티마이저와 실행 계획 옵티마이저(Optimizer) 사용자가 원하는 결과를 얻기 위한 SQL문 중 가장 효율적으로 수행할 수 있는 최적의 실행방법을 결정하는 것. 옵티마이저의 유형 1) 규칙기반 옵티마이저(RBO) : 15개 우선순위를 기반으로 계획 생성 (우선1순위 : SINGLE ROW BY ROWID 액세스) 2) 비용기반 옵티마이저(CBO) : 통계 정보를 통해 소요시간, 자원 사용량 등을 계산하여 계획 선택. 기본적으로 사용되는 방식이나 잘못된 통계 정보로 성능 저하 가능성 있음. 실행계획(Execution Plan) SQL 처리를 위한 실행 방법과 절차에 대한 계획. 실행계획의 실행 순서는 1) 자식 → 형제 → 부모 순으로 2) 위에서 아래로, 들여쓰기 기준 안쪽에서 바깥쪽으로 읽는다. 인..
윈도우 함수 WINDOW FUNCTION 행과 행 사이 관계를 쉽게 정의하기 위한 함수. 순위 관련, 집계 관련, 행 순서 관련, 비율 관련 함수가 있다. 윈도우 함수 문법 SELECT 컬럼명1, 컬럼명2, ...., WINDOW FUNCTION () OVER ( ) - `OVER` : 필수 키워드 - `PARTITION BY` : 소그룹으로 분류. 윈도우 함수 적용 범위는 PARTITION을 넘을 수 없다. - `ORDER BY` : 그룹 내 순서 정의 - `WINDOWING 절` : 함수의 대상이 되는 행 기준의 범위 지정 PARTITION BY / ORDER BY는 띄어쓰기로 구분한다. 윈도우 함수는 SELECT문 내부에 작성하기 때문에 앞선 컬럼 뒤에 콤마(`,`)를 붙여줘야 함에 주의! 순위 관..
서브쿼리 쿼리문 안에 다른 쿼리문을 작성하는 방식. 서브쿼리로 먼저 데이터를 읽어온 후, 메인쿼리에서 조건 만족 여부를 확인한다. 조인 대신에 SQL문 내부에서 사용할 수 있으며, 전체 값을 이용하는 집계 결과의 경우에는 한 번 돌 때마다 서브쿼리문이 실행되면서 하나의 값을 모든 레코드에서 공유하기 때문에 모든 행에 같은 값을 출력해야 할 때 사용할 수 있다. -- 서브 쿼리 SELECT DNAME FROM DEPT WHERE DEPTNO=(SELECT DEPTNO FROM EMP WHERE ENAME='SCOTT'); -- 한 번 돌 때마다 서브쿼리문이 실행되면서 하나의 값을 모든 레코드에서 공유 SELECT EMPNO, ENAME, SAL, (SELECT SUM(SAL) FROM EMP) FROM E..
집합연산자 `UNION` 합집합(중복 제거) / `UNION ALL` 합집합(중복 포함) / `INTERSECT` 교집합 / `MINUS(EXCEPT)` 차집합 집합연산의 조건 - 조건 1) 두 테이블의 컬럼수가 일치해야 한다. - 조건 2) 각 테이블에서 대응되는 컬럼의 자료형이 같아야 한다. -- 각 테이블에 해당하는 모든 행(레코드)의 합집합 출력 SELECT * FROM A UNION ALL SELECT * FROM B; -- 테이블 순서에 따라서 먼저 나오는 값이 달라짐 SELECT * FROM B UNION ALL-- 합집합 SELECT * FROM A; -- 합집합에서 맨 앞의 컬럼 기준으로 정렬 후 중복 제거 SELECT * FROM A UNION -- 합집합, 중복제거, 정렬 SELECT..
조인 JOIN 엔터티 간 관계와 FK를 이용하여 서로 다른 테이블을 연결하여 데이터를 참조해오는 작업. 크게 조인조건이 같을 경우(=)의 등가조인(EQUI-Join)과 그 외의 비등가조인(Non-EQUI Join)으로 나뉜다. -- JOIN -- 등가조인, 비등가조인 -- 등가조인 : A=B SELECT * FROM EMP, DEPT; -- 두 테이블 모든 행을 결합해서 출력 (모든 경우의 수, 카티션 프로덕트) SELECT * FROM EMP, DEPT WHERE EMP.DEPTNO = DEPT.DEPTNO; SELECT E.EMPNO, E.ENAME, E.SAL, D.LOC, D.DEPTNO, E.DEPTNO FROM EMP E, DEPT D WHERE E.DEPTNO=D.DEPTNO; -- 비등가조..
함수(Function) :: 내장함수, 사용자정의 함수 - 내장함수 : 단일행함수, 다중행함수 - 단일행함수 : 문자형, 숫자형, 날짜형, 형변환, NULL 관련 함수 - 다중행함수 : 집계함수, 그룹함수, 윈도우함수 문자형 함수 문자를 연산하는 함수. `LOWER`,`UPPER`, `INITCAP`, `ASCII`, `CHAR`, `CONCAT`, `SUBSTR`, `LENGTH`, `LTRIM`, `RTRIM`, `TRIM` -- 문자형 함수 -- UPPER : 대문자 변환 -- LOWER : 소문자 변환 -- INITCAP : 첫글자 대문자, 나머지 소문자 SELECT 'aBC' FROM DUAL; SELECT UPPER('aBC') FROM DUAL; // 대문자 변환 SELECT LOWER('a..
관계형 데이터베이스 개요 관계형 데이터베이스는 1. 동시성 관리, 병행 제어를 통해 많은 사용자들이 동시에 데이터를 공유 및 조작할 수 있으며 2. 정규화를 통한 테이블 모델링을 통해 이상현상을 제거하고 데이터 중복을 피할 수 있고, 3. 메타데이터를 관리하면서 데이터 체계화와 데이터 표준화를 보장하고, 4. 제약조건을 이용하여 데이터 무결성(integrity)를 보장하고, 5. 시스템 장애 발생 시 트랜잭션 제어를 통해 데이터를 회복/복구할 수 있는 기능이 있는 효율적인 데이터 관리 시스템이다. SQL(Structured Query Language)⭐ 관계형 데이터베이스에서 데이터 정의, 조작, 제어를 위해 사용하는 언어. 1) 데이터 정의어, DDL(Data Definition Language) 테이..
06. 정규화와 성능 성능 데이터 모델링 분석/설계 단계부터 데이터베이스의 성능을 고려한 데이터 모델링 수행 기법 * 데이터 모델 성능 저하의 원인 → 잘못 설계된 데이터 모델 구조 → 데이터가 대용량으로 누적됨 → 잘못 생성된 인덱스 성능 데이터 모델링의 수행 절차⭐⭐ 1. 논리 모델링 단계에서 데이터베이스 정규화를 정확하게 수행 2. 데이터베이스 용량산정 (현재 용량, 예상 증가량 조사) 3. 데이터베이스에 발생되는 트랜잭션 유형 파악 4. 용량과 트랜잭션 유형에 따라 반정규화 수행 (다시 합치거나 or 또 나누거나) 5. 추가 조정 과정 수행 (모델 조정, 식별자 조정, 타입 조정 등) 6. 성능 관점에서 데이터 모델 검증 데이터베이스 정규화(DB Normalization) 논리 모델링 수행 단계에..
01. 데이터모델의 이해 모델링의 개념 - 복잡한 현실세계를 단순화하여 표현하는 것 - 모델 = 현실세계를 추상화한 반영 모델링의 특징⭐ - 단순화(simplification) : 복잡한 현실세계를 약속된 규약에 의해 누구나 쉽게 이해할 수 있게 표현 - 추상화(abstraction) : 일정한 형식과 양식에 맞추어 현실세계를 간략히 표현 - 명확화(clearity) : 대상에 대한 애매모호함을 제거하여 한 가지의 명확한 의미를 가짐 데이터 모델링의 유의점 - 중복(duplication) : 여러 장소에 같은 데이터 중복으로 저장 x - 비유연성(inflexibility) : 사소한 변화에도 데이터모델링이 수시로 변경된다면 유지보수가 어려움 - 비일관성(inconsistency) : 데이터 간 상호연관 ..