Recent Posts
Recent Comments
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

RamaFam

[ 정보처리기사 - 필기 요점 ] 1. 데이터베이스 본문

공부/정보처리기사

[ 정보처리기사 - 필기 요점 ] 1. 데이터베이스

RamaFam 2019. 3. 29. 13:47


데이터베이스 요점 정리

■ 데이터베이스의 특징

 ① 실시간 접근 ② 계속적인 변화(동적 데이터③ 동시 공유 ④ 내용에 의한 참조

     

■ DBMS의 장점 

① 중복을 최소화한다② 데이터를 공유할 수 있다③ 일관성 유지 ④ 무결성 유지 ⑤ 보안 유지 ⑥ 표준화가 가능

     

■ 스키마(Schema) 

1) 외부스키마(External Schema) : 사용자나 응용프로그래머가 접근할 수 있는 데이터베이스를 정의한다

2) 개념스키마(Conceptual schema)

 -범기관적 입장에서 본 데이터베이스의 정의

 -모든 응용에 대한 전체적으로 통합된 데이터 구조

 -단순히 스키마라고도 한다

 -접근 권한보안 정책무결성 규칙을 명세한다

3) 내부스키마(Internal Schema) : 물리적 저장 장치의 관점

     

■ DBMS의 필수 기능 

1) 정의 기능응용 프로그램과 데이터베이스 사이의 인터페이스

2) 조작 기능사용자와 데이터베이스 사이의 인터페이스 

3) 제어 기능(Control Facility): 데이터의 정확성과 안전성을 유지  

① 무결성 유지 ② 보안유지권한 검사 ③ 병행 수행 제어

     

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

 -정의어(DDL)와 제어어(DCL)를 통해 데이터베이스에 접근 

 ① 데이터베이스 설계와 운영    ② 스키마 정의 ③ 저장 구조와 접근 방법 선정  ④ 보안 검사권한부여

 ⑤ 데이터 사전의 유지 관리     ⑥ 무결성 유지 ⑦ 행정 및 사용자 불평 해결    ⑧ 시스템 감시

⑨ 예비(Backup), 회복(Recovery) 절차를 수립 

(※ 응용프로그램에 관한 사항이 나오면 DBA의 기능이 아니다.)

     

■ 데이터 디렉토리

 -데이터베이스에 수록된 데이터를 실제로 접근하는데 필요한 정보를 수록한다.

 -시스템만이 사용할 수 있다.

     

■ 데이터 모델의 구성요소 

① 데이터의 구조  ② 연산  ③ 제약 조건

     

■ 사상의 원소수 

① 1 : 1(일대일)  ② 1 : n(일대다)  ③ n : m(다대다)

     

■ 개체-관계 모델(E-R Model) -E-R모델의 그래픽 표현 

 ① 개체타입(Entity Type) : 사각형

 ② 속성(Attribute) : 타원

 ③ 관계타입(Relationship) : 다이아몬드 

 ④ 연결 

 ⑤ 레이블 사상 원소수 표현

     

■ 논리적 데이터 모델 

1) 관계 데이터 모델(Relationship Data Model) 

 -릴레이션테이블의 집합으로 표현 

2) 네트워크 데이터 모델

  -데이터 구조가 그래프 형태 

  -사이클을 허용하는 구조 

  -오너(Owner)

  -멤버(Member) 관계 

3) 계층적 데이터 모델(Hierarchical Data Model)

 -데이터 구조가 트리 형태

 -사이클이 없는 구조 -부모-자식 관계

     

■ 논리적 데이터모델에서 m:n의 직접 표현을 제공하지 않는다.   (두 레코드 사이의  1 : N 구조로 표현)

     

■ 관계 데이터 구조

 1) 릴레이션(Relation) = 릴레이션 스키마 릴레이션 인스턴스

 2) 속성(Attribute) : 테이블의 각 열(col)을 의미

 3) 투플(Tuple) : 테이블에서 행(레코드)을 지칭

 4) 도메인(Domain) : 애트리뷰트가 취할수 있는 값들의 집합애트 리뷰트 값의 합법성을 검사할 수 있다.

 5) 차수(Degree) : 한 릴레이션에서 애트리뷰트의 개수

 6) 카디널리티(Cardinality) : 한 릴레이션에서 튜플의 개수

     

■ 외래키(Foreign Key)

 -릴레이션 R1에 속한 애트리뷰트가 참조 릴레이션 R2의 기본키 인 경우

 -외래키와 참조 릴레이션의 기본키의 도메인은 동일하다.

     

■ 무결헝 제약조건

 1) 개체 무결성 기본키 값은 ‘NULL'이 될 수 없다.

 2) 참조 무결성 외래키 값은 ‘NULL'이거나 참조 릴레이션에 있 는 기본키 값과 같아야 한다.

(※ 릴레이션은 참조할 수 없는 외래키값은 가질 수 없다.)

     

■ 관계 대수

 1) 합집합교집합차집합 연산이 가능하려면 차수와 도메인이 같 아야 한다.

 2) 순수 관계 연산자

 ① 실렉트(Select, σ) : 조건을 만족하는 수평적 부분집합

 ② 프로젝트(Project, π) : 조건을 만족하는 수직적 부분집합

 ③ 조인(Join, ④ 디비젼(Division, ÷)

     

■ 관계 해석(Relational Calculus)

 -프레디키티 해석(Prediacate Calculus)으로 질의어를 표현한다.

 -원하는 릴레이션을 정의하는 방법을 제공하며 비절차적인 언어  이다.

 -튜플 관계 해석과 도메인 관계 해석의 두 종류가 있다.

 -관계해석과 관계대수는 기능과 능력면에서 동등하다.

     

- 2 

■ SQL 정의어

 ① CREAT문  ② ALTER문  ③ DROP

     

■ 삭제시 옵션

 ① Restricted : 삭제시 요소가 참조되고 있는 중이면 하나도 삭제되지 않는다.

 ② Cascade : 삭제할 요소가 참조되고 있는 중이면 같이 삭제된다.

     

■ SQL 조작어 : SQL의 데이터 조작문은 Select, Insert, Delete, Update 등 네가지 유형이 있다

     

■ 뷰의 특성

 -하나 이상의 기존 테이블로부터 유도되어 만들어진 가상 테이블 이다.

 -뷰 위에 또 다른 뷰를 정의할 수 있다.

 -뷰에 대한 검색 연산은 기본 테이블과 동일

 -삽입갱신삭제 연산에는 제약이 따름

 -뷰는 CREAT VIEW 명령을 사용하여 정의

 -뷰를 제거할 때는 DROP문을 사용한다.

     

■ 뷰의 장점

 ① 논리적 독립성 제공

 ② 데이터 접근 제어로 보안 제공

 ③ 사용자의 데이터 관리를 간단하게 함

 ④ 여러 사용자의 상이한 응용이나 요구를 지원

     

■ 뷰의 단점

 -그 정의를 변경할 수 없음즉 ALTER문 사용불가

     

■ 시스템 카탈로그(System Catalog)

 -데이터 사전(Data Dictionary)

 -시스템이 필요로 하는 스키마 및 여러 가지 객체에 관한 정보를 포함하고 있다.

 -객체들로는 기본 테이블인덱스데이터베이스응용계획패 키지접근 권한 등의 정보를 저장

 -시스템 카탈로그에 저장되는 내용을 메타데이타라고 한다.

 -일반 사용자도 시스템 테이블의 내용을 검색할 수 있다.

 -카탈로그의 정보를 UPDATE, DELETE, INSERT문으로 직접 갱신 하는 것은 불가능

 -시스템 카탈로그는 DBMS가 스스로 생성하고 유지하는 데이터베 이스 내의 특별한 테이블이다.

 -사용자가 SQL문을 실행하면 시스템이 자동적으로 관련 카탈로그 테이블을 갱신

     

■ 데이터베이스 단계 요구조건분석

 -개념적설계

 -논리적설계

 -물리적설계

 -데이터베이스구현

     

■ 정규화(Normalization)

 ① 1정규형 모든 도메인이 원자값만으로 된 릴레이션

 ② 2정규형 : 1NF이고 키에 속하지 않는 모든 애트리뷰트들이                기본키에 완전 함수 종속

 ③ 3정규형 : 2NF이고 키가 아닌 모든 애트리뷰트들은 기본키                에 이행적 함수 종속되지 않음.

 ④ BCNF(Boyce/Code NF) : 릴레이션의 R은 모든 결정자가 후보 키를 통해서 성립하면 릴레이션 R은 BCNF이다.

 ⑤ 4정규형 릴레이션 R에서 MVD R.A ↠ R.B가 존재할 때 R이 모든 애트리뷰트들이 A에 함수 종속이면 R은 4NF

 ⑥ 5정규형 릴레이션 R에 존재하는 모든 조인종속이 R의 후 보키를 통해 성립하면, R은 5NF

     

■ 트랜잭션(Transaction)

 -한꺼번에 모두 수행되어야할 일련의 데이터베이스 연산들

 -작업의 논리적 단위(LUW: Logical Unit of Work)

 -병행 제어 및 회복 작업의 단위

     

■ 트랜잭션의 ACID 성질

 ① 원자성(Atomicity) : 트랜잭션 내의 모든 연산은 반드시 한꺼번 에 완료되거나한꺼번에 취소되어야 함.

 ② 일관성(Consistency) : 트랜잭션이 성공적으로 완료하면 일관성 있는 데이터베이스 상태로 변환

 ③ 격리성(Isolation) : 트랜잭션이 실행 중에 있는 연산의 중간 결과는 다른 트랜잭션이 접근 못함

 ④ 영속성(Durality) : 성공적으로 완료한 트랜잭션의 결과는 영속적

     

■ 병행 제어를 안할때의 문제점 

 -갱신 분실(Lost Update) 

 -모순성(Inconsistency) = 불일치 분석 문제

 -연쇄 복귀(Cascading Rollback) = 비완료 의존성 문제

     

■ 비대칭적 암호 시스템

 -암호키(공개키), 해독키(비밀)로 유지

 -암호키를 이용하여 해독키의 유도가 불가능하다.

 -키분배가 용이하다.

 ① 공개키 시스템(Public Key System) ② RSA

     

■ 분산 데이터베이스 시스템의 장점

 ① 지역 자치성  ② 점진적인 시스템 용량 확장 ③ 신뢰성 및 가용성 ④ 효율성 및 융통성

     

■ 분산 데이터베이스 시스템의 단점

 ① 소프트웨어 개발 비용 증가  ② 오류의 잠재적 증대

     

■ 자료구조

 1) 선형구조배열스택데크연결리스트

 2) 비선형구조트리그래프

     

■ 스택(Stack) 

-TOP이라고 불리우는 한쪽끝에서 삽입과 삭제가 모두 이루어지는 순서리스트

 -인터럽트 처리수식의 계산서브루틴의 복귀번지 저장등에 이용

     

■ (Queue)

 -한쪽 끝에서 삽입만다른 한쪽 끝에서는 삭제만 수행

 -운영체제의 작업 스케줄링일괄처리스풀(Spool) 운영에 이용

     

- 3 

     

■ 스레디트 이진트리(Threaded Binary Tree)

 -이진 트리 운행의 단점을 없애기 위해 스택을 사용하지 않고널 링크에 다음 노드를 가리키는 포인터를 저장하여 트리를 순회할 수 있도록 고안한 이진 트리를 스레디트 이진 트리라한다.

     

■ 내부 정렬 종류 주기억 공간 내에서 정렬

 ① 삽입 정렬(Insert Sort)   ② 셀 정렬(Shell Sort)

 ③ 선택 정렬(Selection Sort)  ④ 퀵 정렬(Quick Sort) ⑤ 히프 정렬(Heap Sort)  ⑥ 기수 정렬(Radix Sort)

 ⑦ 버블 정렬(Bubble Sort) :  인접한 레코드 2개의 키를 비교해 서 그 크기에 따라 레코드의 위치를 상호  교환한다.

     

■ 외부 정렬보조기억 공간을 이용하여 정렬

 ① Balanced merge sort  ② Polyphase merge sort ③ Cascade merge sort  ④ Oscillating merge sort

     

■ B-트리

 -인덱스를 조직하는 방법

 -루트와 리프(leaf)를 제외한 모든 노드는 반(1/2)이상 차 있어야 한다.

 -루트는 리프가 아닌 이상 적어도 두 개의 서브트리를 갖는다.

 -모든 리프 노드는 같은 레벨에 있다.

 -한 노드 안에 있는 킷값들은 오름차순을 유지

     

■ 트라이(Trie)

 -키 탐색을 위해 킷값을 직접 표현하지 않고 키를 구성하는 문자 나 숫자의 순서로 킷값을 표현한 자료   구조이다.

 -트라이의 차수는 킷값을 표현하기 위해 사용하는 문자의 수에 의해 결정된다.

 -트라이의 크기는 나타내려고 하는 킷값의 기수와 키 필드 길이 에 의해 결정된다.

 -노드의 삽입 및 삭제시 노드의 분열과 병합이 없다.

     

■ 인덱스 순차 파일(Indexed Sequential File)

 -순차처리와 직접처리가 모두 가능하다.

 -실제 데이터 치리외에 인덱스를 처리하는 추가적인 시간이 소모 되므로 파일처리 속도가 느리다.

 1) 정적(Static) 인덱스 방법

 - ISAM 파일

 -기본 구역인덱스 구역오버플로 구역으로 구성

 -인덱스 구역은 마스터 색인실린더 색인트랙 색인으로 구성

 2) 동적(Dynamic) 인덱스 방법

 - VSAM 파일

 -기본 구역과 오버플로 구역을 구분하지 않는다.

     

■ 다단계 인덱스를 사용하는 목적은 탐색수를 줄이기 위함이다

 

■ 해싱(hashing)

해싱(hashing)은 레코드 키 값을 어떤 해싱 함수에 의해 주소로 변환시켜 해당 주소 위치에 레코드를 저장하는 방식으로 키 변환 값이 같은 경우 오버플로우 문제가 발생하지만 검색할 때 찾고자 하는 레코드의 키 값을 주소 변환에 의해 해당 위치를 검색하므로 조사 횟수가 상당히 작은 방식의 검색입니다.

 

- 해싱 탐색 주요 특성

① 해싱함수는 특정 데이터가 저장된 기억장소의 주소를 관리하기 위한 사상테이블(Mapping Table)을 정의하기 위한 함수이다.

② 빠르다는 장점 때문에 운영체제 및 직접접근파일을 구성하는 데 사용된다.

③ 사상 테이블의 용량부족으로 인한 Overflow가 발생할 수 있다.

④ 동일한 주소를 만들어 내는 두 개 이상의 키 값인 Synonym에 의해 충돌(Collision)이 발생 할 수 있다.

 

 

Comments