2 minute read


5주차 수업 내용 정리


개념 모델화


데이터 모델링

  • 실세계의 데이터를 데이터베이스로 옮기는 것
  • 데이터베이스의 구성요소, 일관성 제약, 데이터 검색과 변경을 위한 조작 언어를 포함


개념 모델

  • 실세계의 데이터 구성과 규약(요구사양)을 기술한 것
    • ER 모델, UML 클래스 등이 대표적
  • 개념 모델링의 순서
    • 요구사양을 적어 나감
    • 요구사양으로부터 개념 모델을 작성


관계 데이터 모델

  • 데이터베이스 중 주류
    • 최근에는 NoSQl이 주목받았음
  • 수학의 집합론을 기초로 하고 있음
  • 추상적이면서 실장과 독립
  • ER 표로부터 변환 가능
    • 개념 모델 -> 논리 모델
    • 관계 데이터 모델의 ‘관계’는 ER 표에서의 ‘관계’와는 별개의 개념
  • 데이터 조작체계는 관계형 대수, 관계 논리를 이용


구성 요소

  1. 도메인
    • 서로 다른 분류의 모임
    • 예시: 이름의 집합, 과목명의 집합, 지연수의 집합
      • 𝐷1 = {𝑥 | 𝑥 ∈ 氏名}
      • 𝐷2 = {데이터베이스 データベース,네트워크 ネットワーク}
      • 𝐷3 = {1, 2, … , 100}
    • 각 열(속성)이 어떤 타입의 값을 가질 수 있는가에 대한 정의
    • 튜플 tuple 組
      • 도메인들의 곱집합


  2. 릴레이션
    • 튜플의 집합, 즉 테이블 자체를 의미
    • D₁, D₂, …, Dₙ을 유한한 도메인이라고 할 때, D₁, D₂, …, Dₙ 위의 릴레이션 R이란 곱집합 D₁ × D₂ × ⋯ × Dₙ의 임의의 유한 부분집합을 말한다.
      • R ⊆ D₁ × D₂ × ⋯ × Dₙ
    • 세로 Column은 속성, 가로 Row는 튜플
    • 속성이나 릴레이션에는 이름을 부여할 수 있음
    • 릴레이션에는 시간의 경과에 따라, 변화하지 않는 부분도 있고 변화하는 부분도 있음
      • 속성명과 릴레이션명은 변화하지 않음(이상적)
      • 반면 튜플은 삽입하거나, 삭제하거나, 변경될 수 있음


    • 릴레이션 스키마
      • 릴레이션 이름, 속성(컬럼) 이름, 도메인 이름으로 구성
        • 도메인 이름은 생략 가능
      • ex: Student(SID: int, Name: string, Major: string)
      • 정규화 과정에서 테이블 간의 종속성과 함수 종속을 분석할 때 필요
        • 어떤 속성이 기본 키인지, 어떤 속성끼리 연관되어 있는지 등
      • 릴레이션 스키마의 인스턴스란, 어떤 특정 시점에서의 튜플(행)들의 집합


일관성 규약

  1. 후보 키 候補キー Candidate Key
    • 릴레이션 안에서 튜플을 고유하게 식별할 수 있는 속성의 집합
      • 데이터를 검색, 변경할 때마다 어느 데이터를 대상으로 할 것인지 특정할 필요가 있음
    • 아주 작은 집합이어야만 함
    • 어느 하나의 속성이라도 누락되면 고유 식별성이 없어짐
    • 후보 키를 포함하는 속성 집합을 슈퍼 키 スーパキー라고 함


  2. 주 키 主キー Primary Key
    • 후보 키 중 하나를 선정
    • 주키 속성 이름에 밑줄


  3. 키 제약 キー制約 (주 키 제약이라고도 불림)
    • 키 속성은 유일해야 하며, NULL 값을 가져서는 안 됨
      • NULL 값(널 값, 공백 값)이란?
        • 해당 속성이 값을 가질 수 없는 경우
        • 해당 속성이 값을 가질 수 있지만, 현재 그 값이 불명확한 경우
        • 해당 속성이 값을 가질 수 있는지조차 확실하지 않은 경우


  4. 외래 키 外部キー Foreign Key
    • 관계형 데이터베이스는 여러 개의 릴레이션(테이블)로 구성됨
    • 릴레이션 간에는 일반적으로 연관 관계가 존재
    • 외래 키(Foreign Key)는 다른 릴레이션의 속성(주 키)을 참조하기 위해 사용하는 속성
    • 외래 키 제약조건 (Foreign Key Constraint)
      • 외래 키는 참조 대상 릴레이션의 주 키에 존재하는 값이거나,
      • NULL 값이어야 함


Entity Relationship (ER)

ER도에서 관계 모델로의 변환 절차

  1. 개체(Entity)를 릴레이션(릴레이션 스키마)으로 변환
  2. 관계(Relationship)를 릴레이션으로 변환
    • 관계가 1:1(일대일)인 경우
    • 관계가 1:N(일대다)인 경우
    • 관계가 N:1(다대일)인 경우
      • 1:N과 동일한 방식으로 처리
    • 관계가 N:M(다대다)인 경우