[DB(2)]데이터 모델링과 ERD소개

이유정·2024년 7월 31일
0

데이터베이스

목록 보기
25/25

  • ERD 다이어그램 (Entity Relationship Diagram)

목차

개요

DB 설계를 위한 고수준의 개념적 데이터 모델 사용

  • DB 구축의 결과 => DB 스키마

데이터베이스 응용 예제

  • DB 요구사항 분석

개념적 설계의 결과 - ERD

  • ER 다이어그램은 Visual Language이다.
    • visual한 도구를 사용해서 db 구조를 표현

개체, 개체 타입, 애트리뷰트, 키

  • Entity : 개체
    • 회사, 직원, 부서
  • Attribute: 속성
    • 이름, 주소, 나이, 휴대폰 번호

동일한 속성을 가지고 있는 개체들이 여러개 모이면,
=> 개체 집합, 개체 type

  • key : 개체 하나를 구분할 수 있는 속성
    • 직원의 사원번호 , 주민등록번호

  • 복합 속성: 주소와 같음
  • 단순 속성: 나눌 수 없는 속성 (Number)
  • 단일 값 속성: 어떤 직원의 Address가 하나만 있을 때
  • 다치 속성: 어떤 직원의 주소가 여러군데 있을 때
  • 유도된 속성: age는 birthdate만 있으면 값을 낼 수 있다.
  • 저장된 속성: birthdate

  • 개체 속성에 널 값을 가질 수 있다.
  • 널은 값이 없다. 값을 모른다는 뜻 두개다 의미.
  • 복합 속성은 중첩 괄호를 사용해서 표현할 수도 있다.
    • 앞에서 그래프로 표현한 것을 괄호로 표현한 것임.

  • 개체 타입은 동일한 속성을 갖는 개체들의 집합이다.
  • EMPLOYEE가 모여있으면 EMPLOYEE 개체 집합
  • COMPANY가 모여있으면 COMPANY 개체 집합

  • 차도 개체집합이다

  • Key 속성: 각 개체마다 서로 다른 값을 가지는 속성
  • 도메인(값 집합): age 속성의 도메인은 (16살 ~ 70살)로 범위 제한

관계, 관계 타입, 구조적 제약조건

개체들 사이 관계에 대해 이야기해보자.

  • 관계는 개체와 개체 사이의 관계를 말함.

  • r1은 e1이 d1에 다니고 있다는 관계를 나타냄.
  • 이런 관계들을 다 모으면 관계 타입 (관게 집합) 이라고 함.
  • n:1 관계

  • 3진 관계도 있다.
  • 공급자, 부품, 프로젝트
  • 관계: 공급자가 어떤 프로젝트에 어떤 부품을 공급한다.
  • ex) r1은, s1이라는 공급자가 p1이라는 부품을 j1이라는 프로젝트에 공급한다.

  • 어떤 employee가 어떤 부서를 관리하다는 관계임/

  • ex) r1은, e2가 d1의 매니저임을 나타낸다.

  • 1:1 관계라고 할 수 있음.

  • r1은, e1이 p1 프로젝트에 참여한다고 말할 수 있음.

  • m:n 관계

이런 관계를 ER 모델에서 어떻게 표현할 것이냐? 이런 것도 중요한 과제다.
고것에 대해 살펴보자 ~

  • 동일한 3개의 Entity 타입에 대해서 하나의 삼진관계로 모델링할 수 있고, 2개의 이진관계로 모델링할 수도 있다.

  • 다이아몬드 하나가, 두개의 entity type 을 연결하고 있으면 => 2진관계

  • 다이아몬드 하나가, 세개의 entity type 을 연결하고 있으면 => 3진관계

  • 2진관계는 몇대 몇이냐는 것을 적을 수 있다.

    • 한 공급자가 하나의 part만을 공급한다. 1대 1이냐, 1대 n이냐, n:m이냐 관계에 대해서 고민
  • 3진관계는 이 3entity type이 서로 관련이 있을 때, 즉, 어떤 공급자가 어떤 부품을 어떤 프로젝트에 공급할 때 ! , 그때 이 관련성 정보가 3가지 entity를 전부 엮어주는 역할을 한다.

  • 3진관계가 2진관계보다 더 엄격하다.

    • ex)
profile
강의 기록 블로그

0개의 댓글