요구 사항과 ERD

개체 집합 (속성) 구분자

  • 학생
    • 학번
    • 주민등록번호
    • 이름
    • 주소 학년
  • 교수
    • 교수번호
    • 주민등록번호
    • 이름
    • 직급
    • 임용년도
  • 학과
    • 학과번호
    • 학과명
    • 사무실
  • 교과목
    • 과목번호
    • 교과목명
    • 학점수
  • 강좌(기본키를 가지고 있지 않은 약성개체 집합)
    • 연도
    • 학기
    • 분반
    • 강의실
    • 수강인원

관계

  • 소속
    • 학생 →학과 (Many to One)
      • 한 학생은 한 개의 학과에 속한다
      • 한 개의 학과에는 많은 학생들이 존재할 수 있다.
      • 학생이 없는 학과도 존재 가능
      • 학과가 없는 학생도 존재 가능
    • 교수 → 학과 (Many to One)
  • 개설
    • 교과목 <= 강좌 (One to Many)
      • 교과목에 없는 강좌는 존재 할 수 없다.
      • 강좌가 없는 교과목은 존재 할 수 있다.
      • 한 강좌에 대응하는 교과목은 없거나 하나다
      • 한 교과목에 대응하는 강좌는 없거나 여러개가 있을 수 있다.
  • 강의
    • 교수  강좌 (One to One)
  • 수강
    • 학생 - 강좌 (Many to Many)

설계 순서

  • 방법1: 모든 개체집합들을 결정하고 다음으로 관계를 결정한다.
  • 방법2: 요구사항에서 가장 중요하다고 판단되는 관계집합을 우선 결정

논리적 설계

  • ERD로 부터 테이블 스키마 생성(변환)
  • 논리적 설계 과정
    • 강성 개체집합을 관계형 테이블로 변환
    • 약성 개체집합을 관계형 테이블로 변환
    • 관계집합을 관계형 테이블로 변환
    • 중복되는 테이블 제거
    • 가능한 테이블들 결합

약성 개체집합의 변환

  • 기본키가 존재하지 않는 약성 집합의 경우 혼자서는 테이블로 변환 하는 것이 불가능하다.
  • 부분키와, 강성 개체 집합의 기본키를 요소로 가짐으로써 테이블로 변환 한다.

개체집합의 변환

  • 각각의 관계되는 개체 집합의 기본키를 가지고 테이블로 변환된다.

자기연관 관계집합의 변환

  • 동일한 기본키를 사용한다면 역활의 의미를 반영하여 기본키 명칭을 변경하여 포함시킨다.

관계 집합의 변환

  • 일대다 관계 테이블: 일의 개체집합에 다의 기본키를 넣는 것으로 가능
  • 다대다 관계 테이블: 결합이 불가능 함 따라서 그대로 스키마를 형성하는게 바람직
  • 일대일 관계 테이블: 두 집합을 하나로 합치거나 한쪽에 한쪽의 기본키를 넣는 것으로 가능

일반화 관계의 변화

  • 상위 개체집합의 유지
  • 상위 개체집합 제거 후 하위 개체집합에 각각 포

'CS > DataBase' 카테고리의 다른 글

트랜잭션  (0) 2023.05.19
정규화  (0) 2023.05.19
데이터베이스 설계  (0) 2023.04.30
물리적 저장 구조와 인덱스  (0) 2023.04.26
데이터베이스 보안  (0) 2023.04.09

+ Recent posts