본문 바로가기
KNOU/요약정리

[데이터베이스시스템] 3. 관계형 모델

by bottlesun 2024. 5. 25.
728x90

관계형 모델의 개념

사용자 요구사항 분석 → (데이터 및 업무) → 개념적 데이터 모델링 → (ER 모델) → 논리적 데이터 모델링 → (관계형 모델) → 물리적 데이터 모델링 → (물리적 세부사항) → 내부 스키마

논리적 데이터 모델링 단계

  • DBMS 에서 사용하는 데이터 모델에 맞추어 데이터를 표현하는 과정
  • 데이터 정의 언어로 기술된 개념 스키마 생성
  • 관계형 모델(relational model)

→ 1969년 에드가 F. 코드에 의해 제안

→ 릴레이션(relation) 으로 데이터를 표현하는 모델

→ 데이터 표현이 단순하고 직관적 구조화 모델

→ 현재 대다수 DBMS의 기초

  • 관계형 모델을 사용하는 관계형 DBMS(RDBMS)
  • Oracle , DB2 , PostgresSql , mySql …

릴레이션의 구성

  • 릴레이션 : 표의 형태의 데이터 구조
  • 스키마 : 각각의 열에 대한 의미를 가진 표 머리
  • 레코드 , 투플 : 스키마에 맞춰 각각의 열에 의미에 맞는 내용
  • 컬럼, 속성, 필드 : 표의 세로 열
  • 컬럼 값 : 레코드와 컬럼이 겹치는 값
  • 인스턴스 : 릴레이션 , 스키마에 맞춰 레코드가 들어가 있는 상태

릴레이션의 특징

  • 레코드의 유일성

→ 중복된 레코드의 존재가 불가능

  • 레코드의 무순서성

→ 레코드의 순서는 의미가 없음

  • 컬럼의 무순서성

→ 컬럼은 순서가 없고, 이름과 값의 쌍

  • 컬럼값의 원자성

→ 모든 값들은 나눌 수 없는, 단 하나의 의미

키(Key) 의 역할

  • 키의 속성

유일성 (Uniqueness) , 최소성(Irreducibility)

  • 키의 종류

→ 수퍼키(super key) : 유일성 만족

→ 후보키(candidate key) : 유일성, 최소성 만족

→ 기본키(PK: primary key) : 레코드의 구분을 위해 선택된 후보 키

→ 외래키(FK: foreign key) : 참조된 다른 릴레이션의 기본 키

관계형 모델의 예

  1. 수퍼키 : 학과이름, {학과이름, 단과대학}, 주소, 전화번호 , {전화번호,졸업학점} 등
  2. 후보키 : 학과이름, 주소, 전화번호
  3. 기본키 : 학과이름
학과이름 단과대학 주소 전화번호
국어국문학과 인문과학대학 012-1234-1234
법학과 사회학과대학 123-1234-1234

키의 참조

  1. 두 릴레이션에 포함된 레코드 간 연관성을 표현

강의 내용 발췌

관계형 모델의 제약 조건

영역 제약조건 → 컬럼에 정의된 영역(domain) 에 속한 값으로만 컬럼 값이 결정

키 제약조건 → 키는 레코드를 고유하게 구별하는 값으로 구성

개체 무결성 제약조건 → 어떠한 기본키 값도 널(null)이 될 . 수없음

참조 무결성 제약조건 → 반드시 존재하는 레코드의 기본키만 참조 가능

Null의 개념

  1. 없음 or 0 이 아닌 미지의 값에 대한 표현

→ 입력된 적 없는 값

→ 적용 불가능한 값

ERD의 변환

논리적 데이터 모델링

  1. DBMS의 구현 모델에 맞춰 데이터를 표현하는 과정
  2. 데이터 정의 언어로 기술된 개념 스키마 생성
  3. 논리적 데이터 모델링의 필요

→ 관계형 DBMS(RDBMS)의 구현 모델에 맞춰 데이터의 구조와 관계를 표현

→ 작성된 ERD를 RDBMS가 수용 가능한 구조로 변환

학생 ← <<보유>> → 계좌

관계형 모델로 변환 방법

단계 1. 개체 집합 : 개체 집합은 릴레이션으로 변환

단계 2. 약한 개체 집합 : 강한 개체 집합의 키 속성을 약한 개체 집합의 릴레이션에 포함

단계 3. 일대일 관계 : 두 릴레이션 중에서 한 릴레이션의 기본키를 다른 릴레이션에서 외래키로 참조

단계 4. 일대다 혹은 다대일 관계 : ‘일’쪽의 기본키를 ‘다’쪽 릴레이션에서 외래키로 참조

단계 5. 다대다 관계 : 관계 릴레이션을 생성하고, 두 릴레이션의 기본키를 각각 참조하는 외래키를 복합키 형태의 컬럼으로 구성

단계 6. 다중값 속성 : 릴레이션의 기본 키를 참조하는 외래키와 다중 값 속성으로 별도의 릴레이션으로 구성

단계 7. 관계 집합의 속성 : 외래키가 위치한 릴레이션의 컬럼으로 삽입

관계 연산의 개념

  1. 관계형 모델을 기반으로 구성된 릴레이션을 사용하여 새로운 릴레이션을 생성하는 표현
  2. 사용자의 관점에서 필요한 데이터를 릴레이션에 추출하는 방법을 제공하는 도구
  3. 관계 대수(relational algebra)

→ 관계 연산을 정의하는 방법

→ 주어진 릴레이션에서 필요한 릴레이션을 만드는 연산자 로 구성

→ 관계 대수 연산자는 새로운 임시 릴레이션을 생성

→ 연산자를 중첩하여 연산 처리 절차를 표현

728x90

댓글