공부중/데이터베이스

[데이터베이스] 2주차 강의 요약

eooonion 2026. 3. 12. 00:25

1. 관계 데이터 모델의 개념

릴레이션의 개념

  • 관계 데이터 모델의 기본 개념
    • 개념적 구조를 논리적 구조로 표현하는 논리적 데이터 모델
    • 하나의 개체에 관한 데이터를 하나의 릴레이션에 저장
    • 릴레이션 : 행과 열로 구성된 테이블
  • 릴레이션 (relation) : 행과 열로 구성된 테이블
    • 하나의 개체에 관한 데이터를 2 차원 테이블의 구조로 저장한 것
    • 파일 관리 시스템 관점에서 파일(field)에 대응
    • 스키마와 인스턴스로 이루어짐
    • 속성: 열
    • 튜플: 행

릴레이션 스키마와 인스턴스

  • 릴레이션 스키마
    • 릴레이션의 논리적 구조
    • 릴레이션 의 이름과 릴레이션에 포함된 모든 속성의 이름으로 정의
    • 릴레이션 스키마의 표기
      • 릴레이션 이름(속성 1, 속성 2, 속성 3)
      • 릴레이션 이름(속성 1: 도메인 1, 속성 2: 도메인 2)
  • 릴레이션 인스턴스
    • 릴레이션 스키마에 실제로 저장된 데이터 집합
      • 튜플: 릴레이션의 행
      • 카디날리티: 튜플의 수

릴레이션의 특징

  1. 속성의 원자성: 속성은 단일값만! 다중값은 분리하기
  2. 속성의 무순서성
  3. 속성의 동일성(나이 속성은 모두 정수형)
  4. 튜플의 유일성
  5. 튜플의 무순서성

관계 데이터 모델

  • 데이터를 2 차원 테이블 형태인 릴레이션으로 표현
  • 릴레이션에 대한 제약조건과 관계 연산을 위한 관계대수를 정의
  • 관계 데이터베이스 시스템
    • 관계 데이터 모델 을 컴퓨터 시스템에 구현한 것
    • 관계 데이터 모델에 기초하여 SQL 을 기반으로 구현

2. 무결성 제약조건

 

  • 키(key): 릴레이션에서 특정 튜플들을 유일하게 구별하는 속성 또는 속성들의 집합
  • 키의 특성: 유일성(서로 다른 값을 가져라), 최소성(꼭 필요한 것만)
  • 키의 종류
    • 슈퍼키: 유일성을 만족하는 속성 또는 속성들의 집합
    • 후보키: 유일성과 최소성을 만족하는 속성 또는 속성들의 최소집합(슈퍼키 중에 기본키 뺀 나머지)
    • 기본키: 후보키 중에서 기본적으로 사용하기 위해 선택한 키
    • 대체키: 기본키가 아닌 후보키
    • 대리키: 인위적으로 만든 기본키 . 편의성과 안전성을 위해 사용 주민번호
    • 외래키: 다른 릴레이션의 기본키를 참조하는 속성 또는 속성들의 집합

화살표가 시작되는 지점이 외래키(자식)

무결성 제약조건

  • 무결성: 데이터에 결함이 없는 상태 , 즉 데이터가 정확하고 유효하게 유지된 상태
  • 무결성 제약조건
    • 도메인 무결성 제약조건
      • 도메인 제약 : 릴레이션 내의 튜플들이 각 속성의 도메인에 지정된 값만 가져야 한다는 조건
    • 개체 무결성 제약조건
      • 기본키 제약 : 기본키는 NULL 값을 가져서는 안 되며 릴레이션 내에 오직 하나의 값만 존재해야 함 을 지켜야 한다는 조건
      • 계속 확인하여 일관적이게!
    • 참조 무결성 제약조건
      • 외래키 제약 : 릴레이션 간의 참조 관계를 선언하는 제약조건 자식 릴레이션의 외래키는 부모 릴레이션의 기본키와 도메인이 같아야 하며 ,자식 릴레이션의 값이 변경될 때 부모 릴레이션의 제약을 받는다
      • 부모에 없는 값을 자식이 참조하면 위반


3. 관계대수

관계대수

  • 관계대수란? → 릴레이션에서 원하는 결과를 얻기 위해 릴레이션의 처리 과정을 순서대로 기술하는 절차적 언어
  • 릴레이션을 처리하는 연산자들의 모임

집합 연산

  • 일반 집합 연산자: 릴레이션이 튜플의 집합이라는 개념을 이용

  • 두 릴레이션이 합병 가능해야함! (차수가 같고, 대응되는 속성의 도메인이 같아야)
  • 추가적으로... 카티션 프로젝트란? → 두 릴레이션의 튜플을 모두 연결하여 만들어진 새로운 튜플을 반환

셀렉션과 프로젝션

  • 순수 관계 연산자: 릴레이션의 구조와 특성을 이용하는 연산자

  • 셀렉트: 릴레이션에서 조건을 만족하는 튜플만 추출하기 위한 연산자
    • 수학적 표현 : σ 조건식(릴레이션)
    • 데이터 언어적 표현 : 릴레이션 where 조건식
    • 고객 릴레이션에서 등급이 gold이고, 적립금이 2000 이상인 튜플 검색 

  • 프로젝트: 릴레이션의 속성을 추출하기 위한 단항 연산자
    • 수학적 표현 : 𝛑속성리스트(릴레이션)
    • 데이터 언어적 표현 : 릴레이션[속성리스트]

  • 조인: 두 릴레이션의 공통 속성 을 기준으로 속성값이 같은 튜플을 수평으로 결합하는 연산으로
    기본 연산자의 조합으로 구현할 수 있는 유도된 연산자
    • 동등조인
      • 세타 조인 중에서 비교 연산자가 "같다" 인 경우로 가장 많이 쓰임
      • 양쪽 테이블의 공통 컬럼이 모두 결과에 나타남
    • 세타조인
      • 조인 조건에 비교연산자를 자유롭게 사용
      • 양쪽 테이블의 공통 컬럼이 모두 결과에 나타남
    • 자연조인
      • 동등조건에서 중복되는 조인 컬럼을 하나 제거하여 더 깔끔하게 보여주는 조인
    • 외부조인
      • 자연조인 연산을 확장된 관계 대수 연산자
      • 자연조인에서 조인 조건에 맞지 않아 제외되는 튜플도 버리지 않고 NULL을 채워 반환
    • 세미조인
      • 자연조인 연산을 확장한 관계 대수 연산자
      • 자연조인을 한 후 두 릴레이션 중 한 쪽 릴레이션의 결과만 반환함
  • 디비전
    • 다른 연산과 달리 릴레이션 속성값의 집합으로 연산을 수행함
    • 조인을 사용한 후 릴레이션 2 의 모든 튜플과 관련이 있는 릴레이션1 의 튜플을 추출하는 연산으로 활용
    • 표현법 : 릴레이션 1 ÷ 릴레이션 2


4. 관계대수 사용 예

  • 자연 조인 - 조인 속성이 여러 개일때는?

B1, B2 속성값의 쌍이 같은 튜플만 조인함!

  •    외부 조인 - 자연 조인 시 조인에 실패한 튜플을 모두 보여주되 대응 속성에 NULL로 채워서 반환

R2에 2 없으므로 빈칸을 NULL로