develop

[정보처리 산업기사 실기] 2과목 데이터베이스 실무 일반 1장 데이터베이스 기본 개념 DBMS 스키마 설계 ER모델 공부 정리

방뎁 2023. 2. 2. 20:00
반응형

- 데이터베이스의 정의

특정 조직의 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임

▶통합 데이터(Integrated Data) : 검색의 효율성을 위해 중복이 최소화된 데이터 

▶저장 데이터(Stored Data) : 컴퓨터가 접근 가능하나 저장 매체에 저장된 데이터

▶운영 데이터(Operational Data) : 조직의 목적을 위해 존재 가치가 확실하고 반드시 필요한 데이터

▶공유 데이터(Shared Data) : 여러 응용 프로그램들이 공동으로 사용하는 데이터

 

-데이터베이스의 특징

▶실시간 접근성(Real Time Accessibility) : 사용자의 질의에 대하여 즉시 처리하여 응답하는 특징

▶계속적인 진화(Continuous Evolution) : 삽입, 삭제, 갱신을 통해 항상 최근의 정확한 데이터를 동적으로 유지하는 특징

▶동시 공유(Concurrent Sharing) : 여러 사용자가 동시에 원하는 데이터를 공용할 수 있는 특징

▶내용에 의한 참조(Content Reference) : 데이터베이스에 있는 데이터를 참조할 때 사용자가 요구하는 데이터 내용에 따라 참조하는 특징 

▶데이터의 논리적, 물리적 독립성(Independence)

->논리적 독립성  : 응용 프로그램과 데이터베이스를 독립시켜서

데이터의 논리적 구조를 변경시키더라도 응용 프로그램은 변경되지 않는 특징

->물리적 독립성 : 응용 프로그램과 보조기억장치와 같은 물리적 장치를 독립시켜

데이터베이스 관리 시스템의 성능 향상을 위해 새로운 디스크를 도입하더라도

응용 프로그램에는 영향을 주지 않고 데이터의 물리적 구조만 변경될 수 있는 특징

 

-데이터베이스 시스템

▶데이터베이스 시스템의 정의

데이터베이스를 이용하여 자료를 저장,관리하여 정보를 얻어내는 데 필요한 컴퓨터 중심 시스템

 

 

 

-데이터 언어

▶데이터베이스 구축,이용을 위한 데이터베이스 관리 시스템과의 통신수단.

▶기능과 목적에 따라

→DDL(정의어)

데이터베이스를 구축하거나 변경할 목적으로 사용.

DDL 컴파일러가 컴파일 후 데이터 사전에 저장한다. 

 =DDL 기능

데이터베이스의 논리적,물리적 구조를 정의 및 변경

데이터의 물리적 순서 규정

스키마에 사용되는 제약 조건 정의

 

→DML(조작어)

데이터 처리를 위해 응용프로그램과 데이터베이스 관리 시스템 간의 인터페이스를 위한 언어

데이터처리를 위한 연산의 집합(=> 데이터의 검색, 삽입, 삭제, 갱신 연산 등)

=DML의 형태

   -절차적 데이터 조작어:사용자가 어떤(what) 데이터를 필요로 하는지,어떻게(how) 필요한 데이터를 구하는지 명시. (배우고 사용하기 어려움)

   -비절차적 데이터 조작어: 사용자가 어떤(what) 데이터를 필요한지까지만 명시, how는 명시하지 않음(배우고 사용하기 쉽지만 코드 효율성이 떨어진다)

 

→DCL(제어어)- 보안 및 제어, 무결성, 회복, 병행 제어를 위한 언어

=DCL 기능

 데이터 보안: 권한이 없는 접근으로부터 데이터베이스를 보호

 데이터 무결성:의미적인 측면에서 데이터가 정확하고 완전함을 의미/사용자가 무결성 제약조건을 정의하면 데이터베이스 관리시스템은 데이터를 삽입, 삭제, 갱신할 때마다 제약 조건을 자동적으로 검사한다. 

 데이터 회복: 시스템 오류 등으로부터 데이터베이스 회복

 병행 제어: 여러 사용자가 동시에 데이터베이스를 공유할 수 있도록 한다. 

 

 

-데이터베이스 사용자 (이름은 비슷해도 하는 일이 모두 다르다!!!!)

●데이터 베이스 관리자(DBA)

DDL과 DCL을 통해 데이터베이스를 정의하고 제어하는 사람(그룹)

데이터베이스 관리 시스템과 컴퓨터 시스템, 조직 내 전산 업무에 상당한 지식을 보유해야 한다. 

데이터베이스를 설계, 관리, 운용 및 통제하고 효율성과 경제적인 효용성을 높이기 위해 시스템을 감시하고 성능 분석

 

●데이터 관리자(DA)

하나의 기업 또는 조직 내에서 데이터에 대한 정의, 체계화, 감독 및 보안 업무 담당 + 기업 조직 전반에 걸쳐 존재하는 데이터에 대한 관리 총괄 + 정보 활용에 대한 중앙 집중적인 계획 수립 및 통제

수립된 데이터 표준 원칙, 데이터 표준, 데이터 표준 준수 여부 관리 등

 

●데이터 설계자(DA)

데이터 구조를 체계적으로 정의하는 사람

데이터 구조 전반에 걸쳐 데이터 구조 원칙, 데이터 구조 정보, 데이터 구조 관리 등을 정의해야 함. 

데이터 표준, 관리체계 등을 포함하는 데이터 영역 분류, 이를 기준으로 데이터 모델 생성.

 

▶DBMS

데이터베이스 관리 시스템

:사용자의 요구에 따라 정보를 생성해 주고 데이터베이스를 관리해 주는 소프트웨어

기존의 파일 시스템이 갖는 데이터의 종속성과 중복성의 문제를 해결하기 위해 제안된 시스템으로 

모든 응용 프로그램들이 데이터베이스를 공유할 수 있게 관리해줌. 

 

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

-정의 기능 : 데이터 타입과 구조, 데이터가 데이터베이스에 저장될 때 제약조건 등을 명시하는 기능  

-조작 기능 : 체계적 데이터 처리를 위해 데이터 접근 기능(검색, 삽입, 삭제, 갱신 등)을 명시하는 기능

-제어 기능 : 데이터의 정확성과 안전성을 유지하기 위해 무결성, 보안 및 권한 검사, 병행 제어들을 명시하는 기능 

 

▶DBMS의 장-단점

장점

데이터의 논리적, 물리적 독립성 보장

데이터의 중복을 피할 수 있다. 

데이터를 표준화할 수 있다. 

데이터 무결성, 일관성을 유지할 수 있다.

데이터의 실시간 처리 가능

데이터의 보안을 유지할 수 있다. 

데이터 통합하여 관리할 수 있다. 

항상 최신의 데이터를 유지할 수 있다. 

데이터를 공동으로 이용할 수 있다. 

 

단점

데이터베이스 전문가 부족

대용량 디스크로의 집중적인 접근으로 과부하 발생

전산화 비용 증가

데이터 백업과 회복이 어려움

시스템이 복잡해진다. 

 

+ 데이터 스트림 관리 시스템 (DSMS)

통신상 데이터 스트리밍을 통해 데이터를 처리, 관리하는 시스템

정적이고 영구적인 DBMS와 달리 동적인 특성을 지닌 데이터를 처리하고 관리하는 시스템.

온라인상에서 연속적인 질의를 실행하면서 실시간으로 데이터를 처리하고 관리하므로 질의의 입력 순서에 따라 데이터의 처리 결과가 달라질 수 있다.

 

▶스키마 

개념

: 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 의미한다. 

데이터 개체, 속성, 관계 및 데이터 조작 시 데이터 값들이 갖는 제약 조건들을 전반적으로 정의한다. 

 

특징

:데이터의 구조적 특성을 의미한다. 

데이터 사전에 저장된다. 

특정 데이터 모델을 이용해서 만들어진다. 

시간에 따라 불변의 특성을 갖는다. 

데이터의 논리적 단위에 명칭을 부여하고 그 의미를 기술한다. 

 

데이터 사전: 데이터베이스에 저장된 모든 데이터 개체들에 대한 정보를 유지, 관리하는 시스템

(시스템 카탈로 그라 고도한다.)

 

메타데이터: 데이터에 관한 데이터

실제 저장되는 데이터는 아님, 직간접적으로 관계가 있는 정보를 제공하는 데이터

 

메타 데이터 포맷

MARC(Machine Readable Cataloging) - 목록 레코드를 식별해 축적, 유통할 수 있도록 코드 화한 메타데이터

DC(Dublin Core) - 네트워크 환경에서 각종 전자 정보를 기술하는 메타데이터

ONIX(Online Information eXchage)- 유통에 관한 통계와 체계적인 정보 취급 for 정상적인 유통 및 관리

MODS(Metadata Object Description Schema) - 디지털 도서관의 범용 서지 정보 표준 표준 메타데이터

(=MARC, DC, ONIX 등을 절충해 상호운용성과 정밀성을 모두 만족시킴

 

MDR(Meta Data Registry)

메타 데이터의 등록과 인증을 통해 메타 데이터를 유지, 관리하고 메타 데이터의 명세를 공유하는 레지스트리

 

★★★★★★

스키마의 3 계층(외부, 내부, 개념)

 

-외부 스키마

: 사용자, 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의한 것.

 서브 스키마, 사용자 view

 하나의 데이터베이스 관리시스템에 여러 개의 외부 스키마가 존재할 수 있다.

 하나의 외부 스키마는 여러개의 응용 프로그램이나 사용자에 의해 공유될 수 있다. 

 외부 스키마는 동일한 데이터 베이스에 대해서 서로 다른 관점을 정의할 수 있도록 허용한다. 

 

-개념 스키마

개체 간의 관계와 제약 조건을 나타내고 데이터베이스의 접근 권한 보안 정책 및 무결성 규정에 관한 명세 정의

데이터베이스의 전체적인 논리적 구조

조직 전체의 데이터베이스의 명세로서 하나만 존재 

단순히 스키마라고 하면 개념 스키마

기관과 조직의 관점에서 데이터베이스를 정의한 것

데이터베이스 관리자에 의해서 작성

 

-내부 스키마

데이터베이스의 물리적 구조를 정의한 것

하나만 존재한다

개념 스키마의 물리적 저장 구조에 대한 정의를 기술한 것. 

시스템 프로그래머나 시스템 설계자가 보는 관점의 스키마

 

 

▶데이터베이스 설계

데이터베이스 스키마 개발 과정 순서

1. 요구 조건 명세서 작성 (= 요구조건 명세서 작선)

2. 개념적 설계 (=개념 스키마, 트랜잭션 모델링, E-R 모델)

3. 논리적 설계 (=논리 스키마 설계, 트랜잭션 인터페이스 설계)

4. 물리적 설계 (=물리적 구조의 데이터로 변환)

5. 데이터베이스 구현 (= DDL로 데이터베이스 생성, 트랜잭션 작성)

 

 

▶ER(Entity Relationship) 모델

: 개념적 데이터 모델의 가장 대표적

1976년 피터첸에 의해 제안되었다. 

 

▶ER도형

 

 

* 확인해보기 

스키마 (외부, 내부, 개념) 각각의 개념 서술해보기

데이터 언어(DDL, DCL, DML) 간략히 설명하기

DBMS의 역할과 필수 기능(정의, 조작, 제어) 설명해보기

데이터베이스 스키마 개발 과정 순서대로 나열하고 설명 기억하기

ER 다이어그램 속성 분별하기

ER도형 각각 분별하기

반응형