본문 바로가기

Java Programming/정보처리기사

정보처리기사 필기 1과목 데이터베이스 요점 정리

<로킹(Loking)이란..>

1. 하나의 트랜잭션이 데이터를 액세스 하는 동안 다른 트랜잭션이 그 데이터 항목을 엑세스할 수  없도록 하는 방법    2. 로킹 단위가 크면 로크 수가 적어 관리하기 쉽지만 병행성 수준이 낮아집니다.

3. 로킹 단위가 작으면 로크 수가 많아 관리하기는 복잡하지만 병행성 수준이 높아집니다.

 

<랄레이션의 구성 요소>

1. Tuple(튜플)

- 튜플은 릴레이션을 구성하는 각각의 행을 말한다.

- 튜플은 속성의 모임으로 구성된다.

- 파일 구조에서 레코드와 같은 의미이다.

- 튜플의 수를 카디널리티(Cardinality) 또는 기수, 대응수라고 한다.

2. Attribute(속성)

- 속성은 데이터베이스를 구성하는 가장 작은 논리적 단위이다.

- 파일 구조상의 데이터 항목 또는 데이터 필드에 해당된다.

- 속성은 개체의 특성을 기술한다.

- 속성의 수를 Degree(디그리) 또는 차수라고 한다.

3. Domain(도메인)

- 도메인은 하나의 애트리뷰트가 취할 수 있는 같은 타입의 Atomic(원자)값 들이 집합이다.

- 도메인은 실제 애트리뷰트 값이 나타날 때 그 값의 합법 여부를 시스템이 검사하는 데에도 이용된다.

- 값의 유효범위 제약조건

4. Cardinailty(카디널리티)

- 관계 데이터 모델에서 Relation(릴레이션)에 포함되어 있는 Tuple(튜플)의 수를 말한다.

5. 릴레이션 인스텀스

- 데이터 개체를 구성하고 있는 속성들에 데이터 타입이 정의되어 구체적인 데이터 값을 갖고 있는 것을 말한다.

 

<트랙잭션의 특징>

1. Atomicity(원자성)

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

- 트랜잭션 내의 모든 명령은 반드시 완벽히 수행되어야 하며, 모두가 완벽히 수행되지 않고 어느 하나라도

   오류가 발생하면 트랜잭션 전부가 취소되어야 한다.

2. Consistency(일관성)

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

- 시스템이 가지고 있는 고정 요소는 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 한다.

3. Isolation(독립성, 격리성)

- 둘 이상의 트랜잭션이 동시에 병행 실행되는 경우 어느 하나의 트랜잭션 실행중에 다른 트랜잭션의 연산이

   끼어들 수 없다.

- 수행중인 트랜잭션은 완전히 완료될 때까지 다른 트랜잭션에서 수행 결과를 참조할 수 없다.

4. Durability(영속성, 지속성)

- 성공적으로 완료된 트랜잭션의 결과는 영구적으로 반영되어야 한다.

 

<데이터베이스 언어 DDL(데이터 정의어)의 3가지 유형>

1. CREATE : SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의함

2. ALTER : TABLE에 대한 정의를 변경하는 데 사용함

3. DROP : SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 삭제함

 

<DDL DROP 옵션>

1. CASCADE 옵션 : 삭제할 요소를 참조하는 다른 모든 개체를 함께 삭제한다.

2. RESTRICTED 옵션 : 삭제할 요소를 다른 개체가 참조 중일 때는 삭제를 취소한다.

 

<시스템 카탈로그(System Catalog)의 의미>

1. 시스템 그 자체에 관련이 있는 다양한 객체에 관한 정보를 포함하는 시스템 데이터베이스이다.

2. 데이터베이스에 포함되는 모든 데이터 객체에 대한 정의나 명세에 관한 정보를 유지 관리하는 시스템 테이블이다.

3. 데이터 정의어의 결과로 구성되는 기본 테이블, 뷰, 인덱스, 패키지, 접근 권한 등의 데이터베이스 구조 및 통계

    정보를 저장한다.

4. 카탈로그들이 생성되면 자료 사전(Data Dictionary)에 저장되기 때문에 좁은 의미로는 카탈로그를 자료 사전이라고

    도 한다.

5. 카탈로그에 저장된 정보를 메타 데이터(Meta-Data)라고 한다.

 

<시스템 카탈로그의 특징>

1. 카탈로그 자체도 시스템 테이블로 구성되어 있어 일반 이용자도 SQL을 이용하여 내용을 검색해 볼 수 있다.

2. INSERT, DELETE, UPDATE문으로 카탈로그를 갱신하는 것을 허용되지 않는다.

3. 카탈로그는 DBMS가 스스로 생성하고 유지한다.