3주차 관계 데이터 모델

김지원·2026년 9월 18일

핵심주제

  • 관계 데이터 모델의 개념
  • 무결성 제약조건
  • 관계대수

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

(1) 릴레이션의 개념
관계 데이터 모델의 개념

  • 개념적 구조를 논리적 구조로 표현하는 논리적 데이터모델
  • 하나의 개체에 관한 데이터를 하나의 릴레이션에 저장

릴레이션: 행과 열로 구성된 테이블 , 스키마와 인스턴스로 이루어짐 , 정적

(2) 릴레이션 스키마와 인스턴스
행=튜플 / 열=속성
도메인: 속성에 가질 수 있는 값의 집합
차수: 속성의 개수
릴레이션 인스턴스 : 스키마에 저장된 데이터 집합, CRUD자주발생(동적)
튜플: 릴레이션의 행
카더날리티: 튜플의 수

(3) 릴레이션의 특징

  • 속성의 원자성 (=단일값)
  • 속성의 무순서성
  • 속성의 동일성 : 속성은 정의된 도메인에 속하는 동일한 유형의 값 가짐
  • 튜플의 유일성 : 동일한 튜플존재 불가
  • 튜플의 무순서성

(4) 관계 데이터 모델
데이터를 2차원 테이블 형태인 릴레이션으로 표현
릴레이션에 대한 제약조건과 관계연산을 위한 관계대수를 정의
SQL기반으로 구현

2. 무결성 제약조건

핵심주제

  • 키
  • 무결성 제약조건

(1) 키

릴레이션에서 특정 튜플을 유일하게 구별하는 속성 또는 속성들의 집합
**키의 특성: 유일성, 최소성

키의 종류

슈퍼키: 유일성만 만족하는 키 예) 고객아이디
후보키: 유일성과 최소성을 만족하는 키
슈퍼키 중에서 불필요한 속성을 제거한 최소 키
기본키: 후보키 중 밑줄그어 표시 , NULL허용 안됨.
대체키: 기본키로 선택되지 못한 키
대리키: 인공적인 키 , 마땅한 기본키 없을때, 보안을 필요로 할!
때
외래키: 다른 릴레이션의 기본키를 참조하는 속성 / NULL가능! 중복값 가능!
양쪽 릴레이션의 도메인은 서로 같아야함.
기본키가 변경되면 외래키 값도 변경됨
자기자신의 기본키를 참조하는 외래키도 가능
외래키는 기본키의 일부가 될 수 있음
참조하는 릴레이션: 외래키 가지고있음 (= 자식)
참조되는 릴레이션: 외래키가 참조하는 기본키를 지님 (=부모)

(2) 무결성 제약조건

무결성: 데이터에 결함이 없는 상태. 데이터가 정확하고 유효
데이터의 무결성

  • 데이터의 무결성을 보장하기 위한 규칙
  • 무결성을 유지하려면, 튜플의 삽입,삭제,수정시 데이터의 제약조건 준수

무결성 제약조건

  • 도메인 무결성 : 속성의 도메인에 지정된 값만 가져야 함
  • 개체 무결성 : 기본키는 NULL값을 가지면 안되고, 릴레이션 내에 오직 하나의 값만 존재해야함.(=기본키 제약)
  • 참조 무결성 : 자식의 외래키는 부모의 기본키와 도메인이 같아야 하며, 자식값 변경될때 부모릴레이션의 제약을 받는다. (= 외래키 제약)
    부모에 없는 값을 자식이 참조하면 위반

개체 무결성 제약조건 위반 대표 예
기본키가 NULL일때
기본키가 중복일때
기본키를 가진 행 삭제시 참조하는 외래키가 있을때
기본키를 구성하는 모든 속성은 널값을 가질 수 없다.

참조 무결성 제약조건 위반 대표 예
참조중인 부모키 삭제 및 변경
존재하지 않는 부모키 참조시 위반
단. 외래키 속성이 NULL을 가진다고해서 참조 무결성 제약조건 위반아니다.

부모릴레이션에서 튜플 삭제시 참조무결성 제약조건을 수행하기 위한 옵션
RESTRICTED: 요청한 삭제 거부
CASCADE: 관련튜플 연쇄적 삭제
DEFAULT: 미리 설정한 기본값으로 변경
NULL: NULL값으로 설정

3. 관계대수

핵심주제

  • 관계대수
  • 집합연산
  • 셀렉션과 프로젝션
  • 조인
  • 디비전

(1) 관계대수

릴레이션을 처리하는 기본연산자 5개

  • 셀렉션, 프로젝션, 합집합, 차집합, 카티션프로덕트
    셀렉션: σ 튜플 선택
    프로젝션:π 속성을 선택

(2) 집합연산

합집합, 교집합, 차집합은 피연산자인 두 릴레이션이 합병 가능해야함.
합병조건 :
두 릴레이션 차수가 같아야함.
두 릴레이션에서 서로 대응되는 속성의 도메인이 같아야함.

합집합
합집합시 차수는 같고 카디널리티는 같거나 적음
교환법칙, 결합법칙 성립

교집합
교집합시 차수는 같고 카디널리티는 같거나 적음
교환법칙, 결합법칙 성립

차집합
교환법칙,결합법칙 성립하지 않음

카티션 프로덕트
차수는 두 릴레이션의 차수를 더한 것과 같음
카디널리티는 곱한 것과 같음
교환법칙, 결합법칙 성립

(3) 셀렉션과 프로젝션

셀렉트(select) σ
릴레이션에서 조건을 만족하는 튜플만 추출
비교연산자와 논리연산자를 이용해 작성
교환법칙 성립

프로젝트(project) π
릴레이션에서 속성을 추출하기 위한 연산자
예) 고객 릴레이션에서 고객이름, 등급, 적립금을 검색할때
π고객이름, 등급, 적립금 (고객)
*동일한 튜플은 중복되지 않고 한번만 나타남

(4) 조인

두 릴레이션의 공통속성을 기준으로 속성값이 같은 튜플을 결합하는 연산

  • 세타조인 ⋈θ : 두 릴레이션간의 속성값을 비교(=,<,>)하여 조건에 맞는 튜플을 반환함
  • 동등조인 ⋈A=B : 세타조인에서 "=" 연산자를 사용한 조인
  • 자연조인 ⋈ₙ : 중복속성을 제거하고 반환하는 조인

동등조인
세타조인 중에서 "=" 연산자를 사용한 조인
양쪽 테이블의 공통 컬럼이 모두 결과에 나타남.

세타조인
조인조건에 비교연산자를 자유롭게 사용
양쪽 테이블의 공통 컬럼이 모두 결과에 나타남

자연조인
동둥조건에서 중복되는 것은 제거하는 조인
즉 같은 속성은 한번만 표시할때

외부조인
자연 조인에서 조인 조건에 맞지 않아 제외되는 튜플도 NULL로 채워반환
왼쪽 외부조인 ⟕
오른쪽 외부조인 ⟖
완전 외부조인 ⟗

세미조인
자연조인을 한 후 두 릴레이션 중 한쪽 릴레이션의 결과만 반환함.
표현법: 릴레이션1⋉릴레이션2
-> 릴레이션2 연결고리가 될 조인속성만 먼저 뽑아낸후, 릴레이션1과 자연조인하여 합침, 불필요한속성 제거할 수 있는 장점
교환법칙 성립하지 않음.

(5) 디비전

속성값의 집합으로 연산을 수행함.
특정 조건을 모두 충족하는 대상을 찾을 때 사용
표현법: 릴레이션1 ÷ 릴레이션2

profile
즐겁게살어

0개의 댓글