데이터베이스 설계
데이터베이스 설계란?
- 스키마 내에 테이블, 인덱스, 뷰 등의 데이터베이스 객체를 정의하는 작업
- 주요 내용: 테이블의 이름, 열, 자료형 결정
용어
- 물리명: 실제 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