2025-10-08
오늘 배운 것
Database & SQL 기본
📌 DataBase 개념
- 정의
- 다수의 사용자가 공유할 수 있도록 통합·저장한 데이터 집합
- DBMS에 의해 관리되는 구조화된 상호 관련 데이터 집합
- 발전 과정
- 파일 시스템 → 계층형/망형 DB → 관계형 DB → 객체지향 DB → NoSQL
- 주요 특징
- 실시간 접근성 (Real-time Accessibility)
- 동시 공유 (Concurrent Sharing)
- 데이터 독립성 (Data Independence)
- 무결성 (Data Integrity)
- 중복 최소화 (Minimization of Redundancy)
- 보안성 (Data Security)
- 일관성 (Consistency)
- 지속성 (Persistence)
📌 DBMS
- DBMS (Database Management System)
- 응용프로그램과 DB 사이의 중개자
- 데이터 독립성 보장 및 효율적 관리
- MySQL Server Architecture: 클라이언트 요청 처리, 스토리지 엔진, 캐시, 쿼리 옵티마이저 등으로 구성
📌 관계형 데이터베이스 (RDBMS)
- 정의: 관계형 모델을 지원하는 DBMS
- 구성 요소
- 개체(Entity) → 테이블(Table)
- 속성(Attribute) → 열(Column)
- 관계(Relationship) → 외래키(Foreign Key), 1:1 / 1:N / N:M
📌 SQL (Structured Query Language)
- 관계형 DB 데이터를 관리하기 위한 특수 목적 언어
- ANSI SQL 표준으로 대부분의 DBMS에서 사용 가능
🔹 SQL 구문 종류
- 데이터 검색 (SELECT)
- 데이터 조작 (INSERT, UPDATE, DELETE)
- 데이터 정의 (CREATE, ALTER, DROP)
- 데이터 제어 (GRANT, REVOKE)
📌 SELECT 문법
-
기본 구문
SELECT 컬럼명 FROM 테이블명; - 열 별칭 (AS): 복잡한 표현식 간소화
- 중복 제거 (DISTINCT): 전체 컬럼 조합 기준 중복 제거
- 조건 검색 (WHERE): 비교/논리/산술 연산자 활용
- 정렬 (ORDER BY): ASC(오름차순, 기본), DESC(내림차순)
- 결과 제한 (LIMIT/OFFSET): 페이징 처리 및 TOP N 조회
📌 연산자
- 비교 연산자:
=, <>, >, <, >=, <= - 논리 연산자:
AND, OR, NOT - NULL 처리:
IS NULL, IS NOT NULL - CASE 연산자: 조건 분기에 따른 값 반환
📌 내장 함수
- 단일 행 함수
- 숫자 함수 (ABS, ROUND, CEIL, FLOOR 등)
- 문자 함수 (CONCAT, SUBSTRING, LENGTH 등)
- 날짜 함수 (NOW, DATE_FORMAT, ADDDATE 등)
- 변환 함수 (CAST, CONVERT)
- 다중 행 함수
- 집계 함수: SUM, AVG, MAX, MIN, COUNT
- 윈도우 함수: RANK, DENSE_RANK, ROW_NUMBER 등