SQL 첫걸음 8장

cse 23·2025년 3월 30일
0

SQL 첫걸음

목록 보기
5/8

데이터베이스 설계

데이터베이스 설계란?

  • 스키마 내에 테이블, 인덱스, 뷰 등의 데이터베이스 객체를 정의하는 작업
  • 주요 내용: 테이블의 이름, 열, 자료형 결정

용어

  • 물리명: 실제 DB에 사용되는 이름 (예: CREATE TABLE에서 사용)
  • 논리명: 설계 단계에서의 테이블 이름

자료형

  • 테이블의 열에는 자료형을 지정해야 함
  • 문자열 자료형은 고정길이/가변길이로 구분됨
  • 큰 데이터는 LOB 형으로 저장 가능

기본키

  • 기본키를 고민하기 어렵다면 자동 증가 열을 사용할 수 있음

ER 다이어그램

  • 테이블 간의 관계를 시각적으로 표현
  • 관계 유형(1:1, 1:N 등)을 숫자나 기호로 표현

35강. 정규화

정규화: 테이블을 규정된 올바른 형태로 개선해 나가는 과정

  • 데이터 구조를 단순화하고 중복을 제거
  • 설계 시 또는 시스템 재검토 시 수행

제1정규형

  • 반복되는 데이터를 열이 아닌 행 방향으로 분리
    (하나의 칸에는 하나만 들어가도록...?)

제2정규형

  • 기본키에 종속되지 않은 열을 분리
    (제1정규형을 진행한 테이블에 대해 완전 함수 종속을 만족하도록 테이블을 분리)

제3정규형

  • 기본키 이외의 열 간 중복 관계 제거
    (제2정규형을 진행한 테이블에 대해 이행적 종속을 없애도록 테이블을 분해하는것)

정규화 목적

  • 하나의 데이터는 한 곳에만 저장되도록 함
  • 중복 데이터가 많아지면 검색/변경이 어려움

36강. 트랜잭션

트랜잭션: 여러 SQL 명령을 하나의 단위로 묶어 처리하는 기능

주요 명령어

START TRANSACTION; -- 트랜잭션 시작
COMMIT;             -- 작업 확정
ROLLBACK;           -- 작업 취소

특징

  • 데이터를 추가/갱신할 때 트랜잭션 기능 사용 시 데이터 관리가 단순화됨
  • 예: 주문처리 시 주문번호 발행 필요
INSERT INTO 주문 VALUES (4, '2025-03-30', 1);

자동 커밋

  • 트랜잭션을 사용할 때는 자동 커밋을 비활성화해야 함

사용 방식

  • 여러 SQL 명령을 하나의 세트로 묶어 실행
  • 트랜잭션 내에서 실행 시만 ROLLBACK으로 취소 가능

--- 연습문제 ---
1.1
2.2
3.2

0개의 댓글