우봉수
2023. 4. 30. 03:50
2023. 4. 30. 03:50
데이터베이스 설계 단계
- 커뮤니케이션
- 사용자의 요구사항 분석
- 개념적 설계: 분석 결과를 추상화된 표현 방식으로 기술 (개념적 스키마 생성)
- ex: 개체 관계 모델, 개체관계 다이어그램(ERD), ER스키마
- DBMS
- 논리적 설계: 논리적 데이터베이스 구조에 맞는 스키마 생성 (논리적 스키마 생성)
- 개념적 스키마를 통해 논리적 스키마(테이블 구조도)를 생성
- 관계형 데이터 모델
- 물리적 설계: 실제 컴퓨터에 저장되는 방식 설계
- DBMS를 통해 실제 테이블 저장, 구조 설계, 생성
- 필드의 데이터 타입, 인덱스, 물리적 스키마 지정
설계 과정의 고려사항
- 충실성: 모든 데이터를 표현해야 한다.
- 단순성: 단순하고 이해하기 쉬운 구조로 짜야한다.
- 중복의 최소화
- 제약조건의 표현
개체관계 모델: 개념적 설계
- 개체(Entity)
- 현실 세계에서 물리적/추상적으로 존재하는 실체 (레코드)
- 개체집합(Entity Set)
- 동일한 특성을 갖는 개체들의 모임 (테이블)
- 강성 개체 집합: 기본키 형성에 필요한 속성을 모두 갖는 개체집합
- 약성 개체 집합: 기본키 형성에 필요한 속성을 모두는 갖지 못한 개체 집합(독립적으로 존재 할 수 없음), 강성 개체 집합과 일대다 관계로 전체 참여한다.
- 속성(Attribute)
- 개체의 특성, 관계형 데이터 모델의 (필드)와 유사
- (관계형 데이터 모델)필드: 테이블의 컬럼 원자 값만 허용된다.
- (개체관계 모델)속성: 다중값 속성, 복합 속성 가능
관계와 관계집합
- 관계: 개체간의 대응성
- 일대일(one-to-one): 외래키를 추가 하여 구현
- 일대다(one-to-many): 외래키를 추가 하여 구현
- 다대일(many-to-one): 외래키를 추가 하여 구현
- 다대다(many-to-many): 중간 테이블"이나 "연관 테이블"이라고 불리는 새로운 테이블을 만들어 다대다 관계를 두 개의 일대다 관계로 분리
- 관계집합: 동일한 유형의 관계들의 집
부분키, 구별자
- 약성 개체집합에서 강성 개체집합의 특정 개체 내에서만 유일한 값을 갖는 속성 집합
- course 개체집합의 속성
- class 개체집합의 속성
- year, semester, division, classroom, enroll
- 특정 course에 대해서만 유일한 값을 갖는 class의 속성: year, semester, division (class 개체 집합의 부분키)
- 약성 개체집합의 기본키: 약성 개체집합의 부분키 + 강성 개체집합의 기본키