1.데이터모델링의 기본: 현실세계에 존재하는 개체를 찾아내 그 개체에 대한 특성과 특징을 파악하여 특성화를 시키는 것.


데이터모델링과정

*개체정의 식별자 정의 상세화 통합- 검증

 

정보모델링과 데이터모델링

*정보모델링: 현실세계의 개체요소를 추상화 시킴, 사람이 이해 할 수 있는 형태의 정보구조

*데이터모델링: 컴퓨터가 이해할 수 있는 형태의 논리적구조

 

모델링단계

*현실단계(개체,특성, ) - 개념적 단계(개체 타입, 속성, )- 논리적 단계(레코드타입,필드,)

 

2. 데이터 모델


데이터모델 개념

*개념적 데이터 모델: 속성들로 기술된 개체타입과 이 개체타입들 간의 관계를 이용해서 표현

) E-R 모델, 이진 모델, 함수적 데이터 모델

*논리적 데이터 모델: 필드로 기술된 데이터 타입들 간의 관계를 이용하여 현실 세계 표현

) 관계형 데이터 모델, 계층형, 네트워크형, 객체 지향형 데이터 모델

 

데이터 모델의 구성요소

*데이터의 논리적 구조(Structure): 데이터 사이 관계성을 파악해서 그 논리적 구성 형태를 파악

*개체 인스턴스를 처리하는 연산(Operation): 데이터를 어떤 방법으로 삽입,삭제,갱신 할 것인가

*개체 인스턴스에 대한 논리적 제약사항(Constraint): 어떤 데이터만을 받아 들일 것인가 기술

 


개체 관계 모델

*개념적 단계에서 개체 내의 관계, 개체와 개체 사이의 사상 관계를 표현하는데 사용

E-R 모델이 대표적

 

E-R 모델의 특징

*개체 타입과 관계타입을 이용해서 현실세계표현

*개체라는 것은 현실 세계에 존재하는 객체들을 의미함

*관계라는 것은 개체들 사이의 관계를 의미

*E-R 다이어 그램은 그래프 형태로 표시하게 된다

 

E-R 다이어 그램에서 사용되는 그래픽 기호

 


 

 

논리적 데이터 모델

*논리 단계에서 쓰이고 개념적 구조를 컴퓨터에 저장 시킬 수 있는 논리적 구조로 변환하고자 쓰이는 모델

*데이터 베이스의 전체적인 논리 구조를 설명할 때 사용되는 모델이다

*관계 표현 방법에 따라 관계 데이터 모델(테이블), 계층 데이터 모델(트리구조), 네트워크 데이터 모델(그래프)로 구분된다.

 

관계데이터 모델

*통일적이고 단순하다

*릴레이션 구조로 운영된다.

*기본키와 이를 참조하는 외래키로 데이터 관계 표현

*사용자에게 뛰어난 논리적 구조 지원

 


계층형 데이터 모델

*데이터간의 관계를 트리형태로 나타낸다

*속성간의 관계를 레코드로, 레코드 간의 관계를 링크로 나타낸다

*모든 링크의 관계는 1:N

*레코드 타입간에는 상하계층이 존재하게 된다.

*노드는 레코드 타입, 가지는 두 레코드 사이 링크

 

네트워크 데이터 모델

*데이터 관계를 그래프 구조 형태로 나타난다.

*1에 해당하는 타입을 오너레코드 타입, N에 해당하는 레코드 타입을 멤버레코드 타입이라고 한다.

*데이터 간의 연관성이 매우 뛰어나다

*복잡하고 구축비용이 많이 든다

*노드는 레코드 타입이 되고 링크는 개체 집합 간의 관계성이 된다

*링크는 어느 한쪽으로 반드시 함수적 관계로 해서 화살표로 나타난다.

 

 

데이터 정규화

스키마 설계 : 현실세계를 가장 정확하게 표현 하기 위한 데이터의 논리적 구조 결정하는 것

 

관계 스키마 설계 원칙

*필요한 속성, 개체, 관계성을 식별하여 릴레이션 구성

*데이터 중복 제거

*데이터 관계성과 종속성 고려

 

스키마 변환 원리

*분해의 원칙

*정보의 무손실 원칙

*데이터 중복 감소의 원칙

 

이상 현상

관계 스키마 설계가 잘못되면 데이터 중복초래

*삭제이상 : 임의의 튜플을 삭제 했을 때 그것과 관계를 형성하고 있는 관계성까지 모두 삭제 되는 현상

*삽입이상: 임의의 튜플을 삽입했을 때 삽입 의도가 없는 관계까지도 삽입되는 현상

*갱신이상: 임의의 데이터를 갱신했을 때 그것과 관계를 맺고 있는 데이터에 대해 일관성을 유지할 수 없는 현상

 

함수 종속

A의 도메인 값에 대해 송성 B의 도메인 값이 오직 한 개만 연관 된다면 BA의 함수 종속이라 하고 A->B로 표기한다

 

정규화 과정

정규화의 개념

*하나의 릴레이션에 하나의 의미만 존재

*정규형이란 특정 조건에 만족하는 릴레잉션 스키마의 형태를 의미한다.

 

목적

*모든 릴레이션이 중복되지 않게 하기 위해

*효과적인 연산

*이상 문제가 예방

 

정규화의 필요성

*저장 공간 최소화

*자료의 불일치 최소화

*자료 구조 안정화

*이상현상 방지

 



정규화 과정

*비정규형 -> 1 정규형 -> 2정규형 -> 3정규형 -> 보이스 코드 정규형 -> 4정규형

 

*1 정규형: 하나의 튜플에서 모든 도메인 값이 하나의 값만 가질 수 있도록 하는 것

 

*2 정규형: 어떤 릴레이션 R이 제1 정규화에 속하고 기본키에 속하지 않는 모든 속성이 기본키에 완전 함수적 종속이면 제2정규형

(완전 함수적종속: 기본키에 모두 종속 된다, 부분함수 종속: 기본키에 부분적으로 종속된다)

 

*3 정규형

어떤 릴레이션 R이 제2정규화에 있으면서 기본키에 속하지 않는 모든 속성이 기본키에 이행적 함수 종속이 아니면 제3정규형에 속한다.

 


 

데이터베이스 설계

유의사항

*무결성유지

*회복과 예비 절차 염두

*보안절차 유의

 

*데이터 베이스의 생명주기: 요구조건분석- 설계 구현 운영 - 감시 및 개선

 

데이터베이스의 설계 순서

요구 조건 분석 단계 개념적 설계 논리적 설계 - 물리적 설계 구현 단계

 

요구사항 분석

요구되는 개체와 속성, 관계성, 제약조건, 트랜잭션의 유형, 실행 횟수 등을 파악


개념적 설계 단계

*개념 스키마 모델링과 트랜잭션 모델링을 병행적으로 수행하는 단계

*개념 스키마 모델링: 요구 분석단계에서 나온 결과를 E-R 다이어그램과 같은 DBMS에 독립적이고 고차원적인 표현 기법으로 기술

 

논리적 설계

사용할 DBMS가 어떤 모델을 지원하는가 파악하여 그 지원 모델에 일치하게 논리적 데이터 모델로 변환시키는 단계

(트랜잭션에 대한 인터페이스 설계, 스키마에 대한 평가 및 정제작업)

 

물리적 설계

데이터베이스에 포함될 여러 파일 타입에 대한 저장 레코드의 양식, 순서, 접근 경로를 설계한다.

 

물리적설계 사항

저장될 레코드의 양식 설계: 데이터 타입, 접근 횟수 등

저장될 레코드들의 분포 및 집중에 관한 설계: 레코드를 저장 시킬 때는 물리적으로 연속적 저장이 효율적이다. 순차 처리인 경우는 블록 사이즈가 큰 것이 유리, 임의 처리인 경우는 작은 것이 유리하다.

 

물리적 설계 옵션 선택시 고려 사항: 응답시간, 저장공간의 효율화, 트랜잭선 처리도

+ Recent posts