#sql
노트 8개
Backend › Database
인덱스 설계와 쿼리 튜닝인덱스는 정렬이다. 카디널리티·분포도와 후보 컬럼 고르기, 복합 인덱스 컬럼 순서, 유니크·외래 키 인덱스, 인덱스를 못 타게 만드는 조건, EXPLAIN 접근 유형과 Oracle 인덱스 스캔 방식, 조인 방식(중첩 루프·해시·정렬 병합)과 조인 순서, ORDER BY·GROUP BY·커버링 인덱스, 빠른 쿼리를 위한 체크리스트, NoSQL의 인덱스와 MongoDB의 ESR 규칙까지 정리했다.
Backend › Database
Flyway로 DB 마이그레이션 관리하기스키마 변경을 버전이 붙은 SQL 파일로 기록하고 순서대로 적용하는 오픈소스 DB 마이그레이션 도구 Flyway. 왜 쓰는지, 동작 방식, 실행 방법을 정리한다.
Backend › Database
SQL 기초SQL 명령어 분류(DDL·DML·DCL)와 테이블 구조 변경과 제약 조건(기본 키·외래 키·CASCADE, 자연 키와 대리 키), 뷰·시퀀스·동의어, 데이터를 생성·조회·수정·삭제하고 조건·정렬·집계·그룹화하는 기본 문법, WHERE와 HAVING·DISTINCT·CROSS JOIN처럼 헷갈리기 쉬운 지점, 서브쿼리(상관 서브쿼리, EXISTS와 NOT IN의 NULL 함정), 저장 프로시저와 PL/SQL(블록, 예외, 커서, BULK COLLECT, 함수·패키지·트리거).
Backend › Django
Django ORM과 QuerySetDjango ORM으로 SQL 없이 객체 문법으로 CRUD·조건 조회·정렬·집계를 수행하는 방법과, 각 API가 어떤 SQL이 되는지 대응표로 정리한다.
Computer Science
데이터베이스DBMS의 역할과 데이터 모델의 종류, 트랜잭션과 병행 제어·회복, 정규화, 관계대수와 ER 모델·DB 설계에 관한 노트 모음.
Computer Science › Database
관계대수·관계해석과 DB 설계릴레이션의 구조와 성질, SQL의 바탕이 되는 관계대수 연산자(σ·π·⋈·÷와 집합 연산, 조인의 종류)와 결과 카디널리티, 비절차적인 관계해석(∃·∀와 EXISTS), DB 설계 단계와 개념적 설계의 ER 모델(개체·속성·관계, 카디널리티와 참여, 일반화·특수화와 집단화), ERD를 테이블로 옮기는 변환 규칙, 스키마와 인스턴스(내포·외연), 3단계 스키마와 데이터 독립성.
Computer Science › Database
데이터베이스 모델: RDB, NoSQL, NewSQLDBMS가 파일 처리 시스템의 어떤 문제를 푸는지와 1·2·3계층 구조, 관계형 DB의 특징과 한계, 코드의 규칙, NoSQL 네 가지 유형과 BASE·CAP 정리, 둘의 장점을 합치려는 NewSQL을 비교하고, 프로젝트에서 무엇을 고를지와 PostgreSQL·MySQL의 차이를 정리. 평면·계층·네트워크 모델에서 관계형까지의 계보와 분석용 스타·스노플레이크 스키마도 다룬다.
Tools
DBeaver에서 SQL로 데이터 다루기여러 DBMS를 한 화면에서 다루는 무료 GUI 클라이언트 DBeaver의 특징, PostgreSQL 연결 방법, SQL 편집기로 데이터를 조회·수정하는 방법과 주의점.