계속되는 설계의 부분 입니다...

재미도 없으실듯 하고... 전혀 도움이 안된다고 생각도 많이 하실 겁니다.

하지만 반드시 필요한 개념이랍니다....

 

목 차

개념적 설계의 중요성

추상화

    분류화, 집단화, 일반화

매핑

개념적 모델

개체관계모델(E-R 모델링)

개념적 스키마 설계기법

개념적 스키마 설계

논리적 스키마 설계

 

 

개념적 설계의 중요성

목표 DBMS의 선택 보류 가능

DBMS및 응용 명세서 변경시 개념적 스키마를 새로운 설계 작업의 시작점으로 사용

여러 다른 데이터베이스가 동질의 체계안에서 비교가능

기존의 데이터베이스로부터 연합 시스템 구축 및 통합된 데이터 사전 생성 용이

사용자들의 참여 고양

 

 

추상화(abstraction)

개념적 데이터 모델링 도구

정의 :

    어떤 객체 집합의 필수적인 특성이나 성질등을 선택하고 적절하지 않는 다른 특성들을 제외할 때 사용하는 정신적 과정

분류화, 집단화, 일반화

 

 

추상화 - 분류추상화(Classification abstraction)

공통 성질들로 특성화 되어 있는 어떤 현실세계 객체의 클래스(Class)를

하나의 개념으로 정의IS_MEMBER_OF 관계

 

 

추상화 - 집단추상화(Aggregation abstraction)

각각의 구성요소를 표현하는 (다른)클래스들의 집합으로부터 새로운 클래스를 정의

IS_PART_OF 관계

 

 

추상화 - 일반추상화(Generalization abstraction)

두개 이상의 클래스 요소 사이의 부분집합 관계를 정의

IS_A 관계

상속성(inheritance)

 

 

추상화 - Cont’d

분류화, 집단화, 일반화 각각이 독립적

 

 

매핑 mapping (1)

대응수(cardinality)

     : 매핑에 참여하는 클래스수

최소대응수

    매핑에 참여하는 최소 클래스수

    선택적참여(optional participation),

    강제적참여(mandatory participation)

최대대응수

    매핑에 참여하는 최대 클래스수

    일대일(one-to-one), 일대다(one-to-many),

    다대일(many-to-one), 다대다(many-to-many)

 

 

매핑 mapping (1) -Cont’d

 

 

매핑 mapping (2)

일반화 관계에서의 매핑

    전체적 적용(total coverage : t),

    부분적 적용(partial coverage : p)

    배타적 적용(exclusive coverage : e),

    오버랩핑 적용(overlapping coverage : o)

 

 

매핑 mapping (2) -Cont’d

 

 

개념적 모델

개념적 모델의 질적특성

    표현성(Expressiveness)

    간결성(Simplicity)

    최소성(Minimality)

    형식성(Formality)

표현

    언어적 표현

    그래픽적 표현

 

 

개체-관계 모델 (1)

개체(entity)

    현실세계 객체들의 클래스 표현

    표현 : 사각형

관계(relationship)

    두개 이상의 개체를 연결한 집단화의 표현

    최소대응수와 최대대응수

    표현 : 마름로

속성(attributes)

    개체 또는 관계의 기초적인 성질

    특정 도메인과 관련

 

 

개체-관계 모델 (2)

일반화계층(generalization hierarchies)

    개체들간의 일반화 계층 생성

    부분집합(subsets)

복합속성(composite attributes)

    유사성을 가지는 속성들의 그룹

    표현 : 타원형

식별자(identifiers)

    한 개체 또는 관계의 모든 인스턴스를 유일하게 결정하는 성질을 가지는 속성들 또는 개체들의 집합

 

 

개체-관계 모델 (3)

 

 

개념적 스키마 설계 기법

상향식 기법(Top-Down Strategy)

하향식 기법(Bottom-Up Strategy)

외부지향식 기법(Inside-Out Strategy)

혼합식 기법(Mixed Strategy)

 

 

개념적 스키마 설계

요구사항분석

    자연어, 양식, 레코드선언 요구사항 분석

    모호성을 없앤다.

초기설계

    전반적인 골격스키마를 만든다.

상세설계

    골격스키마를 바탕으로 각 개념마다 모든 요구사항이 표현될때까지 상세화시킨다.

 

 

개념적 스키마 설계 - 예

자연어 요구사항

 

대학 데이터베이스는 학생과 교수에 관한 데이터를 나타낸다. 학생에 관한 정보로는

 이름, 나이, 성, 도시, 출생지(도시), 가족들의 거주지, 전에 살았던 장소와 기간,

 이수한 과목(과목명, 코드, 교수, 학점, 날짜) 등이 있다. 그리고 지금 이수하고 있는

 과목과 매일매일 강의하는 장소와 시간도 포함한다.  대학원생에 관한 정보로는 교수

 이름과 지난 해 총이수 학점 등이 있다. 박사과정 학생에 관한 정보로는 논문제목과 연구

 분야 등이 있다. 교사에 관한 정보로는 이름, 나이, 출생한 장소, 소속학과, 전화번호,

 직위, 상태, 그리고 주제등이 있다.

 

이러한 자연어로 구축을 의뢰를 받게 되지요...

요는 이러한 자연어로된 구축 의뢰를 과연 어떻게 DB스키마로 적용시키는가.. 입니다.

 

 

개념적 스키마 설계 - 예 (Cont’d)

모호성 제거후그룹 분리(1)

1. 일반적인 문장

 

대학 데이터베이스는 학생과 교수에 관한 데이터를 나타낸다.

 

 

2. 학생에 관한 문장

 

학생에 관한 정보로는 이름, 나이, 성, 도시, 출생지(도시), 가족들의 거주지(도시),

 전에 살았던 도시, 이수한 과목(과목명, 과목코드, 교수, 학점, 날짜) 등이 있다.

 

 

 

개념적 스키마 설계 - 예 (Cont’d)

3. 과목에 관한 문장

 

그리고 올해 이수하고 있는 과목과 일주일동안 매일매일 그 과목의 강의실과

 시간도 포함한다.

 

 

4. 특정학생에 관한 문장

 

대학원생에 관한 정보로는 지도교수 이름과 지난 해 총이수 학점 등이 있다.

박사과정 학생에 관한 정보로는 논문제목과 연구 분야 등이 있다.

 

 

 

개념적 스키마 설계 - 예 (Cont’d)

모호성 제거후그룹 분리(3)

5. 교수에 관한 문장

 

교수에 관한 정보로는 이름, 나이, 출생한 도시, 소속학과, 학과 전화번호, 직위,

 결혼여부, 그리고 연구분야 등이 있다.

 

 

 

개념적 스키마 설계 - 예 (Cont’d)

처음의 골격 스키마

 

 

개념적 스키마 설계 - 예 (Cont’d)

재구성된 골격 스키마

 

 

개념적 스키마 설계 - 예 (Cont’d)

최종적인 스키마

 

 

 

 

 

 

 

왜 없을까요? 

정답은 없다라는 거랍니다. 

 

논리적 스키마 설계

목적

    개념적 스키마를 사용자의 목적에 따라 특정 DBMS에 맞도록 변환하는 것

종류

    계층형, 네트워크형, 관계형, 객체지향형 등

관계형 모델로의 변환

    일반화 계층의 제거

    복합, 다중속성 제거

    참조 무결성제약 정의

    E-R 모델에서 관계형 모델로의 연산 매핑

 

 

논리적 스키마 설계 - 예 (Cont’d)

 

약간은 개념적인 도움이 되셨는지요? 이제는 실제로 SQL이야기를 들어 간답니다..

도움이 되셨기를 바라구요...

그럼 이만.. 개론부분의 이야기를 접도록 하겠습니다. ^_^

0. DB 개론 _ 5- 데이터베이스 설계의 끝