1.데이터모델링의 기본: 현실세계에 존재하는 개체를 찾아내 그 개체에 대한 특성과 특징을 파악하여 특성화를 시키는 것.
데이터모델링과정
*개체정의 – 식별자 정의 – 상세화 – 통합- 검증
정보모델링과 데이터모델링
*정보모델링: 현실세계의 개체요소를 추상화 시킴, 사람이 이해 할 수 있는 형태의 정보구조
*데이터모델링: 컴퓨터가 이해할 수 있는 형태의 논리적구조
모델링단계
*현실단계(개체,특성, 값) - 개념적 단계(개체 타입, 속성, 값)- 논리적 단계(레코드타입,필드,값)
2. 데이터 모델
데이터모델 개념
*개념적 데이터 모델: 속성들로 기술된 개체타입과 이 개체타입들 간의 관계를 이용해서 표현
예) E-R 모델, 이진 모델, 함수적 데이터 모델
*논리적 데이터 모델: 필드로 기술된 데이터 타입들 간의 관계를 이용하여 현실 세계 표현
예) 관계형 데이터 모델, 계층형, 네트워크형, 객체 지향형 데이터 모델
데이터 모델의 구성요소
*데이터의 논리적 구조(Structure): 데이터 사이 관계성을 파악해서 그 논리적 구성 형태를 파악
*개체 인스턴스를 처리하는 연산(Operation): 데이터를 어떤 방법으로 삽입,삭제,갱신 할 것인가
*개체 인스턴스에 대한 논리적 제약사항(Constraint): 어떤 데이터만을 받아 들일 것인가 기술
개체 관계 모델
*개념적 단계에서 개체 내의 관계, 개체와 개체 사이의 사상 관계를 표현하는데 사용
E-R 모델이 대표적
E-R 모델의 특징
*개체 타입과 관계타입을 이용해서 현실세계표현
*개체라는 것은 현실 세계에 존재하는 객체들을 의미함
*관계라는 것은 개체들 사이의 관계를 의미
*E-R 다이어 그램은 그래프 형태로 표시하게 된다
E-R 다이어 그램에서 사용되는 그래픽 기호
논리적 데이터 모델
*논리 단계에서 쓰이고 개념적 구조를 컴퓨터에 저장 시킬 수 있는 논리적 구조로 변환하고자 쓰이는 모델
*데이터 베이스의 전체적인 논리 구조를 설명할 때 사용되는 모델이다
*관계 표현 방법에 따라 관계 데이터 모델(테이블), 계층 데이터 모델(트리구조), 네트워크 데이터 모델(그래프)로 구분된다.
관계데이터 모델
*통일적이고 단순하다
*릴레이션 구조로 운영된다.
*기본키와 이를 참조하는 외래키로 데이터 관계 표현
*사용자에게 뛰어난 논리적 구조 지원
계층형 데이터 모델
*데이터간의 관계를 트리형태로 나타낸다
*속성간의 관계를 레코드로, 레코드 간의 관계를 링크로 나타낸다
*모든 링크의 관계는 1:N
*레코드 타입간에는 상하계층이 존재하게 된다.
*노드는 레코드 타입, 가지는 두 레코드 사이 링크
네트워크 데이터 모델
*데이터 관계를 그래프 구조 형태로 나타난다.
*1에 해당하는 타입을 오너레코드 타입, N에 해당하는 레코드 타입을 멤버레코드 타입이라고 한다.
*데이터 간의 연관성이 매우 뛰어나다
*복잡하고 구축비용이 많이 든다
*노드는 레코드 타입이 되고 링크는 개체 집합 간의 관계성이 된다
*링크는 어느 한쪽으로 반드시 함수적 관계로 해서 화살표로 나타난다.
데이터 정규화
스키마 설계 : 현실세계를 가장 정확하게 표현 하기 위한 데이터의 논리적 구조 결정하는 것
관계 스키마 설계 원칙
*필요한 속성, 개체, 관계성을 식별하여 릴레이션 구성
*데이터 중복 제거
*데이터 관계성과 종속성 고려
스키마 변환 원리
*분해의 원칙
*정보의 무손실 원칙
*데이터 중복 감소의 원칙
이상 현상
관계 스키마 설계가 잘못되면 데이터 중복초래
*삭제이상 : 임의의 튜플을 삭제 했을 때 그것과 관계를 형성하고 있는 관계성까지 모두 삭제 되는 현상
*삽입이상: 임의의 튜플을 삽입했을 때 삽입 의도가 없는 관계까지도 삽입되는 현상
*갱신이상: 임의의 데이터를 갱신했을 때 그것과 관계를 맺고 있는 데이터에 대해 일관성을 유지할 수 없는 현상
함수 종속
A의 도메인 값에 대해 송성 B의 도메인 값이 오직 한 개만 연관 된다면 B는 A의 함수 종속이라 하고 A->B로 표기한다
정규화 과정
정규화의 개념
*하나의 릴레이션에 하나의 의미만 존재
*정규형이란 특정 조건에 만족하는 릴레잉션 스키마의 형태를 의미한다.
목적
*모든 릴레이션이 중복되지 않게 하기 위해
*효과적인 연산
*이상 문제가 예방
정규화의 필요성
*저장 공간 최소화
*자료의 불일치 최소화
*자료 구조 안정화
*이상현상 방지
정규화 과정
*비정규형 -> 제 1 정규형 -> 제2정규형 -> 제3정규형 -> 보이스 코드 정규형 -> 제4정규형
*제1 정규형: 하나의 튜플에서 모든 도메인 값이 하나의 값만 가질 수 있도록 하는 것
*제2 정규형: 어떤 릴레이션 R이 제1 정규화에 속하고 기본키에 속하지 않는 모든 속성이 기본키에 완전 함수적 종속이면 제2정규형
(완전 함수적종속: 기본키에 모두 종속 된다, 부분함수 종속: 기본키에 부분적으로 종속된다)
*제3 정규형
어떤 릴레이션 R이 제2정규화에 있으면서 기본키에 속하지 않는 모든 속성이 기본키에 이행적 함수 종속이 아니면 제3정규형에 속한다.
데이터베이스 설계
유의사항
*무결성유지
*회복과 예비 절차 염두
*보안절차 유의
*데이터 베이스의 생명주기: 요구조건분석- 설계 – 구현 – 운영 - 감시 및 개선
데이터베이스의 설계 순서
요구 조건 분석 단계 – 개념적 설계 – 논리적 설계 - 물리적 설계 – 구현 단계
요구사항 분석
요구되는 개체와 속성, 관계성, 제약조건, 트랜잭션의 유형, 실행 횟수 등을 파악
개념적 설계 단계
*개념 스키마 모델링과 트랜잭션 모델링을 병행적으로 수행하는 단계
*개념 스키마 모델링: 요구 분석단계에서 나온 결과를 E-R 다이어그램과 같은 DBMS에 독립적이고 고차원적인 표현 기법으로 기술
논리적 설계
사용할 DBMS가 어떤 모델을 지원하는가 파악하여 그 지원 모델에 일치하게 논리적 데이터 모델로 변환시키는 단계
(트랜잭션에 대한 인터페이스 설계, 스키마에 대한 평가 및 정제작업)
물리적 설계
데이터베이스에 포함될 여러 파일 타입에 대한 저장 레코드의 양식, 순서, 접근 경로를 설계한다.
물리적설계 사항
저장될 레코드의 양식 설계: 데이터 타입, 접근 횟수 등
저장될 레코드들의 분포 및 집중에 관한 설계: 레코드를 저장 시킬 때는 물리적으로 연속적 저장이 효율적이다. 순차 처리인 경우는 블록 사이즈가 큰 것이 유리, 임의 처리인 경우는 작은 것이 유리하다.
물리적 설계 옵션 선택시 고려 사항: 응답시간, 저장공간의 효율화, 트랜잭선 처리도
'매일코딩 > 보안&정보처리기사' 카테고리의 다른 글
sql 인젝션 2 (0) | 2018.07.17 |
---|---|
보안이슈 및 개발보안의 필요성1 (0) | 2018.07.17 |
[정보처리기사 정리]- 1. 데이터베이스 (2) | 2017.01.03 |
댓글