1. 관계 데이터베이스 특징

- 개체(Entity)나 관계(Relationship)를 모두 릴레이션(Relation)이라는 표로 표현한다.
- 릴레이션은 개체를 표현하는 개체 릴레이션, 관계를 나타내는 관계 릴레이션으로 구분할 수 있다.
- 장점 : 간결하고 보기 편리하며, 다른 데이터베이스로의 변환이 용이하다.
- 단점 : 성능이 다소 떨어진다.

 

2. 관계 데이터베이스의 Relation 구조

데이터들을 표의 형태로 표현한 것으로 구조를 나타내는 릴레이션 스키마와 실제 값들인 릴레이션 인스턴스로 구성된다.

 

튜플(Tuple)

- 릴레이션을 구성하는 각각의 행을 의미한다.

- 속성의 모임으로 구성된다.
- 파일 구조에서 레코드와 같은 의미이다.

 

속성(Attribute)
- 데이터베이스를 구성하는 가장 작은 논리적 단위이다.
- 파일 구조상의 데이터 항목 또는 데이터 필드에 해당된다.
- 개체의 특성이다.

도메인(Domain)
- 하나의 애트리뷰트가 취할 수 있는 같은 타입의 원자(atomic) 값들의 집합이다.
- 실제 애트리뷰트 값이 나타날 때 그 값의 합법여부를 시스템이 검사하는 데에도 이용된다.
차수(Degree) : Attribute의 개수
기수(대응수; Cardinality) : Tuple의 개수

 

3. KEY의개념 및 종류

데이터베이스에서 조건에 만족하는 튜플을 찾거나 순서대로 정렬할 때 기준이 되는 애트리뷰트이다.

 

후보키(Candidate Key)

 

- 릴레이션을 구성하는 속성들 중에서 튜플을 유일하게 식별하기 위해 사용하는 속성들의 부분집합, 즉 기본키로 사용할 수 있는 속성들을 말한다.
- 릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 만족시켜야 한다.

 

기본키(Primary Key)

 

- 후보키 중에서 선택한 주 키(Main Key)
- 한 릴레이션에서 특정 튜플을 유일하게 구별 할 수있는속성이다.
- Null 값을 가질 수 없다.
- 기본키로 정의된 속성에는 동일한 값이 중복되어 저장 될 수 없다.

 

대체키 (Alternate Key)

 

- 후보키가 둘 이상일 때 기본키를 제외한 나머지 후보키들을 말한다.
- 보조키라고도 한다.

 

슈퍼키(Super Key)

- 릴레이션에서 같은 튜플이 발생하지 않는 키를 구성할 때, 속성의 집합으로 구성하는 것을 말한다.
- 릴레이션을 구성하는 모든 튜플에 대해 유일성은 만족시키지만, 최소성은 만족시키지 못한다.

 

외래키 (Foreign Key)

- 관계(Realtionship)를 맺고 있는 릴레이션 R1, R2에서 릴레이션 R1이 참조하고 있는 릴레이션 R2의 기본키와 같은 R1 릴레이션의 속성이다.
- 외래키로 지정되면 참조테이블의 기본키에 없는 값은 입력할 수 없다.

 

널 값(NULL Value) : 데이터베이스에서 아직 알려지지 않거나 모르는 값으로서 "해당없음" 등의 이유로 정보 부재를 나타내기 위해 사용하는, 이론적으로 아무것도 없는 특수한 데이터

 

4. 무결성

 

- 개체 무결성 : 릴레이션에서 기본키를 구성하는 속성은 널(NULL) 값이나 중복값을 가질 수 없다.
- 참조 무결성 : 외래키 값은 NULL이거나 참조 릴레이션의 기본키 값과 동일해야 함 즉, 릴레이션은 참조할 수 없는 외래키값을 가질 수 없다.

 

5. 순수관계 연산자

관계 데이터베이스에 적용할 수 있도록 특별히 개발한 관계 연산자이다.

Select
- 릴레이션에 존재하는 튜플중에서 선택조건을 만족하는 튜플의 부분집합을 구하여 새로운 릴레이션을 만든다.
- 릴레이션의 행(가로)에 해당하는 튜플을 구하는 것이므로 수평연산이라고도 한다.
- 연산자의 기호는 그리스문자 시그마(σ)를 사용한다.
- 표기 형식 : σ<조건>(R) 단, R은 릴레이션 이름

Project
- 주어진 릴레이션에서 속성 List에 제시된 Attribute만을 추출하는 연산자이다.
- 릴레이션의 열(세로)에 해당하는 Attribute을 추출하는 것이므로 수직 연산자라고도 한다.
- 연산자의 기호는 그리스문자 파이(π)를 사용한다.
- 표기 형식 : π<속성리스트>(R) 단, R은 릴레이션 이름

Join

- 공통 속성을 중심으로 2개의 릴레이션을 하나로 합쳐서 새로운 릴레이션을 만드는 연산이다.
- 연산자의 기호는 그리스문자 ▷◁를 사용한다.
- 표기 형식 : R ▷◁키속성r=키속성sS
단, 키속성 r은 릴레이션 R의 속성이고, 키속성 s는 릴레이션 S의 속성이다.

Division
- X ⊃ Y인 2개의 릴레이션에서 R(X)와 S(Y)가 있을 때, R의 속성이 S의 속성값을 모두 가진 튜플에서 S가 가진 속성을 제외한 속성만을구하는 연산이다.
- 표기 형식 : R [속성r ÷ 속성s] S
단, 속성 r은 관계 R의 속성이고 속성 s는 관계 S의 속성이며, 속성 r과 속성 s는 동일 속성값을 가지는 속성이어야 한다.

 

6. Anomaly(이상)의 개념 및 종류

이상(Anomaly) : 정규화(Normalization)를 거치지 않은 데이터베이스 내에 데이터들이 불필요하게 중복되어 릴레이션 조작시 발생하는 예기치못한 곤란한 현상이다.

 

삽입이상 - 릴레이션에 데이터를 삽일 할 때 의도와는 상관없이 원하지 않은 값들도 함께 삽입되는 현상이다.

삭제이상 - 릴레이션에서 한 튜플을 삭제할 때 의도와는 상관없이 값들도 함께 삭제되는 연쇄 삭제 현상이다.

갱신이상 - 릴레이션에서 튜플에 있는 속성값을 갱신할 떄 일부 튜플의 정보만 갱신되어 정보에 모순이 생기게 되는 현상이다.

 

7. SQL의 분류

 

DDL(데이터 정의어)
- SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의하거나 변경 또는 삭제할 때 사용하는 언어이다.
- 데이터베이스 관리자나 데이터베이스 설계자가 사용한다.
- 데이터 정의어(DDL)의 3가지 유형

CREATE, ALTER, DROP

 

DML(데이터 조작어)

 

- 데이터베이스 사용자가 응용 프로그램이나 질의어를 통하여 저장된 데이터를 실질적으로 처리하는데 사용하는 언어이다.
- 데이터베이스 사용자와 데이터베이스관리시스템 간의 인터페이스 제공이다.
- 데이터 조작어(DML)의 4가지 유형

SELECT , INSERT, DELETE, UPDATE

 

DCL(데이터 제어어)

 

데이터의 보안, 무결성, 데이터 회복, 병행 수행 제어 등을 정의하는데 사용하는 언어이다.
- 데이터베이스 관리자가 데이터 관리를 목적으로 사용한다.
- 데이터 제어어(DCL)의 종류

COMMIT, ROLLBACK, GRANT, REVOKE

 

8. 시스템 카탈로그

- 시스템 그 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스이다.
- 데이터베이스에 포함되는 모든 데이터 객체에 대한 정의나 명세에 관한 정보를 유지 관리하는 시스템 테이블이다.
- 데이터 정의어의 결과로 구성되는 기본 테이블, 뷰, 인덱스, 패키지,접근권한 등의 데이터베이스 구조 및 통계 정보를 저장한다.
- 카탈로그들이 생성되면 자료 사전(Data Dictionary)에 저장되기 때문에 좁은 의미로는 카탈로그를 자료사전이라고도 한다.
- 카탈로그에 저장된 정보를 메타 데이터(Meta-Data)라고 한다.
- 카탈로그의 특징 ․ 카탈로그 자체도 시스템 테이블로 구성되어 있어 일반 이용자도 SQL을 이용하여 내용을 검색해 볼 수 있다.

- INSERT, DELETE, UPDATE문으로 갱신하는 것은 허용하지 않음 ․ DBMS가 스스로 생성하고, 유지한다. 카탈로그는 사용자가 SQL문을 실행시켜 기본 테이블, 뷰, 인덱스 등에 변화를 주면 시스템이 자동으로 갱신하다.

 

9. 뷰(View)

 

사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상 테이블이다.

- 권한이 있는 상태로 저장장치 내에 물리적으로 존재하지 않지만, 사용자에게는 있는 것처럼 간주된다.
- 뷰 (View)의 특징 ․ 기본 테이블로부터 유도된 테이블이기 때문에 기본 테이블과 같은 형태의 구조를 가지며, 조작도 기본 테이블과 거의 같다 ․ 가상 테이블이기 때문에 물리적으로 구현되어 있지 않다 ․ 필요한 데이터만 뷰로 정의해서 처리할 수 있기 때문에 관리가 용이하고 명령문이 간단해진다 ․ 뷰를 통해서만 데이터에 접근하게 하면 뷰에 나타나지 않는 데이터를 안전하게 보호하는 효율적인 기법으로 사용할 수 있다 ․ 기본 테이블의 기본키를 포함한 속성(열) 집합으로 뷰를 구성해야만삽입, 삭제, 갱신 연산이 가능하다 ․ 정의된 뷰는 다른 뷰의 정의에 기초가 될 수 있다 ․ 하나의 뷰를 삭제하면 그 뷰를 기초로 정의된 다른 뷰도 자동으로 삭제된다.

 

 

- 뷰의 장점 : 논리적 데이터 독립성을 제공한다. 동일 데이터에 대해 동시에 여러 사용자의 상이한 응용이나 요구를지원해준다 ․ 사용자의 데이터 관리를 간단하게 해준다 ․ 접근제어를 통한 자동 보안이 제공된다.
- 뷰의 단점 : 독립적인 인덱스를 가질 수 없다 ․ 뷰의 정의를 변경할 수 없음 ․ 뷰로 구성된 내용에 대한 삽입, 삭제, 갱신 연산에 제약이 따른다.

 

10. 자료구조의 분류

- 선형 구조 : 선형리스트, 연결리스트, 스택, 큐, 데크

- 비선형 구조 : 트리, 그래프

 

11. Stack

- 리스트의 한쪽 끝으로만 자료의 삽입, 삭제 작업이 이루어지는 자료구조이다.
- 가장 나중에 삽입된 자료가 가장 먼저 삭제되는 후입선출(LIFO;Last-In, First-Out) 방식으로 자료를 처리한다.
- TOP : Stack으로 할당된 기억공간에 가장 마지막으로 삽입된 자료가 기억된 공간을 가리키는 요소, 스택 포인터라고도 한다.
- Bottom : 스택의 가장 밑바닥이다.
- Stack의 용도

 ․ 부프로그램 호출시 복귀주소를 저장할 때

 ․ 인터럽트가 발생하여 복귀주소를 저장할 때

 ․ 후위표기법(Postfix Notation)으로 표현된 산술식을 연산할 때

 ․ 0 주소 지정방식 명령어의 자료저장소

 ․ 재귀(RECURSIVE)프로그램의 순서제어

 ․ 컴파일러를 이용한 언어번역시 

 

12. 큐(Queue)

-선형 리스트의 한쪽에서는 삽입작업이 이루어지고 다른 쪽에서는 삭제 작업이 이루어지도록 구성한 자료구조이다.
-가장 먼저 삽입된 자료가 가장 먼저 삭제되는 선입선출(FIFO; First-In,First-Out) 방식으로 처리한다.
-Queue를 이용하는 예

 ․ 창구업무처럼 서비스 순서를 기다리는 등의 대기행렬의 처리에 사용한다.

 ․ 운영체제의 작업 스케줄링에 사용함

 

13. 데크(Deque)

- 삽입과 삭제가 리스트의 양쪽 끝에서 모두 발생할 수 있는 자료구조이다.
- Stack과 Queue의 장점만 따서 구성한 것이다.
- 입력이 한쪽에서만 발생하고 출력은 양쪽에서 일어날 수 있는 입력제한과, 입력은 양쪽에서 일어나고 출력은 한곳에서만 이루어지는 출력 제한이 있다.
- 입력 제한 데크 : Scroll
- 출력 제한 데크 : Shelf

 

14. 이진트리의 운행법(Traversal)

 

- Preorder 운행 : Root → Left → Right 순
- Inorder 운행 : Left → Root → Right 순
- Postorder 운행 : Left → Right → Root 순

 

15. 해싱(Hashing)

 

- Hash Table이라는 기억공간을 할당하고, 해시함수(Hash Function)를 이용하여 레코드 키에 대한 Hash Table 내의 Home Address를 계산한 후 주어진 레코드를 해당 기억장소에 저장하거나 검색작업을 수행하는 방식이다.

- DAM(직접접근) 파일을 구성할 때 해싱이 사용되며, 접근 속도는 빠르나 기억공간이 많이 요구된다.
- 검색 속도가 가장 빠르다.
- 삽입, 삭제 작업의 빈도가 많을 때 유리한 방식이다.
- 해시 테이블(Hash Table) ․ 레코드를 1개 이상 보관할 수 있는 Home Bucket들로 구성한 기억공간으로, 보조기억장치에 구성할 수도 있고 주기억장치에 구성할 수도 있다.
- 버킷(bucket) : 하나의 주소를 갖는 파일의 한 구역을 의미하며, 버킷의 크기는 같은 주소에 포함될 수 있는 레코드 수를 의미한다

․ 슬롯(slot) : 한 개의 레코드를 저장할 수 있는 공간으로 n개의 슬롯이 모여 하나의 버킷을 형성한다.
․ Collision(충돌현상) : 서로 다른 두 개 이상의 레코드가 같은 주소를 갖는 현상이다.
․ Synonym : 같은 Home Address를 갖는 레코드들의 집합이다.
․ Overflow : 계산된 Home Address의 Bucket 내에 저장할 기억공간이 없는 상태(Bucket을 구성하는 Slot이 여러 개일 때는 Collision은발생해도 Overflow는 발생하지 않을 수 있다.)

 

16. 순차 파일(Sequential File) = 순서 파일

 

- 입력되는 데이터들을 논리적인 순서에 따라 물리적 연속 공간에 순차적으로 기록하는 방식이다.
- 급여 관리 등과 같이 변동 사항이 크지 않고 기간 별로 일괄 처리를 주로 하는 경우에 적합하다.
- 주로 순차 접근이 가능한 자기 테이프에서 사용된다.
- 순차 파일의 장점 : 기록 밀도가 높아 기억 공간을 효율적으로 사용할 수 있다.
․ 매체 변환이 쉬워 어떠한 매체에도 적용할 수 있음 ․ 레코드를 기록할 때 사용한 키 순서대로 레코드를 처리하는 경우, 다른 편성법보다는 처리 속도가 빠르다.
-순차 파일의 단점 : 파일에 새로운 레코드를 삽입, 삭제하는 경우 파일 전체를 복사해야하므로 시간이 많이 소요되고, 데이터 검색시 처음부터 순차적으로 하기 때문에 검색 효율이 낮다.

 

17. 색인 순차 파일(Indexed Sequential File)

 

- 순차 처리와 랜덤 처리가 모두 가능하도록 레코드들을 키 값순으로 정렬(Sort)시켜 기록하고, 레코드의 키 항목만을 모은 색인을 구성하여편성하는 방식이다.
- 색인을 이용한 순차적인 접근 방법을 제공하여 ISAM(Index Sequential Access Method)라고도 한다.
- 레코드를 참조하는 경우 색인을 탐색한 후 색인이 가리키는 포인터(주소)를 사용하여 직접 참조할 수 있다.
- 일반적으로 자기 디스크에 많이 사용되며, 자기 테이프에서는 사용할 수 없다.
- 색인 순차 파일의 구성

․ 기본 구역(Prime Area) : 실제 레코드들을 기록하는 부분으로, 각 레코드는 키 값순으로 저장된다

․ 색인 구역(Index Area) : 기본 구역에 있는 레코드들의 위치를 찾아가는 색인이 기록되는 부분으로, 트랙 색인 구역, 실린더 색인 구역, 마스터 색인 구역으로 구분할 수 있다

․ 오버플로우 구역(Overflow Area) : 기본 구역에 빈 공간이 없어서 새로운 레코드의 삽입이 불가능할 때를 대비하여 예비적으로 확보해둔 부분이다.

 

 

'IT > 자격증' 카테고리의 다른 글

산업기사- 전자계산기 구조(2)  (0) 2017.05.25
산업기사- 전자계산기 구조(1)  (0) 2017.05.18
산업기사 - 데이터베이스(1)  (0) 2017.05.16
정보처리기사 필기요약(5)  (0) 2017.01.05
정보처리기사 필기요약(4)  (0) 2016.12.28

+ Recent posts