SQLD #2

_ne·2026년 3월 5일

sqld

목록 보기
2/5

정규화

데이터베이스의 이상현상을 방지하기 위하여 데이터 중복을 최소화하여 테이블을 분리하는 방법

엔터티 = 테이블 = 릴레이션

이상현상

1) 삽입이상: 데이터 삽입 시, 의도하지 않은 값들도 삽입되는 현상
2) 삭제이상: 데이터 삭제 시, 의도하지 않은 것들도 삭제되는 현상
3) 갱신이상: 일부 데이터만 갱신되어 모순이 발생하는 현상

함수적 종속

A속성에 의해 B가 유일하게 결정됨(A->B)
A를 결정자, B를 종속자라 함
1) 완전 함수적 종속: 종속자가 기본키의 모든 속성에 종속적인 경우
2) 부분 함수적 종속: 종속자가 기본키의 일부 속성에 종속적인 경우

정규화 단계

제1정규화 -> 제2정규화 -> 제3정규화 -> BCNF -> 제4정규화 -> 제5정규화
(1~3정규화 외 나머지는 시험에 거의 출제X)

1) 제1정규화: 도메인이 원자 값만으로 구성
2) 제2정규화: 부분적 함수 종속을 제거하여, 완전 함수 종속을 만족
3) 제3정규화: 이행 함수 종속관계를 제거
4) BCNF: 결정자가 모두 후보키가 되도록 분해
5) 제4정규화: 다치 종속의 제거
6) 제5정규화: 조인 속성을 이용

관계와 조인의 이해

조인

  • 서로 관계가 있는 테이블을 SQL로 연결해서 데이터를 조회하는 방법
  • 정규화로 분해가 된 테이블들은 조인 성능이 낮아질 수 있음 (반정규화 수행)

계층형 데이터 모델

  • 같은 테이블을 참조하여 두 개의 테이블을 조인하는 관계, 계층형 질의 혹은 셀프 조인 활용

상호베타적 관계

  • 두 테이블 중 하나의 테이블만 상속될 수 있는 관계

모델이 표현하는 트랜잭션의 이해

트랜잭션

  • 데이터베이스에서의 하나의 논리적인 작업단위
    1) Commit: 트랜잭션이 성공적으로 끝났음을 알리고 데이터베이스에 저장
    2) Rollback: 트랜잭션 중 오류가 발생하여 이전 상태로 되돌림

트랜잭션의 4대 특성(ACID)

1) 원자성(Atomicity): 수행되거나 전혀 수행되지 않아야 함(All or Nothing)
2) 일관성(Consistency): 트랜잭션 실행 전후로 오류가 없어야 함
3) 고립성(Isolation): 트랜잭션끼리 서로 간섭하면 안됨
4) 지속성(Durability): 수행된 결과는 영구적으로 저장

Null 속성의 이해

  • 미정의된 값. 0이나 빈칸과는 다른 개념(비교불가. 연산불가. 집계함수에서 제외)
profile
끄적이는 곳

0개의 댓글