본문 바로가기
Computer Science/Database

[DB] 관계형 모델

by AI_Wooah 2022. 3. 7.

개념적 데이터 모델링의 결과

  1. DBMS에서 사용하는 데이터 모델에 맞추어 데이터를 표현하는 과정
  2. 데이터 정의 언어로 기술된 개념 스키마 생성
  3. 관계형 모델(relational model)
    • 릴레이션ㅇ로 데이터를 표현하는 모델
    • 데이터 표현이 단순하고 직관적 구조화 모델
    • 현재 대다수 DBMS의 기초
      • 관계형 모델을 사용하는 관계형 DBMS(RDBMS)

릴레이션의 구성

데이터를 표의 형태로 구조화 한다

  • 레코드의 유일성 : 중복된 레코드의 존재가 불가능
  • 레코드의 무순서성 : 레코드의 순서는 의미가 없음
  • 컬럼의 무순서성 : 컬럼은 순서가 없고 이름과 값의 쌍
  • 컬럼값의 원자성 : 모든 값들은 나눌 수 없는, 단 하나의 의미

키(key)의 역할

  1. 키의 속성
    • 유일성(Uniqueness), 최소성(Irreducibility)
  2. 키의 종류
    • 슈퍼키(Super Key) : 유일성 만족
    • 후보키(Candidate Key) : 유일성, 최소성 만족
    • 기본키(Primary Key) : 레코드의 구분을 위해 선택된 후보키
    • 외래키(Foreign Key) : 참조된 다른 릴레이션의 기본키

관계형 모델의 제약조건

  • 영역 제약조건 : 컬럼에 정의된 영역(domain)에 속한 값으로만 컬럼값이 결정
  • 키 제약조건 : 키는 레코드를 고유하게 구별하는 값으로 구성
  • 개체 무결성 제약조건 : 어떤한 기본키 값도 널(null)이 될 수 없음
    • 널(Null)의 개념 : '없음' 또는 '0'이 아닌 미지의 값에 대해 표현
      • 입력된 적이 없는 값
      • 적용 불가능한 값
  • 참조 무결성 제약조건 : 반드시 존재하는 레코드의 기본키만 참조 가능

ERD의 변환

  • ER 다이어그램 변환 규칙
  • ER 다이어그램의 의 변환

논리적 데이터 모델링

  1. DBMS의 구현 모델에 맞춰 데이터를 표현하는 과정
  2. 데이터 정의 언어로 기술된 개념 ㅅ키마 생성
  3. 논리적 데이터 모델링의 필요
    • 관계형 DBMS(RDBMS)의 구현 모델에 맞춰 데이터의 구조와 관계를 표현
    • 작성된 ERD를 RDBMS가 수용 가능한 구조로 변환

데이터 연산

  • 관계 연산의 개념
    • 관계형 모델을 기반으로 구성된 릴레이션을 사용하여 새로운 릴레이션을 생성하는 표현
    • 사용자의 관점에서 필요한 데이터를 릴레이션에서 추출하는 방법을 제공하는 도구
    • 관계 대수(relational algebra)
      • 관계 연산을 정의하는 방법
      • 주어진 릴레이션에서 필요한 릴레이션을 만드는 연산자로 구성
      • 관계 대수 연산자는 새로운 임시 릴레이션을 생성
      • 연산자를 중첩하여 연산 처리 절차를 표현
  • 셀렉트 연산
    • 주어진 릴레이션에서 조건을 만족하는 레코드를 갖는 릴레이션을 생성
  • 프로젝트 연산
    • 기술된 컬럼만 갖는 릴레이션으로 재구성
    • <컬럼리스트> :
  • 집합 연산자
    • 수학적 집합 이론에서의 이진 연산
      • 합집합
      • 교집합
      • 차집합
    • 릴레이션은 집합, 레코드는 집합에 포함된 원소
    • 집합 연산자 사용 조건
      • 릴레이션 R과 S의 차수가 동일해야 한다
      • 모든 i에 대해 R의 i번째 컬럼의 도메인과 S의 i번째 컬럼의 도메인이 반드시 동일
  • 카티시언 프로덕트 연선
    • 두 릴레이션에 포함된 레코드 간의 모든 조합을 생성하는 이항 연산자
    • R x S
  • 조인 연산
    • 두 릴레이션에서 조건을 만족하는 레코드를 결합한 레콛로 구성된 릴레이션을 생성
  • 집계 함수 연산
    • 집계 함수를 값들의 집합 또는 레코드의 집합에 적용하는 연산

https://slidesplayer.org/slide/14227940/

반응형

'Computer Science > Database' 카테고리의 다른 글

[DB] 데이터베이스 모델링  (0) 2022.03.07
[DB] 데이터베이스의 특징  (0) 2022.03.07
[DB] SQLD 요약  (0) 2022.03.07

댓글