관계형 모델링

1 분 소요

데이터베이스 바로가기

논리적 데이터 모델링 단계

  1. DBMS에서 사용하는 데이터 모델에 맞추어 데이터를 표현하는 과정
  2. 관계형 모델(RDBMS)
    • 데이터 표현이 단순하고 직관적 구조화 모델
    • Oracle, DB2, PostgreSQL, MySQL, MSSQL 등

릴레이션의 구성

  • 컬럼, 속성, 필드
  • 스키마
  • 레코드, 튜플
  • 인스턴스

릴레이션의 특징

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

ER 다이어그램을 관계형 모델로 변환 변환

  • 1:N의 관계에 있다 가정 : N 개체가 전체참여 조건이면 참여를 받는 개체의 PK를 가져와 FK로 만들어준다.
  • N:N의 관계에 있다 가정 : 두 개체의 PK를 가져와 PK, FK 의 새로운 릴레이션으로 생성하여 관리한다.
  • 1:1의 관계에 있다 기정 : 두 개체 중 FK를 아무대나 넣어도 되지만 레코드의 갯수가 더 적은 곳에서 하는 곳이 좋다. (약한 결합이 존재할 경우 PK,FK를 둘다 넣어줘야한다.)

데이터 연산

관계 연산의 개념

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

셀렉트 연산

  • 주어진 릴레이션에서 조건을 만족하는 레코드를 갖는 릴레이션을 생성

\(σ_{조건}\)  (R)

예)   \(σ_{의사이름='유명의'}\)  (의사)

프로젝트 연산

  • 기술된 컬럼만 갖는 릴레이션으로 재구성

\(Π_{<컬럼리스트>}\)    (R)

예)   \(Π_{교수이름, 소속학과}\)  (교수)

카티시언 프로덕트 연산

  • 두 릴레이션에 포함된 레코드 간의 모든 조합을 생성하는 이항 연산자

조인 연산

  • 두 릴레이션에서 조건을 만족하는 레코드를 결합한 레코드로 구성된 릴레이션을 생성
\[σ_{AΘB}(R * S)\] \[Π_{환자이름, 환자번호}(σ_{의사이름='유명의'}(σ_{환자.의사번호 = 의사.의사번호} (환자 * 의사) ) )\]

댓글남기기