1. SQL 문장의 종류분류대상주요 명령어자동 반영 (Auto Commit)DDL구조CREATE, ALTER, DROPO (즉시 반영)DML데이터SELECT, INSERT, UPDATE, DELETEX (TCL 필요)DCL권한GRANT, REVOKEO (보통 즉시 반영)TCL트랜잭션COMMIT, ROLLBACK, SAVEPOINT-1.1. DDL (Data Definition Language, 데이터 정의어)DDL은 데이터베이스의 뼈대를 만드는 명령어다. 테이블, 인덱스, 뷰 등을 생성하거나 수정, 삭제할 때 사용한다.특징: 실행 즉시 데이터베이스에 반영된다. (Auto Commit)주요 명령어:CREATE: 객체 생성ALTER: 구조 수정 (칼럼 추가, 타입 변경 등)DROP: 객체 완전 삭제TRUNC..
전체 글
금융 현직자의 공부 노트1. 데이터 정규화 (Normalization)데이터 정규화는 '데이터 중복을 제거하여 이상 현상(Anomaly)을 방지하고, 데이터를 구조적으로 쪼개는 과정'입니다. 실무에서는 보통 제3정규화 혹은 BCNF까지를 필수로 진행합니다.종류설명핵심 암기 문구1NF원자값을 가진다.한 칸에 하나씩! (원자화)2NF부분 종속 제거 (완전 함수 만족)기본키 전체에만 매달려!3NF이행 종속 제거주인(PK) 아닌 애들끼리 친하지 마!BCNF결정자는 무조건 후보키결정자는 무조건 후보키여야 해!4NF다치 종속 제거상관없는 여러 값들을 한데 묶지 마!5NF조인 종속 제거조인했을 때 이상 없게 다 쪼개!1.1 정규화를 하는 이유 (이상 현상 방지)정규화를 하지 않아 데이터가 한 곳에 뭉치면 세 가지 ‘이상 현상[Anomaly..
데이터 모델링의 기본 개념 및 핵심 정리1. 데이터 모델링의 기본 개념1.1 모델링의 특징추상화: 현실세계를 일정한 형식에 맞추어 표현하는 것단순화: 복잡한 현실을 제한된 언어나 표기법으로 이해하기 쉽게 하는 것정확화: 모호함을 배제하고 누구나 이해 가능하도록 정확하게 현상을 기술하는 것시스템 구현 목적: 시스템 구현을 포함한 업무 분석 및 업무 형상화를 목적으로 함일정한 표기법: 업무 정보를 구성하는 기초 정보들을 일정한 규칙으로 표현함1.2 모델링의 유의점중복 (Duplicity): 데이터베이스가 여러 장소에 같은 정보를 저장하지 않도록 주의비유연성 (Inflexibility): 데이터 정의와 사용 프로세스를 분리하여, 작은 변화가 앱과 DB에 중대한 변화를 일으키지 않도록 함비일관성 (Inconsi..
서버나 NAS, 고성능 PC에서 빠질 수 없는 저장 기술이 바로 RAID입니다.이번 글에서는 RAID가 무엇인지, 어떤 종류가 있는지, 그리고 각각의 장단점을 정리해보겠습니다.1. RAID란?RAID(Redundant Array of Independent/Inexpensive Disks)는 여러 개의 물리적 디스크를 하나의 논리적 디스크처럼 묶어 아래 목표를 달성하기 위한 기술입니다.성능설명성능 향상데이터를 여러 디스크로 병렬로 읽고 써서 처리 속도를 높입니다.데이터 안정성일부 디스크에 장애가 발생해도 데이터 손실을 방지합니다.대용량 활용여러 디스크를 하나의 큰 용량처럼 사용할 수 있습니다.원래는 서버와 대형 스토리지 장비에 주로 사용되지만, 최근에는 NAS나 개인 서버에도 많이 사용되는 추세입니다.2...
1. 문제다음은 어느 자동차 대여 회사의 자동차 대여 기록 정보를 담은 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블입니다. CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블은 아래와 같은 구조로 되어있으며, HISTORY_ID, CAR_ID, START_DATE, END_DATE는 각각 자동차 대여 기록 ID, 자동차 ID, 대여 시작일, 대여 종료일을 나타냅니다.CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 2022년 10월 16일에 대여 중인 자동차인 경우 '대여중'이라고 표시하고, 대여 중이지 않은 자동차인 경우 '대여 가능'을 표시하는 컬럼(컬럼명: AVAILABILITY)을 추가하여 자동차 ID와 AVAILABILITY 리스트를 ..
1. 문제다음은 어느 자동차 대여 회사의 자동차 대여 기록 정보를 담은 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블입니다. CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블은 아래와 같은 구조로 되어있으며, HISTORY_ID, CAR_ID, START_DATE, END_DATE는 각각 자동차 대여 기록 ID, 자동차 ID, 대여 시작일, 대여 종료일을 나타냅니다.CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일을 기준으로 2022년 8월부터 2022년 10월까지 총 대여 횟수가 5회 이상인 자동차들에 대해서 해당 기간 동안의 월별 자동차 ID 별 총 대여 횟수(컬럼명: RECORDS) 리스트를 출력하는 SQL문을 작성해주세요. ..
1. 문제다음은 식품의 정보를 담은 FOOD_PRODUCT 테이블입니다. FOOD_PRODUCT 테이블은 다음과 같으며 PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE는 식품 ID, 식품 이름, 식품코드, 식품분류, 식품 가격을 의미합니다.FOOD_PRODUCT 테이블에서 식품분류별로 가격이 제일 비싼 식품의 분류, 가격, 이름을 조회하는 SQL문을 작성해주세요. 이때 식품분류가 '과자', '국', '김치', '식용유'인 경우만 출력시켜 주시고 결과는 식품 가격을 기준으로 내림차순 정렬해주세요.2. 풀이 (조인 연산 안에 서브 쿼리 활용)SELECT A.CATEGORY, A.MAX_PRICE, FOOD_PRODUCT.PRODUCT_NAMEFROM ( ..
1. 문제다음은 어느 한 서점에서 판매중인 도서들의 도서 정보(BOOK), 저자 정보(AUTHOR) 테이블입니다. BOOK 테이블은 각 도서의 정보를 담은 테이블로 아래와 같은 구조로 되어있습니다.AUTHOR 테이블은 도서의 저자의 정보를 담은 테이블로 아래와 같은 구조로 되어있습니다.BOOK_SALES 테이블은 각 도서의 날짜 별 판매량 정보를 담은 테이블로 아래와 같은 구조로 되어있습니다.2022년 1월의 도서 판매 데이터를 기준으로 저자 별, 카테고리 별 매출액(TOTAL_SALES = 판매량 * 판매가)을 구하여, 저자 ID(AUTHOR_ID), 저자명(AUTHOR_NAME), 카테고리(CATEGORY), 매출액(SALES) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 저자 ID를 오름차순으..