Repository files navigation
📁 31 - SQL 심화 및 데이터 조작/정의어
📝 31/311-1 - SQL 기초 및 DQL 실습 스크립트 (MySQL 기준)
01_dql_select_where.sql : SELECT 기본 조회, AS 별칭 부여, 중복 제거(DISTINCT), WHERE 비교 및 논리 연산 필터링
02_dql_operators_limit.sql : BETWEEN 범위 필터, IN 복수 조건 비교, LIKE 와일드카드 패턴 매칭, ORDER BY 정렬 및 LIMIT 페이징 처리
03_dql_null_string.sql : IS NULL 조건식, MySQL IFNULL 및 ANSI 표준 COALESCE 함수, CONCAT, TRIM, SUBSTRING 등 주요 문자열 가공 함수
04_dql_case_aggregate.sql : CASE WHEN 조건 분기 제어 식 및 5대 대표 집계 함수(COUNT, SUM, AVG, MIN, MAX)
05_dql_groupby_having.sql : GROUP BY 기준 데이터 그룹 세그먼트화 및 HAVING 절 그룹 결과 조건 필터링
06_dql_execution_order.sql : SQL 쿼리의 논리적 해석/실행 순서(FROM -> WHERE -> ... -> LIMIT) 상세 분석 및 SELECT 별칭(Alias) 참조 제한 이유 분석
📝 31/311-2 - 서브쿼리, 조인 및 데이터베이스 설계 (MySQL 기준)
📝 31/312-1 - 데이터 조작어 (DML) 실습 스크립트 (MySQL 기준)
📝 31/312-2 - 데이터 정의어 (DDL) 및 데이터베이스 구조 설계 (MySQL 기준)
01_ddl_data_types.sql : MySQL 주요 데이터 타입(수치형, 문자형, 날짜/시간형) 특성 확인 및 TIMESTAMP와 DATETIME 타임존 영향성 비교
02_ddl_constraints.sql : 5대 핵심 제약 조건(PK, FK, UNIQUE, NOT NULL, DEFAULT) 설정 및 무결성 위반 에러 유도, 외래키 연동 옵션(ON UPDATE CASCADE, ON DELETE SET NULL) 검증
03_ddl_schema_control.sql : CREATE, ALTER를 통한 스키마 개편(컬럼 추가 ADD, 속성 변경 MODIFY, 컬럼 삭제 DROP COLUMN) 및 DROP TABLE을 통한 구조물 완전 소각
04_ddl_truncate_vs_delete.sql : DDL TRUNCATE와 DML DELETE의 내부 동작 비교 (트랜잭션 오토 커밋/롤백 불가성 및 AUTO_INCREMENT 카운터 초기화 영향)
05_ddl_indexes.sql : B-Tree 인덱스 생성(CREATE INDEX), EXPLAIN 키워드를 활용한 실행 계획 분석(Full Table Scan vs Index Scan) 및 인덱스 트레이드오프(조회 가속 vs 쓰기 지연/공간 비용) 분석
06_ddl_surrogate_vs_natural_key.sql : 자연키(Natural Key) 설계의 취약성(식별값 변경 시 참조 전파 비용 및 락 발생) 및 인조키(Surrogate Key) 설계의 참조 안전성 실증
📝 31/313 - 데이터베이스 설계와 정규화 실습 스크립트 (MySQL 기준)
pom.xml : Maven 프로젝트 의존성 설정 (MySQL Connector/J 라이브러리 연동)
EXERCISE.md : JDBC 단계별 실습 가이드 (DriverLoading, Connection, PreparedStatement, ResultSet, Scanner 메모 앱)
src/main/java : Java JDBC 예제 소스 코드 및 콘솔 메모 어플리케이션 구현체
pom.xml : Maven 프로젝트 의존성 및 환경 설정 (Spring Boot, Spring JDBC, MySQL/PostgreSQL 드라이버 등)
EXERCISE.md : Spring JDBC 단계별 송금 실습 가이드 (JdbcTemplate, Transaction, 비관적 락 등)
src/main/java : Spring JDBC 예제 소스 코드 (Entity, Repository, Service, Controller 등)
pom.xml : Maven 프로젝트 의존성 및 환경 설정 (Spring Boot, MyBatis Starter, MySQL/PostgreSQL 드라이버 등)
EXERCISE.md : MyBatis 단계별 실습 가이드 (애노테이션 Mapper, XML Mapper, ResultType/ResultMap, 계층형 아키텍처 등)
src/main/java : MyBatis 예제 소스 코드 (Board, Member, Post 관련 Controller, Service, Mapper, Repository 등)
pom.xml : Maven 프로젝트 의존성 및 환경 설정 (Spring Boot, MyBatis Starter, Lombok, MySQL/PostgreSQL 등)
EXERCISE.md : MyBatis 심화 실습 가이드 (if/where 동적 쿼리, set 부분 수정, choose/foreach 분기 및 순회, association/collection/N:M 중첩 매핑 등)
src/main/java : MyBatis 심화 예제 소스 코드 (UserMapper, OrderMapper, BoardMapper, StudentMapper 등)
pom.xml : Spring Boot와 Spring Data JPA, Hibernate 기반 프로젝트 의존성 및 데이터베이스 환경 설정
EXERCISE.md : 엔티티 매핑, 영속성 컨텍스트와 생명주기, 기본 CRUD를 익히는 단계별 실습 가이드
src/main/java : Entity, Repository, Service 계층을 활용한 JPA 기본 예제 소스 코드
pom.xml : 연관관계와 조회 성능 실습을 위한 Spring Data JPA 및 데이터베이스 의존성 설정
EXERCISE.md : 일대일·일대다·다대일·다대다 연관관계 매핑과 지연 로딩, N+1 문제 해결 실습 가이드
src/main/java : 연관관계 편의 메서드, Fetch Join과 EntityGraph 등을 적용한 예제 소스 코드
pom.xml : JPA 기반 애플리케이션의 실무 기능 구현을 위한 프로젝트 의존성 및 환경 설정
EXERCISE.md : 복잡한 조회, 변경 감지, 트랜잭션과 성능 최적화를 다루는 JPA 심화 실습 가이드
src/main/java : 실무형 도메인 모델과 Repository, Service 계층의 심화 예제 소스 코드
You can’t perform that action at this time.