데이터베이스의 정의  

특정 조직의 업무를 수행하는 데 필요한 상호 관련된 데이터들의 모임으로 다음과 같이 정의할 수 있다.

   - 통합 데이터 : 검색의 효율성을 위해 중복이 최소화된 데이터의 모임

   - 저장 데이터 : 컴퓨터가 접근 가능한 저장 매체에 저장된 데이터

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

   - 공유 데이터 : 여러 응용 프로그램들이 공동으로 사용하는 데이터

 

데이터베이스의 특징

   - 실시간 접근성  : 사용자의 질의에 대하여 즉시 처리

   - 계속적인 진화 : 삽입, 삭제, 갱신을 통하여 항상 최근의 정확한 데이터를 동적으로 유지

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

   - 내용의 의한 참조 : 주소나 위치에 의해서가 아니라 사용자가 요구하는 데이터 내용에 따라 참조

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

 

데이터 언어

   - DDL : 데이터베이스 구조, 데이터 형식, 접근 방식 등 데이터 베이스를 구축하거나 변경할 목적으로 사용한는 언어

             ex) CREATE, ALTER, DROP

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

             ex) INSERT, DELETE, UPDATE

   - DCL : 보안 및 권한 제어, 무결성 , 회복, 병행 제어를 위한 언어

             ex) COMMIT - 데이터베이스 조작 작업을 영구적으로 반영하여 완료

                    ROLLBACK -데이터베이스 조작 작업이 비정상적으로 종료되었을 때 원래의 상태로 복구

                    GRANT - 데이터베이스 사용자에게 사용 권한을 부여

                    REVOKE - 데이터베이스 사용자의 사용 권한을 취소

   * 트랜잭션 : 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 일련의 연산 집합으로서 작업의 단위               

   * 데이터베이스 관리자 : DDL과 DCL을 통해 데이터베이스를 정의하고 제어하는 사람 또는 그룹

 

* 기존 파일 시스템의 문제점인 데이터 종속성, 중복성을 해결하기 위해 DBMS 출현  

 

* 데이터베이스 관리 시스템의 필수 기능 : 정의 기능, 조작 기능, 제어 기능

 

* DSMS : 통신상의 데이터 스트리밍을 통해 데이터를 처리하고 관리하는 시스템 

 

* MARC : 목록 레코드를 식별하여 축적, 유통할 수 있도록 코드화한 메타 데이터

 

* 메타 데이터의 상호운용성을 확보하기 위한 방법에는 자원을 하나의 표준적인 메타 데이터로 통합하여 표현하는 방법, 자원의 특성을 감안하여 다양한 메타 데이터 형식과 기술 구조를 인정하고 상호 매핑을 통해 해결하는 방법, MDR에 의한 해결 방법이 있다.

 

* MDR : 메타 데이터의 등록과 인증을 통하여 메타 데이터를 유지, 관리하며, 메타 데이터의 명세를 공유하는 레지스트리

 

스키마

   - 외부 스키마 : 사용자나 응용 프로그래머가 각 개인의 입장에서 필요로 하는 데이터베이스의 논리적 구조를 정의

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

                     명세를 정의

   - 내부 스키마 : 데이터베이스의 물리적 구조를 정의

 

* 데이테베이스 설계 : 요구 조건 분석 -> 개념적 설계 -> 논리적 설계 -> 물리적 설계 -> 데이터베이스 구현

 

* 릴리이션 : 릴레이션 스키마 + 릴레이션 인스턴스 // 속성의 개수 : 차수 // 튜플의 개수 : 카디널리티

 

* 슈퍼키 / 후보키 / 기본키 / 대체키 / 외래키

 

* 식별 관계 / 비식별 관계

 

* 무결성

- 고유 무결성 : 릴레이션의 특정 속성에 대해 각 튜플이 갖는 속성 값들이 서로 달라야 한다는 규정

- 도메인 무결성 : 특정 속속의 값이 그 속성이 정의된 도메인에 속한 값이어야 한다는 규정

- 키 무결성 : 하나의 릴레이션에는 적어도 하나의 키가 존재해야 한다는 규정

- 관계 무결성 : 릴레이션에 어느 한 튜플의 삽이 가능 여부 또는 한 릴레이션과 다른 릴레이션의 튜플들 사이의 관계

                  에 대한 적절성 여부를 지정한 규정

- 참조 무결성 : 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 한다는 규정

- 개체 무결성 : 기본 릴레이션의 기본키를 구성하는 어떤 속성도 NULL 일 수 없다는 규정

 

* 관계대수 : 절차적 / 관계해석 : 비절차적

 

CREATE 예제

   CREATE TABLE 학생

      ( 이름 VARCHAR(15) NOT NULL,

        학번 CHAR(8),

        전공 CHAR(5),

        생년월일 DATE,

        PRIMARY KEY(학번),

        FOREIGN KEY(전공) REFERENCES 학과(학과코드)

           ON DELETE SET NULL

           ON UPDATE CASCADE,

        CONSTRAINT 생년월일제약 CHECK(생년월일>='1920-01-01'));

 

이상의 원인과 종류

테이블에서 일부 속성들의 종속으로 인해 데이터의 중복이 발생하기 때문

   - 삽입 이상 / 삭제 이상 / 갱신 이상

   

정규화

   - 제 1정규형 : 테이블에 속한  모든 속성의 도메인이 원자 값만으로 되어 있는 정규형

   - 제 2정규형 : 테이블이 제 1정규형이고, 기본키가 아닌 모든 속성이 기본키에 대하여 완전 함수적 종속을 만족하는

                      정규형

   - 제 3정규형 : 테이블이 제 2정규형이고, 기본키가 아닌 모든 속성이 기본키에 대해 이행적 함수적 종속을 만족하지

                      않는 정규형

   - BCNF : 테이블에서 모든 결정자가 후보키인 정규형

 

트랜잭션의 특성

   - 원자성 : 특랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않아야 한다.

   - 일관성 : 트랜잭션 수행이 성공적으로 완료되면 언제나 일관성 있는 데이터베이스 상태로 변환한다.

   - 독립성 : 한 트랜잭션이 데이터를 갱신하는 동안 이 트랜잭션이 완료되기 전에는 갱신중인 데이터를 다른 트랜잭션

                들이 접근하지 못하도록 해야 한다.

   - 영속성 : 트랜잭션의 실행이 성공적으로 실행 완료된 후에는 시스템에 오류가 발생하더라도 트랜잭션에 의해 변경된

                내용은 계속 보존되어야 한다.

 

병행 제어

다중 프로그램의 이점을 황용하여 동시에 여러 개의 트랜잭션을 병행 수행할 때 실행되는 트랜잭션들이 데이터베이스의 일관성을 파괴하지 않도록 트랜잭션 간의 상호 작용을 제어하는 기술

* 로킹 기법 : 주용 데이터의 액세스를 상호 배타적으로 하는 것으로, 트랜잭션들이 어떤 로킹 단위를 액세스하기 전에 Lock(잠금)을 요청해서 Lock이 허락되어야만 그 로킹 단위를 액세스할 수 있도록 하는 기법

 

튜닝

데이터베이스 응용 프로그램, 테이터베이스 자체, 운영체제 등의 조정을 통하여 데이터베이스 관리 시스템의 성능을 향상시키는 작업

* 인덱스 튜닝 : 분포도가 좋은 칼럼을 인덱스로 생성   ->   클러스터디 인덱스 / 넌클러스터디 인덱스

 

고급 데이터베이스

   - 분산 데이터베이스 : 논리적으로는 같은 시스템에 속하지만 물리적으로는 컴퓨터 네트워크를 통해 분산되어 있는 데

                               이터베이스

   - 멀티미디어 데이터베이스 : 텍스트, 그래픽, 정지 화상, 동영상, 음성 등이 복합적으로 구성된 데이터베이스

   - 주기억장치 데이터베이스 : 데이터베이스 전체를 주기억장치에 상주시킨 후 데이터베이스 연산을 수행하는 시스템

   - 데이터 웨어하우스 : 급증하는 다량의 데이터를 효과적으로 분석하여 정보화하고 이를 여러 계층의 사용자들이 효율

                                적으로 사용할 수 있도록 한 데이터베이스

   - 데이터 마트 : 전사적으로 구축된 데이터 웨어하우스로부터 특정 주제나 부서 중심으로 구축된 소규모 단일 주제의

                       데이터 웨어하우스

   - 데이터 마이닝 : 데이터 웨어하우스에 저장된 데이터 집합에서 사용자의 요구에 따라 유용하고 가능성 있는 정보를

                          발견하기 위한 기법 // ex) 클러스터링(군집화) 기법 : 상호 간에 유사한 특성을 갖는 데이터들을 집

                                                                                              단화

   - OLAP : 다차원으로 이루어진 데이터로부터 통계적인 요약 정보를 분석하여 의사결정에 활용하는 방식

               연산 : Roll-up / Drill-down / Drill-through / Drill-across / Pivoting / Slicing / Dicing

   - OTLP : 온라인 업무 처리 형태의 하나로 네트워크상의 여러 이용자가 실시간으로 데이터베이스의 데이터를 갱신하

               거나 검색하는 등의 작업을 처리하는 방식

   - ODBC : 프로그램과 데이터베이스의 종류에 관계없이 자유롭게 데이터베이스에 접근하여 사용할 수 있도록

                Microsoft사가 만든 응용 프로그램의 표준 인터페이스

 

 

'정보처리기사 실기' 카테고리의 다른 글

2. 업무 프로세스 실무 응용  (0) 2019.06.25

+ Recent posts