본문 바로가기
기타의 기타/정보처리기사

[정보처리기사 실기]SQL응용 - 데이터 정의어 DDL

by n년차초보개발자 2023. 2. 21.
728x90
반응형

스키마

    : 데이터의 구조, 제약조건등의 정보를 갖고있는 기본적인 구조

  • 외부스키마(External Schema) = 서브스키마

        - 사용자나 개발자의 관점에서 필요로하는 데이터베이스의 논리구조       

        - 사용자뷰를 나타냄

  • 개념스키마(Conceptual Schema)

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

        - 전체적인 뷰를 나타냄

        - 개체간의 관계, 제약조건, 접근권한, 무결성, 보안에 대하여 정의함.

  • 내부스키마(Internal Schema)

        - 물리적 저장장치의 관점에서 보는 데이터베이스 구조

        - 실제로 데이터베이스에 저장 될 레코드의 형식을 정의하고,

          저장데이터 항목의 표현방법, 내부레코드의 물리적 순서 등을 표현

 

테이블 = 릴레이션 = 앤티티

    : 데이터저장공간

*  식별자 : 여러개의 집합체를 담고있는 관계형 데이터베이스에서 각각 구분할 수 있는 논리적 개념

도메인 (Domain)

    : 하나의 속성(튜플)이 가질 수 있는 원자값들의 집합

 

뷰 (View)

    : 하나이상의 물리적 테이블 또는 다른 뷰로부터 파생된 논리테이블

  • 특징

        * 논리적 데이터 독립성 제공 - DB에 영향을 주지 않고 애플리케이션이 원하는 형태로 데이터에 접근이 가능

        * 데이터 조작연산 간소화 - ex)회원테이블에 영향을 주지 않고 우수회원만 뷰로 뽑아 사용하기

        * 보안기능(접근제어) - 뷰로 만들어지지 않은 필드는 조회 또는 접근이 불가하다

        * 뷰 변경 불가 - 뷰는 Alter가 불가하다(수정하고 싶으면 Drop 후 Create해야 함)

  • 사용목적

        * 단순 질의어 사용, 단순성, 보안성 향상

  • 단점

        * 뷰 자체 인덱스 불가, Alter사용 불가, 데이터 변경제약 존재(Select만 가능)

 

인덱스

    : 검색연산의 최적화를 위해 데이터베이스내 값에 대한 주소정보로 구성된 데이터구조이다.

      테이블의 특정 레코드 위치를 알려주는 용도로 사용한다.

  • 특징

        - 기본키 컬럼은 자동으로 인덱스가 생성된다.

        - 연월일이나 이름을 기준으로 하는 인덱스는 자동으로 생성되지 않는다.

        - 테이블의 컬럼에 인덱스가 없는 경우 전체스캔한다(Full scan) => 느림!

        - 인덱스가 있을 때 데이터를 빠르게 찾을 수 있다(인덱스범위스캔)

        - where절에 비교되는 컬럼이 인덱스면 검색이 빠르다.

  • 종류

        * 순차인덱스(ordered)        - 데이터가 정렬(sort)된 순서로 인덱스 생성관리 B-Tree 알고리즘을 이용하여 순서를 지정

        * 해시인덱스(Hash)            - 해시함수에 의해 직접 데이터에 키값으로 접근함. 데이터 접근비용이 균일하고 데이터양에 무관함

        *비트맵인덱스(Bitmap)       - 변경이 적은 컬럼에 사용하면 유용하다(성별, 직급, 색상 등)

        *함수기반인덱스(Function) - 사전에 함수기반으로 인덱스를 설정하면 인덱스 기능 및 속도가 향상된다

        *단일인덱스(Singled)          - 하나의 컬럼으로만 인덱스 지정,

        *결합인덱스(Concatenated)- 여러개의 컬럼을 한번에 인덱스로 지정

        * 클러스터인덱스(Cluster)   - 저장된 데이터의 물리적 순서에 따라 인덱스 지정 

  • 스캔방식

        * 범위스캔(Range) - 인덱스 루트블록에서 리프블록까지 수직적으로 탐색한 후에 리프블록을 필요한 범위만 스캔

        * 전체스캔(Full) - 수직적 탐색 없이 인덱스리프블록을 처음부터 끝까지 수평적으로 탐색하는 방식

        * 단일스캔(Unique) - 수직적 탐색만으로 데이터를 찾는 스캔방식

        * 생략스캔(Skip) - 선두 컬럼이 조건절에 빠졌어도 인덱스를 활용하는 스캔방식

 

☆데이터베이스 파일구조

    *순차방법 : 레코드들의 물리적 순서가 레코드들의 논리적 순서와 같도록 순차적으로 저장하는 기법

    *인덱스방법 : 인덱스가 가리키는 주소를 따라 원하는 레코드에 접근할 수 있도록 하는 방법 <키값, 주소>의 쌍으로 구성

    *해싱방법 : 키값을 해시함수에 대입시켜 계산한 결과를 주소로 사용하여 레코드에 접근할 수 있도록 하는 방법

728x90
반응형

댓글