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가 어떤 모델을 지원하는가 파악하여 그 지원 모델에 일치하게 논리적 데이터 모델로 변환시키는 단계

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

 

물리적 설계

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

 

물리적설계 사항

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

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

 

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

1.정보 시스템

 

정보 시스템의 정의: 필요한 자료를 수집, 분배하여 저장했다가 필요할 때 저장된 자료를 처리하여 정보를 제공하는 시스템


자료와 정보의 개념

자료: 처리되지 않은 데이터, 측정 통해 얻은 단순 값

정보: 자료를 처리해서 얻은 값

 


자료 처리 시스템

일괄처리 : 발생 하는 자료를 수집해서 분류해 놓았다가 유사한 트랜잭션들을 한데 모아 일정한 시점에 일괄적으로 처리

시스템 중심처리 , 순차접근방법이용, 트랜잭션당 처리 비용 저렴, 시스템 성능 높다.

) 전화요금, 급여계산, 세무처리

 

온라인 실시간 처리 시스템: 데이터가 발생하면 데이터를 즉시 컴퓨터에 전달하여 처리하는 방식

사용자 중심처리, 오류수정 쉽다, 구조 복잡, 작업량이 많은 경우 시스템 사용 효율성 저하, 유지보수나 회복이 복잡하다. ) 좌석 예약, 은행 입출금 업무,

 

자료와 정보의 개념은 출제가 많이 된다.

 

2. 데이터 베이스

 

정의: 응용 시스템들이 데이터를 공유할 수 있도록 운영에 필요한 모든 데이터를 통합하여 컴퓨터에 저장한 데이터를 의미

 

- 공용데이터(Shared): 필요한 정보를 공동으로 이용할 목적

- 운영데이터(Operational): 한 조직체가 유지되고 운영되는데 필요한 모든 개체와 데이터의 집합

- 통합데이터(Integrated): 자료의 중복을 제거한 최적의 데이터 집합

- 저장데이터(Stored): 컴퓨터 시스템 접근이 가능한 저장매체에 저장된 데이터 집합

 

특징

-데이터 중복 최소화

-계속적인 변화

-실시간 처리 응답 가능

-동시공유가능

-레코드의 위치나 주소가 아닌 데이터의 값에 따라 참조 가능

-뛰어난 자료간 연계성

 

데이터 베이스의 특징 및 구성요소에 대해서 알아두기, 정의 부분은 영어로 알아두기

 

등장배경

여러 사용자가 데이터를 공유할 필요가 생김

현실 세계를 빠르게 반영 하고 싶었음

삽입, 삭제, 갱신을 통해 현재의 데이터를 동적으로 유지하고 싶었다.

물리적 주소가 아닌 데이터 값에 의한 직접적인 검색을 수행하고 싶었다.

 


데이터 베이스의 구성요소


1.속성: 데이터베이스를 구성하는 가장작은 논리단위, 자체만으로 정보를 표시할 수 없다. 단위인 개체나 관계의 특성을 설명하는 도구의 의미로 사용된다.

 

2.개체: 정보를 나타내는 논리적 단위, 개체는 하나 이상의 속성으로 조합, 현실 세계의 표현단위, 개체는 단독으로 존재할 수 있다. 모든개체는 구별가능하다.

 

3. 개체 타입: 개체 이름과 개체의 속성들로 구성하여 만든 논리적 정의, 설계에 해당

 

4. 개체 어커런스: 개체 타입의 연산에 의해 실질적인 개체 값이 들어가 있는 상태

 

5. 개체 집합: 개체 어커런스들의 집합

 

관계

속성 관계 : 개체를 기술하기 위해 그 개체가 가지고 있는 성질이나 특징을 파악하여 속성으로 구성한 후 속성과 속성 사이의 관계를 가지고 개체를 기술한다.

개체 관계: 개체와 개체 사이의 관계를 의미하는 것

 

데이터베이스의 구조

논리적 구조: 사용자나 응용프로그래머가 데이터베이스를 바라보는 관점에서 데이터 배치 형태를 의미하는 것

물리적 구조 : 데이터가 물리적 저장 장치에 배치된 형태를 의미(저장 레코드 의미)

 


데이터베이스의 3단계

-외부단계: 사용자의 관점에서 데이터를 바라보는 관점

-개념단계: 사용자와 물리적인 데이터베이스 사이의 단계

내부단계: 실제로 데이터베이스가 저장되는 저장장치에 대한 물리적 형태를 표현하는 단계

 

 

스키마

개념: 데이터베이스의 전체적인 논리적 설계를 의미하는 것으로 데이터 객체, 이들의 성질, 이 들간의 관계, 데이터 관계들이 갖는 제약조건에 관한 정의를 총칭, 시간에 따라 불편의 특성 가짐, 스키마는 데이터의 구조적 특성을 의미 한다.

 

스키마의 3층 구조

외부스키마: 조직 전체가 아닌 일부분 정의, 사용자 그룹위해서 여러개 존재, 응용프로그래머와 사용자들이 가장 관심을 두는 부분

개념스키마: 하나만 존재, 데이터베이스의 접근 권한, 보안, 무결성 규칙, 데이터를 통합한 조직 전체의 데이터베이스 구조를 논리적으로 정의 하는 개념

내부스키마: 인덱스의 유무, 저장될 내부레코드

 

 

데이터의 독립성

논리적 데이터의 독립성: 사용자의 데이터 연산을 지원하는 응용프로그램의 수정 없이 논리적 데이터 스키마를 변경할 수 있다.

물리적 데이터 독립성: 응용프로그램의 변경 없이 물리적 데이터 구조를 변경할 수 있다.

 

 

3 데이터베이스 관리 시스템(DBMS):데이터 집단과 데이터를 관리하는 프로그램의 집합체


데이터베이스 관리 시스템의 필수 기능

 

1데이터 정의 기능

데이터베이스의 논리적 구조 및 물리적 구조를 정의하는 기능

데이터베이스와 응용프로그램이 서로 인터페이스 할 수 있는 방법 제공

 

2데이터 조작 기능

데이터 검색, 삽입, 변경등의 작업 수행

 

3 데이터 제어기능

동시성 제어 무결성 유지, 보안 및 권한 제어, 시스템 장애에 대비한 데이터 회복과 병행을 하기 위한 언어

 


데이터 베이스 관리 시스템의 장단점

 

장점데이터 중복 최소화 , 데이터 공유, 데이터 표준화 관리, 데이터 보안, 데이터 무결성

 

단점: 구축 복잡, 비용 높다. 백업과 회복절차 수립 어렵다, 한 부분 장애로 전체 영향 받는다.

 

기존 파일 처리 시스템의 문제점: 하나의 데이터 구조를 하나의 응용프로그램이 독립적으로관리


데이터 종속문제와 중복문제

종속문제: 논리적 데이터와 응용프로그램간 종속 관계의미

데이터의 눈리적 구조나 접근 방법이 변경되면 응용프로그램도 변경

종복문제: 같은 내용이라 하더라도 구조가 다르면 중복 저장 관리되어야 한다.

 

 

4 데이터베이스 시스템(DBS) : 발생되는 데이터를 데이터베이스에서 유지 관리하다가 필요한 시점에서 그 데이터를 조작, 변경, 획등하여 어떤 목적에 이용하는 시스템

 


데이터베이스 언어(DBL)

데이터 언어는 사용자가 원하는 어떤 객체도 데이터베이스에서 추출할 수 있고 처리할 수 있는 언어의 완전성을 갖추고 있어야 한다.

 

1데이터 정의어(DDL)

데이터 베이스의 구조를 생성하거나 수정, 삭제 하기 위하여 사용되는 언어

데이터베이스의 스키마 정의

해독한 결과는 메타데이타 형태로 기록

논리적 물리적 구조 정의

 

2데이터 조적어(DML)

구축된 데이터를 액세스 하거나 조작하도록 하는 언어

접근, 검색, 삽입, 갱신

종류: 절차적, 비절차적 조적어

 

3데이터 제어어(DCL)

보안, 무결성, 회복, 병행수행

 


데이터 베이스 관리자

 

역할

예비와 회복 절차 마련

데이터 사전의 작성과 무결성 제약조건 지정

스키마 정의

저장 구조와 접근 방법을 설정

보안 정책의 수립과 데이터 유효성 검사 방법 수립

 

 

 

+ Recent posts

티스토리 툴바