우봉수
2023. 5. 10. 22:33
2023. 5. 10. 22:33
요구 사항과 ERD
개체 집합 (속성) 구분자
- 학생
- 교수
- 학과
- 교과목
- 강좌(기본키를 가지고 있지 않은 약성개체 집합)
관계
- 소속
- 학생 →학과 (Many to One)
- 한 학생은 한 개의 학과에 속한다
- 한 개의 학과에는 많은 학생들이 존재할 수 있다.
- 학생이 없는 학과도 존재 가능
- 학과가 없는 학생도 존재 가능
- 교수 → 학과 (Many to One)
- 개설
- 교과목 <= 강좌 (One to Many)
- 교과목에 없는 강좌는 존재 할 수 없다.
- 강좌가 없는 교과목은 존재 할 수 있다.
- 한 강좌에 대응하는 교과목은 없거나 하나다
- 한 교과목에 대응하는 강좌는 없거나 여러개가 있을 수 있다.
- 강의
- 수강
설계 순서
- 방법1: 모든 개체집합들을 결정하고 다음으로 관계를 결정한다.
- 방법2: 요구사항에서 가장 중요하다고 판단되는 관계집합을 우선 결정
논리적 설계
- ERD로 부터 테이블 스키마 생성(변환)
- 논리적 설계 과정
- 강성 개체집합을 관계형 테이블로 변환
- 약성 개체집합을 관계형 테이블로 변환
- 관계집합을 관계형 테이블로 변환
- 중복되는 테이블 제거
- 가능한 테이블들 결합
약성 개체집합의 변환
- 기본키가 존재하지 않는 약성 집합의 경우 혼자서는 테이블로 변환 하는 것이 불가능하다.
- 부분키와, 강성 개체 집합의 기본키를 요소로 가짐으로써 테이블로 변환 한다.
개체집합의 변환
- 각각의 관계되는 개체 집합의 기본키를 가지고 테이블로 변환된다.
자기연관 관계집합의 변환
- 동일한 기본키를 사용한다면 역활의 의미를 반영하여 기본키 명칭을 변경하여 포함시킨다.
관계 집합의 변환
- 일대다 관계 테이블: 일의 개체집합에 다의 기본키를 넣는 것으로 가능
- 다대다 관계 테이블: 결합이 불가능 함 따라서 그대로 스키마를 형성하는게 바람직
- 일대일 관계 테이블: 두 집합을 하나로 합치거나 한쪽에 한쪽의 기본키를 넣는 것으로 가능
일반화 관계의 변화
- 상위 개체집합의 유지
- 상위 개체집합 제거 후 하위 개체집합에 각각 포